МОДУЛЬ 09/УРОК

Продвинутые возможности

Расширенные возможности

Подробное руководство по расширенным возможностям Claude Code: режим планирования, extended thinking, режим auto, фоновые задачи, режимы разрешений, режим печати (неинтерактивный), управление сессиями, интерактивные возможности, каналы, голосовой ввод, удалённое управление, веб-сессии, десктоп-приложение, список задач, подсказки промптов, git worktrees, песочница, управляемые настройки и конфигурация.

Содержание

  1. Обзор
  2. Режим планирования
  3. Extended Thinking
  4. Режим Auto
  5. Фоновые задачи
  6. Инструмент Monitor (событийно-управляемые потоки)
  7. Динамические workflow
  8. Задачи по расписанию
  9. Режимы разрешений
  10. Headless-режим
  11. Управление сессиями
  12. Обмен сообщениями между сессиями
  13. Интерактивные возможности
  14. Стили вывода
  15. Строка состояния
  16. Режим TUI (полноэкранный)
  17. Голосовой ввод
  18. Каналы
  19. Интеграция с Chrome
  20. Удалённое управление
  21. Веб-сессии
  22. Десктоп-приложение
  23. Список задач
  24. Подсказки промптов
  25. Git Worktrees
  26. Песочница
  27. Управляемые настройки (Enterprise)
  28. Конфигурация и настройки
  29. Область доверия и разрешений
  30. Команды агентов
  31. Лучшие практики
  32. Дополнительные материалы

Обзор

Расширенные возможности Claude Code дополняют базовый функционал механизмами планирования, рассуждения, автоматизации и контроля. Они позволяют выстраивать сложные workflow для нетривиальных задач разработки, code review, автоматизации и одновременной работы с несколькими сессиями.

Ключевые расширенные возможности:

  • Режим планирования: составление детальных планов реализации перед написанием кода
  • Extended Thinking: глубокие рассуждения для сложных задач
  • Режим Auto: фоновый классификатор безопасности проверяет каждое действие перед выполнением
  • Фоновые задачи: запуск длительных операций без блокировки диалога
  • Режимы разрешений: контроль того, что может делать Claude (manual - ранее default, acceptEdits, plan, auto, dontAsk, bypassPermissions)
  • Режим печати: неинтерактивный запуск Claude Code для автоматизации и CI/CD (claude -p)
  • Управление сессиями: работа с несколькими рабочими сессиями
  • Интерактивные возможности: горячие клавиши, многострочный ввод и история команд
  • Голосовой ввод: push-to-talk с поддержкой STT для 20 языков
  • Каналы: MCP-серверы доставляют сообщения в запущенные сессии (Research Preview)
  • Удалённое управление: управление Claude Code из Claude.ai или приложения Claude
  • Веб-сессии: запуск Claude Code в браузере по адресу claude.ai/code
  • Десктоп-приложение: отдельное приложение для визуального просмотра diff и работы с несколькими сессиями
  • Список задач: постоянное отслеживание задач, сохраняющееся при уплотнении контекста
  • Подсказки промптов: контекстно-зависимые предложения команд
  • Git Worktrees: изолированные worktree-ветки для параллельной работы
  • Песочница: изоляция файловой системы и сети на уровне ОС
  • Управляемые настройки: корпоративное развёртывание через plist, реестр Windows или управляемые файлы
  • Конфигурация: настройка поведения через JSON-файлы

Режим планирования

Режим планирования позволяет Claude заранее продумать сложную задачу и составить детальный план, который вы можете просмотреть и утвердить перед реализацией.

Что такое режим планирования?

Это двухэтапный подход:

  1. Этап планирования: Claude анализирует задачу и составляет детальный план реализации
  2. Этап реализации: после утверждения Claude выполняет план

Когда использовать режим планирования

✅ Используйте режим планирования для:

  • сложного рефакторинга с изменениями в нескольких файлах;
  • реализации новой функциональности;
  • архитектурных изменений;
  • миграций баз данных;
  • крупных переработок API.

❌ Не используйте режим планирования для:

  • простых исправлений багов;
  • изменений форматирования;
  • правок в одном файле;
  • быстрых запросов.

Активация режима планирования

Slash-команда:

bash
/plan Implement user authentication system

Флаг CLI:

bash
claude --permission-mode plan

Установить по умолчанию:

json
{
  "permissions": {
    "defaultMode": "plan"
  }
}

Горячие клавиши:

  • Shift + Tab - переключение режимов доступа (включая режим планирования)
  • Alt + M - переключение режимов доступа (Windows/Linux)

Преимущества режима планирования

  • Структурированный подход к реализации: детальная разбивка на шаги реализации
  • Проверка и утверждение: возможность утвердить или скорректировать план перед выполнением
  • Выявление рисков: обнаружение потенциальных проблем до начала реализации
  • Чёткие этапы: упорядоченные фазы реализации и контрольные точки

Пример: реализация новой функции

CODE
User: /plan Add a real-time notification system

Claude: I'll create a plan for implementing real-time notifications.

## Implementation Plan

### Phase 1: Infrastructure Setup
1. Install WebSocket libraries (socket.io)
2. Set up WebSocket server
3. Configure connection management

### Phase 2: Backend Implementation
4. Create notification service
5. Implement notification queue
6. Add database schema for notifications
7. Create API endpoints

### Phase 3: Frontend Integration
8. Set up WebSocket client
9. Create notification UI components
10. Implement notification state management
11. Add notification permissions

### Phase 4: Testing & Deployment
12. Write unit tests
13. Write integration tests
14. Update documentation
15. Deploy to staging

Estimated time: 3-4 hours
Files to modify: 12
New files to create: 8

Ready to proceed? (yes/no/modify plan)

User: yes

Claude: [Begins implementation following the plan]

Изменения плана

CODE
User: Modify the plan - skip the queue for now, we'll add it later

Claude: Updated plan:
[Shows modified plan with queue removed]

User: Looks good, proceed

Claude: [Implements modified plan]

Настройка режима планирования

Режим планирования активируется CLI-флагом или slash-командой:

bash
# Activate plan mode via CLI
claude --permission-mode plan

# Or use the /plan slash command inside the REPL
/plan Implement user authentication system

Алиас модели для планирования: используйте алиас opusplan, чтобы задействовать Opus на этапе планирования и Sonnet - на этапе выполнения:

bash
claude --model opusplan "design and implement the new API"

Редактирование плана во внешнем редакторе: нажмите Ctrl+G, чтобы открыть текущий план во внешнем редакторе для детальной правки.

Обновление v2.1.112: файлы планов теперь именуются по промпту, который их породил (а не случайными словами), - так их проще просматривать и переиспользовать.

Обновление v2.1.136 - блокировка записи в plan mode стала безусловной: режим планирования теперь блокирует любую запись в файлы, в том числе при наличии подходящего правила Edit(...) в permissions.allow. Раньше разрешающее правило Edit(...) могло пропускать запись в режиме планирования; эта лазейка закрыта. Если ваш workflow полагался на прежнее поведение, выйдите из режима планирования (Shift+Tab) перед редактированием.


Extended Thinking

Extended Thinking позволяет Claude уделять больше времени рассуждениям над сложными задачами перед тем, как выдать решение.

Что такое Extended Thinking?

Extended Thinking - это целенаправленный пошаговый процесс рассуждения, в котором Claude:

  • разбивает сложные задачи на части;
  • рассматривает несколько подходов;
  • взвешивает компромиссы;
  • прорабатывает граничные случаи.

Активация Extended Thinking

Горячая клавиша:

  • Option + T (macOS) / Alt + T (Windows/Linux) - включить/выключить Extended Thinking.

Автоматическая активация:

  • Включено по умолчанию для всех моделей (Opus 5, Opus 4.8, Opus 4.7, Sonnet 4.6, Haiku 4.5).
  • Opus 5 / Opus 4.8: адаптивное рассуждение с уровнями effort: low (○), medium (◐), high (●), xhigh, max. По умолчанию используется high на Opus 5 (v2.1.219), Opus 4.8 (v2.1.154), Opus 4.6 и Sonnet 4.6, и xhigh - на Opus 4.7. xhigh доступен на Opus 5, Opus 4.8 и Opus 4.7 (на Opus 4.6 / Sonnet 4.6 откатывается до high). max работает на Opus 5, Opus 4.8/4.7/4.6 и Sonnet 4.6 (только в пределах сессии). У Haiku 4.5 уровней effort нет. Opus 5, Opus 4.8 и Opus 4.7 имеют нативное контекстное окно на 1M токенов (исправление для 1M-контекста появилось в v2.1.117 - до этого /context ошибочно считал Opus 4.7 относительно окна 200K и вызывал преждевременный autocompact). Начиная с v2.1.129 /context отображает визуализацию только в UI; ASCII-визуализация больше не утекает в контекст диалога (экономия ~1,6k токенов на вызов), так что /context можно вызывать без опаски.
  • Подписчики Pro/Max на Opus 4.6 / Sonnet 4.6: значение effort по умолчанию повышено с medium до high в v2.1.117.
  • Остальные модели: фиксированный бюджет до 31 999 токенов.

Способы настройки:

  • Переключение: Alt+T / Option+T либо через /config.
  • Просмотр рассуждений: Ctrl+O (verbose mode).
  • Установка effort: команда /effort или флаг --effort.

Пользовательский бюджет:

bash
export MAX_THINKING_TOKENS=1024

Уровень усилий (поддерживается в Opus 5, Opus 4.8, Opus 4.7, Opus 4.6 и Sonnet 4.6 - но не в Haiku 4.5):

bash
export CLAUDE_CODE_EFFORT_LEVEL=high   # low (○), medium (◐), high (●), xhigh (Opus 5/4.8/4.7), or max - default is high on Opus 5 and Opus 4.8

Флаг CLI:

bash
claude --effort high "complex architectural review"

Slash-команда:

CODE
/effort high

Примечание: ключевое слово «ultrathink» в промптах активирует режим глубокого reasoning. Уровни effort low, medium, high и max поддерживаются на Opus 5, Opus 4.8, Opus 4.7, Opus 4.6 и Sonnet 4.6 (у Haiku 4.5 их нет). xhigh доступен на Opus 5, Opus 4.8 и Opus 4.7. Effort по умолчанию - high на Opus 5, Opus 4.8 (а также Opus 4.6 / Sonnet 4.6) и xhigh на Opus 4.7. В отличие от Opus 4.8 и Opus 4.7, которые закрепляют свой effort по умолчанию при первом запуске, у Opus 5 такой фиксации нет - ранее выставленный вами уровень сохраняется. В меню /effort также есть пункт ultracode, который не является уровнем effort модели: он отправляет xhigh и поручает Claude оркестрировать динамические workflow (только в рамках текущей сессии).

Fallback классификатора безопасности на Opus 5

В дополнение к настройке fallbackModel (которая отвечает за перегрузку и недоступность), Claude Code применяет fallback по категориям, когда классификатор безопасности помечает запрос. Требуется Claude Code v2.1.219 или новее.

  • Opus 5: запросы, помеченные как cybersecurity, повторно выполняются на Opus 4.8. Запросы, помеченные как biology, вместо этого завершаются отказом, поскольку Opus 5 использует собственные biology-классификаторы без fallback-модели. Такие отказы вы получаете уже с первого помеченного запроса.
  • Задачи из области offensive security или biology - penetration testing, соревнования Capture the Flag (CTF) и кодовые базы, близкие к biology, - часто вызывают срабатывание fallback, нередко уже на первом запросе.

Почему это здесь важно: если вы запускаете security-review subagents или задачи по CTF/пентесту на Opus 5, будьте готовы к молчаливым повторным запускам на Opus 4.8 (с другим потолком effort и другим context window) для cybersecurity-промптов и к прямым отказам для запросов, близких к biology. Если такое поведение мешает, явно закрепите другую модель.

Управление переключением. Настройка switchModelsOnFlag (v2.1.170+, по умолчанию true) определяет, происходит ли fallback молча. Установите её в false - и Claude Code вместо переключения поставит запрос на паузу, дав вам выбрать между сменой модели и редактированием промпта. В /config эта опция отображается как Switch models when a message is flagged.

json
{
  "switchModelsOnFlag": false
}

Преимущества расширенного мышления

  • Глубокие рассуждения: больше времени на обдумывание сложных задач
  • Более взвешенные архитектурные решения: обоснованный выбор на основе всесторонней оценки
  • Учёт граничных случаев: проработка потенциальных проблем и сценариев
  • Тщательный анализ: структурированный подход к решению сложных задач

Пример: архитектурное решение

CODE
User: ultrathink Should we use microservices or a monolith for our e-commerce platform?

Claude: Let me think through this architectural decision carefully...

<extended_thinking>
## Context Analysis
- Team size: 5 developers
- Expected traffic: 10k daily users initially
- Need to scale to 100k+ users
- Limited DevOps resources
- 6-month timeline to MVP

## Approach 1: Microservices
Pros:
+ Independent scaling
+ Technology flexibility
+ Team independence
+ Fault isolation

Cons:
- Operational complexity
- Network overhead
- Distributed tracing needed
- Requires DevOps expertise
- Slower initial development

## Approach 2: Monolith
Pros:
+ Simpler deployment
+ Faster initial development
+ Easier debugging
+ Lower operational overhead
+ Single codebase

Cons:
- Scaling challenges later
- All-or-nothing deployments
- Technology lock-in
- Potential for tight coupling

## Decision Factors
1. Team size (5 devs) → Favors monolith
2. DevOps resources (limited) → Favors monolith
3. Timeline (6 months) → Favors monolith
4. Future scale (100k users) → Achievable with monolith + caching
5. Complexity budget → Limited

## Recommendation
Start with a **modular monolith**:
- Single deployment unit
- Clear module boundaries
- Clean interfaces between modules
- Prepare for future extraction to microservices if needed

This gives you:
✓ Fast initial development
✓ Low operational complexity
✓ Option to extract services later
✓ Clear architecture

Migration path: When you reach 50k+ users or specific modules need independent scaling, extract those modules into microservices.
</extended_thinking>

**Recommendation**: Implement a modular monolith with clean module boundaries.

This approach balances your current constraints (team size, timeline, DevOps resources) with future scalability needs. You can migrate specific modules to microservices later when there's a clear business need.

Настройка Extended Thinking

Extended thinking управляется через переменные окружения, сочетания клавиш и флаги CLI:

bash
# Set thinking token budget
export MAX_THINKING_TOKENS=16000

# Set effort level (Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 4.6): low (○), medium (◐), high (●), xhigh (Opus 5/4.8/4.7), or max - default is high on Opus 5 and Opus 4.8
export CLAUDE_CODE_EFFORT_LEVEL=high

Переключайте режим во время сессии сочетанием Alt+T / Option+T, задавайте уровень усилий командой /effort или настраивайте через /config.

Облегчённый system prompt (v2.1.154): облегчённый system prompt теперь используется по умолчанию для всех моделей, кроме Haiku, Sonnet и Opus 4.7 и более ранних, что снижает базовый расход токенов на Opus 5 и Opus 4.8.


Auto Mode

Auto Mode - это режим выдачи разрешений, в котором фоновый классификатор безопасности проверяет каждое действие перед его выполнением. Он позволяет Claude работать автономно, блокируя при этом опасные операции. Режим доступен на всех тарифных планах, но требует подходящей модели (Claude Opus 5, Opus 4.6+, Sonnet 4.6+ или Fable 5 на Anthropic API и Claude Platform on AWS; Opus 5, Sonnet 5, Opus 4.7, Opus 4.8 или Fable 5 на Bedrock, Vertex, Foundry и в gateway-сессиях приложений Claude с выполненным входом). На тарифах Team и Enterprise он включён по умолчанию - администраторы могут отключить его для всей организации в managed settings.

Требования

Auto Mode доступен только при выполнении всех следующих условий:

  • Тарифный план: все планы.
  • Организация: на Team и Enterprise Auto Mode доступен по умолчанию. Администраторы могут отключить его для организации, задав permissions.disableAutoMode значение "disable" в managed settings.
  • Модель: на Anthropic API и Claude Platform on AWS - Claude Opus 4.6 или новее (включая Opus 5), Sonnet 4.6 или новее, либо Fable 5. На Amazon Bedrock, Google Cloud Agent Platform (Vertex AI), Microsoft Foundry и в gateway-сессиях приложений Claude с выполненным входом - только Claude Sonnet 5, Opus 4.7 или новее (включая Opus 5) и Fable 5. Более старые модели - Sonnet 4.5, Opus 4.5, Haiku и модели claude-3 - не поддерживаются ни у одного из провайдеров.
  • Провайдер: доступен по умолчанию на Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud Agent Platform (Vertex AI), Microsoft Foundry и в gateway-сессиях приложений Claude с выполненным входом. В версиях с v2.1.158 по v2.1.206 Auto Mode был отключён на всех этих платформах, кроме Anthropic API и Claude Platform on AWS, пока не задавалась переменная CLAUDE_CODE_ENABLE_AUTO_MODE=1; в v2.1.207 это требование убрали. Переменная по-прежнему принимается ради совместимости, но начиная с v2.1.207 не оказывает никакого влияния.
  • Классификатор: работает на Claude Sonnet 4.6 (даёт дополнительный расход токенов).

Включение Auto Mode

bash
# Unlock auto mode with CLI flag (no longer required for Max subscribers on Opus 4.7 - access it directly)
claude --enable-auto-mode

# Then cycle to it with Shift+Tab in the REPL

Обновление v2.1.112: Auto mode больше не требует флага --enable-auto-mode. Подписчикам Max он доступен напрямую на Opus 4.7.

Обновление v2.1.158: Auto mode стал доступен в Bedrock, Vertex и Foundry для Opus 4.7/4.8 при включении через CLAUDE_CODE_ENABLE_AUTO_MODE=1.

Обновление v2.1.207: Требование явного включения (opt-in) убрано. Auto mode теперь доступен по умолчанию в Bedrock, Vertex AI, Microsoft Foundry, а также в gateway-сессиях приложений Claude с выполненным входом - для Claude Sonnet 5, Opus 4.7, Opus 4.8 и Fable 5 (а с v2.1.219 - и для Opus 5). Флаг или переменная окружения не требуются. Администраторы могут отключить его параметром disableAutoMode в managed settings. Переменная CLAUDE_CODE_ENABLE_AUTO_MODE по-прежнему принимается для обратной совместимости, но начиная с v2.1.207 ни на что не влияет.

Или задайте его в качестве режима разрешений по умолчанию:

bash
claude --permission-mode auto

Настройка через config:

json
{
  "permissions": {
    "defaultMode": "auto"
  }
}

Как работает классификатор

Фоновый классификатор оценивает каждое действие в следующем порядке:

  1. Правила allow/deny - в первую очередь проверяются явные правила разрешений и запретов
  2. Автоодобрение чтения и правок - чтение файлов и их редактирование пропускаются автоматически
  3. Классификатор - фоновый классификатор анализирует действие
  4. Fallback - после 3 блокировок подряд или 20 в сумме система переходит к запросу подтверждения у пользователя

Действия, блокируемые по умолчанию

В режиме Auto по умолчанию блокируются следующие действия:

Blocked ActionExample
Pipe-to-shell installscurl | bash
Sending sensitive data externallyAPI keys, credentials over network
Production deploysDeploy commands targeting production
Mass deletionrm -rf on large directories
IAM changesPermission and role modifications
Force push to maingit push --force origin main

Больше решений передано классификатору (v2.1.218): классификатор теперь также принимает решения по командам удаления, направленным на корень файловой системы или домашний каталог, - таким как rm -rf / и rm -rf ~, в том числе когда удаление находится внутри подстановки команд или процессов. До v2.1.218 обычные формы вызывали запрос подтверждения, а формы с подстановкой - в версиях с v2.1.208 по v2.1.217. Проверки фонового & и подозрительных Windows-путей также больше не открывают диалоги подтверждения - решение принимает классификатор.

Действия, разрешённые по умолчанию

Allowed ActionExample
Local file operationsRead, write, edit project files
Declared dependency installsnpm install, pip install from manifest
Read-only HTTPcurl for fetching documentation
Pushing to current branchgit push origin feature-branch

Настройка режима Auto

Вывод правил по умолчанию в формате JSON:

bash
claude auto-mode defaults

Восстановить конфигурацию auto-mode по умолчанию (v2.1.212) с запросом подтверждения (--yes - чтобы пропустить):

bash
claude auto-mode reset
claude auto-mode reset --yes

Настройте доверенную инфраструктуру через управляемый параметр autoMode.environment для корпоративных развёртываний. Это позволяет администраторам задавать доверенные CI/CD-окружения, целевые площадки развёртывания и шаблоны инфраструктуры.

Расширение значений по умолчанию с помощью "$defaults" (v2.1.118)

Начиная с v2.1.118, параметры autoMode.allow, autoMode.soft_deny и autoMode.environment принимают токен "$defaults", который добавляет ваши правила к встроенному списку, а не заменяет его. До v2.1.118 любой пользовательский массив молча затирал встроенные значения.

Безусловные блокировки через autoMode.hard_deny (v2.1.136)

autoMode.hard_deny (v2.1.136+) - это массив правил классификатора, блокирующих определённый класс действий независимо от предполагаемого намерения пользователя. Используйте его для действий, которые ни при каких условиях не должны выполняться в auto mode, - например, rm -rf по корневым путям или git push --force в защищённые ветки. В отличие от soft_deny, правила hard_deny не подлежат пересмотру классификатором.

json
{
  "autoMode": {
    "hard_deny": ["Bash(rm -rf /:*)", "Bash(git push --force*)"]
  }
}

До (заменяет встроенные - поведение до v2.1.118):

json
{
  "autoMode": {
    "allow": ["Bash(gh pr list:*)"]
  }
}

После (расширяет встроенные - v2.1.118+):

json
{
  "autoMode": {
    "allow": ["$defaults", "Bash(gh pr list:*)"],
    "soft_deny": ["$defaults", "Bash(kubectl delete:*)"],
    "environment": ["$defaults", "trusted-ci.internal"]
  }
}

Используйте "$defaults", чтобы сохранить поставляемые базовые правила, добавляя поверх них дополнения уровня организации или проекта.

Классификация всех shell-команд с помощью autoMode.classifyAllShell (v2.1.193)

autoMode.classifyAllShell (boolean, v2.1.193+) пропускает все команды Bash/PowerShell через классификатор auto-mode. Включите этот параметр, если хотите, чтобы классификатор анализировал каждую shell-команду в рамках сессии.

json
{
  "autoMode": {
    "classifyAllShell": true
  }
}

В том же релизе отображается причина отказа, когда auto mode блокирует действие - она видна в транскрипте, во всплывающем уведомлении об отказе и в списке недавно отклонённых действий в /permissions (v2.1.193+).

Встроенная защита на основе намерений (v2.1.183)

Помимо пользовательских правил hard_deny, auto mode по умолчанию блокирует следующие деструктивные команды, если только вы явно не запросили их выполнение в текущей сессии:

  • git reset --hard, git checkout -- ., git clean -fd, git stash drop
  • git commit --amend (если commit не был сделан агентом в этой сессии)
  • terraform destroy, pulumi destroy, cdk destroy (если только вы не запросили выполнение для конкретного стека)

Это встроенная защита по умолчанию, работающая на основе распознанного намерения - добавлять эти команды в hard_deny вручную не нужно.

Поведение при fallback

Когда классификатор не уверен, auto mode переходит к запросу подтверждения у пользователя:

  • После 3 последовательных блокировок классификатора
  • После 20 суммарных блокировок классификатора за сессию

Это гарантирует, что пользователь всегда сохраняет контроль в ситуациях, когда классификатор не может уверенно одобрить действие.

Начальная настройка permissions, эквивалентных auto mode (без плана Team)

Если у вас нет плана Team или вам нужен более простой подход без фонового классификатора, вы можете заполнить ~/.claude/settings.json консервативным базовым набором безопасных permission-правил. Скрипт начинает с правил только для чтения и локального анализа, а затем позволяет по желанию подключить правки, тесты, локальные git-записи, установку пакетов и write-действия в GitHub.

Файл: 09-advanced-features/setup-auto-mode-permissions.py

bash
# Preview what would be added (no changes written)
python3 09-advanced-features/setup-auto-mode-permissions.py --dry-run

# Apply the conservative baseline
python3 09-advanced-features/setup-auto-mode-permissions.py

# Add more capability only when you need it
python3 09-advanced-features/setup-auto-mode-permissions.py --include-edits --include-tests
python3 09-advanced-features/setup-auto-mode-permissions.py --include-git-write --include-packages

Скрипт добавляет правила в следующих категориях:

CategoryExamples
Core read-only toolsRead(*), Glob(*), Grep(*), Agent(*), WebSearch(*), WebFetch(*)
Local inspectionBash(git status:*), Bash(git log:*), Bash(git diff:*), Bash(cat:*)
Optional editsEdit(*), Write(*), NotebookEdit(*)
Optional test/buildBash(pytest:*), Bash(python3 -m pytest:*), Bash(cargo test:*)
Optional git writesBash(git add:*), Bash(git commit:*), Bash(git stash:*)
Git (local write)Bash(git add:*), Bash(git commit:*), Bash(git checkout:*)
Package managersBash(npm install:*), Bash(pip install:*), Bash(cargo build:*)
Build & testBash(make:*), Bash(pytest:*), Bash(go test:*)
Common shellBash(ls:*), Bash(cat:*), Bash(find:*), Bash(cp:*), Bash(mv:*)
GitHub CLIBash(gh pr view:*), Bash(gh pr create:*), Bash(gh issue list:*)
Опасные операции (rm -rf, sudo, force push, DROP TABLE, terraform destroy и т. д.) намеренно исключены. Скрипт идемпотентен - повторный запуск не приведёт к дублированию правил.

Фоновые задачи

Фоновые задачи позволяют выполнять длительные операции, не блокируя работу с диалогом.

Что такое фоновые задачи?

Фоновые задачи выполняются асинхронно, пока вы продолжаете работу:

  • продолжительные прогоны тестов;
  • сборка проекта;
  • миграции БД;
  • скрипты развёртывания;
  • инструменты анализа.

