DeepCode targets Claude Code parity. If you already use Claude Code, most of your workflow ports over with renames + a different API key.
# 1. Install DeepCode CLI
npm install -g deepcode-cli
# 2. Set your DeepSeek key
mkdir -p ~/.deepcode
cat > ~/.deepcode/credentials.json <<EOF
{ "apiKey": "sk-..." }
EOF
chmod 600 ~/.deepcode/credentials.json
# 3. Convert your existing CLAUDE.md → AGENTS.md
mv ~/CLAUDE.md ~/AGENTS.md # global one
# Project-scoped:
mv <project>/CLAUDE.md <project>/AGENTS.md # if you have one
# 4. Convert ~/.claude/ → ~/.deepcode/
mv ~/.claude/settings.json ~/.deepcode/settings.json
mv ~/.claude/skills ~/.deepcode/skills
mv ~/.claude/agents ~/.deepcode/agents
mv ~/.claude/plugins ~/.deepcode/plugins
mv ~/.claude/keybindings.json ~/.deepcode/keybindings.json
# 5. Run
deepcode| Claude Code | DeepCode | Notes |
|---|---|---|
~/.claude/credentials.json |
~/.deepcode/credentials.json |
Same shape; just rename. |
~/.claude/settings.json |
~/.deepcode/settings.json |
Schema mostly identical; see Settings table below. |
<proj>/.claude/settings.json |
<proj>/.deepcode/settings.json |
Same. |
~/.claude/skills/<name>/SKILL.md |
~/.deepcode/skills/<name>/SKILL.md |
Same frontmatter format. |
~/.claude/agents/*.md |
~/.deepcode/agents/*.md |
Same shape. |
~/.claude/plugins/ |
~/.deepcode/plugins/ |
Plugin manifest is identical (plugin.json). |
CLAUDE.md (project root) |
AGENTS.md (project root) |
Or DEEPCODE.md. Both names recognized; AGENTS.md preferred. |
claude CLI |
deepcode CLI |
Most flags identical (-p, --mode, --model, --effort). |
claude doctor |
deepcode doctor |
Same. |
/login |
n/a — re-onboard via deepcode no-args |
We don't have separate login state. |
Claude Code:
{ "model": "claude-sonnet-4-5" }DeepCode:
{ "model": "deepseek-chat" }Valid values: deepseek-chat (general/tool-use) · deepseek-reasoner
(multi-step reasoning) · deepseek-v4-flash · deepseek-v4-pro.
Most commands are identical:
| Command | Claude Code | DeepCode |
|---|---|---|
/help, /? |
✓ | ✓ |
/clear |
✓ | ✓ |
/exit, /quit |
✓ | ✓ |
/model |
✓ | ✓ (constrained to DeepSeek) |
/mode |
✓ | ✓ |
/effort |
✓ | ✓ |
/cost |
✓ | ✓ |
/context |
✓ | ✓ |
/init |
✓ | ✓ |
/mcp |
✓ | ✓ |
/todos |
✓ | ✓ |
/plugins |
✓ | ✓ |
/keybindings |
✓ | ✓ |
/vim |
✓ | ✓ |
See docs/BEHAVIOR_PARITY.md for the full comparison.
Identical schema. Copy your hooks block from Claude's settings.json
verbatim. DeepCode supports the same 10 event types (PreToolUse,
PostToolUse, Stop, SubagentStop, PreCompact, PostCompact, SessionStart,
SessionEnd, UserPromptSubmit, Notification) and the same 5 handler
types (command, http, mcp_tool, prompt, agent).
Identical syntax: Tool(spec). The 4 sub-syntaxes (bare, subcommand,
prefix, domain) work the same way:
Claude Code's sandbox subsystem maps directly. sandbox.filesystem,
sandbox.network, sandbox.excludedCommands all work identically.
Difference: DeepCode's M3.5-ext adds shell-pipeline analysis — a
pipeline like git status && rm -rf / will NOT bypass excludedCommands
even if git is excluded. (Claude Code allows the bypass.) See
docs/security-model.md.
Plugin manifest schema is identical. Plugins authored for Claude Code should load in DeepCode unmodified. The trust ladder + hash pin work the same way. Difference: DeepCode's M5.2 ships marketplace + ed25519 signature verification; if you want that, sign your plugins.
Identical. Copy your mcpServers block verbatim. DeepCode uses
@modelcontextprotocol/sdk so all standard stdio/http/sse MCP servers
work as-is.
~/.deepcode/agents/<name>.md — same frontmatter shape as Claude Code's
sub-agents. Both reference systems work.
- Models: only DeepSeek models. The
/modelpicker constrains todeepseek-*. To use Claude/GPT, keep Claude Code (or use the LSP bridge once IDE-provider-routing lands — TBD). - Pricing: DeepSeek is 10-20× cheaper than Claude for similar
token counts.
/costreflects DeepSeek pricing. - No image input yet: vision provider abstraction exists but no provider configured (v1.1).
/rewind: skeleton only — full rewind UX is in M7 (Mac client).
autoclassifier mode (LLM-judged per-tool-call approval)- Effort-bench (
packages/core/scripts/effort-bench.ts) for measuring cost/latency per tier - Pipeline-aware sandbox bypass (vs Claude Code's leading-token-only)
- LSP bridge (Neovim / Emacs / Sublime via
deepcode-lsp) - VS Code extension (skeleton; ships in v1.1)
deepcode doctor— diagnostic dumpdeepcode --help— flag reference~/.deepcode/sessions/<id>.jsonl— transcript of every session- File issues at https://github.com/oratis/deepcode/issues
{ "permissions": { "deny": ["Bash(rm -rf /:*)", "WebFetch(domain:internal.corp)"], "ask": ["Bash(npm install:*)"], "allow": ["Read", "Bash(git diff:*)"], }, }