What's New in v1

Note

This page is currently a work in progress. We made this live so you can start exploring the new features in v1, but some of the content and links are still being finalized. Appreciate your patience and feedback!

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, /model and 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.

Read about Permissions →

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).

Read about Background Tasks →

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.

Read about Git Worktrees →

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.

Read about Keybindings →

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.

Read about Mods →

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.

Read about Skills →

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.

Read the Tools Reference →

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.

Read about Headless Mode →

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.

Read about MCP →

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.

Read about Hooks →

Plan mode

Plan review now works like a pull-request review: one review mode with inline comments and familiar approve/request-changes verbs.

Read about Plan Mode →

Questions? Start with the FAQs or the Changelog. Or reach out to us on Discord.

From the changelog: Changelog

  • feat: enter_worktree / exit_worktree tools for isolated git worktrees per session
  • feat: plan_review tool to open plan review on demand (first of its kind)
  • feat: mods to add your own tools, hooks, and commands (beta)
  • feat: /goal supervision 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: /agents overhaul, create by agents by asking
  • feat: edit_file overhaul with fuzzy matching and stale-write guards
  • feat: write_file overhaul with reliable overwrite checks
  • feat: read_file shows images to vision models
  • feat: ask_user_question for structured multiple-choice prompts
  • feat: get_diagnostics reads IDE errors and warnings
  • feat: shell_command with background tasks, monitoring, and a read-only fast path
  • feat: glob / grep / read_directory search tools handle absolute and UNC paths
  • feat: web_search with domain filters and source citations
  • feat: web_fetch with pagination, formats, caching, and URL guards
  • feat: config tool to list, get, and set settings from the CLI
  • feat: --model, --effort, --theme, and --config CLI flags
  • feat: run_command runs slash commands by asking cmd for you
  • feat: powershell first-class PowerShell tool on Windows
  • feat: /import setup (skills, prompts, agents, commands) from other agents
  • feat: todo_write live TODOS panel and /todos manager
  • feat: /tree to navigate and branch your conversation history
  • feat: /mode commands and /new alias for /clear
  • feat: /fork a conversation into a new session
  • feat: /reload to restart and resume the session
  • feat: /rewind to restore an earlier checkpoint
  • feat: /context shows context-window usage
  • feat: /share and /unshare a session via link
  • feat: /export and /copy your conversation
  • feat: /memory to manage memory files
  • feat: /hotkeys keyboard-shortcut reference
  • feat: stash your input prompt with Ctrl+S
  • feat: bundled skill: command-code-knowledge so cmd knows about itself
  • feat: bundled skill: mod-builder so cmd can build mods for you
  • feat: bundled skill: skill-builder so cmd can build skills for you
  • feat: -p --output-format json for 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 /session and /config panels
  • 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: Esc no 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: /clear stops background taste-learning
  • fix: one picker for every /resume path
  • fix: queued messages faster turns
  • fix: /usage bar matches balance
  • fix: file links valid on every OS
  • fix: consistent look across overlays
  • feat: per tool major improvements below:
  • feat: edit_file fuzzy-matching cascade tolerates whitespace and typography drift
  • feat: edit_file stale-write protection rejects edits when the file changed on disk
  • feat: edit_file ambiguous match errors with a count instead of a silent wrong edit
  • feat: edit_file empty match creates the file, missing file suggests the closest sibling
  • fix: edit_file atomic writes, BOM and CRLF preserved, line-numbered result snippet
  • fix: write_file clamped and long-line reads can satisfy the overwrite check
  • fix: write_file exact-match required so unseen trailing content is never clobbered
  • fix: write_file accurate partial-read error instead of a misleading not-read-yet
  • fix: write_file routes to edit_file for files above the read cap
  • feat: read_file shows images to vision models
  • fix: read_file offset and limit memory handling
  • feat: web_search domain allow and block filtering, subdomain-aware
  • feat: web_search mandatory source citations
  • feat: web_search minimum query length and result-count clamping
  • feat: web_search abort-aware, marked read-only and concurrency-safe
  • feat: web_fetch format param for markdown, text, or html
  • feat: web_fetch pagination over a large window, exempt from the output cap
  • feat: web_fetch response caching with a TTL
  • feat: web_fetch per-call timeout and URL safety guard
  • feat: web_fetch cross-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_output blocking wait or instant peek with delta streaming
  • feat: task_output tail truncation points at the on-disk log
  • feat: task_stop via a shared registry with clear errors
  • feat: todo_write one live TODOS panel above the input
  • feat: todo_write sticky user edits the model cannot undo
  • feat: todo_write /todos interactive manager (you x or c an item)
  • feat: todo_write honest completion reports that attribute user edits
  • fix: todo_write warns the model when an update drops unfinished items
  • feat: enter_worktree / exit_worktree switch a running session into an isolated worktree and back
  • feat: exit_worktree removal scope-locked to the session's own worktree, fail-closed on dirty state
  • feat: enter_worktree hardened git plumbing and non-interactive fetch
  • feat: enter_worktree / exit_worktree excluded from sub-agents, hidden in plan mode
  • feat: enter_worktree createHook, removeHook, sparse paths, and symlink dirs
  • feat: config list, get, and set every setting from one registry
  • feat: config reads auto-allowed and plan-safe, writes always confirm
  • feat: config boolean toggles and known model ids so the model stops guessing
  • feat: config writes report previous and new values and sync live state
  • feat: run_command runs any built-in, custom, skill, or mod slash command
  • feat: run_command validates the command exists so the model cannot invent one
  • feat: run_command dispatches when the turn goes idle, never mid-turn
  • feat: run_command value commands apply directly, bare form opens the picker
  • feat: powershell discovers pwsh 7+, falls back to Windows PowerShell 5.1
  • feat: powershell fail-closed parser with a destructive-removal circuit breaker
  • feat: powershell persists working directory and tracks native and cmdlet exit codes
  • feat: shell_command read-only fast path runs safe commands without prompting
  • feat: shell_command background tasks with shell_tasks and bash_output
  • feat: shell_command Windows routes to PowerShell or cmd.exe
  • fix: glob / grep / read_directory recognize absolute and UNC paths
  • fix: kill_shell nullable target schema so strict providers can call it
  • fix: kill_shell works by pid, port, or task id on Windows too
  • fix: monitor_command wakes the model when the monitored process exits
  • fix: monitor_command settles by task id so a recycled pid cannot settle the wrong task
  • fix: monitor_command stopped tasks stay silent

Questions? Start with the FAQs or the Changelog. Or reach out to us on Discord.