dcode process (LLM loop, memory, tool dispatch) runs on your machine, but agent tool calls (read_file, write_file, execute, etc.) target the remote sandbox, not your local filesystem. To get files into the sandbox, use a setup script or the provider’s file transfer APIs (see Working with files).
For a deeper look at sandbox architecture, integration patterns, and security best practices, see Sandboxes.
Install provider dependency
Each provider ships as an optional extra. Install one from within a session with To install support for every sandbox provider at once, use the
/install, or from the shell with dcode --install:- LangSmith
- Daytona
- Modal
- Runloop
- Vercel
- AgentCore
Included by default when installing
deepagents-code. No extra installation needed.all-sandboxes extra: /install all-sandboxes in a session, or dcode --install all-sandboxes from the shell.Sandbox flags and examples
| Flag | Description |
|---|---|
--sandbox TYPE | Sandbox provider to use. Built-ins: langsmith, agentcore, modal, daytona, runloop, vercel (default: none). Third-party and config-declared providers are also accepted. Pass --sandbox with no value to use [sandboxes].default from your config |
--sandbox-id ID | Reuse an existing sandbox by ID instead of creating a new one. Skips creation and cleanup. Only for providers that support reattaching by ID. Refer to your sandbox documentation for more |
--sandbox-snapshot-name NAME | Use or create a sandbox snapshot. Supported by langsmith and runloop (and any third-party provider that advertises snapshot support). Cannot be combined with --sandbox-id |
--sandbox-setup PATH | Path to a setup script to run inside the sandbox upon creation |
execute commands run from this directory unless overridden:
| Provider | Working directory |
|---|---|
| LangSmith | /root |
| Daytona | /home/daytona |
| Modal | /workspace |
| Runloop | /home/user |
| Vercel | /vercel/sandbox |
| AgentCore | /tmp |
Because
--sandbox accepts an optional value, keep the bare form last on the command line. Otherwise a following argument (e.g. dcode --sandbox agents) is consumed as the flag’s value. Pass an explicit provider name to avoid ambiguity.Pluggable providers
The six built-in providers above aren’t the only options. Deep Agents Code discovers sandbox providers from three sources, so you can use providers shipped by other packages or declare your own without changing Deep Agents Code:- Built-in providers — the curated set above, installed as
deepagents-codeextras. - Third-party providers — published by other installed packages via a Python entry point.
- Config-declared providers — defined in your
~/.deepagents/config.toml.
Third-party providers
A package can publish a sandbox provider under thedeepagents_code.sandbox_providers entry-point group. Once you install such a package, its provider is available to --sandbox automatically—no config needed:
langchain-e2b package publishes an e2b provider (see sandbox integrations). Install it as a package, set your credentials, then select it:
--sandbox name that isn’t installed or declared, Deep Agents Code lists the available providers and explains how to install or configure the missing one.
Publishing a sandbox provider
Publishing a sandbox provider
To distribute a provider so users can run Implement If you omit the
dcode --sandbox <name> after installing your package, implement a SandboxProvider subclass and register it under the deepagents_code.sandbox_providers entry-point group.Override the metadata property so Deep Agents Code can surface your working directory and capability flags without instantiating the provider:get_or_create and delete; async callers are handled by the base class. Then register the entry point in your package’s pyproject.toml:metadata property, a generic default (/workspace, no snapshot support) is used.Config-declared providers
For an in-house or local provider you don’t want to package, declare it under[sandboxes.providers] in ~/.deepagents/config.toml. This parallels arbitrary model providers and uses the same class_path trust model.
Fully-qualified provider class in
module.path:ClassName format. Deep Agents Code imports and instantiates this class for the provider.Default working directory inside the sandbox. Defaults to
/workspace.Package name suggested in error messages when the provider’s dependencies are missing.
Whether
--sandbox-id reattach is allowed for this provider. Defaults to true.Whether
--sandbox-snapshot-name is allowed for this provider. Defaults to false.Extra keyword arguments forwarded to the provider’s
get_or_create().Setup scripts
Use--sandbox-setup to run a shell script inside the sandbox after creation. This is useful for cloning repos, installing dependencies, and configuring environment variables.
setup.sh
${VAR} references in setup scripts using your local environment variables. Store secrets in a local .env file for the setup script to access.
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

