dcode: Open-Source Terminal Coding Agent | Deep Agents Code
The coding agent you own
dcode is an open-source terminal coding agent built on the Deep Agents SDK. Bring your own model, customize the agent harness, and control how code execution is approved, traced, and run.
Helping top teams ship great agents
Why use dcode?
Three ways to build, from full harness to full control
Each package solves a different problem. Choose where you want to start, then compose the rest of the stack around it.
Control
Customize the agent harness
dcode gives you control over the components behind your coding agent: model selection, plugins, memory, skills, middleware, hooks, and agents.
dcode can:
- Switch between models on-the-fly while retaining conversation state
- Share knowledge between sessions and agents with configurable memory
- Customize execution with Claude-compatible hooks and plugins
- Easily add custom models and providers with config files
Governance
Trace and govern coding agents
Connect dcode to LangSmith to inspect prompts, model responses, tool calls, errors, and token usage across agent runs. Use LangSmith and LLM Gateway controls for cost policies, secrets redaction, and PII detection.
dcode can:
- View token usage at several levels of granularity, from single invocations to full session durations
- Gain full visibility into agent behavior and failures with LangSmith
- Apply granular cost policy controls through LangSmith and LLM Gateway
- Give agents secure sandboxes to use as tools, or run dcode entirely in a sandbox
Flexibility
Control model choice and token usage
dcode works with OpenAI, Anthropic, and any OpenAI-compatible or Anthropic-compatible API. Switch providers or models as your quality, cost, and latency requirements change.
dcode can:
- Switch providers or models without changing your agent harness or workflows
- Set provider-specific runtime parameters through config
- Set cost control policies that allow you to get work done without excessive token burn
- Preserve useful context across conversations with configurable memory
Tuning
Tune behavior for each model
Different models respond better to different prompts, tool descriptions, and defaults. dcode uses profiles to package those adjustments so teams can improve model behavior without forking the entire agent.
dcode can:
- Automatically apply model-specific prompting and tool descriptions
- Add or exclude middleware-based capabilities for selected models
- Share tuned configurations across a team via a single config.toml
Resources for dcode
\
Tutorial
/goal: Building big features with dcode](https://youtu.be/-s6rYWX8VaY) \
docs
Get started with Deep Agents Code](https://docs.langchain.com/oss/deepagents/code/overview) \
blog
Deep Agents Code on NemoClaw](/content/blog/deep-agents-code-on-nemoclaw-a-governed-blueprint-for-your-most-sensitive-code/index.html)
FAQs for dcode
When should I use dcode vs other agents?
Use dcode when you need control over the model, tools, memory, approvals, and execution environment behind your coding agent. It’s built for teams that want an inspectable, configurable agent rather than a fixed coding assistant.
Can I share common config and utilities across teams?
dcode ships with two surfaces for sharing configuration:
- config.toml can be edited and distributed to customize model providers, set defaults, and pass extra parameters to model constructors.
- dcode can use Claude- or Codex-style plugins as a drop-in replacement for skill, MPC config, and hooks sharing. See the docs for more.
How do I handle model provider authentication?
dcode uses bring-your-own-key authentication. Add provider keys as environment variables or configure them through your team’s existing secrets workflow. Visit the docs.
Ready to own your coding agent?
Start building with an open-source coding agent you can customize, inspect, and control.