What's New in v1
v1 is the biggest release of Command Code yet: eight months of work, a ground-up rewrite of the agent runtime, and a long list of new capabilities. This page is the tour. Each thing that's new or improved gets a short note and a link to the full documentation. It's a map, not a manual.
The short version: almost everything is faster, safer, and more capable, and almost nothing requires you to change anything.
For most people, v1 is a drop-in upgrade. There are only a few things worth checking:
- Settings on the command line are real flags now. Use
--model,--effort,--theme, or the general--config key=value. Slash-command strings are no longer accepted as CLI arguments. Inside a session,/modeland friends work as always. See CLI Reference. - Old config keys migrate themselves. Keybinding settings, pasted-text collapsing, and per-project taste state have moved to new homes. Legacy values are still read and migrate automatically on first save. Nothing to do.
That's the whole list. Everything below is new capability, not new work.
One central permission engine
Every tool call, whether it's shell, file edit, web fetch, MCP, or a sub-agent, now passes through a single permission engine with a fixed, test-pinned decision order. Five permission modes (Claude Code-compatible), deny/ask/allow rules, a read-only fast path so safe commands never prompt, and safety rails that even bypass mode can't skip.
Background tasks & scheduling
Command Code can now run work in the background while the agent keeps going: background shell commands, event-driven monitors that wake the agent instead of polling, a structured task ledger, background sub-agents, and cron-style scheduled jobs, all visible in a live Background panel (Ctrl+B).
Git worktrees
First-class isolation for parallel work. Start a session in its own worktree with --worktree, manage them with /worktree, or let the model isolate its own work mid-session. Worktrees live outside your repo, copy your gitignored .env-style files on request, and clean themselves up when unchanged.
Sessions you can rewind, fork, and share
Every conversation is now a durable transcript you can resume, clone, rewind to any point, branch into a tree of alternatives, share, and export. Crash-safe by design.
Read about Sessions & Checkpoints →
Smarter context management
A new /context view shows exactly where your tokens go, and tiered auto-compaction trims and summarizes progressively as the window fills, keeping recent work verbatim, so long sessions keep going instead of hitting a wall.
Read about Context & Compaction →
Custom keybindings
Remap any shortcut with a single optional keybindings.json: override only what you want, keep defaults for the rest, and apply changes mid-session with /reload. Emacs and Vim muscle memory welcome.
Mods (beta)
Mods are modifications. They let you hack and remix Command Code in any way you want: extend it, change its behavior, replace whole pieces of it. Bigger than extensions and bigger than hooks, a mod can add tools, slash commands, providers, and UI, or rewire how existing behavior works. Command Code's own first-party features are built as mods on the same system. Mods are in beta.
Agent Skills
Command Code supports the open Agent Skills standard: self-contained instruction folders that teach it specialized workflows, discovered automatically and loaded on demand, or invoked directly as /skill-name.
Tools
The built-in toolset grew to 40+ tools and every call now goes through a shared pipeline: schema-driven input repair (malformed calls get fixed instead of failing), workspace-boundary enforcement, stale-write protection with atomic writes, and sane output truncation. Windows gets a first-class powershell tool with its own safety parser.
Slash commands
Now over 60 built-in commands, including /mode for switching permission modes, /tree and /clone for session branching, /todos, /plans, /plan-review, /design, /goal, and more. Custom commands are unchanged, and arguments now pass through literally, without mangling.
Read the Slash Commands Reference → · Custom Slash Commands →
Headless mode
-p/--print gains --output-format json, a machine-readable event stream with a final result line, plus --config key=value for any setting, proper exit codes, and headless sessions that stay out of your interactive picker. Built for CI.
MCP
Full-spec tool results (structured content, audio, resources, binary blobs), live tool-list updates without reconnecting, streamed progress on long calls, proper cancellation, and configurable timeouts and output limits.
Hooks
The hooks engine moved into the new runtime with full compatibility: same config format, matchers, and exit-code semantics, plus fixes. Hooks run under bash in the right directory, all non-blocking hooks run in parallel, and blocking feedback is capped so a failing hook can't flood a session.
Plan mode
Plan review now works like a pull-request review: one review mode with inline comments and familiar approve/request-changes verbs.
Questions? Start with the FAQs or the Changelog. Or reach out to us on Discord.
From the changelog: Changelog
- feat:
enter_worktree/exit_worktreetools for isolated git worktrees per session - feat:
plan_reviewtool to open plan review on demand (first of its kind) - feat:
modsto add your own tools, hooks, and commands (beta) - feat:
/goalsupervision keeps the agent on track - feat:
task_(create, update, list, get)task system - feat:
task_(output, stop)for background process control - feat:
cron_(create, delete, list)scheduled agents - feat:
/agentsoverhaul, create by agents by asking - feat:
edit_fileoverhaul with fuzzy matching and stale-write guards - feat:
write_fileoverhaul with reliable overwrite checks - feat:
read_fileshows images to vision models - feat:
ask_user_questionfor structured multiple-choice prompts - feat:
get_diagnosticsreads IDE errors and warnings - feat:
shell_commandwith background tasks, monitoring, and a read-only fast path - feat:
glob/grep/read_directorysearch tools handle absolute and UNC paths - feat:
web_searchwith domain filters and source citations - feat:
web_fetchwith pagination, formats, caching, and URL guards - feat:
configtool to list, get, and set settings from the CLI - feat:
--model,--effort,--theme, and--configCLI flags - feat:
run_commandruns slash commands by askingcmdfor you - feat:
powershellfirst-class PowerShell tool on Windows - feat:
/importsetup (skills, prompts, agents, commands) from other agents - feat:
todo_writelive TODOS panel and/todosmanager - feat:
/treeto navigate and branch your conversation history - feat:
/modecommands and/newalias for/clear - feat:
/forka conversation into a new session - feat:
/reloadto restart and resume the session - feat:
/rewindto restore an earlier checkpoint - feat:
/contextshows context-window usage - feat:
/shareand/unsharea session via link - feat:
/exportand/copyyour conversation - feat:
/memoryto manage memory files - feat:
/hotkeyskeyboard-shortcut reference - feat: stash your input prompt with
Ctrl+S - feat: bundled skill:
command-code-knowledgesocmdknows about itself - feat: bundled skill:
mod-buildersocmdcan build mods for you - feat: bundled skill:
skill-buildersocmdcan build skills for you - feat:
-p --output-format jsonfor cmd headless mode and scripting - feat: terminal UI upgrades: streaming, events, and better error handling
- feat: major improvement to central permission engine, safe by default
- feat: VS Code shows session title and status in terminal tab title
- feat: MCP full-spec tool results, annotations, and live tool updates
- feat: MCP progress notifications, timeouts, and cancellation
- feat: hooks for tool and session lifecycle events
- feat: complete overhaul of agent skills support
- feat: on-demand command explanations (
ctrl+e) - feat: per-agent models for sub-agents
- feat: per-session scratchpad
- feat: full Windows support
- feat: configurable keybindings
- feat: inline image paste tokens
- feat: shell-style args in custom commands
- feat: instant replies, background titling
- feat: redesigned
/sessionand/configpanels - feat: compaction shows per-event and total savings
- perf: no more out-of-memory on long sessions
- fix: errors surface instead of a silent turn
- fix: usage-limit errors surface right away
- fix: reliable prompts and grants that stick
- fix:
Escno longer hangs on a prompt - fix: pasted images reach the model
- fix: sessions survive a failed first turn
- fix: pre-v1 sessions are backwards compatible
- fix:
/clearstops background taste-learning - fix: one picker for every
/resumepath - fix: queued messages faster turns
- fix:
/usagebar matches balance - fix: file links valid on every OS
- fix: consistent look across overlays
- feat: per tool major improvements below:
- feat:
edit_filefuzzy-matching cascade tolerates whitespace and typography drift - feat:
edit_filestale-write protection rejects edits when the file changed on disk - feat:
edit_fileambiguous match errors with a count instead of a silent wrong edit - feat:
edit_fileempty match creates the file, missing file suggests the closest sibling - fix:
edit_fileatomic writes, BOM and CRLF preserved, line-numbered result snippet - fix:
write_fileclamped and long-line reads can satisfy the overwrite check - fix:
write_fileexact-match required so unseen trailing content is never clobbered - fix:
write_fileaccurate partial-read error instead of a misleading not-read-yet - fix:
write_fileroutes toedit_filefor files above the read cap - feat:
read_fileshows images to vision models - fix:
read_fileoffset and limit memory handling - feat:
web_searchdomain allow and block filtering, subdomain-aware - feat:
web_searchmandatory source citations - feat:
web_searchminimum query length and result-count clamping - feat:
web_searchabort-aware, marked read-only and concurrency-safe - feat:
web_fetchformatparam for markdown, text, or html - feat:
web_fetchpagination over a large window, exempt from the output cap - feat:
web_fetchresponse caching with a TTL - feat:
web_fetchper-call timeout and URL safety guard - feat:
web_fetchcross-host redirect reporting - feat:
task_(create, update, list, get)persistent store with states, owners, and dependencies - feat:
task_*writes to disk so restarts and sub-agents share the list - feat:
task_*prompt-free and plan-safe - feat:
task_*friendly feed rows instead of raw JSON - feat:
task_outputblocking wait or instant peek with delta streaming - feat:
task_outputtail truncation points at the on-disk log - feat:
task_stopvia a shared registry with clear errors - feat:
todo_writeone live TODOS panel above the input - feat:
todo_writesticky user edits the model cannot undo - feat:
todo_write/todosinteractive manager (youxorcan item) - feat:
todo_writehonest completion reports that attribute user edits - fix:
todo_writewarns the model when an update drops unfinished items - feat:
enter_worktree/exit_worktreeswitch a running session into an isolated worktree and back - feat:
exit_worktreeremoval scope-locked to the session's own worktree, fail-closed on dirty state - feat:
enter_worktreehardened git plumbing and non-interactive fetch - feat:
enter_worktree/exit_worktreeexcluded from sub-agents, hidden in plan mode - feat:
enter_worktreecreateHook,removeHook, sparse paths, and symlink dirs - feat:
configlist, get, and set every setting from one registry - feat:
configreads auto-allowed and plan-safe, writes always confirm - feat:
configboolean toggles and known model ids so the model stops guessing - feat:
configwrites report previous and new values and sync live state - feat:
run_commandruns any built-in, custom, skill, or mod slash command - feat:
run_commandvalidates the command exists so the model cannot invent one - feat:
run_commanddispatches when the turn goes idle, never mid-turn - feat:
run_commandvalue commands apply directly, bare form opens the picker - feat:
powershelldiscovers pwsh 7+, falls back to Windows PowerShell 5.1 - feat:
powershellfail-closed parser with a destructive-removal circuit breaker - feat:
powershellpersists working directory and tracks native and cmdlet exit codes - feat:
shell_commandread-only fast path runs safe commands without prompting - feat:
shell_commandbackground tasks withshell_tasksandbash_output - feat:
shell_commandWindows routes to PowerShell or cmd.exe - fix:
glob/grep/read_directoryrecognize absolute and UNC paths - fix:
kill_shellnullable target schema so strict providers can call it - fix:
kill_shellworks by pid, port, or task id on Windows too - fix:
monitor_commandwakes the model when the monitored process exits - fix:
monitor_commandsettles by task id so a recycled pid cannot settle the wrong task - fix:
monitor_commandstopped tasks stay silent
Questions? Start with the FAQs or the Changelog. Or reach out to us on Discord.