Базовое использование:

bash
User: Run tests in background

Claude: Started task bg-1234

/task list           # Show all tasks
/task status bg-1234 # Check progress
/task show bg-1234   # View output
/task cancel bg-1234 # Cancel task

Запуск фоновых задач

CODE
User: Run the full test suite in the background

Claude: Starting tests in background (task-id: bg-1234)
You can continue working while tests run.

[You can continue the conversation]

User: Meanwhile, let's refactor the auth module

Claude: [Works on auth module while tests run in background]

[Later, when tests complete]

Claude: 📢 Background task bg-1234 completed:
✅ 245 tests passed
❌ 3 tests failed
View results: /task show bg-1234

Управление фоновыми задачами

Список активных задач:

CODE
User: /task list

Active background tasks:
1. [bg-1234] Running tests (50% complete, 2min remaining)
2. [bg-1235] Building Docker image (25% complete, 8min remaining)
3. [bg-1236] Deploying to staging (90% complete, 30sec remaining)

Проверка статуса задачи:

CODE
User: /task status bg-1234

Task bg-1234: Running tests
Status: In progress
Progress: 120/245 tests (49%)
Started: 2025-11-08 10:30:15
Estimated completion: 2025-11-08 10:34:22

Просмотр вывода задачи:

CODE
User: /task show bg-1234

[Shows live output from the test run]

Отмена задачи:

CODE
User: /task cancel bg-1234

Cancelled background task bg-1234

Пример: параллельная разработка

CODE
User: Run the build in the background

Claude: Starting build... (task-id: bg-5001)

User: Also run the linter in background

Claude: Starting linter... (task-id: bg-5002)

User: While those run, let's implement the new API endpoint

Claude: [Implements API endpoint while build and linter run]

[10 minutes later]

Claude: 📢 Build completed successfully (bg-5001)
📢 Linter found 12 issues (bg-5002)

User: Show me the linter issues

Claude: [Shows linter output from bg-5002]

Конфигурация

Отдельного блока в settings.json для фоновых задач нет. Эта возможность управляется переменной окружения:

bash
# Turn background tasks off entirely
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=true

Параллелизм - это тоже не настройка фоновых задач: количество одновременно работающих агентов задаётся переменной CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS (по умолчанию 20).


Инструмент Monitor (потоки, управляемые событиями)

Новое в v2.1.98: инструмент Monitor позволяет Claude наблюдать за stdout фоновой команды и реагировать в момент появления подходящего события - заменяя циклы опроса и sleep при ожидании длительных процессов.

Monitor подключается к любой shell-команде, которая пишет в stdout. Каждая строка stdout становится уведомлением, пробуждающим сессию. Claude указывает команду; harness передаёт её вывод потоком и доставляет события по мере их возникновения. Про запуск самих процессов см. смежный раздел Фоновые задачи.

Почему это важно

Опрос через /loop или sleep расходует полный round-trip к API на каждой итерации - независимо от того, изменилось что-либо или нет. Monitor же молчит до наступления события и потребляет ноль токенов, пока команда ничего не выводит. А когда событие всё-таки происходит, Claude реагирует моментально - без задержки до следующего тика опроса. Для всего, что работает дольше нескольких минут, такой подход одновременно и дешевле, и быстрее циклов опроса.

Два типичных сценария

Потоковые фильтры следят за непрерывным выводом долгоживущего источника. Команда работает бесконечно; каждая подходящая строка - это событие.

bash
tail -f /var/log/app.log | grep --line-buffered "ERROR"

Фильтры poll-and-emit периодически опрашивают источник и генерируют событие только при обнаружении изменений. Подходит для API, баз данных и любых источников, у которых нет собственного потока событий.

bash
last=$(date -u +%Y-%m-%dT%H:%M:%SZ)
while true; do
  gh api "repos/owner/repo/issues/123/comments?since=$last" || true
  last=$(date -u +%Y-%m-%dT%H:%M:%SZ)
  sleep 30
done

Конкретный пример

«Запусти мой dev-сервер и следи за ошибками». Claude запускает сервер как фоновую задачу, подключает фильтр Monitor (tail -F server.log | grep --line-buffered -E "ERROR|FATAL"), и сессия затихает. Как только в логе появляется строка с ошибкой, Claude просыпается, читает её и может отреагировать - перезапустить сервер, исправить баг или показать её вам - без необходимости самому его дёргать.

Предупреждение: при передаче данных в grep через pipe всегда используйте grep --line-buffered. Без этого флага grep буферизует stdout блоками по 4 КБ, что на потоках с низким трафиком может задерживать события на минуты. Это причина №1, по которой Monitor на практике перестаёт работать - если ваш фильтр молчит, хотя не должен, в первую очередь проверьте наличие флага --line-buffered.


Динамические workflows

Новое в v2.1.154

Динамические workflows позволяют Claude детерминированно оркестрировать десятки и сотни фоновых субагентов - fan-out, конвейеры и параллельные этапы, зафиксированные в скрипте, а не отданные на импровизацию модели. Если один агент удерживает одно окно контекста, то workflow разбивает задачу между множеством агентов и объединяет их результаты.

Начиная с v2.1.219, для динамических workflows по умолчанию действует ориентир на средний размер (стремитесь к менее чем 15 агентам). Выбрать другой размер - или снять ограничение - можно через Dynamic workflow size в /config либо задав ключ workflowSizeGuideline в файле настроек. Строка статуса выполняющегося workflow показывает текущий размер и подсказывает, что изменить его можно через /config.

Когда их использовать

  • Полное покрытие - параллельный аудит или ревью по множеству файлов и аспектов.
  • Уверенность в результате - сгенерировать независимые точки зрения, а затем состязательно проверить выводы перед коммитом.
  • Масштаб за пределами одного контекста - крупные миграции, широкие проходы по кодовой базе или исследования, которые не помещаются в один контекст.

Для разовой задачи, которую вы уже понимаете, один агент (или прямое редактирование) по-прежнему подходит лучше - workflows окупаются, когда работа расходится вширь.

Запуск и просмотр

  • Запуск: попросите Claude создать workflow под задачу (например, «запусти workflow для ревью каждого файла в src/»). Claude напишет скрипт оркестрации и запустит его в фоне.
  • Просмотр: команда /workflows показывает выполняющиеся и завершённые запуски workflow с прогрессом в реальном времени.
  • ultracode: выбор ultracode в меню /effort включает этот режим на всю сессию - он отправляет модели xhigh и по умолчанию заставляет Claude оркестрировать динамические workflows. Действует только в рамках сессии и не принимается в файле настроек. (Начиная с v2.1.160 триггерное ключевое слово - ultracode; одно только слово «workflow» больше запуск не инициирует.)

Workflows построены поверх модели субагентов - см. Субагенты, чтобы узнать, как определяются и ограничиваются отдельные агенты.


Запланированные задачи

Запланированные задачи позволяют автоматически запускать промпты по расписанию или в виде одноразовых напоминаний. Задачи привязаны к сессии - они выполняются, пока Claude Code активен, и удаляются при её завершении. Доступно начиная с v2.1.72.

Продвигается как «Routines» на claude.com (2026-05-14): продуктовый блог Anthropic представляет эту функцию под названием Routines. CLI-команда остаётся /schedule; для преемственности это руководство использует исходное название «Scheduled Tasks». Если в документации на claude.com или в десктопном приложении вы видите «Routines» - речь об этой же функции.

Команда /loop

bash
# Explicit interval
/loop 5m check if the deployment finished

# Natural language
/loop check build status every 30 minutes

Также поддерживаются стандартные cron-выражения из 5 полей для точного планирования.

Одноразовые напоминания

Настраивайте напоминания, которые срабатывают однократно в заданное время:

CODE
remind me at 3pm to push the release branch
in 45 minutes, run the integration tests

Управление запланированными задачами

ToolDescription
CronCreateCreate a new scheduled task
CronListList all active scheduled tasks. Since v2.1.136, output also includes the qualifier(s) and the scheduled prompt body, so you can audit what each cron will run without opening it.
CronDeleteRemove a scheduled task
Ограничения и поведение:
  • До 50 запланированных задач на сессию
  • Привязаны к сессии - очищаются при её завершении
  • Повторяющиеся задачи автоматически истекают через 3 дня
  • Задачи выполняются только при запущенном Claude Code - пропущенные срабатывания не навёрстываются

Подробности поведения

AspectDetail
Recurring jitterUp to 10% of the interval (max 15 minutes)
One-shot jitterUp to 90 seconds on :00/:30 boundaries
Missed firesNo catch-up - skipped if Claude Code was not running
PersistenceNot persisted across restarts

Облачные запланированные задачи

Используйте /schedule для создания облачных запланированных задач, выполняющихся на инфраструктуре Anthropic:

CODE
/schedule daily at 9am run the test suite and report failures

Облачные запланированные задачи сохраняются между перезапусками и не требуют, чтобы Claude Code был запущен локально.

Отключение запланированных задач

bash
export CLAUDE_CODE_DISABLE_CRON=1

/schedule автоматически отключается при использовании API-ключей (v2.1.139): облачный /schedule незаметно становится недоступен, если задана хотя бы одна из переменных ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN или apiKeyHelper - даже если вы одновременно авторизованы через claude.ai. То же условие отключает Remote Control, MCP-коннекторы claude.ai и настройки уведомлений. Чтобы пользоваться /schedule, удалите API-ключ (или работайте через OAuth на тарифе Pro/Max). Локальный CronCreate при этом продолжает работать.

Пример: мониторинг развёртывания

CODE
/loop 5m check the deployment status of the staging environment.
        If the deploy succeeded, notify me and stop looping.
        If it failed, show the error logs.

Совет: запланированные задачи действуют в рамках сессии. Для постоянной автоматизации, которая переживёт перезапуски, используйте CI/CD-пайплайны, GitHub Actions или запланированные задачи Desktop App.


Режимы разрешений

Режимы разрешений определяют, какие действия Claude может выполнять без явного подтверждения.

Доступные режимы разрешений

ModeBehavior
manualRead files only; prompts for all other actions. Renamed from default in v2.1.200 - default is still accepted as an alias
acceptEditsRead and edit files; prompts for commands
planRead files only (research mode, no edits)
autoAll actions with background safety classifier checks. Requires an eligible model (Opus 5, Sonnet 5, Opus 4.7/4.8, or Fable 5 on most providers) and provider - available on all plans, see Auto Mode
bypassPermissionsAll actions, no permission checks (dangerous)
dontAskOnly pre-approved tools execute; all others denied

Примечание: Интерактивный режим по умолчанию был переименован из default в Manual в v2.1.200 (в CLI, --help, VS Code и JetBrains), а пока он активен, в футере отображается серый бейдж ⏸ (v2.1.203). Работают как --permission-mode manual, так и --permission-mode default, а в настройках - и "defaultMode": "manual", и "defaultMode": "default". Обратите внимание, что ключ настройки - permissions.defaultMode; ключа permissions.mode не существует, поэтому в примерах ниже используется каноническое написание.

Для переключения между режимами используйте Shift+Tab в CLI. Задать режим по умолчанию можно флагом --permission-mode или настройкой permissions.defaultMode.

Plan mode передаёт shell-команды классификатору (v2.1.218): если доступен auto mode и включена настройка useAutoModeDuringPlan (а она включена по умолчанию), классификатор проверяет shell-команды на этапе планирования, не запрашивая у вас подтверждение. Одобренные команды выполняются, отклонённые - блокируются. Запись файлов Plan mode по-прежнему блокирует безусловно.

Начиная с v2.1.160, даже acceptEdits запрашивает подтверждение перед записью в файлы инициализации shell (.zshenv, .zlogin, .bash_login, ~/.config/git/) и в конфигурации сборки, способные выполнять код (.npmrc, .yarnrc*, bunfig.toml, .bazelrc, .pre-commit-config.yaml, .devcontainer/, …), поскольку иначе это могло бы привести к непреднамеренному выполнению команд.

Расширенное покрытие путей для --dangerously-skip-permissions (v2.1.121, v2.1.126): CLI-флаг --dangerously-skip-permissions (и эквивалентный ему режим bypassPermissions) теперь пропускает запросы подтверждения при записи в значительно более широкий allowlist - .claude/skills/, .claude/agents/, .claude/commands/, .claude/, .git/, .vscode/, а также в конфигурационные файлы shell. Команды катастрофического удаления (rm -rf / и т. п.) в этом режиме всё равно требуют подтверждения (в auto mode их вместо этого оценивает классификатор - см. Auto Mode). Считайте этот флаг более острым инструментом, чем прежде, и используйте его только в одноразовых песочницах.

Определение shell в Windows (v2.1.120, v2.1.126): Git for Windows / Git Bash больше не обязателен. Если Git Bash отсутствует, Claude Code использует в качестве shell-инструмента PowerShell. Начиная с v2.1.126, при включённом инструменте PowerShell он становится основным shell, а определение охватывает PowerShell 7, установленный через Microsoft Store, из MSI без прописывания в PATH или как .NET global tool.

Инструмент PowerShell включён по умолчанию в Windows для Bedrock/Vertex/Foundry (v2.1.143): начиная с v2.1.143, инструмент PowerShell включён по умолчанию в Windows для пользователей Bedrock, Vertex и Foundry. Claude Code запускает PowerShell с параметром -ExecutionPolicy Bypass, поэтому скрипты выполняются, даже если системная политика - Restricted. Чтобы Claude Code учитывал системную execution policy, задайте CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1. Чтобы полностью отключить инструмент PowerShell, задайте CLAUDE_CODE_USE_POWERSHELL_TOOL=0.

Способы активации

Сочетание клавиш:

bash
Shift + Tab  # Cycle through all 6 modes

Slash-команда:

bash
/plan                  # Enter plan mode

Флаг CLI:

bash
claude --permission-mode plan
claude --permission-mode auto

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Настройка: </query>

json
{
  "permissions": {
    "defaultMode": "auto"
  }
}

Примеры режимов разрешений

Режим по умолчанию

Claude запрашивает подтверждение при выполнении значимых действий:

CODE
User: Fix the bug in auth.ts

Claude: I need to modify src/auth.ts to fix the bug.
The change will update the password validation logic.

Approve this change? (yes/no/show)

Режим планирования

Ознакомьтесь с планом реализации перед его выполнением:

CODE
User: /plan Implement user authentication system

Claude: I'll create a plan for implementing authentication.

## Implementation Plan
[Detailed plan with phases and steps]

Ready to proceed? (yes/no/modify)

Режим автопринятия правок

Автоматически принимать изменения в файлах:

CODE
User: acceptEdits
User: Fix the bug in auth.ts

Claude: [Makes changes without asking]

Сценарии использования

Code review:

CODE
User: claude --permission-mode plan
User: Review this PR and suggest improvements

Claude: [Reads code, provides feedback, but cannot modify]

Парное программирование:

CODE
User: claude --permission-mode default
User: Let's implement the feature together

Claude: [Asks for approval before each change]

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Автоматизированные задачи: </query>

CODE
User: claude --permission-mode acceptEdits
User: Fix all linting issues in the codebase

Claude: [Auto-accepts file edits without asking]

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Режим Headless

Режим вывода (claude -p) позволяет Claude Code работать без интерактивного ввода, что идеально подходит для автоматизации и CI/CD. Это неинтерактивный режим, заменяющий старый флаг --headless.

Что такое режим вывода?

Режим вывода позволяет:

  • Автоматическое выполнение скриптов
  • Интеграцию с CI/CD
  • Пакетную обработку
  • Запланированные задачи

Запуск в режиме вывода (неинтерактивном)

</query> ```bash # Run specific task claude -p "Run all tests"

Process piped content

cat error.log | claude -p "Analyze these errors"

CI/CD integration (GitHub Actions)

  • name: AI Code Review run: claude -p "Review PR"
CODE
### Дополнительные примеры использования режима print
```bash
# Run a specific task with output capture
claude -p "Run all tests and generate coverage report"

# With structured output
claude -p --output-format json "Analyze code quality"

# With input from stdin
echo "Analyze code quality" | claude -p "explain this"

Пример: интеграция с CI/CD

GitHub Actions:

yaml
# .github/workflows/code-review.yml
name: AI Code Review

on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Run Claude Code Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude -p --output-format json \
            --max-turns 3 \
            "Review this PR for:
            - Code quality issues
            - Security vulnerabilities
            - Performance concerns
            - Test coverage
            Output results as JSON" > review.json

      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const review = JSON.parse(fs.readFileSync('review.json', 'utf8'));
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: JSON.stringify(review, null, 2)
            });

Настройка режима print

Режим print (claude -p) поддерживает несколько флагов для автоматизации:

bash
# Limit autonomous turns
claude -p --max-turns 5 "refactor this module"

# Structured JSON output
claude -p --output-format json "analyze this codebase"

# With schema validation
claude -p --json-schema '{"type":"object","properties":{"issues":{"type":"array"}}}' \
  "find bugs in this code"

# Disable session persistence
claude -p --no-session-persistence "one-off analysis"

Безопасный режим (устранение неполадок)

--safe-mode (а также переменная окружения CLAUDE_CODE_SAFE_MODE, например CLAUDE_CODE_SAFE_MODE=1) запускает Claude Code с полностью отключёнными пользовательскими настройками - CLAUDE.md, plugins, skills, hooks и MCP-серверы не активируются.

bash
# Launch with every customization disabled
claude --safe-mode

# Equivalent via environment variable
CLAUDE_CODE_SAFE_MODE=1 claude

Это инструмент для диагностики: если пользовательская конфигурация вызывает проблемы, запустите Claude Code в безопасном режиме, чтобы определить, где кроется причина - в ваших настройках или в самом Claude Code.


Управление сессиями

Эффективная работа с несколькими сессиями Claude Code.

Команды управления сессиями

CommandDescription
/resumeResume a conversation by ID or name
/renameName the current session
/fork [prompt]Copy the conversation into a new independent background session and keep working here (v2.1.212+)
/subtask <task>Spawn a forked subagent that inherits the full conversation and reports its result back here (v2.1.212+)
/branch [name]Switch into a copy of the conversation at this point, preserving the original
claude -cContinue most recent conversation
claude -r "session"Resume session by name or ID

Возобновление сессий

Продолжить последний диалог:

bash
claude -c

Возобновление именованной сессии:

bash
claude -r "auth-refactor" "finish this PR"

Переименовать текущую сессию (внутри REPL):

CODE
/rename auth-refactor

Обновление v2.1.212: ввод команды /resume (без аргументов) в представлении агента теперь открывает список прошлых сессий - включая сессии, скрытые из видимого списка, - и возобновляет выбранную как фоновую.

Форки и ветвление сессий

Три команды создают копии беседы и различаются тем, где выполняется копия:

/subtask <task> порождает форкнутый subagent, который наследует всю беседу и работает над задачей, пока вы продолжаете свою - с отдельной строкой в claude agents; по завершении результат возвращается в вашу беседу:

CODE
/subtask Investigate why the auth tests are flaky

/fork [prompt] вместо этого копирует диалог в новую фоновую сессию. Копия включает всю историю до текущего момента и выполняется независимо - в исходный диалог ничего не возвращается:

CODE
/fork Try the OAuth approach end to end

Чтобы самому переключиться в копию, вообще не прибегая к делегированию, используйте /branch [name] - исходная сессия сохранится, и к ней можно будет вернуться командой /resume:

CODE
/branch try-oauth-instead

Примечание: команды /fork и /subtask поменялись ролями в v2.1.212. До v2.1.161 /fork был псевдонимом для /branch; в версиях с v2.1.161 по v2.1.211 он запускал ответвлённого субагента - это поведение теперь закреплено за /subtask. Если режим отображения агентов отключён, /subtask недоступна, а /fork сохраняет поведение запуска ответвлённого субагента.

Или создайте форк из CLI:

bash
claude --resume auth-refactor --fork-session "try OAuth instead"

Сохранение сессий

Сессии автоматически сохраняются, и их можно возобновить:

bash
# Continue last conversation
claude -c

# Resume specific session by name or ID
claude -r "auth-refactor"

# Resume and fork for experimentation
claude --resume auth-refactor --fork-session "alternative approach"

Автопродолжение при достижении лимита использования (v2.1.234)

Начиная с v2.1.234, сессия, заблокированная из-за лимита использования claude.ai, автоматически возобновляется после сброса лимита - повторно запускать её вручную не нужно. Настроить это можно в /config в разделе «Continue automatically at usage limit».

Краткая сводка по сессии (v2.1.108)

Когда вы возвращаетесь к сессии после перерыва, Claude может показать краткую сводку того, что уже было сделано. По умолчанию это включено для пользователей с отключённой телеметрией (Bedrock, Vertex, Foundry).

OTEL-телеметрия - повторное включение опроса обратной связи (v2.1.136+): организации, собирающие данные OpenTelemetry, могут снова включить опрос Anthropic о качестве сессии, задав CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1. В OTEL-развёртываниях опрос отключён по умолчанию, поскольку ранее он выводился за пределы telemetry pipelines.

OTEL-телеметрия - log-событие assistant_response (v2.1.193+): Claude Code отправляет OpenTelemetry-событие claude_code.assistant_response с текстом ответа модели, что позволяет OTEL-пайплайнам фиксировать реплики Claude наряду с уже существующей телеметрией инструментов и событий.

Управление поведением сводки:

bash
/recap                                 # manually trigger a recap
/config                                # toggle auto-recap on/off

Или через переменную окружения:

bash
CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0 claude   # disable recap
CLAUDE_CODE_ENABLE_AWAY_SUMMARY=1 claude   # force enable recap

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Межсессионный обмен сообщениями

> Добавлено в v2.1.224, расширено до v2.1.239. Доступно на macOS, Linux и (с v2.1.239) Windows.

Раньше сессии были островами. Межсессионный обмен сообщениями позволяет одной сессии Claude Code общаться с другой - включая сессии на ваших других машинах и ваши облачные сессии - так что вы можете передать вопрос сессии, в которой уже загружен нужный контекст, вместо того чтобы объяснять его заново.

Обнаружение сессий

ListAgents перечисляет всё, к чему вы можете обратиться: subagents, которых вы запустили, другие локальные сессии на этой машине, ваши облачные сессии и (когда подключен Remote Control) сессии на ваших других машинах. Каждая строка помечена типом, а начиная с v2.1.229 строки также содержат метки offline и cloud, чтобы вы могли отличить доступную сессию от неактивной.

Имя в каждой строке - это адрес - именно туда вы отправляете.

Отправка сообщения

SendMessage принимает цель и сообщение:

</query> ```text SendMessage({ to: "<session name>", message: "What did you conclude about the retry logic?" }) ``` Начиная с v2.1.232, достаточно указать просто имя - добавлять уточняющий ref больше не требуется, если только у двух строк действительно не совпадают имена.

Ожидание перехода сессии в состояние простоя (notify_when_idle, v2.1.236)

Если сессия, которой вы отправляете сообщение, занята выполнением задачи, обычно удобнее получить уведомление о её завершении, а не опрашивать её вручную. Как раз для этого у SendMessage есть входной параметр notify_when_idle:

text
SendMessage({
  to: "auth-refactor",
  message: "ping me when the migration finishes",
  notify_when_idle: true
})

Это явная подписка и однократное срабатывание - целевая сессия отправляет одно уведомление, когда в следующий раз перейдёт в состояние ожидания, после чего подписка завершается. Никакого цикла опроса и никаких повторных уведомлений, если сессия снова станет занятой, а затем опять освободится.

Два связанных изменения в v2.1.239: ListAgents теперь сообщает и собственное имя сессии (чтобы сессия могла подсказать другим, как к ней обращаться) наряду с активными «соседями», а обмен сообщениями между сессиями стал доступен в Windows.

Сокращённая запись через @ (v2.1.232)

Вместо явного вызова инструмента можно обратиться к сессии, просто упомянув её через @ прямо в промпте:

text
@auth-refactor did the migration tests pass?

Управление входящими сообщениями: crossSessionInbound

Приём входящих сообщений регулируется настройкой crossSessionInbound (v2.1.224+):

ValueBehavior
"accept"Inbound messages are delivered to Claude in this session
"hold"You see a notice that a message arrived; it is not delivered
"refuse"Inbound messages are dropped
Значения образуют иерархию - accept < hold < refuse, - и настройки уровня проекта и локальные настройки применяются только тогда, когда они строже значения пользовательского уровня. Проект может ужесточить входящую доставку, но никогда не ослабить её. Начиная с v2.1.232 у этой настройки также появилась строка в /config - «Messages from your other sessions».

Область действия и ограничения

  • Локальные сессии на той же машине, а также ваши облачные сессии.
  • Сессии Remote Control на других ваших машинах, адресуемые по имени (v2.1.225).
  • Облачная сессия получает ваше сообщение, но пока не может отправить ответное сообщение локальной сессии - её ответ смотрите в её собственном транскрипте.
  • macOS и Linux - с v2.1.224; Windows - с v2.1.239.

Интерактивные возможности

Горячие клавиши

Claude Code поддерживает горячие клавиши для ускорения работы. Ниже - полный справочник из официальной документации:

ShortcutDescription
Ctrl+CCancel current input/generation
Ctrl+DExit Claude Code
Ctrl+GEdit plan in external editor
Ctrl+LRedraw the screen (repaint only - the double-press /clear shortcut was removed in v2.1.238)
Ctrl+OToggle verbose output (view reasoning)
Ctrl+RReverse search history. Defaults to all prompts across all projects (v2.1.129+); press Ctrl+S inside the picker to narrow to the current project. Earlier versions defaulted to project-only.
Ctrl+TToggle task list view
Ctrl+BBackground running tasks
Esc+EscRewind code/conversation
Shift+Tab / Alt+MToggle permission modes
Option+P / Alt+PSwitch model
Option+T / Alt+TToggle extended thinking
Option+O / Alt+OToggle fast mode (/fast)
Ctrl+X Ctrl+KStop all background subagents
Ctrl+SStash the current prompt; press again to restore it
Ctrl+_Undo the last edit to the prompt input
:Type : at the start of a word to open emoji shortcode completion, e.g. :heart: (v2.1.217+)
Редактирование строки (стандартные сочетания клавиш readline):
ShortcutAction
------------------
Ctrl + AMove to line start
Ctrl + EMove to line end
Ctrl + KCut to end of line
Ctrl + UCut to start of line
Ctrl + WDelete word backward
Ctrl + YPaste (yank)
TabAutocomplete
↑ / ↓Command history

