{
  "id": "claude-code",
  "name": "Claude Code",
  "vendor": "Anthropic",
  "tagline": "Terminal-native agentic coding harness.",
  "subtitle": "terminal reference",
  "docsHome": "https://code.claude.com/docs",
  "version": "2.1.207",
  "lastVerified": "2026-07-11",
  "stale": false,
  "accent": "#e8a33d",
  "headerNote": "Things move fast — the source of truth is [code.claude.com/docs](https://code.claude.com/docs/en/commands), and inside a session `/help` plus typing `/` always shows what *your* build actually has.",
  "footerNote": "Availability varies by plan, provider, and version; run `claude --version` and `/help` to see what your build has.",
  "tagVocabulary": [
    {
      "tag": "skill",
      "label": "skill",
      "desc": "prompt-based bundled skill (Claude can also trigger it on its own)."
    },
    {
      "tag": "flow",
      "label": "workflow",
      "desc": "fans out across subagents in the background."
    }
  ],
  "sections": [
    {
      "id": "launch",
      "title": "Launch",
      "sources": [
        "https://code.claude.com/docs/en/cli-reference.md"
      ],
      "lede": "Everything you can type before you're in a session.",
      "groups": [
        {
          "rows": [
            {
              "cmd": "claude",
              "desc": "Start an interactive session in the current directory."
            },
            {
              "cmd": "claude \"query\"",
              "desc": "Start interactive with an opening prompt."
            },
            {
              "cmd": "claude -p \"query\"",
              "desc": "Non-interactive (print mode). Runs the query, prints, exits. The scripting entry point."
            },
            {
              "cmd": "cat file | claude -p \"query\"",
              "desc": "Pipe stdin through Claude. Pairs with `--output-format json`."
            },
            {
              "cmd": "claude -c",
              "desc": "Continue the most recent conversation in this directory."
            },
            {
              "cmd": "claude -r \"<session>\" \"query\"",
              "desc": "Resume by session ID or name. No args opens the picker."
            },
            {
              "cmd": "claude update",
              "desc": "Update to the latest version."
            },
            {
              "cmd": "claude install [version]",
              "desc": "Install/reinstall the native binary. Accepts `stable`, `latest`, or a pinned version."
            },
            {
              "cmd": "claude doctor",
              "desc": "Read-only install + settings diagnostics without starting a session. (In-session `/doctor` can also fix things.)"
            },
            {
              "cmd": "claude auth login | logout | status",
              "desc": "`login --console` to bill via API instead of subscription. `status` prints JSON, exit 0 = logged in."
            },
            {
              "cmd": "claude setup-token",
              "desc": "Generate a long-lived OAuth token for CI/scripts."
            },
            {
              "cmd": "claude agents",
              "desc": "Open *agent view*: monitor and dispatch parallel background sessions. `--json` for scripting."
            },
            {
              "cmd": "claude attach <id>",
              "desc": "Attach to a background session in this terminal."
            },
            {
              "cmd": "claude logs <id>",
              "desc": "Print recent output from a background session."
            },
            {
              "cmd": "claude stop <id> / claude rm <id>",
              "desc": "Stop a background session / remove it from the list (transcript survives)."
            },
            {
              "cmd": "claude respawn <id>",
              "desc": "Restart a background session with its conversation intact. `--all` to pick up a new binary."
            },
            {
              "cmd": "claude daemon status | stop --any",
              "desc": "Inspect/kill the background-session supervisor. `--keep-workers` leaves sessions running."
            },
            {
              "cmd": "claude mcp",
              "desc": "Configure MCP servers. `claude mcp login <name>` runs a server's OAuth flow from the shell."
            },
            {
              "cmd": "claude plugin install <name>@<marketplace>",
              "desc": "Plugin management from the shell (`list`, `enable`, `disable`, `update`, `init`, `prune`)."
            },
            {
              "cmd": "claude project purge [path]",
              "desc": "Delete all local state for a project (transcripts, history, debug logs). `--dry-run` first."
            },
            {
              "cmd": "claude ultrareview [target]",
              "desc": "Deep multi-agent cloud review, non-interactive. Exits 1 on findings — CI-friendly."
            },
            {
              "cmd": "claude remote-control",
              "desc": "Server mode: drive this machine's Claude Code from claude.ai or the mobile app."
            },
            {
              "cmd": "claude auto-mode defaults",
              "desc": "Print the auto-mode classifier's built-in rules as JSON."
            }
          ]
        }
      ]
    },
    {
      "id": "flags",
      "title": "CLI flags",
      "sources": [
        "https://code.claude.com/docs/en/cli-reference.md"
      ],
      "navLabel": "Flags",
      "lede": "`claude --help` does not list every flag — absence from help ≠ unavailable.",
      "groups": [
        {
          "rows": [
            {
              "cmd": "--print, -p",
              "desc": "Non-interactive mode. Gate for most scripting flags below."
            },
            {
              "cmd": "--continue, -c  |  --resume, -r",
              "desc": "Continue latest / resume by ID or name."
            },
            {
              "cmd": "--fork-session",
              "desc": "On resume, branch to a new session ID instead of writing into the original."
            },
            {
              "cmd": "--session-id <uuid>",
              "desc": "Pin the session ID (useful when you're orchestrating runs)."
            },
            {
              "cmd": "--name, -n \"<name>\"",
              "desc": "Name the session; resume later with `claude -r \"<name>\"`."
            },
            {
              "cmd": "--from-pr <n|url>",
              "desc": "Resume the sessions linked to a PR."
            },
            {
              "cmd": "--worktree, -w [name|#PR]",
              "desc": "Start inside an isolated git worktree at `<repo>/.claude/worktrees/<name>`."
            },
            {
              "cmd": "--tmux",
              "desc": "With `-w`: spin the worktree up in a tmux (or iTerm2) pane."
            },
            {
              "cmd": "--bg, --background",
              "desc": "Launch as a background agent and return immediately. Monitor with `claude agents`."
            },
            {
              "cmd": "--exec '<cmd>'",
              "desc": "With `--bg`: run a shell command as a PTY-backed background job (no model)."
            },
            {
              "cmd": "--add-dir ../pkg-a ../pkg-b",
              "desc": "Extra working dirs. Grants file access + loads their `.claude/skills/`, not the rest of their config."
            },
            {
              "cmd": "--cloud \"task\"  |  --teleport",
              "desc": "Push a task to a web session / pull a web session down into this terminal."
            }
          ],
          "title": "Session shape"
        },
        {
          "rows": [
            {
              "cmd": "--model sonnet|opus|haiku|fable|<id>",
              "desc": "Session model. Overrides settings and `ANTHROPIC_MODEL`."
            },
            {
              "cmd": "--effort low|medium|high|xhigh|max|ultracode",
              "desc": "Reasoning effort for this session. `ultracode` = xhigh + automatic workflow orchestration."
            },
            {
              "cmd": "--fallback-model sonnet,haiku",
              "desc": "Ordered fallback chain when the primary is overloaded or retired."
            },
            {
              "cmd": "--advisor opus|sonnet|fable",
              "desc": "Consult a second model at key moments in a task."
            },
            {
              "cmd": "--system-prompt[-file]",
              "desc": "Replace the entire system prompt. You now own tool guidance and safety text."
            },
            {
              "cmd": "--append-system-prompt[-file]",
              "desc": "Keep the Claude Code prompt, bolt your rules on the end. Usually what you want."
            },
            {
              "cmd": "--append-subagent-system-prompt",
              "desc": "Same, but applied to every subagent (print mode only)."
            }
          ],
          "title": "Model & reasoning"
        },
        {
          "rows": [
            {
              "cmd": "--permission-mode <mode>",
              "desc": "`default`(=`manual`), `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`."
            },
            {
              "cmd": "--allowedTools \"Bash(git log *)\" \"Read\"",
              "desc": "Pre-approved rules — the whitelist for autonomous runs."
            },
            {
              "cmd": "--disallowedTools \"Edit\" \"mcp__*\"",
              "desc": "Deny rules. A bare tool name removes the tool from context entirely."
            },
            {
              "cmd": "--tools \"Bash,Edit,Read\"",
              "desc": "Restrict which built-in tools exist at all. `\"\"` = none, `default` = all."
            },
            {
              "cmd": "--dangerously-skip-permissions",
              "desc": "= `--permission-mode bypassPermissions`. Prefer `auto` + an allowlist for real work.",
              "danger": true
            },
            {
              "cmd": "--allow-dangerously-skip-permissions",
              "desc": "Adds bypass to the <kbd>Shift+Tab</kbd> cycle without *starting* in it."
            },
            {
              "cmd": "--permission-prompt-tool <mcp tool>",
              "desc": "Route permission prompts to an MCP tool in non-interactive runs."
            }
          ],
          "title": "Permissions & tools"
        },
        {
          "rows": [
            {
              "cmd": "--output-format text|json|stream-json",
              "desc": "Print-mode output shape."
            },
            {
              "cmd": "--input-format text|stream-json",
              "desc": "Feed structured turns in."
            },
            {
              "cmd": "--json-schema '{...}'",
              "desc": "Validated structured output after the agent finishes (print mode)."
            },
            {
              "cmd": "--include-partial-messages",
              "desc": "Token-level streaming events. Needs `-p --output-format stream-json`."
            },
            {
              "cmd": "--include-hook-events",
              "desc": "Emit every hook lifecycle event into the stream."
            },
            {
              "cmd": "--max-turns N  |  --max-budget-usd N",
              "desc": "Hard stops for unattended runs."
            },
            {
              "cmd": "--bare",
              "desc": "Skip discovery of hooks/skills/plugins/MCP/CLAUDE.md. Fastest cold start for scripted calls."
            },
            {
              "cmd": "--exclude-dynamic-system-prompt-sections",
              "desc": "Move machine-specific bits out of the system prompt → better cache reuse across machines/users."
            },
            {
              "cmd": "--no-session-persistence",
              "desc": "Don't write the session to disk (print mode)."
            }
          ],
          "title": "Scripting & output"
        },
        {
          "rows": [
            {
              "cmd": "--settings ./settings.json | '{json}'",
              "desc": "Override settings keys for this session only."
            },
            {
              "cmd": "--setting-sources user,project,local",
              "desc": "Choose which settings layers load."
            },
            {
              "cmd": "--mcp-config ./mcp.json  |  --strict-mcp-config",
              "desc": "Load servers from a file / ignore every other MCP config."
            },
            {
              "cmd": "--plugin-dir ./my-plugin  |  --plugin-url <zip>",
              "desc": "Load a plugin for this session only — the fast dev loop for plugin authoring."
            },
            {
              "cmd": "--agents '{\"reviewer\":{...}}'",
              "desc": "Define subagents inline as JSON (same fields as frontmatter + `prompt`)."
            },
            {
              "cmd": "--agent <name>",
              "desc": "Run the whole session as a named agent."
            },
            {
              "cmd": "--disable-slash-commands",
              "desc": "Kill all skills/commands for the session."
            },
            {
              "cmd": "--safe-mode",
              "desc": "Start with *all* customization disabled — the bisect tool when your config breaks something."
            },
            {
              "cmd": "--debug \"api,mcp\"  |  --debug-file <path>",
              "desc": "Category-filtered debug logging. Negate with `!statsig`."
            },
            {
              "cmd": "--verbose",
              "desc": "Full turn-by-turn output."
            },
            {
              "cmd": "--chrome / --no-chrome  |  --ide",
              "desc": "Browser integration / auto-connect to a running IDE."
            },
            {
              "cmd": "--init | --init-only | --maintenance",
              "desc": "Run Setup/SessionStart hooks (with matcher) before — or instead of — a conversation."
            }
          ],
          "title": "Config, extensions, debugging"
        }
      ]
    },
    {
      "id": "session",
      "title": "Session & context",
      "sources": [
        "https://code.claude.com/docs/en/commands.md"
      ],
      "lede": "Typed inside a session. A command is only recognized at the start of a message.",
      "groups": [
        {
          "rows": [
            {
              "cmd": "/clear [name]",
              "desc": "New conversation, empty context. Old one stays in `/resume`. Aliases `/reset`, `/new`."
            },
            {
              "cmd": "/compact [instructions]",
              "desc": "Summarize the conversation to free context, staying in the same thread."
            },
            {
              "cmd": "/context [all]",
              "desc": "Grid of what's eating the window, with optimization hints. Run this before you blame the model."
            },
            {
              "cmd": "/resume [session]",
              "desc": "Picker or direct resume by ID/name. Background sessions show as `bg`."
            },
            {
              "cmd": "/branch [name]",
              "desc": "Fork the conversation at this point and switch into the copy. Original preserved."
            },
            {
              "cmd": "/rewind",
              "desc": "Roll code and/or conversation back to a checkpoint, or summarize from a chosen message. Aliases `/undo`, `/checkpoint`."
            },
            {
              "cmd": "/btw <question>",
              "desc": "Side question: sees the full conversation, has no tools, never enters history. Press <kbd>f</kbd> to fork it into a real session."
            },
            {
              "cmd": "/recap",
              "desc": "One-line summary of the session so far."
            },
            {
              "cmd": "/diff",
              "desc": "Interactive diff viewer: git diff ↔ per-turn diffs."
            },
            {
              "cmd": "/copy [N]",
              "desc": "Copy the last (or Nth-last) response. Picker for individual code blocks; <kbd>w</kbd> writes to a file."
            },
            {
              "cmd": "/export [file]",
              "desc": "Export the conversation as plain text."
            },
            {
              "cmd": "/rename [name]",
              "desc": "Name the session; shows on the prompt bar."
            },
            {
              "cmd": "/memory",
              "desc": "Edit CLAUDE.md files, toggle and audit auto-memory."
            },
            {
              "cmd": "/init",
              "desc": "Generate a starter CLAUDE.md. `CLAUDE_CODE_NEW_INIT=1` for an interactive flow covering skills + hooks."
            },
            {
              "cmd": "/add-dir <path>  |  /cd <path>",
              "desc": "Grant access to another directory / move the session there (keeps the prompt cache)."
            },
            {
              "cmd": "/focus  |  /tui [fullscreen]",
              "desc": "Collapse to prompt + summary + answer / switch the renderer (fullscreen = flicker-free alt-screen)."
            },
            {
              "cmd": "/exit",
              "desc": "Quit. In an attached background session this detaches and leaves it running."
            }
          ]
        }
      ]
    },
    {
      "id": "model",
      "title": "Model, cost & settings",
      "sources": [
        "https://code.claude.com/docs/en/commands.md"
      ],
      "navLabel": "Model & reasoning",
      "groups": [
        {
          "rows": [
            {
              "cmd": "/model [model]",
              "desc": "Switch model and save as default. Press <kbd>s</kbd> on a row for session-only. ←/→ adjusts effort."
            },
            {
              "cmd": "/effort [level|auto]",
              "desc": "`low → medium → high → xhigh → max → ultracode`. Applies immediately, mid-turn."
            },
            {
              "cmd": "/fast [on|off]",
              "desc": "Fast mode — lower latency, higher token cost."
            },
            {
              "cmd": "/advisor [model|off]",
              "desc": "Second-model consult at key decision points."
            },
            {
              "cmd": "/config [key=value]",
              "desc": "Settings UI, or set directly: `/config theme=dark`, `/config thinking=false`. `/config --help` lists keys."
            },
            {
              "cmd": "/status",
              "desc": "Version, model, account, connectivity. Works while Claude is responding."
            },
            {
              "cmd": "/usage",
              "desc": "Cost, plan limits, and usage broken down by skill / subagent / plugin / MCP server. Aliases `/cost`, `/stats`."
            },
            {
              "cmd": "/insights",
              "desc": "Report on your own sessions: project areas, interaction patterns, friction points."
            }
          ]
        }
      ]
    },
    {
      "id": "review",
      "title": "Review & ship",
      "sources": [
        "https://code.claude.com/docs/en/commands.md"
      ],
      "showTagLegend": true,
      "groups": [
        {
          "rows": [
            {
              "cmd": "/code-review [level] [--fix] [--comment] [target]",
              "desc": "Correctness bugs + cleanup review of the diff. Levels `low…max`, or `ultra` for the cloud review. `--comment` posts inline PR comments.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/simplify [target]",
              "desc": "Cleanup-only pass (reuse, simplification, efficiency, abstraction level) — applies fixes, doesn't hunt bugs.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/review [PR]",
              "desc": "Fast single-pass, read-only review of a GitHub PR. No arg = pick from open PRs."
            },
            {
              "cmd": "/security-review",
              "desc": "Scan the branch diff for injection, authz, and data-exposure risks."
            },
            {
              "cmd": "/ultrareview [PR]",
              "desc": "Deep multi-agent review in a cloud sandbox. Now preferred as `/code-review ultra`."
            },
            {
              "cmd": "/verify",
              "desc": "Build + run the app and observe the result, instead of trusting tests and type checks.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/run",
              "desc": "Launch and drive the app to watch a change actually work.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/run-skill-generator",
              "desc": "Records how to build/launch *this* project into `.claude/skills/run-<name>/` so `/run` and `/verify` stop guessing. Run once per repo.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/autofix-pr [prompt]",
              "desc": "Cloud session that watches the current branch's PR and pushes fixes when CI fails or reviewers comment."
            },
            {
              "cmd": "/install-github-app",
              "desc": "Wire up the GitHub app + Actions workflow for automated PR review."
            }
          ]
        }
      ]
    },
    {
      "id": "parallel",
      "title": "Parallel & background work",
      "sources": [
        "https://code.claude.com/docs/en/commands.md"
      ],
      "navLabel": "Parallel & background",
      "groups": [
        {
          "rows": [
            {
              "cmd": "/plan [description]",
              "desc": "Enter plan mode from the prompt, optionally with the task attached."
            },
            {
              "cmd": "/ultraplan <prompt>",
              "desc": "Draft the plan in a cloud session, review it in the browser, then execute remotely or send it back to the terminal."
            },
            {
              "cmd": "/fork <directive>",
              "desc": "Background subagent that *inherits the full conversation*, works on the directive, and reports back. (Contrast `/branch`, which switches you into a copy.)"
            },
            {
              "cmd": "/batch <instruction>",
              "desc": "Decompose a codebase-wide change into 5–30 units, one background subagent per unit, each in its own worktree, each opening a PR.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/background [prompt]",
              "desc": "Detach the whole session to keep running headlessly; frees the terminal. Alias `/bg`. Monitor via `claude agents`."
            },
            {
              "cmd": "/tasks",
              "desc": "Everything running in the background of this session. Alias `/bashes`."
            },
            {
              "cmd": "/workflows",
              "desc": "Watch / pause / resume / save running dynamic workflows."
            },
            {
              "cmd": "/goal [condition|clear]",
              "desc": "Keep working across turns until a condition is met."
            },
            {
              "cmd": "/loop [interval] [prompt]",
              "desc": "Re-run a prompt on a cadence while the session is open. `/loop 5m check if the deploy finished`. Defaults to `.claude/loop.md`.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/schedule [description]",
              "desc": "Create routines that run on Anthropic-hosted infra (cron, API, or GitHub triggers). Alias `/routines`."
            },
            {
              "cmd": "/deep-research <question>",
              "desc": "Fan out web searches, cross-check sources, synthesize a cited report.",
              "tags": [
                "flow"
              ]
            },
            {
              "cmd": "/stop",
              "desc": "Stop the attached background session (transcript and worktree kept)."
            }
          ]
        }
      ]
    },
    {
      "id": "config",
      "title": "Config & extensions",
      "sources": [
        "https://code.claude.com/docs/en/commands.md"
      ],
      "groups": [
        {
          "rows": [
            {
              "cmd": "/permissions",
              "desc": "Allow / ask / deny rules by scope, working dirs, and recent auto-mode denials. Alias `/allowed-tools`."
            },
            {
              "cmd": "/fewer-permission-prompts",
              "desc": "Mines your transcripts for repeated read-only calls and writes an allowlist into project settings.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/hooks",
              "desc": "View hook configuration for tool events."
            },
            {
              "cmd": "/mcp [reconnect|enable|disable <server>]",
              "desc": "MCP servers + OAuth. In `-p` mode with no args it prints a status summary."
            },
            {
              "cmd": "/plugin [list|install|enable|disable]",
              "desc": "Plugin menu or direct subcommand."
            },
            {
              "cmd": "/reload-plugins [--force]",
              "desc": "Apply plugin changes without restarting. `--force` when it would invalidate the prompt cache."
            },
            {
              "cmd": "/reload-skills",
              "desc": "Re-scan skill + command directories mid-session. (SKILL.md *text* edits are already hot-reloaded.)"
            },
            {
              "cmd": "/skills",
              "desc": "List skills. Type to filter, <kbd>t</kbd> sorts by token cost, <kbd>Space</kbd> cycles visibility → writes `skillOverrides`."
            },
            {
              "cmd": "/agents",
              "desc": "As of v2.1.198 this just points you at `.claude/agents/` — ask Claude to create/manage subagents, or edit the files."
            },
            {
              "cmd": "/doctor",
              "desc": "Setup checkup that can *fix*: dupe installs, PATH, broken settings, unused skills/MCP/plugins vs their context cost, slow hooks, CLAUDE.md dedupe. Alias `/checkup`.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/debug [description]",
              "desc": "Turn on debug logging now and analyze the session debug log.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/statusline  |  /theme  |  /keybindings",
              "desc": "Status line (describe what you want), color theme, and your keybindings file."
            },
            {
              "cmd": "/sandbox",
              "desc": "Toggle OS-level sandboxing (filesystem + network isolation) where supported."
            },
            {
              "cmd": "/terminal-setup",
              "desc": "Install Shift+Enter bindings for VS Code, Cursor, Alacritty, Zed."
            },
            {
              "cmd": "/dataviz [request]",
              "desc": "Chart/dashboard design guidance with colorblind + contrast validation.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/claude-api [migrate]",
              "desc": "Loads Claude API reference for your language; `migrate` upgrades existing API code to a newer model.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/design-sync [hint]",
              "desc": "Ship your repo's React design system to Claude Design so generated designs use real components.",
              "tags": [
                "skill"
              ]
            },
            {
              "cmd": "/team-onboarding",
              "desc": "Turn 30 days of your usage into a setup guide a teammate can paste as a first message."
            },
            {
              "cmd": "/mcp__<server>__<prompt>",
              "desc": "MCP servers can expose prompts as commands. Discovered dynamically."
            }
          ]
        }
      ]
    },
    {
      "id": "platform",
      "title": "Platforms & handoff",
      "sources": [
        "https://code.claude.com/docs/en/commands.md"
      ],
      "navLabel": "Platforms",
      "groups": [
        {
          "rows": [
            {
              "cmd": "/desktop",
              "desc": "Continue this session in the Claude Code desktop app. Alias `/app`."
            },
            {
              "cmd": "/teleport",
              "desc": "Pull a Claude Code web session into this terminal (branch + conversation). Alias `/tp`."
            },
            {
              "cmd": "/remote-control",
              "desc": "Drive this local session from claude.ai or the mobile app. Alias `/rc`."
            },
            {
              "cmd": "/web-setup  |  /remote-env",
              "desc": "Connect GitHub for cloud sessions / pick the default cloud environment."
            },
            {
              "cmd": "/ide  |  /chrome",
              "desc": "IDE integration status / Chrome browser automation settings."
            },
            {
              "cmd": "/voice [hold|tap|off]",
              "desc": "Voice dictation (hold or tap <kbd>Space</kbd>)."
            },
            {
              "cmd": "/install-slack-app  |  /mobile",
              "desc": "Slack integration / QR code for the mobile app."
            }
          ]
        }
      ]
    },
    {
      "id": "keys",
      "title": "Keyboard & input modes",
      "sources": [
        "https://code.claude.com/docs/en/interactive-mode.md"
      ],
      "navLabel": "Keyboard",
      "groups": [
        {
          "rows": [
            {
              "cmd": "/",
              "desc": "Command or skill menu — built-ins, bundled + your skills, plugin and MCP commands. You can stack up to 6 skills: `/code-review /fix-issue 123`."
            },
            {
              "cmd": "!",
              "desc": "Shell mode. Runs the command, adds output to context, and (since v2.1.186) Claude responds to it. `! npm test` → explanation of the failures."
            },
            {
              "cmd": "@",
              "desc": "File path autocomplete / mention."
            },
            {
              "cmd": "Tab",
              "desc": "Accept the greyed-out prompt suggestion (also completes paths in shell mode)."
            }
          ],
          "title": "Input prefixes"
        },
        {
          "rows": [
            {
              "cmd": "Esc",
              "desc": "Interrupt Claude mid-turn and redirect. Work so far is kept."
            },
            {
              "cmd": "Esc Esc",
              "desc": "Clear the draft (saved to history) — or, on an empty prompt, open the rewind menu."
            },
            {
              "cmd": "Shift+Tab",
              "desc": "Cycle permission modes."
            },
            {
              "cmd": "Ctrl+C",
              "desc": "Interrupt; on an idle prompt, first press clears input, second exits."
            },
            {
              "cmd": "Ctrl+D",
              "desc": "Exit the session."
            },
            {
              "cmd": "Ctrl+O",
              "desc": "Toggle the transcript viewer (expands tool calls and collapsed MCP output)."
            },
            {
              "cmd": "Ctrl+T",
              "desc": "Toggle the task list."
            },
            {
              "cmd": "Ctrl+B",
              "desc": "Background the running bash command or agent. (Twice under tmux.)"
            },
            {
              "cmd": "Ctrl+X Ctrl+K",
              "desc": "Stop all background subagents in this session (press twice to confirm)."
            },
            {
              "cmd": "Ctrl+R",
              "desc": "Reverse-search prompt history. <kbd>Ctrl+S</kbd> cycles scope: session → project → all."
            },
            {
              "cmd": "Ctrl+G / Ctrl+X Ctrl+E",
              "desc": "Open the prompt in `$EDITOR`."
            },
            {
              "cmd": "Ctrl+V",
              "desc": "Paste an image from the clipboard as an `[Image #N]` chip. (<kbd>Alt+V</kbd> on Windows/WSL.)"
            },
            {
              "cmd": "Ctrl+L",
              "desc": "Redraw the screen when the terminal gets garbled."
            },
            {
              "cmd": "Alt/Option+P",
              "desc": "Switch model without losing your prompt."
            },
            {
              "cmd": "Alt/Option+T",
              "desc": "Toggle extended thinking. (No effect on Fable 5 — always thinks.)"
            },
            {
              "cmd": "Alt/Option+O",
              "desc": "Toggle fast mode."
            },
            {
              "cmd": "Shift+Enter / \\ + Enter / Ctrl+J",
              "desc": "Newline. Shift+Enter is native in iTerm2, Ghostty, WezTerm, Kitty, Warp, Terminal.app, Windows Terminal."
            }
          ],
          "title": "Control"
        }
      ]
    },
    {
      "id": "modes",
      "title": "Permission modes",
      "sources": [
        "https://code.claude.com/docs/en/permission-modes.md"
      ],
      "lede": "Cycle with <kbd>Shift+Tab</kbd>, set at launch with `--permission-mode`, or persist as `defaultMode` in settings.",
      "groups": [
        {
          "rows": [
            {
              "cmd": "default (aka manual)",
              "desc": "Ask before each new tool use."
            },
            {
              "cmd": "plan",
              "desc": "Read-only analysis; produces a plan you approve before anything is written."
            },
            {
              "cmd": "acceptEdits",
              "desc": "File edits auto-approved; other tools still prompt."
            },
            {
              "cmd": "auto",
              "desc": "A classifier approves safe actions and blocks risky ones. The sane default for long autonomous runs — tune it with `claude auto-mode defaults` and review denials in `/permissions`."
            },
            {
              "cmd": "dontAsk",
              "desc": "Only pre-approved tools run; everything else is denied rather than prompted."
            },
            {
              "cmd": "bypassPermissions",
              "desc": "No checks at all. Reach for a sandbox or container before you reach for this.",
              "danger": true
            }
          ]
        }
      ]
    },
    {
      "id": "skills",
      "title": "Skills authoring",
      "sources": [
        "https://code.claude.com/docs/en/skills.md"
      ],
      "lede": "Custom commands merged into skills: `.claude/commands/deploy.md` and `.claude/skills/deploy/SKILL.md` both produce `/deploy`. Skills add supporting files, invocation control, and automatic loading. Follows the [agentskills.io](https://agentskills.io) standard.",
      "footnote": "Gotchas worth internalizing: skill content enters context **once** and stays for the session (write standing instructions, not one-time steps) — keep `SKILL.md` under ~500 lines and push reference material into sibling files. If you have many skills, descriptions get truncated to a context budget (1% of the window; raise with `skillListingBudgetFraction`); `/doctor` tells you who's eating it. Turn skills off per-project without editing them via `skillOverrides` in `.claude/settings.local.json`.",
      "groups": [
        {
          "rows": [
            {
              "cmd": "~/.claude/skills/<name>/SKILL.md",
              "desc": "Personal — all your projects."
            },
            {
              "cmd": ".claude/skills/<name>/SKILL.md",
              "desc": "Project — commit it. Also loads from parent dirs up to the repo root, and from nested package dirs on demand (`apps/web:deploy`)."
            },
            {
              "cmd": "<plugin>/skills/<name>/SKILL.md",
              "desc": "Plugin — namespaced `/plugin-name:skill-name`, so it can't collide."
            },
            {
              "cmd": ".claude/commands/<name>.md",
              "desc": "Legacy custom command. Still works, same frontmatter. Skill wins on a name clash."
            }
          ],
          "title": "Where they live (precedence: enterprise → personal → project; a same-named skill overrides a bundled one)"
        },
        {
          "rows": [
            {
              "cmd": "description",
              "desc": "The only field that really matters — Claude matches on it. Key use case first; combined with `when_to_use` it's truncated at 1,536 chars."
            },
            {
              "cmd": "when_to_use",
              "desc": "Extra trigger phrases / example requests, appended to the description."
            },
            {
              "cmd": "disable-model-invocation: true",
              "desc": "Only *you* can fire it. Use for anything with side effects (`/deploy`, `/commit`). Also keeps its description out of context."
            },
            {
              "cmd": "user-invocable: false",
              "desc": "Only Claude can fire it. Use for background knowledge that isn't a meaningful command."
            },
            {
              "cmd": "allowed-tools: Bash(git add *) Read",
              "desc": "Pre-approves those tools while the skill is active. Doesn't restrict anything else."
            },
            {
              "cmd": "disallowed-tools",
              "desc": "Removes tools from the pool while active (e.g. `AskUserQuestion` for an unattended loop). Clears on your next message."
            },
            {
              "cmd": "context: fork  +  agent: Explore",
              "desc": "Run the skill as a subagent — SKILL.md *becomes the prompt*. Only makes sense for skills with a real task in them."
            },
            {
              "cmd": "model / effort",
              "desc": "Override for the duration of the turn. Session settings resume on your next prompt."
            },
            {
              "cmd": "paths: \"ios/**\"",
              "desc": "Only auto-activate when working on matching files."
            },
            {
              "cmd": "argument-hint / arguments",
              "desc": "Autocomplete hint, and named positional args for `$name` substitution."
            },
            {
              "cmd": "hooks",
              "desc": "Hooks scoped to this skill's lifecycle."
            }
          ],
          "title": "Frontmatter"
        },
        {
          "rows": [
            {
              "cmd": "$ARGUMENTS  /  $0 $1  /  $name",
              "desc": "All args / positional / named. If `$ARGUMENTS` is absent, args are appended as `ARGUMENTS: …`."
            },
            {
              "cmd": "${CLAUDE_SKILL_DIR}",
              "desc": "The skill's own directory — use it to call bundled scripts regardless of cwd."
            },
            {
              "cmd": "${CLAUDE_PROJECT_DIR}",
              "desc": "Repo root. Works in the body *and* in `allowed-tools` rules."
            },
            {
              "cmd": "${CLAUDE_SESSION_ID} / ${CLAUDE_EFFORT}",
              "desc": "Session ID for logging; current effort level for adapting instructions."
            },
            {
              "cmd": "!`git diff HEAD`",
              "desc": "Runs *before* Claude sees the skill; output is inlined. Multi-line: a fenced `` ```! `` block. Only recognized at line start or after whitespace."
            },
            {
              "cmd": "ultrathink",
              "desc": "Put the word anywhere in the skill body to request deeper reasoning for that run."
            }
          ],
          "title": "Substitutions & dynamic context"
        },
        {
          "example": {
            "code": "---\nname: summarize-changes\ndescription: Summarize uncommitted changes and flag risks. Use when the user asks\n  what changed, wants a commit message, or asks to review their diff.\nallowed-tools: Bash(git *)\n---\n\n## Current changes\n!`git diff HEAD`\n\n## Instructions\nSummarize in 2–3 bullets, then list risks: missing error handling,\nhardcoded values, tests that need updating."
          },
          "title": "Minimal SKILL.md"
        }
      ]
    },
    {
      "id": "agents",
      "title": "Subagents & teams",
      "sources": [
        "https://code.claude.com/docs/en/sub-agents.md"
      ],
      "navLabel": "Subagents",
      "groups": [
        {
          "rows": [
            {
              "cmd": ".claude/agents/<name>.md",
              "desc": "Subagent definition: frontmatter (description, tools, model, permission mode, `skills` to preload, hooks) + a body that becomes its system prompt."
            },
            {
              "cmd": "Explore / Plan / general-purpose",
              "desc": "Built-in agents. Explore and Plan skip CLAUDE.md and git status to stay small — ideal for parallel *research*."
            },
            {
              "cmd": "Subagent vs /btw",
              "desc": "Subagent = full tools, empty context (go find out something new). `/btw` = full context, no tools (ask about what's already known)."
            },
            {
              "cmd": "Agent teams",
              "desc": "Multiple teammates with shared task claiming, plan approval, and quality-gate hooks. Display mode via `--teammate-mode in-process|auto|tmux|iterm2`."
            },
            {
              "cmd": "Isolation",
              "desc": "Subagents can each get their own git worktree; `/batch` does this automatically per unit of work."
            },
            {
              "cmd": "Cost",
              "desc": "Subagents don't share the parent's prompt cache. Use them to isolate high-volume reads, not to generate parallel opinions."
            }
          ]
        }
      ]
    },
    {
      "id": "hooks",
      "title": "Hooks",
      "sources": [
        "https://code.claude.com/docs/en/hooks.md"
      ],
      "lede": "Shell, HTTP, prompt-based, or agent-based handlers on lifecycle events. Configure in settings under `hooks`, in a plugin, or in skill/agent frontmatter. Exit code 2 blocks; JSON output can inject context or make decisions. Inspect with `/hooks`, debug with `claude --debug hooks`.",
      "groups": [
        {
          "rows": [
            {
              "cmd": "SessionStart · Setup · SessionEnd",
              "desc": "Session lifecycle. `Setup` supports `init` / `maintenance` matchers via CLI flags."
            },
            {
              "cmd": "UserPromptSubmit · UserPromptExpansion",
              "desc": "Intercept or enrich the prompt before it reaches the model."
            },
            {
              "cmd": "PreToolUse · PostToolUse · PostToolUseFailure · PostToolBatch",
              "desc": "Around tool calls. Filter with matchers and the `if` field (tool name + args). Auto-format on edit lives here."
            },
            {
              "cmd": "PermissionRequest · PermissionDenied",
              "desc": "Auto-approve or auto-deny specific permission prompts."
            },
            {
              "cmd": "Stop · StopFailure · Notification · MessageDisplay",
              "desc": "Turn boundaries and notifications (terminal bell, Slack ping, etc.)."
            },
            {
              "cmd": "SubagentStart · SubagentStop · TeammateIdle",
              "desc": "Agent lifecycle — quality gates for teams."
            },
            {
              "cmd": "TaskCreated · TaskCompleted",
              "desc": "Task-list events."
            },
            {
              "cmd": "PreCompact · PostCompact · InstructionsLoaded",
              "desc": "Re-inject context after compaction; audit what loaded."
            },
            {
              "cmd": "FileChanged · CwdChanged · ConfigChange",
              "desc": "React to the environment moving under you."
            },
            {
              "cmd": "WorktreeCreate · WorktreeRemove",
              "desc": "Copy gitignored files (`.env`, xcconfig, local secrets) into new worktrees."
            },
            {
              "cmd": "Elicitation · ElicitationResult",
              "desc": "Around an MCP server's mid-tool-call request for user input; can auto-decide the response.",
              "added": "2026-07-11"
            }
          ]
        }
      ]
    },
    {
      "id": "files",
      "title": "File map",
      "sources": [
        "https://code.claude.com/docs/en/settings.md",
        "https://code.claude.com/docs/en/skills.md"
      ],
      "columns": true,
      "groups": [
        {
          "rows": [
            {
              "cmd": "~/.claude/settings.json",
              "desc": "User settings: model, hooks, permissions, statusline."
            },
            {
              "cmd": ".claude/settings.json",
              "desc": "Project settings — commit these."
            },
            {
              "cmd": ".claude/settings.local.json",
              "desc": "Personal project overrides — gitignored. `skillOverrides` lands here."
            },
            {
              "cmd": "CLAUDE.md / AGENTS.md",
              "desc": "Always-loaded project memory. Layer per-directory in large repos; move procedures out to skills."
            },
            {
              "cmd": ".claude/rules/",
              "desc": "Path-scoped rules — the alternative to one bloated CLAUDE.md."
            },
            {
              "cmd": ".claude/skills/  ·  .claude/commands/",
              "desc": "Skills (dir + SKILL.md) and legacy commands (single .md)."
            }
          ]
        },
        {
          "rows": [
            {
              "cmd": ".claude/agents/",
              "desc": "Subagent definitions."
            },
            {
              "cmd": ".mcp.json",
              "desc": "Project-scoped MCP servers (shared with the team)."
            },
            {
              "cmd": ".claude/worktrees/",
              "desc": "Where `-w` and `/batch` put isolated worktrees."
            },
            {
              "cmd": ".claude/loop.md",
              "desc": "Default prompt for `/loop`."
            },
            {
              "cmd": "~/.claude/projects/<slug>/",
              "desc": "Session transcripts as JSONL — tail these to watch an autonomous run."
            },
            {
              "cmd": "~/.claude/themes/  ·  keybindings",
              "desc": "Custom themes; `/keybindings` opens your bindings file."
            }
          ]
        }
      ]
    }
  ]
}
