CLI и флаги
Справочник по CLI
Обзор
Claude Code CLI (интерфейс командной строки) - это основной способ взаимодействия с Claude Code. Он предоставляет широкие возможности для выполнения запросов, управления сессиями, настройки моделей и встраивания Claude в процессы разработки.
Архитектура
graph TD A["User Terminal"] -->|"claude [options] [query]"| B["Claude Code CLI"] B -->|Interactive| C["REPL Mode"] B -->|"--print"| D["Print Mode (SDK)"] B -->|"--resume"| E["Session Resume"] C -->|Conversation| F["Claude API"] D -->|Single Query| F E -->|Load Context| F F -->|Response| G["Output"] G -->|text/json/stream-json| H["Terminal/Pipe"]Среда выполнения и упаковка
Начиная с v2.1.113, Claude Code CLI запускается как нативный бинарный файл для конкретной платформы (macOS, Linux, Windows) через опциональные npm-зависимости. Нужный бинарник подбирается под вашу ОС и архитектуру на этапе установки - прежняя упакованная JavaScript-среда выполнения больше не используется по умолчанию на macOS и Linux.
Со стороны пользователя способ установки не изменился: npm install -g @anthropic-ai/claude-code по-прежнему работает и остаётся рекомендуемым способом. Под капотом npm скачивает подходящий нативный бинарник для вашей платформы.
Хост для загрузки (v2.1.116+): артефакты нативных бинарников раздаются с https://downloads.claude.ai/claude-code-releases.
Корпоративным пользователям и тем, кто работает через прокси: если ваша сеть требует явного allowlist, добавьте
downloads.claude.ai(иhttps://downloads.claude.ai/claude-code-releases) в правила исходящего трафика прокси. Окружения, в которых ранее в allowlist были толькоstorage.googleapis.comили npm registry, потребуется обновить - иначеclaude updateи первичная установка будут завершаться с ошибкой.
Старый JavaScript-бандл по-прежнему собирается для Windows и для окружений, которые к нему привязаны; в таких сборках Glob и Grep поставляются как полноценные инструменты (см. сноску про Glob/Grep в разделе Инструменты).
Команды CLI
| Command | Description | Example |
|---|---|---|
claude | Start interactive REPL | claude |
claude "query" | Start REPL with initial prompt | claude "explain this project" |
claude -p "query" | Print mode - query then exit | claude -p "explain this function" |
cat file | claude -p "query" | Process piped content | cat logs.txt | claude -p "explain" |
claude -c | Continue most recent conversation | claude -c |
claude -c -p "query" | Continue in print mode | claude -c -p "check for type errors" |
claude -r "<session>" "query" | Resume session by ID or name | claude -r "auth-refactor" "finish this PR" |
claude update | Update to latest version | claude update |
/doctor (slash command) | Diagnose installation, config, and plugin health. Since v2.1.116 it can be opened while Claude is responding, shows status icons inline, and accepts the f keypress to auto-fix detected issues. v2.1.178 refreshed the layout to a flat tree with clearer status icons and highlighted commands | run /doctor inside the REPL |
claude mcp | Configure MCP servers (incl. login/logout for auth, v2.1.186+) | See MCP documentation |
claude mcp serve | Run Claude Code as an MCP server | claude mcp serve |
claude agents | Open the Agent View (Research Preview, v2.1.139+) - multi-session manager listing every Claude Code session with its status. See Agent View below. | claude agents |
claude auto-mode defaults | Print auto mode default rules as JSON | claude auto-mode defaults |
claude auto-mode reset | Restore default auto-mode configuration, with a confirmation prompt (--yes to skip) (v2.1.212) | claude auto-mode reset --yes |
claude --remote-control [name] | Start Remote Control (a flag, not a subcommand; alias --rc) | claude --rc |
claude plugin | Manage plugins (install, enable, disable) | claude plugin install my-plugin |
claude plugin init <name> | Scaffold a new plugin at ~/.claude/skills/<name>/ (user-global) - auto-loads in the next session as <name>@skills-dir, no marketplace required (v2.1.157+) | claude plugin init my-plugin |
claude plugin tag [path] | Create a {name}--v{version} release git tag for the plugin at [path], validating that plugin.json and any enclosing marketplace entry agree (v2.1.118+) | claude plugin tag ./my-plugin |
claude install [version] | Install a specific native-binary version. Accepts stable, latest, or an explicit version string | claude install 2.1.131 |
claude project purge [path] | Delete all local Claude Code state for a project (transcripts, tasks, debug logs, file-edit history, prompt history, and ~/.claude.json entry). Omit [path] for an interactive picker. Flags: --dry-run to preview, -y/--yes to skip confirmation, -i/--interactive to confirm each item, --all for every project (v2.1.126+) | claude project purge ~/work/repo --dry-run |
claude plugin prune | Remove orphaned auto-installed plugin dependencies (parent plugin gone). plugin uninstall --prune does the same cascade after uninstalling a target (v2.1.121+) | claude plugin prune |
claude ultrareview [target] | Run /ultrareview non-interactively. Prints findings to stdout, exits 0 on success / 1 on failure. Use --json for raw payload, --timeout <minutes> to override the 30-minute default, and --post / --no-post to control whether findings are posted back to the PR. Requires Claude Code v2.1.227 or later | claude ultrareview 1234 --json --no-post |
claude self-hosted-runner <setup|doctor|orchestrator> | Turn your own machine or container into a place Claude Code web, mobile, and desktop sessions can run. setup provisions the runner, doctor diagnoses it, orchestrator runs the coordinating process. Team and Enterprise plans; requires Claude Code v2.1.224 or later. On Windows, startup requires an explicit --base-dir (v2.1.229) | claude self-hosted-runner setup |
claude auth login | Log in (supports --email, --sso). Since v2.1.126, accepts the OAuth code pasted into the terminal as a fallback when the browser callback can't reach localhost (WSL2, SSH, containers) | claude auth login --email user@example.com |
claude auth logout | Log out of current account | claude auth logout |
claude auth status | Check auth status (exit 0 if logged in, 1 if not) | claude auth status |
Основные флаги
| Flag | Description | Example |
|---|---|---|
-p, --print | Print response without interactive mode | claude -p "query" |
-c, --continue | Load most recent conversation | claude --continue |
-r, --resume | Resume specific session by ID or name | claude --resume auth-refactor |
-v, --version | Output version number | claude -v |
-w, --worktree | Start in isolated git worktree. Accepts a GitLab merge-request URL as well as a GitHub PR URL since v2.1.233 | claude -w |
-n, --name | Session display name | claude -n "auth-refactor" |
--from-pr <url-or-number> | Resume sessions linked to a pull/merge request. Accepts GitHub (cloud + Enterprise), GitLab MR, and Bitbucket PR URLs since v2.1.119; previously GitHub.com only | claude --from-pr 42 or claude --from-pr https://gitlab.example.com/org/repo/-/merge_requests/17 |
--cloud [description|session_id|url] | Create a cloud session on claude.ai with the given description, or attach to an existing one by session ID or claude.ai/code URL | claude --cloud "implement API" |
--remote "task" | Deprecated alias for --cloud, including the existing-session form. Use --cloud instead | claude --remote "implement API" |
--remote-control, --rc | Interactive session with Remote Control | claude --rc |
--teleport [session] | Resume a web session locally. Bare form opens a picker of your web sessions; pass a session ID to resume that session directly. Requires a claude.ai subscription | claude --teleport |
--teammate-mode | Agent team display mode | claude --teammate-mode tmux |
--bare | Minimal mode (skip hooks, skills, plugins, MCP, auto memory, CLAUDE.md) | claude --bare |
--safe-mode | Start with all customizations disabled (CLAUDE.md, plugins, skills, hooks, MCP) to isolate config problems; also CLAUDE_CODE_SAFE_MODE=1 (v2.1.169) | claude --safe-mode |
--restricted | Lock the session down for untrusted or shared use: removes the built-in command- and code-running tools and WebFetch, ignores user/project/local settings, confines file tools to the working directories, and refuses bypassPermissions and cloud sessions. Also CLAUDE_CODE_RESTRICTED=1 (v2.1.248+) | claude --restricted -p "summarize this repo" |
--permission-mode auto | Start in auto permission mode (replaces the removed --enable-auto-mode flag, gone since v2.1.111) | claude --permission-mode auto |
--channels | Subscribe to MCP channel plugins. Entries must be tagged plugin:<name>@<marketplace>; bare names are rejected | claude --channels plugin:discord@my-marketplace |
--chrome / --no-chrome | Enable/disable Chrome browser integration | claude --chrome |
--effort | Set thinking effort level | claude --effort high |
--init / --init-only | Run initialization hooks | claude --init |
--maintenance | Run maintenance hooks and exit | claude --maintenance |
--disable-slash-commands | Disable all skills and slash commands | claude --disable-slash-commands |
--no-session-persistence | Disable session saving (print mode) | claude -p --no-session-persistence "query" |
--exclude-dynamic-system-prompt-sections | Exclude dynamic sections from the system prompt for better prompt cache hit rates | claude -p --exclude-dynamic-system-prompt-sections "query" |
Ограниченный режим (--restricted, v2.1.248+)
--restricted (или CLAUDE_CODE_RESTRICTED=1) предназначен для запуска claude от имени того, чей ввод вы не контролируете, - оценочного harness на общей машине, CI-задачи, запущенной внешним контрибьютором, демо-стенда. Он применяет сразу всё перечисленное ниже:
- Убирает инструменты, выполняющие команды или код - Bash, PowerShell и REPL, - а также WebFetch, если только они не указаны явно через
--tools. - Игнорирует пользовательские, проектные и локальные файлы настроек. Managed settings и файл, заданный явно через
--settings, по-прежнему учитываются, так что администратор сохраняет контроль, а закоммиченный в репозиторий.claude/settings.jsonне сможет расширить sandbox. - Ограничивает файловые инструменты рабочими директориями, так что чтение и запись не могут выйти за пределы путей, с которых вы стартовали.
- Отклоняет
bypassPermissions, каким бы способом он ни запрашивался. - Отказывается создавать cloud-сессии, чтобы ограниченный запуск не мог вынести работу за пределы машины.
Примечание:
--restricted- более жёсткое ограничение, чем--permission-mode. Этот флаг полностью отключает инструменты, а не запрашивает разрешение на их использование, поэтому расширить права ограниченной сессии изнутри неё самой невозможно.
Интерактивный режим против режима print
graph LR A["claude"] -->|Default| B["Interactive REPL"] A -->|"-p flag"| C["Print Mode"] B -->|Features| D["Multi-turn conversation<br>Tab completion<br>History<br>Slash commands"] C -->|Features| E["Single query<br>Scriptable<br>Pipeable<br>JSON output"]Интерактивный режим (по умолчанию):
Режим вывода (неинтерактивный):
Модель и конфигурация
| Flag | Description | Example |
|---|---|---|
--model | Set model (sonnet, opus, haiku, or full name) | claude --model opus |
--fallback-model | Automatic model fallback when the primary is overloaded/unavailable; configure up to three via the fallbackModel setting. Applies to interactive sessions too since v2.1.166 (previously print mode only) | claude -p --fallback-model sonnet "query" |
--agent | Specify agent for session | claude --agent my-custom-agent |
--agents | Define custom subagents via JSON | See Agents Configuration |
--effort | Set effort level (low, medium, high, xhigh, max) | claude --effort xhigh |
Примеры выбора модели
Обнаружение моделей через gateway (v2.1.129+, opt-in): если
ANTHROPIC_BASE_URLуказывает на Anthropic-совместимый gateway, установитеCLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1, чтобы список/modelзаполнялся из endpoint/v1/modelsэтого gateway. Без этой переменной окружения/modelиспользует встроенный статический список. Флаг сделан opt-in (изменено в v2.1.129), поскольку discovery-запрос может вернуть модели, к которым у пользователя нет доступа; в v2.1.126 поведение было неявным (включено по умолчанию), но затем откачено.
Модель по умолчанию для организации (v2.1.196): когда администратор организации задаёт модель по умолчанию,
/modelпомечает её как «Org default» (или «Role default»).
Настройка System Prompt
| Flag | Description | Example |
|---|---|---|
--system-prompt | Replace entire default prompt | claude --system-prompt "You are a Python expert" |
--system-prompt-file | Load prompt from file (print mode) | claude -p --system-prompt-file ./prompt.txt "query" |
--append-system-prompt | Append to default prompt | claude --append-system-prompt "Always use TypeScript" |
--append-subagent-system-prompt | Append text to every subagent's system prompt (non-interactive) | claude -p --append-subagent-system-prompt "Cite sources" "query" |
--append-subagent-system-prompt-file | (v2.1.261) Load that appended text from a file instead, for prompts too long to pass on the command line. Non-interactive only, and cannot be combined with --append-subagent-system-prompt | claude -p --append-subagent-system-prompt-file ./subagent-rules.txt "query" |
Примеры системных промптов
Сравнение флагов системного промпта
| Flag | Behavior | Interactive | |
|---|---|---|---|
--system-prompt | Replaces entire default system prompt | ✅ | ✅ |
--system-prompt-file | Replaces with prompt from file | ❌ | ✅ |
--append-system-prompt | Appends to default system prompt | ✅ | ✅ |
Используйте --system-prompt-file только в режиме print. Для интерактивного режима используйте --system-prompt или --append-system-prompt. |
Управление инструментами и разрешениями
| Flag | Description | Example |
|---|---|---|
--tools | Restrict available built-in tools | claude -p --tools "Bash,Edit,Read" "query" |
--allowedTools | Tools that execute without prompting | "Bash(git log:*)" "Read" |
--disallowedTools | Tools removed from context | "Bash(rm:*)" "Edit" |
--dangerously-skip-permissions | Skip all permission prompts | claude --dangerously-skip-permissions |
--permission-mode | Begin in specified permission mode | claude --permission-mode auto |
--permission-prompt-tool | MCP tool for permission handling | claude -p --permission-prompt-tool mcp_auth "query" |
--permission-prompts | (v2.1.259) Who answers permission prompts in print mode. Default host sends them to the Agent SDK host or the --permission-prompt-tool tool; pass none when nobody can answer and Claude Code denies them instead | claude -p --permission-prompts none "query" |
Обновление v2.1.111: флаг
--enable-auto-modeудалён; auto mode теперь по умолчанию входит в циклShift+Tab- используйте--permission-mode auto, чтобы сразу запуститься в этом режиме.
Примечание по Glob / Grep (v2.1.113+): в нативных сборках для macOS/Linux
GlobиGrepреализованы через встроенные бинарникиbfsиugrep, вызываемые через Bash-инструмент, а не как отдельные полноценные инструменты. В сборках для Windows и в npm-пакете (JS) они по-прежнему доступны как самостоятельные инструменты. Для списковallowedTools/disallowedToolsу сабагентов эта замена на стороне бэкенда прозрачна - в конфигурации можно продолжать указыватьGlob/Grepна любой платформе.
Автоодобрение PowerShell (v2.1.119): команды инструмента PowerShell могут автоматически одобряться в permission mode ровно так же, как команды Bash. Для ограничения разрешений PowerShell используйте тот же синтаксис matcher, что и для правил
Bash(...)- например,PowerShell(Get-ChildItem:*).
--permission-modeучитывается при возобновлении сессии (v2.1.132+):claude -p --continue --permission-mode plan(а также--resume) теперь корректно учитывает этот флаг. В более ранних версиях--permission-modeпри возобновлении сессии молча игнорировался, из-за чего сессия в plan mode, возобновлённая без повторной передачи флага, незаметно понижалась в правах - теперь это исправлено.
Ужесточение разрешений (v2.1.214): команды Docker/Podman с флагами перенаправления демона (например,
--url,--connection,--identity) теперь требуют подтверждения вместо автоматического выполнения. Командыfileс флагами-m/--magic-fileили-f/--files-fromтакже требуют подтверждения. Команды Bash длиной более 10 000 символов всегда запрашивают подтверждение - независимо от allow-правил.
Примеры разрешений
Сопоставление параметров
Tool(param:value)(v2.1.178): правила разрешений задаются в форматеTool(любое использование) илиTool(specifier). Начиная с v2.1.178, спецификатор может сопоставляться с входными параметрами инструмента, а не только с шаблонами команд или путей - через формуTool(param:value)с поддержкой wildcard. Это обобщает механизм сопоставления, который вы уже применяете для префиксов команд вBash(...)(например,Bash(npm run test *)) и glob-шаблонов путей вRead(...)(например,Read(./.env.*)), позволяя ограничивать и другие инструменты по их аргументам. Перед написанием правила сверяйтесь со справочником по разрешениям, чтобы узнать актуальные примеры для конкретного инструмента, поскольку точные имена параметров различаются от инструмента к инструменту.
Вывод и формат
| Flag | Description | Options | Example |
|---|---|---|---|
--output-format | Specify output format (print mode) | text, json, stream-json | claude -p --output-format json "query" |
--input-format | Specify input format (print mode) | text, stream-json | claude -p --input-format stream-json |
--verbose | Enable verbose logging | claude --verbose | |
--include-partial-messages | Include streaming events | Requires stream-json | claude -p --output-format stream-json --include-partial-messages "query" |
--forward-subagent-text | Forward subagent text output into the stream. As of v2.1.219, subagents spawned at depth 2 or deeper are forwarded too, keyed by their spawning Agent tool_use id (this is how you observe the nesting enabled by default via CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH) | Requires stream-json | claude -p --output-format stream-json --forward-subagent-text "query" |
--json-schema | Get validated JSON matching schema | claude -p --json-schema '{"type":"object"}' "query" | |
--max-budget-usd | Maximum spend for print mode. Since v2.1.217, hitting the cap also halts running background subagents and denies new spawns (previously background agents kept running past the cap) | claude -p --max-budget-usd 5.00 "query" |
Примеры формата вывода
Рабочая область и каталог
| Flag | Description | Example |
|---|---|---|
--add-dir | Add additional working directories | claude --add-dir ../apps ../lib |
--setting-sources | Comma-separated setting sources | claude --setting-sources user,project |
Сохранение
/config(v2.1.119): Изменения, внесённые интерактивно через команду/config, теперь записываются в~/.claude/settings.jsonи участвуют в стандартной цепочке приоритетов (policy → local → project → user). До v2.1.119 часть изменений/configдействовала только в пределах сессии. Полный порядок приоритетов см. в разделе Память и настройки. |--settings| Загрузить настройки из файла или JSON. Размер файла не должен превышать 2 MiB (v2.1.214) |claude --settings ./settings.json| |--plugin-dir| Загрузить плагины из указанной директории (можно указывать несколько раз) |claude --plugin-dir ./my-plugin|
Пример с несколькими директориями
Конфигурация MCP
| Flag | Description | Example |
|---|---|---|
--mcp-config | Load MCP servers from JSON | claude --mcp-config ./mcp.json |
--strict-mcp-config | Only use specified MCP config | claude --strict-mcp-config --mcp-config ./mcp.json |
--channels | Subscribe to MCP channel plugins. Entries must be tagged plugin:<name>@<marketplace>; bare names are rejected | claude --channels plugin:discord@my-marketplace |
Примеры MCP
Управление сессиями
| Flag | Description | Example |
|---|---|---|
--session-id | Use specific session ID (UUID) | claude --session-id "550e8400-..." |
--fork-session | Create new session when resuming | claude --resume abc123 --fork-session |
Примеры сессий
Форк сессии
Создайте ветку от существующей сессии для экспериментов:
Сценарии использования:
- Попробовать альтернативные реализации, не теряя исходную сессию
- Параллельно экспериментировать с разными подходами
- Создавать ветки на основе удачных наработок для проработки вариантов
- Проверять ломающие изменения, не затрагивая основную сессию
Исходная сессия остаётся неизменной, а форк становится новой независимой сессией.
Очистка состояния проекта (v2.1.126+)
claude project purge удаляет всё локальное состояние Claude Code по проекту - транскрипты, списки задач, отладочные логи, историю правок файлов, историю введённых промптов и запись о проекте в ~/.claude.json. Сначала запустите с --dry-run, чтобы предварительно посмотреть, что будет удалено; флаг --all проходит по всем проектам на машине.
Расширенные возможности
| Flag | Description | Example |
|---|---|---|
--chrome | Enable Chrome browser integration | claude --chrome |
--no-chrome | Disable Chrome browser integration | claude --no-chrome |
--ide | Auto-connect to IDE if available | claude --ide |
--max-turns | Limit agentic turns (non-interactive) | claude -p --max-turns 3 "query" |
--debug | Enable debug mode with filtering | claude --debug "api,mcp" |
--enable-lsp-logging | Enable verbose LSP logging | claude --enable-lsp-logging |
--betas | Beta headers for API requests | claude --betas interleaved-thinking |
--plugin-dir | Load plugins from directory (repeatable) | claude --plugin-dir ./my-plugin |
--effort | Set thinking effort level | claude --effort high |
--bare | Minimal mode (skip hooks, skills, plugins, MCP, auto memory, CLAUDE.md) | claude --bare |
--channels | Subscribe to MCP channel plugins (tagged plugin:<name>@<marketplace>) | claude --channels plugin:discord@my-marketplace |
--tmux | Create tmux session for worktree | claude --tmux |
--fork-session | Create new session ID when resuming | claude --resume abc --fork-session |
--max-budget-usd | Maximum spend (print mode); also halts background subagents when hit (v2.1.217) | claude -p --max-budget-usd 5.00 "query" |
--json-schema | Validated JSON output | claude -p --json-schema '{"type":"object"}' "q" |
--ax-screen-reader | Plain-text rendering mode for screen readers (v2.1.208) | claude --ax-screen-reader |
Примечания по платформам и темам (v2.1.112)
- Инструмент PowerShell в Windows: постепенно выкатывается отдельный инструмент PowerShell для Windows, который управляется через переменную окружения.
- Тема «Auto (match terminal)»: новая тема «Auto (match terminal)» синхронизирует светлое/тёмное оформление Claude Code с настройками вашего терминала.
- Меньше запросов разрешений: вызовы
Bashтолько для чтения и шаблоныGlobбольше не приводят к запросу разрешений.
Продвинутые примеры
Конфигурация агентов
Флаг --agents принимает JSON-объект, описывающий пользовательских субагентов для сессии.
Начиная с версии v2.1.243, --agents больше не игнорирует молча некорректный JSON или некорректное определение агента - он завершается с понятной ошибкой, аналогично тому, как это уже работало для --mcp-config.
Формат JSON для агентов
Обязательные поля:
description- описание на естественном языке, указывающее, когда следует использовать этого агентаprompt- системный промпт, задающий роль и поведение агента
Необязательные поля:
tools- массив доступных инструментов (при отсутствии наследуются все)- Формат:
["Read", "Grep", "Glob", "Bash"]
- Формат:
model- используемая модель:sonnet,opusилиhaiku
Полный пример Agents
Примеры команд Agents
Приоритет агентов
Если существует несколько определений одного агента, они загружаются в следующем порядке приоритета:
- Заданные через CLI (флаг
--agents) - только для текущей сессии - Уровень проекта (
.claude/agents/) - текущий проект - Уровень пользователя (
~/.claude/agents/) - все проекты
Агенты, заданные через CLI, в рамках сессии переопределяют как проектных, так и пользовательских агентов. Агенты уровня проекта переопределяют агентов уровня пользователя при совпадении имён. Полную таблицу приоритетов, включая агентов уровня plugin, см. в Уроке 04 - Subagents.
Agent View (claude agents, v2.1.139+)
Research Preview - функция достаточно стабильна для повседневного использования, но может измениться.
claude agents открывает Agent View - единый список всех сессий Claude Code на машине с их текущим статусом (running, blocked on you, done). Это альтернатива жонглированию вкладками терминала, когда вы запускаете фоновых агентов, задачи по расписанию или сессии, запущенные через --bg.
При запуске сессии из представления (или через claude --bg <prompt>) можно передавать те же конфигурационные флаги, что и самому claude. Флаги, добавленные для механизма запуска через Agent View:
| Flag | Since | Description |
|---|---|---|
--cwd <path> | v2.1.141 | Scope the session list (or new session) to a specific working directory |
--add-dir <path> | v2.1.142 | Add directories to the dispatched session's workspace |
--settings <path> | v2.1.142 | Use a specific settings.json for the dispatched session |
--mcp-config <path> | v2.1.142 | Use a specific MCP config for the dispatched session |
--plugin-dir <path> | v2.1.142 | Use a specific plugin directory for the dispatched session |
--permission-mode <mode> | v2.1.142 | Set permission mode (plan, acceptEdits, auto, etc.) for the dispatched session |
--model <model> | v2.1.142 | Pin a model for the dispatched session |
--effort <level> | v2.1.142 | Pin an effort level (low/medium/high/xhigh/max) |
--dangerously-skip-permissions | v2.1.142 | Run the dispatched session without permission prompts (use only in sandboxes) |
--json | v2.1.145 | Print the agent list as machine-readable JSON for scripting (status bars, session pickers, tmux-resurrect integrations) |
Сессии, которые завершили работу, но оставили открытым фоновый shell, теперь переходят из «Working» в «Completed» (исправление в v2.1.141). Внутри подключённой сессии агента Shift+Tab циклически переключает режимы разрешений, включая auto mode (v2.1.143). |
GitLab merge requests (v2.1.233) - Agent View распознаёт URL merge request'ов GitLab наряду с URL pull request'ов GitHub и отображает merge requests как !N (GitHub pull requests по-прежнему как #N). В том же релизе --worktree научился принимать URL GitLab MR.
Закрепление сессии - нажмите Ctrl+T на сессии в claude agents, чтобы закрепить её (v2.1.147). Закреплённые фоновые сессии не завершаются при простое, перезапускаются на месте для применения обновлений Claude Code, а при нехватке памяти выгружаются в последнюю очередь - только после незакреплённых. (Это сочетание Ctrl+T действует только в Agent View; в основной сессии оно переключает отображение списка задач.)
Наиболее ценные сценарии использования
1. Интеграция с CI/CD
Используйте Claude Code в своих CI/CD-пайплайнах для автоматизированного code review, тестирования и генерации документации.
Пример для GitHub Actions:
Jenkins Pipeline:
Headless-режим ultrareview (требуется v2.1.227+):
claude ultrareview завершается с кодом 0, если review не выявил проблем, и с кодом 1, если найдены замечания, - так что его удобно использовать как готовый PR-гейт. Флаг --timeout <minutes> переопределяет значение по умолчанию (30 минут). --post публикует итоговые замечания в pull request, а --no-post оставляет их только в stdout - это как раз то, что нужно, когда последующий шаг CI сам форматирует отчёт.
2. Передача данных через pipe
Пропускайте файлы, логи и данные через Claude для анализа.
Анализ логов:
Обработка кода:
3. Многосессионные рабочие процессы
Управляйте сложными проектами с несколькими параллельными ветками диалогов.
4. Настройка пользовательских агентов
Определяйте специализированных агентов под рабочие процессы вашей команды.
5. Пакетная обработка
Обработка нескольких запросов с едиными настройками.
6. Разработка с учётом безопасности
Используйте контроль разрешений для безопасной работы.
7. Интеграция через JSON API
Используйте Claude как программируемый API для ваших инструментов, разбирая ответы с помощью jq.
Примеры парсинга с помощью jq
Разбор и обработка JSON-вывода Claude с помощью jq:
Текущая дата: воскресенье, 6 сентября 2026
<query>Модели
Claude Code поддерживает несколько моделей с разными возможностями:
</query> | Model | ID | Context Window | Notes | |-------|-----|----------------|-------| | Sonnet 5 | `claude-sonnet-5` | 1M tokens | Default on Pro / Team Standard / Enterprise seats (v2.1.197); native 1M-token context window. As of v2.1.219, **Opus 5** is the default Opus model on Max, Team Premium, Enterprise pay-as-you-go, and the Anthropic API; Microsoft Foundry still resolves the `opus` alias to Opus 4.6 | | Opus 5 | `claude-opus-5` | 1M tokens | Default Opus model on Max, Team Premium, Enterprise pay-as-you-go, Anthropic API, Claude Platform on AWS, Amazon Bedrock, and Google Cloud's Agent Platform (v2.1.219); adaptive effort levels `low → max`, default effort `high` | | Opus 4.8 | `claude-opus-4-8` | 1M tokens | Previous flagship Opus, still selectable; adaptive effort levels `low → max`; default effort `high` (v2.1.154) | | Sonnet 4.6 | `claude-sonnet-4-6` | 1M tokens | Balanced speed and capability; default effort for Pro/Max subscribers raised from `medium` to `high` in v2.1.117 | | Haiku 4.5 | `claude-haiku-4-5` | 200K tokens | Fastest, best for quick tasks; no effort levels | | Fable 5.1 | `claude-fable-5-1` | - | Current Fable model; the `fable` alias resolves to it (v2.1.257) | | Fable 5 | `claude-fable-5` | - | Mythos-class model, made safe for general use (v2.1.170) | ### Выбор модели ```bash # Use short names claude --model opus "complex architectural review" claude --model sonnet "implement this feature" claude --model haiku -p "format this JSON"Use opusplan alias (Opus plans, Sonnet executes)
claude --model opusplan "design and implement the API"
Toggle fast mode during session
/fast
Ключевое слово ultrathink в промптах активирует глубокие рассуждения. Меню /effort также предлагает ultracode - это не уровень effort модели: команда отправляет xhigh и поручает Claude оркестрировать динамические workflow (действует только в рамках текущей сессии).
Ключевые переменные окружения
| Variable | Description |
|---|---|
ANTHROPIC_API_KEY | API key for authentication |
ANTHROPIC_MODEL | Override default model |
ANTHROPIC_DEFAULT_MODEL | (v2.1.236) Sets the model new sessions start on. Unlike ANTHROPIC_MODEL, which pins the model, a /model pick still overrides this value and persists across restarts - that contrast is the point of the variable. |
ANTHROPIC_CUSTOM_MODEL_OPTION | Custom model option for API |
ANTHROPIC_DEFAULT_OPUS_MODEL | Override default Opus model ID |
ANTHROPIC_DEFAULT_SONNET_MODEL | Override default Sonnet model ID |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Override default Haiku model ID |
MAX_THINKING_TOKENS | Set extended thinking token budget |
CLAUDE_CODE_EFFORT_LEVEL | Set effort level (low/medium/high/xhigh/max) - default is high on Opus 5, Sonnet 5, and Opus 4.8 (xhigh on Opus 4.7); xhigh needs Opus 5, Sonnet 5, or Opus 4.8/4.7; max works on Opus 5, Sonnet 5, Opus 4.8/4.7/4.6 and Sonnet 4.6 |
CLAUDE_CODE_SIMPLE | Minimal mode, set by --bare flag |
CLAUDE_CODE_SAFE_MODE | Set to 1 to start with all customizations disabled (CLAUDE.md, plugins, skills, hooks, MCP) - env-var form of --safe-mode, for isolating config problems (v2.1.169) |
CLAUDE_CODE_DISABLE_BUNDLED_SKILLS | Set to 1 to hide the bundled skills, workflows, and commands from the model (v2.1.169) |
CLAUDE_CODE_DISABLE_AUTO_MEMORY | Disable automatic CLAUDE.md updates |
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS | Disable background task execution |
CLAUDE_CODE_DISABLE_CRON | Disable scheduled/cron tasks |
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS | Disable git-related instructions |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE | Disable terminal title updates |
CLAUDE_CODE_DISABLE_1M_CONTEXT | Disable 1M token context window |
CLAUDE_CODE_DISABLE_MOUSE_CLICKS | Disable mouse click/drag/hover in fullscreen mode; wheel scroll still works (v2.1.195+) |
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK | Disable non-streaming fallback |
CLAUDE_CODE_ENABLE_TASKS | Enable task list feature |
CLAUDE_CODE_TASK_LIST_ID | Named task directory shared across sessions |
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION | Toggle prompt suggestions (true/false) |
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS | Enable experimental agent teams |
CLAUDE_CODE_NEW_INIT | Use new initialization flow |
CLAUDE_CODE_SUBAGENT_MODEL | Model for subagent execution |
CLAUDE_CODE_PLUGIN_SEED_DIR | Directory for plugin seed files |
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB | Env vars to scrub from subprocesses |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE | Override auto-compaction percentage |
CLAUDE_STREAM_IDLE_TIMEOUT_MS | Stream idle timeout in milliseconds |
SLASH_COMMAND_TOOL_CHAR_BUDGET | Character budget for slash command tools |
ENABLE_TOOL_SEARCH | Enable tool search capability |
MAX_MCP_OUTPUT_TOKENS | Maximum tokens for MCP tool output |
CLAUDE_CODE_PERFORCE_MODE | Set to 1 to enable Perforce mode - treats files as read-only by default (for Perforce/P4 version control workflows) (added v2.1.98) |
DISABLE_UPDATES | Blocks all update paths including manual claude update. Stricter than DISABLE_AUTOUPDATER, which only blocks the background autoupdater (v2.1.118+) |
CLAUDE_CODE_HIDE_CWD | When set to 1, hides the current working directory in the startup logo (privacy / screen-share use) (v2.1.119+) |
CLAUDE_CODE_FORK_SUBAGENT | Set to 1 to turn fork mode on where it is off by default: non-interactive mode (claude -p), the Agent SDK, or Claude Code older than v2.1.232. Since v2.1.232 fork mode is on by default in interactive sessions on every build, first-party or not (GA v2.1.117) |
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN | Set to 1 to opt out of the fullscreen alternate-screen renderer; the session stays in normal terminal scrollback. Useful when piping transcripts to logs or pairing with script(1) (v2.1.132+). |
CLAUDE_CODE_SESSION_ID | Set in every Bash tool subprocess launched by Claude Code; equals the session_id in hook input JSON. Use to correlate bash logs with hook telemetry (v2.1.132+). |
CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL | Set to 1 to re-enable Anthropic's session-quality survey for organizations capturing OpenTelemetry data. Off by default in OTEL deployments (v2.1.136+). |
OTEL_LOG_TOOL_DETAILS | Set to 1 to unredact custom and MCP command names in OpenTelemetry events (v2.1.117+). Redaction remains the default. |
CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH | Configures the truncation limit (default 60 KB) applied to OpenTelemetry content attributes (v2.1.214) |
FORCE_HYPERLINK | Set to 0 to opt out of clickable PR-badge hyperlinks in the footer, which now render even when terminal support can't be auto-detected (v2.1.217) |
ANTHROPIC_BEDROCK_SERVICE_TIER | Selects the Bedrock service tier: default, flex, or priority (v2.1.122+) |
AI_AGENT | Set automatically on subprocesses so external CLIs (e.g., gh) can attribute traffic to Claude Code (v2.1.120+) |
CLAUDE_CODE_FORCE_SYNC_OUTPUT | Set to 1 to force synchronous output for terminals where auto-detection misses (e.g., Emacs eat) (v2.1.129+) |
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE | Set to 1 to enable background upgrades for Homebrew/WinGet installs (which normally do not auto-update) (v2.1.129+) |
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY | Set to 1 to opt in to gateway /v1/models discovery when ANTHROPIC_BASE_URL is set. Without it, /model shows the built-in static list (v2.1.129+) |
CLAUDE_CODE_ENABLE_AUTO_MODE | Legacy opt-in for auto mode on Bedrock, Vertex, and Foundry (v2.1.158-v2.1.206). As of v2.1.207, auto mode is available by default on those providers for Sonnet 5, Opus 4.7/4.8, and Fable 5 (Opus 5 added in v2.1.219) - this variable is accepted for compatibility but has no effect |
CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION | Cap on WebSearch tool calls per session, to stop runaway search loops. Default 200 (v2.1.212) |
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS | Cap on subagents running concurrently. Default 20 (v2.1.217) |
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH | Controls how deep nested subagent spawns can go. Since v2.1.219 the default is 3 layers (was 1); set to 1 to disable nesting entirely |
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS | Threshold, in milliseconds, before a long-running MCP tool call auto-backgrounds. Default 120000 (2 minutes) (v2.1.212) |
CLAUDE_AX_SCREEN_READER | Set to 1 to enable plain-text screen reader rendering mode. Same effect as --ax-screen-reader or "axScreenReader": true in settings (v2.1.208) |
CLAUDE_CLIENT_PRESENCE_FILE | Point at a marker file to suppress mobile push notifications while you're at the machine (v2.1.181+). Note: the name is CLAUDE_CLIENT_PRESENCE_FILE, not CLAUDE_CODE_CLIENT_PRESENCE_FILE. |
CLAUDE_CODE_MAX_RETRIES | Maximum number of API retry attempts. Capped at 15 as of v2.1.186. |
CLAUDE_CODE_RETRY_WATCHDOG | Retry control recommended for unattended sessions, as an alternative to raising CLAUDE_CODE_MAX_RETRIES (v2.1.186+). |
CLAUDE_ENABLE_STREAM_WATCHDOG | Streaming idle watchdog (aborts/retries after 5 min with no stream events) is on by default for all providers; set to 0 to disable (v2.1.196). |
CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT | Override the 5-minute idle abort for remote MCP tool calls that hang with no response (v2.1.187+). |
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE | Removed (no-op as of v2.1.160). Previously pinned Fast Mode (/fast) to Opus 4.6. As of v2.1.219, /fast applies to Opus 5 and Opus 4.8 only - Opus 4.6 and Opus 4.7 are no longer fast-mode targets. |
CLAUDE_CODE_ENABLE_TODO_TOOLS | Set to 1 to restore the todo/task-tracking tools (TaskCreate/Get/Update/List, TodoWrite), which are unavailable on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models (v2.1.233) |
CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS | How long WebFetch caches a fetched URL. Default 15 minutes (v2.1.233) |
CLAUDE_CODE_TOOL_MEMORY_LIMIT | Linux only: opt in to a memory cgroup applied to Bash commands (v2.1.233) |
ANTHROPIC_BEDROCK_REGION_PREFIX | Prefer a specific Bedrock cross-region inference profile (v2.1.224) |
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT | Set to 1 to restore pre-v2.1.223 auto-compact behavior on unrecognized model IDs (v2.1.223) |
CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS | Set to 0 to disable prefix staggering on dynamic-workflow fan-out (v2.1.229) |
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS | Overrides the dialogExpiry setting (v2.1.224) |
CLAUDE_CODE_PROJECT_DIR_NAME | Overrides the per-project transcript directory name Claude Code derives from the project path (v2.1.234) |
Эти восемь строк взяты из changelog. На справочной странице CLI нет отдельного раздела о переменных окружения, поэтому они задокументированы по записям changelog v2.1.221-v2.1.234, а не по справочной странице.
CLAUDE_CODE_DISABLE_1M_CONTEXTрасширена в v2.1.223: теперь она ограничивает 200K токенами через auto-compaction все модели Claude с нативным окном в 1M токенов, а не только фиксированный список model ID.
ENABLE_TOOL_SEARCHна Vertex AI (v2.1.119+): tool search отключён по умолчанию в развёртываниях на Google Cloud Vertex AI. Пользователям, которым нужна функциональность tool search на Vertex, необходимо явно включить её черезexport ENABLE_TOOL_SEARCH=true. При прямом использовании Anthropic API она остаётся включённой по умолчанию.
Ключи settings.json
Эти ключи задаются в файле settings.json (~/.claude/settings.json - для пользовательской области, .claude/settings.json - для области проекта), а не передаются в виде флагов или переменных окружения. В таблице ниже перечислены несколько недавно добавленных UI/UX-ключей; про управляемый ключ enforceAvailableModels см. Advanced Features → Managed Settings.
| Key | Description |
|---|---|
respondToBashCommands | (v2.1.186) Auto-respond to the output of ! bash commands. Default true. Set false for context-only (pre-v2.1.186) behavior. See Advanced Features → Bash Mode. |
wheelScrollAccelerationEnabled | (v2.1.174) Set to false to disable mouse-wheel scroll acceleration in the fullscreen renderer. Useful when fast wheel flicks overshoot. |
footerLinksRegexes | (v2.1.176) Array of regexes that render matched links as badges in the footer row. Configurable in user or managed settings. |
language | Sets Claude's preferred response language and voice-dictation language (e.g. "french", "japanese"). As of v2.1.176 it also pins the language used for auto-generated session titles. |
sandbox.filesystem.disabled | (v2.1.216) Skips filesystem sandboxing while keeping network egress control enforced. For workflows where file sandboxing breaks tooling but network policy must stay enforced. |
emojiCompletionEnabled | (v2.1.217) Enables emoji shortcode autocomplete in the prompt input (e.g. typing :heart: inserts ❤️). Set false to disable. |
workflowSizeGuideline | (v2.1.219) Sets the advisory Dynamic workflow size guideline from any settings file. The guideline is guidance Claude aims for, not a hard cap - the default is medium (aim for fewer than 15 agents), and other sizes or unrestricted can be selected. While this key is set, the "Dynamic workflow size" row is hidden in /config. Distinct from CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS, which is an enforced concurrency limit. |
spellcheck | (v2.1.235) Underlines misspelled words in the prompt input using whichever of aspell, hunspell, or ispell is on your PATH, tried in that order. Object-valued - {"enabled": true, "language": "en_GB"} - and off by default. Read from user settings, the --settings flag, and managed settings only: a spellcheck block in a project .claude/settings.json or .claude/settings.local.json is ignored. See also Advanced Features → Additional Per-User Settings. |
modelPicker | (v2.1.243) Choose which models the /model picker lists, in your own order and with your own labels. One of the few settings that replaces rather than merges across settings layers. |
promptCacheTtl | (v2.1.243) Choose the prompt cache lifetime for the main conversation. |
subagentPromptCacheTtl | (v2.1.243) The same choice for subagents and other requests outside the main conversation. |
modelPricing | (v2.1.243) Managed setting. Supplies your organization's contracted rates so /cost, the status line, and telemetry report those instead of list price. |
keybindingFlavor | Deprecated since v2.1.261 and has no effect. The prompt's word-editing keys always follow readline conventions, as Bash does: Ctrl+W deletes back to whitespace, Alt+F and Alt+D stop at word end, and punctuation separates words. Claude Code still accepts the key, so a settings file that sets it stays valid. (In v2.1.238-v2.1.260 it chose between "classic" and "readline".) |
bashOutputMaxChars | (v2.1.261) How many characters of a successful Bash or PowerShell command's output Claude receives inline, up to 128K. Past the limit Claude Code saves the output to a file and Claude gets a short preview plus the path. Setting it makes Claude Code ignore BASH_MAX_OUTPUT_LENGTH. |
taskOutputMaxChars | (v2.1.261) How many characters of a background task's output Claude receives inline when reading it with the TaskOutput tool, up to 128K. For a longer finished task Claude receives the most recent characters. Setting it makes Claude Code ignore TASK_MAX_OUTPUT_LENGTH. |
Текущая дата: воскресенье, 6 сентября 2026 г.
<query>Краткая справка
Самые распространенные команды
</query> ```bash # Interactive session claudeQuick question
claude -p "how do I..."
Continue conversation
claude -c
Process a file
cat file.py | claude -p "review this"
JSON output for scripts
claude -p --output-format json "query"