Специальные возможности

Режим для экранных дикторов (v2.1.208+) переключает CLI в режим вывода простого текста, оптимизированный для программ чтения с экрана. Включить его можно через флаг CLI, переменную окружения или параметр в настройках:

bash
claude --ax-screen-reader
bash
export CLAUDE_AX_SCREEN_READER=1
json
{
  "axScreenReader": true
}

Настройка сочетаний клавиш

Чтобы задать пользовательские сочетания клавиш, выполните команду /keybindings - откроется файл ~/.claude/keybindings.json для редактирования (v2.1.18+).

Формат конфигурации:

json
{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null,
        "ctrl+k ctrl+s": "chat:stash"
      }
    },
    {
      "context": "Confirmation",
      "bindings": {
        "ctrl+a": "confirmation:yes"
      }
    }
  ]
}

Установите привязку в null, чтобы отключить сочетание клавиш по умолчанию.

Доступные контексты

Привязки клавиш действуют в рамках определённых контекстов UI:

ContextKey Actions
Chatsubmit, cancel, cycleMode, modelPicker, thinkingToggle, undo, externalEditor, stash, imagePaste
Confirmationyes, no, previous, next, nextField, cycleMode, toggleExplanation
Globalinterrupt, exit, toggleTodos, toggleTranscript
Autocompleteaccept, dismiss, next, previous
HistorySearchsearch, previous, next
SettingsContext-specific settings navigation
TabsTab switching and management
HelpHelp panel navigation
Всего 18 контекстов, включая Transcript, Task, ThemePicker, Attachments, Footer, MessageSelector, DiffDialog, ModelPicker и Select.

Поддержка аккордов

Горячие клавиши поддерживают аккордные последовательности (комбинации из нескольких клавиш):

CODE
"ctrl+k ctrl+s"   → Two-key sequence: press ctrl+k, then ctrl+s
"ctrl+shift+p"    → Simultaneous modifier keys

Синтаксис сочетаний клавиш:

  • Модификаторы: ctrl, alt (или opt), shift, meta (или cmd)
  • Заглавная буква подразумевает Shift: K эквивалентно shift+k
  • Специальные клавиши: escape, enter, return, tab, space, backspace, delete, клавиши со стрелками

Зарезервированные и конфликтующие клавиши

KeyStatusNotes
Ctrl+CReservedCannot be rebound (interrupt)
Ctrl+DReservedCannot be rebound (exit)
Ctrl+BTerminal conflicttmux prefix key
Ctrl+ATerminal conflictGNU Screen prefix key
Ctrl+ZTerminal conflictProcess suspend

Совет: если сочетание клавиш не работает, проверьте, не конфликтует ли оно с вашим эмулятором терминала или мультиплексором.

Автодополнение по Tab

Claude Code поддерживает интеллектуальное автодополнение по Tab:

CODE
User: /rew<TAB>
→ /rewind

User: /plu<TAB>
→ /plugin

User: /plugin <TAB>
→ /plugin install
→ /plugin enable
→ /plugin disable

История команд

Доступ к ранее выполненным командам:

CODE
User: <↑>  # Previous command
User: <↓>  # Next command
User: Ctrl+R  # Search history

(reverse-i-search)`test': run all tests

Многострочный ввод

Для сложных запросов используйте многострочный режим:

bash
User: \
> Long complex prompt
> spanning multiple lines
> \end

Пример:

CODE
User: \
> Implement a user authentication system
> with the following requirements:
> - JWT tokens
> - Email verification
> - Password reset
> - 2FA support
> \end

Claude: [Processes the multi-line request]

Встроенное редактирование

Редактирование команд перед отправкой:

CODE
User: Deploy to prodcution<Backspace><Backspace>uction

[Edit in-place before sending]

Режим Vim

Включение сочетаний клавиш Vi/Vim для редактирования текста:

Активация:

  • Включается через /config (переключатель «Editor / Vim mode») либо в ~/.claude/settings.json через параметр editorMode: "vim". Отдельная slash-команда /vim была удалена (см. issue #43370); теперь режим vim задаётся через конфигурацию.
  • Переключение режимов: Esc - NORMAL, i/a/o - INSERT, v - VISUAL, V - VISUAL-LINE (v2.1.118+)

Клавиши навигации:

  • h / l - влево/вправо
  • j / k - вниз/вверх
  • w / b / e - перемещение по словам
  • 0 / $ - в начало/конец строки
  • gg / G - в начало/конец текста

Текстовые объекты:

  • iw / aw - слово (внутри/вместе с окружением)
  • i" / a" - строка в кавычках (внутри/вместе с кавычками)
  • i( / a( - содержимое скобок (внутри/вместе со скобками)

Визуальные режимы (v2.1.118+):

KeyModeBehavior
vVisualCharacter-wise selection with visual feedback; extend with motion keys
VVisual-lineLine-wise selection; always selects whole lines
yYankCopy the current visual selection
d / xDeleteDelete the current visual selection
cChangeDelete selection and enter INSERT mode
EscExitReturn to NORMAL mode
Визуальные выделения подсвечиваются в поле ввода, так что вы точно видите, что будет скопировано, удалено или изменено, прежде чем применить оператор.

Режим Bash

Выполняйте команды оболочки напрямую, используя префикс !:

bash
! npm test
! git status
! cat src/index.js

Используйте это для быстрого выполнения команд без переключения контекста.

Начиная с v2.1.193: в режиме bash (!) работает автодополнение путей к файлам «на лету» - пути подставляются прямо по мере ввода shell-команды, не выходя из строки ввода.

Начиная с v2.1.186: вывод команды ! теперь автоматически отправляется в Claude, и тот на него отвечает. Чтобы вернуть прежнее поведение, при котором вывод лишь добавляется в контекст без ответа, укажите "respondToBashCommands": false в settings.json.


Output Styles

Output styles меняют то, как Claude отвечает, а не то, что он знает. Они модифицируют системный промпт, задавая роль, тон и формат ответа по умолчанию. Прибегайте к ним, когда приходится из раза в раз повторять один и тот же промпт ради нужной манеры изложения, или когда вы хотите, чтобы Claude выступал в роли кого-то помимо software engineer.

Для инструкций о вашем проекте или кодовой базе используйте CLAUDE.md - это отдельный механизм со своими компромиссами.

Встроенные стили

StyleBehavior
DefaultThe standard system prompt, tuned for completing software engineering tasks efficiently
ProactiveClaude executes immediately and makes reasonable assumptions instead of pausing for routine decisions. Stronger autonomous-execution guidance than auto mode, but it does not change your permission mode - you still see permission prompts
ExplanatoryAdds educational "Insights" between steps, explaining implementation choices and codebase patterns
LearningCollaborative learn-by-doing. Claude shares insights and leaves TODO(human) markers for you to implement small, strategic pieces yourself
Concise (v2.1.237)Claude leads with the result and skips preamble and narration. Thoroughness is unchanged - only the framing around the answer is dropped. Select it in /config → Output style, or set "outputStyle": "Concise"

Выбор стиля

Выполните /config и выберите пункт Output style. Выбранное значение сохраняется в .claude/settings.local.json. Чтобы задать его без меню, отредактируйте параметр напрямую:

json
{
  "outputStyle": "Explanatory"
}

Примечание: Отдельная команда /output-style была объявлена устаревшей в v2.1.73 и удалена в v2.1.91. Используйте /config или настройку outputStyle.

Стиль вывода является частью системного промпта, который Claude Code считывает один раз при старте сессии - изменения вступают в силу после /clear или в новой сессии.

Пользовательские стили вывода

Пользовательский стиль - это Markdown-файл с frontmatter, размещённый на одном из трёх уровней:

  • Пользовательский: ~/.claude/output-styles/
  • Проектный: .claude/output-styles/
  • Управляемая политика: .claude/output-styles/ внутри директории управляемых настроек

Проектные стили подгружаются из всех каталогов .claude/output-styles/, встречающихся между рабочей директорией и корнем репозитория. Начиная с v2.1.178, если вложенные директории определяют стиль с одним и тем же именем, побеждает тот, что расположен ближе к рабочей директории.

markdown
---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---

When explaining code, architecture, or data flow, start with a Mermaid diagram
showing the structure, then explain in prose.
FrontmatterPurposeDefault
nameStyle name, if not the file nameInherits from file name
descriptionShown in the /config pickerNone
keep-coding-instructionsKeep Claude Code's built-in software engineering instructionsfalse
force-for-pluginPlugin styles only: apply automatically whenever the plugin is enabled, overriding the user's outputStylefalse
Указывайте keep-coding-instructions: true, когда меняете манеру общения Claude, но хотите сохранить прежний стиль написания кода. Опустите этот параметр, если Claude вообще не занимается разработкой ПО - например, выступает в роли помощника по тексту или аналитика данных.

Область действия и стоимость

Output styles применяются только к основному диалогу. У субагента свой system prompt, поэтому стили не влияют на его ответы; исключение - fork, так как он наследует system prompt родителя целиком.

Добавление инструкций увеличивает число input tokens, хотя prompt caching нивелирует бо́льшую часть накладных расходов уже после первого запроса. Стили Explanatory и Learning по своей сути дают более развёрнутые ответы, что увеличивает output tokens.

Сравнение

FeatureHow it worksUse it when
Output stylesModifies the system promptYou want a different role, tone, or format every turn
CLAUDE.mdAdds a user message after the system promptClaude should always know your project conventions
--append-system-promptAppends to the system prompt without removing anythingA one-off addition for a single invocation
SubagentsRuns with its own system prompt, model, and toolsYou want a separately scoped helper
SkillsLoads task-specific instructions when invokedYou have a reusable workflow
Current date: воскресенье, 6 сентября 2026 г.
<query>

Строка состояния

Строка состояния - это пользовательская команда, вывод которой отображается внизу сеанса. Настройте её с помощью /statusline или задайте напрямую:

</query> ```json { "statusLine": { "type": "command", "command": "~/.claude/statusline.sh", "padding": 0 } } ``` `padding` по умолчанию равен `0`. Claude Code передаёт команде JSON-объект через stdin, так что скрипт сам решает, что отобразить.

Доступные входные поля

GroupFields
Sessionsession_id, session_name, prompt_id, transcript_path, cwd, version
Modelmodel.id, output_style.name, effort.level, fast_mode, thinking.enabled
Agentagent.name, vim.mode
Costcost.total_cost_usd, cost.total_duration_ms, cost.total_api_duration_ms, cost.total_lines_added
Contextcontext_window.context_window_size, .current_usage, .remaining_percentage, .total_input_tokens, .used_percentage
Limitsrate_limits.five_hour.used_percentage, .resets_at
Repopr.number, pr.review_state, workspace.project_dir, workspace.added_dirs, workspace.git_worktree, workspace.repo.host
Worktreeworktree.name, .branch, .path, .original_branch, .original_cwd

Пример

bash
#!/bin/bash
# ~/.claude/statusline.sh - model, context usage, and cost
input=$(cat)
model=$(echo "$input" | jq -r '.model.id')
used=$(echo "$input" | jq -r '.context_window.used_percentage')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd')
printf '%s | ctx %.0f%% | $%.2f' "$model" "$used" "$cost"

Примечание: для statusLine требуется доверие к рабочей области. Скрипты строки состояния также получают в своём окружении переменные COLUMNS и LINES (v2.1.153+), что позволяет им подгонять вывод под размер терминала.


Режим TUI (полноэкранный)

Новое в v2.1.110

Режим TUI (Text User Interface) отрисовывает Claude Code на весь экран без мерцания - идеальный вариант для терминальных мультиплексоров вроде tmux или разделённых панелей iTerm2.

Включение режима TUI

Переключить режим TUI можно командой /tui либо запустить Claude Code с флагом --tui:

bash
/tui          # toggle from within a session
claude --tui  # start directly in TUI mode

Конфигурация

SettingDescriptionDefault
autoScrollEnabledAuto-scroll to latest messagetrue
Отключите автопрокрутку через /config или settings.json:
json
{
  "autoScrollEnabled": false
}

Режим фокуса

Команда /focus включает и выключает режим фокуса - отображение без отвлекающих элементов, в котором виден только самый релевантный вывод. Ctrl+O теперь переключает лишь между обычным и подробным режимом транскрипта (режим фокуса вызывается через /focus).


Голосовой ввод

Голосовой ввод обеспечивает работу с Claude Code в режиме push-to-talk, позволяя надиктовывать промпты вместо того, чтобы набирать их с клавиатуры.

Включение голосового ввода

CODE
/voice

Возможности

FeatureDescription
Push-to-talkHold a key to record, release to send
20 languagesSpeech-to-text supports 20 languages
Custom keybindingConfigure the push-to-talk key via /keybindings
Account requirementRequires a Claude.ai account for STT processing

Конфигурация

Настройте сочетание клавиш push-to-talk в файле keybindings (/keybindings). Голосовая диктовка использует ваш аккаунт Claude.ai для распознавания речи.


Channels

Channels - это функция в статусе Research Preview, которая передаёт события из внешних сервисов в активную сессию Claude Code через MCP-серверы. В числе источников - Telegram, Discord, iMessage и произвольные webhook'и; это позволяет Claude реагировать на уведомления в реальном времени без периодических опросов.

Аутентификация (v2.1.128+): --channels теперь работает как с OAuth-аутентификацией Pro/Max, так и с аутентификацией по API-ключу (console). В более ранних версиях требовался только OAuth.

Подписка на каналы

bash
# Subscribe to channel plugins at startup
claude --channels discord,telegram

# Subscribe to multiple sources
claude --channels discord,telegram,imessage,webhooks

Поддерживаемые интеграции

IntegrationDescription
DiscordReceive and respond to Discord messages in your session
TelegramReceive and respond to Telegram messages in your session
iMessageReceive iMessage notifications in your session
WebhooksReceive events from arbitrary webhook sources

Конфигурация

Каналы настраиваются флагом --channels при запуске. Для корпоративных развёртываний используйте управляемый параметр, чтобы задавать список разрешённых плагинов каналов:

json
{
  "allowedChannelPlugins": ["discord", "telegram"]
}

Управляемая настройка allowedChannelPlugins определяет, какие channel plugins разрешены к использованию в организации.

Как это работает

  1. MCP-серверы выступают в роли channel plugins, подключающихся к внешним сервисам
  2. Входящие сообщения и события передаются в активную сессию Claude Code
  3. Claude может читать сообщения и отвечать на них в контексте сессии
  4. Channel plugins должны быть одобрены через управляемую настройку allowedChannelPlugins
  5. Polling не требуется - события доставляются в реальном времени

Интеграция с Chrome

Интеграция с Chrome подключает Claude Code к браузеру Chrome или Microsoft Edge для веб-автоматизации и отладки в реальном времени. Это бета-функция, доступная начиная с версии v2.0.73+ (поддержка Edge добавлена в v1.0.36+).

Включение интеграции с Chrome

При запуске:

bash
claude --chrome      # Enable Chrome connection
claude --no-chrome   # Disable Chrome connection

В рамках сессии:

CODE
/chrome

Выберите «Enabled by default», чтобы активировать интеграцию с Chrome для всех будущих сессий. Claude Code использует состояние авторизации вашего браузера и поэтому может взаимодействовать с веб-приложениями, требующими входа в систему.

Возможности

CapabilityDescription
Live debuggingRead console logs, inspect DOM elements, debug JavaScript in real time
Design verificationCompare rendered pages against design mockups
Form validationTest form submissions, input validation, and error handling
Web app testingInteract with authenticated apps (Gmail, Google Docs, Notion, etc.)
Data extractionScrape and process content from web pages
Session recordingRecord browser interactions as GIF files

Разрешения на уровне сайтов

Расширение Chrome управляет доступом отдельно для каждого сайта. Вы можете в любой момент предоставить или отозвать доступ для конкретных сайтов через popup расширения. Claude Code взаимодействует только с теми сайтами, которые вы явно разрешили.

Как это работает

Claude Code управляет браузером в видимом окне - вы можете в реальном времени наблюдать за выполняемыми действиями. Когда браузер попадает на страницу входа или CAPTCHA, Claude приостанавливает работу и ждёт, пока вы обработаете это вручную, прежде чем продолжить.

Известные ограничения

  • Поддержка браузеров: только Chrome и Edge - Brave, Arc и другие Chromium-браузеры не поддерживаются
  • WSL: недоступно в Windows Subsystem for Linux
  • Сторонние провайдеры: не поддерживается с провайдерами Bedrock, Vertex и Foundry API
  • Простой service worker: service worker расширения Chrome может уходить в простой во время длительных сессий

Совет: Chrome Integration - это beta-функция. В будущих релизах список поддерживаемых браузеров может расшириться.


Remote Control

Remote Control позволяет продолжить локально запущенную сессию Claude Code с телефона, планшета или любого браузера. Ваша локальная сессия продолжает выполняться на вашей машине - ничего не переносится в облако. Доступно на планах Pro, Max, Team и Enterprise (v2.1.51+).

Remote Control больше не является research preview - этот статус был снят на 34-й неделе 2026 года. Любая машина, на которой запущен claude remote-control, теперь отображается как карточка устройства на вкладке Code в приложении Claude, так что вы можете начать сессию на этой машине прямо со своего телефона, а не запускать её сначала на самой машине и потом к ней подключаться.

Запуск Remote Control

Из CLI:

bash
# Start with default session name
claude remote-control

# Start with a custom name
claude remote-control --name "Auth Refactor"

Внутри сессии:

CODE
/remote-control
/remote-control "Auth Refactor"

Доступные флаги:

FlagDescription
--name "title"Custom session title for easy identification
--verboseShow detailed connection logs
--sandboxEnable filesystem and network isolation
--no-sandboxDisable sandboxing (default)

Подключение к сессии

Три способа подключиться с другого устройства:

  1. URL сессии - выводится в терминал при запуске сессии; откройте его в любом браузере
  2. QR-код - нажмите spacebar после запуска, чтобы отобразить QR-код для сканирования
  3. Поиск по имени - просматривайте свои сессии на claude.ai/code или в мобильном приложении Claude (iOS/Android)

Безопасность

  • Никаких входящих портов на вашей машине не открывается
  • Только исходящие HTTPS-соединения поверх TLS
  • Ограниченные учётные данные - несколько кратковременных токенов с узкой областью действия
  • Изоляция сессий - каждая удалённая сессия независима

Remote Control и Claude Code в вебе

AspectRemote ControlClaude Code on Web
ExecutionRuns on your machineRuns on Anthropic cloud
Local toolsFull access to local MCP servers, files, and CLINo local dependencies
Use caseContinue local work from another deviceStart fresh from any browser

Ограничения

  • Один удалённый сеанс на экземпляр Claude Code
  • Терминал должен оставаться открытым на хост-машине
  • Сеанс завершается по таймауту примерно через 10 минут при отсутствии сетевого соединения

Сценарии использования

  • Управление Claude Code с телефона или планшета, когда вы не за рабочим местом
  • Использование более удобного интерфейса claude.ai с сохранением локального выполнения инструментов
  • Быстрый code review в дороге с полным доступом к вашей локальной среде разработки

Push-уведомления (v2.1.110)

Когда Remote Control активен и в /config включена опция «Push when Claude decides», Claude может отправлять push-уведомления на ваш телефон - например, когда длительная задача завершена или требуется ваше участие.

Как включить:

  1. Активируйте Remote Control: /remote-control или claude --rc
  2. Откройте /config и включите Push when Claude decides

Для push-уведомлений необходимы подписка Claude и мобильное приложение Claude.

Отключение Remote Control (disableRemoteControl, v2.1.128+)

Администраторы на планах Team и Enterprise могут полностью запретить Remote Control с помощью параметра disableRemoteControl. При значении true команды claude remote-control и /remote-control запускаться не будут.

json
{
  "disableRemoteControl": true
}

Настройка задаётся на уровне managed/policy (например, /Library/Application Support/ClaudeCode/managed-settings.json в macOS), поэтому отдельные пользователи не могут её переопределить. Удобно, когда требуется принудительно включить режим локального выполнения в масштабах всей организации.

Когда Remote Control автоматически отключается из-за использования API-ключа (v2.1.139): Remote Control молча отключается при наличии любого из указанных ниже параметров, даже если вы одновременно авторизованы через claude.ai:

  • ANTHROPIC_API_KEY
  • ANTHROPIC_AUTH_TOKEN
  • apiKeyHelper (settings.json)

То же условие отключает /schedule, MCP-коннекторы claude.ai и настройки уведомлений - все четыре возможности, завязанные на claude.ai, работают только тогда, когда активными учётными данными является OAuth-вход. Уберите API-ключ (или используйте OAuth-тариф Pro/Max), чтобы задействовать эти функции.


Веб-сессии

Веб-сессии позволяют запускать Claude Code прямо в браузере по адресу claude.ai/code или создавать их из CLI.

Создание веб-сессии

bash
# Create a new web session from the CLI
claude --remote "implement the new API endpoints"

Это запускает сессию Claude Code на claude.ai, к которой можно обращаться из любого браузера.

Продолжение веб-сессий локально

Если вы начали сессию в вебе и хотите продолжить её локально:

bash
# Resume a web session in the local terminal - opens a picker of your web sessions
claude --teleport

Или из интерактивного REPL:

text
/teleport

/tp - это alias для /teleport. Обе команды требуют подписки claude.ai. В облачных сессиях отображается подсказка /teleport, поясняющая, как продолжить работу локально (v2.1.223).

Источник - changelog: в changelog v2.1.223 указана форма с аргументом, claude --teleport <session id>, которая сразу открывает известную сессию. Справочник CLI документирует только базовую форму с интерактивным выбором, поэтому используйте claude --teleport, если у вас ещё нет готового session ID.

Сценарии использования

  • Начать работу на одной машине и продолжить на другой
  • Поделиться URL сессии с участниками команды
  • Использовать web UI для визуального разбора diff, а затем переключиться в терминал для выполнения

Desktop App

Claude Code Desktop App - это самостоятельное приложение с визуальным просмотром diff, параллельными сессиями и встроенными коннекторами. Доступно для macOS и Windows (тарифы Pro, Max, Team и Enterprise).

Установка

Скачайте с claude.ai версию для вашей платформы:

  • macOS: универсальная сборка (Apple Silicon и Intel)
  • Windows: доступны установщики x64 и ARM64

Инструкции по настройке см. в Desktop Quickstart.

Передача сессии из CLI

Перенесите текущую сессию CLI в Desktop App:

CODE
/desktop

Основные возможности

FeatureDescription
Diff viewFile-by-file visual review with inline comments; Claude reads comments and revises
App previewAuto-starts dev servers with an embedded browser for live verification
PR monitoringGitHub CLI integration with auto-fix CI failures and auto-merge when checks pass
Parallel sessionsMultiple sessions in the sidebar with automatic Git worktree isolation
Scheduled tasksRecurring tasks (hourly, daily, weekdays, weekly) that run while the app is open
Rich renderingCode, markdown, and diagram rendering with syntax highlighting; GitHub-Flavored-Markdown task-list checkboxes (- [ ] / - [x]) render as checkboxes (v2.1.149+)

Настройка предпросмотра приложения

Настройте поведение dev-сервера в .claude/launch.json:

json
{
  "command": "npm run dev",
  "port": 3000,
  "readyPattern": "ready on",
  "persistCookies": true
}

Коннекторы

Подключайте внешние сервисы для расширенного контекста:

ConnectorCapability
GitHubPR monitoring, issue tracking, code review
SlackNotifications, channel context
LinearIssue tracking, sprint management
NotionDocumentation, knowledge base access
AsanaTask management, project tracking
CalendarSchedule awareness, meeting context

Примечание: коннекторы недоступны в удалённых (облачных) сессиях.

Удалённые и SSH-сессии

  • Удалённые сессии: выполняются в облачной инфраструктуре Anthropic и продолжают работать даже при закрытом приложении. Доступны через claude.ai/code и мобильное приложение Claude
  • SSH-сессии: подключение к удалённым машинам по SSH с полным доступом к их файловой системе и инструментам. На удалённой машине должен быть установлен Claude Code

Режимы разрешений в Desktop

Desktop App поддерживает те же режимы разрешений, что и CLI:

ModeBehavior
Ask permissions (default)Review and approve every edit and command
Auto accept editsFile edits auto-approved; commands require manual approval
Plan modeReview approach before any changes are made
Bypass permissionsAutomatic execution (sandbox-only, admin-controlled)

Корпоративные возможности

  • Консоль администратора: управление доступом к вкладке Code и настройками разрешений для организации
  • Развёртывание через MDM: развёртывание с помощью MDM в macOS или MSIX в Windows
  • Интеграция с SSO: обязательный единый вход для участников организации
  • Централизованные настройки: единое управление конфигурацией команды и доступностью моделей

Список задач

Функция Task List обеспечивает постоянное отслеживание задач, которое сохраняется при сжатии контекста (когда история диалога обрезается, чтобы уместиться в контекстное окно).

Переключение списка задач

Нажмите Ctrl+T, чтобы показать или скрыть список задач во время сессии.

Постоянное хранение задач

Задачи сохраняются при сжатии контекста, благодаря чему длительные задачи не теряются при обрезке истории диалога. Это особенно полезно при сложных, многоэтапных реализациях.

Именованные каталоги задач

Используйте переменную окружения CLAUDE_CODE_TASK_LIST_ID, чтобы создавать именованные каталоги задач, общие для нескольких сессий:

bash
export CLAUDE_CODE_TASK_LIST_ID=my-project-sprint-3

Это позволяет нескольким сессиям использовать общий список задач, что удобно для командной работы или проектов, охватывающих несколько сессий.


Подсказки prompt'ов

Подсказки prompt'ов показывают приглушённые серым примеры команд на основе вашей истории git и текущего контекста беседы.

Как это работает

  • Подсказки отображаются серым текстом под полем ввода prompt'а
  • Нажмите Tab, чтобы принять подсказку
  • Нажмите Enter, чтобы принять и сразу отправить
  • Подсказки учитывают контекст, опираясь на историю git и состояние беседы

Отключение подсказок prompt'ов

bash
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Git Worktrees

Git Worktrees позволяют запускать Claude Code в изолированном worktree, что дает возможность параллельно работать над разными ветками без stash или переключения.

Запуск в Worktree

</query> ```bash # Start Claude Code in an isolated worktree claude --worktree # or claude -w ``` ### Расположение worktree

