NodeOps
UK

OpenCode

The CreateOS plugin for OpenCode adds 33 sandbox tools to the agent. OpenCode keeps running locally; the tools give it a remote Linux box to build in, run services on, and throw away.

At a glance

  • Package: @createos/opencode
  • Tools: 33, all prefixed sandbox_
  • Auth: createos login
  • Sandbox: created on the first tool call, destroyed when the session is deleted

Prerequisites

Install the createos CLI:

Bash
1curl -sfL https://raw.githubusercontent.com/NodeOps-app/createos-cli/main/install.sh | sh -

The plugin installs it on first use if it is missing, so this step is optional.

Then authenticate. At a terminal, sign in:

Bash
1createos login

For CI or headless use, set an API key instead:

Bash
1export CREATEOS_API_KEY=<key>

The plugin holds no credentials of its own. It shells out to the CLI and uses whatever session the CLI has, so anything that authenticates the CLI authenticates the plugin.

Install

Bash
1opencode plugin @createos/opencode --global

How it works

The plugin does not replace OpenCode's built-in bash, read, or write tools. Those keep acting on your machine. What it adds is a parallel set of sandbox_* tools that act on a remote box, so the agent chooses explicitly when to work remotely.

The sandbox is created lazily, on the first sandbox_* call rather than at startup, so a session that never touches these tools never creates one. When it is created:

SettingValue
Shapes-2vcpu-2gb, or CREATEOS_SHAPE
Root filesystemCREATEOS_ROOTFS, otherwise the CLI default
NetworksCREATEOS_NETWORKS, comma-separated
Working directory/root/workspace
Public HTTPS URLEnabled

The box is destroyed when the session is deleted.

Because the agent picks tools explicitly, tell it where you want work to run. "Run the test suite in the sandbox" is unambiguous; "run the tests" will use the local shell.

Tools

GroupTools
Lifecycle (8)sandbox_create, sandbox_exec, sandbox_info, sandbox_list, sandbox_pause, sandbox_resume, sandbox_fork, sandbox_destroy
Configuration (5)sandbox_ingress, sandbox_firewall, sandbox_bandwidth, sandbox_shapes, sandbox_images
Ports and sync (3)sandbox_preview_url, sandbox_tunnel, sandbox_sync
Networks (6)sandbox_network_create, sandbox_network_list, sandbox_network_show, sandbox_network_attach, sandbox_network_detach, sandbox_network_delete
Disks (6)sandbox_disk_create, sandbox_disk_list, sandbox_disk_show, sandbox_disk_delete, sandbox_disk_attach, sandbox_disk_detach
Device VPN (5)sandbox_device_register, sandbox_device_status, sandbox_vpn_up, sandbox_device_attach, sandbox_device_detach

sandbox_exec requires a sandbox ID. Have the agent call sandbox_info or sandbox_list first if it needs to discover the active box.

sandbox_vpn_up is advisory — it returns the command for you to run, because bringing up WireGuard needs sudo.

To move files, run the transfer through sandbox_exec, or set up a directory sync with sandbox_sync.

Configuration

VariablePurpose
CREATEOS_ENABLEDTurn the plugin on or off
CREATEOS_SHAPEMachine size
CREATEOS_ROOTFSBase image or template
CREATEOS_NETWORKSPrivate networks to join, comma-separated

File sync

sandbox_sync mirrors a local directory into the box and keeps it there for the session. It takes a local and remote directory, an optional mode — two-way, one-way, or mirror — and optional exclude globs.

It applies no exclusions of its own, so pass excludes for anything large or sensitive. A sync of a project root without excludes will pick up node_modules, build output, and .env files.

See also

  • Pi — the same tool surface, and it can replace the agent's built-in tools too
  • CLI reference — what the tools call underneath
  • Concepts — sandboxes, networks, ingress, snapshots

100,000+ Builders. One Platform.

Get product updates, builder stories, and early access to features that help you ship faster.

NodeOps is the agentic operating system for production AI. CreateOS is its flagship product.