CodeWork
Sandboxes

Remote

Daytona or Vercel sandboxes. A separate machine with real tools.

How It Works

When the work needs a full Linux toolchain, real processes, or code you wouldn’t run on your own machine, use a remote sandbox: a machine run by a provider. File tools act on its disk and bash runs on it, and nothing runs on your machine.

DriverProvider
daytonaDaytona
vercelVercel Sandbox

Both drivers are built into the CLI, with nothing to add to your settings. Their SDKs are optional dependencies of @codeworksh/cli. If your package manager skipped optional dependencies, the driver can’t start.

Credentials

CodeWork reads credentials from the environment of the process that creates the sandbox: your shell for codework run, or the server for codework serve.

Daytona

export DAYTONA_API_KEY="..."
VariableDescription
DAYTONA_API_KEYAPI key from your dashboard
DAYTONA_API_URLOptional. A non-default API URL
DAYTONA_TARGETOptional. A non-default region

Vercel

export VERCEL_OIDC_TOKEN="..."

The token identifies your team and project. See Vercel’s OIDC docs to get one for a linked project.

New Sandboxes

CodeWork creates a sandbox with the provider’s defaults. The session starts in its working directory, or in --cwd:

DriverDefault working directory
daytonaIts work dir, or /home/daytona
vercelIts working dir, or /vercel/sandbox

A new sandbox is empty. CodeWork doesn’t upload your files, so have the agent clone the repository, or attach a sandbox you’ve set up.

Created sandboxes are labeled codework-managed and codework-instance (tags on Vercel), so you can find them in the provider’s dashboard. codework run --server prints the sandbox ID on a sandbox-id: line.

Attach Your Own

With --sandbox-provider-id, pass the sandbox ID for Daytona or the sandbox name for Vercel:

codework run --sandbox-driver vercel --sandbox-provider-id <sandbox-name> "Continue the migration"

Attaching the same ID again reuses CodeWork’s record of it.

Stopping and Deleting

Stopping isn’t deleting. A stopped sandbox starts again when a session mounts it. The RPC server also stops one on sandbox.stop.

CodeWork creates, reuses, and stops sandboxes, but never deletes provider infrastructure. Daytona sandboxes are created with auto-delete off, so clean them up from the provider’s dashboard or CLI.

Interrupting a turn cancels a running command on Vercel. On Daytona, the command may keep running.