Worktree создаются в:

CODE
<repo>/.claude/worktrees/<name>

Sparse checkout для монорепозиториев

Используйте параметр worktree.sparsePaths, чтобы выполнять sparse-checkout в монорепозиториях, сокращая расход дискового пространства и время клонирования:

json
{
  "worktree": {
    "sparsePaths": ["packages/my-package", "shared/"]
  }
}

Базовая ветка (worktree.baseRef)

worktree.baseRef (добавлено в v2.1.133) - определяет, от чего claude --worktree создаёт ветку: от origin/<default> или от локального HEAD.

  • "fresh" (по умолчанию) - создавать ветку от origin/<default-branch>, игнорируя локальные неотправленные commits. Это возвращает поведение, действовавшее до v2.1.128, поэтому тем, кто после v2.1.128 полагался на ветвление от локального HEAD, нужно явно включить прежний режим.
  • "head" - создавать ветку от локального HEAD, сохраняя неотправленные commits.

Задаётся в ~/.claude/settings.json:

json
{ "worktree": { "baseRef": "head" } }

Изоляция фоновых сессий (worktree.bgIsolation)

worktree.bgIsolation (добавлено в v2.1.143) - определяет, будут ли фоновые сессии (например, запущенные через /bg, claude --bg или из Agent View) работать в собственном worktree или напрямую редактировать рабочую копию основной сессии.

  • (по умолчанию) - фоновые сессии создают изолированный worktree в <repo>/.claude/worktrees/, аналогично флагу --worktree.
  • "none" - фоновые сессии редактируют текущую рабочую копию напрямую. Используйте этот режим, когда worktree неудобны (например, при тяжёлых артефактах нативной сборки) или когда фоновый агент должен согласовывать правки с основной сессией.
json
{ "worktree": { "bgIsolation": "none" } }

Компромисс: "none" убирает подстраховку в виде изоляции worktree - одновременные правки из фоновых и активных сессий могут приводить к merge-конфликтам в рабочей копии.

Инструменты worktree и hooks

ItemDescription
EnterWorktreeTool to enter a worktree; as of v2.1.157 it can switch between Claude-managed worktrees mid-session
ExitWorktreeTool to exit and clean up the current worktree
WorktreeCreateHook event fired when a worktree is created
WorktreeRemoveHook event fired when a worktree is removed
Начиная с v2.1.157, worktree, управляемые Claude, остаются разблокированными после завершения работы агента, поэтому их можно удалить через git worktree remove/prune.

Автоочистка

Если в worktree не было внесено изменений, он автоматически удаляется по завершении сессии.

Сценарии использования

  • Работа над feature-веткой без изменений в main
  • Запуск тестов в изоляции, не затрагивая рабочую директорию
  • Проверка экспериментальных изменений в одноразовом окружении
  • Sparse-checkout отдельных пакетов в монорепозиториях для ускорения запуска

Sandboxing

Sandboxing обеспечивает изоляцию файловой системы и сети на уровне ОС для Bash-команд, выполняемых Claude Code. Этот механизм дополняет правила разрешений и добавляет дополнительный уровень безопасности.

Включение Sandboxing

Slash-команда:

CODE
/sandbox

Флаги CLI:

bash
claude --sandbox       # Enable sandboxing
claude --no-sandbox    # Disable sandboxing

Параметры конфигурации

SettingDescription
sandbox.enabledEnable or disable sandboxing
sandbox.failIfUnavailableFail if sandboxing cannot be activated
sandbox.filesystem.allowWritePaths allowed for write access
sandbox.filesystem.allowReadPaths allowed for read access
sandbox.filesystem.denyReadPaths denied for read access
sandbox.network.allowedDomainsDomains Bash-launched processes are allowed to reach (supports *. wildcard)
sandbox.network.deniedDomainsDomains to block even when allowedDomains wildcard would otherwise permit them (v2.1.113+)
sandbox.network.strictAllowlist(v2.1.219) Deny non-allowlisted hosts for sandboxed commands without prompting
sandbox.enableWeakerNetworkIsolationEnable weaker network isolation on macOS
sandbox.bwrapPath(v2.1.133+, Linux/WSL) Path to the bubblewrap binary. Default: $PATH lookup.
sandbox.socatPath(v2.1.133+, Linux/WSL) Path to the socat binary. Default: $PATH lookup.
sandbox.credentials(v2.1.187+) Block sandboxed commands from reading credential files and secret environment variables.
sandbox.allowAppleEvents(v2.1.181+, macOS) Opt in to let sandboxed commands send Apple Events.
sandbox.filesystem.disabled(v2.1.216+) Skip filesystem isolation entirely while keeping network isolation enforced - useful when file sandboxing breaks tooling but network egress control must stay active. Only honored from user settings, managed settings, or --settings; project settings can't set it.
Пути к бинарным файлам Linux/WSL (v2.1.133+) - укажите Claude Code нестандартные каталоги установки:
json
{
  "sandbox": {
    "bwrapPath": "/opt/bubblewrap/bin/bwrap",
    "socatPath": "/opt/socat/bin/socat"
  }
}

Пример того, как deniedDomains переопределяет широкий wildcard (v2.1.113+):

json
{
  "sandbox": {
    "network": {
      "allowedDomains": ["*.example.com"],
      "deniedDomains": ["evil.example.com"]
    }
  }
}

Wildcard-шаблон пропускает всё для example.com, но deniedDomains всё равно блокирует конкретно указанный host.

Примечание (v2.1.243): диалог запроса разрешений в sandbox-режиме Bash-инструмента больше не показывает список разрешённых сетевых hosts. Claude просто пытается выполнить запрос, а вы одобряете каждый новый host по мере его появления - так что не ждите, что prompt заранее покажет вам весь allowlist. В том же релизе перестали теряться детали нарушений сетевых правил в тех случаях, когда заблокированная команда завершается с кодом 0, - теперь даже внешне «тихий» успешный вызов всё равно сообщает, что именно было заблокировано.

Маскирование учётных данных (v2.1.221, v2.1.224)

По материалам changelog: описанные опции sandbox.credentials взяты из записей changelog для v2.1.221 и v2.1.224; в справочнике по настройкам они пока подробно не описаны.

До v2.1.221 sandbox.credentials умел только deny для файла с учётными данными - sandbox-команда, которой этот файл был нужен, просто падала с ошибкой. mode: "mask" сохраняет работоспособность команды, не раскрывая секрет: sandbox-процесс читает sentinel-копию файла, а sandbox proxy подставляет реальное значение уже на выходе, при отправке в сеть.

json
{
  "sandbox": {
    "network": { "tlsTerminate": true },
    "credentials": {
      "files": [
        { "path": "~/.aws/credentials", "mode": "mask" }
      ]
    }
  }
}
CapabilitySinceWhat it does
mode: "mask" for credential filesv2.1.221Sandboxed commands read a sentinel; the proxy swaps in the real value on egress. Linux and WSL only - on macOS file masking falls back to deny.
extract / onExtractNoMatchv2.1.224Mask one field inside a structured environment value instead of the whole variable, and decide what happens when the pattern doesn't match.
decode: "jwt" with maskClaimsv2.1.224Decode a JWT and mask only the named claims, leaving the rest readable.
awsPairs / sigv4v2.1.224Re-sign AWS SigV4 requests at the proxy after substituting the real access key.
Два ограничения, которые легко упустить:
  • Для любого маскирования требуется network.tlsTerminate - proxy должен видеть содержимое запроса, чтобы подставить значение.
  • Эти опции учитываются только из пользовательских настроек, managed settings или --settings. Настройки проекта не могут включить маскирование или изменить набор маскируемых значений.

Пример конфигурации

json
{
  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true,
    "filesystem": {
      "allowWrite": ["/Users/me/project"],
      "allowRead": ["/Users/me/project", "/usr/local/lib"],
      "denyRead": ["/Users/me/.ssh", "/Users/me/.aws"]
    },
    "enableWeakerNetworkIsolation": true
  }
}

Как это работает

  • Команды Bash выполняются в песочнице с ограниченным доступом к файловой системе
  • Сетевой доступ можно изолировать, чтобы исключить непреднамеренные внешние подключения
  • Работает совместно с правилами разрешений, обеспечивая эшелонированную защиту
  • На macOS для ограничения сети используйте sandbox.enableWeakerNetworkIsolation (полная сетевая изоляция на macOS недоступна)

Сценарии использования

  • Безопасный запуск недоверенного или сгенерированного кода
  • Защита от случайного изменения файлов за пределами проекта
  • Ограничение сетевого доступа при выполнении автоматизированных задач

Управляемые настройки (Enterprise)

Управляемые настройки позволяют корпоративным администраторам разворачивать конфигурацию Claude Code в масштабах всей организации с помощью штатных средств управления платформы.

Способы развёртывания

PlatformMethodSince
macOSManaged plist files (MDM)v2.1.51+
WindowsWindows Registryv2.1.51+
Cross-platformManaged configuration filesv2.1.51+
Cross-platformManaged drop-ins (managed-settings.d/ directory)v2.1.83+

Управляемые drop-in-файлы

Начиная с версии v2.1.83, администраторы могут размещать несколько управляемых файлов настроек в каталоге managed-settings.d/. Файлы объединяются в алфавитном порядке, что позволяет организовать модульную конфигурацию для разных команд:

CODE
~/.claude/managed-settings.d/
  00-org-defaults.json
  10-team-policies.json
  20-project-overrides.json

Доступные управляемые настройки

SettingDescription
disableBypassPermissionsModePrevent users from enabling bypass permissions
availableModelsRestrict which models users can select
enforceAvailableModels(v2.1.175) When true, the availableModels allowlist also constrains the Default model - if the configured default is not in the list, Claude Code falls back to the first allowed model. User and project settings can no longer widen a managed availableModels list.
allowedChannelPluginsControl which channel plugins are permitted
autoMode.environmentConfigure trusted infrastructure for auto mode
workflowSizeGuideline(v2.1.219) Set the advisory dynamic workflow size guideline. Readable from any settings file, not just managed settings; while one sets it, the Dynamic workflow size row is hidden from /config
wslInheritsWindowsSettingsWindows/WSL only (v2.1.118+): when true, Claude Code running inside WSL inherits managed settings from the Windows host, so enterprise policies deployed via Registry/MDM apply uniformly across the Windows and WSL shells
parentSettingsBehavior(v2.1.133+, admin-tier) Controls how the SDK's managedSettings merges with parent-process settings. "first-wins" keeps existing precedence (earlier setting wins on conflict); "merge" deep-merges values.
Custom policiesOrganization-specific permission and tool policies

Пример: macOS Plist

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>disableBypassPermissionsMode</key>
  <true/>
  <key>availableModels</key>
  <array>
    <string>claude-sonnet-4-6</string>
    <string>claude-haiku-4-5</string>
  </array>
</dict>
</plist>

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Конфигурация и настройки

Расположения файлов конфигурации

  1. Глобальная конфигурация: ~/.claude/config.json
  2. Конфигурация проекта: ./.claude/config.json
  3. Конфигурация пользователя: ~/.config/claude-code/settings.json

Полный пример конфигурации

Конфигурация основных расширенных возможностей:

</query> ```json { "permissions": { "defaultMode": "manual" }, "hooks": { "PreToolUse:Edit": "eslint --fix ${file_path}", "PostToolUse:Write": "~/.claude/hooks/security-scan.sh" }, "mcp": { "enabled": true, "servers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] } } } } ``` **Расширенный пример конфигурации:** ```json { "permissions": { "defaultMode": "manual", "allowedTools": ["Bash(git log:*)", "Read"], "disallowedTools": ["Bash(rm -rf:*)"] },

"hooks": { "PreToolUse": [{ "matcher": "Edit", "hooks": ["eslint --fix ${file_path}"] }], "PostToolUse": [{ "matcher": "Write", "hooks": ["/.claude/hooks/security-scan.sh"] }], "Stop": [{ "hooks": ["/.claude/hooks/notify.sh"] }] },

"mcp": { "enabled": true, "servers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } } } } }

CODE
### Дополнительные пользовательские настройки

Эти ключи задаются в `~/.claude/settings.json` (или в проектном `.claude/settings.json`) и управляют интерактивным поведением конкретного пользователя:
| Setting | Description |
|---------|-------------|
| `askUserQuestionTimeout` | Auto-continue an unanswered `AskUserQuestion` dialog after an idle interval. As of **v2.1.200** dialogs no longer auto-continue by default - set this to opt back into timed auto-continue. |
| `enableArtifact` | Per-user enable/disable of the Artifact tool (v2.1.196). |
| `crossSessionInbound` | (v2.1.224) How inbound [cross-session messages](#cross-session-messaging) are handled - `"accept"`, `"hold"`, or `"refuse"`. Project and local values apply only when *stricter* on the `accept < hold < refuse` ladder. Exposed in `/config` as "Messages from your other sessions" since v2.1.232. |
| `dialogExpiry` | (v2.1.224) How long an unanswered dialog stays open. Default `"5m"`; accepts `"60s"`, `"5m"`, `"10m"`, or `"never"`. Overridden by `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`. Exposed in `/config` as "Dialog expiry" since v2.1.232. |
| `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 - the nearest-scope value wins outright. |
| `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"`.) |
| `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. |
| `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`. |
### Резервные модели (`fallbackModel`)

Настройка `fallbackModel` позволяет задать **до трёх** резервных моделей, которые будут задействоваться по очереди, если основная модель перегружена или недоступна.
```json
{
  "fallbackModel": ["claude-opus-4-8", "claude-sonnet-4-6", "claude-haiku-4-5"]
}

Начиная с v2.1.166 флаг --fallback-model применяется также к интерактивным сессиям (а не только к headless). При переключении на fallback Claude Code один раз повторяет запрос при неожиданной неповторяемой ошибке; ошибки аутентификации, превышения лимита запросов, размера запроса и транспортные ошибки по-прежнему приводят к немедленному завершению.

Переменные окружения

Переопределение конфигурации через переменные окружения:

bash
# Model selection
export ANTHROPIC_MODEL=claude-opus-4-8
export ANTHROPIC_DEFAULT_MODEL=claude-opus-4-8   # (v2.1.236) Model new sessions start on. Unlike ANTHROPIC_MODEL, a /model pick still overrides it - and that pick persists across restarts
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-8
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

# API configuration
export ANTHROPIC_API_KEY=sk-ant-...

# Thinking configuration
export MAX_THINKING_TOKENS=16000
export CLAUDE_CODE_EFFORT_LEVEL=high   # low, medium, high, xhigh (Opus 5/4.8/4.7), or max - default is high on Opus 5 and Opus 4.8 (supported on Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 4.6)

# Feature toggles
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=true
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=true
export CLAUDE_CODE_DISABLE_CRON=1
export CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=true
export CLAUDE_CODE_DISABLE_TERMINAL_TITLE=true
export CLAUDE_CODE_DISABLE_1M_CONTEXT=true
export CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=true
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
export CLAUDE_CODE_ENABLE_TASKS=true
export CLAUDE_CODE_SIMPLE=true              # Set by --bare flag

# MCP configuration
export MAX_MCP_OUTPUT_TOKENS=50000
export ENABLE_TOOL_SEARCH=true

# Prompt caching
export ENABLE_PROMPT_CACHING_1H=1      # Use 1-hour prompt cache TTL (default is 5 min)

# Task management
export CLAUDE_CODE_TASK_LIST_ID=my-project-tasks

# Agent teams (experimental)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

# Subagent and plugin configuration
export CLAUDE_CODE_SUBAGENT_MODEL=sonnet
export CLAUDE_CODE_PLUGIN_SEED_DIR=./my-plugins
export CLAUDE_CODE_NEW_INIT=1

# Subprocess and streaming
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB="SECRET_KEY,DB_PASSWORD"
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80
export CLAUDE_STREAM_IDLE_TIMEOUT_MS=30000
export ANTHROPIC_CUSTOM_MODEL_OPTION=my-custom-model
export SLASH_COMMAND_TOOL_CHAR_BUDGET=50000

# Output and package manager (v2.1.129+)
export CLAUDE_CODE_FORCE_SYNC_OUTPUT=1                      # Force synchronous output for terminals where auto-detect misses (Emacs eat, etc.)
export CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1            # Enable background upgrades for Homebrew/WinGet installs
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1         # Opt in to /v1/models gateway discovery when ANTHROPIC_BASE_URL is set

# Windows PowerShell tool (v2.1.143+) - default-on for Bedrock/Vertex/Foundry on Windows
export CLAUDE_CODE_USE_POWERSHELL_TOOL=0                    # Disable the PowerShell tool entirely
export CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1    # Honor system ExecutionPolicy instead of `-ExecutionPolicy Bypass`

# Workload identity federation (v2.1.141+)
export ANTHROPIC_WORKSPACE_ID=ws_abc123                     # Scope the federated token to a specific workspace when the rule covers multiple

# Stop hook safety cap (v2.1.143+)
export CLAUDE_CODE_STOP_HOOK_BLOCK_CAP=8                    # Max consecutive Stop-hook blocks before the session ends with a warning. Set 0 to disable the cap.

# Session-wide spawn caps (v2.1.212)
export CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION=200         # Cap on WebSearch tool calls per session, to stop runaway search loops. Default 200.

# Accessibility (v2.1.208)
export CLAUDE_AX_SCREEN_READER=1                            # Enable plain-text screen reader rendering mode. Same effect as --ax-screen-reader or "axScreenReader": true in settings.

# Newer variables (v2.1.221-v2.1.234) - changelog-sourced; the CLI reference has no env-var section
export CLAUDE_CODE_ENABLE_TODO_TOOLS=1                      # (v2.1.233) Restore the todo/task-tracking tools (TaskCreate/Get/Update/List, TodoWrite), which are off on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models
export CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS=900000             # (v2.1.233) WebFetch URL cache TTL. Default 15 minutes.
export CLAUDE_CODE_TOOL_MEMORY_LIMIT=2G                     # (v2.1.233, Linux) Opt-in memory cgroup applied to Bash commands
export ANTHROPIC_BEDROCK_REGION_PREFIX=us                   # (v2.1.224) Prefer a specific Bedrock cross-region inference profile
export CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1  # (v2.1.223) Restore pre-v2.1.223 auto-compact behavior on unrecognized model IDs
export CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0             # (v2.1.229) Disable prefix staggering on dynamic-workflow fan-out
export CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS=300000            # (v2.1.224) Overrides the dialogExpiry setting
export CLAUDE_CODE_PROJECT_DIR_NAME=my-app                  # (v2.1.234) Short name for the per-project transcript directory, for hosts that give each session its own config directory
export CLAUDE_CODE_GOAL_CHECKIN_MINUTES=30                  # (v2.1.234) Minutes a background task may stall before Claude checks in while a /goal is active. Set 0 to disable check-ins.

v2.1.223 - расширено действие CLAUDE_CODE_DISABLE_1M_CONTEXT: переменная теперь распространяется на все модели Claude с нативным окном в 1M токенов, снижая его до 200K через автокомпакцию, а не только на фиксированный список идентификаторов моделей.

v2.1.108: ENABLE_PROMPT_CACHING_1H=1 - использовать TTL prompt-кэша в 1 час вместо стандартных 5 минут. Уменьшает число промахов кэша в длительных стабильных сессиях. (В v2.1.129 исправлена регрессия, из-за которой часовой TTL молча понижался до 5 минут.)

v2.1.129: CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 принудительно включает синхронный вывод для терминалов, в которых автоопределение возможностей не срабатывает (например, Emacs eat). CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 включает фоновое обновление для установок через Homebrew/WinGet, которые иначе никогда не обновляются автоматически.

Команды управления конфигурацией

CODE
User: /config
[Opens interactive configuration menu]

Команда /config открывает интерактивное меню для переключения настроек, таких как:

  • Расширенное мышление (вкл./выкл.)
  • Подробный вывод
  • Режим разрешений
  • Выбор модели
  • Динамический размер workflow (v2.1.219) - скрыт, если в файле настроек задан параметр workflowSizeGuideline, см. Dynamic Workflows

В интерактивном меню нажмите Enter или Space, чтобы изменить выбранную настройку, и Esc, чтобы сохранить изменения и закрыть меню (v2.1.183+).

Также можно задать настройку прямо из промпта, не открывая меню:

bash
/config thinking=false      # set a single setting inline (v2.1.181+)
/config --help              # list available shorthand keys (v2.1.183+)

Краткая форма key=value работает в интерактивных сессиях, с флагом -p и в Remote Control.

Конфигурация на уровне проекта

Создайте файл .claude/config.json в корне проекта:

json
{
  "hooks": {
    "PreToolUse": [{ "matcher": "Bash", "hooks": ["npm test && npm run lint"] }]
  },
  "permissions": {
    "defaultMode": "manual"
  },
  "mcp": {
    "servers": {
      "project-db": {
        "command": "mcp-postgres",
        "env": {
          "DATABASE_URL": "${PROJECT_DB_URL}"
        }
      }
    }
  }
}

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Области доверия и разрешений

> На основе changelog (v2.1.222, v2.1.232): эти ужесточения взяты из changelog; > справочник настроек пока не описывает их явно.

Повторяющаяся тема последних релизов: настройки, важные для безопасности, больше не могут быть расширены репозиторием, который вы клонировали. Три изменения, о которых стоит знать.

Вложенным репозиториям нужно отдельное подтверждение доверия (v2.1.232). git-репозиторий внутри доверенной родительской директории больше не наследует это доверие. Если вы доверяете ~/work/monorepo, а он содержит vendored submodule, вам предложат отдельно доверить submodule при первом запуске Claude Code внутри него.

sandbox.ripgrep доступен только в user-scope (v2.1.232). Настройка, которая задает ripgrep binary, используемый sandbox, учитывается только из пользовательских настроек, managed settings или --settings. Project settings больше не могут направить sandbox на другой binary.

Автозапуск Remote Control доступен только в user-scope (v2.1.222). Repo-local settings не могут включать автозапуск Remote Control; его можно включить только в user scope через /config.

Паттерн, который стоит усвоить: если настройка позволила бы файлу, добавленному в репозиторий, расширить то, что Claude Code разрешено делать на вашей машине, считайте, что теперь она доступна только в user-scope.


Команды агентов

Команды агентов - экспериментальная функция, которая позволяет нескольким экземплярам Claude Code совместно работать над задачей. По умолчанию она отключена.

Включение команд агентов

Включите через переменную окружения или настройки:

</query> ```bash # Environment variable export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 ``` Или добавьте в ваш JSON-файл настроек: ```json { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } ``` ### Как работают команды агентов
  • Тимлид координирует общую задачу и делегирует подзадачи участникам команды
  • Участники команды работают независимо, каждый в своём собственном контекстном окне
  • Общий список задач обеспечивает самокоординацию между участниками
  • Используйте определения субагентов (.claude/agents/ или флаг --agents), чтобы задать роли и специализации участников команды

Режимы отображения

Команды агентов поддерживают два режима отображения, задаваемых флагом --teammate-mode:

ModeDescription
in-process (default)Teammates run within the same terminal process
tmuxEach teammate gets a dedicated split pane (requires tmux or iTerm2)
autoAutomatically selects the best display mode
bash
# Use tmux split panes for teammate display
claude --teammate-mode tmux

# Explicitly use in-process mode
claude --teammate-mode in-process

Сценарии использования

  • Крупные задачи рефакторинга, где разные участники команды отвечают за разные модули
  • Параллельный code review и реализация
  • Согласованные изменения в нескольких файлах кодовой базы

Примечание: Agent Teams - экспериментальная функция, которая может измениться в будущих релизах. Полный справочник см. на code.claude.com/docs/en/agent-teams.


Лучшие практики

Режим планирования

  • ✅ Используйте для сложных многошаговых задач
  • ✅ Проверяйте планы перед утверждением
  • ✅ Корректируйте планы при необходимости
  • ❌ Не используйте для простых задач

Extended Thinking

  • ✅ Используйте для архитектурных решений
  • ✅ Используйте для решения сложных задач
  • ✅ Анализируйте ход рассуждений
  • ❌ Не используйте для простых запросов

Фоновые задачи

  • ✅ Используйте для длительных операций
  • ✅ Отслеживайте ход выполнения задач
  • ✅ Аккуратно обрабатывайте сбои задач
  • ❌ Не запускайте слишком много параллельных задач одновременно

Разрешения

  • ✅ Используйте plan для code review (только чтение)
  • ✅ Используйте default для интерактивной разработки
  • ✅ Используйте acceptEdits для сценариев автоматизации
  • ✅ Используйте auto для автономной работы с защитными ограничениями
  • ❌ Не используйте bypassPermissions без крайней необходимости

Сессии

  • ✅ Используйте отдельные сессии для разных задач
  • ✅ Сохраняйте важные состояния сессий
  • ✅ Удаляйте старые сессии
  • ❌ Не смешивайте несвязанные задачи в одной сессии

Дополнительные материалы

Подробнее о Claude Code и связанных возможностях:


Последнее обновление: 6 сентября 2026 г. Версия Claude Code: 2.1.263 Источники:

ЛОКАЛЬНАЯ ОТМЕТКА · БЕЗ ПРОВЕРКИ
cc-learnМОДУЛЬ 09
МОДУЛЬ 09/УРОК

