Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 44 additions & 35 deletions docs/BEHAVIOR_PARITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@

Legend: `βœ…` matches Β· `🟑` matches with caveats Β· `πŸ”„` deferred Β· `⚠️` deliberately differs Β· `πŸ†•` DeepCode-only addition

> **2026-06 accuracy pass.** Several per-row tags below had drifted behind the
> code (the Tools table in particular marked shipped tools as deferred β€” now
> corrected). Treat the milestone tags (`M3c`, `M8`, …) as historical notes, not
> current status. Additions landing in the alignment batch this pass:
> CLI `-C` / `--cd` (Codex parity); the `/diff`, `/release-notes`, and `/bug`
> (alias `/feedback`) slash commands; and a fix so the CLI `/effort` table reads
> its numbers from `EFFORT_PARAMS` instead of a divergent hardcoded copy. The
> rows below will be flipped to `βœ…` as those PRs merge.

---

## Slash commands (30+ in Claude Code, ~20 shipped in DeepCode)
Expand Down Expand Up @@ -131,44 +140,44 @@ Specific deviations:

## Tools

| Tool | Claude Code | DeepCode | Status |
| ------------------------------------------------------------------------------ | ----------- | -------- | ------------------------------------------- |
| Read | βœ“ | βœ“ | βœ… |
| Write | βœ“ | βœ“ | βœ… |
| Edit | βœ“ | βœ“ | βœ… |
| Bash | βœ“ | βœ“ | βœ… + M3.5 sandbox wrap |
| Grep | βœ“ | βœ“ | βœ… via ripgrep |
| Glob | βœ“ | βœ“ | βœ… via fs.glob |
| Skill | βœ“ | βœ“ | βœ… M5 |
| Task (subagents) | βœ“ | πŸ”„ | M4 sub-agent files load; agent dispatch M4+ |
| NotebookEdit | βœ“ | πŸ”„ | M8 |
| AskUserQuestion | βœ“ | πŸ”„ | M3c+ |
| ExitPlanMode | βœ“ | πŸ”„ | enforced via /mode |
| EnterWorktree / ExitWorktree | βœ“ | πŸ”„ | M8 |
| ToolSearch (deferred load) | βœ“ | πŸ”„ | M3c+ |
| TaskCreate / Monitor / TaskList / TaskGet / TaskOutput / TaskStop / TaskUpdate | βœ“ | πŸ”„ | M8 (background tasks) |
| CronCreate / CronList / CronDelete | βœ“ | πŸ”„ | M8 (cron daemon) |
| ScheduleWakeup | βœ“ | πŸ”„ | M8 |
| WebFetch | βœ“ | βœ… | shipped M3c-rest β€” 5 MiB cap + abort |
| WebSearch | βœ“ | βœ… | shipped M3c-rest β€” DDG default + SearXNG |
| TodoWrite | βœ“ | βœ… | shipped M3c-rest β€” persists in sessionDir |
| Tool | Claude Code | DeepCode | Status |
| ------------------------------------------------------------------------------ | ----------- | -------- | ----------------------------------------------------------- |
| Read | βœ“ | βœ“ | βœ… |
| Write | βœ“ | βœ“ | βœ… |
| Edit | βœ“ | βœ“ | βœ… |
| Bash | βœ“ | βœ“ | βœ… + M3.5 sandbox wrap |
| Grep | βœ“ | βœ“ | βœ… via ripgrep |
| Glob | βœ“ | βœ“ | βœ… via fs.glob |
| Skill | βœ“ | βœ“ | βœ… M5 |
| Task (subagents) | βœ“ | βœ… | `TaskTool` in `BUILTIN_TOOLS` β€” spawns a sub-agent |
| NotebookEdit | βœ“ | βœ… | shipped (`tools/notebook.ts`) |
| AskUserQuestion | βœ“ | βœ… | shipped; returns null in headless |
| EnterPlanMode / ExitPlanMode | βœ“ | βœ… | shipped; also drivable via `/mode plan` |
| EnterWorktree / ExitWorktree | βœ“ | βœ… | shipped (`tools/worktree-tools.ts`) |
| ToolSearch (deferred load) | βœ“ | βœ… | installed when MCP tools opt out of eager load |
| TaskCreate / Monitor / TaskList / TaskGet / TaskOutput / TaskStop / TaskUpdate | βœ“ | βœ… | shipped β€” background tasks (`TASK_TOOLS`) |
| CronCreate / CronList / CronDelete | βœ“ | βœ… | shipped β€” launchd-backed scheduler |
| ScheduleWakeup | βœ“ | ⚠️ | not a tool in DeepCode β€” use `CronCreate` / `deepcode cron` |
| WebFetch | βœ“ | βœ… | shipped M3c-rest β€” 5 MiB cap + abort |
| WebSearch | βœ“ | βœ… | shipped M3c-rest β€” DDG default + SearXNG |
| TodoWrite | βœ“ | βœ… | shipped M3c-rest β€” persists in sessionDir |

## CLI flags

| Flag | Status |
| ---------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| `--help` / `--version` | βœ… |
| `--mode` / `--permission-mode` | βœ… |
| `--model` / `--effort` | βœ… |
| `--max-turns` | βœ… |
| `--system-prompt` / `--append-system-prompt[-file]` | βœ… |
| `--allowedTools` / `--disallowedTools` | βœ… |
| `--bare` | πŸ”„ (parsed, semantics deferred) |
| `--settings` / `--agents` / `--mcp-config` / `--plugin-dir` / `--plugin-url` | πŸ”„ (parsed only) |
| `--no-plugins` / `--strict` | πŸ”„ (parsed only) |
| `-p` headless | βœ… text/json/stream-json, 5 exit codes |
| `--output-format` / `--json-schema` / `--include-partial-messages` | 🟑 output-format βœ…; json-schema + include-partial-messages parsed only |
| `--resume <id>` / `--continue` / `--fork-session` | πŸ”„ M3c+ |
| Flag | Status |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `--help` / `--version` | βœ… |
| `--mode` / `--permission-mode` | βœ… |
| `--model` / `--effort` | βœ… |
| `--max-turns` | βœ… |
| `--system-prompt` / `--append-system-prompt[-file]` | βœ… |
| `--allowedTools` / `--disallowedTools` | βœ… |
| `--bare` | πŸ”„ (parsed, semantics deferred) |
| `--settings` / `--agents` / `--mcp-config` / `--plugin-dir` / `--plugin-url` | πŸ”„ (parsed only) |
| `--no-plugins` / `--strict` | πŸ”„ (parsed only) |
| `-p` headless | βœ… text/json/stream-json, 5 exit codes |
| `--output-format` / `--json-schema` / `--include-partial-messages` | βœ… output-format + json-schema (lightweight top-level validation) + include-partial-messages all implemented (`headless.ts`) |
| `--resume <id>` / `--continue` / `--fork-session` | πŸ”„ M3c+ |

## What DeepCode adds that Claude Code doesn't have (yet)

Expand Down
Loading