{
  "markdown": "<div align=\"center\">\n\n<h2 id=\"claude-code-community-guide\">Claude Code Guide</h2>\n\n_For reference and contributions, visit the [official Claude Code documentation](https://code.claude.com/docs/en/overview)_\n\n_Commands and provider model mappings change quickly; the linked official references remain authoritative._\n\n![Claude Code](https://img.shields.io/npm/v/@anthropic-ai/claude-code?label=Claude%20Code&logo=anthropic)\n[![Status](https://img.shields.io/badge/Status-Active-brightgreen)](https://github.com/anthropics/claude-code)\n[![License](https://img.shields.io/badge/License-MIT-blue)](LICENSE)\n\n</div>\n\n<div align=\"center\">\n\n<kbd>\n\n| Section                               | Status | Other Resources                                                                                         |\n| ------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------- |\n| Getting Started                       | ✅   | **Claude-Code** [Docs](https://code.claude.com/docs/en/overview)                                    |\n| Configuration & Environment Variables | ✅   | **Claude-Code via** [**Discord**](https://github.com/zebbern/claude-code-discord)                       |\n| Commands & Usage                      | ✅   | Security Agents [SKILL.md](https://github.com/zebbern/claude-code-guide/tree/main/skills)               |\n| Interface & Input                     | ✅   | Let Agent Create [SKILL.md](https://github.com/zebbern/agent-skills-authoring)                          |\n| Advanced Features                     | ✅   | 954+ Agent [Skills](https://github.com/zebbern/antigravity-awesome-skills)                              |\n| Automation & Integration              | ✅   | No cost ai [resources](https://github.com/zebbern/no-cost-ai)                                           |\n| Help & Troubleshooting                | ✅   | 250+ Mermaid [templates](https://github.com/zebbern/mermaid-templates)                                  |\n| Third-Party Integrations              | ✅   | Discord Communication [MCP](https://github.com/zebbern/discord-mcp-agent)                               |\n\n\n</kbd>\n\n</div>\n\n---\n\n<h3 id=\"content\">Contents</h3>\n\n**Fast paths:** [Install](#quick-start) · [Commands](#claude-commands) · [Config](#configuration--environment) · [MCP](#mcp-integration) · [Agents](#sub-agents) · [Troubleshoot](#help--troubleshooting)\n\n| Area | Start here | Also useful |\n| --- | --- | --- |\n| [Getting Started](#getting-started) | [Quick Start](#quick-start) | [Initial Setup](#initial-setup), [System Requirements](#system-requirements) |\n| [Configuration](#configuration--environment) | [Environment Variables](#environment-variables) | [Configuration Files](#configuration-files) |\n| [Commands](#commands--usage) | [Slash Commands](#claude-commands) | [CLI Quick Reference](#cheat-sheet) |\n| [Interface](#interface--input) | [Keyboard Shortcuts](#keyboard-shortcuts) | [Vim Mode](#vim-mode) |\n| [Advanced Features](#advanced-features) | [Plan Mode](#plan-mode), [Auto Mode](#auto-mode), [MCP](#mcp-integration) | [Sub Agents](#sub-agents), [Skills](#skills), [Hooks](#hooks-system) |\n| [Security](#security--permissions) | [Security & Permissions](#security--permissions) | [Dangerous Mode](#dangerous-mode), [Best Practices](#security-best-practices-main) |\n| [Automation](#automation--integration) | [Automation & Scripting](#automation--scripting-with-claude-code) | [PR Review](#auto-pr-review-inline-comments), [Issue Triage](#issue-triage-suggest-labels--severity) |\n| [Help](#help--troubleshooting) | [Troubleshooting](#help--troubleshooting) | [Best Practices](#best-practices), [Monitoring](#monitoring--alerting) |\n| [Third-Party Integrations](#third-party-integrations) | [DeepSeek Integration](#deepseek-integration) | [Provider Setup Examples](#provider-setup-examples) |\n\n<details>\n<summary>Full content map</summary>\n\n- **[Getting Started](#getting-started)**\n  - [Quick Start](#quick-start)\n  - [System Requirements](#system-requirements)\n  - [Initial Setup](#initial-setup)\n\n- **[Configuration & Environment](#configuration--environment)**\n  - [Environment Variables](#environment-variables)\n  - [Configuration Files](#configuration-files)\n\n- **[Commands & Usage](#commands--usage)**\n  - [Slash Command Reference](#claude-commands)\n  - [CLI Quick Reference](#cheat-sheet)\n\n- **[Interface & Input](#interface--input)**\n  - [Keyboard Shortcuts](#keyboard-shortcuts)\n  - [Vim Mode](#vim-mode)\n\n- **[Advanced Features](#advanced-features)**\n  - [Thinking Mode](#thinking-keywords)\n  - [Effort Levels](#effort-levels)\n  - [Advisor Tool](#advisor-tool)\n  - [Fast Mode](#fast-mode)\n  - [Auto Mode](#auto-mode)\n  - [Plan Mode](#plan-mode)\n  - [Background Tasks](#background-tasks)\n  - [Workflows & Scheduling](#workflows--scheduling)\n  - [Remote Sessions](#remote-sessions)\n  - [Claude in Chrome](#claude-in-chrome)\n  - [Desktop and IDEs](#desktop-and-ides)\n  - [Sandbox Mode](#sandbox-mode)\n  - [LSP Tool](#lsp-tool)\n  - [Sub Agents](#sub-agents)\n  - [Agent Teams](#agent-teams)\n  - [Skills](#skills)\n  - [Plugin System](#plugin-system)\n  - [Worktree Isolation](#worktree-isolation)\n  - [Native Installer](#native-installer)\n  - [Authentication CLI](#claude-auth)\n  - [Agent Management CLI](#claude-agents-cli)\n  - [Remote Control](#remote-control)\n  - [Managed Settings](#managed-settings)\n  - [Model Updates](#model-updates)\n  - [Theming & Customization](#theming--customization)\n  - [Code Review](#code-review)\n  - [Insights](#insights)\n  - [MCP Integration](#mcp-integration)\n  - [Hooks System](#hooks-system)\n\n- **[Security & Permissions](#security--permissions)**\n  - [Dangerous Mode](#dangerous-mode)\n  - [Security Best Practices](#security-best-practices-main)\n\n- **[Automation & Integration](#automation--integration)**\n  - [Automation & Scripting](#automation--scripting-with-claude-code)\n  - [Auto PR Review](#auto-pr-review-inline-comments)\n  - [Issue Triage](#issue-triage-suggest-labels--severity)\n\n- **[Help & Troubleshooting](#help--troubleshooting)**\n  - [Installation Issues](#installation--nodejs-issues)\n  - [MCP Issues](#mcp-model-context-protocol-issues)\n  - [Best Practices](#best-practices)\n  - [Monitoring & Alerting](#monitoring--alerting)\n\n- **[Third-Party Integrations](#third-party-integrations)**\n  - [Provider Setup Examples](#provider-setup-examples)\n  - [DeepSeek Integration](#deepseek-integration)\n\n</details>\n\n---\n\n<h1 id=\"getting-started\">Getting Started</h1>\n\n**Enable completion alerts:** run `/config` inside Claude Code and choose a notification channel such as **Terminal bell**.\n\n<h2 id=\"quick-start\">Quick Start</h2>\n\n> [!TIP]\n> **Run <mark>claude</mark> in a project directory to start the interface.**\n>\n> **Go to [Help & Troubleshooting](#help--troubleshooting) to fix issues...**\n\n**Native installer (recommended; no Node.js required)**\n\nmacOS, Linux, or WSL:\n\n```bash\ncurl -fsSL https://claude.ai/install.sh | bash\n```\n\nWindows PowerShell:\n\n```powershell\nirm https://claude.ai/install.ps1 | iex\n```\n\nWindows CMD:\n\n```bat\ncurl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd\n```\n\nSupported package managers (manual updates by default):\n\n```bash\nbrew install --cask claude-code\nwinget install Anthropic.ClaudeCode\n```\n\nnpm distribution (supported; Node.js 22+ is required to install):\n\n```bash\nnpm install -g @anthropic-ai/claude-code\n```\n\nVerify the installation, then start Claude Code:\n\n```bash\nclaude --version\nclaude doctor\nclaude\n```\n\nNative installs update themselves. Homebrew, WinGet, and the signed `apt`, `dnf`, and `apk` repositories follow their package manager's update flow. See the [official setup guide](https://code.claude.com/docs/en/setup) for channels, version pinning, Linux repository setup, and signature verification. For an npm install, upgrade with `npm install -g @anthropic-ai/claude-code@latest`; do not use `sudo npm install -g`.\n\n---\n\n> [!Tip]\n> <ins>**Open Project Via Terminal Into VS Code / Cursor**</ins>\n>\n> ### $ - <kbd>cd /path/to/project</kbd>\n>\n> ### $ - <kbd>code .</kbd>\n>\n> **Make sure you have the <mark>(Claude Code extension)</mark> installed in your VS Code / Cursor**\n\n---\n\n<h2 id=\"system-requirements\">System Requirements</h2>\n\n> - OS: macOS 13+, Windows 10 1809+/Windows Server 2019+, Ubuntu 20.04+, Debian 10+, or Alpine Linux 3.19+. Native Windows, WSL 1, and WSL 2 are supported.\n\n> - Hardware: 4 GB+ RAM and an x64 or ARM64 processor\n\n> - Software: Git is optional on native Windows; without Git for Windows, Claude uses the PowerShell tool instead of Bash. Node.js 22+ is required only to install through npm; the installed CLI is a native binary.\n\n> - Internet: Connection for API calls\n\n---\n\n<h2 id=\"initial-setup\">Initial Setup</h2>\n\nClaude Code requires a Pro, Max, Team, Enterprise, or Console account; the free Claude.ai plan does not include Claude Code. The normal first-party flow is browser sign-in:\n\n```bash\nclaude auth login             # Claude subscription\nclaude auth login --console   # Anthropic Console/API billing\nclaude auth status            # Verify the active login\n```\n\nFor API automation or a provider/gateway deployment, inject credentials from an OS key store or secret manager instead of committing them:\n\n```bash\nexport ANTHROPIC_API_KEY=\"$SECRET_FROM_YOUR_STORE\" # bash/zsh: current process only\n```\n\n```powershell\n$env:ANTHROPIC_API_KEY = $secretFromYourStore # PowerShell: current process only\n```\n\n> [!Important]\n> A persistent `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, or credential helper selects API/provider authentication even if you are logged in. Subscription-only features such as Remote Control, cloud sessions, claude.ai MCP connectors, and notification preferences then remain unavailable. Do not commit credentials; use your platform's secret storage.\n\n---\n\n<h1 id=\"configuration--environment\">Configuration & Environment</h1>\n\n<h2 id=\"environment-variables\">Environment Variables</h2>\n\n> **Environment values can also be stored as strings under the `env` key in a `settings.json` file. The [official environment-variable reference](https://code.claude.com/docs/en/env-vars) is the exhaustive source.**\n\n> [!Important]\n> **On PowerShell, use `$env:NAME = \"value\"` for the current process. Persist secrets through an OS key store or secret manager, not a checked-in settings file.**\n\n```bash\n# Authentication and routing: set only when API/provider billing is intentional\nexport ANTHROPIC_API_KEY=\"$SECRET_FROM_YOUR_STORE\"\nexport ANTHROPIC_AUTH_TOKEN=\"$TOKEN_FROM_YOUR_STORE\"\nexport ANTHROPIC_BASE_URL=\"https://gateway.example.com\"\nexport ANTHROPIC_CUSTOM_HEADERS=\"X-Trace-Id: 12345\"\n\n# Model selection and provider alias overrides\nexport ANTHROPIC_MODEL=\"sonnet\"\nexport ANTHROPIC_DEFAULT_FABLE_MODEL=\"<provider-fable-model-id>\"\nexport ANTHROPIC_DEFAULT_OPUS_MODEL=\"<provider-opus-model-id>\"\nexport ANTHROPIC_DEFAULT_SONNET_MODEL=\"<provider-sonnet-model-id>\"\nexport ANTHROPIC_DEFAULT_HAIKU_MODEL=\"<provider-haiku-model-id>\"\n\n# Third-party provider selection (enable only one deployment path)\n# export CLAUDE_CODE_USE_BEDROCK=1\n# export ANTHROPIC_BEDROCK_REGION_PREFIX=eu # Prefer eu/us/apac/jp/au/global cross-region inference on Bedrock\n# export CLAUDE_CODE_USE_VERTEX=1\n# export CLAUDE_CODE_USE_FOUNDRY=1\n\n# Timeouts and output budgets, in milliseconds/tokens\nexport API_TIMEOUT_MS=1200000\nexport BASH_DEFAULT_TIMEOUT_MS=120000\nexport BASH_MAX_TIMEOUT_MS=600000\nexport MCP_TIMEOUT=30000\nexport MCP_TOOL_TIMEOUT=60000\nexport MAX_MCP_OUTPUT_TOKENS=25000\nexport MAX_THINKING_TOKENS=0 # 0 disables fixed thinking where supported; positive values set a budget\n\n# Session, context, agents, and accessibility\n# export CLAUDE_CODE_SIMPLE=1\n# export CLAUDE_CODE_SAFE_MODE=1\nexport CLAUDE_CODE_DISABLE_1M_CONTEXT=1 # Clamp native-1M models to 200K via autocompaction; warns if the clamp is not enforced\nexport CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 # Opt out of enforcing the assumed context window for unknown model IDs\nexport CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=20\nexport CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=3\nexport CLAUDE_CODE_FORWARD_SUBAGENT_TEXT=1\nexport CLAUDE_AX_SCREEN_READER=1\n\n# Feature and administration controls\nexport CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1\nexport CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1\nexport CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1\nexport CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1\nexport ENABLE_CLAUDEAI_MCP_SERVERS=false\n\n# Network routing\nexport HTTP_PROXY=\"http://proxy.example.com:8080\"\nexport HTTPS_PROXY=\"http://proxy.example.com:8080\"\nexport NO_PROXY=\"localhost,127.0.0.1\"\n\n# Privacy/network reduction: these are presence-based; unset them to turn them off\nexport CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1\nexport DISABLE_TELEMETRY=1\nexport DISABLE_ERROR_REPORTING=1\n```\n\nThe block is a catalog, not a recommended profile—do not enable mutually exclusive provider variables together. Boolean variables usually accept `1`/`true` and `0`/`false`, but the three presence-based variables shown at the end treat any non-empty value, including `0`, as enabled. Environment values in `settings.json` override the shell value at startup and when the file changes.\n\n<h2 id=\"global-config-options\">Global Config Options</h2>\n\nUse `/config` for interactive settings, or pass one or more `key=value` pairs. Run `/config --help` for the keys supported by your installed build.\n\n```bash\n/config                         # Open the settings UI\n/config theme=dark model=sonnet # Update supported keys directly\n```\n\nFor version-controlled or managed configuration, edit JSON settings files directly:\n\n| Scope | File |\n| :---- | :--- |\n| User | `~/.claude/settings.json` |\n| Project (shared) | `.claude/settings.json` |\n| Project (private) | `.claude/settings.local.json` |\n| Managed | macOS: `/Library/Application Support/ClaudeCode/`<br />Linux/WSL: `/etc/claude-code/`<br />Windows: `C:\\Program Files\\ClaudeCode\\` |\n\n```json\n{\n  \"model\": \"sonnet\",\n  \"theme\": \"dark\",\n  \"autoUpdatesChannel\": \"stable\",\n  \"permissions\": {\n    \"defaultMode\": \"default\"\n  }\n}\n```\n\nSettings precedence is **managed policy → CLI arguments/`--settings` → local → project → user**. Permission arrays have their own merge rules, so read the [settings reference](https://code.claude.com/docs/en/settings) before relying on ordinary last-writer-wins behavior. `~/.claude.json` stores global state, session/trust data, and local/user MCP configuration; it is not the user settings file.\n\n<h2 id=\"configuration-files\">Configuration Files</h2>\n\nClaude Code combines human-authored instructions from several locations:\n\n| Memory Type                | Location                                                                                                                                                | Purpose                                             | Use Case Examples                                                    | Shared With                     |\n| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------- |\n| **Enterprise policy**      | macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />Linux: `/etc/claude-code/CLAUDE.md`<br />Windows: `C:\\Program Files\\ClaudeCode\\CLAUDE.md` | Organization-wide instructions managed by IT/DevOps | Company coding standards, security policies, compliance requirements | All users in organization       |\n| **Project memory**         | `./CLAUDE.md` or `./.claude/CLAUDE.md`                                                                                                                  | Team-shared instructions for the project            | Project architecture, coding standards, common workflows             | Team members via source control |\n| **User memory**            | `~/.claude/CLAUDE.md`                                                                                                                                   | Personal preferences for all projects               | Code styling preferences, personal tooling shortcuts                 | Just you (all projects)         |\n| **Project memory (local)** | `./CLAUDE.local.md`                                                                                                                                     | Personal project-specific preferences (git-ignored) | Your sandbox URLs, preferred test data, personal overrides           | Just you (current project)      |\n| **Project rules**          | `.claude/rules/**/*.md`                                                                                                                                 | Modular project rules (loaded alongside CLAUDE.md)  | Linting rules, API conventions, path-scoped standards                 | Team members via source control |\n\n> Instruction files are concatenated rather than overriding one another. User and ancestor-project files load at startup; `CLAUDE.md` files in subdirectories load lazily when Claude works there. `CLAUDE.md` is context, not an enforcement boundary.\n\nUse `@path` to import another file. Claude Code does not load `AGENTS.md` automatically; add `@AGENTS.md` to `CLAUDE.md` (or use a symlink where portable) when you want to share those instructions.\n\n#### `.claude/rules/` Directory\n\nThe `.claude/rules/` directory lets you break project instructions into separate Markdown files instead of one large `CLAUDE.md`. Markdown files are discovered recursively. Add `paths` frontmatter with glob patterns when a rule should load only for matching files. This is useful for:\n\n- **Modular organization**: Separate concerns (e.g., `api-conventions.md`, `testing-rules.md`)\n- **Per-directory overrides**: Nested `rules/` directories can apply scoped rules\n- **Team collaboration**: Different team members can own different rule files via PR review\n\n#### Auto-Memory\n\nClaude can save useful working context under `~/.claude/projects/<project>/memory/`. It loads the first 200 lines or 25 KB of `MEMORY.md`; use `/memory` to inspect, edit, disable, or remove saved memories. Auto-memory is machine-local and shared across worktrees for the same repository.\n\nAuto-memory is most useful for context you would otherwise repeat across sessions:\n\n- Preferred build, test, and lint commands\n- Local conventions that are not obvious from code alone\n- Architecture decisions that influence future edits\n- Team preferences that should shape how Claude proposes changes\n\nKeep durable team rules in `CLAUDE.md` or `.claude/rules/`. Treat auto-memory as helpful working context, not as the only source of truth.\n\n---\n\n<h1 id=\"commands--usage\">Commands & Usage</h1>\n\n<h2 id=\"claude-commands\">Slash Command Reference</h2>\n\nType `/` to see what your installed build, plan, platform, plugins, MCP servers, and skills actually provide. The table below is a high-value snapshot; use the [official command reference](https://code.claude.com/docs/en/commands) for the live list.\n\n| Command | Purpose |\n| :------ | :------ |\n| `/add-dir <path>` | Grant this session access to another working directory |\n| `/advisor [model\\|off]` | Configure the experimental second-model advisor, save the selection, or turn it off |\n| `/agents` | Explain how to create or edit subagents; the old interactive agent wizard was removed in v2.1.198 |\n| `/background [prompt]` | Detach the current conversation as a background session (`/bg` alias) |\n| `/batch <instruction>` | Decompose a large change into worktree-isolated background units (bundled skill) |\n| `/branch [name]` | Switch into a new branch of the current conversation while preserving the original |\n| `/btw [question]` | Ask an ephemeral side question without adding it to conversation history |\n| `/cd <path>` | Move the current session to another working directory |\n| `/clear [name]` | Start a new conversation with empty context while preserving project memory |\n| `/code-review [level] [--fix] [--comment] [target]` | Run a local background review, or use level `ultra` for cloud review; levels run from `low` through `max` |\n| `/compact [instructions]` | Summarize the conversation to free context |\n| `/config [key=value ...]` | Open settings or update supported keys directly (`/settings` alias) |\n| `/context [all]` | Visualize what is using the context window |\n| `/diff` | Open the interactive current/per-turn diff viewer |\n| `/doctor` | Diagnose setup, configuration, hooks, memory, plugins, and MCP; can offer fixes (`/checkup` alias) |\n| `/effort [level|auto]` | Set model-dependent effort: `low`, `medium`, `high`, `xhigh`, `max`, or `ultracode` |\n| `/fast [on|off]` | Toggle fast mode where the selected Opus model and plan support it |\n| `/fork [prompt]` | Copy this conversation into a worktree-isolated background session and keep working here |\n| `/goal [condition|clear]` | Keep working across turns until a completion condition is met |\n| `/hooks` | Inspect configured hooks in the read-only hook browser |\n| `/import [codex|gemini]` | Preview or migrate supported configuration from another coding agent |\n| `/init` | Generate a starter `CLAUDE.md` for the project |\n| `/loop [interval] [prompt]` | Run a prompt repeatedly while the session remains open |\n| `/mcp` | Inspect, authenticate, enable, disable, or reconnect MCP servers |\n| `/memory` | Manage `CLAUDE.md`, rules, and auto-memory |\n| `/model [model]` | Switch model and normally save it as the default; press `s` in the picker for session-only selection |\n| `/permissions` | Manage allow, ask, and deny rules (`/allowed-tools` alias) |\n| `/plan [description]` | Enter plan mode, optionally with a task |\n| `/plugin [subcommand]` | Discover, install, enable, disable, and manage plugins |\n| `/reload-plugins [--force]` | Apply plugin changes without restarting when safe |\n| `/remote-control [name]` | Expose this local session to claude.ai/code or the Claude mobile app |\n| `/resume [session]` | Resume by ID/name or open the session picker |\n| `/review ...` | Alias for `/code-review` as of v2.1.223 |\n| `/rewind` | Restore or summarize code and conversation from a checkpoint |\n| `/sandbox` | View and configure Bash filesystem/network sandboxing on supported platforms |\n| `/security-review` | Review the current branch diff for security vulnerabilities |\n| `/simplify` | Review changed code for reuse, quality, and efficiency improvements |\n| `/subtask [prompt]` | Run the former in-session fork behavior as a subagent that reports back here |\n| `/tasks` | List the current session's background shells, subagents, and tool calls |\n| `/teleport [session]` | Copy a Claude Code web session into the local terminal |\n| `/usage` | Show subscription usage and rate-limit status |\n| `/workflows` | Inspect dynamic workflow runs and background orchestration |\n\n<h2 id=\"command-line-flags\">Command Line Flags</h2>\n\n| Flag / Command                                       | Description                                                                                                                                                  | Example                                                                                |\n| :--------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |\n| `-d, --debug`                                        | Enable debug mode (shows detailed debug output).                                                                                                             | `claude -d -p \"query\"`                                                                 |\n| `--include-partial-messages`                         | Include partial streaming events; requires print mode and `stream-json`.                                                                                     | `claude -p --output-format stream-json --include-partial-messages \"query\"`             |\n| `--include-hook-events`                              | Include hook lifecycle events in `stream-json` output.                                                                                                        | `claude -p --output-format stream-json --include-hook-events \"query\"`                  |\n| `--forward-subagent-text`                            | Forward subagent text/thinking with `parent_tool_use_id` in `stream-json`.                                                                                    | `claude -p --output-format stream-json --forward-subagent-text \"query\"`                |\n| `--verbose`                                          | Override verbose mode setting from config (shows expanded logging / turn-by-turn output).                                                                    | `claude --verbose`                                                                     |\n| `-p, --print`                                        | Print response and exit (useful for piping output).                                                                                                          | `claude -p \"query\"`                                                                    |\n| `--output-format <format>`                           | Output format (only works with `--print`): `text` (default), `json` (single result), or `stream-json` (realtime streaming).                                  | `claude -p \"query\" --output-format json`                                               |\n| `--input-format <format>`                            | Input format (only works with `--print`): `text` (default) or `stream-json` (realtime streaming input).                                                      | `claude -p --output-format stream-json --input-format stream-json`                     |\n| `--replay-user-messages`                             | Re-emit user messages from stdin back to stdout for acknowledgment — **only works with** print mode plus `stream-json` input and output.                    | `claude -p --verbose --input-format stream-json --output-format stream-json --replay-user-messages` |\n| `--allowedTools`, `--allowed-tools <tools...>`       | Comma/space-separated permission rules to allow.                                                                                                              | `claude --allowed-tools \"Bash(git *)\" \"Edit\"`                                        |\n| `--disallowedTools`, `--disallowed-tools <tools...>` | Comma/space-separated permission rules to deny.                                                                                                               | `claude --disallowed-tools \"Edit\"`                                                     |\n| `--mcp-config <configs...>`                          | Load MCP servers from JSON files or strings (space-separated).                                                                                               | `claude --mcp-config ./mcp-servers.json`                                               |\n| `--strict-mcp-config`                                | Only use MCP servers from `--mcp-config`, ignoring other MCP configurations.                                                                                 | `claude --mcp-config ./a.json --strict-mcp-config`                                     |\n| `--append-system-prompt <prompt>`                    | Append a system prompt to the default system prompt (useful in print mode).                                                                                  | `claude -p --append-system-prompt \"Do X then Y\"`                                       |\n| `--autocompact <auto\\|tokens>`                       | Override the auto-compaction window for this session.                                                                                                        | `claude --autocompact 500k`                                                           |\n| `--ax-screen-reader`                                 | Use a flat, screen-reader-friendly renderer without decorative borders or animations.                                                                         | `claude --ax-screen-reader`                                                           |\n| `--bare`                                             | Minimal scripted mode: skip discovered hooks, skills, plugins, MCP, auto-memory, and `CLAUDE.md`.                                                             | `claude --bare -p \"query\"`                                                           |\n| `--permission-mode <mode>`                           | Start in `default`/`manual`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, or `plan`.                                                               | `claude --permission-mode plan`                                                        |\n| `--permission-prompt-tool <tool>`                    | Specify an MCP tool to handle permission prompts in non-interactive mode.                                                                                    | `claude -p --permission-prompt-tool mcp_auth_tool \"query\"`                             |\n| `--fallback-model <models>`                          | In print mode, try a comma-separated fallback chain when the primary model is unavailable.                                                                   | `claude -p --fallback-model sonnet,haiku \"query\"`                                    |\n| `--effort <level>`                                   | Set effort to `low`, `medium`, `high`, `xhigh`, or `max`, or start session-only `ultracode` mode where supported.                                              | `claude --effort high`                                                                |\n| `--model <model>`                                    | Model for the current session. Accepts aliases like `sonnet`/`opus` or a full model ID when pinning.                                                         | `claude --model sonnet`                                                                |\n| `--advisor <model>`                                  | Set the experimental advisor for this session without changing `advisorModel`; intentionally omitted from `claude --help`.                                  | `claude --advisor opus`                                                                |\n| `--settings <file-or-json>`                          | Load additional settings from a JSON file or a JSON string.                                                                                                  | `claude --settings ./settings.json`                                                    |\n| `--add-dir <directories...>`                         | Additional directories to allow tool access to.                                                                                                              | `claude --add-dir ../apps ../lib`                                                      |\n| `--ide`                                              | Automatically connect to an IDE on startup if exactly one valid IDE is available.                                                                            | `claude --ide`                                                                         |\n| `-c, --continue`                                     | Continue the most recent conversation in the current directory.                                                                                              | `claude --continue`                                                                    |\n| `-r, --resume [sessionId]`                           | Resume a conversation; provide a session ID or interactively select one.                                                                                     | `claude -r \"abc123\"`                                                                   |\n| `--session-id <uuid>`                                | Use a specific session ID for the conversation (must be a valid UUID).                                                                                       | `claude --session-id 123e4567-e89b-12d3-a456-426614174000`                             |\n| `--agents <json>`                                    | Define custom subagents dynamically via JSON (see subagent docs for format).                                                                                 | `claude --agents '{\"reviewer\":{\"description\":\"Reviews code\",\"prompt\":\"...\"}}'`         |\n| `--agent <name>`                                     | Specify a specific agent for the current session.                                                                                                            | `claude --agent my-custom-agent`                                                       |\n| `--bg`                                               | Start or continue work as a background session that can be viewed from `claude agents`.                                                                      | `claude --bg \"fix failing tests\"`                                                      |\n| `--bg --exec <command>`                              | Run a shell command as an attachable background session.                                                                                                     | `claude --bg --exec \"npm test\"`                                                        |\n| `--name <label>`                                     | Name a background or remote session for easier identification.                                                                                               | `claude --bg --name nightly-check \"run checks\"`                                       |\n| `--chrome`                                           | Enable Chrome browser integration for web automation and testing.                                                                                            | `claude --chrome`                                                                      |\n| `--no-chrome`                                        | Disable Chrome browser integration for this session.                                                                                                         | `claude --no-chrome`                                                                   |\n| `--cloud [description\\|session\\|url]`               | Create or attach to a Claude Code web session on claude.ai.                                                                                                  | `claude --cloud \"Fix the login bug\"`                                                   |\n| `--remote`                                           | Deprecated alias for `--cloud`.                                                                                                                              | `claude --remote \"Fix the login bug\"`                                                  |\n| `--remote-control`, `--rc`                           | Start an interactive local session that can also be controlled from claude.ai or the Claude app.                                                            | `claude --remote-control \"My Project\"`                                                 |\n| `--teleport [session]`                               | Resume a web session in your local terminal.                                                                                                                 | `claude --teleport <session-id>`                                                       |\n| `--fork-session`                                     | When resuming, create a new session ID instead of reusing the original.                                                                                      | `claude --resume abc123 --fork-session`                                                |\n| `--json-schema <schema>`                             | Get validated JSON output matching a JSON Schema after agent completes (print mode only).                                                                    | `claude -p --json-schema '{\"type\":\"object\",...}' \"query\"`                              |\n| `--max-budget-usd <amount>`                          | Maximum dollar amount to spend on API calls before stopping (print mode only).                                                                               | `claude -p --max-budget-usd 5.00 \"query\"`                                              |\n| `--max-turns <n>`                                    | Limit the number of agentic turns (print mode only). Exits with error when limit reached.                                                                    | `claude -p --max-turns 3 \"query\"`                                                      |\n| `--betas <headers>`                                  | Beta headers to include in API requests (API key users only).                                                                                                | `claude --betas interleaved-thinking`                                                  |\n| `--tools <tools>`                                    | Restrict which built-in tools Claude can use. Use \"\" to disable all, \"default\" for all, or specific tool names.                                              | `claude --tools \"Bash,Edit,Read\"`                                                      |\n| `--system-prompt <prompt>`                           | Replace the entire system prompt with custom text (works in interactive and print modes).                                                                    | `claude --system-prompt \"You are a Python expert\"`                                     |\n| `--system-prompt-file <file>`                        | Load a system prompt from a file, replacing the default in interactive or print mode.                                                                         | `claude --system-prompt-file ./custom-prompt.txt`                                      |\n| `--append-system-prompt-file <file>`                 | Load additional system-prompt text from a file in interactive or print mode.                                                                                  | `claude --append-system-prompt-file ./extra-rules.txt`                                 |\n| `--plugin-dir <path>`                                | Load a plugin directory or `.zip` for this session only (repeatable).                                                                                         | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip`                            |\n| `--plugin-url <url>`                                 | Fetch a plugin `.zip` URL for this session only (repeatable).                                                                                                 | `claude --plugin-url https://example.com/plugin.zip`                                  |\n| `--setting-sources <sources>`                        | Comma-separated list of setting sources to load (user, project, local).                                                                                      | `claude --setting-sources user,project`                                                |\n| `--no-session-persistence`                           | Disable session persistence so sessions are not saved to disk (print mode only).                                                                             | `claude -p --no-session-persistence \"query\"`                                           |\n| `--disable-slash-commands`                           | Disable all skills and slash commands for this session.                                                                                                      | `claude --disable-slash-commands`                                                      |\n| `--dangerously-skip-permissions`                     | Skip normal permission prompts, subject to non-bypassable safety checks and managed policy.                                                                  | `claude --dangerously-skip-permissions`                                                |\n| `--safe-mode`                                        | Disable user/project customizations for configuration troubleshooting while retaining authentication, models, tools, and permissions.                       | `claude --safe-mode`                                                                  |\n| `--worktree [name]`, `-w [name]`                     | Start in `<repo>/.claude/worktrees/<name>`; omit the name to generate one.                                                                                   | `claude -w feature-auth`                                                              |\n| `--from-pr [value]`                                  | Filter/resume sessions by PR number or GitHub/GitLab/Bitbucket PR/MR URL, or open the picker.                                                                | `claude --from-pr 123`                                                                |\n| `--init`                                             | Run Setup hooks with the `init` matcher before a print-mode session.                                                                                         | `claude -p --init \"query\"`                                                            |\n| `--init-only`                                        | Run Setup hooks and exit.                                                                                                                                    | `claude --init-only`                                                                   |\n| `--maintenance`                                      | Run Setup hooks with the `maintenance` matcher before a print-mode session.                                                                                  | `claude -p --maintenance \"query\"`                                                     |\n| `-v, --version`                                      | Show the installed `claude` CLI version.                                                                                                                     | `claude --version`                                                                     |\n| `-h, --help`                                         | Display help / usage.                                                                                                                                        | `claude --help`                                                                        |\n\n> This table highlights common and recently changed options; `claude --help` and the [live CLI reference](https://code.claude.com/docs/en/cli-reference) are authoritative. `--output-format json` is useful for one-shot automation; use `stream-json` for event-level integrations.\n\nFor programmatic integrations, the former **Claude Code SDK** is now the [Claude Agent SDK](https://platform.claude.com/docs/en/agent-sdk/overview): TypeScript uses `@anthropic-ai/claude-agent-sdk`, and Python uses `claude-agent-sdk` / `claude_agent_sdk`. Use `claude -p` for headless CLI calls; `--bare` removes discovered customization and keychain/OAuth access for low-overhead API/provider automation.\n\n<h2 id=\"cheat-sheet\">CLI Quick Reference & Configuration Examples</h2>\n\n```md\n## Claude Cheat Sheet\n\n# Start and resume\n\nclaude # Start interactive REPL\nclaude \"explain this project\" # Start REPL seeded with a prompt\nclaude -p \"summarize README.md\" # Non-interactive headless print mode\ncat logs.txt | claude -p \"explain\" # Pipe input to Claude and exit\nclaude -c # Continue most recent conversation\nclaude -r \"<session-id>\" \"finish this\" # Resume by ID or name\nclaude --model sonnet # Pick the Sonnet alias for this run\nclaude --model opus # Pick the Opus alias for harder tasks\n\n# Install, update, and auth\n\nclaude update # Manually update Claude Code\nclaude doctor # Diagnose install/version & setup\nclaude install stable # Install/reinstall the native binary on the stable channel\nclaude auth login # Log in to your Anthropic account\nclaude auth status # Check authentication status\nclaude auth logout # Log out\n\n# Background and remote sessions\n\nclaude agents # Open the live session dashboard: running, blocked, completed\nclaude agents --json # Scriptable JSON list of live/background sessions\nclaude --bg \"run the integration suite and summarize failures\" # Start a background session\nclaude --bg --exec \"npm test\" # Run a shell command as an attachable background session\nclaude attach <id> # Attach to a background session\nclaude logs <id> # Print recent background-session output\nclaude stop <id> # Stop a background session\nclaude rm <id> # Remove it from agent view and delete its worktree; transcript remains resumable\nclaude remote-control # Serve local sessions to web/mobile while this process stays alive\nclaude --cloud \"Fix the bug\" # Create a web session on claude.ai\nclaude --teleport <session-id> # Copy a web session into this terminal\n\n# Config essentials\n\n/config # Interactive settings\n/config model=sonnet # Set a supported key directly\n/config theme=dark\n/config --help # Show settable keys and values\n# For shared or managed settings, edit the appropriate settings.json file.\n\n# MCP essentials\n\nclaude mcp list # List configured MCP servers\nclaude mcp get <name> # Show details for a server\nclaude mcp add <name> <command> [args...] # Add local stdio server\nclaude mcp add --transport http <name> <url> # Add remote HTTP server\nclaude mcp login <name> # Complete OAuth without opening /mcp\nclaude mcp logout <name> # Clear saved OAuth credentials\nclaude mcp reset-project-choices # Reset approvals for project .mcp.json servers\nclaude mcp serve # Run Claude Code itself as an MCP stdio server\n\n# High-value flags\n\nclaude --add-dir ../apps ../lib # Add additional working directories\nclaude --allowed-tools \"Bash(git log *)\" \"Read\" # Allow listed tools without permission prompts\nclaude --disallowed-tools \"Edit\" # Deny listed tools\nclaude -p \"query\" --output-format json # Structured one-shot output\nclaude --verbose # Verbose logging (turn-by-turn)\nclaude --dangerously-skip-permissions # Skip permission prompts (use with caution)\nclaude --permission-mode plan # Start in plan mode without source edits\nclaude --effort high # Set reasoning effort for this session\nclaude --bare -p \"query\" # Fast scripted call without discovered customization\nclaude --safe-mode # Troubleshoot with user/project customization disabled\nclaude --ax-screen-reader # Use the accessible flat-text renderer\nclaude --max-turns 3 -p \"query\" # Limit agentic turns (print mode only)\nclaude --json-schema '{\"type\":\"object\"}' -p \"query\" # Get validated JSON output\nclaude --chrome # Enable Chrome browser integration\nclaude --agent code-reviewer # Run this session with a named agent\nclaude ultrareview 123 --json # Non-interactive comprehensive review for PR/target 123\n\n# Slash shortcuts\n\nclaude --fork-session -r abc123 # Fork instead of reusing original\nclaude -w feature-auth \"implement feature\" # Start in an isolated git worktree\n/rename auth-refactor # Name current session\n/resume # Open session picker\n/export output.md # Export conversation to file\n/branch experiment-name # Branch the current conversation\n/fork \"investigate the flaky test\" # Copy conversation into a background session\n/subtask \"trace the regression\" # Fork a subagent that reports back here\n/cd ../other-project # Move the current session without losing its cache\n/review high --fix # Run /code-review via its current alias\n/goal \"all tests pass and README is updated\" # Keep working until the completion condition is met\n/loop 30m \"check deploy health and summarize anomalies\" # Schedule recurring work\n/workflows # View dynamic workflows and background orchestration\n\n# Settings precedence: managed policy > CLI/--settings > local > project > user.\n```\n\n---\n\n<h1 id=\"interface--input\">Interface & Input</h1>\n\n<h2 id=\"keyboard-shortcuts\">Keyboard Shortcuts</h2>\n\n| Shortcut                     | Description                        | Context                                  |\n| :--------------------------- | :--------------------------------- | :--------------------------------------- |\n| `Ctrl+C`                     | Cancel current input or generation | Standard interrupt                       |\n| `Ctrl+D`                     | Exit Claude Code session           | EOF signal                               |\n| `Ctrl+G`                     | Open in default text editor        | Edit your prompt or custom response      |\n| `Ctrl+L`                     | Redraw the terminal                | Press twice in fullscreen mode to run `/clear` |\n| `Ctrl+O`                     | Toggle transcript viewer           | Shows detailed tool usage, timestamps, and model |\n| `Ctrl+R`                     | Reverse search command history     | Search through previous commands         |\n| `Ctrl+V`/`Cmd+V`; `Alt+V` on Windows/WSL | Paste image from clipboard | Inserts an image chip at the cursor |\n| `Ctrl+B`                     | Background running tasks           | Backgrounds bash commands and agents     |\n| `Ctrl+X`, then `Ctrl+K`      | Stop all background agents         | Two-key confirmation sequence            |\n| `Ctrl+T`                     | Toggle task checklist              | `/tasks` remains the background-work view |\n| `Ctrl+S`                     | Stash or restore the current prompt | Preserves text, cursor, and pasted content |\n| `Up/Down arrows`             | Navigate command history           | Recall previous inputs                   |\n| `Left/Right arrows`          | Cycle through dialog tabs          | Navigate between tabs in dialogs         |\n| `Esc` + `Esc`                | Rewind the code/conversation       | Restore to a previous point              |\n| `Shift+Tab` or `Alt+M`       | Cycle enabled permission modes     | Includes Manual, Accept Edits, Plan, and enabled Auto/Bypass modes |\n| `Option+P` (macOS) / `Alt+P` | Switch model                       | Switch models without clearing prompt    |\n| `Option+T` (macOS) / `Alt+T` | Toggle extended thinking           | Enable/disable extended thinking mode    |\n| `Option+O` (macOS) / `Alt+O` | Toggle fast mode                   | Enable/disable supported fast mode       |\n\n<h3 id=\"text-editing\">Text Editing</h3>\n\n| Shortcut               | Description                  | Context                               |\n| :--------------------- | :--------------------------- | :------------------------------------ |\n| `Ctrl+K`               | Delete to end of line        | Stores deleted text for pasting       |\n| `Ctrl+U`               | Delete entire line           | Stores deleted text for pasting       |\n| `Ctrl+Y`               | Paste deleted text           | Paste text deleted with Ctrl+K/U      |\n| `Alt+Y` (after Ctrl+Y) | Cycle paste history          | Cycle through previously deleted text |\n| `Alt+B`                | Move cursor back one word    | Requires Option as Meta on macOS      |\n| `Alt+F`                | Move cursor forward one word | Requires Option as Meta on macOS      |\n\n<h3 id=\"multiline-input\">Multiline Input</h3>\n\n| Method           | Shortcut       | Context                           |\n| :--------------- | :------------- | :-------------------------------- |\n| Quick escape     | `\\` + `Enter`  | Works in all terminals            |\n| macOS default    | `Option+Enter` | Default on macOS                  |\n| Shift+Enter      | `Shift+Enter`  | Native in most modern terminals; use `/terminal-setup` where needed |\n| Control sequence | `Ctrl+J`       | Line feed character for multiline |\n| Paste mode       | Paste directly | For code blocks, logs             |\n\n<h3 id=\"quick-commands\">Quick Commands</h3>\n\n| Shortcut     | Description       | Notes                                 |\n| :----------- | :---------------- | :------------------------------------ |\n| `/` at start | Command or skill  | See built-in commands and skills      |\n| `!` at start | Bash mode         | Run commands directly, add to context |\n| `@`          | File path mention | Trigger file path autocomplete        |\n\n> [!Tip]\n> **PDF Page Ranges:** Use the `pages` parameter with the Read tool for PDFs (e.g., `pages: \"1-5\"`). Large PDFs (>10 pages) return a lightweight reference when @-mentioned instead of being inlined.\n\n<h2 id=\"vim-mode\">Vim Mode</h2>\n\n> [!Note]\n> Enable vim-style editing from `/config` -> Editor mode.\n\n<h3 id=\"vim-mode-switching\">Vim Mode Switching</h3>\n\n| Command | Action                      | From mode |\n| :------ | :-------------------------- | :-------- |\n| `Esc`   | Enter NORMAL mode           | INSERT    |\n| `i`     | Insert before cursor        | NORMAL    |\n| `I`     | Insert at beginning of line | NORMAL    |\n| `a`     | Insert after cursor         | NORMAL    |\n| `A`     | Insert at end of line       | NORMAL    |\n| `o`     | Open line below             | NORMAL    |\n| `O`     | Open line above             | NORMAL    |\n\n<h3 id=\"vim-navigation\">Vim Navigation</h3>\n\n| Command         | Action                    |\n| :-------------- | :------------------------ |\n| `h`/`j`/`k`/`l` | Move left/down/up/right   |\n| `w`             | Next word                 |\n| `e`             | End of word               |\n| `b`             | Previous word             |\n| `0`             | Beginning of line         |\n| `$`             | End of line               |\n| `^`             | First non-blank character |\n| `gg`            | Beginning of input        |\n| `G`             | End of input              |\n\n<h3 id=\"vim-editing\">Vim Editing</h3>\n\n| Command        | Action                  |\n| :------------- | :---------------------- |\n| `x`            | Delete character        |\n| `dd`           | Delete line             |\n| `D`            | Delete to end of line   |\n| `dw`/`de`/`db` | Delete word/to end/back |\n| `cc`           | Change line             |\n| `C`            | Change to end of line   |\n| `cw`/`ce`/`cb` | Change word/to end/back |\n| `.`            | Repeat last change      |\n\n> [!Tip]\n> Configure your preferred line break behavior in terminal settings. Run `/terminal-setup` to install Shift+Enter binding for iTerm2, VS Code, Kitty, Alacritty, Zed, Warp, and WezTerm.\n\n<h2 id=\"command-history\">Command History</h2>\n\n> Claude Code maintains command history for the current session:\n\n```\n* History is stored per working directory\n* Cleared with `/clear` command\n* Use Up/Down arrows to navigate (see keyboard shortcuts above)\n* **Ctrl+R**: Reverse search through history (if supported by terminal)\n* **Note**: History expansion (`!`) is disabled by default\n```\n\n---\n\n<h1 id=\"advanced-features\">Advanced Features</h1>\n\n<h2 id=\"thinking-keywords\">Thinking Keywords</h2>\n\n> [!Note]\n> **`ultrathink` is the only documented prompt keyword for a one-turn request for deeper reasoning.** Phrases such as `think`, `think hard`, and `think harder` are ordinary prompt text; they are not graduated Claude Code controls.\n\nUse `/effort` for an explicit session setting. `ultrathink` adds an in-context instruction for that turn without changing the effort value sent to the API.\n\n```md\nUltrathink. Propose a step-by-step strategy to fix flaky payment tests and add guardrails.\n```\n\n<h2 id=\"effort-levels\">Effort Levels</h2>\n\nUse `/effort` to tune how much reasoning the selected model applies before answering. Higher effort levels are best for planning-heavy work, deep reviews, and long-context tasks.\n\n```bash\n/effort            # Open the effort picker\n/effort low        # Faster, lighter reasoning\n/effort medium     # Balanced default for many tasks\n/effort high       # Deeper planning and review\n/effort xhigh      # Strong default for difficult coding and agentic work where supported\n/effort max        # Session-only maximum; test for diminishing returns\n/effort ultracode  # Session-only xhigh plus dynamic workflow orchestration, where available\n/effort auto       # Return to the selected model's default\n```\n\nAvailable levels depend on the model. The saved `effortLevel` setting accepts `low` through `xhigh`; `max` normally applies only to the current session, although `CLAUDE_CODE_EFFORT_LEVEL=max` can force it for sessions launched with that environment variable. `ultracode` is a separate session-only mode that combines `xhigh` with standing dynamic-workflow orchestration, so it requires workflows and an xhigh-capable model. Prefer the lowest effort that reliably solves the task because higher effort increases latency and token use.\n\n<h2 id=\"advisor-tool\">Advisor Tool (Experimental)</h2>\n\nThe advisor pairs the main model with a second, at-least-as-capable model that Claude may consult at important planning, debugging, or completion decisions. Each consultation sends the full conversation, including tool calls and results; it counts toward subscription usage or is billed at the advisor model's API rates.\n\n```bash\n/advisor             # Open the picker and save the user default\n/advisor opus        # Save Opus as the advisor\n/advisor off         # Clear the saved advisorModel setting\nclaude --advisor opus # Use Opus for this session without changing the saved default\n```\n\nThe feature runs only through the first-party Anthropic API, for subscription or API-billed accounts; it is unavailable on Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, and Microsoft Foundry. Claude decides when to consult it. `advisorModel` is the persistent settings key, while the intentionally hidden `--advisor` launch flag is session-only. Fable 5 is not currently selectable as an advisor. See the [advisor guide](https://code.claude.com/docs/en/advisor) for supported main/advisor pairings.\n\n<h2 id=\"fast-mode\">Fast Mode</h2>\n\n> [!Note]\n> **Fast mode is a research preview that runs the same Opus model and capabilities up to 2.5× faster at a higher price per token. It does not trade model quality for speed.**\n\n```bash\n/fast          # Toggle in the CLI\n# Option+O on macOS or Alt+O on Windows/Linux also toggles it\n```\n\nFast mode currently supports **Opus 5 and Opus 4.8**. It is unavailable for Sonnet, Haiku, Opus 4.7, third-party providers, and the VS Code extension. Subscription users need usage credits; Team and Enterprise also require Owner enablement. Use it for latency-sensitive interactive work, and standard mode for cost-sensitive or long autonomous tasks. Lower `/effort` is the separate control that may trade reasoning depth for speed.\n\n<h2 id=\"auto-mode\">Auto Mode</h2>\n\nAuto mode lets Claude evaluate and approve lower-risk actions automatically while still blocking or asking on higher-risk operations. It is useful for trusted development loops where repeated permission prompts slow down work.\n\n```bash\n# Start in auto mode, or cycle to it with Shift+Tab\nclaude --permission-mode auto\n\n# Inspect the built-in and effective classifier configuration\nclaude auto-mode defaults\nclaude auto-mode config\n\n# Remove a cached/custom classifier config and return to defaults\nclaude auto-mode reset       # Add --yes to skip confirmation\n```\n\n```json\n{\n  \"autoMode\": {\n    \"allow\": [\"$defaults\"],\n    \"soft_deny\": [\"$defaults\"],\n    \"hard_deny\": []\n  }\n}\n```\n\nKey points:\n\n- Auto mode is available by default on every supported provider; `CLAUDE_CODE_ENABLE_AUTO_MODE` is now a no-op compatibility variable.\n- The classifier trusts the working directory and current repository remotes by default. Add organization infrastructure under `autoMode.environment` only when needed.\n- Put `autoMode` in user settings, managed settings, or `--settings`. Repository `.claude/settings.json` and `.claude/settings.local.json` cannot inject classifier",
  "bytes": 60000,
  "sha": "42e28ab3c65810cb13a44d7d98e51b3d589bda45a5905e11a22044c19e20a5ba",
  "repo_slug": "zebbern/claude-code-guide",
  "fonte": "repo",
  "truncated": false,
  "api": "https://api.agentalog.com/api/listings/skl_zebbern_claude_code_guide_secure_code_re_fbea6d2f/readme"
}