Продвинутые возможности

Расширенные возможности

Подробное руководство по расширенным возможностям Claude Code: режим планирования, extended thinking, режим auto, фоновые задачи, режимы разрешений, режим печати (неинтерактивный), управление сессиями, интерактивные возможности, каналы, голосовой ввод, удалённое управление, веб-сессии, десктоп-приложение, список задач, подсказки промптов, git worktrees, песочница, управляемые настройки и конфигурация.

Содержание

  1. Обзор
  2. Режим планирования
  3. Extended Thinking
  4. Режим Auto
  5. Фоновые задачи
  6. Инструмент Monitor (событийно-управляемые потоки)
  7. Динамические workflow
  8. Задачи по расписанию
  9. Режимы разрешений
  10. Headless-режим
  11. Управление сессиями
  12. Обмен сообщениями между сессиями
  13. Интерактивные возможности
  14. Стили вывода
  15. Строка состояния
  16. Режим TUI (полноэкранный)
  17. Голосовой ввод
  18. Каналы
  19. Интеграция с Chrome
  20. Удалённое управление
  21. Веб-сессии
  22. Десктоп-приложение
  23. Список задач
  24. Подсказки промптов
  25. Git Worktrees
  26. Песочница
  27. Управляемые настройки (Enterprise)
  28. Конфигурация и настройки
  29. Область доверия и разрешений
  30. Команды агентов
  31. Лучшие практики
  32. Дополнительные материалы

Обзор

Расширенные возможности Claude Code дополняют базовый функционал механизмами планирования, рассуждения, автоматизации и контроля. Они позволяют выстраивать сложные workflow для нетривиальных задач разработки, code review, автоматизации и одновременной работы с несколькими сессиями.

Ключевые расширенные возможности:

  • Режим планирования: составление детальных планов реализации перед написанием кода
  • Extended Thinking: глубокие рассуждения для сложных задач
  • Режим Auto: фоновый классификатор безопасности проверяет каждое действие перед выполнением
  • Фоновые задачи: запуск длительных операций без блокировки диалога
  • Режимы разрешений: контроль того, что может делать Claude (manual - ранее default, acceptEdits, plan, auto, dontAsk, bypassPermissions)
  • Режим печати: неинтерактивный запуск Claude Code для автоматизации и CI/CD (claude -p)
  • Управление сессиями: работа с несколькими рабочими сессиями
  • Интерактивные возможности: горячие клавиши, многострочный ввод и история команд
  • Голосовой ввод: push-to-talk с поддержкой STT для 20 языков
  • Каналы: MCP-серверы доставляют сообщения в запущенные сессии (Research Preview)
  • Удалённое управление: управление Claude Code из Claude.ai или приложения Claude
  • Веб-сессии: запуск Claude Code в браузере по адресу claude.ai/code
  • Десктоп-приложение: отдельное приложение для визуального просмотра diff и работы с несколькими сессиями
  • Список задач: постоянное отслеживание задач, сохраняющееся при уплотнении контекста
  • Подсказки промптов: контекстно-зависимые предложения команд
  • Git Worktrees: изолированные worktree-ветки для параллельной работы
  • Песочница: изоляция файловой системы и сети на уровне ОС
  • Управляемые настройки: корпоративное развёртывание через plist, реестр Windows или управляемые файлы
  • Конфигурация: настройка поведения через JSON-файлы

Режим планирования

Режим планирования позволяет Claude заранее продумать сложную задачу и составить детальный план, который вы можете просмотреть и утвердить перед реализацией.

Что такое режим планирования?

Это двухэтапный подход:

  1. Этап планирования: Claude анализирует задачу и составляет детальный план реализации
  2. Этап реализации: после утверждения Claude выполняет план

Когда использовать режим планирования

✅ Используйте режим планирования для:

  • сложного рефакторинга с изменениями в нескольких файлах;
  • реализации новой функциональности;
  • архитектурных изменений;
  • миграций баз данных;
  • крупных переработок API.

❌ Не используйте режим планирования для:

  • простых исправлений багов;
  • изменений форматирования;
  • правок в одном файле;
  • быстрых запросов.

Активация режима планирования

Slash-команда:

bash
/plan Implement user authentication system

Флаг CLI:

bash
claude --permission-mode plan

Установить по умолчанию:

json
{
  "permissions": {
    "defaultMode": "plan"
  }
}

Горячие клавиши:

  • Shift + Tab - переключение режимов доступа (включая режим планирования)
  • Alt + M - переключение режимов доступа (Windows/Linux)

Преимущества режима планирования

  • Структурированный подход к реализации: детальная разбивка на шаги реализации
  • Проверка и утверждение: возможность утвердить или скорректировать план перед выполнением
  • Выявление рисков: обнаружение потенциальных проблем до начала реализации
  • Чёткие этапы: упорядоченные фазы реализации и контрольные точки

Пример: реализация новой функции

CODE
User: /plan Add a real-time notification system

Claude: I'll create a plan for implementing real-time notifications.

## Implementation Plan

### Phase 1: Infrastructure Setup
1. Install WebSocket libraries (socket.io)
2. Set up WebSocket server
3. Configure connection management

### Phase 2: Backend Implementation
4. Create notification service
5. Implement notification queue
6. Add database schema for notifications
7. Create API endpoints

### Phase 3: Frontend Integration
8. Set up WebSocket client
9. Create notification UI components
10. Implement notification state management
11. Add notification permissions

### Phase 4: Testing & Deployment
12. Write unit tests
13. Write integration tests
14. Update documentation
15. Deploy to staging

Estimated time: 3-4 hours
Files to modify: 12
New files to create: 8

Ready to proceed? (yes/no/modify plan)

User: yes

Claude: [Begins implementation following the plan]

Изменения плана

CODE
User: Modify the plan - skip the queue for now, we'll add it later

Claude: Updated plan:
[Shows modified plan with queue removed]

User: Looks good, proceed

Claude: [Implements modified plan]

Настройка режима планирования

Режим планирования активируется CLI-флагом или slash-командой:

bash
# Activate plan mode via CLI
claude --permission-mode plan

# Or use the /plan slash command inside the REPL
/plan Implement user authentication system

Алиас модели для планирования: используйте алиас opusplan, чтобы задействовать Opus на этапе планирования и Sonnet - на этапе выполнения:

bash
claude --model opusplan "design and implement the new API"

Редактирование плана во внешнем редакторе: нажмите Ctrl+G, чтобы открыть текущий план во внешнем редакторе для детальной правки.

Обновление v2.1.112: файлы планов теперь именуются по промпту, который их породил (а не случайными словами), - так их проще просматривать и переиспользовать.

Обновление v2.1.136 - блокировка записи в plan mode стала безусловной: режим планирования теперь блокирует любую запись в файлы, в том числе при наличии подходящего правила Edit(...) в permissions.allow. Раньше разрешающее правило Edit(...) могло пропускать запись в режиме планирования; эта лазейка закрыта. Если ваш workflow полагался на прежнее поведение, выйдите из режима планирования (Shift+Tab) перед редактированием.


Extended Thinking

Extended Thinking позволяет Claude уделять больше времени рассуждениям над сложными задачами перед тем, как выдать решение.

Что такое Extended Thinking?

Extended Thinking - это целенаправленный пошаговый процесс рассуждения, в котором Claude:

  • разбивает сложные задачи на части;
  • рассматривает несколько подходов;
  • взвешивает компромиссы;
  • прорабатывает граничные случаи.

Активация Extended Thinking

Горячая клавиша:

  • Option + T (macOS) / Alt + T (Windows/Linux) - включить/выключить Extended Thinking.

Автоматическая активация:

  • Включено по умолчанию для всех моделей (Opus 5, Opus 4.8, Opus 4.7, Sonnet 4.6, Haiku 4.5).
  • Opus 5 / Opus 4.8: адаптивное рассуждение с уровнями effort: low (○), medium (◐), high (●), xhigh, max. По умолчанию используется high на Opus 5 (v2.1.219), Opus 4.8 (v2.1.154), Opus 4.6 и Sonnet 4.6, и xhigh - на Opus 4.7. xhigh доступен на Opus 5, Opus 4.8 и Opus 4.7 (на Opus 4.6 / Sonnet 4.6 откатывается до high). max работает на Opus 5, Opus 4.8/4.7/4.6 и Sonnet 4.6 (только в пределах сессии). У Haiku 4.5 уровней effort нет. Opus 5, Opus 4.8 и Opus 4.7 имеют нативное контекстное окно на 1M токенов (исправление для 1M-контекста появилось в v2.1.117 - до этого /context ошибочно считал Opus 4.7 относительно окна 200K и вызывал преждевременный autocompact). Начиная с v2.1.129 /context отображает визуализацию только в UI; ASCII-визуализация больше не утекает в контекст диалога (экономия ~1,6k токенов на вызов), так что /context можно вызывать без опаски.
  • Подписчики Pro/Max на Opus 4.6 / Sonnet 4.6: значение effort по умолчанию повышено с medium до high в v2.1.117.
  • Остальные модели: фиксированный бюджет до 31 999 токенов.

Способы настройки:

  • Переключение: Alt+T / Option+T либо через /config.
  • Просмотр рассуждений: Ctrl+O (verbose mode).
  • Установка effort: команда /effort или флаг --effort.

Пользовательский бюджет:

bash
export MAX_THINKING_TOKENS=1024

Уровень усилий (поддерживается в Opus 5, Opus 4.8, Opus 4.7, Opus 4.6 и Sonnet 4.6 - но не в Haiku 4.5):

bash
export CLAUDE_CODE_EFFORT_LEVEL=high   # low (○), medium (◐), high (●), xhigh (Opus 5/4.8/4.7), or max - default is high on Opus 5 and Opus 4.8

Флаг CLI:

bash
claude --effort high "complex architectural review"

Slash-команда:

CODE
/effort high

Примечание: ключевое слово «ultrathink» в промптах активирует режим глубокого reasoning. Уровни effort low, medium, high и max поддерживаются на Opus 5, Opus 4.8, Opus 4.7, Opus 4.6 и Sonnet 4.6 (у Haiku 4.5 их нет). xhigh доступен на Opus 5, Opus 4.8 и Opus 4.7. Effort по умолчанию - high на Opus 5, Opus 4.8 (а также Opus 4.6 / Sonnet 4.6) и xhigh на Opus 4.7. В отличие от Opus 4.8 и Opus 4.7, которые закрепляют свой effort по умолчанию при первом запуске, у Opus 5 такой фиксации нет - ранее выставленный вами уровень сохраняется. В меню /effort также есть пункт ultracode, который не является уровнем effort модели: он отправляет xhigh и поручает Claude оркестрировать динамические workflow (только в рамках текущей сессии).

Fallback классификатора безопасности на Opus 5

В дополнение к настройке fallbackModel (которая отвечает за перегрузку и недоступность), Claude Code применяет fallback по категориям, когда классификатор безопасности помечает запрос. Требуется Claude Code v2.1.219 или новее.

  • Opus 5: запросы, помеченные как cybersecurity, повторно выполняются на Opus 4.8. Запросы, помеченные как biology, вместо этого завершаются отказом, поскольку Opus 5 использует собственные biology-классификаторы без fallback-модели. Такие отказы вы получаете уже с первого помеченного запроса.
  • Задачи из области offensive security или biology - penetration testing, соревнования Capture the Flag (CTF) и кодовые базы, близкие к biology, - часто вызывают срабатывание fallback, нередко уже на первом запросе.

Почему это здесь важно: если вы запускаете security-review subagents или задачи по CTF/пентесту на Opus 5, будьте готовы к молчаливым повторным запускам на Opus 4.8 (с другим потолком effort и другим context window) для cybersecurity-промптов и к прямым отказам для запросов, близких к biology. Если такое поведение мешает, явно закрепите другую модель.

Управление переключением. Настройка switchModelsOnFlag (v2.1.170+, по умолчанию true) определяет, происходит ли fallback молча. Установите её в false - и Claude Code вместо переключения поставит запрос на паузу, дав вам выбрать между сменой модели и редактированием промпта. В /config эта опция отображается как Switch models when a message is flagged.

json
{
  "switchModelsOnFlag": false
}

Преимущества расширенного мышления

  • Глубокие рассуждения: больше времени на обдумывание сложных задач
  • Более взвешенные архитектурные решения: обоснованный выбор на основе всесторонней оценки
  • Учёт граничных случаев: проработка потенциальных проблем и сценариев
  • Тщательный анализ: структурированный подход к решению сложных задач

Пример: архитектурное решение

CODE
User: ultrathink Should we use microservices or a monolith for our e-commerce platform?

Claude: Let me think through this architectural decision carefully...

<extended_thinking>
## Context Analysis
- Team size: 5 developers
- Expected traffic: 10k daily users initially
- Need to scale to 100k+ users
- Limited DevOps resources
- 6-month timeline to MVP

## Approach 1: Microservices
Pros:
+ Independent scaling
+ Technology flexibility
+ Team independence
+ Fault isolation

Cons:
- Operational complexity
- Network overhead
- Distributed tracing needed
- Requires DevOps expertise
- Slower initial development

## Approach 2: Monolith
Pros:
+ Simpler deployment
+ Faster initial development
+ Easier debugging
+ Lower operational overhead
+ Single codebase

Cons:
- Scaling challenges later
- All-or-nothing deployments
- Technology lock-in
- Potential for tight coupling

## Decision Factors
1. Team size (5 devs) → Favors monolith
2. DevOps resources (limited) → Favors monolith
3. Timeline (6 months) → Favors monolith
4. Future scale (100k users) → Achievable with monolith + caching
5. Complexity budget → Limited

## Recommendation
Start with a **modular monolith**:
- Single deployment unit
- Clear module boundaries
- Clean interfaces between modules
- Prepare for future extraction to microservices if needed

This gives you:
✓ Fast initial development
✓ Low operational complexity
✓ Option to extract services later
✓ Clear architecture

Migration path: When you reach 50k+ users or specific modules need independent scaling, extract those modules into microservices.
</extended_thinking>

**Recommendation**: Implement a modular monolith with clean module boundaries.

This approach balances your current constraints (team size, timeline, DevOps resources) with future scalability needs. You can migrate specific modules to microservices later when there's a clear business need.

Настройка Extended Thinking

Extended thinking управляется через переменные окружения, сочетания клавиш и флаги CLI:

bash
# Set thinking token budget
export MAX_THINKING_TOKENS=16000

# Set effort level (Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 4.6): low (○), medium (◐), high (●), xhigh (Opus 5/4.8/4.7), or max - default is high on Opus 5 and Opus 4.8
export CLAUDE_CODE_EFFORT_LEVEL=high

Переключайте режим во время сессии сочетанием Alt+T / Option+T, задавайте уровень усилий командой /effort или настраивайте через /config.

Облегчённый system prompt (v2.1.154): облегчённый system prompt теперь используется по умолчанию для всех моделей, кроме Haiku, Sonnet и Opus 4.7 и более ранних, что снижает базовый расход токенов на Opus 5 и Opus 4.8.


Auto Mode

Auto Mode - это режим выдачи разрешений, в котором фоновый классификатор безопасности проверяет каждое действие перед его выполнением. Он позволяет Claude работать автономно, блокируя при этом опасные операции. Режим доступен на всех тарифных планах, но требует подходящей модели (Claude Opus 5, Opus 4.6+, Sonnet 4.6+ или Fable 5 на Anthropic API и Claude Platform on AWS; Opus 5, Sonnet 5, Opus 4.7, Opus 4.8 или Fable 5 на Bedrock, Vertex, Foundry и в gateway-сессиях приложений Claude с выполненным входом). На тарифах Team и Enterprise он включён по умолчанию - администраторы могут отключить его для всей организации в managed settings.

Требования

Auto Mode доступен только при выполнении всех следующих условий:

  • Тарифный план: все планы.
  • Организация: на Team и Enterprise Auto Mode доступен по умолчанию. Администраторы могут отключить его для организации, задав permissions.disableAutoMode значение "disable" в managed settings.
  • Модель: на Anthropic API и Claude Platform on AWS - Claude Opus 4.6 или новее (включая Opus 5), Sonnet 4.6 или новее, либо Fable 5. На Amazon Bedrock, Google Cloud Agent Platform (Vertex AI), Microsoft Foundry и в gateway-сессиях приложений Claude с выполненным входом - только Claude Sonnet 5, Opus 4.7 или новее (включая Opus 5) и Fable 5. Более старые модели - Sonnet 4.5, Opus 4.5, Haiku и модели claude-3 - не поддерживаются ни у одного из провайдеров.
  • Провайдер: доступен по умолчанию на Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud Agent Platform (Vertex AI), Microsoft Foundry и в gateway-сессиях приложений Claude с выполненным входом. В версиях с v2.1.158 по v2.1.206 Auto Mode был отключён на всех этих платформах, кроме Anthropic API и Claude Platform on AWS, пока не задавалась переменная CLAUDE_CODE_ENABLE_AUTO_MODE=1; в v2.1.207 это требование убрали. Переменная по-прежнему принимается ради совместимости, но начиная с v2.1.207 не оказывает никакого влияния.
  • Классификатор: работает на Claude Sonnet 4.6 (даёт дополнительный расход токенов).

Включение Auto Mode

bash
# Unlock auto mode with CLI flag (no longer required for Max subscribers on Opus 4.7 - access it directly)
claude --enable-auto-mode

# Then cycle to it with Shift+Tab in the REPL

Обновление v2.1.112: Auto mode больше не требует флага --enable-auto-mode. Подписчикам Max он доступен напрямую на Opus 4.7.

Обновление v2.1.158: Auto mode стал доступен в Bedrock, Vertex и Foundry для Opus 4.7/4.8 при включении через CLAUDE_CODE_ENABLE_AUTO_MODE=1.

Обновление v2.1.207: Требование явного включения (opt-in) убрано. Auto mode теперь доступен по умолчанию в Bedrock, Vertex AI, Microsoft Foundry, а также в gateway-сессиях приложений Claude с выполненным входом - для Claude Sonnet 5, Opus 4.7, Opus 4.8 и Fable 5 (а с v2.1.219 - и для Opus 5). Флаг или переменная окружения не требуются. Администраторы могут отключить его параметром disableAutoMode в managed settings. Переменная CLAUDE_CODE_ENABLE_AUTO_MODE по-прежнему принимается для обратной совместимости, но начиная с v2.1.207 ни на что не влияет.

Или задайте его в качестве режима разрешений по умолчанию:

bash
claude --permission-mode auto

Настройка через config:

json
{
  "permissions": {
    "defaultMode": "auto"
  }
}

Как работает классификатор

Фоновый классификатор оценивает каждое действие в следующем порядке:

  1. Правила allow/deny - в первую очередь проверяются явные правила разрешений и запретов
  2. Автоодобрение чтения и правок - чтение файлов и их редактирование пропускаются автоматически
  3. Классификатор - фоновый классификатор анализирует действие
  4. Fallback - после 3 блокировок подряд или 20 в сумме система переходит к запросу подтверждения у пользователя

Действия, блокируемые по умолчанию

В режиме Auto по умолчанию блокируются следующие действия:

Blocked ActionExample
Pipe-to-shell installscurl | bash
Sending sensitive data externallyAPI keys, credentials over network
Production deploysDeploy commands targeting production
Mass deletionrm -rf on large directories
IAM changesPermission and role modifications
Force push to maingit push --force origin main

Больше решений передано классификатору (v2.1.218): классификатор теперь также принимает решения по командам удаления, направленным на корень файловой системы или домашний каталог, - таким как rm -rf / и rm -rf ~, в том числе когда удаление находится внутри подстановки команд или процессов. До v2.1.218 обычные формы вызывали запрос подтверждения, а формы с подстановкой - в версиях с v2.1.208 по v2.1.217. Проверки фонового & и подозрительных Windows-путей также больше не открывают диалоги подтверждения - решение принимает классификатор.

Действия, разрешённые по умолчанию

Allowed ActionExample
Local file operationsRead, write, edit project files
Declared dependency installsnpm install, pip install from manifest
Read-only HTTPcurl for fetching documentation
Pushing to current branchgit push origin feature-branch

Настройка режима Auto

Вывод правил по умолчанию в формате JSON:

bash
claude auto-mode defaults

Восстановить конфигурацию auto-mode по умолчанию (v2.1.212) с запросом подтверждения (--yes - чтобы пропустить):

bash
claude auto-mode reset
claude auto-mode reset --yes

Настройте доверенную инфраструктуру через управляемый параметр autoMode.environment для корпоративных развёртываний. Это позволяет администраторам задавать доверенные CI/CD-окружения, целевые площадки развёртывания и шаблоны инфраструктуры.

Расширение значений по умолчанию с помощью "$defaults" (v2.1.118)

Начиная с v2.1.118, параметры autoMode.allow, autoMode.soft_deny и autoMode.environment принимают токен "$defaults", который добавляет ваши правила к встроенному списку, а не заменяет его. До v2.1.118 любой пользовательский массив молча затирал встроенные значения.

Безусловные блокировки через autoMode.hard_deny (v2.1.136)

autoMode.hard_deny (v2.1.136+) - это массив правил классификатора, блокирующих определённый класс действий независимо от предполагаемого намерения пользователя. Используйте его для действий, которые ни при каких условиях не должны выполняться в auto mode, - например, rm -rf по корневым путям или git push --force в защищённые ветки. В отличие от soft_deny, правила hard_deny не подлежат пересмотру классификатором.

json
{
  "autoMode": {
    "hard_deny": ["Bash(rm -rf /:*)", "Bash(git push --force*)"]
  }
}

До (заменяет встроенные - поведение до v2.1.118):

json
{
  "autoMode": {
    "allow": ["Bash(gh pr list:*)"]
  }
}

После (расширяет встроенные - v2.1.118+):

json
{
  "autoMode": {
    "allow": ["$defaults", "Bash(gh pr list:*)"],
    "soft_deny": ["$defaults", "Bash(kubectl delete:*)"],
    "environment": ["$defaults", "trusted-ci.internal"]
  }
}

Используйте "$defaults", чтобы сохранить поставляемые базовые правила, добавляя поверх них дополнения уровня организации или проекта.

Классификация всех shell-команд с помощью autoMode.classifyAllShell (v2.1.193)

autoMode.classifyAllShell (boolean, v2.1.193+) пропускает все команды Bash/PowerShell через классификатор auto-mode. Включите этот параметр, если хотите, чтобы классификатор анализировал каждую shell-команду в рамках сессии.

json
{
  "autoMode": {
    "classifyAllShell": true
  }
}

В том же релизе отображается причина отказа, когда auto mode блокирует действие - она видна в транскрипте, во всплывающем уведомлении об отказе и в списке недавно отклонённых действий в /permissions (v2.1.193+).

Встроенная защита на основе намерений (v2.1.183)

Помимо пользовательских правил hard_deny, auto mode по умолчанию блокирует следующие деструктивные команды, если только вы явно не запросили их выполнение в текущей сессии:

  • git reset --hard, git checkout -- ., git clean -fd, git stash drop
  • git commit --amend (если commit не был сделан агентом в этой сессии)
  • terraform destroy, pulumi destroy, cdk destroy (если только вы не запросили выполнение для конкретного стека)

Это встроенная защита по умолчанию, работающая на основе распознанного намерения - добавлять эти команды в hard_deny вручную не нужно.

Поведение при fallback

Когда классификатор не уверен, auto mode переходит к запросу подтверждения у пользователя:

  • После 3 последовательных блокировок классификатора
  • После 20 суммарных блокировок классификатора за сессию

Это гарантирует, что пользователь всегда сохраняет контроль в ситуациях, когда классификатор не может уверенно одобрить действие.

Начальная настройка permissions, эквивалентных auto mode (без плана Team)

Если у вас нет плана Team или вам нужен более простой подход без фонового классификатора, вы можете заполнить ~/.claude/settings.json консервативным базовым набором безопасных permission-правил. Скрипт начинает с правил только для чтения и локального анализа, а затем позволяет по желанию подключить правки, тесты, локальные git-записи, установку пакетов и write-действия в GitHub.

Файл: 09-advanced-features/setup-auto-mode-permissions.py

bash
# Preview what would be added (no changes written)
python3 09-advanced-features/setup-auto-mode-permissions.py --dry-run

# Apply the conservative baseline
python3 09-advanced-features/setup-auto-mode-permissions.py

# Add more capability only when you need it
python3 09-advanced-features/setup-auto-mode-permissions.py --include-edits --include-tests
python3 09-advanced-features/setup-auto-mode-permissions.py --include-git-write --include-packages

Скрипт добавляет правила в следующих категориях:

CategoryExamples
Core read-only toolsRead(*), Glob(*), Grep(*), Agent(*), WebSearch(*), WebFetch(*)
Local inspectionBash(git status:*), Bash(git log:*), Bash(git diff:*), Bash(cat:*)
Optional editsEdit(*), Write(*), NotebookEdit(*)
Optional test/buildBash(pytest:*), Bash(python3 -m pytest:*), Bash(cargo test:*)
Optional git writesBash(git add:*), Bash(git commit:*), Bash(git stash:*)
Git (local write)Bash(git add:*), Bash(git commit:*), Bash(git checkout:*)
Package managersBash(npm install:*), Bash(pip install:*), Bash(cargo build:*)
Build & testBash(make:*), Bash(pytest:*), Bash(go test:*)
Common shellBash(ls:*), Bash(cat:*), Bash(find:*), Bash(cp:*), Bash(mv:*)
GitHub CLIBash(gh pr view:*), Bash(gh pr create:*), Bash(gh issue list:*)
Опасные операции (rm -rf, sudo, force push, DROP TABLE, terraform destroy и т. д.) намеренно исключены. Скрипт идемпотентен - повторный запуск не приведёт к дублированию правил.

Фоновые задачи

Фоновые задачи позволяют выполнять длительные операции, не блокируя работу с диалогом.

Что такое фоновые задачи?

Фоновые задачи выполняются асинхронно, пока вы продолжаете работу:

  • продолжительные прогоны тестов;
  • сборка проекта;
  • миграции БД;
  • скрипты развёртывания;
  • инструменты анализа.

Базовое использование:

bash
User: Run tests in background

Claude: Started task bg-1234

/task list           # Show all tasks
/task status bg-1234 # Check progress
/task show bg-1234   # View output
/task cancel bg-1234 # Cancel task

Запуск фоновых задач

CODE
User: Run the full test suite in the background

Claude: Starting tests in background (task-id: bg-1234)
You can continue working while tests run.

[You can continue the conversation]

User: Meanwhile, let's refactor the auth module

Claude: [Works on auth module while tests run in background]

[Later, when tests complete]

Claude: 📢 Background task bg-1234 completed:
✅ 245 tests passed
❌ 3 tests failed
View results: /task show bg-1234

Управление фоновыми задачами

Список активных задач:

CODE
User: /task list

Active background tasks:
1. [bg-1234] Running tests (50% complete, 2min remaining)
2. [bg-1235] Building Docker image (25% complete, 8min remaining)
3. [bg-1236] Deploying to staging (90% complete, 30sec remaining)

Проверка статуса задачи:

CODE
User: /task status bg-1234

Task bg-1234: Running tests
Status: In progress
Progress: 120/245 tests (49%)
Started: 2025-11-08 10:30:15
Estimated completion: 2025-11-08 10:34:22

Просмотр вывода задачи:

CODE
User: /task show bg-1234

[Shows live output from the test run]

Отмена задачи:

CODE
User: /task cancel bg-1234

Cancelled background task bg-1234

Пример: параллельная разработка

CODE
User: Run the build in the background

Claude: Starting build... (task-id: bg-5001)

User: Also run the linter in background

Claude: Starting linter... (task-id: bg-5002)

User: While those run, let's implement the new API endpoint

Claude: [Implements API endpoint while build and linter run]

[10 minutes later]

Claude: 📢 Build completed successfully (bg-5001)
📢 Linter found 12 issues (bg-5002)

User: Show me the linter issues

Claude: [Shows linter output from bg-5002]

Конфигурация

Отдельного блока в settings.json для фоновых задач нет. Эта возможность управляется переменной окружения:

bash
# Turn background tasks off entirely
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=true

Параллелизм - это тоже не настройка фоновых задач: количество одновременно работающих агентов задаётся переменной CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS (по умолчанию 20).


Инструмент Monitor (потоки, управляемые событиями)

Новое в v2.1.98: инструмент Monitor позволяет Claude наблюдать за stdout фоновой команды и реагировать в момент появления подходящего события - заменяя циклы опроса и sleep при ожидании длительных процессов.

Monitor подключается к любой shell-команде, которая пишет в stdout. Каждая строка stdout становится уведомлением, пробуждающим сессию. Claude указывает команду; harness передаёт её вывод потоком и доставляет события по мере их возникновения. Про запуск самих процессов см. смежный раздел Фоновые задачи.

Почему это важно

Опрос через /loop или sleep расходует полный round-trip к API на каждой итерации - независимо от того, изменилось что-либо или нет. Monitor же молчит до наступления события и потребляет ноль токенов, пока команда ничего не выводит. А когда событие всё-таки происходит, Claude реагирует моментально - без задержки до следующего тика опроса. Для всего, что работает дольше нескольких минут, такой подход одновременно и дешевле, и быстрее циклов опроса.

Два типичных сценария

Потоковые фильтры следят за непрерывным выводом долгоживущего источника. Команда работает бесконечно; каждая подходящая строка - это событие.

bash
tail -f /var/log/app.log | grep --line-buffered "ERROR"

Фильтры poll-and-emit периодически опрашивают источник и генерируют событие только при обнаружении изменений. Подходит для API, баз данных и любых источников, у которых нет собственного потока событий.

bash
last=$(date -u +%Y-%m-%dT%H:%M:%SZ)
while true; do
  gh api "repos/owner/repo/issues/123/comments?since=$last" || true
  last=$(date -u +%Y-%m-%dT%H:%M:%SZ)
  sleep 30
done

Конкретный пример

«Запусти мой dev-сервер и следи за ошибками». Claude запускает сервер как фоновую задачу, подключает фильтр Monitor (tail -F server.log | grep --line-buffered -E "ERROR|FATAL"), и сессия затихает. Как только в логе появляется строка с ошибкой, Claude просыпается, читает её и может отреагировать - перезапустить сервер, исправить баг или показать её вам - без необходимости самому его дёргать.

Предупреждение: при передаче данных в grep через pipe всегда используйте grep --line-buffered. Без этого флага grep буферизует stdout блоками по 4 КБ, что на потоках с низким трафиком может задерживать события на минуты. Это причина №1, по которой Monitor на практике перестаёт работать - если ваш фильтр молчит, хотя не должен, в первую очередь проверьте наличие флага --line-buffered.


Динамические workflows

Новое в v2.1.154

Динамические workflows позволяют Claude детерминированно оркестрировать десятки и сотни фоновых субагентов - fan-out, конвейеры и параллельные этапы, зафиксированные в скрипте, а не отданные на импровизацию модели. Если один агент удерживает одно окно контекста, то workflow разбивает задачу между множеством агентов и объединяет их результаты.

Начиная с v2.1.219, для динамических workflows по умолчанию действует ориентир на средний размер (стремитесь к менее чем 15 агентам). Выбрать другой размер - или снять ограничение - можно через Dynamic workflow size в /config либо задав ключ workflowSizeGuideline в файле настроек. Строка статуса выполняющегося workflow показывает текущий размер и подсказывает, что изменить его можно через /config.

Когда их использовать

  • Полное покрытие - параллельный аудит или ревью по множеству файлов и аспектов.
  • Уверенность в результате - сгенерировать независимые точки зрения, а затем состязательно проверить выводы перед коммитом.
  • Масштаб за пределами одного контекста - крупные миграции, широкие проходы по кодовой базе или исследования, которые не помещаются в один контекст.

Для разовой задачи, которую вы уже понимаете, один агент (или прямое редактирование) по-прежнему подходит лучше - workflows окупаются, когда работа расходится вширь.

Запуск и просмотр

  • Запуск: попросите Claude создать workflow под задачу (например, «запусти workflow для ревью каждого файла в src/»). Claude напишет скрипт оркестрации и запустит его в фоне.
  • Просмотр: команда /workflows показывает выполняющиеся и завершённые запуски workflow с прогрессом в реальном времени.
  • ultracode: выбор ultracode в меню /effort включает этот режим на всю сессию - он отправляет модели xhigh и по умолчанию заставляет Claude оркестрировать динамические workflows. Действует только в рамках сессии и не принимается в файле настроек. (Начиная с v2.1.160 триггерное ключевое слово - ultracode; одно только слово «workflow» больше запуск не инициирует.)

Workflows построены поверх модели субагентов - см. Субагенты, чтобы узнать, как определяются и ограничиваются отдельные агенты.


Запланированные задачи

Запланированные задачи позволяют автоматически запускать промпты по расписанию или в виде одноразовых напоминаний. Задачи привязаны к сессии - они выполняются, пока Claude Code активен, и удаляются при её завершении. Доступно начиная с v2.1.72.

Продвигается как «Routines» на claude.com (2026-05-14): продуктовый блог Anthropic представляет эту функцию под названием Routines. CLI-команда остаётся /schedule; для преемственности это руководство использует исходное название «Scheduled Tasks». Если в документации на claude.com или в десктопном приложении вы видите «Routines» - речь об этой же функции.

Команда /loop

bash
# Explicit interval
/loop 5m check if the deployment finished

# Natural language
/loop check build status every 30 minutes

Также поддерживаются стандартные cron-выражения из 5 полей для точного планирования.

Одноразовые напоминания

Настраивайте напоминания, которые срабатывают однократно в заданное время:

CODE
remind me at 3pm to push the release branch
in 45 minutes, run the integration tests

Управление запланированными задачами

ToolDescription
CronCreateCreate a new scheduled task
CronListList all active scheduled tasks. Since v2.1.136, output also includes the qualifier(s) and the scheduled prompt body, so you can audit what each cron will run without opening it.
CronDeleteRemove a scheduled task
Ограничения и поведение:
  • До 50 запланированных задач на сессию
  • Привязаны к сессии - очищаются при её завершении
  • Повторяющиеся задачи автоматически истекают через 3 дня
  • Задачи выполняются только при запущенном Claude Code - пропущенные срабатывания не навёрстываются

Подробности поведения

AspectDetail
Recurring jitterUp to 10% of the interval (max 15 minutes)
One-shot jitterUp to 90 seconds on :00/:30 boundaries
Missed firesNo catch-up - skipped if Claude Code was not running
PersistenceNot persisted across restarts

Облачные запланированные задачи

Используйте /schedule для создания облачных запланированных задач, выполняющихся на инфраструктуре Anthropic:

CODE
/schedule daily at 9am run the test suite and report failures

Облачные запланированные задачи сохраняются между перезапусками и не требуют, чтобы Claude Code был запущен локально.

Отключение запланированных задач

bash
export CLAUDE_CODE_DISABLE_CRON=1

/schedule автоматически отключается при использовании API-ключей (v2.1.139): облачный /schedule незаметно становится недоступен, если задана хотя бы одна из переменных ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN или apiKeyHelper - даже если вы одновременно авторизованы через claude.ai. То же условие отключает Remote Control, MCP-коннекторы claude.ai и настройки уведомлений. Чтобы пользоваться /schedule, удалите API-ключ (или работайте через OAuth на тарифе Pro/Max). Локальный CronCreate при этом продолжает работать.

Пример: мониторинг развёртывания

CODE
/loop 5m check the deployment status of the staging environment.
        If the deploy succeeded, notify me and stop looping.
        If it failed, show the error logs.

Совет: запланированные задачи действуют в рамках сессии. Для постоянной автоматизации, которая переживёт перезапуски, используйте CI/CD-пайплайны, GitHub Actions или запланированные задачи Desktop App.


Режимы разрешений

Режимы разрешений определяют, какие действия Claude может выполнять без явного подтверждения.

Доступные режимы разрешений

ModeBehavior
manualRead files only; prompts for all other actions. Renamed from default in v2.1.200 - default is still accepted as an alias
acceptEditsRead and edit files; prompts for commands
planRead files only (research mode, no edits)
autoAll actions with background safety classifier checks. Requires an eligible model (Opus 5, Sonnet 5, Opus 4.7/4.8, or Fable 5 on most providers) and provider - available on all plans, see Auto Mode
bypassPermissionsAll actions, no permission checks (dangerous)
dontAskOnly pre-approved tools execute; all others denied

Примечание: Интерактивный режим по умолчанию был переименован из default в Manual в v2.1.200 (в CLI, --help, VS Code и JetBrains), а пока он активен, в футере отображается серый бейдж ⏸ (v2.1.203). Работают как --permission-mode manual, так и --permission-mode default, а в настройках - и "defaultMode": "manual", и "defaultMode": "default". Обратите внимание, что ключ настройки - permissions.defaultMode; ключа permissions.mode не существует, поэтому в примерах ниже используется каноническое написание.

Для переключения между режимами используйте Shift+Tab в CLI. Задать режим по умолчанию можно флагом --permission-mode или настройкой permissions.defaultMode.

Plan mode передаёт shell-команды классификатору (v2.1.218): если доступен auto mode и включена настройка useAutoModeDuringPlan (а она включена по умолчанию), классификатор проверяет shell-команды на этапе планирования, не запрашивая у вас подтверждение. Одобренные команды выполняются, отклонённые - блокируются. Запись файлов Plan mode по-прежнему блокирует безусловно.

Начиная с v2.1.160, даже acceptEdits запрашивает подтверждение перед записью в файлы инициализации shell (.zshenv, .zlogin, .bash_login, ~/.config/git/) и в конфигурации сборки, способные выполнять код (.npmrc, .yarnrc*, bunfig.toml, .bazelrc, .pre-commit-config.yaml, .devcontainer/, …), поскольку иначе это могло бы привести к непреднамеренному выполнению команд.

Расширенное покрытие путей для --dangerously-skip-permissions (v2.1.121, v2.1.126): CLI-флаг --dangerously-skip-permissions (и эквивалентный ему режим bypassPermissions) теперь пропускает запросы подтверждения при записи в значительно более широкий allowlist - .claude/skills/, .claude/agents/, .claude/commands/, .claude/, .git/, .vscode/, а также в конфигурационные файлы shell. Команды катастрофического удаления (rm -rf / и т. п.) в этом режиме всё равно требуют подтверждения (в auto mode их вместо этого оценивает классификатор - см. Auto Mode). Считайте этот флаг более острым инструментом, чем прежде, и используйте его только в одноразовых песочницах.

Определение shell в Windows (v2.1.120, v2.1.126): Git for Windows / Git Bash больше не обязателен. Если Git Bash отсутствует, Claude Code использует в качестве shell-инструмента PowerShell. Начиная с v2.1.126, при включённом инструменте PowerShell он становится основным shell, а определение охватывает PowerShell 7, установленный через Microsoft Store, из MSI без прописывания в PATH или как .NET global tool.

Инструмент PowerShell включён по умолчанию в Windows для Bedrock/Vertex/Foundry (v2.1.143): начиная с v2.1.143, инструмент PowerShell включён по умолчанию в Windows для пользователей Bedrock, Vertex и Foundry. Claude Code запускает PowerShell с параметром -ExecutionPolicy Bypass, поэтому скрипты выполняются, даже если системная политика - Restricted. Чтобы Claude Code учитывал системную execution policy, задайте CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1. Чтобы полностью отключить инструмент PowerShell, задайте CLAUDE_CODE_USE_POWERSHELL_TOOL=0.

Способы активации

Сочетание клавиш:

bash
Shift + Tab  # Cycle through all 6 modes

Slash-команда:

bash
/plan                  # Enter plan mode

Флаг CLI:

bash
claude --permission-mode plan
claude --permission-mode auto

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Настройка: </query>

json
{
  "permissions": {
    "defaultMode": "auto"
  }
}

Примеры режимов разрешений

Режим по умолчанию

Claude запрашивает подтверждение при выполнении значимых действий:

CODE
User: Fix the bug in auth.ts

Claude: I need to modify src/auth.ts to fix the bug.
The change will update the password validation logic.

Approve this change? (yes/no/show)

Режим планирования

Ознакомьтесь с планом реализации перед его выполнением:

CODE
User: /plan Implement user authentication system

Claude: I'll create a plan for implementing authentication.

## Implementation Plan
[Detailed plan with phases and steps]

Ready to proceed? (yes/no/modify)

Режим автопринятия правок

Автоматически принимать изменения в файлах:

CODE
User: acceptEdits
User: Fix the bug in auth.ts

Claude: [Makes changes without asking]

Сценарии использования

Code review:

CODE
User: claude --permission-mode plan
User: Review this PR and suggest improvements

Claude: [Reads code, provides feedback, but cannot modify]

Парное программирование:

CODE
User: claude --permission-mode default
User: Let's implement the feature together

Claude: [Asks for approval before each change]

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Автоматизированные задачи: </query>

CODE
User: claude --permission-mode acceptEdits
User: Fix all linting issues in the codebase

Claude: [Auto-accepts file edits without asking]

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Режим Headless

Режим вывода (claude -p) позволяет Claude Code работать без интерактивного ввода, что идеально подходит для автоматизации и CI/CD. Это неинтерактивный режим, заменяющий старый флаг --headless.

Что такое режим вывода?

Режим вывода позволяет:

  • Автоматическое выполнение скриптов
  • Интеграцию с CI/CD
  • Пакетную обработку
  • Запланированные задачи

Запуск в режиме вывода (неинтерактивном)

</query> ```bash # Run specific task claude -p "Run all tests"

Process piped content

cat error.log | claude -p "Analyze these errors"

CI/CD integration (GitHub Actions)

  • name: AI Code Review run: claude -p "Review PR"
CODE
### Дополнительные примеры использования режима print
```bash
# Run a specific task with output capture
claude -p "Run all tests and generate coverage report"

# With structured output
claude -p --output-format json "Analyze code quality"

# With input from stdin
echo "Analyze code quality" | claude -p "explain this"

Пример: интеграция с CI/CD

GitHub Actions:

yaml
# .github/workflows/code-review.yml
name: AI Code Review

on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Run Claude Code Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude -p --output-format json \
            --max-turns 3 \
            "Review this PR for:
            - Code quality issues
            - Security vulnerabilities
            - Performance concerns
            - Test coverage
            Output results as JSON" > review.json

      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const review = JSON.parse(fs.readFileSync('review.json', 'utf8'));
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: JSON.stringify(review, null, 2)
            });

Настройка режима print

Режим print (claude -p) поддерживает несколько флагов для автоматизации:

bash
# Limit autonomous turns
claude -p --max-turns 5 "refactor this module"

# Structured JSON output
claude -p --output-format json "analyze this codebase"

# With schema validation
claude -p --json-schema '{"type":"object","properties":{"issues":{"type":"array"}}}' \
  "find bugs in this code"

# Disable session persistence
claude -p --no-session-persistence "one-off analysis"

Безопасный режим (устранение неполадок)

--safe-mode (а также переменная окружения CLAUDE_CODE_SAFE_MODE, например CLAUDE_CODE_SAFE_MODE=1) запускает Claude Code с полностью отключёнными пользовательскими настройками - CLAUDE.md, plugins, skills, hooks и MCP-серверы не активируются.

bash
# Launch with every customization disabled
claude --safe-mode

# Equivalent via environment variable
CLAUDE_CODE_SAFE_MODE=1 claude

Это инструмент для диагностики: если пользовательская конфигурация вызывает проблемы, запустите Claude Code в безопасном режиме, чтобы определить, где кроется причина - в ваших настройках или в самом Claude Code.


Управление сессиями

Эффективная работа с несколькими сессиями Claude Code.

Команды управления сессиями

CommandDescription
/resumeResume a conversation by ID or name
/renameName the current session
/fork [prompt]Copy the conversation into a new independent background session and keep working here (v2.1.212+)
/subtask <task>Spawn a forked subagent that inherits the full conversation and reports its result back here (v2.1.212+)
/branch [name]Switch into a copy of the conversation at this point, preserving the original
claude -cContinue most recent conversation
claude -r "session"Resume session by name or ID

Возобновление сессий

Продолжить последний диалог:

bash
claude -c

Возобновление именованной сессии:

bash
claude -r "auth-refactor" "finish this PR"

Переименовать текущую сессию (внутри REPL):

CODE
/rename auth-refactor

Обновление v2.1.212: ввод команды /resume (без аргументов) в представлении агента теперь открывает список прошлых сессий - включая сессии, скрытые из видимого списка, - и возобновляет выбранную как фоновую.

Форки и ветвление сессий

Три команды создают копии беседы и различаются тем, где выполняется копия:

/subtask <task> порождает форкнутый subagent, который наследует всю беседу и работает над задачей, пока вы продолжаете свою - с отдельной строкой в claude agents; по завершении результат возвращается в вашу беседу:

CODE
/subtask Investigate why the auth tests are flaky

/fork [prompt] вместо этого копирует диалог в новую фоновую сессию. Копия включает всю историю до текущего момента и выполняется независимо - в исходный диалог ничего не возвращается:

CODE
/fork Try the OAuth approach end to end

Чтобы самому переключиться в копию, вообще не прибегая к делегированию, используйте /branch [name] - исходная сессия сохранится, и к ней можно будет вернуться командой /resume:

CODE
/branch try-oauth-instead

Примечание: команды /fork и /subtask поменялись ролями в v2.1.212. До v2.1.161 /fork был псевдонимом для /branch; в версиях с v2.1.161 по v2.1.211 он запускал ответвлённого субагента - это поведение теперь закреплено за /subtask. Если режим отображения агентов отключён, /subtask недоступна, а /fork сохраняет поведение запуска ответвлённого субагента.

Или создайте форк из CLI:

bash
claude --resume auth-refactor --fork-session "try OAuth instead"

Сохранение сессий

Сессии автоматически сохраняются, и их можно возобновить:

bash
# Continue last conversation
claude -c

# Resume specific session by name or ID
claude -r "auth-refactor"

# Resume and fork for experimentation
claude --resume auth-refactor --fork-session "alternative approach"

Автопродолжение при достижении лимита использования (v2.1.234)

Начиная с v2.1.234, сессия, заблокированная из-за лимита использования claude.ai, автоматически возобновляется после сброса лимита - повторно запускать её вручную не нужно. Настроить это можно в /config в разделе «Continue automatically at usage limit».

Краткая сводка по сессии (v2.1.108)

Когда вы возвращаетесь к сессии после перерыва, Claude может показать краткую сводку того, что уже было сделано. По умолчанию это включено для пользователей с отключённой телеметрией (Bedrock, Vertex, Foundry).

OTEL-телеметрия - повторное включение опроса обратной связи (v2.1.136+): организации, собирающие данные OpenTelemetry, могут снова включить опрос Anthropic о качестве сессии, задав CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1. В OTEL-развёртываниях опрос отключён по умолчанию, поскольку ранее он выводился за пределы telemetry pipelines.

OTEL-телеметрия - log-событие assistant_response (v2.1.193+): Claude Code отправляет OpenTelemetry-событие claude_code.assistant_response с текстом ответа модели, что позволяет OTEL-пайплайнам фиксировать реплики Claude наряду с уже существующей телеметрией инструментов и событий.

Управление поведением сводки:

bash
/recap                                 # manually trigger a recap
/config                                # toggle auto-recap on/off

Или через переменную окружения:

bash
CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0 claude   # disable recap
CLAUDE_CODE_ENABLE_AWAY_SUMMARY=1 claude   # force enable recap

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Межсессионный обмен сообщениями

> Добавлено в v2.1.224, расширено до v2.1.239. Доступно на macOS, Linux и (с v2.1.239) Windows.

Раньше сессии были островами. Межсессионный обмен сообщениями позволяет одной сессии Claude Code общаться с другой - включая сессии на ваших других машинах и ваши облачные сессии - так что вы можете передать вопрос сессии, в которой уже загружен нужный контекст, вместо того чтобы объяснять его заново.

Обнаружение сессий

ListAgents перечисляет всё, к чему вы можете обратиться: subagents, которых вы запустили, другие локальные сессии на этой машине, ваши облачные сессии и (когда подключен Remote Control) сессии на ваших других машинах. Каждая строка помечена типом, а начиная с v2.1.229 строки также содержат метки offline и cloud, чтобы вы могли отличить доступную сессию от неактивной.

Имя в каждой строке - это адрес - именно туда вы отправляете.

Отправка сообщения

SendMessage принимает цель и сообщение:

</query> ```text SendMessage({ to: "<session name>", message: "What did you conclude about the retry logic?" }) ``` Начиная с v2.1.232, достаточно указать просто имя - добавлять уточняющий ref больше не требуется, если только у двух строк действительно не совпадают имена.

Ожидание перехода сессии в состояние простоя (notify_when_idle, v2.1.236)

Если сессия, которой вы отправляете сообщение, занята выполнением задачи, обычно удобнее получить уведомление о её завершении, а не опрашивать её вручную. Как раз для этого у SendMessage есть входной параметр notify_when_idle:

text
SendMessage({
  to: "auth-refactor",
  message: "ping me when the migration finishes",
  notify_when_idle: true
})

Это явная подписка и однократное срабатывание - целевая сессия отправляет одно уведомление, когда в следующий раз перейдёт в состояние ожидания, после чего подписка завершается. Никакого цикла опроса и никаких повторных уведомлений, если сессия снова станет занятой, а затем опять освободится.

Два связанных изменения в v2.1.239: ListAgents теперь сообщает и собственное имя сессии (чтобы сессия могла подсказать другим, как к ней обращаться) наряду с активными «соседями», а обмен сообщениями между сессиями стал доступен в Windows.

Сокращённая запись через @ (v2.1.232)

Вместо явного вызова инструмента можно обратиться к сессии, просто упомянув её через @ прямо в промпте:

text
@auth-refactor did the migration tests pass?

Управление входящими сообщениями: crossSessionInbound

Приём входящих сообщений регулируется настройкой crossSessionInbound (v2.1.224+):

ValueBehavior
"accept"Inbound messages are delivered to Claude in this session
"hold"You see a notice that a message arrived; it is not delivered
"refuse"Inbound messages are dropped
Значения образуют иерархию - accept < hold < refuse, - и настройки уровня проекта и локальные настройки применяются только тогда, когда они строже значения пользовательского уровня. Проект может ужесточить входящую доставку, но никогда не ослабить её. Начиная с v2.1.232 у этой настройки также появилась строка в /config - «Messages from your other sessions».

Область действия и ограничения

  • Локальные сессии на той же машине, а также ваши облачные сессии.
  • Сессии Remote Control на других ваших машинах, адресуемые по имени (v2.1.225).
  • Облачная сессия получает ваше сообщение, но пока не может отправить ответное сообщение локальной сессии - её ответ смотрите в её собственном транскрипте.
  • macOS и Linux - с v2.1.224; Windows - с v2.1.239.

Интерактивные возможности

Горячие клавиши

Claude Code поддерживает горячие клавиши для ускорения работы. Ниже - полный справочник из официальной документации:

ShortcutDescription
Ctrl+CCancel current input/generation
Ctrl+DExit Claude Code
Ctrl+GEdit plan in external editor
Ctrl+LRedraw the screen (repaint only - the double-press /clear shortcut was removed in v2.1.238)
Ctrl+OToggle verbose output (view reasoning)
Ctrl+RReverse search history. Defaults to all prompts across all projects (v2.1.129+); press Ctrl+S inside the picker to narrow to the current project. Earlier versions defaulted to project-only.
Ctrl+TToggle task list view
Ctrl+BBackground running tasks
Esc+EscRewind code/conversation
Shift+Tab / Alt+MToggle permission modes
Option+P / Alt+PSwitch model
Option+T / Alt+TToggle extended thinking
Option+O / Alt+OToggle fast mode (/fast)
Ctrl+X Ctrl+KStop all background subagents
Ctrl+SStash the current prompt; press again to restore it
Ctrl+_Undo the last edit to the prompt input
:Type : at the start of a word to open emoji shortcode completion, e.g. :heart: (v2.1.217+)
Редактирование строки (стандартные сочетания клавиш readline):
ShortcutAction
------------------
Ctrl + AMove to line start
Ctrl + EMove to line end
Ctrl + KCut to end of line
Ctrl + UCut to start of line
Ctrl + WDelete word backward
Ctrl + YPaste (yank)
TabAutocomplete
↑ / ↓Command history

Специальные возможности

Режим для экранных дикторов (v2.1.208+) переключает CLI в режим вывода простого текста, оптимизированный для программ чтения с экрана. Включить его можно через флаг CLI, переменную окружения или параметр в настройках:

bash
claude --ax-screen-reader
bash
export CLAUDE_AX_SCREEN_READER=1
json
{
  "axScreenReader": true
}

Настройка сочетаний клавиш

Чтобы задать пользовательские сочетания клавиш, выполните команду /keybindings - откроется файл ~/.claude/keybindings.json для редактирования (v2.1.18+).

Формат конфигурации:

json
{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null,
        "ctrl+k ctrl+s": "chat:stash"
      }
    },
    {
      "context": "Confirmation",
      "bindings": {
        "ctrl+a": "confirmation:yes"
      }
    }
  ]
}

Установите привязку в null, чтобы отключить сочетание клавиш по умолчанию.

Доступные контексты

Привязки клавиш действуют в рамках определённых контекстов UI:

ContextKey Actions
Chatsubmit, cancel, cycleMode, modelPicker, thinkingToggle, undo, externalEditor, stash, imagePaste
Confirmationyes, no, previous, next, nextField, cycleMode, toggleExplanation
Globalinterrupt, exit, toggleTodos, toggleTranscript
Autocompleteaccept, dismiss, next, previous
HistorySearchsearch, previous, next
SettingsContext-specific settings navigation
TabsTab switching and management
HelpHelp panel navigation
Всего 18 контекстов, включая Transcript, Task, ThemePicker, Attachments, Footer, MessageSelector, DiffDialog, ModelPicker и Select.

Поддержка аккордов

Горячие клавиши поддерживают аккордные последовательности (комбинации из нескольких клавиш):

CODE
"ctrl+k ctrl+s"   → Two-key sequence: press ctrl+k, then ctrl+s
"ctrl+shift+p"    → Simultaneous modifier keys

Синтаксис сочетаний клавиш:

  • Модификаторы: ctrl, alt (или opt), shift, meta (или cmd)
  • Заглавная буква подразумевает Shift: K эквивалентно shift+k
  • Специальные клавиши: escape, enter, return, tab, space, backspace, delete, клавиши со стрелками

Зарезервированные и конфликтующие клавиши

KeyStatusNotes
Ctrl+CReservedCannot be rebound (interrupt)
Ctrl+DReservedCannot be rebound (exit)
Ctrl+BTerminal conflicttmux prefix key
Ctrl+ATerminal conflictGNU Screen prefix key
Ctrl+ZTerminal conflictProcess suspend

Совет: если сочетание клавиш не работает, проверьте, не конфликтует ли оно с вашим эмулятором терминала или мультиплексором.

Автодополнение по Tab

Claude Code поддерживает интеллектуальное автодополнение по Tab:

CODE
User: /rew<TAB>
→ /rewind

User: /plu<TAB>
→ /plugin

User: /plugin <TAB>
→ /plugin install
→ /plugin enable
→ /plugin disable

История команд

Доступ к ранее выполненным командам:

CODE
User: <↑>  # Previous command
User: <↓>  # Next command
User: Ctrl+R  # Search history

(reverse-i-search)`test': run all tests

Многострочный ввод

Для сложных запросов используйте многострочный режим:

bash
User: \
> Long complex prompt
> spanning multiple lines
> \end

Пример:

CODE
User: \
> Implement a user authentication system
> with the following requirements:
> - JWT tokens
> - Email verification
> - Password reset
> - 2FA support
> \end

Claude: [Processes the multi-line request]

Встроенное редактирование

Редактирование команд перед отправкой:

CODE
User: Deploy to prodcution<Backspace><Backspace>uction

[Edit in-place before sending]

Режим Vim

Включение сочетаний клавиш Vi/Vim для редактирования текста:

Активация:

  • Включается через /config (переключатель «Editor / Vim mode») либо в ~/.claude/settings.json через параметр editorMode: "vim". Отдельная slash-команда /vim была удалена (см. issue #43370); теперь режим vim задаётся через конфигурацию.
  • Переключение режимов: Esc - NORMAL, i/a/o - INSERT, v - VISUAL, V - VISUAL-LINE (v2.1.118+)

Клавиши навигации:

  • h / l - влево/вправо
  • j / k - вниз/вверх
  • w / b / e - перемещение по словам
  • 0 / $ - в начало/конец строки
  • gg / G - в начало/конец текста

Текстовые объекты:

  • iw / aw - слово (внутри/вместе с окружением)
  • i" / a" - строка в кавычках (внутри/вместе с кавычками)
  • i( / a( - содержимое скобок (внутри/вместе со скобками)

Визуальные режимы (v2.1.118+):

KeyModeBehavior
vVisualCharacter-wise selection with visual feedback; extend with motion keys
VVisual-lineLine-wise selection; always selects whole lines
yYankCopy the current visual selection
d / xDeleteDelete the current visual selection
cChangeDelete selection and enter INSERT mode
EscExitReturn to NORMAL mode
Визуальные выделения подсвечиваются в поле ввода, так что вы точно видите, что будет скопировано, удалено или изменено, прежде чем применить оператор.

Режим Bash

Выполняйте команды оболочки напрямую, используя префикс !:

bash
! npm test
! git status
! cat src/index.js

Используйте это для быстрого выполнения команд без переключения контекста.

Начиная с v2.1.193: в режиме bash (!) работает автодополнение путей к файлам «на лету» - пути подставляются прямо по мере ввода shell-команды, не выходя из строки ввода.

Начиная с v2.1.186: вывод команды ! теперь автоматически отправляется в Claude, и тот на него отвечает. Чтобы вернуть прежнее поведение, при котором вывод лишь добавляется в контекст без ответа, укажите "respondToBashCommands": false в settings.json.


Output Styles

Output styles меняют то, как Claude отвечает, а не то, что он знает. Они модифицируют системный промпт, задавая роль, тон и формат ответа по умолчанию. Прибегайте к ним, когда приходится из раза в раз повторять один и тот же промпт ради нужной манеры изложения, или когда вы хотите, чтобы Claude выступал в роли кого-то помимо software engineer.

Для инструкций о вашем проекте или кодовой базе используйте CLAUDE.md - это отдельный механизм со своими компромиссами.

Встроенные стили

StyleBehavior
DefaultThe standard system prompt, tuned for completing software engineering tasks efficiently
ProactiveClaude executes immediately and makes reasonable assumptions instead of pausing for routine decisions. Stronger autonomous-execution guidance than auto mode, but it does not change your permission mode - you still see permission prompts
ExplanatoryAdds educational "Insights" between steps, explaining implementation choices and codebase patterns
LearningCollaborative learn-by-doing. Claude shares insights and leaves TODO(human) markers for you to implement small, strategic pieces yourself
Concise (v2.1.237)Claude leads with the result and skips preamble and narration. Thoroughness is unchanged - only the framing around the answer is dropped. Select it in /config → Output style, or set "outputStyle": "Concise"

Выбор стиля

Выполните /config и выберите пункт Output style. Выбранное значение сохраняется в .claude/settings.local.json. Чтобы задать его без меню, отредактируйте параметр напрямую:

json
{
  "outputStyle": "Explanatory"
}

Примечание: Отдельная команда /output-style была объявлена устаревшей в v2.1.73 и удалена в v2.1.91. Используйте /config или настройку outputStyle.

Стиль вывода является частью системного промпта, который Claude Code считывает один раз при старте сессии - изменения вступают в силу после /clear или в новой сессии.

Пользовательские стили вывода

Пользовательский стиль - это Markdown-файл с frontmatter, размещённый на одном из трёх уровней:

  • Пользовательский: ~/.claude/output-styles/
  • Проектный: .claude/output-styles/
  • Управляемая политика: .claude/output-styles/ внутри директории управляемых настроек

Проектные стили подгружаются из всех каталогов .claude/output-styles/, встречающихся между рабочей директорией и корнем репозитория. Начиная с v2.1.178, если вложенные директории определяют стиль с одним и тем же именем, побеждает тот, что расположен ближе к рабочей директории.

markdown
---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---

When explaining code, architecture, or data flow, start with a Mermaid diagram
showing the structure, then explain in prose.
FrontmatterPurposeDefault
nameStyle name, if not the file nameInherits from file name
descriptionShown in the /config pickerNone
keep-coding-instructionsKeep Claude Code's built-in software engineering instructionsfalse
force-for-pluginPlugin styles only: apply automatically whenever the plugin is enabled, overriding the user's outputStylefalse
Указывайте keep-coding-instructions: true, когда меняете манеру общения Claude, но хотите сохранить прежний стиль написания кода. Опустите этот параметр, если Claude вообще не занимается разработкой ПО - например, выступает в роли помощника по тексту или аналитика данных.

Область действия и стоимость

Output styles применяются только к основному диалогу. У субагента свой system prompt, поэтому стили не влияют на его ответы; исключение - fork, так как он наследует system prompt родителя целиком.

Добавление инструкций увеличивает число input tokens, хотя prompt caching нивелирует бо́льшую часть накладных расходов уже после первого запроса. Стили Explanatory и Learning по своей сути дают более развёрнутые ответы, что увеличивает output tokens.

Сравнение

FeatureHow it worksUse it when
Output stylesModifies the system promptYou want a different role, tone, or format every turn
CLAUDE.mdAdds a user message after the system promptClaude should always know your project conventions
--append-system-promptAppends to the system prompt without removing anythingA one-off addition for a single invocation
SubagentsRuns with its own system prompt, model, and toolsYou want a separately scoped helper
SkillsLoads task-specific instructions when invokedYou have a reusable workflow
Current date: воскресенье, 6 сентября 2026 г.
<query>

Строка состояния

Строка состояния - это пользовательская команда, вывод которой отображается внизу сеанса. Настройте её с помощью /statusline или задайте напрямую:

</query> ```json { "statusLine": { "type": "command", "command": "~/.claude/statusline.sh", "padding": 0 } } ``` `padding` по умолчанию равен `0`. Claude Code передаёт команде JSON-объект через stdin, так что скрипт сам решает, что отобразить.

Доступные входные поля

GroupFields
Sessionsession_id, session_name, prompt_id, transcript_path, cwd, version
Modelmodel.id, output_style.name, effort.level, fast_mode, thinking.enabled
Agentagent.name, vim.mode
Costcost.total_cost_usd, cost.total_duration_ms, cost.total_api_duration_ms, cost.total_lines_added
Contextcontext_window.context_window_size, .current_usage, .remaining_percentage, .total_input_tokens, .used_percentage
Limitsrate_limits.five_hour.used_percentage, .resets_at
Repopr.number, pr.review_state, workspace.project_dir, workspace.added_dirs, workspace.git_worktree, workspace.repo.host
Worktreeworktree.name, .branch, .path, .original_branch, .original_cwd

Пример

bash
#!/bin/bash
# ~/.claude/statusline.sh - model, context usage, and cost
input=$(cat)
model=$(echo "$input" | jq -r '.model.id')
used=$(echo "$input" | jq -r '.context_window.used_percentage')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd')
printf '%s | ctx %.0f%% | $%.2f' "$model" "$used" "$cost"

Примечание: для statusLine требуется доверие к рабочей области. Скрипты строки состояния также получают в своём окружении переменные COLUMNS и LINES (v2.1.153+), что позволяет им подгонять вывод под размер терминала.


Режим TUI (полноэкранный)

Новое в v2.1.110

Режим TUI (Text User Interface) отрисовывает Claude Code на весь экран без мерцания - идеальный вариант для терминальных мультиплексоров вроде tmux или разделённых панелей iTerm2.

Включение режима TUI

Переключить режим TUI можно командой /tui либо запустить Claude Code с флагом --tui:

bash
/tui          # toggle from within a session
claude --tui  # start directly in TUI mode

Конфигурация

SettingDescriptionDefault
autoScrollEnabledAuto-scroll to latest messagetrue
Отключите автопрокрутку через /config или settings.json:
json
{
  "autoScrollEnabled": false
}

Режим фокуса

Команда /focus включает и выключает режим фокуса - отображение без отвлекающих элементов, в котором виден только самый релевантный вывод. Ctrl+O теперь переключает лишь между обычным и подробным режимом транскрипта (режим фокуса вызывается через /focus).


Голосовой ввод

Голосовой ввод обеспечивает работу с Claude Code в режиме push-to-talk, позволяя надиктовывать промпты вместо того, чтобы набирать их с клавиатуры.

Включение голосового ввода

CODE
/voice

Возможности

FeatureDescription
Push-to-talkHold a key to record, release to send
20 languagesSpeech-to-text supports 20 languages
Custom keybindingConfigure the push-to-talk key via /keybindings
Account requirementRequires a Claude.ai account for STT processing

Конфигурация

Настройте сочетание клавиш push-to-talk в файле keybindings (/keybindings). Голосовая диктовка использует ваш аккаунт Claude.ai для распознавания речи.


Channels

Channels - это функция в статусе Research Preview, которая передаёт события из внешних сервисов в активную сессию Claude Code через MCP-серверы. В числе источников - Telegram, Discord, iMessage и произвольные webhook'и; это позволяет Claude реагировать на уведомления в реальном времени без периодических опросов.

Аутентификация (v2.1.128+): --channels теперь работает как с OAuth-аутентификацией Pro/Max, так и с аутентификацией по API-ключу (console). В более ранних версиях требовался только OAuth.

Подписка на каналы

bash
# Subscribe to channel plugins at startup
claude --channels discord,telegram

# Subscribe to multiple sources
claude --channels discord,telegram,imessage,webhooks

Поддерживаемые интеграции

IntegrationDescription
DiscordReceive and respond to Discord messages in your session
TelegramReceive and respond to Telegram messages in your session
iMessageReceive iMessage notifications in your session
WebhooksReceive events from arbitrary webhook sources

Конфигурация

Каналы настраиваются флагом --channels при запуске. Для корпоративных развёртываний используйте управляемый параметр, чтобы задавать список разрешённых плагинов каналов:

json
{
  "allowedChannelPlugins": ["discord", "telegram"]
}

Управляемая настройка allowedChannelPlugins определяет, какие channel plugins разрешены к использованию в организации.

Как это работает

  1. MCP-серверы выступают в роли channel plugins, подключающихся к внешним сервисам
  2. Входящие сообщения и события передаются в активную сессию Claude Code
  3. Claude может читать сообщения и отвечать на них в контексте сессии
  4. Channel plugins должны быть одобрены через управляемую настройку allowedChannelPlugins
  5. Polling не требуется - события доставляются в реальном времени

Интеграция с Chrome

Интеграция с Chrome подключает Claude Code к браузеру Chrome или Microsoft Edge для веб-автоматизации и отладки в реальном времени. Это бета-функция, доступная начиная с версии v2.0.73+ (поддержка Edge добавлена в v1.0.36+).

Включение интеграции с Chrome

При запуске:

bash
claude --chrome      # Enable Chrome connection
claude --no-chrome   # Disable Chrome connection

В рамках сессии:

CODE
/chrome

Выберите «Enabled by default», чтобы активировать интеграцию с Chrome для всех будущих сессий. Claude Code использует состояние авторизации вашего браузера и поэтому может взаимодействовать с веб-приложениями, требующими входа в систему.

Возможности

CapabilityDescription
Live debuggingRead console logs, inspect DOM elements, debug JavaScript in real time
Design verificationCompare rendered pages against design mockups
Form validationTest form submissions, input validation, and error handling
Web app testingInteract with authenticated apps (Gmail, Google Docs, Notion, etc.)
Data extractionScrape and process content from web pages
Session recordingRecord browser interactions as GIF files

Разрешения на уровне сайтов

Расширение Chrome управляет доступом отдельно для каждого сайта. Вы можете в любой момент предоставить или отозвать доступ для конкретных сайтов через popup расширения. Claude Code взаимодействует только с теми сайтами, которые вы явно разрешили.

Как это работает

Claude Code управляет браузером в видимом окне - вы можете в реальном времени наблюдать за выполняемыми действиями. Когда браузер попадает на страницу входа или CAPTCHA, Claude приостанавливает работу и ждёт, пока вы обработаете это вручную, прежде чем продолжить.

Известные ограничения

  • Поддержка браузеров: только Chrome и Edge - Brave, Arc и другие Chromium-браузеры не поддерживаются
  • WSL: недоступно в Windows Subsystem for Linux
  • Сторонние провайдеры: не поддерживается с провайдерами Bedrock, Vertex и Foundry API
  • Простой service worker: service worker расширения Chrome может уходить в простой во время длительных сессий

Совет: Chrome Integration - это beta-функция. В будущих релизах список поддерживаемых браузеров может расшириться.


Remote Control

Remote Control позволяет продолжить локально запущенную сессию Claude Code с телефона, планшета или любого браузера. Ваша локальная сессия продолжает выполняться на вашей машине - ничего не переносится в облако. Доступно на планах Pro, Max, Team и Enterprise (v2.1.51+).

Remote Control больше не является research preview - этот статус был снят на 34-й неделе 2026 года. Любая машина, на которой запущен claude remote-control, теперь отображается как карточка устройства на вкладке Code в приложении Claude, так что вы можете начать сессию на этой машине прямо со своего телефона, а не запускать её сначала на самой машине и потом к ней подключаться.

Запуск Remote Control

Из CLI:

bash
# Start with default session name
claude remote-control

# Start with a custom name
claude remote-control --name "Auth Refactor"

Внутри сессии:

CODE
/remote-control
/remote-control "Auth Refactor"

Доступные флаги:

FlagDescription
--name "title"Custom session title for easy identification
--verboseShow detailed connection logs
--sandboxEnable filesystem and network isolation
--no-sandboxDisable sandboxing (default)

Подключение к сессии

Три способа подключиться с другого устройства:

  1. URL сессии - выводится в терминал при запуске сессии; откройте его в любом браузере
  2. QR-код - нажмите spacebar после запуска, чтобы отобразить QR-код для сканирования
  3. Поиск по имени - просматривайте свои сессии на claude.ai/code или в мобильном приложении Claude (iOS/Android)

Безопасность

  • Никаких входящих портов на вашей машине не открывается
  • Только исходящие HTTPS-соединения поверх TLS
  • Ограниченные учётные данные - несколько кратковременных токенов с узкой областью действия
  • Изоляция сессий - каждая удалённая сессия независима

Remote Control и Claude Code в вебе

AspectRemote ControlClaude Code on Web
ExecutionRuns on your machineRuns on Anthropic cloud
Local toolsFull access to local MCP servers, files, and CLINo local dependencies
Use caseContinue local work from another deviceStart fresh from any browser

Ограничения

  • Один удалённый сеанс на экземпляр Claude Code
  • Терминал должен оставаться открытым на хост-машине
  • Сеанс завершается по таймауту примерно через 10 минут при отсутствии сетевого соединения

Сценарии использования

  • Управление Claude Code с телефона или планшета, когда вы не за рабочим местом
  • Использование более удобного интерфейса claude.ai с сохранением локального выполнения инструментов
  • Быстрый code review в дороге с полным доступом к вашей локальной среде разработки

Push-уведомления (v2.1.110)

Когда Remote Control активен и в /config включена опция «Push when Claude decides», Claude может отправлять push-уведомления на ваш телефон - например, когда длительная задача завершена или требуется ваше участие.

Как включить:

  1. Активируйте Remote Control: /remote-control или claude --rc
  2. Откройте /config и включите Push when Claude decides

Для push-уведомлений необходимы подписка Claude и мобильное приложение Claude.

Отключение Remote Control (disableRemoteControl, v2.1.128+)

Администраторы на планах Team и Enterprise могут полностью запретить Remote Control с помощью параметра disableRemoteControl. При значении true команды claude remote-control и /remote-control запускаться не будут.

json
{
  "disableRemoteControl": true
}

Настройка задаётся на уровне managed/policy (например, /Library/Application Support/ClaudeCode/managed-settings.json в macOS), поэтому отдельные пользователи не могут её переопределить. Удобно, когда требуется принудительно включить режим локального выполнения в масштабах всей организации.

Когда Remote Control автоматически отключается из-за использования API-ключа (v2.1.139): Remote Control молча отключается при наличии любого из указанных ниже параметров, даже если вы одновременно авторизованы через claude.ai:

  • ANTHROPIC_API_KEY
  • ANTHROPIC_AUTH_TOKEN
  • apiKeyHelper (settings.json)

То же условие отключает /schedule, MCP-коннекторы claude.ai и настройки уведомлений - все четыре возможности, завязанные на claude.ai, работают только тогда, когда активными учётными данными является OAuth-вход. Уберите API-ключ (или используйте OAuth-тариф Pro/Max), чтобы задействовать эти функции.


Веб-сессии

Веб-сессии позволяют запускать Claude Code прямо в браузере по адресу claude.ai/code или создавать их из CLI.

Создание веб-сессии

bash
# Create a new web session from the CLI
claude --remote "implement the new API endpoints"

Это запускает сессию Claude Code на claude.ai, к которой можно обращаться из любого браузера.

Продолжение веб-сессий локально

Если вы начали сессию в вебе и хотите продолжить её локально:

bash
# Resume a web session in the local terminal - opens a picker of your web sessions
claude --teleport

Или из интерактивного REPL:

text
/teleport

/tp - это alias для /teleport. Обе команды требуют подписки claude.ai. В облачных сессиях отображается подсказка /teleport, поясняющая, как продолжить работу локально (v2.1.223).

Источник - changelog: в changelog v2.1.223 указана форма с аргументом, claude --teleport <session id>, которая сразу открывает известную сессию. Справочник CLI документирует только базовую форму с интерактивным выбором, поэтому используйте claude --teleport, если у вас ещё нет готового session ID.

Сценарии использования

  • Начать работу на одной машине и продолжить на другой
  • Поделиться URL сессии с участниками команды
  • Использовать web UI для визуального разбора diff, а затем переключиться в терминал для выполнения

Desktop App

Claude Code Desktop App - это самостоятельное приложение с визуальным просмотром diff, параллельными сессиями и встроенными коннекторами. Доступно для macOS и Windows (тарифы Pro, Max, Team и Enterprise).

Установка

Скачайте с claude.ai версию для вашей платформы:

  • macOS: универсальная сборка (Apple Silicon и Intel)
  • Windows: доступны установщики x64 и ARM64

Инструкции по настройке см. в Desktop Quickstart.

Передача сессии из CLI

Перенесите текущую сессию CLI в Desktop App:

CODE
/desktop

Основные возможности

FeatureDescription
Diff viewFile-by-file visual review with inline comments; Claude reads comments and revises
App previewAuto-starts dev servers with an embedded browser for live verification
PR monitoringGitHub CLI integration with auto-fix CI failures and auto-merge when checks pass
Parallel sessionsMultiple sessions in the sidebar with automatic Git worktree isolation
Scheduled tasksRecurring tasks (hourly, daily, weekdays, weekly) that run while the app is open
Rich renderingCode, markdown, and diagram rendering with syntax highlighting; GitHub-Flavored-Markdown task-list checkboxes (- [ ] / - [x]) render as checkboxes (v2.1.149+)

Настройка предпросмотра приложения

Настройте поведение dev-сервера в .claude/launch.json:

json
{
  "command": "npm run dev",
  "port": 3000,
  "readyPattern": "ready on",
  "persistCookies": true
}

Коннекторы

Подключайте внешние сервисы для расширенного контекста:

ConnectorCapability
GitHubPR monitoring, issue tracking, code review
SlackNotifications, channel context
LinearIssue tracking, sprint management
NotionDocumentation, knowledge base access
AsanaTask management, project tracking
CalendarSchedule awareness, meeting context

Примечание: коннекторы недоступны в удалённых (облачных) сессиях.

Удалённые и SSH-сессии

  • Удалённые сессии: выполняются в облачной инфраструктуре Anthropic и продолжают работать даже при закрытом приложении. Доступны через claude.ai/code и мобильное приложение Claude
  • SSH-сессии: подключение к удалённым машинам по SSH с полным доступом к их файловой системе и инструментам. На удалённой машине должен быть установлен Claude Code

Режимы разрешений в Desktop

Desktop App поддерживает те же режимы разрешений, что и CLI:

ModeBehavior
Ask permissions (default)Review and approve every edit and command
Auto accept editsFile edits auto-approved; commands require manual approval
Plan modeReview approach before any changes are made
Bypass permissionsAutomatic execution (sandbox-only, admin-controlled)

Корпоративные возможности

  • Консоль администратора: управление доступом к вкладке Code и настройками разрешений для организации
  • Развёртывание через MDM: развёртывание с помощью MDM в macOS или MSIX в Windows
  • Интеграция с SSO: обязательный единый вход для участников организации
  • Централизованные настройки: единое управление конфигурацией команды и доступностью моделей

Список задач

Функция Task List обеспечивает постоянное отслеживание задач, которое сохраняется при сжатии контекста (когда история диалога обрезается, чтобы уместиться в контекстное окно).

Переключение списка задач

Нажмите Ctrl+T, чтобы показать или скрыть список задач во время сессии.

Постоянное хранение задач

Задачи сохраняются при сжатии контекста, благодаря чему длительные задачи не теряются при обрезке истории диалога. Это особенно полезно при сложных, многоэтапных реализациях.

Именованные каталоги задач

Используйте переменную окружения CLAUDE_CODE_TASK_LIST_ID, чтобы создавать именованные каталоги задач, общие для нескольких сессий:

bash
export CLAUDE_CODE_TASK_LIST_ID=my-project-sprint-3

Это позволяет нескольким сессиям использовать общий список задач, что удобно для командной работы или проектов, охватывающих несколько сессий.


Подсказки prompt'ов

Подсказки prompt'ов показывают приглушённые серым примеры команд на основе вашей истории git и текущего контекста беседы.

Как это работает

  • Подсказки отображаются серым текстом под полем ввода prompt'а
  • Нажмите Tab, чтобы принять подсказку
  • Нажмите Enter, чтобы принять и сразу отправить
  • Подсказки учитывают контекст, опираясь на историю git и состояние беседы

Отключение подсказок prompt'ов

bash
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Git Worktrees

Git Worktrees позволяют запускать Claude Code в изолированном worktree, что дает возможность параллельно работать над разными ветками без stash или переключения.

Запуск в Worktree

</query> ```bash # Start Claude Code in an isolated worktree claude --worktree # or claude -w ``` ### Расположение worktree

Worktree создаются в:

CODE
<repo>/.claude/worktrees/<name>

Sparse checkout для монорепозиториев

Используйте параметр worktree.sparsePaths, чтобы выполнять sparse-checkout в монорепозиториях, сокращая расход дискового пространства и время клонирования:

json
{
  "worktree": {
    "sparsePaths": ["packages/my-package", "shared/"]
  }
}

Базовая ветка (worktree.baseRef)

worktree.baseRef (добавлено в v2.1.133) - определяет, от чего claude --worktree создаёт ветку: от origin/<default> или от локального HEAD.

  • "fresh" (по умолчанию) - создавать ветку от origin/<default-branch>, игнорируя локальные неотправленные commits. Это возвращает поведение, действовавшее до v2.1.128, поэтому тем, кто после v2.1.128 полагался на ветвление от локального HEAD, нужно явно включить прежний режим.
  • "head" - создавать ветку от локального HEAD, сохраняя неотправленные commits.

Задаётся в ~/.claude/settings.json:

json
{ "worktree": { "baseRef": "head" } }

Изоляция фоновых сессий (worktree.bgIsolation)

worktree.bgIsolation (добавлено в v2.1.143) - определяет, будут ли фоновые сессии (например, запущенные через /bg, claude --bg или из Agent View) работать в собственном worktree или напрямую редактировать рабочую копию основной сессии.

  • (по умолчанию) - фоновые сессии создают изолированный worktree в <repo>/.claude/worktrees/, аналогично флагу --worktree.
  • "none" - фоновые сессии редактируют текущую рабочую копию напрямую. Используйте этот режим, когда worktree неудобны (например, при тяжёлых артефактах нативной сборки) или когда фоновый агент должен согласовывать правки с основной сессией.
json
{ "worktree": { "bgIsolation": "none" } }

Компромисс: "none" убирает подстраховку в виде изоляции worktree - одновременные правки из фоновых и активных сессий могут приводить к merge-конфликтам в рабочей копии.

Инструменты worktree и hooks

ItemDescription
EnterWorktreeTool to enter a worktree; as of v2.1.157 it can switch between Claude-managed worktrees mid-session
ExitWorktreeTool to exit and clean up the current worktree
WorktreeCreateHook event fired when a worktree is created
WorktreeRemoveHook event fired when a worktree is removed
Начиная с v2.1.157, worktree, управляемые Claude, остаются разблокированными после завершения работы агента, поэтому их можно удалить через git worktree remove/prune.

Автоочистка

Если в worktree не было внесено изменений, он автоматически удаляется по завершении сессии.

Сценарии использования

  • Работа над feature-веткой без изменений в main
  • Запуск тестов в изоляции, не затрагивая рабочую директорию
  • Проверка экспериментальных изменений в одноразовом окружении
  • Sparse-checkout отдельных пакетов в монорепозиториях для ускорения запуска

Sandboxing

Sandboxing обеспечивает изоляцию файловой системы и сети на уровне ОС для Bash-команд, выполняемых Claude Code. Этот механизм дополняет правила разрешений и добавляет дополнительный уровень безопасности.

Включение Sandboxing

Slash-команда:

CODE
/sandbox

Флаги CLI:

bash
claude --sandbox       # Enable sandboxing
claude --no-sandbox    # Disable sandboxing

Параметры конфигурации

SettingDescription
sandbox.enabledEnable or disable sandboxing
sandbox.failIfUnavailableFail if sandboxing cannot be activated
sandbox.filesystem.allowWritePaths allowed for write access
sandbox.filesystem.allowReadPaths allowed for read access
sandbox.filesystem.denyReadPaths denied for read access
sandbox.network.allowedDomainsDomains Bash-launched processes are allowed to reach (supports *. wildcard)
sandbox.network.deniedDomainsDomains to block even when allowedDomains wildcard would otherwise permit them (v2.1.113+)
sandbox.network.strictAllowlist(v2.1.219) Deny non-allowlisted hosts for sandboxed commands without prompting
sandbox.enableWeakerNetworkIsolationEnable weaker network isolation on macOS
sandbox.bwrapPath(v2.1.133+, Linux/WSL) Path to the bubblewrap binary. Default: $PATH lookup.
sandbox.socatPath(v2.1.133+, Linux/WSL) Path to the socat binary. Default: $PATH lookup.
sandbox.credentials(v2.1.187+) Block sandboxed commands from reading credential files and secret environment variables.
sandbox.allowAppleEvents(v2.1.181+, macOS) Opt in to let sandboxed commands send Apple Events.
sandbox.filesystem.disabled(v2.1.216+) Skip filesystem isolation entirely while keeping network isolation enforced - useful when file sandboxing breaks tooling but network egress control must stay active. Only honored from user settings, managed settings, or --settings; project settings can't set it.
Пути к бинарным файлам Linux/WSL (v2.1.133+) - укажите Claude Code нестандартные каталоги установки:
json
{
  "sandbox": {
    "bwrapPath": "/opt/bubblewrap/bin/bwrap",
    "socatPath": "/opt/socat/bin/socat"
  }
}

Пример того, как deniedDomains переопределяет широкий wildcard (v2.1.113+):

json
{
  "sandbox": {
    "network": {
      "allowedDomains": ["*.example.com"],
      "deniedDomains": ["evil.example.com"]
    }
  }
}

Wildcard-шаблон пропускает всё для example.com, но deniedDomains всё равно блокирует конкретно указанный host.

Примечание (v2.1.243): диалог запроса разрешений в sandbox-режиме Bash-инструмента больше не показывает список разрешённых сетевых hosts. Claude просто пытается выполнить запрос, а вы одобряете каждый новый host по мере его появления - так что не ждите, что prompt заранее покажет вам весь allowlist. В том же релизе перестали теряться детали нарушений сетевых правил в тех случаях, когда заблокированная команда завершается с кодом 0, - теперь даже внешне «тихий» успешный вызов всё равно сообщает, что именно было заблокировано.

Маскирование учётных данных (v2.1.221, v2.1.224)

По материалам changelog: описанные опции sandbox.credentials взяты из записей changelog для v2.1.221 и v2.1.224; в справочнике по настройкам они пока подробно не описаны.

До v2.1.221 sandbox.credentials умел только deny для файла с учётными данными - sandbox-команда, которой этот файл был нужен, просто падала с ошибкой. mode: "mask" сохраняет работоспособность команды, не раскрывая секрет: sandbox-процесс читает sentinel-копию файла, а sandbox proxy подставляет реальное значение уже на выходе, при отправке в сеть.

json
{
  "sandbox": {
    "network": { "tlsTerminate": true },
    "credentials": {
      "files": [
        { "path": "~/.aws/credentials", "mode": "mask" }
      ]
    }
  }
}
CapabilitySinceWhat it does
mode: "mask" for credential filesv2.1.221Sandboxed commands read a sentinel; the proxy swaps in the real value on egress. Linux and WSL only - on macOS file masking falls back to deny.
extract / onExtractNoMatchv2.1.224Mask one field inside a structured environment value instead of the whole variable, and decide what happens when the pattern doesn't match.
decode: "jwt" with maskClaimsv2.1.224Decode a JWT and mask only the named claims, leaving the rest readable.
awsPairs / sigv4v2.1.224Re-sign AWS SigV4 requests at the proxy after substituting the real access key.
Два ограничения, которые легко упустить:
  • Для любого маскирования требуется network.tlsTerminate - proxy должен видеть содержимое запроса, чтобы подставить значение.
  • Эти опции учитываются только из пользовательских настроек, managed settings или --settings. Настройки проекта не могут включить маскирование или изменить набор маскируемых значений.

Пример конфигурации

json
{
  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true,
    "filesystem": {
      "allowWrite": ["/Users/me/project"],
      "allowRead": ["/Users/me/project", "/usr/local/lib"],
      "denyRead": ["/Users/me/.ssh", "/Users/me/.aws"]
    },
    "enableWeakerNetworkIsolation": true
  }
}

Как это работает

  • Команды Bash выполняются в песочнице с ограниченным доступом к файловой системе
  • Сетевой доступ можно изолировать, чтобы исключить непреднамеренные внешние подключения
  • Работает совместно с правилами разрешений, обеспечивая эшелонированную защиту
  • На macOS для ограничения сети используйте sandbox.enableWeakerNetworkIsolation (полная сетевая изоляция на macOS недоступна)

Сценарии использования

  • Безопасный запуск недоверенного или сгенерированного кода
  • Защита от случайного изменения файлов за пределами проекта
  • Ограничение сетевого доступа при выполнении автоматизированных задач

Управляемые настройки (Enterprise)

Управляемые настройки позволяют корпоративным администраторам разворачивать конфигурацию Claude Code в масштабах всей организации с помощью штатных средств управления платформы.

Способы развёртывания

PlatformMethodSince
macOSManaged plist files (MDM)v2.1.51+
WindowsWindows Registryv2.1.51+
Cross-platformManaged configuration filesv2.1.51+
Cross-platformManaged drop-ins (managed-settings.d/ directory)v2.1.83+

Управляемые drop-in-файлы

Начиная с версии v2.1.83, администраторы могут размещать несколько управляемых файлов настроек в каталоге managed-settings.d/. Файлы объединяются в алфавитном порядке, что позволяет организовать модульную конфигурацию для разных команд:

CODE
~/.claude/managed-settings.d/
  00-org-defaults.json
  10-team-policies.json
  20-project-overrides.json

Доступные управляемые настройки

SettingDescription
disableBypassPermissionsModePrevent users from enabling bypass permissions
availableModelsRestrict which models users can select
enforceAvailableModels(v2.1.175) When true, the availableModels allowlist also constrains the Default model - if the configured default is not in the list, Claude Code falls back to the first allowed model. User and project settings can no longer widen a managed availableModels list.
allowedChannelPluginsControl which channel plugins are permitted
autoMode.environmentConfigure trusted infrastructure for auto mode
workflowSizeGuideline(v2.1.219) Set the advisory dynamic workflow size guideline. Readable from any settings file, not just managed settings; while one sets it, the Dynamic workflow size row is hidden from /config
wslInheritsWindowsSettingsWindows/WSL only (v2.1.118+): when true, Claude Code running inside WSL inherits managed settings from the Windows host, so enterprise policies deployed via Registry/MDM apply uniformly across the Windows and WSL shells
parentSettingsBehavior(v2.1.133+, admin-tier) Controls how the SDK's managedSettings merges with parent-process settings. "first-wins" keeps existing precedence (earlier setting wins on conflict); "merge" deep-merges values.
Custom policiesOrganization-specific permission and tool policies

Пример: macOS Plist

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>disableBypassPermissionsMode</key>
  <true/>
  <key>availableModels</key>
  <array>
    <string>claude-sonnet-4-6</string>
    <string>claude-haiku-4-5</string>
  </array>
</dict>
</plist>

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Конфигурация и настройки

Расположения файлов конфигурации

  1. Глобальная конфигурация: ~/.claude/config.json
  2. Конфигурация проекта: ./.claude/config.json
  3. Конфигурация пользователя: ~/.config/claude-code/settings.json

Полный пример конфигурации

Конфигурация основных расширенных возможностей:

</query> ```json { "permissions": { "defaultMode": "manual" }, "hooks": { "PreToolUse:Edit": "eslint --fix ${file_path}", "PostToolUse:Write": "~/.claude/hooks/security-scan.sh" }, "mcp": { "enabled": true, "servers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] } } } } ``` **Расширенный пример конфигурации:** ```json { "permissions": { "defaultMode": "manual", "allowedTools": ["Bash(git log:*)", "Read"], "disallowedTools": ["Bash(rm -rf:*)"] },

"hooks": { "PreToolUse": [{ "matcher": "Edit", "hooks": ["eslint --fix ${file_path}"] }], "PostToolUse": [{ "matcher": "Write", "hooks": ["/.claude/hooks/security-scan.sh"] }], "Stop": [{ "hooks": ["/.claude/hooks/notify.sh"] }] },

"mcp": { "enabled": true, "servers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } } } } }

CODE
### Дополнительные пользовательские настройки

Эти ключи задаются в `~/.claude/settings.json` (или в проектном `.claude/settings.json`) и управляют интерактивным поведением конкретного пользователя:
| Setting | Description |
|---------|-------------|
| `askUserQuestionTimeout` | Auto-continue an unanswered `AskUserQuestion` dialog after an idle interval. As of **v2.1.200** dialogs no longer auto-continue by default - set this to opt back into timed auto-continue. |
| `enableArtifact` | Per-user enable/disable of the Artifact tool (v2.1.196). |
| `crossSessionInbound` | (v2.1.224) How inbound [cross-session messages](#cross-session-messaging) are handled - `"accept"`, `"hold"`, or `"refuse"`. Project and local values apply only when *stricter* on the `accept < hold < refuse` ladder. Exposed in `/config` as "Messages from your other sessions" since v2.1.232. |
| `dialogExpiry` | (v2.1.224) How long an unanswered dialog stays open. Default `"5m"`; accepts `"60s"`, `"5m"`, `"10m"`, or `"never"`. Overridden by `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`. Exposed in `/config` as "Dialog expiry" since v2.1.232. |
| `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 - the nearest-scope value wins outright. |
| `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"`.) |
| `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. |
| `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`. |
### Резервные модели (`fallbackModel`)

Настройка `fallbackModel` позволяет задать **до трёх** резервных моделей, которые будут задействоваться по очереди, если основная модель перегружена или недоступна.
```json
{
  "fallbackModel": ["claude-opus-4-8", "claude-sonnet-4-6", "claude-haiku-4-5"]
}

Начиная с v2.1.166 флаг --fallback-model применяется также к интерактивным сессиям (а не только к headless). При переключении на fallback Claude Code один раз повторяет запрос при неожиданной неповторяемой ошибке; ошибки аутентификации, превышения лимита запросов, размера запроса и транспортные ошибки по-прежнему приводят к немедленному завершению.

Переменные окружения

Переопределение конфигурации через переменные окружения:

bash
# Model selection
export ANTHROPIC_MODEL=claude-opus-4-8
export ANTHROPIC_DEFAULT_MODEL=claude-opus-4-8   # (v2.1.236) Model new sessions start on. Unlike ANTHROPIC_MODEL, a /model pick still overrides it - and that pick persists across restarts
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-8
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

# API configuration
export ANTHROPIC_API_KEY=sk-ant-...

# Thinking configuration
export MAX_THINKING_TOKENS=16000
export CLAUDE_CODE_EFFORT_LEVEL=high   # low, medium, high, xhigh (Opus 5/4.8/4.7), or max - default is high on Opus 5 and Opus 4.8 (supported on Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 4.6)

# Feature toggles
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=true
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=true
export CLAUDE_CODE_DISABLE_CRON=1
export CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=true
export CLAUDE_CODE_DISABLE_TERMINAL_TITLE=true
export CLAUDE_CODE_DISABLE_1M_CONTEXT=true
export CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=true
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
export CLAUDE_CODE_ENABLE_TASKS=true
export CLAUDE_CODE_SIMPLE=true              # Set by --bare flag

# MCP configuration
export MAX_MCP_OUTPUT_TOKENS=50000
export ENABLE_TOOL_SEARCH=true

# Prompt caching
export ENABLE_PROMPT_CACHING_1H=1      # Use 1-hour prompt cache TTL (default is 5 min)

# Task management
export CLAUDE_CODE_TASK_LIST_ID=my-project-tasks

# Agent teams (experimental)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

# Subagent and plugin configuration
export CLAUDE_CODE_SUBAGENT_MODEL=sonnet
export CLAUDE_CODE_PLUGIN_SEED_DIR=./my-plugins
export CLAUDE_CODE_NEW_INIT=1

# Subprocess and streaming
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB="SECRET_KEY,DB_PASSWORD"
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80
export CLAUDE_STREAM_IDLE_TIMEOUT_MS=30000
export ANTHROPIC_CUSTOM_MODEL_OPTION=my-custom-model
export SLASH_COMMAND_TOOL_CHAR_BUDGET=50000

# Output and package manager (v2.1.129+)
export CLAUDE_CODE_FORCE_SYNC_OUTPUT=1                      # Force synchronous output for terminals where auto-detect misses (Emacs eat, etc.)
export CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1            # Enable background upgrades for Homebrew/WinGet installs
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1         # Opt in to /v1/models gateway discovery when ANTHROPIC_BASE_URL is set

# Windows PowerShell tool (v2.1.143+) - default-on for Bedrock/Vertex/Foundry on Windows
export CLAUDE_CODE_USE_POWERSHELL_TOOL=0                    # Disable the PowerShell tool entirely
export CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1    # Honor system ExecutionPolicy instead of `-ExecutionPolicy Bypass`

# Workload identity federation (v2.1.141+)
export ANTHROPIC_WORKSPACE_ID=ws_abc123                     # Scope the federated token to a specific workspace when the rule covers multiple

# Stop hook safety cap (v2.1.143+)
export CLAUDE_CODE_STOP_HOOK_BLOCK_CAP=8                    # Max consecutive Stop-hook blocks before the session ends with a warning. Set 0 to disable the cap.

# Session-wide spawn caps (v2.1.212)
export CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION=200         # Cap on WebSearch tool calls per session, to stop runaway search loops. Default 200.

# Accessibility (v2.1.208)
export CLAUDE_AX_SCREEN_READER=1                            # Enable plain-text screen reader rendering mode. Same effect as --ax-screen-reader or "axScreenReader": true in settings.

# Newer variables (v2.1.221-v2.1.234) - changelog-sourced; the CLI reference has no env-var section
export CLAUDE_CODE_ENABLE_TODO_TOOLS=1                      # (v2.1.233) Restore the todo/task-tracking tools (TaskCreate/Get/Update/List, TodoWrite), which are off on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models
export CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS=900000             # (v2.1.233) WebFetch URL cache TTL. Default 15 minutes.
export CLAUDE_CODE_TOOL_MEMORY_LIMIT=2G                     # (v2.1.233, Linux) Opt-in memory cgroup applied to Bash commands
export ANTHROPIC_BEDROCK_REGION_PREFIX=us                   # (v2.1.224) Prefer a specific Bedrock cross-region inference profile
export CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1  # (v2.1.223) Restore pre-v2.1.223 auto-compact behavior on unrecognized model IDs
export CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0             # (v2.1.229) Disable prefix staggering on dynamic-workflow fan-out
export CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS=300000            # (v2.1.224) Overrides the dialogExpiry setting
export CLAUDE_CODE_PROJECT_DIR_NAME=my-app                  # (v2.1.234) Short name for the per-project transcript directory, for hosts that give each session its own config directory
export CLAUDE_CODE_GOAL_CHECKIN_MINUTES=30                  # (v2.1.234) Minutes a background task may stall before Claude checks in while a /goal is active. Set 0 to disable check-ins.

v2.1.223 - расширено действие CLAUDE_CODE_DISABLE_1M_CONTEXT: переменная теперь распространяется на все модели Claude с нативным окном в 1M токенов, снижая его до 200K через автокомпакцию, а не только на фиксированный список идентификаторов моделей.

v2.1.108: ENABLE_PROMPT_CACHING_1H=1 - использовать TTL prompt-кэша в 1 час вместо стандартных 5 минут. Уменьшает число промахов кэша в длительных стабильных сессиях. (В v2.1.129 исправлена регрессия, из-за которой часовой TTL молча понижался до 5 минут.)

v2.1.129: CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 принудительно включает синхронный вывод для терминалов, в которых автоопределение возможностей не срабатывает (например, Emacs eat). CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 включает фоновое обновление для установок через Homebrew/WinGet, которые иначе никогда не обновляются автоматически.

Команды управления конфигурацией

CODE
User: /config
[Opens interactive configuration menu]

Команда /config открывает интерактивное меню для переключения настроек, таких как:

  • Расширенное мышление (вкл./выкл.)
  • Подробный вывод
  • Режим разрешений
  • Выбор модели
  • Динамический размер workflow (v2.1.219) - скрыт, если в файле настроек задан параметр workflowSizeGuideline, см. Dynamic Workflows

В интерактивном меню нажмите Enter или Space, чтобы изменить выбранную настройку, и Esc, чтобы сохранить изменения и закрыть меню (v2.1.183+).

Также можно задать настройку прямо из промпта, не открывая меню:

bash
/config thinking=false      # set a single setting inline (v2.1.181+)
/config --help              # list available shorthand keys (v2.1.183+)

Краткая форма key=value работает в интерактивных сессиях, с флагом -p и в Remote Control.

Конфигурация на уровне проекта

Создайте файл .claude/config.json в корне проекта:

json
{
  "hooks": {
    "PreToolUse": [{ "matcher": "Bash", "hooks": ["npm test && npm run lint"] }]
  },
  "permissions": {
    "defaultMode": "manual"
  },
  "mcp": {
    "servers": {
      "project-db": {
        "command": "mcp-postgres",
        "env": {
          "DATABASE_URL": "${PROJECT_DB_URL}"
        }
      }
    }
  }
}

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Области доверия и разрешений

> На основе changelog (v2.1.222, v2.1.232): эти ужесточения взяты из changelog; > справочник настроек пока не описывает их явно.

Повторяющаяся тема последних релизов: настройки, важные для безопасности, больше не могут быть расширены репозиторием, который вы клонировали. Три изменения, о которых стоит знать.

Вложенным репозиториям нужно отдельное подтверждение доверия (v2.1.232). git-репозиторий внутри доверенной родительской директории больше не наследует это доверие. Если вы доверяете ~/work/monorepo, а он содержит vendored submodule, вам предложат отдельно доверить submodule при первом запуске Claude Code внутри него.

sandbox.ripgrep доступен только в user-scope (v2.1.232). Настройка, которая задает ripgrep binary, используемый sandbox, учитывается только из пользовательских настроек, managed settings или --settings. Project settings больше не могут направить sandbox на другой binary.

Автозапуск Remote Control доступен только в user-scope (v2.1.222). Repo-local settings не могут включать автозапуск Remote Control; его можно включить только в user scope через /config.

Паттерн, который стоит усвоить: если настройка позволила бы файлу, добавленному в репозиторий, расширить то, что Claude Code разрешено делать на вашей машине, считайте, что теперь она доступна только в user-scope.


Команды агентов

Команды агентов - экспериментальная функция, которая позволяет нескольким экземплярам Claude Code совместно работать над задачей. По умолчанию она отключена.

Включение команд агентов

Включите через переменную окружения или настройки:

</query> ```bash # Environment variable export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 ``` Или добавьте в ваш JSON-файл настроек: ```json { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } ``` ### Как работают команды агентов
  • Тимлид координирует общую задачу и делегирует подзадачи участникам команды
  • Участники команды работают независимо, каждый в своём собственном контекстном окне
  • Общий список задач обеспечивает самокоординацию между участниками
  • Используйте определения субагентов (.claude/agents/ или флаг --agents), чтобы задать роли и специализации участников команды

Режимы отображения

Команды агентов поддерживают два режима отображения, задаваемых флагом --teammate-mode:

ModeDescription
in-process (default)Teammates run within the same terminal process
tmuxEach teammate gets a dedicated split pane (requires tmux or iTerm2)
autoAutomatically selects the best display mode
bash
# Use tmux split panes for teammate display
claude --teammate-mode tmux

# Explicitly use in-process mode
claude --teammate-mode in-process

Сценарии использования

  • Крупные задачи рефакторинга, где разные участники команды отвечают за разные модули
  • Параллельный code review и реализация
  • Согласованные изменения в нескольких файлах кодовой базы

Примечание: Agent Teams - экспериментальная функция, которая может измениться в будущих релизах. Полный справочник см. на code.claude.com/docs/en/agent-teams.


Лучшие практики

Режим планирования

  • ✅ Используйте для сложных многошаговых задач
  • ✅ Проверяйте планы перед утверждением
  • ✅ Корректируйте планы при необходимости
  • ❌ Не используйте для простых задач

Extended Thinking

  • ✅ Используйте для архитектурных решений
  • ✅ Используйте для решения сложных задач
  • ✅ Анализируйте ход рассуждений
  • ❌ Не используйте для простых запросов

Фоновые задачи

  • ✅ Используйте для длительных операций
  • ✅ Отслеживайте ход выполнения задач
  • ✅ Аккуратно обрабатывайте сбои задач
  • ❌ Не запускайте слишком много параллельных задач одновременно

Разрешения

  • ✅ Используйте plan для code review (только чтение)
  • ✅ Используйте default для интерактивной разработки
  • ✅ Используйте acceptEdits для сценариев автоматизации
  • ✅ Используйте auto для автономной работы с защитными ограничениями
  • ❌ Не используйте bypassPermissions без крайней необходимости

Сессии

  • ✅ Используйте отдельные сессии для разных задач
  • ✅ Сохраняйте важные состояния сессий
  • ✅ Удаляйте старые сессии
  • ❌ Не смешивайте несвязанные задачи в одной сессии

Дополнительные материалы

Подробнее о Claude Code и связанных возможностях:


Последнее обновление: 6 сентября 2026 г. Версия Claude Code: 2.1.263 Источники:

ЛОКАЛЬНАЯ ОТМЕТКА · БЕЗ ПРОВЕРКИ
←ПРЕДЫДУЩИЙCheckpoints and Rewind
СЛЕДУЮЩИЙCLI Reference→