SpyBara
Go Premium

Documentation 2026-06-16 21:57 UTC to 2026-06-17 17:02 UTC

117 files changed +7,453 −1,396. View all changes and history on the product overview
2026
Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +26 −11

Details

22| [Настройте видимость использования](#set-up-usage-visibility) | Как вы отслеживаете расходы и внедрение | [Analytics](/ru/analytics), [Monitoring](/ru/monitoring-usage), [Costs](/ru/costs) |22| [Настройте видимость использования](#set-up-usage-visibility) | Как вы отслеживаете расходы и внедрение | [Analytics](/ru/analytics), [Monitoring](/ru/monitoring-usage), [Costs](/ru/costs) |

23| [Проверьте обработку данных](#review-data-handling) | Хранение данных и статус соответствия | [Data usage](/ru/data-usage), [Security](/ru/security) |23| [Проверьте обработку данных](#review-data-handling) | Хранение данных и статус соответствия | [Data usage](/ru/data-usage), [Security](/ru/security) |

24 24 

25## Выберите поставщика API25<h2 id="choose-your-api-provider">

26 Выберите поставщика API

27</h2>

26 28 

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

28 30 


40 42 

41Требования прокси и брандмауэра в [Network configuration](/ru/network-config) применяются независимо от поставщика. Если вы хотите единую конечную точку перед несколькими поставщиками или централизованное логирование запросов, см. [LLM gateway](/ru/llm-gateway).43Требования прокси и брандмауэра в [Network configuration](/ru/network-config) применяются независимо от поставщика. Если вы хотите единую конечную точку перед несколькими поставщиками или централизованное логирование запросов, см. [LLM gateway](/ru/llm-gateway).

42 44 

43## Решите, как параметры достигают устройств45<h2 id="decide-how-settings-reach-devices">

46 Решите, как параметры достигают устройств

47</h2>

44 48 

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

46 50 

47| Механизм | Доставка | Приоритет | Платформы |51| Механизм | Доставка | Приоритет | Платформы |

48| :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- | :------------- |52| :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- | :------------- |


63 67 

64См. [Server-managed settings](/ru/server-managed-settings) и [Settings files and precedence](/ru/settings#settings-files).68См. [Server-managed settings](/ru/server-managed-settings) и [Settings files and precedence](/ru/settings#settings-files).

65 69 

66## Решите, что принудительно применять70<h2 id="decide-what-to-enforce">

71 Решите, что принудительно применять

72</h2>

67 73 

68Управляемые параметры могут заблокировать инструменты, изоляцию песочницы, ограничить серверы MCP и источники плагинов, а также контролировать, какие hooks запускаются. Каждая строка — это поверхность управления с ключами параметров, которые ее управляют.74Управляемые параметры могут заблокировать инструменты, изоляцию песочницы, ограничить серверы MCP и источники плагинов, а также контролировать, какие hooks запускаются. Каждая строка — это поверхность управления с ключами параметров, которые ее управляют.

69 75 

70| Управление | Что оно делает | Ключевые параметры |76| Управление | Что оно делает | Ключевые параметры |

71| :------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- |77| :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- |

72| [Permission rules](/ru/permissions) | Разрешить, спросить или запретить определенные инструменты и команды | `permissions.allow`, `permissions.deny` |78| [Permission rules](/ru/permissions) | Разрешить, спросить или запретить определенные инструменты и команды | `permissions.allow`, `permissions.deny` |

73| [Permission lockdown](/ru/permissions#managed-only-settings) | Применяются только управляемые правила разрешений; отключить `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |79| [Permission lockdown](/ru/permissions#managed-only-settings) | Применяются только управляемые правила разрешений; отключить `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

74| [Sandboxing](/ru/sandboxing) | Изоляция файловой системы и сети на уровне ОС с разрешенными списками доменов | `sandbox.enabled`, `sandbox.network.allowedDomains` |80| [Sandboxing](/ru/sandboxing) | Изоляция файловой системы и сети на уровне ОС с разрешенными списками доменов | `sandbox.enabled`, `sandbox.network.allowedDomains` |


79| [Hook restrictions](/ru/settings#hook-configuration) | Загружаются только управляемые hooks; ограничить URL-адреса HTTP hook | `allowManagedHooksOnly`, `allowedHttpHookUrls` |85| [Hook restrictions](/ru/settings#hook-configuration) | Загружаются только управляемые hooks; ограничить URL-адреса HTTP hook | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

80| [Disable agent view](/ru/agent-view#how-background-sessions-are-hosted) | Отключить `claude agents`, `--bg`, `/background` и встроенного супервизора по требованию | `disableAgentView` |86| [Disable agent view](/ru/agent-view#how-background-sessions-are-hosted) | Отключить `claude agents`, `--bg`, `/background` и встроенного супервизора по требованию | `disableAgentView` |

81| [Version floor](/ru/settings) | Предотвратить автоматическое обновление от установки ниже минимума на уровне организации | `minimumVersion` |87| [Version floor](/ru/settings) | Предотвратить автоматическое обновление от установки ниже минимума на уровне организации | `minimumVersion` |

88| [Required version range](/ru/settings) | Отказать в запуске полностью, когда запущенная версия находится вне одобренного организацией диапазона. Более строгий, чем `minimumVersion`, который только блокирует понижение версии | `requiredMinimumVersion`, `requiredMaximumVersion` |

82 89 

83Правила разрешений и песочница охватывают разные слои. Запрет WebFetch блокирует инструмент fetch Claude, но если Bash разрешен, `curl` и `wget` все еще могут достичь любого URL-адреса. Песочница закрывает этот пробел с разрешенным списком сетевых доменов, принудительно применяемым на уровне ОС.90Правила разрешений и песочница охватывают разные слои. Запрет WebFetch блокирует инструмент fetch Claude, но если Bash разрешен, `curl` и `wget` все еще могут достичь любого URL-адреса. Песочница закрывает этот пробел с разрешенным списком сетевых доменов, принудительно применяемым на уровне ОС.

84 91 

85Для модели угроз, которую защищают эти элементы управления, см. [Security](/ru/security).92Для модели угроз, которую защищают эти элементы управления, см. [Security](/ru/security).

86 93 

87## Настройте видимость использования94<h2 id="set-up-usage-visibility">

95 Настройте видимость использования

96</h2>

88 97 

89Выберите мониторинг на основе того, что вам нужно сообщить.98Выберите мониторинг на основе того, что вам нужно сообщить.

90 99 


96 105 

97Облачные поставщики раскрывают расходы через AWS Cost Explorer, GCP Billing или Azure Cost Management. Планы Claude for Teams и Enterprise включают панель использования на [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).106Облачные поставщики раскрывают расходы через AWS Cost Explorer, GCP Billing или Azure Cost Management. Планы Claude for Teams и Enterprise включают панель использования на [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).

98 107 

99## Проверьте обработку данных108<h2 id="review-data-handling">

109 Проверьте обработку данных

110</h2>

100 111 

101На планах Team, Enterprise, Claude API и облачных поставщиков Anthropic не обучает модели на вашем коде или подсказках. Ваш поставщик API определяет хранение и статус соответствия.112На планах Team, Enterprise, Claude API и облачных поставщиков Anthropic не обучает модели на вашем коде или подсказках. Ваш поставщик API определяет хранение и статус соответствия.

102 113 


108 119 

109Если вам нужно логирование аудита на уровне запроса или маршрутизация трафика по чувствительности данных, поместите [LLM gateway](/ru/llm-gateway) между разработчиками и вашим поставщиком. Для нормативных требований и сертификаций см. [Legal and compliance](/ru/legal-and-compliance).120Если вам нужно логирование аудита на уровне запроса или маршрутизация трафика по чувствительности данных, поместите [LLM gateway](/ru/llm-gateway) между разработчиками и вашим поставщиком. Для нормативных требований и сертификаций см. [Legal and compliance](/ru/legal-and-compliance).

110 121 

111## Проверьте и подключите122<h2 id="verify-and-onboard">

123 Проверьте и подключите

124</h2>

112 125 

113После настройки управляемых параметров попросите разработчика запустить `/status` внутри Claude Code. Вывод включает строку, начинающуюся с `Enterprise managed settings`, за которой следует источник в скобках, один из `(remote)`, `(plist)`, `(HKLM)`, `(HKCU)` или `(file)`. См. [Verify active settings](/ru/settings#verify-active-settings).126После настройки управляемых параметров попросите разработчика запустить `/status` внутри Claude Code. На вкладке **Status** строка `Setting sources` показывает `Enterprise managed settings`, за которой следует источник в скобках, один из `(remote)`, `(plist)`, `(HKLM)`, `(HKCU)` или `(file)`. См. [Проверка активных параметров](/ru/settings#verify-active-settings).

114 127 

115Поделитесь этими ресурсами, чтобы помочь разработчикам начать работу:128Поделитесь этими ресурсами, чтобы помочь разработчикам начать работу:

116 129 


118* [Common workflows](/ru/common-workflows): шаблоны для повседневных задач, таких как проверка кода, рефакторинг и отладка131* [Common workflows](/ru/common-workflows): шаблоны для повседневных задач, таких как проверка кода, рефакторинг и отладка

119* [Claude 101](https://anthropic.skilljar.com/claude-101) и [Claude Code in Action](https://anthropic.skilljar.com/claude-code-in-action): самостоятельные курсы Anthropic Academy132* [Claude 101](https://anthropic.skilljar.com/claude-101) и [Claude Code in Action](https://anthropic.skilljar.com/claude-code-in-action): самостоятельные курсы Anthropic Academy

120 133 

121Для проблем с входом направьте разработчиков на [authentication troubleshooting](/ru/troubleshoot-install#login-and-authentication). Наиболее распространенные исправления:134Для проблем с входом направьте разработчиков на [troubleshooting аутентификации](/ru/troubleshoot-install#login-and-authentication). Наиболее распространенные исправления:

122 135 

123* Запустите `/logout`, а затем `/login` для переключения учетных записей136* Запустите `/logout`, а затем `/login` для переключения учетных записей

124* Запустите `claude update`, если отсутствует опция аутентификации предприятия137* Запустите `claude update`, если отсутствует опция аутентификации предприятия


126 139 

127Если разработчик видит "You haven't been added to your organization yet," его место не включает доступ к Claude Code и должно быть обновлено в консоли администратора.140Если разработчик видит "You haven't been added to your organization yet," его место не включает доступ к Claude Code и должно быть обновлено в консоли администратора.

128 141 

129## Следующие шаги142<h2 id="next-steps">

143 Следующие шаги

144</h2>

130 145 

131После выбора поставщика и механизма доставки переходите к подробной конфигурации:146После выбора поставщика и механизма доставки переходите к подробной конфигурации:

132 147 

advisor.md +198 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Эскалация сложных решений с помощью инструмента advisor

6 

7> Объедините вашу основную модель с более мощной моделью-советником, которую Claude консультирует в ключевые моменты выполнения задачи.

8 

9{/* plan-availability: feature=advisor providers=anthropic */}

10 

11<Note>

12 Инструмент advisor является экспериментальным и требует Claude Code v2.1.98 или более поздней версии с API Anthropic. Он недоступен на Amazon Bedrock, Google Vertex AI или Microsoft Foundry. Поведение, цены и доступность могут измениться.

13</Note>

14 

15Инструмент advisor позволяет Claude консультироваться со второй, обычно более мощной моделью в ключевые моменты выполнения задачи, например перед принятием подхода, когда возникает повторяющаяся ошибка, или перед объявлением задачи завершённой. Советник получает полный диалог, включая каждый вызов инструмента и результат, и возвращает рекомендации, которые Claude применяет перед продолжением.

16 

17Советник работает на стороне сервера на инфраструктуре Anthropic как [server tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool), доступный как для подписных, так и для счётных по API аккаунтов. Вы выбираете, какая модель действует в качестве советника, а Claude решает, когда его вызывать.

18 

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

20 

21<h2 id="when-to-use-the-advisor">

22 Когда использовать советника

23</h2>

24 

25Советник подходит для длительных многошаговых задач, где большинство ходов рутинны, но качество плана определяет результат. Примеры включают крупные рефакторинги, сеансы отладки, где ошибка повторяется, и задачи, которые вы хотите независимо проверить перед тем, как Claude объявит их завершёнными.

26 

27Он добавляет меньше ценности для коротких задач, где мало что нужно планировать, или для работы, где каждый ход требует самой мощной модели. Для этого [переключите основную модель](/ru/model-config#setting-your-model) или см. [как советник сравнивается с opusplan и subagents](#compare-with-related-features) для других способов получить второе мнение.

28 

29<h2 id="enable-the-advisor">

30 Включение советника

31</h2>

32 

33Вы можете установить модель советника тремя способами:

34 

35* **Команда `/advisor`**: установите или измените советника во время сеанса и сохраните его как стандартный

36* **Параметр `advisorModel`**: настройте постоянное значение по умолчанию в вашем [файле параметров](/ru/settings)

37* **Флаг `--advisor`**: установите советника для одного сеанса при запуске

38 

39Если любой из этих способов установит модель советника, советник будет включён для сеансов, основная модель которых [его поддерживает](#choose-an-advisor-model). Чтобы перестать его использовать, см. [Отключение советника](#turn-the-advisor-off).

40 

41<Note>

42 Чтобы использовать Fable 5 в качестве советника, вам нужна Claude Code v2.1.170 или более поздняя версия и [доступ к Fable 5](/ru/model-config#work-with-fable-5) для вашей организации.

43</Note>

44 

45<h3 id="use-the-/advisor-command">

46 Использование команды `/advisor`

47</h3>

48 

49Запустите `/advisor` без аргументов, чтобы открыть средство выбора со списком доступных моделей советника, или передайте модель напрямую:

50 

51```

52/advisor opus

53```

54 

55Ваш выбор сохраняется в `advisorModel` в параметрах пользователя и сохраняется между сеансами. Если ваша текущая основная модель не поддерживает советника, выбор всё равно сохраняется и активируется при переключении на [совместимую основную модель](#choose-an-advisor-model) с помощью [`/model`](/ru/model-config#setting-your-model).

56 

57<h3 id="set-advisormodel-in-settings">

58 Установка `advisorModel` в параметрах

59</h3>

60 

61Чтобы настроить советника по умолчанию без открытия сеанса, установите его в файле параметров:

62 

63```json theme={null}

64{

65 "advisorModel": "opus"

66}

67```

68 

69<h3 id="use-the-advisor-flag">

70 Использование флага `--advisor`

71</h3>

72 

73Чтобы установить советника для одного сеанса без изменения сохранённого параметра, запустите с флагом:

74 

75```bash theme={null}

76claude --advisor opus

77```

78 

79Флаг имеет приоритет над параметром `advisorModel` для этого сеанса. В отличие от `/advisor`, который сохраняет неактивный выбор, флаг завершается с ошибкой, если основная модель сеанса не поддерживает советника.

80 

81<h2 id="choose-an-advisor-model">

82 Выбор модели советника

83</h2>

84 

85Советник должен быть по крайней мере такой же способной, как основная модель. Принятые советники для каждой основной модели:

86 

87| Основная модель | Принятые советники | Примечания |

88| ----------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------ |

89| Haiku 4.5 | Fable, Opus, Sonnet | Haiku может вызывать советника, но не может быть им |

90| Sonnet 4.6 | Fable, Opus, Sonnet | |

91| Opus 4.6 или позже | Fable, Opus на версии основной модели или выше | Opus 4.7 в качестве основной с Opus 4.6 в качестве советника отклоняется |

92| Fable 5 ({/* min-version: 2.1.170 */}v2.1.170+) | Fable | Советник Opus или Sonnet отклоняется |

93 

94Fable 5 требует Claude Code v2.1.170 или более поздней версии и доступ к Fable 5, независимо от того, действует ли она в качестве основной модели или советника.

95 

96Установите советника как `opus`, `sonnet` или `fable`. Эти псевдонимы разрешаются в последнюю версию каждой модели. Вы также можете передать полный ID модели, например `claude-opus-4-8`.

97 

98Подагенты наследуют настроенного советника и применяют ту же проверку пары к своей собственной модели.

99 

100Claude Code проверяет пару перед отправкой запроса:

101 

102* Если советник менее способен, чем основная модель, советник не присоединяется к запросам основной модели. Вывод команды `/advisor` и уведомление показывают это. Подагенты, чья собственная модель удовлетворяет требованиям пары, могут по-прежнему использовать советника.

103* Если основная модель или советник — это модель, которую Claude Code не распознает, советник не присоединяется.

104 

105<h3 id="common-model-pairings">

106 Распространённые пары моделей

107</h3>

108 

109Любая принятая пара работает. Эти комбинации балансируют стоимость и возможности по-разному:

110 

111| Пара | Когда использовать |

112| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

113| Sonnet основная + Opus советник | Sonnet обрабатывает рутинную работу и эскалирует планирование, неоднозначные сбои и проверки завершения на Opus |

114| Sonnet основная + Fable советник | Рекомендации Fable 5 в точках принятия решений без запуска Fable 5 на протяжении всего процесса. Требует v2.1.170 или позже и доступ к Fable 5 |

115| Haiku основная + Opus советник | Самая дешёвая основная модель с мощным планированием. Ожидайте более высокую стоимость, чем только Haiku, но ниже, чем переключение основной модели на Sonnet или Opus |

116| Opus основная + Opus советник | Второй Opus проверяет первый. Полезно для высокорисковых задач, где независимая проверка важнее стоимости |

117| Fable основная + Fable советник | Пара с наивысшей возможностью, когда Fable 5 доступна (v2.1.170+). Fable является более высоким уровнем, чем Opus и Sonnet, поэтому это единственный принятый советник для основной модели Fable |

118| Sonnet основная + Sonnet советник | Более дешёвое второе мнение для выявления рутинных упущений |

119 

120<h2 id="when-claude-consults-the-advisor">

121 Когда Claude консультируется с советником

122</h2>

123 

124Claude решает, когда вызывать советника. Он имеет тенденцию консультироваться перед принятием подхода, когда ошибка повторяется, и перед объявлением задачи завершённой, но время определяется моделью, а не правилами.

125 

126Вы можете попросить консультацию в своём приглашении так же, как вы запросили бы любой инструмент, например `consult the advisor before you continue`. Нет параметра для ограничения или принудительного вызова советника; если вы хотите, чтобы Claude консультировался чаще или реже во время задачи, скажите об этом в своих инструкциях.

127 

128<h2 id="what-you-see-during-a-session">

129 Что вы видите во время сеанса

130</h2>

131 

132Когда Claude вызывает советника, стенограмма показывает строку `Advising` с именем модели советника во время выполнения вызова. Когда результат возвращается, строка подтверждает, что советник проверил диалог. Нажмите `Ctrl+O`, чтобы развернуть его и прочитать полные рекомендации советника.

133 

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

135 

136Советник всегда получает полный диалог, и Claude контролирует время. Для большего контроля или другой конфигурации см. [как советник сравнивается с subagents и opusplan](#compare-with-related-features).

137 

138<h2 id="cost">

139 Стоимость

140</h2>

141 

142Каждый вызов советника отправляет диалог модели советника, поэтому он потребляет токены по ставкам модели советника в дополнение к использованию вашей основной модели. При выставлении счёта по API токены советника взимаются по входным и выходным ставкам модели советника. На планах подписки использование советника учитывается в пределах использования вашего плана.

143 

144Claude вызывает советника в точках принятия решений, а не на каждом ходу, поэтому объединение более быстрой основной модели с более мощным советником обычно стоит меньше, чем запуск более мощной модели на протяжении всего процесса. Использование советника учитывается в итогах сеанса, показанных [`/usage`](/ru/costs#track-your-costs).

145 

146Для информации о том, как токены советника сообщаются в ответах API, см. [Usage and billing](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#usage-and-billing) в документации Claude API.

147 

148<h2 id="impact-on-prompt-caching">

149 Влияние на кэширование приглашений

150</h2>

151 

152Включение или отключение советника во время сеанса не делает недействительным [кэш приглашений](/ru/prompt-caching) вашей основной модели. В отличие от [изменения модели или уровня усилий](/ru/prompt-caching#actions-that-invalidate-the-cache), переключение `/advisor` сохраняет кэшированный префикс нетронутым, и возвращённые рекомендации советника кэшируются как часть стенограммы при последующих ходах.

153 

154Собственное чтение советником диалога не кэшируется. Каждый вызов советника обрабатывает полную стенограмму заново, без повторного использования между вызовами.

155 

156<h2 id="requirements">

157 Требования

158</h2>

159 

160Инструмент advisor требует всё следующее:

161 

162* **Claude Code v2.1.98 или позже**: запустите `claude update` для обновления.

163* **Только API Anthropic**: советник является инструментом, выполняемым на сервере. Он недоступен на Amazon Bedrock, Google Vertex AI или Microsoft Foundry. Через [LLM gateway](/ru/llm-gateway), настроенный с `ANTHROPIC_BASE_URL`, доступность зависит от того, пересылает ли шлюз запрос в целости на API Anthropic.

164* **Поддерживаемая основная модель**: Opus 4.6 или позже, Sonnet 4.6 или Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 также подходит на Claude Code v2.1.170 или позже.

165 

166<h2 id="turn-the-advisor-off">

167 Отключение советника

168</h2>

169 

170Чтобы перестать использовать советника и очистить сохранённый `advisorModel`, запустите `/advisor off` или выберите **No advisor** в средстве выбора `/advisor`:

171 

172```

173/advisor off

174```

175 

176Чтобы полностью отключить инструмент advisor, включая команду `/advisor` и флаг `--advisor`, установите `CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`. См. [Environment variables](/ru/env-vars).

177 

178<h2 id="compare-with-related-features">

179 Сравнение со связанными функциями

180</h2>

181 

182Советник — это один из нескольких способов объединить сильные стороны моделей. Выбирайте в зависимости от того, когда вы хотите, чтобы вторая модель была задействована.

183 

184| Подход | Когда работает более мощная модель | Как это начинается |

185| ------------------------------------------------------------------ | ------------------------------------------------------------------- | ------------------------------------------------- |

186| Инструмент advisor | В точках принятия решений во время задачи | Claude вызывает его, когда ему нужна рекомендация |

187| [`opusplan`](/ru/model-config#opusplan-model-setting) | Во время режима плана, затем переключается на Sonnet для выполнения | Вы входите в режим плана |

188| [Subagents](/ru/sub-agents#choose-a-model) с установленным `model` | Для всей делегированной подзадачи | Claude делегирует или вы вызываете subagent |

189| [`/model`](/ru/model-config#setting-your-model) | Для всех последующих ходов | Вы переключаете модели |

190 

191<h2 id="see-also">

192 См. также

193</h2>

194 

195* [Model configuration](/ru/model-config): переключение моделей, установка уровней усилий и использование `opusplan`

196* [Manage costs effectively](/ru/costs): отслеживание использования токенов между моделями

197* [Advisor tool in the Claude API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool): понимание базового инструмента сервера или его прямое использование из Messages API

198* [The advisor strategy](https://claude.com/blog/the-advisor-strategy): почему объединение быстрой основной модели с более мощным советником работает

Details

16 16 

17Каждая сессия агента следует одному и тому же циклу:17Каждая сессия агента следует одному и тому же циклу:

18 18 

19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-loop-diagram.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=1c6e8f28d80dba14a7287419656f1237" alt="Цикл агента: запрос входит, Claude оценивает, ветвится на вызовы инструментов или финальный ответ" width="720" height="212" data-path="images/agent-loop-diagram.svg" />19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-loop-diagram.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=1c6e8f28d80dba14a7287419656f1237" alt="Диаграмма цикла агента: ваш запрос входит в цикл агента, где Claude оценивает и либо запрашивает вызовы инструментов, результаты которых возвращаются в следующую оценку, либо возвращает финальный ответ" width="720" height="212" data-path="images/agent-loop-diagram.svg" />

20 20 

211. **Получить запрос.** Claude получает ваш запрос вместе с системным запросом, определениями инструментов и историей разговора. SDK выдает [`SystemMessage`](#message-types) с подтипом `"init"`, содержащий метаданные сессии.211. **Получить запрос.** Claude получает ваш запрос вместе с системным запросом, определениями инструментов и историей разговора. SDK выдает [`SystemMessage`](#message-types) с подтипом `"init"`, содержащий метаданные сессии.

222. **Оценить и ответить.** Claude оценивает текущее состояние и определяет, как действовать дальше. Он может ответить текстом, запросить один или несколько вызовов инструментов или оба варианта. SDK выдает [`AssistantMessage`](#message-types), содержащее текст и любые запросы вызовов инструментов.222. **Оценить и ответить.** Claude оценивает текущее состояние и определяет, как действовать дальше. Он может ответить текстом, запросить один или несколько вызовов инструментов или оба варианта. SDK выдает [`AssistantMessage`](#message-types), содержащее текст и любые запросы вызовов инструментов.


53 53 

54По мере выполнения цикла SDK выдает поток сообщений. Каждое сообщение имеет тип, который говорит вам, на каком этапе цикла оно пришло. Пять основных типов:54По мере выполнения цикла SDK выдает поток сообщений. Каждое сообщение имеет тип, который говорит вам, на каком этапе цикла оно пришло. Пять основных типов:

55 55 

56* **`SystemMessage`:** события жизненного цикла сессии. Поле `subtype` их различает: `"init"` — это первое сообщение (метаданные сессии), а `"compact_boundary"` срабатывает после [компактирования](#automatic-compaction). В TypeScript граница компактирования — это собственный тип [`SDKCompactBoundaryMessage`](/ru/agent-sdk/typescript#sdkcompactboundarymessage) вместо подтипа `SDKSystemMessage`.56* **`SystemMessage`:** события жизненного цикла сессии. Поле `subtype` их различает:

57 

58 * `"init"`: первое сообщение с метаданными сессии

59 * `"compact_boundary"`: срабатывает после [компактирования](#automatic-compaction)

60 * `"informational"`: простые текстовые баннеры статуса из цикла

61 * `"worker_shutting_down"`: цикл завершится после текущего хода, потому что хост выходит или Remote Control отключился

62 

63 В TypeScript каждый подтип, кроме `"init"`, является собственным типом в объединении [`SDKMessage`](/ru/agent-sdk/typescript#sdkmessage), а не подтипом `SDKSystemMessage`.

57* **`AssistantMessage`:** выдается после каждого ответа Claude, включая финальный текстовый. Содержит блоки текстового содержимого и блоки вызовов инструментов из этого хода.64* **`AssistantMessage`:** выдается после каждого ответа Claude, включая финальный текстовый. Содержит блоки текстового содержимого и блоки вызовов инструментов из этого хода.

58* **`UserMessage`:** выдается после каждого выполнения инструмента с результатом инструмента, отправленным обратно Claude. Также выдается для любых пользовательских входов, которые вы транслируете в середине цикла.65* **`UserMessage`:** выдается после каждого выполнения инструмента с результатом инструмента, отправленным обратно Claude. Также выдается для любых пользовательских входов, которые вы транслируете в середине цикла.

59* **`StreamEvent`:** выдается только при включении частичных сообщений. Содержит необработанные события потоковой передачи API (дельты текста, фрагменты входных данных инструмента). См. [Потоковые ответы](/ru/agent-sdk/streaming-output).66* **`StreamEvent`:** выдается только при включении частичных сообщений. Содержит необработанные события потоковой передачи API (дельты текста, фрагменты входных данных инструмента). См. [Потоковые ответы](/ru/agent-sdk/streaming-output).


183Опция `effort` контролирует, сколько рассуждений применяет Claude. Более низкие уровни усилий используют меньше токенов за ход и снижают стоимость. Не все модели поддерживают параметр effort. См. [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) для того, какие модели его поддерживают.190Опция `effort` контролирует, сколько рассуждений применяет Claude. Более низкие уровни усилий используют меньше токенов за ход и снижают стоимость. Не все модели поддерживают параметр effort. См. [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) для того, какие модели его поддерживают.

184 191 

185| Уровень | Поведение | Хорошо для |192| Уровень | Поведение | Хорошо для |

186| :--------- | :-------------------------------------- | :-------------------------------------------------------- |193| :--------- | :-------------------------------------- | :------------------------------------------------------------------- |

187| `"low"` | Минимальное рассуждение, быстрые ответы | Поиск файлов, список каталогов |194| `"low"` | Минимальное рассуждение, быстрые ответы | Поиск файлов, список каталогов |

188| `"medium"` | Сбалансированное рассуждение | Обычные редактирования, стандартные задачи |195| `"medium"` | Сбалансированное рассуждение | Обычные редактирования, стандартные задачи |

189| `"high"` | Тщательный анализ | Рефакторинг, отладка |196| `"high"` | Тщательный анализ | Рефакторинг, отладка |

190| `"xhigh"` | Расширенная глубина рассуждения | Задачи кодирования и агентские; рекомендуется на Opus 4.7 |197| `"xhigh"` | Расширенная глубина рассуждения | Задачи кодирования и агентские; рекомендуется на Fable 5 и Opus 4.7+ |

191| `"max"` | Максимальная глубина рассуждения | Многошаговые проблемы, требующие глубокого анализа |198| `"max"` | Максимальная глубина рассуждения | Многошаговые проблемы, требующие глубокого анализа |

192 199 

193Если вы не установите `effort`, Python SDK оставляет параметр неустановленным и полагается на поведение модели по умолчанию. TypeScript SDK по умолчанию использует `"high"`.200Если вы не установите `effort`, оба SDK оставляют параметр неустановленным и полагаются на поведение модели по умолчанию.

194 201 

195<Note>202<Note>

196 `effort` обменивает задержку и стоимость токена на глубину рассуждения в каждом ответе. [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) — это отдельная функция, которая выдает видимые блоки цепочки мыслей в выводе. Они независимы: вы можете установить `effort: "low"` с включенным extended thinking или `effort: "max"` без него.203 `effort` обменивает задержку и стоимость токена на глубину рассуждения в каждом ответе. [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) — это отдельная функция, которая выдает видимые блоки цепочки мыслей в выводе. Они независимы: вы можете установить `effort: "low"` с включенным extended thinking или `effort: "max"` без него.


205Опция режима разрешения (`permission_mode` в Python, `permissionMode` в TypeScript) контролирует, просит ли агент одобрения перед использованием инструментов:212Опция режима разрешения (`permission_mode` в Python, `permissionMode` в TypeScript) контролирует, просит ли агент одобрения перед использованием инструментов:

206 213 

207| Режим | Поведение |214| Режим | Поведение |

208| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |215| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

209| `"default"` | Инструменты, не охватываемые правилами разрешения, запускают ваш обратный вызов одобрения; отсутствие обратного вызова означает отклонение |216| `"default"` | Инструменты, не охватываемые правилами разрешения, запускают ваш обратный вызов одобрения; отсутствие обратного вызова означает отклонение |

210| `"acceptEdits"` | Автоматически одобряет редактирование файлов и общие команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т. д.); другие команды Bash следуют правилам по умолчанию |217| `"acceptEdits"` | Автоматически одобряет редактирование файлов и общие команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т. д.); другие команды Bash следуют правилам по умолчанию |

211| `"plan"` | Инструменты только для чтения работают; Claude исследует и выдает план без редактирования ваших исходных файлов |218| `"plan"` | Claude исследует и планирует без редактирования ваших исходных файлов; редактирование файлов никогда не одобряется автоматически и запрашивается через ваш обратный вызов `canUseTool` |

212| `"dontAsk"` | Никогда не подсказывает. Инструменты, предварительно одобренные [правилами разрешения](/ru/settings#permission-settings), работают, все остальное отклоняется |219| `"dontAsk"` | Никогда не подсказывает. Инструменты, предварительно одобренные [правилами разрешения](/ru/settings#permission-settings), работают, все остальное отклоняется |

213| `"auto"` (только TypeScript) | Использует классификатор модели для одобрения или отклонения каждого вызова инструмента. См. [Режим Auto](/ru/permission-modes#eliminate-prompts-with-auto-mode) для доступности и поведения |220| `"auto"` (только TypeScript) | Использует классификатор модели для одобрения или отклонения каждого вызова инструмента. См. [Режим Auto](/ru/permission-modes#eliminate-prompts-with-auto-mode) для доступности и поведения |

214| `"bypassPermissions"` | Запускает все разрешенные инструменты без запроса. Не может использоваться при запуске от root на Unix. Используйте только в изолированных окружениях, где действия агента не могут повлиять на системы, которые вам важны |221| `"bypassPermissions"` | Запускает все разрешенные инструменты без запроса, если явное правило [`ask`](/ru/settings#permission-settings) не совпадает; см. [Как оцениваются разрешения](/ru/agent-sdk/permissions#how-permissions-are-evaluated) для того, где правила ask находятся в порядке приоритета. Не может использоваться при запуске от root на Unix. Используйте только в изолированных окружениях, где действия агента не могут повлиять на системы, которые вам важны |

215 222 

216Для интерактивных приложений используйте `"default"` с обратным вызовом одобрения инструмента для отображения подсказок одобрения. Для автономных агентов на машине разработки используйте `"acceptEdits"`, чтобы автоматически одобрить редактирование файлов и общие команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т. д.), при этом все еще ограничивая другие команды `Bash` правилами разрешения. Зарезервируйте `"bypassPermissions"` для CI, контейнеров или других изолированных окружений. См. [Разрешения](/ru/agent-sdk/permissions) для полных деталей.223Для интерактивных приложений используйте `"default"` с обратным вызовом одобрения инструмента для отображения подсказок одобрения. Для автономных агентов на машине разработки используйте `"acceptEdits"`, чтобы автоматически одобрить редактирование файлов и общие команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т. д.), при этом все еще ограничивая другие команды `Bash` правилами разрешения. Зарезервируйте `"bypassPermissions"` для CI, контейнеров или других изолированных окружений. См. [Разрешения](/ru/agent-sdk/permissions) для полных деталей.

217 224 

Details

257 257 

258<CodeGroup>258<CodeGroup>

259 ```python Python theme={null}259 ```python Python theme={null}

260 from claude_agent_sdk import ClaudeAgentOptions, query

261 import asyncio

262 

263 

264 async def main():

260 options = ClaudeAgentOptions(265 options = ClaudeAgentOptions(

261 env={266 env={

262 "CLAUDE_CODE_USE_BEDROCK": "1",267 "CLAUDE_CODE_USE_BEDROCK": "1",

263 "ENABLE_PROMPT_CACHING_1H": "1",268 "ENABLE_PROMPT_CACHING_1H": "1",

264 },269 },

265 )270 )

271 

272 async for message in query(prompt="Summarize this project", options=options):

273 print(message)

274 

275 

276 asyncio.run(main())

266 ```277 ```

267 278 

268 ```typescript TypeScript theme={null}279 ```typescript TypeScript theme={null}

280 import { query } from "@anthropic-ai/claude-agent-sdk";

281 

269 const options = {282 const options = {

270 env: {283 env: {

271 ...process.env,284 ...process.env,


273 ENABLE_PROMPT_CACHING_1H: "1",286 ENABLE_PROMPT_CACHING_1H: "1",

274 },287 },

275 };288 };

289 

290 for await (const message of query({ prompt: "Summarize this project", options })) {

291 console.log(message);

292 }

276 ```293 ```

277</CodeGroup>294</CodeGroup>

278 295 

Details

36* **Описание:** что делает инструмент. Claude читает это, чтобы решить, когда его вызывать.36* **Описание:** что делает инструмент. Claude читает это, чтобы решить, когда его вызывать.

37* **Входная схема:** аргументы, которые должен предоставить Claude. В TypeScript это всегда [схема Zod](https://zod.dev/), и типы `args` обработчика автоматически выводятся из неё. В Python это словарь, отображающий имена на типы, например `{"latitude": float}`, который SDK преобразует в JSON Schema для вас. Декоратор Python также принимает полный словарь [JSON Schema](https://json-schema.org/understanding-json-schema/about) непосредственно, когда вам нужны перечисления, диапазоны, необязательные поля или вложенные объекты.37* **Входная схема:** аргументы, которые должен предоставить Claude. В TypeScript это всегда [схема Zod](https://zod.dev/), и типы `args` обработчика автоматически выводятся из неё. В Python это словарь, отображающий имена на типы, например `{"latitude": float}`, который SDK преобразует в JSON Schema для вас. Декоратор Python также принимает полный словарь [JSON Schema](https://json-schema.org/understanding-json-schema/about) непосредственно, когда вам нужны перечисления, диапазоны, необязательные поля или вложенные объекты.

38* **Обработчик:** асинхронная функция, которая запускается, когда Claude вызывает инструмент. Она получает проверенные аргументы и должна вернуть объект с:38* **Обработчик:** асинхронная функция, которая запускается, когда Claude вызывает инструмент. Она получает проверенные аргументы и должна вернуть объект с:

39 * `content` (обязательно): массив блоков результатов, каждый с типом `"text"`, `"image"` или `"resource"`. См. [Возврат изображений и ресурсов](#return-images-and-resources) для нетекстовых блоков.39 * `content` (обязательно): массив блоков результатов, каждый с типом `"text"`, `"image"`, `"audio"`, `"resource"` или `"resource_link"`. См. [Возврат изображений и ресурсов](#return-images-and-resources) для нетекстовых блоков.

40 * `structuredContent` (необязательно): объект JSON, содержащий результат как машиночитаемые данные, возвращаемые вместе с `content`. См. [Возврат структурированных данных](#return-structured-data).40 * `structuredContent` (необязательно): объект JSON, содержащий результат как машиночитаемые данные, возвращаемые вместе с `content`. См. [Возврат структурированных данных](#return-structured-data).

41 * `isError` (необязательно): установите на `true`, чтобы сигнализировать об ошибке инструмента, чтобы Claude мог на неё реагировать. См. [Обработка ошибок](#handle-errors).41 * `isError` (необязательно): установите на `true`, чтобы сигнализировать об ошибке инструмента, чтобы Claude мог на неё реагировать. См. [Обработка ошибок](#handle-errors).

42 42 


273 ```273 ```

274</CodeGroup>274</CodeGroup>

275 275 

276Каждый инструмент в этом массиве потребляет пространство контекстного окна на каждом ходу. Если вы определяете десятки инструментов, см. [поиск инструментов](/ru/agent-sdk/tool-search) для загрузки их по требованию.276Каждый инструмент в этом массиве потребляет пространство контекстного окна на каждом ходу. Если вы определяете десятки инструментов, см. [поиск инструментов](/ru/agent-sdk/tool-search) для загрузки их по требованию вместо этого.

277 277 

278<h3 id="add-tool-annotations">278<h3 id="add-tool-annotations">

279 Добавление аннотаций инструментов279 Добавление аннотаций инструментов


461 Возврат изображений и ресурсов461 Возврат изображений и ресурсов

462</h2>462</h2>

463 463 

464Массив `content` в результате инструмента принимает блоки `text`, `image` и `resource`. Вы можете смешивать их в одном ответе.464Массив `content` в результате инструмента принимает блоки `text`, `image`, `audio`, `resource` и `resource_link`. Вы можете смешивать их в одном ответе. Блоки audio сохраняются на диск, и Claude получает текстовый блок с сохранённым путём файла. Блоки resource link преобразуются в текстовый блок, содержащий имя ссылки, URI и описание.

465 465 

466<h3 id="images">466<h3 id="images">

467 Изображения467 Изображения

Details

710| Ограничение | Описание |710| Ограничение | Описание |

711| ------------------------------------------ | ------------------------------------------------------------------- |711| ------------------------------------------ | ------------------------------------------------------------------- |

712| Только инструменты Write/Edit/NotebookEdit | Изменения, внесённые через команды Bash, не отслеживаются |712| Только инструменты Write/Edit/NotebookEdit | Изменения, внесённые через команды Bash, не отслеживаются |

713| Один сеанс | Checkpoint привязаны к сеансу, который их создал |713| Один сеанс | Checkpoints привязаны к сеансу, который их создал |

714| Только содержимое файла | Создание, перемещение или удаление каталогов не отменяется отмоткой |714| Только содержимое файла | Создание, перемещение или удаление каталогов не отменяется отмоткой |

715| Локальные файлы | Удалённые или сетевые файлы не отслеживаются |715| Локальные файлы | Удалённые или сетевые файлы не отслеживаются |

716 716 


729* **Python**: `pip install --upgrade claude-agent-sdk`729* **Python**: `pip install --upgrade claude-agent-sdk`

730* **TypeScript**: `npm install @anthropic-ai/claude-agent-sdk@latest`730* **TypeScript**: `npm install @anthropic-ai/claude-agent-sdk@latest`

731 731 

732<h3 id="user-messages-don-t-have-uuids">732<h3 id="user-messages-dont-have-uuids">

733 Пользовательские сообщения не имеют UUID733 Пользовательские сообщения не имеют UUID

734</h3>734</h3>

735 735 


747 747 

748**Частые причины**:748**Частые причины**:

749 749 

750* File checkpointing не был включён в исходном сеансе (параметр `enable_file_checkpointing` или `enableFileCheckpointing` не был установлен на `true`)750* File checkpointing не был включён в исходном сеансе (`enable_file_checkpointing` или `enableFileCheckpointing` не был установлен на `true`)

751* Сеанс не был должным образом завершён перед попыткой возобновления и отмотки751* Сеанс не был должным образом завершён перед попыткой возобновления и отмотки

752 752 

753**Решение**: Убедитесь, что `enable_file_checkpointing=True` (Python) или `enableFileCheckpointing: true` (TypeScript) был установлен в исходном сеансе, затем используйте паттерн, показанный в примерах: захватите UUID первого пользовательского сообщения, полностью завершите сеанс, затем возобновите с пустым приглашением и вызовите `rewindFiles()` один раз.753**Решение**: Убедитесь, что `enable_file_checkpointing=True` (Python) или `enableFileCheckpointing: true` (TypeScript) был установлен в исходном сеансе, затем используйте паттерн, показанный в примерах: захватите UUID первого пользовательского сообщения, полностью завершите сеанс, затем возобновите с пустым приглашением и вызовите `rewindFiles()` один раз.

Details

26 </Step>26 </Step>

27 27 

28 <Step title="SDK собирает зарегистрированные hooks">28 <Step title="SDK собирает зарегистрированные hooks">

29 SDK проверяет наличие hooks, зарегистрированных для этого типа события. Это включает callback hooks, которые вы передаете в `options.hooks`, и hooks команд shell из файлов настроек, когда соответствующая запись [`settingSources`](/ru/agent-sdk/typescript#settingSources) или [`setting_sources`](/ru/agent-sdk/python#setting_sources) включена, что она есть для параметров `query()` по умолчанию.29 SDK проверяет наличие hooks, зарегистрированных для этого типа события. Это включает callback hooks, которые вы передаете в `options.hooks`, и hooks команд shell из файлов настроек, когда соответствующая запись [`settingSources`](/ru/agent-sdk/typescript#settingsource) или [`setting_sources`](/ru/agent-sdk/python#settingsource) включена, что она есть для параметров `query()` по умолчанию.

30 </Step>30 </Step>

31 31 

32 <Step title="Matchers фильтруют, какие hooks запускаются">32 <Step title="Matchers фильтруют, какие hooks запускаются">

Details

10 10 

11На этой странице рассматривается самостоятельное размещение на вашей собственной инфраструктуре: поймите [модель подпроцесса](#the-subprocess-model), [выберите шаблон сеанса](#choose-a-session-pattern), [подготовьте контейнер](#provision-the-container) и [обработайте производственные проблемы](#handle-production-concerns), такие как сохранение, наблюдаемость, аутентификация и изоляция нескольких арендаторов. Для развертываемых Dockerfile и манифестов Kubernetes см. [руководство по размещению](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting).11На этой странице рассматривается самостоятельное размещение на вашей собственной инфраструктуре: поймите [модель подпроцесса](#the-subprocess-model), [выберите шаблон сеанса](#choose-a-session-pattern), [подготовьте контейнер](#provision-the-container) и [обработайте производственные проблемы](#handle-production-concerns), такие как сохранение, наблюдаемость, аутентификация и изоляция нескольких арендаторов. Для развертываемых Dockerfile и манифестов Kubernetes см. [руководство по размещению](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting).

12 12 

13Если вам не требуется контроль инфраструктуры, пользовательская изоляция или собственная плоскость данных, рассмотрите вместо этого [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview): размещенный REST API, где Anthropic запускает агента и sandbox, поэтому ваше приложение отправляет события и получает результаты обратно без необходимости управления инфраструктурой размещения.13Если вам не требуется контроль инфраструктуры, пользовательская изоляция или собственная плоскость данных, рассмотрите вместо этого [Managed Agents](https://platform.claude.com/docs/ru/managed-agents/overview): размещенный REST API, где Anthropic запускает агента и sandbox, поэтому ваше приложение отправляет события и получает результаты обратно без необходимости управления инфраструктурой размещения.

14 14 

15<Info>15<Info>

16 Для усиления безопасности сверх базового sandboxing, включая сетевые элементы управления, управление учетными данными и варианты изоляции, см. [Безопасное развертывание](/ru/agent-sdk/secure-deployment).16 Для усиления безопасности сверх базового sandboxing, включая сетевые элементы управления, управление учетными данными и варианты изоляции, см. [Безопасное развертывание](/ru/agent-sdk/secure-deployment).

agent-sdk/mcp.md +79 −27

Details

14 На этой странице рассматривается конфигурация MCP для Agent SDK. Чтобы добавить MCP серверы в Claude Code CLI так, чтобы они загружались в каждом проекте, см. [Области установки MCP](/ru/mcp#mcp-installation-scopes).14 На этой странице рассматривается конфигурация MCP для Agent SDK. Чтобы добавить MCP серверы в Claude Code CLI так, чтобы они загружались в каждом проекте, см. [Области установки MCP](/ru/mcp#mcp-installation-scopes).

15</Note>15</Note>

16 16 

17## Быстрый старт17<h2 id="quickstart">

18 Быстрый старт

19</h2>

18 20 

19Этот пример подключается к MCP серверу [документации Claude Code](https://code.claude.com/docs) с использованием [HTTP транспорта](#httpsse-servers) и использует [`allowedTools`](#allow-mcp-tools) с подстановочным знаком для разрешения всех инструментов с сервера.21Этот пример подключается к MCP серверу [документации Claude Code](https://code.claude.com/docs) с использованием [HTTP транспорта](#http%2Fsse-servers) и использует [`allowedTools`](#allow-mcp-tools) с подстановочным знаком для разрешения всех инструментов с сервера.

20 22 

21<CodeGroup>23<CodeGroup>

22 ```typescript TypeScript theme={null}24 ```typescript TypeScript theme={null}


70 72 

71Агент подключается к серверу документации, ищет информацию о hooks и возвращает результаты.73Агент подключается к серверу документации, ищет информацию о hooks и возвращает результаты.

72 74 

73## Добавление MCP сервера75<h2 id="add-an-mcp-server">

76 Добавление MCP сервера

77</h2>

74 78 

75Вы можете настроить MCP серверы в коде при вызове `query()` или в файле `.mcp.json`, загруженном через [`settingSources`](#from-a-config-file).79Вы можете настроить MCP серверы в коде при вызове `query()` или в файле `.mcp.json`, загруженном через [`settingSources`](#from-a-config-file).

76 80 

77### В коде81<h3 id="in-code">

82 В коде

83</h3>

78 84 

79Передайте MCP серверы непосредственно в опции `mcpServers`:85Передайте MCP серверы непосредственно в опции `mcpServers`:

80 86 


129 ```135 ```

130</CodeGroup>136</CodeGroup>

131 137 

132### Из файла конфигурации138<h3 id="from-a-config-file">

139 Из файла конфигурации

140</h3>

133 141 

134Создайте файл `.mcp.json` в корне вашего проекта. Файл загружается, когда включен источник параметров `project`, что происходит по умолчанию для опций `query()`. Если вы явно установите `settingSources`, включите `"project"` для загрузки этого файла:142Создайте файл `.mcp.json` в корне вашего проекта. Файл загружается, когда включен источник параметров `project`, что происходит по умолчанию для опций `query()`. Если вы явно установите `settingSources`, включите `"project"` для загрузки этого файла:

135 143 


144}152}

145```153```

146 154 

147## Разрешение MCP инструментов155<h2 id="allow-mcp-tools">

156 Разрешение MCP инструментов

157</h2>

148 158 

149MCP инструменты требуют явного разрешения перед тем, как Claude сможет их использовать. Без разрешения Claude увидит, что инструменты доступны, но не сможет их вызывать.159MCP инструменты требуют явного разрешения перед тем, как Claude сможет их использовать. Без разрешения Claude увидит, что инструменты доступны, но не сможет их вызывать.

150 160 

151### Соглашение об именовании инструментов161<h3 id="tool-naming-convention">

162 Соглашение об именовании инструментов

163</h3>

152 164 

153MCP инструменты следуют шаблону именования `mcp__<server-name>__<tool-name>`. Например, сервер GitHub с именем `"github"` с инструментом `list_issues` становится `mcp__github__list_issues`.165MCP инструменты следуют шаблону именования `mcp__<server-name>__<tool-name>`. Например, сервер GitHub с именем `"github"` с инструментом `list_issues` становится `mcp__github__list_issues`.

154 166 

155### Предоставление доступа с помощью allowedTools167<h3 id="auto-approve-with-allowedtools">

168 Предоставление доступа с помощью allowedTools

169</h3>

156 170 

157Используйте `allowedTools` для автоматического одобрения определённых MCP инструментов, чтобы Claude мог их использовать без запроса разрешения:171Используйте `allowedTools` для автоматического одобрения определённых MCP инструментов, чтобы Claude мог их использовать без запроса разрешения:

158 172 


177 **Предпочитайте `allowedTools` режимам разрешений для доступа MCP.** `permissionMode: "acceptEdits"` не одобряет автоматически MCP инструменты (только редактирование файлов и команды Bash файловой системы). `permissionMode: "bypassPermissions"` одобряет автоматически MCP инструменты, но также отключает все остальные подсказки безопасности, что шире, чем необходимо. Подстановочный знак в `allowedTools` предоставляет доступ ровно к нужному MCP серверу и ничему больше. См. [Режимы разрешений](/ru/agent-sdk/permissions#permission-modes) для полного сравнения.191 **Предпочитайте `allowedTools` режимам разрешений для доступа MCP.** `permissionMode: "acceptEdits"` не одобряет автоматически MCP инструменты (только редактирование файлов и команды Bash файловой системы). `permissionMode: "bypassPermissions"` одобряет автоматически MCP инструменты, но также отключает все остальные подсказки безопасности, что шире, чем необходимо. Подстановочный знак в `allowedTools` предоставляет доступ ровно к нужному MCP серверу и ничему больше. См. [Режимы разрешений](/ru/agent-sdk/permissions#permission-modes) для полного сравнения.

178</Note>192</Note>

179 193 

180### Обнаружение доступных инструментов194<h3 id="discover-available-tools">

195 Обнаружение доступных инструментов

196</h3>

181 197 

182Чтобы увидеть, какие инструменты предоставляет MCP сервер, проверьте документацию сервера или подключитесь к серверу и проверьте сообщение инициализации `system`:198Чтобы увидеть, какие инструменты предоставляет MCP сервер, проверьте документацию сервера или подключитесь к серверу и проверьте сообщение инициализации `system`:

183 199 


189}205}

190```206```

191 207 

192## Типы транспорта208<h2 id="transport-types">

209 Типы транспорта

210</h2>

193 211 

194MCP серверы взаимодействуют с вашим агентом, используя различные протоколы транспорта. Проверьте документацию сервера, чтобы увидеть, какой транспорт он поддерживает:212MCP серверы взаимодействуют с вашим агентом, используя различные протоколы транспорта. Проверьте документацию сервера, чтобы увидеть, какой транспорт он поддерживает:

195 213 


197* Если в документации указан **URL**, используйте HTTP или SSE215* Если в документации указан **URL**, используйте HTTP или SSE

198* Если вы создаёте свои собственные инструменты в коде, используйте SDK MCP сервер216* Если вы создаёте свои собственные инструменты в коде, используйте SDK MCP сервер

199 217 

200### Серверы stdio218<h3 id="stdio-servers">

219 Серверы stdio

220</h3>

201 221 

202Локальные процессы, которые взаимодействуют через stdin/stdout. Используйте это для MCP серверов, которые вы запускаете на той же машине:222Локальные процессы, которые взаимодействуют через stdin/stdout. Используйте это для MCP серверов, которые вы запускаете на той же машине:

203 223 


253 </Tab>273 </Tab>

254</Tabs>274</Tabs>

255 275 

256### Серверы HTTP/SSE276<h3 id="http/sse-servers">

277 Серверы HTTP/SSE

278</h3>

257 279 

258Используйте HTTP или SSE для облачных MCP серверов и удалённых API:280Используйте HTTP или SSE для облачных MCP серверов и удалённых API:

259 281 


311 333 

312Для потокового HTTP транспорта используйте `"type": "http"` вместо этого. В `.mcp.json` и других JSON файлах конфигурации `"streamable-http"` принимается как псевдоним для `"http"`. Программный параметр `mcpServers` принимает только `"http"`.334Для потокового HTTP транспорта используйте `"type": "http"` вместо этого. В `.mcp.json` и других JSON файлах конфигурации `"streamable-http"` принимается как псевдоним для `"http"`. Программный параметр `mcpServers` принимает только `"http"`.

313 335 

314### SDK MCP серверы336<h3 id="sdk-mcp-servers">

337 SDK MCP серверы

338</h3>

315 339 

316Определите пользовательские инструменты непосредственно в коде вашего приложения вместо запуска отдельного процесса сервера. Подробности реализации см. в [руководстве по пользовательским инструментам](/ru/agent-sdk/custom-tools).340Определите пользовательские инструменты непосредственно в коде вашего приложения вместо запуска отдельного процесса сервера. Подробности реализации см. в [руководстве по пользовательским инструментам](/ru/agent-sdk/custom-tools).

317 341 

318## Поиск MCP инструментов342<h2 id="mcp-tool-search">

343 Поиск MCP инструментов

344</h2>

319 345 

320Когда у вас настроено много MCP инструментов, определения инструментов могут потребить значительную часть вашего контекстного окна. Поиск инструментов решает эту проблему, скрывая определения инструментов из контекста и загружая только те, которые Claude нужны для каждого хода.346Когда у вас настроено много MCP инструментов, определения инструментов могут потребить значительную часть вашего контекстного окна. Поиск инструментов решает эту проблему, скрывая определения инструментов из контекста и загружая только те, которые Claude нужны для каждого хода.

321 347 


323 349 

324Для получения дополнительной информации, включая лучшие практики и использование поиска инструментов с пользовательскими SDK инструментами, см. [руководство по поиску инструментов](/ru/agent-sdk/tool-search).350Для получения дополнительной информации, включая лучшие практики и использование поиска инструментов с пользовательскими SDK инструментами, см. [руководство по поиску инструментов](/ru/agent-sdk/tool-search).

325 351 

326## Аутентификация352<h2 id="authentication">

353 Аутентификация

354</h2>

327 355 

328Большинство MCP серверов требуют аутентификации для доступа к внешним сервисам. Передавайте учётные данные через переменные окружения в конфигурации сервера.356Большинство MCP серверов требуют аутентификации для доступа к внешним сервисам. Передавайте учётные данные через переменные окружения в конфигурации сервера.

329 357 

330### Передача учётных данных через переменные окружения358<h3 id="pass-credentials-via-environment-variables">

359 Передача учётных данных через переменные окружения

360</h3>

331 361 

332Используйте поле `env` для передачи ключей API, токенов и других учётных данных на MCP сервер:362Используйте поле `env` для передачи ключей API, токенов и других учётных данных на MCP сервер:

333 363 


387 417 

388Полный рабочий пример с логированием отладки см. в разделе [Список проблем из репозитория](#list-issues-from-a-repository).418Полный рабочий пример с логированием отладки см. в разделе [Список проблем из репозитория](#list-issues-from-a-repository).

389 419 

390### HTTP заголовки для удалённых серверов420<h3 id="http-headers-for-remote-servers">

421 HTTP заголовки для удалённых серверов

422</h3>

391 423 

392Для серверов HTTP и SSE передавайте заголовки аутентификации непосредственно в конфигурации сервера:424Для серверов HTTP и SSE передавайте заголовки аутентификации непосредственно в конфигурации сервера:

393 425 


445 </Tab>477 </Tab>

446</Tabs>478</Tabs>

447 479 

448### Аутентификация OAuth2480<h3 id="oauth2-authentication">

481 Аутентификация OAuth2

482</h3>

449 483 

450[Спецификация MCP поддерживает OAuth 2.1](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization) для авторизации. SDK не обрабатывает потоки OAuth автоматически, но вы можете передавать токены доступа через заголовки после завершения потока OAuth в вашем приложении:484[Спецификация MCP поддерживает OAuth 2.1](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization) для авторизации. SDK не обрабатывает потоки OAuth автоматически, но вы можете передавать токены доступа через заголовки после завершения потока OAuth в вашем приложении:

451 485 


485 ```519 ```

486</CodeGroup>520</CodeGroup>

487 521 

488## Примеры522<h2 id="examples">

523 Примеры

524</h2>

489 525 

490### Список проблем из репозитория526<h3 id="list-issues-from-a-repository">

527 Список проблем из репозитория

528</h3>

491 529 

492Этот пример подключается к [GitHub MCP серверу](https://github.com/modelcontextprotocol/servers/tree/main/src/github) для списка последних проблем. Пример включает логирование отладки для проверки подключения MCP и вызовов инструментов.530Этот пример подключается к [GitHub MCP серверу](https://github.com/modelcontextprotocol/servers/tree/main/src/github) для списка последних проблем. Пример включает логирование отладки для проверки подключения MCP и вызовов инструментов.

493 531 


584 ```622 ```

585</CodeGroup>623</CodeGroup>

586 624 

587### Запрос к базе данных625<h3 id="query-a-database">

626 Запрос к базе данных

627</h3>

588 628 

589Этот пример использует [Postgres MCP сервер](https://github.com/modelcontextprotocol/servers/tree/main/src/postgres) для запроса к базе данных. Строка подключения передаётся как аргумент серверу. Агент автоматически обнаруживает схему базы данных, пишет SQL запрос и возвращает результаты:629Этот пример использует [Postgres MCP сервер](https://github.com/modelcontextprotocol/servers/tree/main/src/postgres) для запроса к базе данных. Строка подключения передаётся как аргумент серверу. Агент автоматически обнаруживает схему базы данных, пишет SQL запрос и возвращает результаты:

590 630 


655 ```695 ```

656</CodeGroup>696</CodeGroup>

657 697 

658## Обработка ошибок698<h2 id="error-handling">

699 Обработка ошибок

700</h2>

659 701 

660MCP серверы могут не подключиться по различным причинам: процесс сервера может быть не установлен, учётные данные могут быть неверными или удалённый сервер может быть недоступен.702MCP серверы могут не подключиться по различным причинам: процесс сервера может быть не установлен, учётные данные могут быть неверными или удалённый сервер может быть недоступен.

661 703 


717 ```759 ```

718</CodeGroup>760</CodeGroup>

719 761 

720## Troubleshooting762<h2 id="troubleshooting">

763 Troubleshooting

764</h2>

721 765 

722### Сервер показывает статус "failed"766<h3 id="server-shows-failed-status">

767 Сервер показывает статус "failed"

768</h3>

723 769 

724Проверьте сообщение `init`, чтобы увидеть, какие серверы не подключились:770Проверьте сообщение `init`, чтобы увидеть, какие серверы не подключились:

725 771 


740* **Неверная строка подключения**: Для серверов баз данных проверьте формат строки подключения и что база данных доступна.786* **Неверная строка подключения**: Для серверов баз данных проверьте формат строки подключения и что база данных доступна.

741* **Проблемы с сетью**: Для удалённых серверов HTTP/SSE проверьте, что URL доступен и любые брандмауэры разрешают подключение.787* **Проблемы с сетью**: Для удалённых серверов HTTP/SSE проверьте, что URL доступен и любые брандмауэры разрешают подключение.

742 788 

743### Инструменты не вызываются789<h3 id="tools-not-being-called">

790 Инструменты не вызываются

791</h3>

744 792 

745Если Claude видит инструменты, но не использует их, проверьте, что вы предоставили разрешение с помощью `allowedTools`:793Если Claude видит инструменты, но не использует их, проверьте, что вы предоставили разрешение с помощью `allowedTools`:

746 794 


755};803};

756```804```

757 805 

758### Тайм-ауты подключения806<h3 id="connection-timeouts">

807 Тайм-ауты подключения

808</h3>

759 809 

760SDK MCP имеет тайм-аут по умолчанию 60 секунд для подключений сервера. Если ваш сервер требует больше времени для запуска, подключение не удастся. Для серверов, которым требуется больше времени на запуск, рассмотрите:810SDK MCP имеет тайм-аут по умолчанию 60 секунд для подключений сервера. Если ваш сервер требует больше времени для запуска, подключение не удастся. Для серверов, которым требуется больше времени на запуск, рассмотрите:

761 811 


763* Предварительный прогрев сервера перед запуском вашего агента813* Предварительный прогрев сервера перед запуском вашего агента

764* Проверку логов сервера на предмет причин медленной инициализации814* Проверку логов сервера на предмет причин медленной инициализации

765 815 

766## Связанные ресурсы816<h2 id="related-resources">

817 Связанные ресурсы

818</h2>

767 819 

768* **[Руководство по пользовательским инструментам](/ru/agent-sdk/custom-tools)**: Создайте свой собственный MCP сервер, который работает в процессе с вашим приложением SDK820* **[Руководство по пользовательским инструментам](/ru/agent-sdk/custom-tools)**: Создайте свой собственный MCP сервер, который работает в процессе с вашим приложением SDK

769* **[Разрешения](/ru/agent-sdk/permissions)**: Контролируйте, какие MCP инструменты может использовать ваш агент с помощью `allowedTools` и `disallowedTools`821* **[Разрешения](/ru/agent-sdk/permissions)**: Контролируйте, какие MCP инструменты может использовать ваш агент с помощью `allowedTools` и `disallowedTools`

Details

12 12 

13Claude Code SDK был переименован в **Claude Agent SDK**, и его документация была переорганизована. Это изменение отражает более широкие возможности SDK для создания AI-агентов, выходящих за рамки только задач кодирования.13Claude Code SDK был переименован в **Claude Agent SDK**, и его документация была переорганизована. Это изменение отражает более широкие возможности SDK для создания AI-агентов, выходящих за рамки только задач кодирования.

14 14 

15<h2 id="what-s-changed">15<h2 id="whats-changed">

16 Что изменилось16 Что изменилось

17</h2>17</h2>

18 18 


82}82}

83```83```

84 84 

85Вот и всё! Никаких других изменений кода не требуется.85**5. Просмотрите [критические изменения](#breaking-changes)**

86 

87Внесите необходимые изменения в код для завершения миграции.

86 88 

87<h3 id="for-python-projects">89<h3 id="for-python-projects">

88 Для Python проектов90 Для Python проектов


172 174 

173<CodeGroup>175<CodeGroup>

174 ```typescript TypeScript theme={null}176 ```typescript TypeScript theme={null}

177 import { query } from "@anthropic-ai/claude-agent-sdk";

178 

175 // ДО (v0.0.x) - Использовал системный промпт Claude Code по умолчанию179 // ДО (v0.0.x) - Использовал системный промпт Claude Code по умолчанию

176 const result = query({ prompt: "Hello" });180 const before = query({ prompt: "Hello" });

177 181 

178 // ПОСЛЕ (v0.1.0) - Использует минимальный системный промпт по умолчанию182 // ПОСЛЕ (v0.1.0) - Использует минимальный системный промпт по умолчанию

179 // Чтобы получить старое поведение, явно запросите предустановку Claude Code:183 // Чтобы получить старое поведение, явно запросите предустановку Claude Code:

180 const result = query({184 const presetResult = query({

181 prompt: "Hello",185 prompt: "Hello",

182 options: {186 options: {

183 systemPrompt: { type: "preset", preset: "claude_code" }187 systemPrompt: { type: "preset", preset: "claude_code" }


185 });189 });

186 190 

187 // Или используйте пользовательский системный промпт:191 // Или используйте пользовательский системный промпт:

188 const result = query({192 const customResult = query({

189 prompt: "Hello",193 prompt: "Hello",

190 options: {194 options: {

191 systemPrompt: "You are a helpful coding assistant"195 systemPrompt: "You are a helpful coding assistant"


233 237 

234<CodeGroup>238<CodeGroup>

235 ```typescript TypeScript theme={null}239 ```typescript TypeScript theme={null}

236 const result = query({240 import { query } from "@anthropic-ai/claude-agent-sdk";

241 

242 const isolatedResult = query({

237 prompt: "Hello",243 prompt: "Hello",

238 options: {244 options: {

239 settingSources: [] // Настройки файловой системы не загружаются245 settingSources: [] // Настройки файловой системы не загружаются


241 });247 });

242 248 

243 // Или загрузите только определённые источники:249 // Или загрузите только определённые источники:

244 const result = query({250 const projectOnlyResult = query({

245 prompt: "Hello",251 prompt: "Hello",

246 options: {252 options: {

247 settingSources: ["project"] // Только настройки проекта253 settingSources: ["project"] // Только настройки проекта

Details

199 ...process.env,199 ...process.env,

200 // ... конфигурация экспортера ...200 // ... конфигурация экспортера ...

201 OTEL_SERVICE_NAME: "support-triage-agent",201 OTEL_SERVICE_NAME: "support-triage-agent",

202 OTEL_RESOURCE_ATTRIBUTES:202 OTEL_RESOURCE_ATTRIBUTES":

203 "service.version=1.4.0,deployment.environment=production",203 "service.version=1.4.0,deployment.environment=production",

204 },204 },

205 };205 };

Details

27 Проверьте правила `deny` (из `disallowed_tools` и [settings.json](/ru/settings#permission-settings)). Если правило deny совпадает, инструмент блокируется, даже в режиме `bypassPermissions`. Записи с простым названием, такие как `Bash`, удаляют инструмент из контекста Claude перед началом этой оценки, поэтому на этом шаге проверяются только правила с областью действия, такие как `Bash(rm *)`.27 Проверьте правила `deny` (из `disallowed_tools` и [settings.json](/ru/settings#permission-settings)). Если правило deny совпадает, инструмент блокируется, даже в режиме `bypassPermissions`. Записи с простым названием, такие как `Bash`, удаляют инструмент из контекста Claude перед началом этой оценки, поэтому на этом шаге проверяются только правила с областью действия, такие как `Bash(rm *)`.

28 </Step>28 </Step>

29 29 

30 <Step title="Правила ask">

31 Проверьте правила `ask` из [settings.json](/ru/settings#permission-settings). Если правило ask совпадает, вызов передаётся вашему callback [`canUseTool`](/ru/agent-sdk/user-input) для подтверждения, даже в режиме `bypassPermissions`. В режиме `dontAsk` совпадающее правило ask отклоняется вместо этого, потому что этот режим никогда не запрашивает подтверждение.

32 </Step>

33 

30 <Step title="Режим разрешений">34 <Step title="Режим разрешений">

31 Примените активный [режим разрешений](#permission-modes). `bypassPermissions` одобряет всё, что достигает этого шага. `acceptEdits` одобряет операции с файлами. Другие режимы проходят дальше.35 Примените активный [режим разрешений](#permission-modes). `bypassPermissions` одобряет всё, что достигает этого шага. `acceptEdits` одобряет операции с файлами. `plan` маршрутизирует инструменты file-edit и shell-write к вашему callback `canUseTool` независимо от правил allow, поэтому операции записи не могут быть автоматически одобрены во время планирования. Другие режимы проходят дальше.

32 </Step>36 </Step>

33 37 

34 <Step title="Правила allow">38 <Step title="Правила allow">


40 </Step>44 </Step>

41</Steps>45</Steps>

42 46 

43<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=cc94220087262cd48c9b64a14c4e1c2c" alt="Диаграмма потока оценки разрешений" width="1024" height="260" data-path="images/agent-sdk/permissions-flow.svg" />47<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=cc94220087262cd48c9b64a14c4e1c2c" alt="Диаграмма потока оценки разрешений из пяти шагов, соответствующая шагам выше: запрос инструмента проходит через hooks, правила deny, режим разрешений, правила allow и canUseTool. Hooks, правила deny и canUseTool могут маршрутизировать вниз к Blocked; обход режима разрешений, правила allow и canUseTool могут маршрутизировать вверх к Execute." width="1024" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

44 48 

45На этой странице основное внимание уделяется **правилам allow и deny** и **режимам разрешений**. Для других шагов:49На этой странице основное внимание уделяется **правилам allow и deny** и **режимам разрешений**. Для других шагов:

46 50 


54`allowed_tools` и `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) добавляют записи в списки правил allow и deny в потоке оценки выше. Правила allow влияют только на одобрение: инструмент, не указанный в `allowed_tools`, всё ещё доступен для Claude и переходит к режиму разрешений. Правила deny ведут себя по-разному в зависимости от того, называют ли они инструмент или определяют шаблон в пределах одного.58`allowed_tools` и `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) добавляют записи в списки правил allow и deny в потоке оценки выше. Правила allow влияют только на одобрение: инструмент, не указанный в `allowed_tools`, всё ещё доступен для Claude и переходит к режиму разрешений. Правила deny ведут себя по-разному в зависимости от того, называют ли они инструмент или определяют шаблон в пределах одного.

55 59 

56| Опция | Эффект |60| Опция | Эффект |

57| :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |61| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

58| `allowed_tools=["Read", "Grep"]` | `Read` и `Grep` автоматически одобрены. Инструменты, не указанные здесь, всё ещё существуют и переходят к режиму разрешений и `canUseTool`. |62| `allowed_tools=["Read", "Grep"]` | `Read` и `Grep` автоматически одобрены. Инструменты, не указанные здесь, всё ещё существуют и переходят к режиму разрешений и `canUseTool`. |

59| `disallowed_tools=["Bash"]` | Определение инструмента `Bash` удаляется из запроса. Claude не видит инструмент и не может попытаться его использовать. |63| `disallowed_tools=["Bash"]` | Определение инструмента `Bash` удаляется из запроса. Claude не видит инструмент и не может попытаться его использовать. |

60| `disallowed_tools=["Bash(rm *)"]` | `Bash` остаётся доступным. Вызовы, соответствующие `rm *`, отклоняются в каждом режиме разрешений, включая `bypassPermissions`. Другие вызовы `Bash` переходят к режиму разрешений. |64| `disallowed_tools=["Bash(rm *)"]` | `Bash` остаётся доступным. Вызовы, соответствующие `rm *`, отклоняются в каждом режиме разрешений, включая `bypassPermissions`. Другие вызовы `Bash` переходят к режиму разрешений. |

65| `disallowed_tools=["*"]` | Каждое определение инструмента удаляется из запроса. Глобы имён инструментов поддерживаются в правилах deny: `"*"` соответствует каждому инструменту и `"mcp__*"` соответствует каждому инструменту MCP на всех серверах. |

66 

67Правила allow принимают глобы имён инструментов только после буквального префикса `mcp__<server>__`. Сегмент сервера должен быть свободен от глобов, чтобы правило называло конкретный сервер, который вы настроили: `mcp__puppeteer__*` соответствует каждому инструменту с сервера `puppeteer`, и `mcp__github__get_*` соответствует его инструментам `get_`. Неякорированная запись, такая как `allowed_tools=["*"]` или `allowed_tools=["mcp__*"]`, игнорируется с предупреждением при запуске и не одобряет ничего автоматически.

61 68 

62Для заблокированного агента объедините `allowedTools` с `permissionMode: "dontAsk"`. Указанные инструменты одобрены; всё остальное отклоняется полностью вместо запроса:69Для заблокированного агента объедините `allowedTools` с `permissionMode: "dontAsk"`. Указанные инструменты одобрены; всё остальное отклоняется полностью вместо запроса:

63 70 


87SDK поддерживает эти режимы разрешений:94SDK поддерживает эти режимы разрешений:

88 95 

89| Режим | Описание | Поведение инструмента |96| Режим | Описание | Поведение инструмента |

90| :------------------------- | :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |97| :------------------------- | :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

91| `default` | Стандартное поведение разрешений | Без автоматических одобрений; несовпадающие инструменты запускают ваш callback `canUseTool` |98| `default` | Стандартное поведение разрешений | Без автоматических одобрений; несовпадающие инструменты запускают ваш callback `canUseTool` |

92| `dontAsk` | Отклонение вместо запроса | Всё, что не предварительно одобрено `allowed_tools` или правилами, отклоняется; `canUseTool` никогда не вызывается |99| `dontAsk` | Отклонение вместо запроса | Всё, что не предварительно одобрено `allowed_tools` или правилами, отклоняется; `canUseTool` никогда не вызывается |

93| `acceptEdits` | Автоматическое принятие редактирования файлов | Редактирование файлов и [операции с файловой системой](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv` и т. д.) автоматически одобрены |100| `acceptEdits` | Автоматическое принятие редактирования файлов | Редактирование файлов и [операции с файловой системой](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv` и т. д.) автоматически одобрены |

94| `bypassPermissions` | Обход всех проверок разрешений | Все инструменты работают без запросов разрешений (используйте с осторожностью) |101| `bypassPermissions` | Обход всех проверок разрешений | Инструменты работают без запросов разрешений, если только явное правило [`ask`](#how-permissions-are-evaluated) не совпадает (используйте с осторожностью) |

95| `plan` | Режим планирования | Инструменты только для чтения работают; Claude анализирует и планирует без редактирования исходных файлов |102| `plan` | Режим планирования | Claude исследует и планирует без редактирования исходных файлов; редактирование файлов никогда не одобряется автоматически и запрашивается через ваш callback `canUseTool` |

96| `auto` (только TypeScript) | Одобрения, классифицированные моделью | Классификатор модели одобряет или отклоняет каждый вызов инструмента. См. [Режим Auto](/ru/permission-modes#eliminate-prompts-with-auto-mode) для доступности |103| `auto` (только TypeScript) | Одобрения, классифицированные моделью | Классификатор модели одобряет или отклоняет каждый вызов инструмента. См. [Режим Auto](/ru/permission-modes#eliminate-prompts-with-auto-mode) для доступности |

97 104 

98<Warning>105<Warning>

99 **Наследование подагентом:** Когда родитель использует `bypassPermissions`, `acceptEdits` или `auto`, все подагенты наследуют этот режим и он не может быть переопределён для каждого подагента. Подагенты могут иметь различные системные подсказки и менее ограниченное поведение, чем ваш основной агент, поэтому наследование `bypassPermissions` предоставляет им полный автономный доступ к системе без каких-либо запросов утверждения.106 **Наследование подагентом:** Когда родитель использует `bypassPermissions`, `acceptEdits` или `auto`, все подагенты наследуют этот режим и он не может быть переопределён для каждого подагента. Подагенты могут иметь различные системные подсказки и менее ограниченное поведение, чем ваш основной агент, поэтому наследование `bypassPermissions` предоставляет им полный автономный доступ к системе. Явное правило [`ask`](#how-permissions-are-evaluated) по-прежнему вынуждает запрос.

100</Warning>107</Warning>

101 108 

102<h3 id="set-permission-mode">109<h3 id="set-permission-mode">


226 233 

227**Используйте, когда:** вы доверяете редактированию Claude и хотите более быстрой итерации, например во время прототипирования или при работе в изолированном каталоге.234**Используйте, когда:** вы доверяете редактированию Claude и хотите более быстрой итерации, например во время прототипирования или при работе в изолированном каталоге.

228 235 

229<h4 id="don-t-ask-mode-dontask">236<h4 id="dont-ask-mode-dontask">

230 Режим без запроса (`dontAsk`)237 Режим без запроса (`dontAsk`)

231</h4>238</h4>

232 239 


250 Режим планирования (`plan`)257 Режим планирования (`plan`)

251</h4>258</h4>

252 259 

253Ограничивает Claude инструментами только для чтения. Claude может читать файлы и запускать команды оболочки только для чтения для изучения кодовой базы, но не редактирует исходные файлы. Claude может использовать `AskUserQuestion` для уточнения требований перед завершением плана. См. [Обработка утверждений и ввода пользователя](/ru/agent-sdk/user-input#handle-clarifying-questions) для обработки этих запросов.260Claude исследует кодовую базу и создаёт план без редактирования исходных файлов. Инструменты только для чтения работают как в режиме по умолчанию. Редактирование файлов никогда не одобряется автоматически в режиме планирования, даже если правило allow совпадает. Вместо этого они запрашиваются через ваш callback `canUseTool`. Claude может использовать `AskUserQuestion` для уточнения требований перед завершением плана. См. [Обработка утверждений и ввода пользователя](/ru/agent-sdk/user-input#handle-clarifying-questions) для обработки этих запросов.

254 261 

255**Используйте, когда:** вы хотите, чтобы Claude предложил изменения без их выполнения, например при проверке кода или когда вам нужно одобрить изменения перед их внесением.262**Используйте, когда:** вы хотите, чтобы Claude предложил изменения без их выполнения, например при проверке кода или когда вам нужно одобрить изменения перед их внесением.

256 263 

agent-sdk/python.md +516 −175

Details

6 6 

7> Полный справочник API для Python Agent SDK, включая все функции, типы и классы.7> Полный справочник API для Python Agent SDK, включая все функции, типы и классы.

8 8 

9## Установка9<h2 id="installation">

10 Установка

11</h2>

10 12 

11```bash theme={null}13```bash theme={null}

12pip install claude-agent-sdk14pip install claude-agent-sdk

13```15```

14 16 

15## Выбор между `query()` и `ClaudeSDKClient`17<h2 id="choosing-between-query-and-claudesdkclient">

18 Выбор между `query()` и `ClaudeSDKClient`

19</h2>

16 20 

17Python SDK предоставляет два способа взаимодействия с Claude Code:21Python SDK предоставляет два способа взаимодействия с Claude Code:

18 22 

19### Быстрое сравнение23<h3 id="quick-comparison">

24 Быстрое сравнение

25</h3>

20 26 

21| Функция | `query()` | `ClaudeSDKClient` |27| Функция | `query()` | `ClaudeSDKClient` |

22| :------------------------------- | :------------------------------------------------ | :-------------------------------------- |28| :------------------------------- | :------------------------------------------------ | :-------------------------------------- |


30| **Продолжить чат** | Ручное через `continue_conversation` или `resume` | ✅ Автоматическое |36| **Продолжить чат** | Ручное через `continue_conversation` или `resume` | ✅ Автоматическое |

31| **Вариант использования** | Одноразовые задачи | Непрерывные разговоры |37| **Вариант использования** | Одноразовые задачи | Непрерывные разговоры |

32 38 

33### Когда использовать `query()` (одноразовые задачи)39<h3 id="when-to-use-query-one-off-tasks">

40 Когда использовать `query()` (одноразовые задачи)

41</h3>

34 42 

35**Лучше всего для:**43**Лучше всего для:**

36 44 


39* Простых скриптов автоматизации47* Простых скриптов автоматизации

40* Когда вы хотите начать с чистого листа каждый раз48* Когда вы хотите начать с чистого листа каждый раз

41 49 

42### Когда использовать `ClaudeSDKClient` (непрерывный разговор)50<h3 id="when-to-use-claudesdkclient-continuous-conversation">

51 Когда использовать `ClaudeSDKClient` (непрерывный разговор)

52</h3>

43 53 

44**Лучше всего для:**54**Лучше всего для:**

45 55 


49* **Логики, управляемой ответом** - Когда следующее действие зависит от ответа Claude59* **Логики, управляемой ответом** - Когда следующее действие зависит от ответа Claude

50* **Управления сеансом** - Явное управление жизненным циклом разговора60* **Управления сеансом** - Явное управление жизненным циклом разговора

51 61 

52## Функции62<h2 id="functions">

63 Функции

64</h2>

53 65 

54### `query()`66<h3 id="query">

67 `query()`

68</h3>

55 69 

56Создает новый сеанс для каждого взаимодействия с Claude Code по умолчанию. Возвращает асинхронный итератор, который выдает сообщения по мере их поступления. Каждый вызов `query()` начинается с нуля без памяти о предыдущих взаимодействиях, если вы не передадите `continue_conversation=True` или `resume` в [`ClaudeAgentOptions`](#claudeagentoptions). См. [Sessions](/ru/agent-sdk/sessions).70Создает новый сеанс для каждого взаимодействия с Claude Code по умолчанию. Возвращает асинхронный итератор, который выдает сообщения по мере их поступления. Каждый вызов `query()` начинается с нуля без памяти о предыдущих взаимодействиях, если вы не передадите `continue_conversation=True` или `resume` в [`ClaudeAgentOptions`](#claudeagentoptions). См. [Sessions](/ru/agent-sdk/sessions).

57 71 


64) -> AsyncIterator[Message]78) -> AsyncIterator[Message]

65```79```

66 80 

67#### Параметры81<h4 id="parameters">

82 Параметры

83</h4>

68 84 

69| Параметр | Тип | Описание |85| Параметр | Тип | Описание |

70| :---------- | :--------------------------- | :--------------------------------------------------------------------------------------- |86| :---------- | :--------------------------- | :--------------------------------------------------------------------------------------- |


72| `options` | `ClaudeAgentOptions \| None` | Объект дополнительной конфигурации (по умолчанию `ClaudeAgentOptions()`, если None) |88| `options` | `ClaudeAgentOptions \| None` | Объект дополнительной конфигурации (по умолчанию `ClaudeAgentOptions()`, если None) |

73| `transport` | `Transport \| None` | Дополнительный пользовательский транспорт для связи с процессом CLI |89| `transport` | `Transport \| None` | Дополнительный пользовательский транспорт для связи с процессом CLI |

74 90 

75#### Возвращаемое значение91<h4 id="returns">

92 Возвращаемое значение

93</h4>

76 94 

77Возвращает `AsyncIterator[Message]`, который выдает сообщения из разговора.95Возвращает `AsyncIterator[Message]`, который выдает сообщения из разговора.

78 96 

79#### Пример - С параметрами97<h4 id="example-with-options">

98 Пример - С параметрами

99</h4>

80 100 

81```python theme={null}101```python theme={null}

82import asyncio102import asyncio


97asyncio.run(main())117asyncio.run(main())

98```118```

99 119 

100### `tool()`120<h3 id="tool">

121 `tool()`

122</h3>

101 123 

102Декоратор для определения MCP tools с проверкой типов.124Декоратор для определения MCP tools с проверкой типов.

103 125 


110) -> Callable[[Callable[[Any], Awaitable[dict[str, Any]]]], SdkMcpTool[Any]]132) -> Callable[[Callable[[Any], Awaitable[dict[str, Any]]]], SdkMcpTool[Any]]

111```133```

112 134 

113#### Параметры135<h4 id="parameters-1">

136 Параметры

137</h4>

114 138 

115| Параметр | Тип | Описание |139| Параметр | Тип | Описание |

116| :------------- | :---------------------------------------------- | :------------------------------------------------------------------------------ |140| :------------- | :---------------------------------------------- | :------------------------------------------------------------------------------ |


119| `input_schema` | `type \| dict[str, Any]` | Схема, определяющая входные параметры инструмента (см. ниже) |143| `input_schema` | `type \| dict[str, Any]` | Схема, определяющая входные параметры инструмента (см. ниже) |

120| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | Дополнительные аннотации MCP tool, предоставляющие подсказки поведения клиентам |144| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | Дополнительные аннотации MCP tool, предоставляющие подсказки поведения клиентам |

121 145 

122#### Варианты схемы ввода146<h4 id="input-schema-options">

147 Варианты схемы ввода

148</h4>

123 149 

1241. **Простое сопоставление типов** (рекомендуется):1501. **Простое сопоставление типов** (рекомендуется):

125 151 


139 }165 }

140 ```166 ```

141 167 

142#### Возвращаемое значение168<h4 id="returns-1">

169 Возвращаемое значение

170</h4>

143 171 

144Функция-декоратор, которая оборачивает реализацию инструмента и возвращает экземпляр `SdkMcpTool`.172Функция-декоратор, которая оборачивает реализацию инструмента и возвращает экземпляр `SdkMcpTool`.

145 173 

146#### Пример174<h4 id="example">

175 Пример

176</h4>

147 177 

148```python theme={null}178```python theme={null}

149from claude_agent_sdk import tool179from claude_agent_sdk import tool


155 return {"content": [{"type": "text", "text": f"Hello, {args['name']}!"}]}185 return {"content": [{"type": "text", "text": f"Hello, {args['name']}!"}]}

156```186```

157 187 

158#### `ToolAnnotations`188<h4 id="toolannotations">

189 `ToolAnnotations`

190</h4>

159 191 

160Переэкспортировано из `mcp.types` (также доступно как `from claude_agent_sdk import ToolAnnotations`). Все поля являются дополнительными подсказками; клиенты не должны полагаться на них для решений безопасности.192Переэкспортировано из `mcp.types` (также доступно как `from claude_agent_sdk import ToolAnnotations`). Все поля являются дополнительными подсказками; клиенты не должны полагаться на них для решений безопасности.

161 193 


182 return {"content": [{"type": "text", "text": f"Results for: {args['query']}"}]}214 return {"content": [{"type": "text", "text": f"Results for: {args['query']}"}]}

183```215```

184 216 

185### `create_sdk_mcp_server()`217<h3 id="create_sdk_mcp_server">

218 `create_sdk_mcp_server()`

219</h3>

186 220 

187Создайте встроенный MCP server, который работает в вашем приложении Python.221Создайте встроенный MCP server, который работает в вашем приложении Python.

188 222 


194) -> McpSdkServerConfig228) -> McpSdkServerConfig

195```229```

196 230 

197#### Параметры231<h4 id="parameters-2">

232 Параметры

233</h4>

198 234 

199| Параметр | Тип | По умолчанию | Описание |235| Параметр | Тип | По умолчанию | Описание |

200| :-------- | :------------------------------ | :----------- | :------------------------------------------------------------------ |236| :-------- | :------------------------------ | :----------- | :------------------------------------------------------------------ |


202| `version` | `str` | `"1.0.0"` | Строка версии сервера |238| `version` | `str` | `"1.0.0"` | Строка версии сервера |

203| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | Список функций инструментов, созданных с помощью декоратора `@tool` |239| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | Список функций инструментов, созданных с помощью декоратора `@tool` |

204 240 

205#### Возвращаемое значение241<h4 id="returns-2">

242 Возвращаемое значение

243</h4>

206 244 

207Возвращает объект `McpSdkServerConfig`, который можно передать в `ClaudeAgentOptions.mcp_servers`.245Возвращает объект `McpSdkServerConfig`, который можно передать в `ClaudeAgentOptions.mcp_servers`.

208 246 

209#### Пример247<h4 id="example-1">

248 Пример

249</h4>

210 250 

211```python theme={null}251```python theme={null}

212from claude_agent_sdk import tool, create_sdk_mcp_server252from claude_agent_sdk import tool, create_sdk_mcp_server


235)275)

236```276```

237 277 

238### `list_sessions()`278<h3 id="list_sessions">

279 `list_sessions()`

280</h3>

239 281 

240Выводит список прошлых сеансов с метаданными. Фильтруйте по каталогу проекта или выводите сеансы во всех проектах. Синхронно; возвращается немедленно.282Выводит список прошлых сеансов с метаданными. Фильтруйте по каталогу проекта или выводите сеансы во всех проектах. Синхронно; возвращается немедленно.

241 283 


247) -> list[SDKSessionInfo]289) -> list[SDKSessionInfo]

248```290```

249 291 

250#### Параметры292<h4 id="parameters-3">

293 Параметры

294</h4>

251 295 

252| Параметр | Тип | По умолчанию | Описание |296| Параметр | Тип | По умолчанию | Описание |

253| :------------------ | :------------ | :----------- | :------------------------------------------------------------------------------------------- |297| :------------------ | :------------ | :----------- | :------------------------------------------------------------------------------------------- |


255| `limit` | `int \| None` | `None` | Максимальное количество возвращаемых сеансов |299| `limit` | `int \| None` | `None` | Максимальное количество возвращаемых сеансов |

256| `include_worktrees` | `bool` | `True` | Когда `directory` находится внутри репозитория git, включайте сеансы из всех путей worktrees |300| `include_worktrees` | `bool` | `True` | Когда `directory` находится внутри репозитория git, включайте сеансы из всех путей worktrees |

257 301 

258#### Тип возвращаемого значения: `SDKSessionInfo`302<h4 id="return-type-sdksessioninfo">

303 Тип возвращаемого значения: `SDKSessionInfo`

304</h4>

259 305 

260| Свойство | Тип | Описание |306| Свойство | Тип | Описание |

261| :-------------- | :------------ | :---------------------------------------------------------------------------------------------------- |307| :-------------- | :------------ | :---------------------------------------------------------------------------------------------------- |


270| `tag` | `str \| None` | Тег сеанса, установленный пользователем (см. [`tag_session()`](#tag_session)) |316| `tag` | `str \| None` | Тег сеанса, установленный пользователем (см. [`tag_session()`](#tag_session)) |

271| `created_at` | `int \| None` | Время создания сеанса в миллисекундах с начала эпохи |317| `created_at` | `int \| None` | Время создания сеанса в миллисекундах с начала эпохи |

272 318 

273#### Пример319<h4 id="example-2">

320 Пример

321</h4>

274 322 

275Выведите 10 самых последних сеансов для проекта. Результаты отсортированы по `last_modified` в убывающем порядке, поэтому первый элемент - самый новый. Опустите `directory`, чтобы искать во всех проектах.323Выведите 10 самых последних сеансов для проекта. Результаты отсортированы по `last_modified` в убывающем порядке, поэтому первый элемент - самый новый. Опустите `directory`, чтобы искать во всех проектах.

276 324 


281 print(f"{session.summary} ({session.session_id})")329 print(f"{session.summary} ({session.session_id})")

282```330```

283 331 

284### `get_session_messages()`332<h3 id="get_session_messages">

333 `get_session_messages()`

334</h3>

285 335 

286Извлекает сообщения из прошлого сеанса. Синхронно; возвращается немедленно.336Извлекает сообщения из прошлого сеанса. Синхронно; возвращается немедленно.

287 337 


294) -> list[SessionMessage]344) -> list[SessionMessage]

295```345```

296 346 

297#### Параметры347<h4 id="parameters-4">

348 Параметры

349</h4>

298 350 

299| Параметр | Тип | По умолчанию | Описание |351| Параметр | Тип | По умолчанию | Описание |

300| :----------- | :------------ | :----------- | :-------------------------------------------------------------- |352| :----------- | :------------ | :----------- | :-------------------------------------------------------------- |


303| `limit` | `int \| None` | `None` | Максимальное количество возвращаемых сообщений |355| `limit` | `int \| None` | `None` | Максимальное количество возвращаемых сообщений |

304| `offset` | `int` | `0` | Количество сообщений для пропуска с начала |356| `offset` | `int` | `0` | Количество сообщений для пропуска с начала |

305 357 

306#### Тип возвращаемого значения: `SessionMessage`358<h4 id="return-type-sessionmessage">

359 Тип возвращаемого значения: `SessionMessage`

360</h4>

307 361 

308| Свойство | Тип | Описание |362| Свойство | Тип | Описание |

309| :------------------- | :----------------------------- | :----------------------------------------- |363| :------------------- | :----------------------------- | :----------------------------------------- |


313| `message` | `Any` | Необработанное содержимое сообщения |367| `message` | `Any` | Необработанное содержимое сообщения |

314| `parent_tool_use_id` | `None` | Зарезервировано для будущего использования |368| `parent_tool_use_id` | `None` | Зарезервировано для будущего использования |

315 369 

316#### Пример370<h4 id="example-3">

371 Пример

372</h4>

317 373 

318```python theme={null}374```python theme={null}

319from claude_agent_sdk import list_sessions, get_session_messages375from claude_agent_sdk import list_sessions, get_session_messages


325 print(f"[{msg.type}] {msg.uuid}")381 print(f"[{msg.type}] {msg.uuid}")

326```382```

327 383 

328### `get_session_info()`384<h3 id="get_session_info">

385 `get_session_info()`

386</h3>

329 387 

330Читает метаданные для одного сеанса по ID без сканирования полного каталога проекта. Синхронно; возвращается немедленно.388Читает метаданные для одного сеанса по ID без сканирования полного каталога проекта. Синхронно; возвращается немедленно.

331 389 


336) -> SDKSessionInfo | None394) -> SDKSessionInfo | None

337```395```

338 396 

339#### Параметры397<h4 id="parameters-5">

398 Параметры

399</h4>

340 400 

341| Параметр | Тип | По умолчанию | Описание |401| Параметр | Тип | По умолчанию | Описание |

342| :----------- | :------------ | :----------- | :------------------------------------------------------------------- |402| :----------- | :------------ | :----------- | :------------------------------------------------------------------- |


345 405 

346Возвращает [`SDKSessionInfo`](#return-type-sdksessioninfo) или `None`, если сеанс не найден.406Возвращает [`SDKSessionInfo`](#return-type-sdksessioninfo) или `None`, если сеанс не найден.

347 407 

348#### Пример408<h4 id="example-4">

409 Пример

410</h4>

349 411 

350Найдите метаданные одного сеанса без сканирования каталога проекта. Полезно, когда у вас уже есть ID сеанса из предыдущего запуска.412Найдите метаданные одного сеанса без сканирования каталога проекта. Полезно, когда у вас уже есть ID сеанса из предыдущего запуска.

351 413 


357 print(f"{info.summary} (branch: {info.git_branch}, tag: {info.tag})")419 print(f"{info.summary} (branch: {info.git_branch}, tag: {info.tag})")

358```420```

359 421 

360### `rename_session()`422<h3 id="rename_session">

423 `rename_session()`

424</h3>

361 425 

362Переименовывает сеанс, добавляя запись с пользовательским названием. Повторные вызовы безопасны; побеждает самое последнее название. Синхронно.426Переименовывает сеанс, добавляя запись с пользовательским названием. Повторные вызовы безопасны; побеждает самое последнее название. Синхронно.

363 427 


369) -> None433) -> None

370```434```

371 435 

372#### Параметры436<h4 id="parameters-6">

437 Параметры

438</h4>

373 439 

374| Параметр | Тип | По умолчанию | Описание |440| Параметр | Тип | По умолчанию | Описание |

375| :----------- | :------------ | :----------- | :------------------------------------------------------------------- |441| :----------- | :------------ | :----------- | :------------------------------------------------------------------- |


379 445 

380Вызывает `ValueError`, если `session_id` не является допустимым UUID или `title` пуст; `FileNotFoundError`, если сеанс не найден.446Вызывает `ValueError`, если `session_id` не является допустимым UUID или `title` пуст; `FileNotFoundError`, если сеанс не найден.

381 447 

382#### Пример448<h4 id="example-5">

449 Пример

450</h4>

383 451 

384Переименуйте самый последний сеанс, чтобы его было легче найти позже. Новое название появляется в [`SDKSessionInfo.custom_title`](#return-type-sdksessioninfo) при последующих чтениях.452Переименуйте самый последний сеанс, чтобы его было легче найти позже. Новое название появляется в [`SDKSessionInfo.custom_title`](#return-type-sdksessioninfo) при последующих чтениях.

385 453 


391 rename_session(sessions[0].session_id, "Refactor auth module")459 rename_session(sessions[0].session_id, "Refactor auth module")

392```460```

393 461 

394### `tag_session()`462<h3 id="tag_session">

463 `tag_session()`

464</h3>

395 465 

396Помечает сеанс. Передайте `None` для очистки тега. Повторные вызовы безопасны; побеждает самый последний тег. Синхронно.466Помечает сеанс. Передайте `None` для очистки тега. Повторные вызовы безопасны; побеждает самый последний тег. Синхронно.

397 467 


403) -> None473) -> None

404```474```

405 475 

406#### Параметры476<h4 id="parameters-7">

477 Параметры

478</h4>

407 479 

408| Параметр | Тип | По умолчанию | Описание |480| Параметр | Тип | По умолчанию | Описание |

409| :----------- | :------------ | :----------- | :------------------------------------------------------------------------- |481| :----------- | :------------ | :----------- | :------------------------------------------------------------------------- |


413 485 

414Вызывает `ValueError`, если `session_id` не является допустимым UUID или `tag` пуст после очистки; `FileNotFoundError`, если сеанс не найден.486Вызывает `ValueError`, если `session_id` не является допустимым UUID или `tag` пуст после очистки; `FileNotFoundError`, если сеанс не найден.

415 487 

416#### Пример488<h4 id="example-6">

489 Пример

490</h4>

417 491 

418Пометьте сеанс, затем отфильтруйте по этому тегу при последующем чтении. Передайте `None` для очистки существующего тега.492Пометьте сеанс, затем отфильтруйте по этому тегу при последующем чтении. Передайте `None` для очистки существующего тега.

419 493 


429 print(session.summary)503 print(session.summary)

430```504```

431 505 

432## Классы506<h2 id="classes">

507 Классы

508</h2>

433 509 

434### `ClaudeSDKClient`510<h3 id="claudesdkclient">

511 `ClaudeSDKClient`

512</h3>

435 513 

436**Поддерживает сеанс разговора через несколько обменов.** Это эквивалент Python того, как функция `query()` TypeScript SDK работает внутри - она создает объект клиента, который может продолжать разговоры.514**Поддерживает сеанс разговора через несколько обменов.** Это эквивалент Python того, как функция `query()` TypeScript SDK работает внутри - она создает объект клиента, который может продолжать разговоры.

437 515 

438#### Ключевые особенности516<h4 id="key-features">

517 Ключевые особенности

518</h4>

439 519 

440* **Непрерывность сеанса**: Поддерживает контекст разговора через несколько вызовов `query()`520* **Непрерывность сеанса**: Поддерживает контекст разговора через несколько вызовов `query()`

441* **Один разговор**: Сеанс сохраняет предыдущие сообщения521* **Один разговор**: Сеанс сохраняет предыдущие сообщения


463 async def disconnect(self) -> None543 async def disconnect(self) -> None

464```544```

465 545 

466#### Методы546<h4 id="methods">

547 Методы

548</h4>

467 549 

468| Метод | Описание |550| Метод | Описание |

469| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |551| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


483| `get_server_info()` | Получите информацию о сервере, включая ID сеанса и возможности |565| `get_server_info()` | Получите информацию о сервере, включая ID сеанса и возможности |

484| `disconnect()` | Отключитесь от Claude |566| `disconnect()` | Отключитесь от Claude |

485 567 

486#### Поддержка менеджера контекста568<h4 id="context-manager-support">

569 Поддержка менеджера контекста

570</h4>

487 571 

488Клиент можно использовать как асинхронный менеджер контекста для автоматического управления соединением:572Клиент можно использовать как асинхронный менеджер контекста для автоматического управления соединением:

489 573 


496 580 

497> **Важно:** При итерации по сообщениям избегайте использования `break` для раннего выхода, так как это может вызвать проблемы с очисткой asyncio. Вместо этого позвольте итерации завершиться естественным образом или используйте флаги для отслеживания, когда вы нашли то, что вам нужно.581> **Важно:** При итерации по сообщениям избегайте использования `break` для раннего выхода, так как это может вызвать проблемы с очисткой asyncio. Вместо этого позвольте итерации завершиться естественным образом или используйте флаги для отслеживания, когда вы нашли то, что вам нужно.

498 582 

499#### Пример - Продолжение разговора583<h4 id="example-continuing-a-conversation">

584 Пример - Продолжение разговора

585</h4>

500 586 

501```python theme={null}587```python theme={null}

502import asyncio588import asyncio


537asyncio.run(main())623asyncio.run(main())

538```624```

539 625 

540#### Пример - Потоковый ввод с ClaudeSDKClient626<h4 id="example-streaming-input-with-claudesdkclient">

627 Пример - Потоковый ввод с ClaudeSDKClient

628</h4>

541 629 

542```python theme={null}630```python theme={null}

543import asyncio631import asyncio


581asyncio.run(main())669asyncio.run(main())

582```670```

583 671 

584#### Пример - Использование прерываний672<h4 id="example-using-interrupts">

673 Пример - Использование прерываний

674</h4>

585 675 

586```python theme={null}676```python theme={null}

587import asyncio677import asyncio


624 **Поведение буфера после прерывания:** `interrupt()` отправляет сигнал остановки, но не очищает буфер сообщений. Сообщения, уже созданные прерванной задачей, включая ее `ResultMessage` (с `subtype="error_during_execution"`), остаются в потоке. Вы должны слить их с помощью `receive_response()` перед чтением ответа на новый запрос. Если вы отправите новый запрос сразу после `interrupt()` и вызовете `receive_response()` только один раз, вы получите сообщения прерванной задачи, а не ответ на новый запрос.714 **Поведение буфера после прерывания:** `interrupt()` отправляет сигнал остановки, но не очищает буфер сообщений. Сообщения, уже созданные прерванной задачей, включая ее `ResultMessage` (с `subtype="error_during_execution"`), остаются в потоке. Вы должны слить их с помощью `receive_response()` перед чтением ответа на новый запрос. Если вы отправите новый запрос сразу после `interrupt()` и вызовете `receive_response()` только один раз, вы получите сообщения прерванной задачи, а не ответ на новый запрос.

625</Note>715</Note>

626 716 

627#### Пример - Расширенное управление разрешениями717<h4 id="example-advanced-permission-control">

718 Пример - Расширенное управление разрешениями

719</h4>

628 720 

629```python theme={null}721```python theme={null}

630from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions722from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions


673asyncio.run(main())765asyncio.run(main())

674```766```

675 767 

676## Типы768<h2 id="types">

769 Типы

770</h2>

677 771 

678<Note>772<Note>

679 **`@dataclass` vs `TypedDict`:** Этот SDK использует два вида типов. Классы, украшенные `@dataclass` (такие как `ResultMessage`, `AgentDefinition`, `TextBlock`), являются экземплярами объектов во время выполнения и поддерживают доступ к атрибутам: `msg.result`. Классы, определенные с помощью `TypedDict` (такие как `ThinkingConfigEnabled`, `McpStdioServerConfig`, `SyncHookJSONOutput`), являются **простыми словарями во время выполнения** и требуют доступа к ключам: `config["budget_tokens"]`, а не `config.budget_tokens`. Синтаксис вызова `ClassName(field=value)` работает для обоих, но только dataclasses создают объекты с атрибутами.773 **`@dataclass` vs `TypedDict`:** Этот SDK использует два вида типов. Классы, украшенные `@dataclass` (такие как `ResultMessage`, `AgentDefinition`, `TextBlock`), являются экземплярами объектов во время выполнения и поддерживают доступ к атрибутам: `msg.result`. Классы, определенные с помощью `TypedDict` (такие как `ThinkingConfigEnabled`, `McpStdioServerConfig`, `SyncHookJSONOutput`), являются **простыми словарями во время выполнения** и требуют доступа к ключам: `config["budget_tokens"]`, а не `config.budget_tokens`. Синтаксис вызова `ClassName(field=value)` работает для обоих, но только dataclasses создают объекты с атрибутами.

680</Note>774</Note>

681 775 

682### `SdkMcpTool`776<h3 id="sdkmcptool">

777 `SdkMcpTool`

778</h3>

683 779 

684Определение для SDK MCP tool, созданного с помощью декоратора `@tool`.780Определение для SDK MCP tool, созданного с помощью декоратора `@tool`.

685 781 


701| `handler` | `Callable[[T], Awaitable[dict[str, Any]]]` | Асинхронная функция, которая обрабатывает выполнение инструмента |797| `handler` | `Callable[[T], Awaitable[dict[str, Any]]]` | Асинхронная функция, которая обрабатывает выполнение инструмента |

702| `annotations` | `ToolAnnotations \| None` | Дополнительные аннотации MCP tool (например, `readOnlyHint`, `destructiveHint`, `openWorldHint`). Из `mcp.types` |798| `annotations` | `ToolAnnotations \| None` | Дополнительные аннотации MCP tool (например, `readOnlyHint`, `destructiveHint`, `openWorldHint`). Из `mcp.types` |

703 799 

704### `Transport`800<h3 id="transport">

801 `Transport`

802</h3>

705 803 

706Абстрактный базовый класс для пользовательских реализаций транспорта. Используйте это для связи с процессом Claude через пользовательский канал (например, удаленное соединение вместо локального подпроцесса).804Абстрактный базовый класс для пользовательских реализаций транспорта. Используйте это для связи с процессом Claude через пользовательский канал (например, удаленное соединение вместо локального подпроцесса).

707 805 


746 844 

747Импорт: `from claude_agent_sdk import Transport`845Импорт: `from claude_agent_sdk import Transport`

748 846 

749### `ClaudeAgentOptions`847<h3 id="claudeagentoptions">

848 `ClaudeAgentOptions`

849</h3>

750 850 

751Dataclass конфигурации для запросов Claude Code.851Dataclass конфигурации для запросов Claude Code.

752 852 


837| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills, доступные сеансу. Передайте `"all"` для включения каждого обнаруженного skill, или список имен skills. Когда установлено, SDK автоматически добавляет инструмент Skill в `allowed_tools`. Если вы также передаете `tools`, включите `"Skill"` в этот список. См. [Skills](/ru/agent-sdk/skills) |937| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills, доступные сеансу. Передайте `"all"` для включения каждого обнаруженного skill, или список имен skills. Когда установлено, SDK автоматически добавляет инструмент Skill в `allowed_tools`. Если вы также передаете `tools`, включите `"Skill"` в этот список. См. [Skills](/ru/agent-sdk/skills) |

838| `max_thinking_tokens` | `int \| None` | `None` | *Устарело* - Максимальные токены для блоков мышления. Вместо этого используйте `thinking` |938| `max_thinking_tokens` | `int \| None` | `None` | *Устарело* - Максимальные токены для блоков мышления. Вместо этого используйте `thinking` |

839| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Управляет поведением расширенного мышления. Имеет приоритет над `max_thinking_tokens` |939| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Управляет поведением расширенного мышления. Имеет приоритет над `max_thinking_tokens` |

840| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Уровень усилий для глубины мышления |940| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Уровень усилий для глубины мышления. См. [adjust the effort level](/ru/model-config#adjust-effort-level) |

841| `session_store` | [`SessionStore`](/ru/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Зеркалируйте стенограммы сеансов во внешний бэкэнд, чтобы любой хост мог их возобновить. См. [Persist sessions to external storage](/ru/agent-sdk/session-storage) |941| `session_store` | [`SessionStore`](/ru/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Зеркалируйте стенограммы сеансов во внешний бэкэнд, чтобы любой хост мог их возобновить. См. [Persist sessions to external storage](/ru/agent-sdk/session-storage) |

842| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Когда сбрасывать записи зеркальной стенограммы в `session_store`. `"batched"` сбрасывает один раз за ход или когда буфер заполняется; `"eager"` запускает фоновый сброс после каждого кадра. Игнорируется, когда `session_store` равен `None` |942| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Когда сбрасывать записи зеркальной стенограммы в `session_store`. `"batched"` сбрасывает один раз за ход или когда буфер заполняется; `"eager"` запускает фоновый сброс после каждого кадра. Игнорируется, когда `session_store` равен `None` |

843 943 

844#### Обработка медленных или зависших ответов API944<h4 id="handle-slow-or-stalled-api-responses">

945 Обработка медленных или зависших ответов API

946</h4>

845 947 

846Подпроцесс CLI читает несколько переменных окружения, которые управляют тайм-аутами API и обнаружением зависания. Передайте их через `ClaudeAgentOptions.env`:948Подпроцесс CLI читает несколько переменных окружения, которые управляют тайм-аутами API и обнаружением зависания. Передайте их через `ClaudeAgentOptions.env`:

847 949 


858* `API_TIMEOUT_MS`: тайм-аут для каждого запроса на клиенте Anthropic в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем подагентам.960* `API_TIMEOUT_MS`: тайм-аут для каждого запроса на клиенте Anthropic в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем подагентам.

859* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`. Каждая повторная попытка получает свое собственное окно `API_TIMEOUT_MS`, поэтому наихудшее время стены примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс отступ.961* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`. Каждая повторная попытка получает свое собственное окно `API_TIMEOUT_MS`, поэтому наихудшее время стены примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс отступ.

860* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: сторожевой таймер зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании он прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: сторожевой таймер зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании он прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.

861* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки прибыли, но тело ответа перестает потоковать. По умолчанию отключено. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.963* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки прибыли, но тело ответа перестает потоковать. Когда `CLAUDE_ENABLE_STREAM_WATCHDOG` не установлен, по умолчанию используется управление сервером на прямом API Anthropic и отключено на других поставщиках. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.

862 964 

863### `OutputFormat`965<h3 id="outputformat">

966 `OutputFormat`

967</h3>

864 968 

865Конфигурация для валидации структурированного вывода. Передайте это как `dict` в поле `output_format` на `ClaudeAgentOptions`:969Конфигурация для валидации структурированного вывода. Передайте это как `dict` в поле `output_format` на `ClaudeAgentOptions`:

866 970 


877| `type` | Да | Должно быть `"json_schema"` для валидации JSON Schema |981| `type` | Да | Должно быть `"json_schema"` для валидации JSON Schema |

878| `schema` | Да | Определение JSON Schema для валидации вывода |982| `schema` | Да | Определение JSON Schema для валидации вывода |

879 983 

880### `SystemPromptPreset`984<h3 id="systempromptpreset">

985 `SystemPromptPreset`

986</h3>

881 987 

882Конфигурация для использования предустановленной системной подсказки Claude Code с дополнительными добавлениями.988Конфигурация для использования предустановленной системной подсказки Claude Code с дополнительными добавлениями.

883 989 


896| `append` | Нет | Дополнительные инструкции для добавления к предустановленной системной подсказке |1002| `append` | Нет | Дополнительные инструкции для добавления к предустановленной системной подсказке |

897| `exclude_dynamic_sections` | Нет | Переместите контекст для каждого сеанса, такой как рабочий каталог, статус git и пути памяти, из системной подсказки в первое пользовательское сообщение. Улучшает повторное использование кэша подсказок между пользователями и машинами. См. [Modify system prompts](/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |1003| `exclude_dynamic_sections` | Нет | Переместите контекст для каждого сеанса, такой как рабочий каталог, статус git и пути памяти, из системной подсказки в первое пользовательское сообщение. Улучшает повторное использование кэша подсказок между пользователями и машинами. См. [Modify system prompts](/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

898 1004 

899### `SettingSource`1005<h3 id="settingsource">

1006 `SettingSource`

1007</h3>

900 1008 

901Управляет тем, какие источники конфигурации на основе файловой системы загружает SDK.1009Управляет тем, какие источники конфигурации на основе файловой системы загружает SDK.

902 1010 


910| `"project"` | Общие параметры проекта (контролируемые версией) | `.claude/settings.json` |1018| `"project"` | Общие параметры проекта (контролируемые версией) | `.claude/settings.json` |

911| `"local"` | Локальные параметры проекта (gitignored) | `.claude/settings.local.json` |1019| `"local"` | Локальные параметры проекта (gitignored) | `.claude/settings.local.json` |

912 1020 

913#### Поведение по умолчанию1021<h4 id="default-behavior">

1022 Поведение по умолчанию

1023</h4>

914 1024 

915Когда `setting_sources` опущено или `None`, `query()` загружает те же параметры файловой системы, что и Claude Code CLI: пользовательские, проектные и локальные. Управляемые параметры политики загружаются во всех случаях. См. [What settingSources does not control](/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) для входов, которые читаются независимо от этой опции, и как их отключить.1025Когда `setting_sources` опущено или `None`, `query()` загружает те же параметры файловой системы, что и Claude Code CLI: пользовательские, проектные и локальные. Управляемые параметры политики загружаются во всех случаях. См. [What settingSources does not control](/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) для входов, которые читаются независимо от этой опции, и как их отключить.

916 1026 

917#### Почему использовать setting\_sources1027<h4 id="why-use-setting_sources">

1028 Почему использовать setting\_sources

1029</h4>

918 1030 

919**Отключить параметры файловой системы:**1031**Отключить параметры файловой системы:**

920 1032 


1011 print(message)1123 print(message)

1012```1124```

1013 1125 

1014#### Приоритет параметров1126<h4 id="settings-precedence">

1127 Приоритет параметров

1128</h4>

1015 1129 

1016Когда загружаются несколько источников, параметры объединяются с этим приоритетом (от наивысшего к наименьшему):1130Когда загружаются несколько источников, параметры объединяются с этим приоритетом (от наивысшего к наименьшему):

1017 1131 


1021 1135 

1022Программные опции, такие как `agents` и `allowed_tools`, переопределяют параметры пользователя, проекта и локальной файловой системы. Управляемые параметры политики имеют приоритет над программными опциями.1136Программные опции, такие как `agents` и `allowed_tools`, переопределяют параметры пользователя, проекта и локальной файловой системы. Управляемые параметры политики имеют приоритет над программными опциями.

1023 1137 

1024### `AgentDefinition`1138<h3 id="agentdefinition">

1139 `AgentDefinition`

1140</h3>

1025 1141 

1026Конфигурация для подагента, определенного программно.1142Конфигурация для подагента, определенного программно.

1027 1143 


1044```1160```

1045 1161 

1046| Поле | Обязательно | Описание |1162| Поле | Обязательно | Описание |

1047| :---------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1163| :---------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1048| `description` | Да | Описание на естественном языке, когда использовать этого агента |1164| `description` | Да | Описание на естественном языке, когда использовать этого агента |

1049| `prompt` | Да | Системная подсказка агента |1165| `prompt` | Да | Системная подсказка агента |

1050| `tools` | Нет | Массив разрешенных имен инструментов. Если опущено, наследует все инструменты |1166| `tools` | Нет | Массив разрешенных имен инструментов. Если опущено, наследует все инструменты |

1051| `disallowedTools` | Нет | Массив имен инструментов для удаления из набора инструментов агента |1167| `disallowedTools` | Нет | Массив имен инструментов для удаления из набора инструментов агента. Также принимаются шаблоны уровня MCP server: `mcp__server` или `mcp__server__*` удаляет каждый инструмент с этого сервера, и `mcp__*` удаляет каждый MCP tool с любого сервера |

1052| `model` | Нет | Переопределение модели для этого агента. Принимает псевдоним, такой как `"sonnet"`, `"opus"`, `"haiku"` или `"inherit"`, или полный ID модели. Если опущено, использует основную модель |1168| `model` | Нет | Переопределение модели для этого агента. Принимает псевдоним, такой как `"sonnet"`, `"opus"`, `"haiku"` или `"inherit"`, или полный ID модели. Если опущено, использует основную модель |

1053| `skills` | Нет | Список имен skills для предварительной загрузки в контекст агента при запуске. Неуказанные skills остаются вызываемыми через инструмент Skill |1169| `skills` | Нет | Список имен skills для предварительной загрузки в контекст агента при запуске. Неуказанные skills остаются вызываемыми через инструмент Skill |

1054| `memory` | Нет | Источник памяти для этого агента: `"user"`, `"project"` или `"local"` |1170| `memory` | Нет | Источник памяти для этого агента: `"user"`, `"project"` или `"local"` |


1063 Имена полей `AgentDefinition` используют camelCase, такие как `disallowedTools`, `permissionMode` и `maxTurns`. Эти имена напрямую соответствуют формату проводки, общему с TypeScript SDK. Это отличается от `ClaudeAgentOptions`, который использует Python snake\_case для эквивалентных полей верхнего уровня, таких как `disallowed_tools` и `permission_mode`. Поскольку `AgentDefinition` является dataclass, передача ключевого слова snake\_case вызывает `TypeError` во время конструирования.1179 Имена полей `AgentDefinition` используют camelCase, такие как `disallowedTools`, `permissionMode` и `maxTurns`. Эти имена напрямую соответствуют формату проводки, общему с TypeScript SDK. Это отличается от `ClaudeAgentOptions`, который использует Python snake\_case для эквивалентных полей верхнего уровня, таких как `disallowed_tools` и `permission_mode`. Поскольку `AgentDefinition` является dataclass, передача ключевого слова snake\_case вызывает `TypeError` во время конструирования.

1064</Note>1180</Note>

1065 1181 

1066### `PermissionMode`1182<h3 id="permissionmode">

1183 `PermissionMode`

1184</h3>

1067 1185 

1068Режимы разрешений для управления выполнением инструментов.1186Режимы разрешений для управления выполнением инструментов.

1069 1187 


1071PermissionMode = Literal[1189PermissionMode = Literal[

1072 "default", # Standard permission behavior1190 "default", # Standard permission behavior

1073 "acceptEdits", # Auto-accept file edits1191 "acceptEdits", # Auto-accept file edits

1074 "plan", # Planning mode - read-only tools only1192 "plan", # Planning mode - explore without editing

1075 "dontAsk", # Deny anything not pre-approved instead of prompting1193 "dontAsk", # Deny anything not pre-approved instead of prompting

1076 "bypassPermissions", # Bypass all permission checks (use with caution)1194 "bypassPermissions", # Bypass permission checks; explicit ask rules still prompt (use with caution)

1077]1195]

1078```1196```

1079 1197 

1080### `EffortLevel`1198<h3 id="effortlevel">

1199 `EffortLevel`

1200</h3>

1081 1201 

1082Уровни усилий для руководства глубиной мышления.1202Уровни усилий для руководства глубиной мышления.

1083 1203 


1086 "low", # Minimal thinking, fastest responses1206 "low", # Minimal thinking, fastest responses

1087 "medium", # Moderate thinking1207 "medium", # Moderate thinking

1088 "high", # Deep reasoning1208 "high", # Deep reasoning

1089 "xhigh", # Extended reasoning (Opus 4.7 only; falls back to "high" on other models)1209 "xhigh", # Extended reasoning (Opus 4.8 and Opus 4.7; falls back to "high" on other models)

1090 "max", # Maximum effort1210 "max", # Maximum effort

1091]1211]

1092```1212```

1093 1213 

1094### `CanUseTool`1214<h3 id="canusetool">

1215 `CanUseTool`

1216</h3>

1095 1217 

1096Псевдоним типа для функций обратного вызова разрешения инструмента.1218Псевдоним типа для функций обратного вызова разрешения инструмента.

1097 1219 


1109 1231 

1110Возвращает `PermissionResult` (либо `PermissionResultAllow`, либо `PermissionResultDeny`).1232Возвращает `PermissionResult` (либо `PermissionResultAllow`, либо `PermissionResultDeny`).

1111 1233 

1112### `ToolPermissionContext`1234<h3 id="toolpermissioncontext">

1235 `ToolPermissionContext`

1236</h3>

1113 1237 

1114Информация контекста, передаваемая в обратные вызовы разрешения инструмента.1238Информация контекста, передаваемая в обратные вызовы разрешения инструмента.

1115 1239 


1135| `display_name` | `str \| None` | Короткая именная фраза для действия инструмента, такая как `Read file`, подходящая для меток кнопок |1259| `display_name` | `str \| None` | Короткая именная фраза для действия инструмента, такая как `Read file`, подходящая для меток кнопок |

1136| `description` | `str \| None` | Понятный подзаголовок для пользовательского интерфейса разрешений |1260| `description` | `str \| None` | Понятный подзаголовок для пользовательского интерфейса разрешений |

1137 1261 

1138### `PermissionResult`1262<h3 id="permissionresult">

1263 `PermissionResult`

1264</h3>

1139 1265 

1140Тип объединения для результатов обратного вызова разрешения.1266Тип объединения для результатов обратного вызова разрешения.

1141 1267 


1143PermissionResult = PermissionResultAllow | PermissionResultDeny1269PermissionResult = PermissionResultAllow | PermissionResultDeny

1144```1270```

1145 1271 

1146### `PermissionResultAllow`1272<h3 id="permissionresultallow">

1273 `PermissionResultAllow`

1274</h3>

1147 1275 

1148Результат, указывающий, что вызов инструмента должен быть разрешен.1276Результат, указывающий, что вызов инструмента должен быть разрешен.

1149 1277 


1161| `updated_input` | `dict[str, Any] \| None` | `None` | Измененный ввод для использования вместо оригинала |1289| `updated_input` | `dict[str, Any] \| None` | `None` | Измененный ввод для использования вместо оригинала |

1162| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Обновления разрешений для применения |1290| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Обновления разрешений для применения |

1163 1291 

1164### `PermissionResultDeny`1292<h3 id="permissionresultdeny">

1293 `PermissionResultDeny`

1294</h3>

1165 1295 

1166Результат, указывающий, что вызов инструмента должен быть отклонен.1296Результат, указывающий, что вызов инструмента должен быть отклонен.

1167 1297 


1179| `message` | `str` | `""` | Сообщение, объясняющее, почему инструмент был отклонен |1309| `message` | `str` | `""` | Сообщение, объясняющее, почему инструмент был отклонен |

1180| `interrupt` | `bool` | `False` | Следует ли прерывать текущее выполнение |1310| `interrupt` | `bool` | `False` | Следует ли прерывать текущее выполнение |

1181 1311 

1182### `PermissionUpdate`1312<h3 id="permissionupdate">

1313 `PermissionUpdate`

1314</h3>

1183 1315 

1184Конфигурация для программного обновления разрешений.1316Конфигурация для программного обновления разрешений.

1185 1317 


1212| `directories` | `list[str] \| None` | Каталоги для операций добавления/удаления каталога |1344| `directories` | `list[str] \| None` | Каталоги для операций добавления/удаления каталога |

1213| `destination` | `Literal[...] \| None` | Где применить обновление разрешений |1345| `destination` | `Literal[...] \| None` | Где применить обновление разрешений |

1214 1346 

1215### `PermissionRuleValue`1347<h3 id="permissionrulevalue">

1348 `PermissionRuleValue`

1349</h3>

1216 1350 

1217Правило для добавления, замены или удаления в обновлении разрешений.1351Правило для добавления, замены или удаления в обновлении разрешений.

1218 1352 


1223 rule_content: str | None = None1357 rule_content: str | None = None

1224```1358```

1225 1359 

1226### `ToolsPreset`1360<h3 id="toolspreset">

1361 `ToolsPreset`

1362</h3>

1227 1363 

1228Конфигурация предустановленных инструментов для использования набора инструментов Claude Code по умолчанию.1364Конфигурация предустановленных инструментов для использования набора инструментов Claude Code по умолчанию.

1229 1365 


1233 preset: Literal["claude_code"]1369 preset: Literal["claude_code"]

1234```1370```

1235 1371 

1236### `ThinkingConfig`1372<h3 id="thinkingconfig">

1373 `ThinkingConfig`

1374</h3>

1237 1375 

1238Управляет поведением расширенного мышления. Объединение трех конфигураций:1376Управляет поведением расширенного мышления. Объединение трех конфигураций:

1239 1377 


1281# config.budget_tokens would raise AttributeError1419# config.budget_tokens would raise AttributeError

1282```1420```

1283 1421 

1284### `SdkBeta`1422<h3 id="sdkbeta">

1423 `SdkBeta`

1424</h3>

1285 1425 

1286Тип Literal для функций бета-версии SDK.1426Тип Literal для функций бета-версии SDK.

1287 1427 


1292Используйте с полем `betas` в `ClaudeAgentOptions` для включения функций бета-версии.1432Используйте с полем `betas` в `ClaudeAgentOptions` для включения функций бета-версии.

1293 1433 

1294<Warning>1434<Warning>

1295 Бета-версия `context-1m-2025-08-07` снята с производства по состоянию на 30 апреля 2026 года. Передача этого заголовка с Claude Sonnet 4.5 или Sonnet 4 не имеет эффекта, и запросы, превышающие стандартное окно контекста 200k-токенов, возвращают ошибку. Чтобы использовать окно контекста 1M-токенов, перейдите на [Claude Sonnet 4.6, Claude Opus 4.6 или Claude Opus 4.7](https://platform.claude.com/docs/en/about-claude/models/overview), которые включают контекст 1M по стандартной цене без требования заголовка бета-версии.1435 Бета-версия `context-1m-2025-08-07` снята с производства по состоянию на 30 апреля 2026 года. Передача этого заголовка с Claude Sonnet 4.5 или Sonnet 4 не имеет эффекта, и запросы, превышающие стандартное окно контекста 200k-токенов, возвращают ошибку. Чтобы использовать окно контекста 1M-токенов, перейдите на [Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 или Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), которые включают контекст 1M по стандартной цене без требования заголовка бета-версии.

1296</Warning>1436</Warning>

1297 1437 

1298### `McpSdkServerConfig`1438<h3 id="mcpsdkserverconfig">

1439 `McpSdkServerConfig`

1440</h3>

1299 1441 

1300Конфигурация для SDK MCP servers, созданных с помощью `create_sdk_mcp_server()`.1442Конфигурация для SDK MCP servers, созданных с помощью `create_sdk_mcp_server()`.

1301 1443 


1306 instance: Any # MCP Server instance1448 instance: Any # MCP Server instance

1307```1449```

1308 1450 

1309### `McpServerConfig`1451<h3 id="mcpserverconfig">

1452 `McpServerConfig`

1453</h3>

1310 1454 

1311Тип объединения для конфигураций MCP server.1455Тип объединения для конфигураций MCP server.

1312 1456 


1316)1460)

1317```1461```

1318 1462 

1319#### `McpStdioServerConfig`1463<h4 id="mcpstdioserverconfig">

1464 `McpStdioServerConfig`

1465</h4>

1320 1466 

1321```python theme={null}1467```python theme={null}

1322class McpStdioServerConfig(TypedDict):1468class McpStdioServerConfig(TypedDict):


1326 env: NotRequired[dict[str, str]]1472 env: NotRequired[dict[str, str]]

1327```1473```

1328 1474 

1329#### `McpSSEServerConfig`1475<h4 id="mcpsseserverconfig">

1476 `McpSSEServerConfig`

1477</h4>

1330 1478 

1331```python theme={null}1479```python theme={null}

1332class McpSSEServerConfig(TypedDict):1480class McpSSEServerConfig(TypedDict):


1335 headers: NotRequired[dict[str, str]]1483 headers: NotRequired[dict[str, str]]

1336```1484```

1337 1485 

1338#### `McpHttpServerConfig`1486<h4 id="mcphttpserverconfig">

1487 `McpHttpServerConfig`

1488</h4>

1339 1489 

1340```python theme={null}1490```python theme={null}

1341class McpHttpServerConfig(TypedDict):1491class McpHttpServerConfig(TypedDict):


1344 headers: NotRequired[dict[str, str]]1494 headers: NotRequired[dict[str, str]]

1345```1495```

1346 1496 

1347### `McpServerStatusConfig`1497<h3 id="mcpserverstatusconfig">

1498 `McpServerStatusConfig`

1499</h3>

1348 1500 

1349Конфигурация MCP server, как сообщается [`get_mcp_status()`](#methods). Это объединение всех вариантов транспорта [`McpServerConfig`](#mcpserverconfig) плюс вариант `claudeai-proxy` только для вывода для servers, проксированных через claude.ai.1501Конфигурация MCP server, как сообщается [`get_mcp_status()`](#methods). Это объединение всех вариантов транспорта [`McpServerConfig`](#mcpserverconfig) плюс вариант `claudeai-proxy` только для вывода для servers, проксированных через claude.ai.

1350 1502 


1360 1512 

1361`McpSdkServerConfigStatus` - это сериализуемая форма [`McpSdkServerConfig`](#mcpsdkserverconfig) с только полями `type` (`"sdk"`) и `name` (`str`); встроенный `instance` опущен. `McpClaudeAIProxyServerConfig` имеет поля `type` (`"claudeai-proxy"`), `url` (`str`) и `id` (`str`).1513`McpSdkServerConfigStatus` - это сериализуемая форма [`McpSdkServerConfig`](#mcpsdkserverconfig) с только полями `type` (`"sdk"`) и `name` (`str`); встроенный `instance` опущен. `McpClaudeAIProxyServerConfig` имеет поля `type` (`"claudeai-proxy"`), `url` (`str`) и `id` (`str`).

1362 1514 

1363### `McpStatusResponse`1515<h3 id="mcpstatusresponse">

1516 `McpStatusResponse`

1517</h3>

1364 1518 

1365Ответ от [`ClaudeSDKClient.get_mcp_status()`](#methods). Оборачивает список статусов сервера под ключом `mcpServers`.1519Ответ от [`ClaudeSDKClient.get_mcp_status()`](#methods). Оборачивает список статусов сервера под ключом `mcpServers`.

1366 1520 


1369 mcpServers: list[McpServerStatus]1523 mcpServers: list[McpServerStatus]

1370```1524```

1371 1525 

1372### `McpServerStatus`1526<h3 id="mcpserverstatus">

1527 `McpServerStatus`

1528</h3>

1373 1529 

1374Статус подключенного MCP server, содержащийся в [`McpStatusResponse`](#mcpstatusresponse).1530Статус подключенного MCP server, содержащийся в [`McpStatusResponse`](#mcpstatusresponse).

1375 1531 


1394| `scope` | `str` (опционально) | Область конфигурации |1550| `scope` | `str` (опционально) | Область конфигурации |

1395| `tools` | `list` (опционально) | Инструменты, предоставляемые этим сервером, каждый с полями `name`, `description` и `annotations` |1551| `tools` | `list` (опционально) | Инструменты, предоставляемые этим сервером, каждый с полями `name`, `description` и `annotations` |

1396 1552 

1397### `SdkPluginConfig`1553<h3 id="sdkpluginconfig">

1554 `SdkPluginConfig`

1555</h3>

1398 1556 

1399Конфигурация для загрузки plugins в SDK.1557Конфигурация для загрузки plugins в SDK.

1400 1558 


1420 1578 

1421Для полной информации о создании и использовании plugins см. [Plugins](/ru/agent-sdk/plugins).1579Для полной информации о создании и использовании plugins см. [Plugins](/ru/agent-sdk/plugins).

1422 1580 

1423## Типы сообщений1581<h2 id="message-types">

1582 Типы сообщений

1583</h2>

1424 1584 

1425### `Message`1585<h3 id="message">

1586 `Message`

1587</h3>

1426 1588 

1427Тип объединения всех возможных сообщений.1589Тип объединения всех возможных сообщений.

1428 1590 


1437)1599)

1438```1600```

1439 1601 

1440### `UserMessage`1602<h3 id="usermessage">

1603 `UserMessage`

1604</h3>

1441 1605 

1442Сообщение пользовательского ввода.1606Сообщение пользовательского ввода.

1443 1607 


1457| `parent_tool_use_id` | `str \| None` | ID использования инструмента, если это сообщение является ответом результата инструмента |1621| `parent_tool_use_id` | `str \| None` | ID использования инструмента, если это сообщение является ответом результата инструмента |

1458| `tool_use_result` | `dict[str, Any] \| None` | Данные результата инструмента, если применимо |1622| `tool_use_result` | `dict[str, Any] \| None` | Данные результата инструмента, если применимо |

1459 1623 

1460### `AssistantMessage`1624<h3 id="assistantmessage">

1625 `AssistantMessage`

1626</h3>

1461 1627 

1462Сообщение ответа помощника с блоками содержимого.1628Сообщение ответа помощника с блоками содержимого.

1463 1629 


1481| `usage` | `dict[str, Any] \| None` | Использование токенов для каждого сообщения (те же ключи, что и [`ResultMessage.usage`](#resultmessage)) |1647| `usage` | `dict[str, Any] \| None` | Использование токенов для каждого сообщения (те же ключи, что и [`ResultMessage.usage`](#resultmessage)) |

1482| `message_id` | `str \| None` | ID сообщения API. Несколько сообщений из одного хода имеют одинаковый ID |1648| `message_id` | `str \| None` | ID сообщения API. Несколько сообщений из одного хода имеют одинаковый ID |

1483 1649 

1484### `AssistantMessageError`1650<h3 id="assistantmessageerror">

1651 `AssistantMessageError`

1652</h3>

1485 1653 

1486Возможные типы ошибок для сообщений помощника.1654Возможные типы ошибок для сообщений помощника.

1487 1655 


1497]1665]

1498```1666```

1499 1667 

1500### `SystemMessage`1668<h3 id="systemmessage">

1669 `SystemMessage`

1670</h3>

1501 1671 

1502Системное сообщение с метаданными.1672Системное сообщение с метаданными.

1503 1673 


1508 data: dict[str, Any]1678 data: dict[str, Any]

1509```1679```

1510 1680 

1511### `ResultMessage`1681<h3 id="resultmessage">

1682 `ResultMessage`

1683</h3>

1512 1684 

1513Финальное сообщение результата с информацией о стоимости и использовании.1685Финальное сообщение результата с информацией о стоимости и использовании.

1514 1686 


1534 uuid: str | None = None1706 uuid: str | None = None

1535```1707```

1536 1708 

1709Поле `subtype` определяет, какие другие поля заполнены. Это одно из `"success"`, `"error_during_execution"`, `"error_max_turns"`, `"error_max_budget_usd"` или `"error_max_structured_output_retries"`. Dataclass Python объединяет все варианты в одну форму, поэтому поля, которые не применяются к возвращаемому подтипу, имеют значение `None`.

1710 

1711Несколько полей содержат диагностические детали, когда разговор заканчивается с ошибкой:

1712 

1713* `is_error`: `True`, когда разговор закончился в состоянии ошибки. Всегда `True` на подтипах `error_*`. На `subtype="success"` это `True`, когда финальный запрос модели не удался, что означает, что цикл агента завершился, но последний вызов API вернул ошибку.

1714* `api_error_status`: код состояния HTTP завершающей ошибки API. `None`, когда ход закончился без ошибки. Заполняется только на `subtype="success"`.

1715* `result`: текст финального сообщения помощника на `subtype="success"` или `None` на подтипах `error_*`. Когда `subtype="success"` и `is_error=True`, это содержит строку ошибки API, если она доступна, но может быть пустой, поэтому проверьте `api_error_status` и предыдущее содержимое `AssistantMessage` для деталей.

1716* `errors`: строки ошибок уровня цикла, такие как сообщение о максимальных ходах. Заполняется только на подтипах `error_*`.

1717 

1537Словарь `usage` содержит следующие ключи, если они присутствуют:1718Словарь `usage` содержит следующие ключи, если они присутствуют:

1538 1719 

1539| Ключ | Тип | Описание |1720| Ключ | Тип | Описание |


1556| `contextWindow` | `int` | Размер окна контекста для этой модели. |1737| `contextWindow` | `int` | Размер окна контекста для этой модели. |

1557| `maxOutputTokens` | `int` | Максимальный лимит выходных токенов для этой модели. |1738| `maxOutputTokens` | `int` | Максимальный лимит выходных токенов для этой модели. |

1558 1739 

1559### `StreamEvent`1740<h3 id="streamevent">

1741 `StreamEvent`

1742</h3>

1560 1743 

1561Событие потока для частичных обновлений сообщений во время потоковой передачи. Получается только когда `include_partial_messages=True` в `ClaudeAgentOptions`. Импортируйте через `from claude_agent_sdk.types import StreamEvent`.1744Событие потока для частичных обновлений сообщений во время потоковой передачи. Получается только когда `include_partial_messages=True` в `ClaudeAgentOptions`. Импортируйте через `from claude_agent_sdk.types import StreamEvent`.

1562 1745 


1576| `event` | `dict[str, Any]` | Необработанные данные события потока Claude API |1759| `event` | `dict[str, Any]` | Необработанные данные события потока Claude API |

1577| `parent_tool_use_id` | `str \| None` | ID использования родительского инструмента, если это событие из подагента |1760| `parent_tool_use_id` | `str \| None` | ID использования родительского инструмента, если это событие из подагента |

1578 1761 

1579### `RateLimitEvent`1762<h3 id="ratelimitevent">

1763 `RateLimitEvent`

1764</h3>

1580 1765 

1581Выдается при изменении статуса ограничения скорости (например, с `"allowed"` на `"allowed_warning"`). Используйте это для предупреждения пользователей перед достижением жесткого лимита или для отката, когда статус `"rejected"`.1766Выдается при изменении статуса ограничения скорости (например, с `"allowed"` на `"allowed_warning"`). Используйте это для предупреждения пользователей перед достижением жесткого лимита или для отката, когда статус `"rejected"`.

1582 1767 


1594| `uuid` | `str` | Уникальный идентификатор события |1779| `uuid` | `str` | Уникальный идентификатор события |

1595| `session_id` | `str` | Идентификатор сеанса |1780| `session_id` | `str` | Идентификатор сеанса |

1596 1781 

1597### `RateLimitInfo`1782<h3 id="ratelimitinfo">

1783 `RateLimitInfo`

1784</h3>

1598 1785 

1599Состояние ограничения скорости, переносимое [`RateLimitEvent`](#ratelimitevent).1786Состояние ограничения скорости, переносимое [`RateLimitEvent`](#ratelimitevent).

1600 1787 


1628| `overage_disabled_reason` | `str \| None` | Почему переплата недоступна, если статус `"rejected"` |1815| `overage_disabled_reason` | `str \| None` | Почему переплата недоступна, если статус `"rejected"` |

1629| `raw` | `dict[str, Any]` | Полный необработанный словарь из CLI, включая поля, не смоделированные выше |1816| `raw` | `dict[str, Any]` | Полный необработанный словарь из CLI, включая поля, не смоделированные выше |

1630 1817 

1631### `TaskStartedMessage`1818<h3 id="taskstartedmessage">

1819 `TaskStartedMessage`

1820</h3>

1632 1821 

1633Выдается при запуске фоновой задачи. Фоновая задача - это все, что отслеживается вне основного хода: фоновая команда Bash, наблюдение Monitor, подагент, порожденный через инструмент Agent, или удаленный агент. Поле `task_type` говорит вам, какой. Это именование не связано с переименованием инструмента `Task` на `Agent`.1822Выдается при запуске фоновой задачи. Фоновая задача - это все, что отслеживается вне основного хода: фоновая команда Bash, наблюдение Monitor, подагент, порожденный через инструмент Agent, или удаленный агент. Поле `task_type` говорит вам, какой. Это именование не связано с переименованием инструмента `Task` на `Agent`.

1634 1823 


1652| `tool_use_id` | `str \| None` | Связанный ID использования инструмента |1841| `tool_use_id` | `str \| None` | Связанный ID использования инструмента |

1653| `task_type` | `str \| None` | Какой вид фоновой задачи: `"local_bash"` для фонового Bash и наблюдений Monitor, `"local_agent"` или `"remote_agent"` |1842| `task_type` | `str \| None` | Какой вид фоновой задачи: `"local_bash"` для фонового Bash и наблюдений Monitor, `"local_agent"` или `"remote_agent"` |

1654 1843 

1655### `TaskUsage`1844<h3 id="taskusage">

1845 `TaskUsage`

1846</h3>

1656 1847 

1657Данные токенов и времени для фоновой задачи.1848Данные токенов и времени для фоновой задачи.

1658 1849 


1663 duration_ms: int1854 duration_ms: int

1664```1855```

1665 1856 

1666### `TaskProgressMessage`1857<h3 id="taskprogressmessage">

1858 `TaskProgressMessage`

1859</h3>

1667 1860 

1668Выдается периодически с обновлениями прогресса для выполняющейся фоновой задачи.1861Выдается периодически с обновлениями прогресса для выполняющейся фоновой задачи.

1669 1862 


1689| `tool_use_id` | `str \| None` | Связанный ID использования инструмента |1882| `tool_use_id` | `str \| None` | Связанный ID использования инструмента |

1690| `last_tool_name` | `str \| None` | Имя последнего инструмента, который использовала задача |1883| `last_tool_name` | `str \| None` | Имя последнего инструмента, который использовала задача |

1691 1884 

1692### `TaskNotificationMessage`1885<h3 id="tasknotificationmessage">

1886 `TaskNotificationMessage`

1887</h3>

1693 1888 

1694Выдается при завершении, сбое или остановке фоновой задачи. Фоновые задачи включают команды Bash `run_in_background`, наблюдения Monitor и фоновые подагенты.1889Выдается при завершении, сбое или остановке фоновой задачи. Фоновые задачи включают команды Bash `run_in_background`, наблюдения Monitor и фоновые подагенты.

1695 1890 


1717| `tool_use_id` | `str \| None` | Связанный ID использования инструмента |1912| `tool_use_id` | `str \| None` | Связанный ID использования инструмента |

1718| `usage` | `TaskUsage \| None` | Финальное использование токенов для задачи |1913| `usage` | `TaskUsage \| None` | Финальное использование токенов для задачи |

1719 1914 

1720## Типы блоков содержимого1915<h2 id="content-block-types">

1916 Типы блоков содержимого

1917</h2>

1721 1918 

1722### `ContentBlock`1919<h3 id="contentblock">

1920 `ContentBlock`

1921</h3>

1723 1922 

1724Тип объединения всех блоков содержимого.1923Тип объединения всех блоков содержимого.

1725 1924 


1727ContentBlock = TextBlock | ThinkingBlock | ToolUseBlock | ToolResultBlock1926ContentBlock = TextBlock | ThinkingBlock | ToolUseBlock | ToolResultBlock

1728```1927```

1729 1928 

1730### `TextBlock`1929<h3 id="textblock">

1930 `TextBlock`

1931</h3>

1731 1932 

1732Блок содержимого текста.1933Блок содержимого текста.

1733 1934 


1737 text: str1938 text: str

1738```1939```

1739 1940 

1740### `ThinkingBlock`1941<h3 id="thinkingblock">

1942 `ThinkingBlock`

1943</h3>

1741 1944 

1742Блок содержимого мышления (для моделей с возможностью мышления).1945Блок содержимого мышления (для моделей с возможностью мышления).

1743 1946 


1748 signature: str1951 signature: str

1749```1952```

1750 1953 

1751### `ToolUseBlock`1954<h3 id="tooluseblock">

1955 `ToolUseBlock`

1956</h3>

1752 1957 

1753Блок запроса использования инструмента.1958Блок запроса использования инструмента.

1754 1959 


1760 input: dict[str, Any]1965 input: dict[str, Any]

1761```1966```

1762 1967 

1763### `ToolResultBlock`1968<h3 id="toolresultblock">

1969 `ToolResultBlock`

1970</h3>

1764 1971 

1765Блок результата выполнения инструмента.1972Блок результата выполнения инструмента.

1766 1973 


1772 is_error: bool | None = None1979 is_error: bool | None = None

1773```1980```

1774 1981 

1775## Типы ошибок1982<h2 id="error-types">

1983 Типы ошибок

1984</h2>

1776 1985 

1777### `ClaudeSDKError`1986<h3 id="claudesdkerror">

1987 `ClaudeSDKError`

1988</h3>

1778 1989 

1779Базовый класс исключения для всех ошибок SDK.1990Базовый класс исключения для всех ошибок SDK.

1780 1991 


1783 """Base error for Claude SDK."""1994 """Base error for Claude SDK."""

1784```1995```

1785 1996 

1786### `CLINotFoundError`1997<h3 id="clinotfounderror">

1998 `CLINotFoundError`

1999</h3>

1787 2000 

1788Вызывается, когда Claude Code CLI не установлен или не найден.2001Вызывается, когда Claude Code CLI не установлен или не найден.

1789 2002 


1799 """2012 """

1800```2013```

1801 2014 

1802### `CLIConnectionError`2015<h3 id="cliconnectionerror">

2016 `CLIConnectionError`

2017</h3>

1803 2018 

1804Вызывается, когда соединение с Claude Code не удается.2019Вызывается, когда соединение с Claude Code не удается.

1805 2020 


1808 """Failed to connect to Claude Code."""2023 """Failed to connect to Claude Code."""

1809```2024```

1810 2025 

1811### `ProcessError`2026<h3 id="processerror">

2027 `ProcessError`

2028</h3>

1812 2029 

1813Вызывается, когда процесс Claude Code не работает.2030Вызывается, когда процесс Claude Code не работает.

1814 2031 


1821 self.stderr = stderr2038 self.stderr = stderr

1822```2039```

1823 2040 

1824### `CLIJSONDecodeError`2041<h3 id="clijsondecodeerror">

2042 `CLIJSONDecodeError`

2043</h3>

1825 2044 

1826Вызывается, когда разбор JSON не удается.2045Вызывается, когда разбор JSON не удается.

1827 2046 


1837 self.original_error = original_error2056 self.original_error = original_error

1838```2057```

1839 2058 

1840## Типы hooks2059<h2 id="hook-types">

2060 Типы hooks

2061</h2>

1841 2062 

1842Для полного руководства по использованию hooks с примерами и общими шаблонами см. [Hooks guide](/ru/agent-sdk/hooks).2063Для полного руководства по использованию hooks с примерами и общими шаблонами см. [Hooks guide](/ru/agent-sdk/hooks).

1843 2064 

1844### `HookEvent`2065<h3 id="hookevent">

2066 `HookEvent`

2067</h3>

1845 2068 

1846Поддерживаемые типы событий hooks.2069Поддерживаемые типы событий hooks.

1847 2070 


1864 TypeScript SDK поддерживает дополнительные события hooks, которые еще недоступны в Python: `SessionStart`, `SessionEnd`, `Setup`, `TeammateIdle`, `TaskCompleted`, `ConfigChange`, `WorktreeCreate`, `WorktreeRemove`, `PostToolBatch` и `MessageDisplay`.2087 TypeScript SDK поддерживает дополнительные события hooks, которые еще недоступны в Python: `SessionStart`, `SessionEnd`, `Setup`, `TeammateIdle`, `TaskCompleted`, `ConfigChange`, `WorktreeCreate`, `WorktreeRemove`, `PostToolBatch` и `MessageDisplay`.

1865</Note>2088</Note>

1866 2089 

1867### `HookCallback`2090<h3 id="hookcallback">

2091 `HookCallback`

2092</h3>

1868 2093 

1869Определение типа для функций обратного вызова hooks.2094Определение типа для функций обратного вызова hooks.

1870 2095 


1884* `systemMessage`: Предупреждающее сообщение, показываемое пользователю2109* `systemMessage`: Предупреждающее сообщение, показываемое пользователю

1885* `hookSpecificOutput`: Вывод, специфичный для hooks2110* `hookSpecificOutput`: Вывод, специфичный для hooks

1886 2111 

1887### `HookContext`2112<h3 id="hookcontext">

2113 `HookContext`

2114</h3>

1888 2115 

1889Информация контекста, передаваемая в обратные вызовы hooks.2116Информация контекста, передаваемая в обратные вызовы hooks.

1890 2117 


1893 signal: Any | None # Future: abort signal support2120 signal: Any | None # Future: abort signal support

1894```2121```

1895 2122 

1896### `HookMatcher`2123<h3 id="hookmatcher">

2124 `HookMatcher`

2125</h3>

1897 2126 

1898Конфигурация для сопоставления hooks с определенными событиями или инструментами.2127Конфигурация для сопоставления hooks с определенными событиями или инструментами.

1899 2128 


1911 )2140 )

1912```2141```

1913 2142 

1914### `HookInput`2143<h3 id="hookinput">

2144 `HookInput`

2145</h3>

1915 2146 

1916Тип объединения всех типов ввода hooks. Фактический тип зависит от поля `hook_event_name`.2147Тип объединения всех типов ввода hooks. Фактический тип зависит от поля `hook_event_name`.

1917 2148 


1930)2161)

1931```2162```

1932 2163 

1933### `BaseHookInput`2164<h3 id="basehookinput">

2165 `BaseHookInput`

2166</h3>

1934 2167 

1935Базовые поля, присутствующие во всех типах ввода hooks.2168Базовые поля, присутствующие во всех типах ввода hooks.

1936 2169 


1949| `cwd` | `str` | Текущий рабочий каталог |2182| `cwd` | `str` | Текущий рабочий каталог |

1950| `permission_mode` | `str` (опционально) | Текущий режим разрешений |2183| `permission_mode` | `str` (опционально) | Текущий режим разрешений |

1951 2184 

1952### `PreToolUseHookInput`2185<h3 id="pretoolusehookinput">

2186 `PreToolUseHookInput`

2187</h3>

1953 2188 

1954Входные данные для событий hooks `PreToolUse`.2189Входные данные для событий hooks `PreToolUse`.

1955 2190 


1972| `agent_id` | `str` (опционально) | Идентификатор подагента, присутствует, когда hooks срабатывает внутри подагента |2207| `agent_id` | `str` (опционально) | Идентификатор подагента, присутствует, когда hooks срабатывает внутри подагента |

1973| `agent_type` | `str` (опционально) | Тип подагента, присутствует, когда hooks срабатывает внутри подагента |2208| `agent_type` | `str` (опционально) | Тип подагента, присутствует, когда hooks срабатывает внутри подагента |

1974 2209 

1975### `PostToolUseHookInput`2210<h3 id="posttoolusehookinput">

2211 `PostToolUseHookInput`

2212</h3>

1976 2213 

1977Входные данные для событий hooks `PostToolUse`.2214Входные данные для событий hooks `PostToolUse`.

1978 2215 


1997| `agent_id` | `str` (опционально) | Идентификатор подагента, присутствует, когда hooks срабатывает внутри подагента |2234| `agent_id` | `str` (опционально) | Идентификатор подагента, присутствует, когда hooks срабатывает внутри подагента |

1998| `agent_type` | `str` (опционально) | Тип подагента, присутствует, когда hooks срабатывает внутри подагента |2235| `agent_type` | `str` (опционально) | Тип подагента, присутствует, когда hooks срабатывает внутри подагента |

1999 2236 

2000### `PostToolUseFailureHookInput`2237<h3 id="posttoolusefailurehookinput">

2238 `PostToolUseFailureHookInput`

2239</h3>

2001 2240 

2002Входные данные для событий hooks `PostToolUseFailure`. Вызывается, когда выполнение инструмента не удается.2241Входные данные для событий hooks `PostToolUseFailure`. Вызывается, когда выполнение инструмента не удается.

2003 2242 


2024| `agent_id` | `str` (опционально) | Идентификатор подагента, присутствует, когда hooks срабатывает внутри подагента |2263| `agent_id` | `str` (опционально) | Идентификатор подагента, присутствует, когда hooks срабатывает внутри подагента |

2025| `agent_type` | `str` (опционально) | Тип подагента, присутствует, когда hooks срабатывает внутри подагента |2264| `agent_type` | `str` (опционально) | Тип подагента, присутствует, когда hooks срабатывает внутри подагента |

2026 2265 

2027### `UserPromptSubmitHookInput`2266<h3 id="userpromptsubmithookinput">

2267 `UserPromptSubmitHookInput`

2268</h3>

2028 2269 

2029Входные данные для событий hooks `UserPromptSubmit`.2270Входные данные для событий hooks `UserPromptSubmit`.

2030 2271 


2039| `hook_event_name` | `Literal["UserPromptSubmit"]` | Всегда "UserPromptSubmit" |2280| `hook_event_name` | `Literal["UserPromptSubmit"]` | Всегда "UserPromptSubmit" |

2040| `prompt` | `str` | Отправленная пользователем подсказка |2281| `prompt` | `str` | Отправленная пользователем подсказка |

2041 2282 

2042### `StopHookInput`2283<h3 id="stophookinput">

2284 `StopHookInput`

2285</h3>

2043 2286 

2044Входные данные для событий hooks `Stop`.2287Входные данные для событий hooks `Stop`.

2045 2288 


2054| `hook_event_name` | `Literal["Stop"]` | Всегда "Stop" |2297| `hook_event_name` | `Literal["Stop"]` | Всегда "Stop" |

2055| `stop_hook_active` | `bool` | Активен ли hooks остановки |2298| `stop_hook_active` | `bool` | Активен ли hooks остановки |

2056 2299 

2057### `SubagentStopHookInput`2300<h3 id="subagentstophookinput">

2301 `SubagentStopHookInput`

2302</h3>

2058 2303 

2059Входные данные для событий hooks `SubagentStop`.2304Входные данные для событий hooks `SubagentStop`.

2060 2305 


2075| `agent_transcript_path` | `str` | Путь к файлу стенограммы подагента |2320| `agent_transcript_path` | `str` | Путь к файлу стенограммы подагента |

2076| `agent_type` | `str` | Тип подагента |2321| `agent_type` | `str` | Тип подагента |

2077 2322 

2078### `PreCompactHookInput`2323<h3 id="precompacthookinput">

2324 `PreCompactHookInput`

2325</h3>

2079 2326 

2080Входные данные для событий hooks `PreCompact`.2327Входные данные для событий hooks `PreCompact`.

2081 2328 


2092| `trigger` | `Literal["manual", "auto"]` | Что вызвало уплотнение |2339| `trigger` | `Literal["manual", "auto"]` | Что вызвало уплотнение |

2093| `custom_instructions` | `str \| None` | Пользовательские инструкции для уплотнения |2340| `custom_instructions` | `str \| None` | Пользовательские инструкции для уплотнения |

2094 2341 

2095### `NotificationHookInput`2342<h3 id="notificationhookinput">

2343 `NotificationHookInput`

2344</h3>

2096 2345 

2097Входные данные для событий hooks `Notification`.2346Входные данные для событий hooks `Notification`.

2098 2347 


2111| `title` | `str` (опционально) | Название уведомления |2360| `title` | `str` (опционально) | Название уведомления |

2112| `notification_type` | `str` | Тип уведомления |2361| `notification_type` | `str` | Тип уведомления |

2113 2362 

2114### `SubagentStartHookInput`2363<h3 id="subagentstarthookinput">

2364 `SubagentStartHookInput`

2365</h3>

2115 2366 

2116Входные данные для событий hooks `SubagentStart`.2367Входные данные для событий hooks `SubagentStart`.

2117 2368 


2128| `agent_id` | `str` | Уникальный идентификатор подагента |2379| `agent_id` | `str` | Уникальный идентификатор подагента |

2129| `agent_type` | `str` | Тип подагента |2380| `agent_type` | `str` | Тип подагента |

2130 2381 

2131### `PermissionRequestHookInput`2382<h3 id="permissionrequesthookinput">

2383 `PermissionRequestHookInput`

2384</h3>

2132 2385 

2133Входные данные для событий hooks `PermissionRequest`. Позволяет hooks программно обрабатывать решения разрешений.2386Входные данные для событий hooks `PermissionRequest`. Позволяет hooks программно обрабатывать решения разрешений.

2134 2387 


2147| `tool_input` | `dict[str, Any]` | Входные параметры для инструмента |2400| `tool_input` | `dict[str, Any]` | Входные параметры для инструмента |

2148| `permission_suggestions` | `list[Any]` (опционально) | Предложенные обновления разрешений из CLI |2401| `permission_suggestions` | `list[Any]` (опционально) | Предложенные обновления разрешений из CLI |

2149 2402 

2150### `HookJSONOutput`2403<h3 id="hookjsonoutput">

2404 `HookJSONOutput`

2405</h3>

2151 2406 

2152Тип объединения для возвращаемых значений обратного вызова hooks.2407Тип объединения для возвращаемых значений обратного вызова hooks.

2153 2408 


2155HookJSONOutput = AsyncHookJSONOutput | SyncHookJSONOutput2410HookJSONOutput = AsyncHookJSONOutput | SyncHookJSONOutput

2156```2411```

2157 2412 

2158#### `SyncHookJSONOutput`2413<h4 id="synchookjsonoutput">

2414 `SyncHookJSONOutput`

2415</h4>

2159 2416 

2160Синхронный вывод hooks с полями управления и решения.2417Синхронный вывод hooks с полями управления и решения.

2161 2418 


2179 Используйте `continue_` (с подчеркиванием) в коде Python. Он автоматически преобразуется в `continue` при отправке в CLI.2436 Используйте `continue_` (с подчеркиванием) в коде Python. Он автоматически преобразуется в `continue` при отправке в CLI.

2180</Note>2437</Note>

2181 2438 

2182#### `HookSpecificOutput`2439<h4 id="hookspecificoutput">

2440 `HookSpecificOutput`

2441</h4>

2183 2442 

2184`TypedDict`, содержащий имя события hooks и поля, специфичные для события. Форма зависит от значения `hookEventName`. Для полных деталей доступных полей для каждого события hooks см. [Control execution with hooks](/ru/agent-sdk/hooks#outputs).2443`TypedDict`, содержащий имя события hooks и поля, специфичные для события. Форма зависит от значения `hookEventName`. Для полных деталей доступных полей для каждого события hooks см. [Control execution with hooks](/ru/agent-sdk/hooks#outputs).

2185 2444 


2237)2496)

2238```2497```

2239 2498 

2240#### `AsyncHookJSONOutput`2499<h4 id="asynchookjsonoutput">

2500 `AsyncHookJSONOutput`

2501</h4>

2241 2502 

2242Асинхронный вывод hooks, который откладывает выполнение hooks.2503Асинхронный вывод hooks, который откладывает выполнение hooks.

2243 2504 


2251 Используйте `async_` (с подчеркиванием) в коде Python. Он автоматически преобразуется в `async` при отправке в CLI.2512 Используйте `async_` (с подчеркиванием) в коде Python. Он автоматически преобразуется в `async` при отправке в CLI.

2252</Note>2513</Note>

2253 2514 

2254### Пример использования hooks2515<h3 id="hook-usage-example">

2516 Пример использования hooks

2517</h3>

2255 2518 

2256Этот пример регистрирует два hooks: один, который блокирует опасные команды bash, такие как `rm -rf /`, и другой, который регистрирует все использование инструментов для аудита. Hooks безопасности работает только на командах Bash (через `matcher`), в то время как hooks логирования работает на всех инструментах.2519Этот пример регистрирует два hooks: один, который блокирует опасные команды bash, такие как `rm -rf /`, и другой, который регистрирует все использование инструментов для аудита. Hooks безопасности работает только на командах Bash (через `matcher`), в то время как hooks логирования работает на всех инструментах.

2257 2520 


2303 print(message)2566 print(message)

2304```2567```

2305 2568 

2306## Типы ввода/вывода инструментов2569<h2 id="tool-input/output-types">

2570 Типы ввода/вывода инструментов

2571</h2>

2307 2572 

2308Документация схем ввода/вывода для всех встроенных инструментов Claude Code. Хотя Python SDK не экспортирует их как типы, они представляют структуру входов и выходов инструментов в сообщениях.2573Документация схем ввода/вывода для всех встроенных инструментов Claude Code. Хотя Python SDK не экспортирует их как типы, они представляют структуру входов и выходов инструментов в сообщениях.

2309 2574 

2310### Agent2575<h3 id="agent">

2576 Agent

2577</h3>

2311 2578 

2312**Имя инструмента:** `Agent` (ранее `Task`, который все еще принимается как псевдоним)2579**Имя инструмента:** `Agent` (ранее `Task`, который все еще принимается как псевдоним)

2313 2580 


2332}2599}

2333```2600```

2334 2601 

2335### AskUserQuestion2602<h3 id="askuserquestion">

2603 AskUserQuestion

2604</h3>

2336 2605 

2337**Имя инструмента:** `AskUserQuestion`2606**Имя инструмента:** `AskUserQuestion`

2338 2607 


2378}2647}

2379```2648```

2380 2649 

2381### Bash2650<h3 id="bash">

2651 Bash

2652</h3>

2382 2653 

2383**Имя инструмента:** `Bash`2654**Имя инструмента:** `Bash`

2384 2655 


2404}2675}

2405```2676```

2406 2677 

2407### Monitor2678<h3 id="monitor">

2679 Monitor

2680</h3>

2408 2681 

2409**Имя инструмента:** `Monitor`2682**Имя инструмента:** `Monitor`

2410 2683 


2431}2704}

2432```2705```

2433 2706 

2434### Edit2707<h3 id="edit">

2708 Edit

2709</h3>

2435 2710 

2436**Имя инструмента:** `Edit`2711**Имя инструмента:** `Edit`

2437 2712 


2456}2731}

2457```2732```

2458 2733 

2459### Read2734<h3 id="read">

2735 Read

2736</h3>

2460 2737 

2461**Имя инструмента:** `Read`2738**Имя инструмента:** `Read`

2462 2739 


2490}2767}

2491```2768```

2492 2769 

2493### Write2770<h3 id="write">

2771 Write

2772</h3>

2494 2773 

2495**Имя инструмента:** `Write`2774**Имя инструмента:** `Write`

2496 2775 


2513}2792}

2514```2793```

2515 2794 

2516### Glob2795<h3 id="glob">

2796 Glob

2797</h3>

2517 2798 

2518**Имя инструмента:** `Glob`2799**Имя инструмента:** `Glob`

2519 2800 


2536}2817}

2537```2818```

2538 2819 

2539### Grep2820<h3 id="grep">

2821 Grep

2822</h3>

2540 2823 

2541**Имя инструмента:** `Grep`2824**Имя инструмента:** `Grep`

2542 2825 


2585}2868}

2586```2869```

2587 2870 

2588### NotebookEdit2871<h3 id="notebookedit">

2872 NotebookEdit

2873</h3>

2589 2874 

2590**Имя инструмента:** `NotebookEdit`2875**Имя инструмента:** `NotebookEdit`

2591 2876 


2612}2897}

2613```2898```

2614 2899 

2615### WebFetch2900<h3 id="webfetch">

2901 WebFetch

2902</h3>

2616 2903 

2617**Имя инструмента:** `WebFetch`2904**Имя инструмента:** `WebFetch`

2618 2905 


2638}2925}

2639```2926```

2640 2927 

2641### WebSearch2928<h3 id="websearch">

2929 WebSearch

2930</h3>

2642 2931 

2643**Имя инструмента:** `WebSearch`2932**Имя инструмента:** `WebSearch`

2644 2933 


2662}2951}

2663```2952```

2664 2953 

2665### TodoWrite2954<h3 id="todowrite">

2955 TodoWrite

2956</h3>

2666 2957 

2667**Имя инструмента:** `TodoWrite`2958**Имя инструмента:** `TodoWrite`

2668 2959 


2693}2984}

2694```2985```

2695 2986 

2696### TaskCreate2987<h3 id="taskcreate">

2988 TaskCreate

2989</h3>

2697 2990 

2698**Имя инструмента:** `TaskCreate`2991**Имя инструмента:** `TaskCreate`

2699 2992 


2716}3009}

2717```3010```

2718 3011 

2719### TaskUpdate3012<h3 id="taskupdate">

3013 TaskUpdate

3014</h3>

2720 3015 

2721**Имя инструмента:** `TaskUpdate`3016**Имя инструмента:** `TaskUpdate`

2722 3017 


2748}3043}

2749```3044```

2750 3045 

2751### TaskGet3046<h3 id="taskget">

3047 TaskGet

3048</h3>

2752 3049 

2753**Имя инструмента:** `TaskGet`3050**Имя инструмента:** `TaskGet`

2754 3051 


2775}3072}

2776```3073```

2777 3074 

2778### TaskList3075<h3 id="tasklist">

3076 TaskList

3077</h3>

2779 3078 

2780**Имя инструмента:** `TaskList`3079**Имя инструмента:** `TaskList`

2781 3080 


2801}3100}

2802```3101```

2803 3102 

2804### BashOutput3103<h3 id="bashoutput">

3104 BashOutput

3105</h3>

2805 3106 

2806**Имя инструмента:** `BashOutput`3107**Имя инструмента:** `BashOutput`

2807 3108 


2824}3125}

2825```3126```

2826 3127 

2827### KillBash3128<h3 id="killbash">

3129 KillBash

3130</h3>

2828 3131 

2829**Имя инструмента:** `KillBash`3132**Имя инструмента:** `KillBash`

2830 3133 


2845}3148}

2846```3149```

2847 3150 

2848### ExitPlanMode3151<h3 id="exitplanmode">

3152 ExitPlanMode

3153</h3>

2849 3154 

2850**Имя инструмента:** `ExitPlanMode`3155**Имя инструмента:** `ExitPlanMode`

2851 3156 


2866}3171}

2867```3172```

2868 3173 

2869### ListMcpResources3174<h3 id="listmcpresources">

3175 ListMcpResources

3176</h3>

2870 3177 

2871**Имя инструмента:** `ListMcpResourcesTool`3178**Имя инструмента:** `ListMcpResourcesTool`

2872 3179 


2895}3202}

2896```3203```

2897 3204 

2898### ReadMcpResource3205<h3 id="readmcpresource">

3206 ReadMcpResource

3207</h3>

2899 3208 

2900**Имя инструмента:** `ReadMcpResourceTool`3209**Имя инструмента:** `ReadMcpResourceTool`

2901 3210 


2919}3228}

2920```3229```

2921 3230 

2922## Расширенные функции с ClaudeSDKClient3231<h2 id="advanced-features-with-claudesdkclient">

3232 Расширенные функции с ClaudeSDKClient

3233</h2>

2923 3234 

2924### Построение интерфейса непрерывного разговора3235<h3 id="building-a-continuous-conversation-interface">

3236 Построение интерфейса непрерывного разговора

3237</h3>

2925 3238 

2926```python theme={null}3239```python theme={null}

2927from claude_agent_sdk import (3240from claude_agent_sdk import (


3000asyncio.run(main())3313asyncio.run(main())

3001```3314```

3002 3315 

3003### Использование hooks для модификации поведения3316<h3 id="using-hooks-for-behavior-modification">

3317 Использование hooks для модификации поведения

3318</h3>

3004 3319 

3005```python theme={null}3320```python theme={null}

3006from claude_agent_sdk import (3321from claude_agent_sdk import (


3084asyncio.run(main())3399asyncio.run(main())

3085```3400```

3086 3401 

3087### Мониторинг прогресса в реальном времени3402<h3 id="real-time-progress-monitoring">

3403 Мониторинг прогресса в реальном времени

3404</h3>

3088 3405 

3089```python theme={null}3406```python theme={null}

3090from claude_agent_sdk import (3407from claude_agent_sdk import (


3125asyncio.run(monitor_progress())3442asyncio.run(monitor_progress())

3126```3443```

3127 3444 

3128## Пример использования3445<h2 id="example-usage">

3446 Пример использования

3447</h2>

3129 3448 

3130### Базовые операции с файлами (используя query)3449<h3 id="basic-file-operations-using-query">

3450 Базовые операции с файлами (используя query)

3451</h3>

3131 3452 

3132```python theme={null}3453```python theme={null}

3133from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ToolUseBlock3454from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ToolUseBlock


3153asyncio.run(create_project())3474asyncio.run(create_project())

3154```3475```

3155 3476 

3156### Обработка ошибок3477<h3 id="error-handling">

3478 Обработка ошибок

3479</h3>

3157 3480 

3158```python theme={null}3481```python theme={null}

3159from claude_agent_sdk import query, CLINotFoundError, ProcessError, CLIJSONDecodeError3482from claude_agent_sdk import query, CLINotFoundError, ProcessError, CLIJSONDecodeError


3171 print(f"Failed to parse response: {e}")3494 print(f"Failed to parse response: {e}")

3172```3495```

3173 3496 

3174### Режим потоковой передачи с клиентом3497<h3 id="streaming-mode-with-client">

3498 Режим потоковой передачи с клиентом

3499</h3>

3175 3500 

3176```python theme={null}3501```python theme={null}

3177from claude_agent_sdk import ClaudeSDKClient3502from claude_agent_sdk import ClaudeSDKClient


3198asyncio.run(interactive_session())3523asyncio.run(interactive_session())

3199```3524```

3200 3525 

3201### Использование пользовательских инструментов с ClaudeSDKClient3526<h3 id="using-custom-tools-with-claudesdkclient">

3527 Использование пользовательских инструментов с ClaudeSDKClient

3528</h3>

3202 3529 

3203```python theme={null}3530```python theme={null}

3204from claude_agent_sdk import (3531from claude_agent_sdk import (


3270asyncio.run(main())3597asyncio.run(main())

3271```3598```

3272 3599 

3273## Конфигурация sandbox3600<h2 id="sandbox-configuration">

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

3602</h2>

3274 3603 

3275### `SandboxSettings`3604<h3 id="sandboxsettings">

3605 `SandboxSettings`

3606</h3>

3276 3607 

3277Конфигурация для поведения sandbox. Используйте это для включения sandboxing команд и программной настройки ограничений сети.3608Конфигурация для поведения sandbox. Используйте это для включения sandboxing команд и программной настройки ограничений сети.

3278 3609 


3303 Установите `"failIfUnavailable": True` в параметрах sandbox, чтобы остановиться вместо этого. Ключ еще не объявлен на `SandboxSettings`, но SDK передает его в Claude Code, который его соблюдает. `query()` затем сообщает `ResultMessage` с `subtype="error_during_execution"` и причину в `errors`. Следите за этим подтипом, а не ожидайте, что `query()` вызовет исключение перед выдачей сообщений.3634 Установите `"failIfUnavailable": True` в параметрах sandbox, чтобы остановиться вместо этого. Ключ еще не объявлен на `SandboxSettings`, но SDK передает его в Claude Code, который его соблюдает. `query()` затем сообщает `ResultMessage` с `subtype="error_during_execution"` и причину в `errors`. Следите за этим подтипом, а не ожидайте, что `query()` вызовет исключение перед выдачей сообщений.

3304</Note>3635</Note>

3305 3636 

3306#### Пример использования3637<h4 id="example-usage-1">

3638 Пример использования

3639</h4>

3307 3640 

3308```python theme={null}3641```python theme={null}

3309from claude_agent_sdk import query, ClaudeAgentOptions, SandboxSettings3642from claude_agent_sdk import query, ClaudeAgentOptions, SandboxSettings


3325 **Безопасность Unix socket**: Опция `allowUnixSockets` может предоставить доступ к мощным системным сервисам. Например, разрешение `/var/run/docker.sock` фактически предоставляет полный доступ к хост-системе через Docker API, обходя изоляцию sandbox. Разрешайте только Unix sockets, которые строго необходимы, и поймите последствия безопасности каждого.3658 **Безопасность Unix socket**: Опция `allowUnixSockets` может предоставить доступ к мощным системным сервисам. Например, разрешение `/var/run/docker.sock` фактически предоставляет полный доступ к хост-системе через Docker API, обходя изоляцию sandbox. Разрешайте только Unix sockets, которые строго необходимы, и поймите последствия безопасности каждого.

3326</Warning>3659</Warning>

3327 3660 

3328### `SandboxNetworkConfig`3661<h3 id="sandboxnetworkconfig">

3662 `SandboxNetworkConfig`

3663</h3>

3329 3664 

3330Конфигурация, специфичная для сети, для режима sandbox. Эти параметры применяются к sandboxed Bash командам, когда `enabled` имеет значение `True` в родительском [`SandboxSettings`](#sandboxsettings). Они не ограничивают инструмент WebFetch, который вместо этого использует [правила разрешений](/ru/permissions#webfetch).3665Конфигурация, специфичная для сети, для режима sandbox. Эти параметры применяются к sandboxed Bash командам, когда `enabled` имеет значение `True` в родительском [`SandboxSettings`](#sandboxsettings). Они не ограничивают инструмент WebFetch, который вместо этого использует [правила разрешений](/ru/permissions#webfetch).

3331 3666 


3358 Встроенный прокси sandbox обеспечивает соблюдение списка разрешенных сетей на основе запрашиваемого имени хоста и не завершает и не проверяет трафик TLS, поэтому такие методы, как [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting), потенциально могут его обойти. Подробнее см. в разделе [Ограничения безопасности Sandboxing](/ru/sandboxing#security-limitations) и [Безопасное развертывание](/ru/agent-sdk/secure-deployment#traffic-forwarding) для настройки прокси, завершающего TLS.3693 Встроенный прокси sandbox обеспечивает соблюдение списка разрешенных сетей на основе запрашиваемого имени хоста и не завершает и не проверяет трафик TLS, поэтому такие методы, как [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting), потенциально могут его обойти. Подробнее см. в разделе [Ограничения безопасности Sandboxing](/ru/sandboxing#security-limitations) и [Безопасное развертывание](/ru/agent-sdk/secure-deployment#traffic-forwarding) для настройки прокси, завершающего TLS.

3359</Note>3694</Note>

3360 3695 

3361### `SandboxIgnoreViolations`3696<h3 id="sandboxignoreviolations">

3697 `SandboxIgnoreViolations`

3698</h3>

3362 3699 

3363Конфигурация для игнорирования определенных нарушений sandbox.3700Конфигурация для игнорирования определенных нарушений sandbox.

3364 3701 


3373| `file` | `list[str]` | `[]` | Шаблоны путей файлов для игнорирования нарушений |3710| `file` | `list[str]` | `[]` | Шаблоны путей файлов для игнорирования нарушений |

3374| `network` | `list[str]` | `[]` | Шаблоны сети для игнорирования нарушений |3711| `network` | `list[str]` | `[]` | Шаблоны сети для игнорирования нарушений |

3375 3712 

3376### Fallback разрешений для команд без sandbox3713<h3 id="permissions-fallback-for-unsandboxed-commands">

3714 Fallback разрешений для команд без sandbox

3715</h3>

3377 3716 

3378Когда `allowUnsandboxedCommands` включен, модель может запросить выполнение команд вне sandbox, установив `dangerouslyDisableSandbox: True` во входе инструмента. Эти запросы переходят к существующей системе разрешений, что означает, что ваш обработчик `can_use_tool` будет вызван, позволяя вам реализовать пользовательскую логику авторизации.3717Когда `allowUnsandboxedCommands` включен, модель может запросить выполнение команд вне sandbox, установив `dangerouslyDisableSandbox: True` во входе инструмента. Эти запросы переходят к существующей системе разрешений, что означает, что ваш обработчик `can_use_tool` будет вызван, позволяя вам реализовать пользовательскую логику авторизации.

3379 3718 


3448<Warning>3787<Warning>

3449 Команды, работающие с `dangerouslyDisableSandbox: True`, имеют полный доступ к системе. Убедитесь, что ваш обработчик `can_use_tool` тщательно проверяет эти запросы.3788 Команды, работающие с `dangerouslyDisableSandbox: True`, имеют полный доступ к системе. Убедитесь, что ваш обработчик `can_use_tool` тщательно проверяет эти запросы.

3450 3789 

3451 Если `permission_mode` установлен на `bypassPermissions` и `allow_unsandboxed_commands` включен, модель может автономно выполнять команды вне sandbox без каких-либо подсказок одобрения. Эта комбинация фактически позволяет модели молча выходить из изоляции sandbox.3790 Если `permission_mode` установлен на `bypassPermissions` и `allow_unsandboxed_commands` включен, модель может автономно выполнять команды вне sandbox без каких-либо подсказок одобрения (явное [`ask` правило](/ru/agent-sdk/permissions#how-permissions-are-evaluated) все еще требует одного). Эта комбинация фактически позволяет модели молча выходить из изоляции sandbox.

3452</Warning>3791</Warning>

3453 3792 

3454## См. также3793<h2 id="see-also">

3794 См. также

3795</h2>

3455 3796 

3456* [SDK overview](/ru/agent-sdk/overview) - Общие концепции SDK3797* [SDK overview](/ru/agent-sdk/overview) - Общие концепции SDK

3457* [TypeScript SDK reference](/ru/agent-sdk/typescript) - Документация TypeScript SDK3798* [TypeScript SDK reference](/ru/agent-sdk/typescript) - Документация TypeScript SDK

Details

340**Режимы разрешений** контролируют, сколько человеческого надзора вы хотите:340**Режимы разрешений** контролируют, сколько человеческого надзора вы хотите:

341 341 

342| Режим | Поведение | Вариант использования |342| Режим | Поведение | Вариант использования |

343| -------------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |343| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |

344| `acceptEdits` | Автоматически одобряет редактирование файлов и общие команды файловой системы, запрашивает другие действия | Надёжные рабочие процессы разработки |344| `acceptEdits` | Автоматически одобряет редактирование файлов и общие команды файловой системы, запрашивает другие действия | Надёжные рабочие процессы разработки |

345| `dontAsk` | Отклоняет всё, что не в `allowedTools` | Заблокированные автономные агенты |345| `dontAsk` | Отклоняет всё, что не в `allowedTools` | Заблокированные автономные агенты |

346| `auto` (только TypeScript) | Классификатор модели одобряет или отклоняет каждый вызов инструмента | Автономные агенты с защитой безопасности |346| `auto` (только TypeScript) | Классификатор модели одобряет или отклоняет каждый вызов инструмента | Автономные агенты с защитой безопасности |

347| `bypassPermissions` | Запускает каждый инструмент без подсказок | Изолированный CI, полностью доверенные окружения |347| `bypassPermissions` | Запускает каждый инструмент без подсказок, если явное правило [`ask`](/ru/agent-sdk/permissions#how-permissions-are-evaluated) не совпадает | Изолированный CI, полностью доверенные окружения |

348| `default` | Требует обратного вызова `canUseTool` для обработки одобрения | Пользовательские потоки одобрения |348| `default` | Требует обратного вызова `canUseTool` для обработки одобрения | Пользовательские потоки одобрения |

349 349 

350Приведённый выше пример использует режим `acceptEdits`, который автоматически одобряет файловые операции, чтобы агент мог работать без интерактивных подсказок. Если вы хотите запрашивать у пользователей одобрение, используйте режим `default` и предоставьте обратный вызов [`canUseTool`](/ru/agent-sdk/user-input), который собирает пользовательский ввод. Для большего контроля см. [Разрешения](/ru/agent-sdk/permissions).350Приведённый выше пример использует режим `acceptEdits`, который автоматически одобряет файловые операции, чтобы агент мог работать без интерактивных подсказок. Если вы хотите запрашивать у пользователей одобрение, используйте режим `default` и предоставьте обратный вызов [`canUseTool`](/ru/agent-sdk/user-input), который собирает пользовательский ввод. Для большего контроля см. [Разрешения](/ru/agent-sdk/permissions).

Details

18 Модель угроз18 Модель угроз

19</h2>19</h2>

20 20 

21Агенты могут предпринимать непредусмотренные действия из-за prompt injection (инструкции, встроенные в содержимое, которое они обрабатывают) или ошибки модели. Модели Claude разработаны для сопротивления этому; см. [обзор модели](https://platform.claude.com/docs/en/about-claude/models/overview) и карту системы для модели, которую вы развертываете, для получения деталей оценки.21Агенты могут предпринимать непредусмотренные действия из-за prompt injection (инструкции, встроенные в содержимое, которое они обрабатывают) или ошибки модели. Модели Claude разработаны для сопротивления этому; см. [обзор модели](https://platform.claude.com/docs/ru/about-claude/models/overview) и карту системы для модели, которую вы развертываете, для получения деталей оценки.

22 22 

23Защита в глубину все еще является хорошей практикой. Например, если агент обрабатывает вредоносный файл, который инструктирует его отправить данные клиентов на внешний сервер, сетевые элементы управления могут полностью заблокировать этот запрос.23Защита в глубину все еще является хорошей практикой. Например, если агент обрабатывает вредоносный файл, который инструктирует его отправить данные клиентов на внешний сервер, сетевые элементы управления могут полностью заблокировать этот запрос.

24 24 

Details

150 ```150 ```

151</CodeGroup>151</CodeGroup>

152 152 

153Второй запрос выводит сводку файлов из первого запроса, что показывает, что агент возобновил работу с полным контекстом из хранилища.

154 

153<h2 id="write-your-own-adapter">155<h2 id="write-your-own-adapter">

154 Напишите собственный адаптер156 Напишите собственный адаптер

155</h2>157</h2>

Details

230 ```230 ```

231 231 

232 ```typescript TypeScript theme={null}232 ```typescript TypeScript theme={null}

233 import { query } from "@anthropic-ai/claude-agent-sdk";

234 

235 const sessionId = "..."; // The ID you captured in the previous example

236 

233 // Earlier session analyzed the code; now build on that analysis237 // Earlier session analyzed the code; now build on that analysis

234 for await (const message of query({238 for await (const message of query({

235 prompt: "Now implement the refactoring you suggested",239 prompt: "Now implement the refactoring you suggested",


245 ```249 ```

246</CodeGroup>250</CodeGroup>

247 251 

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

253 

248<Tip>254<Tip>

249 Если вызов `resume` возвращает свежий сеанс вместо ожидаемой истории, наиболее распространённая причина — несовпадающий `cwd`. Сеансы хранятся под `~/.claude/projects/<encoded-cwd>/*.jsonl`, где `<encoded-cwd>` — это абсолютный рабочий каталог со всеми буквенно-цифровыми символами, заменённые на `-` (так `/Users/me/proj` становится `-Users-me-proj`). Если ваш вызов resume запускается из другого каталога, SDK ищет в неправильном месте. Файл сеанса также должен существовать на текущей машине.255 Если вызов `resume` возвращает свежий сеанс вместо ожидаемой истории, наиболее распространённая причина — несовпадающий `cwd`. Сеансы хранятся под `~/.claude/projects/<encoded-cwd>/*.jsonl`, или под `$CLAUDE_CONFIG_DIR/projects/<encoded-cwd>/*.jsonl`, если вы установили переменную окружения `CLAUDE_CONFIG_DIR`, где `<encoded-cwd>` — это абсолютный рабочий каталог со всеми буквенно-цифровыми символами, заменённые на `-` (так `/Users/me/proj` становится `-Users-me-proj`). Если ваш вызов resume запускается из другого каталога, SDK ищет в неправильном месте. Файл сеанса также должен существовать на текущей машине.

250</Tip>256</Tip>

251 257 

252Чтобы возобновить сеансы на разных машинах или в бессерверных окружениях, зеркалируйте стенограммы в общее хранилище с адаптером [`SessionStore`](/ru/agent-sdk/session-storage).258Чтобы возобновить сеансы на разных машинах или в бессерверных окружениях, зеркалируйте стенограммы в общее хранилище с адаптером [`SessionStore`](/ru/agent-sdk/session-storage).


268 # Fork: branch from session_id into a new session274 # Fork: branch from session_id into a new session

269 forked_id = None275 forked_id = None

270 async for message in query(276 async for message in query(

271 prompt="Instead of JWT, implement OAuth2 for the auth module",277 prompt="Instead of JWT, outline how OAuth2 would work for the auth module",

272 options=ClaudeAgentOptions(278 options=ClaudeAgentOptions(

273 resume=session_id,279 resume=session_id,

274 fork_session=True,280 fork_session=True,

281 max_turns=5,

275 ),282 ),

276 ):283 ):

277 if isinstance(message, ResultMessage):284 if isinstance(message, ResultMessage):


291 ```298 ```

292 299 

293 ```typescript TypeScript theme={null}300 ```typescript TypeScript theme={null}

301 import { query } from "@anthropic-ai/claude-agent-sdk";

302 

303 const sessionId = "..."; // The ID you captured in the previous example

304 

294 // Fork: branch from sessionId into a new session305 // Fork: branch from sessionId into a new session

295 let forkedId: string | undefined;306 let forkedId: string | undefined;

296 307 

297 for await (const message of query({308 for await (const message of query({

298 prompt: "Instead of JWT, implement OAuth2 for the auth module",309 prompt: "Instead of JWT, outline how OAuth2 would work for the auth module",

299 options: {310 options: {

300 resume: sessionId,311 resume: sessionId,

301 forkSession: true312 forkSession: true,

313 maxTurns: 5

302 }314 }

303 })) {315 })) {

304 if (message.type === "system" && message.subtype === "init") {316 if (message.type === "system" && message.subtype === "init") {


323 ```335 ```

324</CodeGroup>336</CodeGroup>

325 337 

338Вы должны увидеть, что `forkedId` отличается от оригинального ID сеанса. Возобновление оригинального сеанса по-прежнему продолжает поток JWT, что подтверждает, что разветвление не изменило оригинальную историю.

339 

326<h2 id="resume-across-hosts">340<h2 id="resume-across-hosts">

327 Возобновите на разных хостах341 Возобновите на разных хостах

328</h2>342</h2>

Details

12 12 

13Agent Skills расширяют Claude специализированными возможностями, которые Claude автономно вызывает при необходимости. Skills упаковываются в виде файлов `SKILL.md`, содержащих инструкции, описания и дополнительные вспомогательные ресурсы.13Agent Skills расширяют Claude специализированными возможностями, которые Claude автономно вызывает при необходимости. Skills упаковываются в виде файлов `SKILL.md`, содержащих инструкции, описания и дополнительные вспомогательные ресурсы.

14 14 

15Для получения полной информации о Skills, включая преимущества, архитектуру и рекомендации по разработке, см. [обзор Agent Skills](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview).15Для получения полной информации о Skills, включая преимущества, архитектуру и рекомендации по разработке, см. [обзор Agent Skills](https://platform.claude.com/docs/ru/agents-and-tools/agent-skills/overview).

16 16 

17<h2 id="how-skills-work-with-the-sdk">17<h2 id="how-skills-work-with-the-sdk">

18 Как Skills работают с SDK18 Как Skills работают с SDK

Details

101 parent_tool_use_id: string | null;101 parent_tool_use_id: string | null;

102 uuid: UUID;102 uuid: UUID;

103 session_id: string;103 session_id: string;

104 ttft_ms?: number; // Time to first token in ms, present only on message_start events

104 };105 };

105 ```106 ```

106</CodeGroup>107</CodeGroup>

Details

218 ```218 ```

219</CodeGroup>219</CodeGroup>

220 220 

221<Note>

222 В TypeScript SDK, если ваш генератор сообщений выбросит исключение, например, когда файл, который он читает, отсутствует, поток завершится с ошибкой, которая гласит `Claude Code process aborted by user` вместо исходной ошибки, поэтому сначала проверьте код внутри вашего генератора, когда вы видите это сообщение. Ошибке также может предшествовать длинная минифицированная строка объединённого исходного кода SDK, поэтому прочитайте до конца вывода, чтобы найти текст ошибки.

223 

224 В Python SDK исключение генератора регистрируется на уровне отладки, и сессия зависает без выброса исключения, поэтому если сессия streaming зависает без вывода, включите логирование отладки и проверьте ваш генератор.

225</Note>

226 

221<h2 id="single-message-input">227<h2 id="single-message-input">

222 Ввод одного сообщения228 Ввод одного сообщения

223</h2>229</h2>


247 * Естественные многоходовые разговоры253 * Естественные многоходовые разговоры

248</Warning>254</Warning>

249 255 

250<h3 id="implementation-example">256Если запрос заканчивается результатом ошибки, например `error_max_turns`, один вызов `query()` вызывает ошибку, которая включает текст сбоя после выдачи финального сообщения результата, поэтому оберните цикл в блок try, если вашему коду нужно продолжить работу. См. [Обработка результата](/ru/agent-sdk/agent-loop#handle-the-result) для подтипов результатов.

257 

258<h3 id="implementation-example-1">

251 Пример реализации259 Пример реализации

252</h3>260</h3>

253 261 

Details

98 import asyncio98 import asyncio

99 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage99 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

100 100 

101 # Определите форму данных, которые вы хотите получить101 // Определите форму данных, которые вы хотите получить

102 schema = {102 schema = {

103 "type": "object",103 "type": "object",

104 "properties": {104 "properties": {


117 output_format={"type": "json_schema", "schema": schema}117 output_format={"type": "json_schema", "schema": schema}

118 ),118 ),

119 ):119 ):

120 # Сообщение результата содержит structured_output с валидированными данными120 // Сообщение результата содержит structured_output с валидированными данными

121 if isinstance(message, ResultMessage) and message.structured_output:121 if isinstance(message, ResultMessage) and message.structured_output:

122 print(message.structured_output)122 print(message.structured_output)

123 # {'company_name': 'Anthropic', 'founded_year': 2021, 'headquarters': 'San Francisco, CA'}123 // {'company_name': 'Anthropic', 'founded_year': 2021, 'headquarters': 'San Francisco, CA'}

124 124 

125 125 

126 asyncio.run(main())126 asyncio.run(main())


245* `type`: Установите на `"json_schema"` для структурированных выводов245* `type`: Установите на `"json_schema"` для структурированных выводов

246* `schema`: Объект [JSON Schema](https://json-schema.org/understanding-json-schema/about), определяющий структуру вашего вывода. Вы можете сгенерировать это из схемы Zod с `z.toJSONSchema()` или модели Pydantic с `.model_json_schema()`246* `schema`: Объект [JSON Schema](https://json-schema.org/understanding-json-schema/about), определяющий структуру вашего вывода. Вы можете сгенерировать это из схемы Zod с `z.toJSONSchema()` или модели Pydantic с `.model_json_schema()`

247 247 

248SDK поддерживает стандартные функции JSON Schema, включая все базовые типы (object, array, string, number, boolean, null), `enum`, `const`, `required`, вложенные объекты и определения `$ref`. Для полного списка поддерживаемых функций и ограничений см. [Ограничения JSON Schema](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#json-schema-limitations).248SDK поддерживает стандартные функции JSON Schema, включая все базовые типы (object, array, string, number, boolean, null), `enum`, `const`, `required`, вложенные объекты и определения `$ref`. Для полного списка поддерживаемых функций и ограничений см. [Ограничения JSON Schema](https://platform.claude.com/docs/ru/build-with-claude/structured-outputs#json-schema-limitations).

249 249 

250<h2 id="example-todo-tracking-agent">250<h2 id="example-todo-tracking-agent">

251 Пример: агент отслеживания TODO251 Пример: агент отслеживания TODO


358 Обработка ошибок358 Обработка ошибок

359</h2>359</h2>

360 360 

361Генерация структурированного вывода может не удаться, когда агент не может создать валидный JSON, соответствующий вашей схеме. Это обычно происходит, когда схема слишком сложна для задачи, сама задача неоднозначна или агент достигает лимита повторных попыток при попытке исправить ошибки валидации.361Генерация структурированного вывода может не удаться, когда агент не может создать валидный JSON, соответствующий вашей схеме. Это обычно происходит, когда схема слишком сложна для задачи, сама задача неоднозначна или агент достигает лимита повторных попыток при попытке исправить ошибки валидации. Это также может произойти без каких-либо ошибок валидации: [откат модели](/ru/model-config#automatic-model-fallback) может отменить уже завершённый вывод в середине потока, и если никакая повторная попытка его не заменит, выполнение завершится с той же ошибкой. Проверьте поле `errors` в сообщении результата, чтобы различить две причины перед отладкой вашей схемы.

362 362 

363Когда происходит ошибка, сообщение результата имеет `subtype`, указывающий, что пошло не так:363Когда происходит ошибка, сообщение результата имеет `subtype`, указывающий, что пошло не так:

364 364 

365| Subtype | Значение |365| Subtype | Значение |

366| ------------------------------------- | ------------------------------------------------------------- |366| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |

367| `success` | Вывод был успешно сгенерирован и валидирован |367| `success` | Вывод был успешно сгенерирован и валидирован |

368| `error_max_structured_output_retries` | Агент не смог создать валидный вывод после нескольких попыток |368| `error_max_structured_output_retries` | Ни один валидный вывод не пережил несколько попыток (ошибки валидации или откат модели без успешной повторной попытки) |

369 369 

370Пример ниже проверяет поле `subtype`, чтобы определить, был ли вывод успешно сгенерирован или вам нужно справиться с ошибкой:370Пример ниже проверяет поле `subtype`, чтобы определить, был ли вывод успешно сгенерирован или вам нужно справиться с ошибкой:

371 371 

Details

41 Параллелизация41 Параллелизация

42</h3>42</h3>

43 43 

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

45 45 

46**Пример:** во время проверки кода вы можете одновременно запустить подагентов `style-checker`, `security-scanner` и `test-coverage`, сократив время проверки с минут до секунд.46**Пример:** во время проверки кода вы можете одновременно запустить подагентов `style-checker`, `security-scanner` и `test-coverage` вместо последовательного запуска.

47 47 

48<h3 id="specialized-instructions-and-knowledge">48<h3 id="specialized-instructions-and-knowledge">

49 Специализированные инструкции и знания49 Специализированные инструкции и знания


178</h3>178</h3>

179 179 

180| Поле | Тип | Обязательно | Описание |180| Поле | Тип | Обязательно | Описание |

181| :---------------- | :---------------------------------------------------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |181| :---------------- | :---------------------------------------------------------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

182| `description` | `string` | Да | Описание на естественном языке того, когда использовать этого агента |182| `description` | `string` | Да | Описание на естественном языке того, когда использовать этого агента |

183| `prompt` | `string` | Да | Системный промпт агента, определяющий его роль и поведение |183| `prompt` | `string` | Да | Системный промпт агента, определяющий его роль и поведение |

184| `tools` | `string[]` | Нет | Массив разрешенных имен инструментов. Если опущено, наследует все инструменты |184| `tools` | `string[]` | Нет | Массив разрешенных имен инструментов. Если опущено, наследует все инструменты |

185| `disallowedTools` | `string[]` | Нет | Массив имен инструментов для удаления из набора инструментов агента |185| `disallowedTools` | `string[]` | Нет | Массив имен инструментов для удаления из набора инструментов агента. Также принимаются шаблоны уровня MCP сервера: `mcp__server` или `mcp__server__*` удаляет каждый инструмент с этого сервера, а `mcp__*` удаляет каждый инструмент MCP с любого сервера |

186| `model` | `string` | Нет | Переопределение модели для этого агента. Принимает псевдоним, такой как `'sonnet'`, `'opus'`, `'haiku'`, `'inherit'`, или полный ID модели. По умолчанию используется основная модель, если опущено |186| `model` | `string` | Нет | Переопределение модели для этого агента. Принимает псевдоним, такой как `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, или полный ID модели. По умолчанию используется основная модель, если опущено |

187| `skills` | `string[]` | Нет | Список имен skills для предварительной загрузки в контекст агента при запуске. Неперечисленные skills остаются вызываемыми через инструмент Skill |187| `skills` | `string[]` | Нет | Список имен skills для предварительной загрузки в контекст агента при запуске. Неперечисленные skills остаются вызываемыми через инструмент Skill |

188| `memory` | `'user' \| 'project' \| 'local'` | Нет | Источник памяти для этого агента |188| `memory` | `'user' \| 'project' \| 'local'` | Нет | Источник памяти для этого агента |

189| `mcpServers` | `(string \| object)[]` | Нет | MCP серверы, доступные этому агенту, по имени или встроенной конфигурации |189| `mcpServers` | `(string \| object)[]` | Нет | MCP серверы, доступные этому агенту, по имени или встроенной конфигурации |

190| `initialPrompt` | `string` | Нет | Автоматически отправляется как первый ход пользователя, когда этот агент работает как основной потоковый агент. Игнорируется, когда агент вызывается как подагент |

190| `maxTurns` | `number` | Нет | Максимальное количество ходов агента перед остановкой |191| `maxTurns` | `number` | Нет | Максимальное количество ходов агента перед остановкой |

191| `background` | `boolean` | Нет | Запустить этого агента как неблокирующую фоновую задачу при вызове |192| `background` | `boolean` | Нет | Запустить этого агента как неблокирующую фоновую задачу при вызове |

192| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Нет | Уровень усилий рассуждения для этого агента |193| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Нет | Уровень усилий рассуждения для этого агента |


195В Python SDK эти имена полей используют camelCase для соответствия формату передачи. Подробности см. в [справочнике `AgentDefinition`](/ru/agent-sdk/python#agentdefinition).196В Python SDK эти имена полей используют camelCase для соответствия формату передачи. Подробности см. в [справочнике `AgentDefinition`](/ru/agent-sdk/python#agentdefinition).

196 197 

197<Note>198<Note>

198 Подагенты не могут создавать своих собственных подагентов. Не включайте `Agent` в массив `tools` подагента.199 {/* min-version: 2.1.172 */}Начиная с Claude Code v2.1.172, подагенты могут создавать своих собственных подагентов. Фоновый подагент на пять уровней ниже основного агента не может создавать дополнительных подагентов; основные подагенты могут создавать на любой глубине. Чтобы предотвратить создание подагентом других подагентов, опустите `Agent` из его массива `tools` или добавьте его в `disallowedTools`. Полные правила глубины см. в разделе [вложенные подагенты](/ru/sub-agents#spawn-nested-subagents).

199</Note>200</Note>

200 201 

201<h3 id="filesystem-based-definition-alternative">202<h3 id="filesystem-based-definition-alternative">


215Окно контекста подагента начинается свежим (без истории родительской беседы), но не пусто. Единственный канал от родителя к подагенту — это строка промпта инструмента Agent, поэтому включайте любые пути файлов, сообщения об ошибках или решения, которые нужны подагенту, непосредственно в этот промпт.216Окно контекста подагента начинается свежим (без истории родительской беседы), но не пусто. Единственный канал от родителя к подагенту — это строка промпта инструмента Agent, поэтому включайте любые пути файлов, сообщения об ошибках или решения, которые нужны подагенту, непосредственно в этот промпт.

216 217 

217| Подагент получает | Подагент не получает |218| Подагент получает | Подагент не получает |

218| :------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------- |219| :------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------- |

219| Его собственный системный промпт (`AgentDefinition.prompt`) и промпт инструмента Agent | История беседы родителя или результаты инструментов |220| Его собственный системный промпт (`AgentDefinition.prompt`) и промпт инструмента Agent | История беседы родителя или результаты инструментов |

220| Проект CLAUDE.md (загруженный через `settingSources`) | Предварительно загруженное содержимое skills, если не указано в `AgentDefinition.skills` |221| Проект CLAUDE.md (загруженный через [`settingSources`](/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)) | Предварительно загруженное содержимое skills, если не указано в `AgentDefinition.skills` |

221| Определения инструментов (унаследованные от родителя или подмножество в `tools`) | Системный промпт родителя |222| Определения инструментов (унаследованные от родителя или подмножество в `tools`) | Системный промпт родителя |

222 223 

223<Note>224<Note>


336 Имя инструмента было переименовано с `"Task"` на `"Agent"` в Claude Code v2.1.63. Текущие выпуски SDK выдают `"Agent"` в блоках `tool_use`, но все еще используют `"Task"` в списке инструментов `system:init` и в `result.permission_denials[].tool_name`. Проверка обоих значений в `block.name` обеспечивает совместимость между версиями SDK.337 Имя инструмента было переименовано с `"Task"` на `"Agent"` в Claude Code v2.1.63. Текущие выпуски SDK выдают `"Agent"` в блоках `tool_use`, но все еще используют `"Task"` в списке инструментов `system:init` и в `result.permission_denials[].tool_name`. Проверка обоих значений в `block.name` обеспечивает совместимость между версиями SDK.

337</Note>338</Note>

338 339 

339Этот пример проходит через потоковые сообщения, логируя, когда вызывается подагент и когда последующие сообщения исходят из контекста выполнения этого подагента.340Структура сообщения отличается между SDK. В Python блоки содержимого доступны непосредственно через `message.content`. В TypeScript `SDKAssistantMessage` оборачивает сообщение Claude API, поэтому содержимое доступно через `message.message.content`.

340 341 

341<Note>342Этот пример проходит через потоковые сообщения, логируя, когда вызывается подагент и когда последующие сообщения исходят из контекста выполнения этого подагента.

342 Структура сообщения отличается между SDK. В Python блоки содержимого доступны непосредственно через `message.content`. В TypeScript `SDKAssistantMessage` оборачивает сообщение Claude API, поэтому содержимое доступно через `message.message.content`.

343</Note>

344 343 

345<CodeGroup>344<CodeGroup>

346 ```python Python theme={null}345 ```python Python theme={null}


427 426 

428Подагенты можно возобновить, чтобы продолжить с того места, где они остановились. Возобновленные подагенты сохраняют полную историю беседы, включая все предыдущие вызовы инструментов, результаты и рассуждения. Подагент продолжает работу ровно с того места, где он остановился, а не начинает заново.427Подагенты можно возобновить, чтобы продолжить с того места, где они остановились. Возобновленные подагенты сохраняют полную историю беседы, включая все предыдущие вызовы инструментов, результаты и рассуждения. Подагент продолжает работу ровно с того места, где он остановился, а не начинает заново.

429 428 

430Когда подагент завершается, Claude получает его ID агента в результате инструмента Agent. Чтобы программно возобновить подагента:429Когда подагент завершается, результат инструмента Agent включает текстовый блок, содержащий `agentId: <id>`. Встроенные агенты [`Explore` и `Plan`](/ru/sub-agents#built-in-subagents) работают в один проход и не возвращают `agentId`, поэтому используйте пользовательского агента или `general-purpose`, когда вам нужно возобновить. Чтобы программно возобновить подагента:

431 430 

4321. **Захватите ID сессии**: извлеките `session_id` из сообщений во время первого запроса4311. **Захватите ID сессии**: извлеките `session_id` из сообщений во время первого запроса

4332. **Извлеките ID агента**: разберите `agentId` из содержимого сообщения4322. **Извлеките ID агента**: разберите `agentId` из текста результата инструмента Agent

4343. **Возобновите сессию**: передайте `resume: sessionId` в параметрах второго запроса и включите ID агента в ваш промпт4333. **Возобновите сессию**: передайте `resume: sessionId` в параметрах второго запроса и включите ID агента в ваш промпт

435 434 

436<Note>435<Note>

437 Вы должны возобновить ту же сессию, чтобы получить доступ к стенограмме подагента. Каждый вызов `query()` по умолчанию начинает новую сессию, поэтому передайте `resume: sessionId`, чтобы продолжить в той же сессии.436 Вы должны возобновить ту же сессию, чтобы получить доступ к стенограмме подагента. Каждый вызов `query()` по умолчанию начинает новую сессию, поэтому передайте `resume: sessionId`, чтобы продолжить в той же сессии.

438 437 

439 Если вы используете пользовательского агента (не встроенного), вам также нужно передать то же определение агента в параметр `agents` для обоих запросов.438 При использовании пользовательского агента передайте то же определение агента в параметр `agents` для обоих запросов.

440</Note>439</Note>

441 440 

442Пример ниже демонстрирует этот поток: первый запрос запускает подагента и захватывает ID сессии и ID агента, затем второй запрос возобновляет сессию, чтобы задать вопрос для уточнения, требующий контекста из первого анализа.441Пример ниже определяет пользовательского агента `endpoint-finder`. Первый запрос запускает его и захватывает ID сессии и ID агента из результата инструмента Agent, затем второй запрос возобновляет сессию, чтобы задать вопрос для уточнения, требующий контекста из первого анализа.

443 442 

444<CodeGroup>443<CodeGroup>

445 ```typescript TypeScript theme={null}

446 import { query, type SDKMessage } from "@anthropic-ai/claude-agent-sdk";

447 

448 // Helper to extract agentId from message content

449 // Stringify to avoid traversing different block types (TextBlock, ToolResultBlock, etc.)

450 function extractAgentId(message: SDKMessage): string | undefined {

451 if (message.type !== "assistant" && message.type !== "user") return undefined;

452 // Stringify the content so we can search it without traversing nested blocks

453 const content = JSON.stringify(message.message.content);

454 const match = content.match(/agentId:\s*([a-f0-9-]+)/);

455 return match?.[1];

456 }

457 

458 let agentId: string | undefined;

459 let sessionId: string | undefined;

460 

461 // First invocation - use the Explore agent to find API endpoints

462 for await (const message of query({

463 prompt: "Use the Explore agent to find all API endpoints in this codebase",

464 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"] }

465 })) {

466 // Capture session_id from ResultMessage (needed to resume this session)

467 if ("session_id" in message) sessionId = message.session_id;

468 // Search message content for the agentId (appears in Agent tool results)

469 const extractedId = extractAgentId(message);

470 if (extractedId) agentId = extractedId;

471 // Print the final result

472 if ("result" in message) console.log(message.result);

473 }

474 

475 // Second invocation - resume and ask follow-up

476 if (agentId && sessionId) {

477 for await (const message of query({

478 prompt: `Resume agent ${agentId} and list the top 3 most complex endpoints`,

479 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], resume: sessionId }

480 })) {

481 if ("result" in message) console.log(message.result);

482 }

483 }

484 ```

485 

486 ```python Python theme={null}444 ```python Python theme={null}

487 import asyncio445 import asyncio

488 import json

489 import re446 import re

490 from claude_agent_sdk import query, ClaudeAgentOptions447 from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition, ToolResultBlock

448 

449 AGENTS = {

450 "endpoint-finder": AgentDefinition(

451 description="Locates and catalogs API endpoints in a codebase.",

452 prompt="You find and document API endpoints. Report each endpoint's path, method, and handler.",

453 tools=["Read", "Grep", "Glob"],

454 )

455 }

491 456 

492 457 

493 def extract_agent_id(text: str) -> str | None:458 def extract_agent_id(block: ToolResultBlock) -> str | None:

494 """Extract agentId from Agent tool result text."""459 """Extract agentId from an Agent tool result's text content."""

495 match = re.search(r"agentId:\s*([a-f0-9-]+)", text)460 parts = block.content if isinstance(block.content, list) else [{"text": block.content}]

496 return match.group(1) if match else None461 for part in parts:

462 if match := re.search(r"agentId:\s*([\w-]+)", part.get("text") or ""):

463 return match.group(1)

464 return None

497 465 

498 466 

499 async def main():467 async def main():

500 agent_id = None468 agent_id = None

501 session_id = None469 session_id = None

502 470 

503 # First invocation - use the Explore agent to find API endpoints471 # First invocation - run the endpoint-finder subagent

504 async for message in query(472 async for message in query(

505 prompt="Use the Explore agent to find all API endpoints in this codebase",473 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",

506 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"]),474 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),

507 ):475 ):

508 # Capture session_id from ResultMessage (needed to resume this session)476 # Capture session_id from ResultMessage (needed to resume this session)

509 if hasattr(message, "session_id"):477 if hasattr(message, "session_id"):

510 session_id = message.session_id478 session_id = message.session_id

511 # Search message content for the agentId (appears in Agent tool results)479 # Search tool results for the agentId trailer

512 if hasattr(message, "content"):480 for block in getattr(message, "content", None) or []:

513 # Stringify the content so we can search it without traversing nested blocks481 if isinstance(block, ToolResultBlock):

514 content_str = json.dumps(message.content, default=str)482 agent_id = extract_agent_id(block) or agent_id

515 extracted = extract_agent_id(content_str)

516 if extracted:

517 agent_id = extracted

518 # Print the final result483 # Print the final result

519 if hasattr(message, "result"):484 if hasattr(message, "result"):

520 print(message.result)485 print(message.result)


524 async for message in query(489 async for message in query(

525 prompt=f"Resume agent {agent_id} and list the top 3 most complex endpoints",490 prompt=f"Resume agent {agent_id} and list the top 3 most complex endpoints",

526 options=ClaudeAgentOptions(491 options=ClaudeAgentOptions(

527 allowed_tools=["Read", "Grep", "Glob", "Agent"], resume=session_id492 allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS, resume=session_id

528 ),493 ),

529 ):494 ):

530 if hasattr(message, "result"):495 if hasattr(message, "result"):


533 498 

534 asyncio.run(main())499 asyncio.run(main())

535 ```500 ```

501 

502 ```typescript TypeScript theme={null}

503 import { query, type SDKMessage } from "@anthropic-ai/claude-agent-sdk";

504 

505 const agents = {

506 "endpoint-finder": {

507 description: "Locates and catalogs API endpoints in a codebase.",

508 prompt: "You find and document API endpoints. Report each endpoint's path, method, and handler.",

509 tools: ["Read", "Grep", "Glob"]

510 }

511 };

512 

513 // Stringify content to search for agentId without traversing nested block types

514 function extractAgentId(message: SDKMessage): string | undefined {

515 if (message.type !== "assistant" && message.type !== "user") return undefined;

516 const content = JSON.stringify(message.message.content);

517 const match = content.match(/agentId:\s*([\w-]+)/);

518 return match?.[1];

519 }

520 

521 let agentId: string | undefined;

522 let sessionId: string | undefined;

523 

524 // First invocation - run the endpoint-finder subagent

525 for await (const message of query({

526 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",

527 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }

528 })) {

529 // Capture session_id from ResultMessage (needed to resume this session)

530 if ("session_id" in message) sessionId = message.session_id;

531 // Search message content for the agentId (appears in Agent tool results)

532 const extractedId = extractAgentId(message);

533 if (extractedId) agentId = extractedId;

534 // Print the final result

535 if ("result" in message) console.log(message.result);

536 }

537 

538 // Second invocation - resume and ask follow-up

539 if (agentId && sessionId) {

540 for await (const message of query({

541 prompt: `Resume agent ${agentId} and list the top 3 most complex endpoints`,

542 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents, resume: sessionId }

543 })) {

544 if ("result" in message) console.log(message.result);

545 }

546 }

547 ```

536</CodeGroup>548</CodeGroup>

537 549 

538Стенограммы подагентов сохраняются независимо от основной беседы:550Стенограммы подагентов сохраняются независимо от основной беседы:


541* **Сохранение сессии**: стенограммы подагентов сохраняются в пределах их сессии. Вы можете возобновить подагента после перезагрузки Claude Code, возобновив ту же сессию.553* **Сохранение сессии**: стенограммы подагентов сохраняются в пределах их сессии. Вы можете возобновить подагента после перезагрузки Claude Code, возобновив ту же сессию.

542* **Автоматическая очистка**: стенограммы очищаются на основе параметра `cleanupPeriodDays` (по умолчанию: 30 дней).554* **Автоматическая очистка**: стенограммы очищаются на основе параметра `cleanupPeriodDays` (по умолчанию: 30 дней).

543 555 

544<h2 id="tool-restrictions">556<h2 id="tool-restrictions-1">

545 Ограничения инструментов557 Ограничения инструментов

546</h2>558</h2>

547 559 

Details

217| Форма элемента: `{ content, status, activeForm }` | Ввод `TaskCreate`: `{ subject, description, activeForm?, metadata? }`. Ввод `TaskUpdate`: `{ taskId, status?, subject?, description?, activeForm?, addBlocks?, addBlockedBy?, owner?, metadata? }`. `status` это `"pending"`, `"in_progress"` или `"completed"`; установите `status: "deleted"` для удаления |217| Форма элемента: `{ content, status, activeForm }` | Ввод `TaskCreate`: `{ subject, description, activeForm?, metadata? }`. Ввод `TaskUpdate`: `{ taskId, status?, subject?, description?, activeForm?, addBlocks?, addBlockedBy?, owner?, metadata? }`. `status` это `"pending"`, `"in_progress"` или `"completed"`; установите `status: "deleted"` для удаления |

218| Отобразить `block.input.todos` напрямую | Накопить элементы между вызовами или прочитать снимок из результата инструмента `TaskList` |218| Отобразить `block.input.todos` напрямую | Накопить элементы между вызовами или прочитать снимок из результата инструмента `TaskList` |

219 219 

220Назначенный ID задачи отсутствует во вводе `TaskCreate`. Он возвращается в соответствующем `tool_result` как `{ task: { id, subject } }`, поэтому захватите его из блока результата, чтобы индексировать вашу карту. Следующий пример показывает минимальное изменение цикла [Мониторинг изменений задач](#monitoring-todo-changes). Для отображения полного списка смотрите результат инструмента `TaskList` в потоке или накопите результаты `TaskCreate` и вводы `TaskUpdate` в карту:220Назначенный ID задачи отсутствует во вводе `TaskCreate`. Он возвращается в соответствующем `tool_result` как `{ task: { id, subject } }`, поэтому захватите его из блока результата, чтобы индексировать вашу карту. Следующий пример показывает минимальное изменение цикла [Мониторинг изменений задач](#monitoring-todo-changes). Для отображения полного списка смотрите результат инструмента `TaskList` в потоке или накопите результаты `TaskCreate` и вводы `TaskUpdate` в карту.

221 

222Потоковый ввод `tool_use` — это необработанная форма, которую выдала модель. Claude Code исправляет некоторые близкие, но неправильные имена ключей перед выполнением, сопоставляя `id` или `task_id` с `taskId` и `active_form` с `activeForm`, но это исправление не отражается в потоке. Читайте поля ввода `TaskUpdate` защитно, как это делают примеры ниже, а не предполагайте, что каноническое имя всегда присутствует.

221 223 

222<CodeGroup>224<CodeGroup>

223 ```typescript TypeScript theme={null}225 ```typescript TypeScript theme={null}


233 const input = block.input as { subject: string };235 const input = block.input as { subject: string };

234 console.log(`+ ${input.subject}`);236 console.log(`+ ${input.subject}`);

235 } else if (block.name === "TaskUpdate") {237 } else if (block.name === "TaskUpdate") {

236 const input = block.input as { taskId: string; status?: string };238 const input = block.input as {

237 if (input.status) console.log(` ${input.taskId} -> ${input.status}`);239 taskId?: string;

240 id?: string;

241 task_id?: string;

242 status?: string;

243 };

244 const taskId = input.taskId ?? input.id ?? input.task_id;

245 if (taskId && input.status) console.log(` ${taskId} -> ${input.status}`);

238 }246 }

239 }247 }

240 }248 }


254 if block.name == "TaskCreate":262 if block.name == "TaskCreate":

255 print(f"+ {block.input['subject']}")263 print(f"+ {block.input['subject']}")

256 elif block.name == "TaskUpdate" and block.input.get("status"):264 elif block.name == "TaskUpdate" and block.input.get("status"):

257 print(f" {block.input['taskId']} -> {block.input['status']}")265 task_id = (

266 block.input.get("taskId")

267 or block.input.get("id")

268 or block.input.get("task_id")

269 )

270 if task_id:

271 print(f" {task_id} -> {block.input['status']}")

258 ```272 ```

259</CodeGroup>273</CodeGroup>

260 274 

Details

100}): Promise<WarmQuery>;100}): Promise<WarmQuery>;

101```101```

102 102 

103<h4 id="parameters">103<h4 id="parameters-1">

104 Параметры104 Параметры

105</h4>105</h4>

106 106 


109| `options` | [`Options`](#options) | Опциональный объект конфигурации. Аналогичен параметру `options` функции `query()` |109| `options` | [`Options`](#options) | Опциональный объект конфигурации. Аналогичен параметру `options` функции `query()` |

110| `initializeTimeoutMs` | `number` | Максимальное время в миллисекундах для ожидания инициализации подпроцесса. По умолчанию `60000`. Если инициализация не завершится вовремя, промис отклонится с ошибкой timeout |110| `initializeTimeoutMs` | `number` | Максимальное время в миллисекундах для ожидания инициализации подпроцесса. По умолчанию `60000`. Если инициализация не завершится вовремя, промис отклонится с ошибкой timeout |

111 111 

112<h4 id="returns">112<h4 id="returns-1">

113 Возвращаемое значение113 Возвращаемое значение

114</h4>114</h4>

115 115 


149): SdkMcpToolDefinition<Schema>;149): SdkMcpToolDefinition<Schema>;

150```150```

151 151 

152<h4 id="parameters">152<h4 id="parameters-2">

153 Параметры153 Параметры

154</h4>154</h4>

155 155 


204}): McpSdkServerConfigWithInstance;204}): McpSdkServerConfigWithInstance;

205```205```

206 206 

207<h4 id="parameters">207<h4 id="parameters-3">

208 Параметры208 Параметры

209</h4>209</h4>

210 210 


224function listSessions(options?: ListSessionsOptions): Promise<SDKSessionInfo[]>;224function listSessions(options?: ListSessionsOptions): Promise<SDKSessionInfo[]>;

225```225```

226 226 

227<h4 id="parameters">227<h4 id="parameters-4">

228 Параметры228 Параметры

229</h4>229</h4>

230 230 


251| `tag` | `string \| undefined` | Пользовательский тег сессии (см. [`tagSession()`](#tagsession)) |251| `tag` | `string \| undefined` | Пользовательский тег сессии (см. [`tagSession()`](#tagsession)) |

252| `createdAt` | `number \| undefined` | Время создания в миллисекундах с эпохи, из временной метки первой записи |252| `createdAt` | `number \| undefined` | Время создания в миллисекундах с эпохи, из временной метки первой записи |

253 253 

254<h4 id="example">254<h4 id="example-1">

255 Пример255 Пример

256</h4>256</h4>

257 257 


280): Promise<SessionMessage[]>;280): Promise<SessionMessage[]>;

281```281```

282 282 

283<h4 id="parameters">283<h4 id="parameters-5">

284 Параметры284 Параметры

285</h4>285</h4>

286 286 


303| `message` | `unknown` | Необработанная полезная нагрузка сообщения из транскрипта |303| `message` | `unknown` | Необработанная полезная нагрузка сообщения из транскрипта |

304| `parent_tool_use_id` | `string \| null` | Для сообщений подагента, `tool_use_id` вызова tool `Agent`, который его запустил. `null` для сообщений основной сессии и более старых сессий |304| `parent_tool_use_id` | `string \| null` | Для сообщений подагента, `tool_use_id` вызова tool `Agent`, который его запустил. `null` для сообщений основной сессии и более старых сессий |

305 305 

306<h4 id="example">306<h4 id="example-2">

307 Пример307 Пример

308</h4>308</h4>

309 309 


337): Promise<SDKSessionInfo | undefined>;337): Promise<SDKSessionInfo | undefined>;

338```338```

339 339 

340<h4 id="parameters">340<h4 id="parameters-6">

341 Параметры341 Параметры

342</h4>342</h4>

343 343 


362): Promise<void>;362): Promise<void>;

363```363```

364 364 

365<h4 id="parameters">365<h4 id="parameters-7">

366 Параметры366 Параметры

367</h4>367</h4>

368 368 


386): Promise<void>;386): Promise<void>;

387```387```

388 388 

389<h4 id="parameters">389<h4 id="parameters-8">

390 Параметры390 Параметры

391</h4>391</h4>

392 392 


412): Promise<ResolvedSettings>;412): Promise<ResolvedSettings>;

413```413```

414 414 

415<h4 id="parameters">415<h4 id="parameters-9">

416 Параметры416 Параметры

417</h4>417</h4>

418 418 


437| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Для каждого ключа верхнего уровня в `effective`, какой источник предоставил значение |437| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Для каждого ключа верхнего уровня в `effective`, какой источник предоставил значение |

438| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Необработанные параметры для каждого источника, упорядоченные от самого низкого к самому высокому приоритету |438| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Необработанные параметры для каждого источника, упорядоченные от самого низкого к самому высокому приоритету |

439 439 

440<h4 id="example">440<h4 id="example-3">

441 Пример441 Пример

442</h4>442</h4>

443 443 


481| `debug` | `boolean` | `false` | Включите режим отладки для процесса Claude Code |481| `debug` | `boolean` | `false` | Включите режим отладки для процесса Claude Code |

482| `debugFile` | `string` | `undefined` | Запишите журналы отладки в определённый путь файла. Неявно включает режим отладки |482| `debugFile` | `string` | `undefined` | Запишите журналы отладки в определённый путь файла. Неявно включает режим отладки |

483| `disallowedTools` | `string[]` | `[]` | Инструменты для отклонения. Простое имя, такое как `"Bash"`, удаляет инструмент из контекста Claude. Правило с областью видимости, такое как `"Bash(rm *)"`, оставляет инструмент доступным и отклоняет совпадающие вызовы в каждом режиме разрешения, включая `bypassPermissions`. См. [Разрешения](/ru/agent-sdk/permissions#allow-and-deny-rules) |483| `disallowedTools` | `string[]` | `[]` | Инструменты для отклонения. Простое имя, такое как `"Bash"`, удаляет инструмент из контекста Claude. Правило с областью видимости, такое как `"Bash(rm *)"`, оставляет инструмент доступным и отклоняет совпадающие вызовы в каждом режиме разрешения, включая `bypassPermissions`. См. [Разрешения](/ru/agent-sdk/permissions#allow-and-deny-rules) |

484| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Контролирует, сколько усилий Claude вкладывает в свой ответ. Работает с адаптивным мышлением для направления глубины мышления |484| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | По умолчанию модели | Контролирует, сколько усилий Claude вкладывает в свой ответ. Работает с адаптивным мышлением для направления глубины мышления. См. [adjust the effort level](/ru/model-config#adjust-effort-level) |

485| `enableFileCheckpointing` | `boolean` | `false` | Включите отслеживание изменений файлов для перемотки. См. [File checkpointing](/ru/agent-sdk/file-checkpointing) |485| `enableFileCheckpointing` | `boolean` | `false` | Включите отслеживание изменений файлов для перемотки. См. [File checkpointing](/ru/agent-sdk/file-checkpointing) |

486| `env` | `Record<string, string \| undefined>` | `process.env` | Переменные окружения. Когда установлено, это заменяет окружение подпроцесса вместо объединения с `process.env`, поэтому передайте `{ ...process.env, YOUR_VAR: 'value' }` для сохранения унаследованных переменных, таких как `PATH`. См. [Обработка медленных или зависших ответов API](#handle-slow-or-stalled-api-responses) для примера этого паттерна и [Переменные окружения](/ru/env-vars) для переменных, которые читает базовый CLI. Установите `CLAUDE_AGENT_SDK_CLIENT_APP` для идентификации вашего приложения в заголовке User-Agent |486| `env` | `Record<string, string \| undefined>` | `process.env` | Переменные окружения. Когда установлено, это заменяет окружение подпроцесса вместо объединения с `process.env`, поэтому передайте `{ ...process.env, YOUR_VAR: 'value' }` для сохранения унаследованных переменных, таких как `PATH`. См. [Handle slow or stalled API responses](#handle-slow-or-stalled-api-responses) для примера этого паттерна и [Environment variables](/ru/env-vars) для переменных, которые читает базовый CLI. Установите `CLAUDE_AGENT_SDK_CLIENT_APP` для идентификации вашего приложения в заголовке User-Agent |

487| `executable` | `'bun' \| 'deno' \| 'node'` | Автоопределение | Среда выполнения JavaScript для использования |487| `executable` | `'bun' \| 'deno' \| 'node'` | Автоопределение | Среда выполнения JavaScript для использования |

488| `executableArgs` | `string[]` | `[]` | Аргументы для передачи исполняемому файлу |488| `executableArgs` | `string[]` | `[]` | Аргументы для передачи исполняемому файлу |

489| `extraArgs` | `Record<string, string \| null>` | `{}` | Дополнительные аргументы |489| `extraArgs` | `Record<string, string \| null>` | `{}` | Дополнительные аргументы |


495| `includePartialMessages` | `boolean` | `false` | Включите события частичных сообщений |495| `includePartialMessages` | `boolean` | `false` | Включите события частичных сообщений |

496| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout в миллисекундах для каждого вызова `sessionStore.load()` и `sessionStore.listSubkeys()` во время материализации возобновления. Если адаптер не завершится в этом окне, запрос не удаётся вместо зависания. Игнорируется, когда `sessionStore` не установлен |496| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout в миллисекундах для каждого вызова `sessionStore.load()` и `sessionStore.listSubkeys()` во время материализации возобновления. Если адаптер не завершится в этом окне, запрос не удаётся вместо зависания. Игнорируется, когда `sessionStore` не установлен |

497| `managedSettings` | `Settings` | `undefined` | Настройки уровня политики, предоставленные порождающим родительским процессом. Отбрасываются, когда уровень управляемых настроек, контролируемый IT, уже существует на машине, если только этот администратор не согласится с `parentSettingsBehavior: 'merge'`. Отфильтрованы только для ключей, ограничивающих доступ, независимо |497| `managedSettings` | `Settings` | `undefined` | Настройки уровня политики, предоставленные порождающим родительским процессом. Отбрасываются, когда уровень управляемых настроек, контролируемый IT, уже существует на машине, если только этот администратор не согласится с `parentSettingsBehavior: 'merge'`. Отфильтрованы только для ключей, ограничивающих доступ, независимо |

498| `maxBudgetUsd` | `number` | `undefined` | Остановите запрос, когда оценка стоимости на стороне клиента достигнет этого значения USD. Сравнивается с той же оценкой, что и `total_cost_usd`; см. [Отслеживание стоимости и использования](/ru/agent-sdk/cost-tracking) для предостережений точности |498| `maxBudgetUsd` | `number` | `undefined` | Остановите запрос, когда оценка стоимости на стороне клиента достигнет этого значения USD. Сравнивается с той же оценкой, что и `total_cost_usd`; см. [Track cost and usage](/ru/agent-sdk/cost-tracking) для предостережений точности |

499| `maxThinkingTokens` | `number` | `undefined` | *Устарело:* Используйте вместо этого `thinking`. Максимальные токены для процесса мышления |499| `maxThinkingTokens` | `number` | `undefined` | *Устарело:* Используйте вместо этого `thinking`. Максимальные токены для процесса мышления |

500| `maxTurns` | `number` | `undefined` | Максимальное количество агентских ходов (раунды использования инструмента) |500| `maxTurns` | `number` | `undefined` | Максимальное количество агентских ходов (раунды использования инструмента) |

501| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Конфигурации MCP серверов |501| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Конфигурации MCP серверов |

502| `model` | `string` | По умолчанию из CLI | Модель Claude для использования |502| `model` | `string` | По умолчанию из CLI | Псевдоним модели Claude или полное имя модели. См. [accepted values and provider-specific IDs](/ru/model-config#available-models) |

503| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Обратный вызов для обработки запросов MCP elicitation. Вызывается, когда MCP сервер запрашивает ввод пользователя и ни один hook не обрабатывает его первым. Если не предоставлено, необработанные запросы elicitation автоматически отклоняются |503| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Обратный вызов для обработки запросов MCP elicitation. Вызывается, когда MCP сервер запрашивает ввод пользователя и ни один hook не обрабатывает его первым. Если не предоставлено, необработанные запросы elicitation автоматически отклоняются |

504| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Определите формат вывода для результатов агента. См. [Structured outputs](/ru/agent-sdk/structured-outputs) для деталей |504| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Определите формат вывода для результатов агента. См. [Structured outputs](/ru/agent-sdk/structured-outputs) для деталей |

505| `outputStyle` | `string` | `undefined` | Не поле `Options`. Установите `outputStyle` во встроенном объекте [`settings`](/ru/settings) или файле настроек вместо этого. См. [Activate an output style](/ru/agent-sdk/modifying-system-prompts#activate-an-output-style) |505| `outputStyle` | `string` | `undefined` | Не поле `Options`. Установите `outputStyle` во встроенном объекте [`settings`](/ru/settings) или файле настроек вместо этого. См. [Activate an output style](/ru/agent-sdk/modifying-system-prompts#activate-an-output-style) |


531| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Конфигурация инструмента. Передайте массив имён инструментов или используйте preset для получения встроенных инструментов Claude Code |531| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Конфигурация инструмента. Передайте массив имён инструментов или используйте preset для получения встроенных инструментов Claude Code |

532 532 

533<h4 id="handle-slow-or-stalled-api-responses">533<h4 id="handle-slow-or-stalled-api-responses">

534 Обработка медленных или зависших ответов API534 Handle slow or stalled API responses

535</h4>535</h4>

536 536 

537Подпроцесс CLI читает несколько переменных окружения, которые контролируют timeout API и обнаружение зависания. Передайте их через опцию `env`:537Подпроцесс CLI читает несколько переменных окружения, которые контролируют timeout API и обнаружение зависания. Передайте их через опцию `env`:


553* `API_TIMEOUT_MS`: timeout для каждого запроса на клиенте Anthropic, в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем подагентам.553* `API_TIMEOUT_MS`: timeout для каждого запроса на клиенте Anthropic, в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем подагентам.

554* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`. Каждая повторная попытка получает своё собственное окно `API_TIMEOUT_MS`, поэтому наихудший случай wall time примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс backoff.554* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`. Каждая повторная попытка получает своё собственное окно `API_TIMEOUT_MS`, поэтому наихудший случай wall time примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс backoff.

555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.

556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки получены, но тело ответа перестаёт потоком передаваться. По умолчанию отключено. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки получены, но тело ответа перестаёт потоком передаваться. Когда `CLAUDE_ENABLE_STREAM_WATCHDOG` не установлен, по умолчанию управляется сервером на прямом Anthropic API и отключено на других поставщиках. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.

557 557 

558<h3 id="query-object">558<h3 id="query-object">

559 `Query` объект559 `Query` object

560</h3>560</h3>

561 561 

562Интерфейс, возвращаемый функцией `query()`.562Интерфейс, возвращаемый функцией `query()`.


588```588```

589 589 

590<h4 id="methods">590<h4 id="methods">

591 Методы591 Methods

592</h4>592</h4>

593 593 

594| Метод | Описание |594| Метод | Описание |


616 `applyFlagSettings()`616 `applyFlagSettings()`

617</h4>617</h4>

618 618 

619Изменяет любую [настройку](/ru/settings) на работающей сессии без перезагрузки запроса. Используйте её, когда настройка, у которой нет выделенного setter, должна измениться в середине сессии, например, ужесточение `permissions` после того, как агент прочитает ненадёжный ввод. `setModel()` и `setPermissionMode()` являются выделенными setters для этих двух ключей; `applyFlagSettings()` является общей формой, которая принимает любое подмножество ключей настроек, и передача `model` здесь ведёт себя так же, как `setModel()`.619Изменяет [настройки](/ru/settings) на работающей сессии без перезагрузки запроса. Используйте её, когда настройка, у которой нет выделенного setter, должна измениться в середине сессии, например, ужесточение `permissions` после того, как агент прочитает ненадёжный ввод. `setModel()` и `setPermissionMode()` являются выделенными setters для этих двух ключей; `applyFlagSettings()` является общей формой, которая принимает любое подмножество ключей настроек, и передача `model` здесь ведёт себя так же, как `setModel()`.

620 620 

621Только некоторые ключи вступают в силу в середине сессии:621Только некоторые ключи вступают в силу в середине сессии:

622 622 


658}658}

659```659```

660 660 

661<h4 id="methods">661<h4 id="methods-1">

662 Методы662 Methods

663</h4>663</h4>

664 664 

665| Метод | Описание |665| Метод | Описание |


717```717```

718 718 

719| Поле | Обязательно | Описание |719| Поле | Обязательно | Описание |

720| :------------------------------------ | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |720| :------------------------------------ | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

721| `description` | Да | Описание на естественном языке, когда использовать этого агента |721| `description` | Да | Описание на естественном языке, когда использовать этого агента |

722| `tools` | Нет | Массив разрешённых имён инструментов. Если опущено, наследует все инструменты от родителя. Для предварительной загрузки Skills в контекст агента используйте поле `skills` вместо указания `'Skill'` здесь |722| `tools` | Нет | Массив разрешённых имён инструментов. Если опущено, наследует все инструменты от родителя. Для предварительной загрузки Skills в контекст агента используйте поле `skills` вместо указания `'Skill'` здесь |

723| `disallowedTools` | Нет | Массив имён инструментов для явного запрещения для этого агента |723| `disallowedTools` | Нет | Массив имён инструментов для явного запрещения для этого агента. Также принимаются паттерны уровня MCP сервера: `mcp__server` или `mcp__server__*` удаляет каждый инструмент с этого сервера, и `mcp__*` удаляет каждый MCP инструмент с любого сервера |

724| `prompt` | Да | Системный запрос агента |724| `prompt` | Да | Системный запрос агента |

725| `model` | Нет | Переопределение модели для этого агента. Принимает псевдоним, такой как `'sonnet'`, `'opus'`, `'haiku'`, `'inherit'`, или полный ID модели. Если опущено или `'inherit'`, использует основную модель |725| `model` | Нет | Переопределение модели для этого агента. Принимает псевдоним, такой как `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, или полный ID модели. Если опущено или `'inherit'`, использует основную модель |

726| `mcpServers` | Нет | Спецификации MCP серверов для этого агента |726| `mcpServers` | Нет | Спецификации MCP серверов для этого агента |

727| `skills` | Нет | Массив имён skills для предварительной загрузки в контекст агента |727| `skills` | Нет | Массив имён skills для предварительной загрузки в контекст агента |

728| `initialPrompt` | Нет | Автоматически отправляется как первый пользовательский ход, когда этот агент работает как агент основного потока |728| `initialPrompt` | Нет | Автоматически отправляется как первый пользовательский ход, когда этот агент работает как агент основного потока |


756```756```

757 757 

758| Значение | Описание | Местоположение |758| Значение | Описание | Местоположение |

759| :---------- | :----------------------------------------------- | :---------------------------- |759| :---------- | :------------------------------------------------------ | :---------------------------- |

760| `'user'` | Глобальные пользовательские настройки | `~/.claude/settings.json` |760| `'user'` | Глобальные пользовательские настройки | `~/.claude/settings.json` |

761| `'project'` | Общие настройки проекта (контролируемые версией) | `.claude/settings.json` |761| `'project'` | Общие настройки проекта (контролируемые версией) | `.claude/settings.json` |

762| `'local'` | Локальные настройки проекта (gitignored) | `.claude/settings.local.json` |762| `'local'` | Локальные настройки проекта (не контролируемые версией) | `.claude/settings.local.json` |

763 763 

764<h4 id="default-behavior">764<h4 id="default-behavior">

765 Поведение по умолчанию765 Default behavior

766</h4>766</h4>

767 767 

768Когда `settingSources` опущено или `undefined`, `query()` загружает те же настройки файловой системы, что и CLI Claude Code: пользовательские, проектные и локальные. Управляемые политикой настройки загружаются во всех случаях. См. [What settingSources does not control](/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) для входных данных, которые читаются независимо от этой опции, и как их отключить.768Когда `settingSources` опущено или `undefined`, `query()` загружает те же настройки файловой системы, что и CLI Claude Code: пользовательские, проектные и локальные. Управляемые политикой настройки загружаются во всех случаях. См. [What settingSources does not control](/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) для входных данных, которые читаются независимо от этой опции, и как их отключить.

769 769 

770<h4 id="why-use-settingsources">770<h4 id="why-use-settingsources">

771 Почему использовать settingSources771 Why use settingSources

772</h4>772</h4>

773 773 

774**Отключите настройки файловой системы:**774**Отключите настройки файловой системы:**


855```855```

856 856 

857<h4 id="settings-precedence">857<h4 id="settings-precedence">

858 Приоритет настроек858 Settings precedence

859</h4>859</h4>

860 860 

861Когда загружаются несколько источников, настройки объединяются с этим приоритетом (от высшего к низшему):861Когда загружаются несколько источников, настройки объединяются с этим приоритетом (от высшего к низшему):


874type PermissionMode =874type PermissionMode =

875 | "default" // Стандартное поведение разрешения875 | "default" // Стандартное поведение разрешения

876 | "acceptEdits" // Автоматически принимайте редактирования файлов876 | "acceptEdits" // Автоматически принимайте редактирования файлов

877 | "bypassPermissions" // Обойдите все проверки разрешения877 | "bypassPermissions" // Обойдите все проверки разрешения; явные правила запроса всё ещё запрашивают

878 | "plan" // Plan Mode - только инструменты чтения878 | "plan" // Plan Mode - исследуйте без редактирования

879 | "dontAsk" // Не запрашивайте разрешения, отклоняйте, если не предварительно одобрено879 | "dontAsk" // Не запрашивайте разрешения, отклоняйте, если не предварительно одобрено

880 | "auto"; // Используйте классификатор модели для одобрения или отклонения каждого вызова инструмента880 | "auto"; // Используйте классификатор модели для одобрения или отклонения каждого вызова инструмента

881```881```


1035type SdkPluginConfig = {1035type SdkPluginConfig = {

1036 type: "local";1036 type: "local";

1037 path: string;1037 path: string;

1038 skipMcpDiscovery?: boolean;

1038};1039};

1039```1040```

1040 1041 

1041| Поле | Тип | Описание |1042| Поле | Тип | Описание |

1042| :----- | :-------- | :-------------------------------------------------------------------------------- |1043| :----------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1043| `type` | `'local'` | Должно быть `'local'` (в настоящее время поддерживаются только локальные plugins) |1044| `type` | `'local'` | Должно быть `'local'` (в настоящее время поддерживаются только локальные plugins) |

1044| `path` | `string` | Абсолютный или относительный путь к директории plugin |1045| `path` | `string` | Абсолютный или относительный путь к директории plugin |

1046| `skipMcpDiscovery` | `boolean` | Когда `true`, SDK загружает skills, hooks, agents и commands из этого plugin, но не читает его `.mcp.json` или manifest `mcpServers`. Установите это, когда ваше приложение владеет подключениями MCP plugin. |

1045 1047 

1046**Пример:**1048**Пример:**

1047 1049 


1086 | SDKTaskProgressMessage1088 | SDKTaskProgressMessage

1087 | SDKTaskUpdatedMessage1089 | SDKTaskUpdatedMessage

1088 | SDKSessionStateChangedMessage1090 | SDKSessionStateChangedMessage

1091 | SDKWorkerShuttingDownMessage

1089 | SDKCommandsChangedMessage1092 | SDKCommandsChangedMessage

1090 | SDKNotificationMessage1093 | SDKNotificationMessage

1091 | SDKFilesPersistedEvent1094 | SDKFilesPersistedEvent


1096 | SDKPermissionDeniedMessage1099 | SDKPermissionDeniedMessage

1097 | SDKPromptSuggestionMessage1100 | SDKPromptSuggestionMessage

1098 | SDKAPIRetryMessage1101 | SDKAPIRetryMessage

1099 | SDKMirrorErrorMessage;1102 | SDKMirrorErrorMessage

1103 | SDKInformationalMessage;

1100```1104```

1101 1105 

1102<h3 id="sdkassistantmessage">1106<h3 id="sdkassistantmessage">


1183 result: string;1187 result: string;

1184 stop_reason: string | null;1188 stop_reason: string | null;

1185 ttft_ms?: number;1189 ttft_ms?: number;

1190 ttft_stream_ms?: number;

1186 total_cost_usd: number;1191 total_cost_usd: number;

1187 usage: NonNullableUsage;1192 usage: NonNullableUsage;

1188 modelUsage: { [modelName: string]: ModelUsage };1193 modelUsage: { [modelName: string]: ModelUsage };


1221Несколько полей в результате содержат диагностические детали помимо `subtype`:1226Несколько полей в результате содержат диагностические детали помимо `subtype`:

1222 1227 

1223* `api_error_status`: HTTP код состояния ошибки API, которая завершила диалог. Отсутствует или имеет значение `null`, когда ход завершился без ошибки API.1228* `api_error_status`: HTTP код состояния ошибки API, которая завершила диалог. Отсутствует или имеет значение `null`, когда ход завершился без ошибки API.

1224* `ttft_ms`: время до первого токена в миллисекундах. Присутствует только на успешной ветви.1229* `ttft_ms`: время до первого токена в миллисекундах, измеренное при поступлении первого полного сообщения ассистента. Присутствует только на успешной ветви.

1230* `ttft_stream_ms`: время в миллисекундах до первого события потока `message_start`, когда открывается поток ответа. Ниже, чем `ttft_ms`; разница между ними — это время, потраченное на потоковую передачу первого сообщения. Присутствует только на успешной ветви.

1225* `terminal_reason`: почему цикл завершился. Один из `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"` или `"model_error"`.1231* `terminal_reason`: почему цикл завершился. Один из `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"` или `"model_error"`.

1226* `fast_mode_state`: один из `"on"`, `"off"` или `"cooldown"`.1232* `fast_mode_state`: один из `"on"`, `"off"` или `"cooldown"`.

1227 1233 


1273 parent_tool_use_id: string | null;1279 parent_tool_use_id: string | null;

1274 uuid: UUID;1280 uuid: UUID;

1275 session_id: string;1281 session_id: string;

1282 ttft_ms?: number; // Время до первого токена в мс, присутствует только на событиях message_start

1276};1283};

1277```1284```

1278 1285 


1295};1302};

1296```1303```

1297 1304 

1305<h3 id="sdkinformationalmessage">

1306 `SDKInformationalMessage`

1307</h3>

1308 

1309Универсальный текстовый баннер, выданный циклом. Содержит строки статуса без ошибок, обратную связь hook, такую как причина блокировки hook `UserPromptSubmit`, и вывод команды. Отобразите `content` как простой текст на заданном `level`.

1310 

1311```typescript theme={null}

1312type SDKInformationalMessage = {

1313 type: "system";

1314 subtype: "informational";

1315 content: string;

1316 level: "info" | "notice" | "suggestion" | "warning";

1317 tool_use_id?: string;

1318 prevent_continuation?: boolean;

1319 uuid: UUID;

1320 session_id: string;

1321};

1322```

1323 

1324<h3 id="sdkworkershuttingdownmessage">

1325 `SDKWorkerShuttingDownMessage`

1326</h3>

1327 

1328Выданное при корректном завершении работника, чтобы удалённые клиенты могли показать, почему работник исчез, вместо ожидания истечения времени ожидания сердцебиения. `reason` это короткая строка в формате snake\_case, установленная хост-CLI, такая как `"host_exit"` или `"remote_control_disabled"`. Действуйте на основе этого только при потоковой передаче в реальном времени. Возобновленный сеанс воспроизводит прошлые экземпляры этого сообщения, поэтому игнорируйте их в этом случае.

1329 

1330```typescript theme={null}

1331type SDKWorkerShuttingDownMessage = {

1332 type: "system";

1333 subtype: "worker_shutting_down";

1334 reason: string;

1335 uuid: UUID;

1336 session_id: string;

1337};

1338```

1339 

1298<h3 id="sdkplugininstallmessage">1340<h3 id="sdkplugininstallmessage">

1299 `SDKPluginInstallMessage`1341 `SDKPluginInstallMessage`

1300</h3>1342</h3>


1369type SDKMessageOrigin =1411type SDKMessageOrigin =

1370 | { kind: "human" }1412 | { kind: "human" }

1371 | { kind: "channel"; server: string }1413 | { kind: "channel"; server: string }

1372 | { kind: "peer"; from: string; name?: string }1414 | { kind: "peer"; from: string; name?: string; senderTaskId?: string }

1373 | { kind: "task-notification" }1415 | { kind: "task-notification" }

1374 | { kind: "coordinator" };1416 | { kind: "coordinator" }

1417 | { kind: "auto-continuation" };

1375```1418```

1376 1419 

1377| `kind` | Значение |1420| `kind` | Значение |

1378| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |1421| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1379| `human` | Прямой ввод от конечного пользователя. На пользовательских сообщениях отсутствующий `origin` также означает ввод человека. |1422| `human` | Прямой ввод от конечного пользователя. На пользовательских сообщениях отсутствующий `origin` также означает ввод человека. |

1380| `channel` | Сообщение, поступающее на [канал](/ru/channels). `server` это имя исходного MCP сервера. |1423| `channel` | Сообщение, поступающее на [канал](/ru/channels). `server` это имя исходного MCP сервера. |

1381| `peer` | Сообщение от другого сеанса агента через `SendMessage`. `from` это адрес отправителя; `name` это отображаемое имя отправителя, если доступно. |1424| `peer` | Зарезервировано для сообщений от другого сеанса агента. `from` это адрес отправителя и `name` это отображаемое имя отправителя, если доступно. `senderTaskId` это ID задачи внутрипроцессного фонового подагента, который отправил сообщение; отсутствует для кросс-сеансовых пиров. Agent SDK не выдаёт это происхождение; рассматривайте как неизвестное происхождение. |

1382| `task-notification` | Синтетический ход, внедрённый после завершения фоновой задачи. Смотрите [`SDKTaskNotificationMessage`](#sdktasknotificationmessage). |1425| `task-notification` | Синтетический ход, внедрённый после завершения фоновой задачи. Смотрите [`SDKTaskNotificationMessage`](#sdktasknotificationmessage). |

1383| `coordinator` | Сообщение от координатора команды в [команде агентов](/ru/agent-teams). |1426| `coordinator` | Сообщение от координатора команды в [команде агентов](/ru/agent-teams). |

1427| `auto-continuation` | Синтетический ход, внедрённый, когда сеанс продолжается без свежего пользовательского ввода, такой как результат команды, который запускает последующий запрос. |

1384 1428 

1385<h2 id="hook-types">1429<h2 id="hook-types">

1386 Типы hooks1430 Типы hooks


1712type TeammateIdleHookInput = BaseHookInput & {1756type TeammateIdleHookInput = BaseHookInput & {

1713 hook_event_name: "TeammateIdle";1757 hook_event_name: "TeammateIdle";

1714 teammate_name: string;1758 teammate_name: string;

1759 /** @deprecated с версии v2.1.178. Содержит имя команды, полученное из сессии; будет удалено. */

1715 team_name: string;1760 team_name: string;

1716};1761};

1717```1762```


1727 task_subject: string;1772 task_subject: string;

1728 task_description?: string;1773 task_description?: string;

1729 teammate_name?: string;1774 teammate_name?: string;

1775 /** @deprecated с версии v2.1.178. Содержит имя команды, полученное из сессии; будет удалено. */

1730 team_name?: string;1776 team_name?: string;

1731};1777};

1732```1778```


1934 description: string;1980 description: string;

1935 prompt: string;1981 prompt: string;

1936 subagent_type: string;1982 subagent_type: string;

1937 model?: "sonnet" | "opus" | "haiku";1983 model?: "sonnet" | "opus" | "haiku" | "fable";

1938 resume?: string;1984 resume?: string;

1939 run_in_background?: boolean;1985 run_in_background?: boolean;

1940 max_turns?: number;1986 max_turns?: number;

1941 name?: string;1987 name?: string;

1942 team_name?: string;

1943 mode?: "acceptEdits" | "bypassPermissions" | "default" | "dontAsk" | "plan";1988 mode?: "acceptEdits" | "bypassPermissions" | "default" | "dontAsk" | "plan";

1944 isolation?: "worktree";1989 isolation?: "worktree";

1945};1990};


2385 | WorkflowOutput;2430 | WorkflowOutput;

2386```2431```

2387 2432 

2388<h3 id="agent">2433<h3 id="agent-1">

2389 Agent2434 Agent

2390</h3>2435</h3>

2391 2436 


2397 status: "completed";2442 status: "completed";

2398 agentId: string;2443 agentId: string;

2399 content: Array<{ type: "text"; text: string }>;2444 content: Array<{ type: "text"; text: string }>;

2445 resolvedModel?: string;

2400 totalToolUseCount: number;2446 totalToolUseCount: number;

2401 totalDurationMs: number;2447 totalDurationMs: number;

2402 totalTokens: number;2448 totalTokens: number;


2421 status: "async_launched";2467 status: "async_launched";

2422 agentId: string;2468 agentId: string;

2423 description: string;2469 description: string;

2470 resolvedModel?: string;

2424 prompt: string;2471 prompt: string;

2425 outputFile: string;2472 outputFile: string;

2426 canReadOutputFile?: boolean;2473 canReadOutputFile?: boolean;


2434 2481 

2435Возвращает результат от подагента. Дискриминирован по полю `status`: `"completed"` для завершённых задач, `"async_launched"` для фоновых задач и `"sub_agent_entered"` для интерактивных подагентов.2482Возвращает результат от подагента. Дискриминирован по полю `status`: `"completed"` для завершённых задач, `"async_launched"` для фоновых задач и `"sub_agent_entered"` для интерактивных подагентов.

2436 2483 

2437<h3 id="askuserquestion">2484Поле `resolvedModel` на вариантах `completed` и `async_launched` указывает модель, на которой фактически работал подагент, которая может отличаться от запрошенного входного параметра `model` когда применяется [`availableModels`](/ru/model-config#restrict-model-selection) или другое переопределение. {/* min-version: 2.1.174 */}Это поле требует Claude Code v2.1.174 или позже.

2485 

2486<h3 id="askuserquestion-1">

2438 AskUserQuestion2487 AskUserQuestion

2439</h3>2488</h3>

2440 2489 


2455 2504 

2456Возвращает заданные вопросы и ответы пользователя. `response` устанавливается, когда пользователь ввёл свободный ответ вместо ответа на структурированные вопросы; когда присутствует, Claude получает "Пользователь ответил: …" вместо списка ответов по вопросам.2505Возвращает заданные вопросы и ответы пользователя. `response` устанавливается, когда пользователь ввёл свободный ответ вместо ответа на структурированные вопросы; когда присутствует, Claude получает "Пользователь ответил: …" вместо списка ответов по вопросам.

2457 2506 

2458<h3 id="bash">2507<h3 id="bash-1">

2459 Bash2508 Bash

2460</h3>2509</h3>

2461 2510 


2480 2529 

2481Возвращает вывод команды с разделённым stdout/stderr. Фоновые команды включают `backgroundTaskId`.2530Возвращает вывод команды с разделённым stdout/stderr. Фоновые команды включают `backgroundTaskId`.

2482 2531 

2483<h3 id="monitor">2532<h3 id="monitor-1">

2484 Monitor2533 Monitor

2485</h3>2534</h3>

2486 2535 


2496 2545 

2497Возвращает ID фоновой задачи для выполняющегося монитора. Используйте этот ID с `TaskStop` для раннего отмены наблюдения.2546Возвращает ID фоновой задачи для выполняющегося монитора. Используйте этот ID с `TaskStop` для раннего отмены наблюдения.

2498 2547 

2499<h3 id="edit">2548<h3 id="edit-1">

2500 Edit2549 Edit

2501</h3>2550</h3>

2502 2551 


2530 2579 

2531Возвращает структурированный diff операции редактирования.2580Возвращает структурированный diff операции редактирования.

2532 2581 

2533<h3 id="read">2582<h3 id="read-1">

2534 Read2583 Read

2535</h3>2584</h3>

2536 2585 


2590 2639 

2591Возвращает содержимое файла в формате, подходящем для типа файла. Дискриминирован по полю `type`.2640Возвращает содержимое файла в формате, подходящем для типа файла. Дискриминирован по полю `type`.

2592 2641 

2593<h3 id="write">2642<h3 id="write-1">

2594 Write2643 Write

2595</h3>2644</h3>

2596 2645 


2622 2671 

2623Возвращает результат записи с информацией структурированного diff.2672Возвращает результат записи с информацией структурированного diff.

2624 2673 

2625<h3 id="glob">2674<h3 id="glob-1">

2626 Glob2675 Glob

2627</h3>2676</h3>

2628 2677 


2639 2688 

2640Возвращает пути файлов, соответствующие паттерну glob, отсортированные по времени изменения.2689Возвращает пути файлов, соответствующие паттерну glob, отсортированные по времени изменения.

2641 2690 

2642<h3 id="grep">2691<h3 id="grep-1">

2643 Grep2692 Grep

2644</h3>2693</h3>

2645 2694 


2660 2709 

2661Возвращает результаты поиска. Форма варьируется по `mode`: список файлов, содержимое с совпадениями или количество совпадений.2710Возвращает результаты поиска. Форма варьируется по `mode`: список файлов, содержимое с совпадениями или количество совпадений.

2662 2711 

2663<h3 id="taskstop">2712<h3 id="taskstop-1">

2664 TaskStop2713 TaskStop

2665</h3>2714</h3>

2666 2715 


2677 2726 

2678Возвращает подтверждение после остановки фоновой задачи.2727Возвращает подтверждение после остановки фоновой задачи.

2679 2728 

2680<h3 id="notebookedit">2729<h3 id="notebookedit-1">

2681 NotebookEdit2730 NotebookEdit

2682</h3>2731</h3>

2683 2732 


2699 2748 

2700Возвращает результат редактирования notebook с исходным и обновлённым содержимым файла.2749Возвращает результат редактирования notebook с исходным и обновлённым содержимым файла.

2701 2750 

2702<h3 id="webfetch">2751<h3 id="webfetch-1">

2703 WebFetch2752 WebFetch

2704</h3>2753</h3>

2705 2754 


2718 2767 

2719Возвращает полученное содержимое с HTTP статусом и метаданными.2768Возвращает полученное содержимое с HTTP статусом и метаданными.

2720 2769 

2721<h3 id="websearch">2770<h3 id="websearch-1">

2722 WebSearch2771 WebSearch

2723</h3>2772</h3>

2724 2773 


2740 2789 

2741Возвращает результаты поиска из веб.2790Возвращает результаты поиска из веб.

2742 2791 

2743<h3 id="workflow">2792<h3 id="workflow-1">

2744 Workflow2793 Workflow

2745</h3>2794</h3>

2746 2795 


2770| `scriptPath` | `string` | Путь к сохранённому скрипту workflow для этого запуска. Отредактируйте его и передайте обратно как `scriptPath` для повторного запуска без повторной отправки скрипта |2819| `scriptPath` | `string` | Путь к сохранённому скрипту workflow для этого запуска. Отредактируйте его и передайте обратно как `scriptPath` для повторного запуска без повторной отправки скрипта |

2771| `error` | `string` | Устанавливается, когда скрипт не прошёл проверку синтаксиса. Если присутствует, запуск не начался несмотря на статус `async_launched` |2820| `error` | `string` | Устанавливается, когда скрипт не прошёл проверку синтаксиса. Если присутствует, запуск не начался несмотря на статус `async_launched` |

2772 2821 

2773<h3 id="todowrite">2822<h3 id="todowrite-1">

2774 TodoWrite2823 TodoWrite

2775</h3>2824</h3>

2776 2825 


2797 Начиная с TypeScript Agent SDK 0.3.142, `TodoWrite` отключён по умолчанию. Используйте вместо этого `TaskCreate`, `TaskGet`, `TaskUpdate` и `TaskList`. Смотрите [Миграция на Task tools](/ru/agent-sdk/todo-tracking#migrate-to-task-tools) для обновления кода мониторинга, или установите `CLAUDE_CODE_ENABLE_TASKS=0` для возврата к `TodoWrite`.2846 Начиная с TypeScript Agent SDK 0.3.142, `TodoWrite` отключён по умолчанию. Используйте вместо этого `TaskCreate`, `TaskGet`, `TaskUpdate` и `TaskList`. Смотрите [Миграция на Task tools](/ru/agent-sdk/todo-tracking#migrate-to-task-tools) для обновления кода мониторинга, или установите `CLAUDE_CODE_ENABLE_TASKS=0` для возврата к `TodoWrite`.

2798</Note>2847</Note>

2799 2848 

2800<h3 id="taskcreate">2849<h3 id="taskcreate-1">

2801 TaskCreate2850 TaskCreate

2802</h3>2851</h3>

2803 2852 


2814 2863 

2815Возвращает созданную задачу с назначенным ей ID.2864Возвращает созданную задачу с назначенным ей ID.

2816 2865 

2817<h3 id="taskupdate">2866<h3 id="taskupdate-1">

2818 TaskUpdate2867 TaskUpdate

2819</h3>2868</h3>

2820 2869 


2835 2884 

2836Возвращает результат обновления, включая какие поля изменились.2885Возвращает результат обновления, включая какие поля изменились.

2837 2886 

2838<h3 id="taskget">2887<h3 id="taskget-1">

2839 TaskGet2888 TaskGet

2840</h3>2889</h3>

2841 2890 


2856 2905 

2857Возвращает полную запись задачи или `null` когда ID не найден.2906Возвращает полную запись задачи или `null` когда ID не найден.

2858 2907 

2859<h3 id="tasklist">2908<h3 id="tasklist-1">

2860 TaskList2909 TaskList

2861</h3>2910</h3>

2862 2911 


2876 2925 

2877Возвращает снимок всех задач в текущем списке.2926Возвращает снимок всех задач в текущем списке.

2878 2927 

2879<h3 id="exitplanmode">2928<h3 id="exitplanmode-1">

2880 ExitPlanMode2929 ExitPlanMode

2881</h3>2930</h3>

2882 2931 


2895 2944 

2896Возвращает состояние плана после выхода из режима планирования.2945Возвращает состояние плана после выхода из режима планирования.

2897 2946 

2898<h3 id="listmcpresources">2947<h3 id="listmcpresources-1">

2899 ListMcpResources2948 ListMcpResources

2900</h3>2949</h3>

2901 2950 


2913 2962 

2914Возвращает массив доступных MCP ресурсов.2963Возвращает массив доступных MCP ресурсов.

2915 2964 

2916<h3 id="readmcpresource">2965<h3 id="readmcpresource-1">

2917 ReadMcpResource2966 ReadMcpResource

2918</h3>2967</h3>

2919 2968 


2931 2980 

2932Возвращает содержимое запрошенного MCP ресурса.2981Возвращает содержимое запрошенного MCP ресурса.

2933 2982 

2934<h3 id="enterworktree">2983<h3 id="enterworktree-1">

2935 EnterWorktree2984 EnterWorktree

2936</h3>2985</h3>

2937 2986 


3010type PermissionUpdateDestination =3059type PermissionUpdateDestination =

3011 | "userSettings" // Глобальные пользовательские настройки3060 | "userSettings" // Глобальные пользовательские настройки

3012 | "projectSettings" // Настройки проекта для каждой директории3061 | "projectSettings" // Настройки проекта для каждой директории

3013 | "localSettings" // Gitignored локальные настройки3062 | "localSettings" // Локальные настройки проекта

3014 | "session" // Только текущая сессия3063 | "session" // Только текущая сессия

3015 | "cliArg"; // Аргумент CLI3064 | "cliArg"; // Аргумент CLI

3016```3065```


3049```3098```

3050 3099 

3051<Warning>3100<Warning>

3052 Бета `context-1m-2025-08-07` снята с производства по состоянию на 30 апреля 2026 года. Передача этого значения с Claude Sonnet 4.5 или Sonnet 4 не имеет эффекта, и запросы, превышающие стандартное окно контекста 200k-токенов, возвращают ошибку. Для использования окна контекста 1M-токенов перейдите на [Claude Sonnet 4.6, Claude Opus 4.6 или Claude Opus 4.7](https://platform.claude.com/docs/ru/about-claude/models/overview), которые включают контекст 1M по стандартной цене без требуемого заголовка beta.3101 Бета `context-1m-2025-08-07` снята с производства по состоянию на 30 апреля 2026 года. Передача этого значения с Claude Sonnet 4.5 или Sonnet 4 не имеет эффекта, и запросы, превышающие стандартное окно контекста 200k-токенов, возвращают ошибку. Для использования окна контекста 1M-токенов перейдите на [Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 или Claude Opus 4.8](https://platform.claude.com/docs/ru/about-claude/models/overview), которые включают контекст 1M по стандартной цене без требуемого заголовка beta.

3053</Warning>3102</Warning>

3054 3103 

3055<h3 id="slashcommand">3104<h3 id="slashcommand">


3236 `CallToolResult`3285 `CallToolResult`

3237</h3>3286</h3>

3238 3287 

3239Тип результата MCP tool (из `@modelcontextprotocol/sdk/types.js`). `structuredContent` это объект JSON, который может быть возвращён вместе с `content`, включая блоки изображений. См. [Возврат структурированных данных](/ru/agent-sdk/custom-tools#return-structured-data).3288Тип результата MCP tool (из `@modelcontextprotocol/sdk/types.js`). `structuredContent` это объект JSON, который может быть возвращён вместе с `content`, включая блоки изображений и аудио. См. [Возврат структурированных данных](/ru/agent-sdk/custom-tools#return-structured-data).

3240 3289 

3241```typescript theme={null}3290```typescript theme={null}

3242type CallToolResult = {3291type CallToolResult = {

3243 content: Array<{3292 content: Array<{

3244 type: "text" | "image" | "resource";3293 type: "text" | "image" | "audio" | "resource" | "resource_link";

3245 // Дополнительные поля варьируются по типу3294 // Дополнительные поля варьируются по типу

3246 }>;3295 }>;

3247 structuredContent?: Record<string, unknown>;3296 structuredContent?: Record<string, unknown>;


3848<Warning>3897<Warning>

3849 Команды, работающие с `dangerouslyDisableSandbox: true`, имеют полный доступ к системе. Убедитесь, что ваш обработчик `canUseTool` тщательно проверяет эти запросы.3898 Команды, работающие с `dangerouslyDisableSandbox: true`, имеют полный доступ к системе. Убедитесь, что ваш обработчик `canUseTool` тщательно проверяет эти запросы.

3850 3899 

3851 Если `permissionMode` установлен на `bypassPermissions` и `allowUnsandboxedCommands` включён, модель может автономно выполнять команды вне sandbox без каких-либо запросов одобрения. Эта комбинация фактически позволяет модели молча выходить из изоляции sandbox.3900 Если `permissionMode` установлен на `bypassPermissions` и `allowUnsandboxedCommands` включён, модель может автономно выполнять команды вне sandbox без каких-либо запросов одобрения (явное [`ask` правило](/ru/agent-sdk/permissions#how-permissions-are-evaluated) всё ещё заставляет один). Эта комбинация фактически позволяет модели молча выходить из изоляции sandbox.

3852</Warning>3901</Warning>

3853 3902 

3854<h2 id="see-also">3903<h2 id="see-also">

Details

16 16 

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

18 18 

19## Обнаружение, когда Claude нуждается в вводе19<h2 id="detect-when-claude-needs-input">

20 Обнаружение, когда Claude нуждается в вводе

21</h2>

20 22 

21Передайте callback `canUseTool` в параметры вашего запроса. Callback срабатывает всякий раз, когда Claude нуждается в пользовательском вводе, получая имя инструмента и ввод в качестве аргументов:23Передайте callback `canUseTool` в параметры вашего запроса. Callback срабатывает всякий раз, когда Claude нуждается в пользовательском вводе, получая имя инструмента и ввод в качестве аргументов:

22 24 


49 Чтобы автоматически разрешить или отклонить инструменты без запроса пользователей, используйте [hooks](/ru/agent-sdk/hooks). Hooks выполняются перед `canUseTool` и могут разрешить, отклонить или изменить запросы на основе вашей собственной логики. Вы также можете использовать [hook `PermissionRequest`](/ru/agent-sdk/hooks#available-hooks) для отправки внешних уведомлений (Slack, email, push) когда Claude ждёт одобрения.51 Чтобы автоматически разрешить или отклонить инструменты без запроса пользователей, используйте [hooks](/ru/agent-sdk/hooks). Hooks выполняются перед `canUseTool` и могут разрешить, отклонить или изменить запросы на основе вашей собственной логики. Вы также можете использовать [hook `PermissionRequest`](/ru/agent-sdk/hooks#available-hooks) для отправки внешних уведомлений (Slack, email, push) когда Claude ждёт одобрения.

50</Note>52</Note>

51 53 

52## Обработка запросов на одобрение инструмента54<h2 id="handle-tool-approval-requests">

55 Обработка запросов на одобрение инструмента

56</h2>

53 57 

54После передачи callback `canUseTool` в параметры вашего запроса он срабатывает, когда Claude хочет использовать инструмент, который не одобрен автоматически. Ваш callback получает три аргумента:58После передачи callback `canUseTool` в параметры вашего запроса он срабатывает, когда Claude хочет использовать инструмент, который не одобрен автоматически. Ваш callback получает три аргумента:

55 59 


197 201 

198Этот пример использует поток y/n, где любой ввод, отличный от `y`, рассматривается как отказ. На практике вы можете создать более богатый пользовательский интерфейс, который позволяет пользователям изменять запрос, предоставлять обратную связь или полностью перенаправлять Claude. Подробнее см. [Ответ на запросы инструментов](#respond-to-tool-requests).202Этот пример использует поток y/n, где любой ввод, отличный от `y`, рассматривается как отказ. На практике вы можете создать более богатый пользовательский интерфейс, который позволяет пользователям изменять запрос, предоставлять обратную связь или полностью перенаправлять Claude. Подробнее см. [Ответ на запросы инструментов](#respond-to-tool-requests).

199 203 

200### Ответ на запросы инструментов204<h3 id="respond-to-tool-requests">

205 Ответ на запросы инструментов

206</h3>

201 207 

202Ваш callback возвращает один из двух типов ответов:208Ваш callback возвращает один из двух типов ответов:

203 209 


407 </Tab>413 </Tab>

408</Tabs>414</Tabs>

409 415 

410## Обработка уточняющих вопросов416<h2 id="handle-clarifying-questions">

417 Обработка уточняющих вопросов

418</h2>

411 419 

412Когда Claude нуждается в дополнительном направлении для задачи с несколькими допустимыми подходами, он вызывает инструмент `AskUserQuestion`. Это запускает ваш callback `canUseTool` с `toolName`, установленным на `AskUserQuestion`. Ввод содержит вопросы Claude в виде вариантов с множественным выбором, которые вы выводите пользователю и возвращаете их выборы.420Когда Claude нуждается в дополнительном направлении для задачи с несколькими допустимыми подходами, он вызывает инструмент `AskUserQuestion`. Это запускает ваш callback `canUseTool` с `toolName`, установленным на `AskUserQuestion`. Ввод содержит вопросы Claude в виде вариантов с множественным выбором, которые вы выводите пользователю и возвращаете их выборы.

413 421 


551 </Step>559 </Step>

552</Steps>560</Steps>

553 561 

554### Формат вопроса562<h3 id="question-format">

563 Формат вопроса

564</h3>

555 565 

556Ввод содержит сгенерированные Claude вопросы в массиве `questions`. Каждый вопрос имеет эти поля:566Ввод содержит сгенерированные Claude вопросы в массиве `questions`. Каждый вопрос имеет эти поля:

557 567 

558| Поле | Описание |568| Поле | Описание |

559| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |569| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |

560| `question` | Полный текст вопроса для отображения |570| `question` | Полный текст вопроса для отображения |

561| `header` | Короткая метка для вопроса (максимум 12 символов) |571| `header` | Короткая метка для вопроса (максимум 12 символов) |

562| `options` | Массив из 2-4 вариантов выбора, каждый с `label` и `description`. TypeScript: опционально `preview` (см. [ниже](#option-previews-type-script)) |572| `options` | Массив из 2-4 вариантов выбора, каждый с `label` и `description`. TypeScript: опционально `preview` (см. [ниже](#option-previews-typescript)) |

563| `multiSelect` | Если `true`, пользователи могут выбрать несколько вариантов |573| `multiSelect` | Если `true`, пользователи могут выбрать несколько вариантов |

564 574 

565Структура, которую получает ваш callback:575Структура, которую получает ваш callback:


580}590}

581```591```

582 592 

583#### Предпросмотры вариантов (TypeScript)593<h4 id="option-previews-typescript">

594 Предпросмотры вариантов (TypeScript)

595</h4>

584 596 

585`toolConfig.askUserQuestion.previewFormat` добавляет поле `preview` к каждому варианту, чтобы ваше приложение могло показать визуальный макет рядом с меткой. Без этого параметра Claude не генерирует предпросмотры и поле отсутствует.597`toolConfig.askUserQuestion.previewFormat` добавляет поле `preview` к каждому варианту, чтобы ваше приложение могло показать визуальный макет рядом с меткой. Без этого параметра Claude не генерирует предпросмотры и поле отсутствует.

586 598 


621}633}

622```634```

623 635 

624### Формат ответа636<h3 id="response-format">

637 Формат ответа

638</h3>

625 639 

626Верните объект `answers`, сопоставляющий поле `question` каждого вопроса с `label` выбранного варианта:640Верните объект `answers`, сопоставляющий поле `question` каждого вопроса с `label` выбранного варианта:

627 641 


645}659}

646```660```

647 661 

648#### Поддержка свободного ввода текста662<h4 id="support-free-text-input">

663 Поддержка свободного ввода текста

664</h4>

649 665 

650Предопределённые варианты Claude не всегда охватывают то, что хотят пользователи. Чтобы позволить пользователям вводить свой собственный ответ:666Предопределённые варианты Claude не всегда охватывают то, что хотят пользователи. Чтобы позволить пользователям вводить свой собственный ответ:

651 667 


654 670 

655Полную реализацию см. в [полном примере](#complete-example) ниже.671Полную реализацию см. в [полном примере](#complete-example) ниже.

656 672 

657### Полный пример673<h3 id="complete-example">

674 Полный пример

675</h3>

658 676 

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

660 678 


821 ```839 ```

822</CodeGroup>840</CodeGroup>

823 841 

824## Ограничения842<h2 id="limitations">

843 Ограничения

844</h2>

825 845 

826* **Подагенты**: `AskUserQuestion` в настоящее время недоступен в подагентах, порождённых через инструмент Agent846* **Подагенты**: `AskUserQuestion` в настоящее время недоступен в подагентах, порождённых через инструмент Agent

827* **Ограничения вопросов**: каждый вызов `AskUserQuestion` поддерживает 1-4 вопроса с 2-4 вариантами каждый847* **Ограничения вопросов**: каждый вызов `AskUserQuestion` поддерживает 1-4 вопроса с 2-4 вариантами каждый

828 848 

829## Другие способы получить пользовательский ввод849<h2 id="other-ways-to-get-user-input">

850 Другие способы получить пользовательский ввод

851</h2>

830 852 

831Callback `canUseTool` и инструмент `AskUserQuestion` охватывают большинство сценариев одобрения и уточнения, но SDK предлагает другие способы получить ввод от пользователей:853Callback `canUseTool` и инструмент `AskUserQuestion` охватывают большинство сценариев одобрения и уточнения, но SDK предлагает другие способы получить ввод от пользователей:

832 854 

833### Потоковый ввод855<h3 id="streaming-input">

856 Потоковый ввод

857</h3>

834 858 

835Используйте [потоковый ввод](/ru/agent-sdk/streaming-vs-single-mode) когда вам нужно:859Используйте [потоковый ввод](/ru/agent-sdk/streaming-vs-single-mode) когда вам нужно:

836 860 


840 864 

841Потоковый ввод идеален для разговорных пользовательских интерфейсов, где пользователи взаимодействуют с агентом на протяжении всего выполнения, а не только в контрольных точках одобрения.865Потоковый ввод идеален для разговорных пользовательских интерфейсов, где пользователи взаимодействуют с агентом на протяжении всего выполнения, а не только в контрольных точках одобрения.

842 866 

843### Пользовательские инструменты867<h3 id="custom-tools">

868 Пользовательские инструменты

869</h3>

844 870 

845Используйте [пользовательские инструменты](/ru/agent-sdk/custom-tools) когда вам нужно:871Используйте [пользовательские инструменты](/ru/agent-sdk/custom-tools) когда вам нужно:

846 872 


850 876 

851Пользовательские инструменты дают вам полный контроль над взаимодействием, но требуют больше работы по реализации, чем использование встроенного callback `canUseTool`.877Пользовательские инструменты дают вам полный контроль над взаимодействием, но требуют больше работы по реализации, чем использование встроенного callback `canUseTool`.

852 878 

853## Связанные ресурсы879<h2 id="related-resources">

880 Связанные ресурсы

881</h2>

854 882 

855* [Настройка разрешений](/ru/agent-sdk/permissions): установите режимы и правила разрешений883* [Настройка разрешений](/ru/agent-sdk/permissions): установите режимы и правила разрешений

856* [Управление выполнением с помощью hooks](/ru/agent-sdk/hooks): запустите пользовательский код в ключевых точках жизненного цикла агента884* [Управление выполнением с помощью hooks](/ru/agent-sdk/hooks): запустите пользовательский код в ключевых точках жизненного цикла агента

agent-teams.md +140 −74

Details

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

8 8 

9<Warning>9<Warning>

10 Команды агентов являются экспериментальными и отключены по умолчанию. Включите их, добавив `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` в ваш [settings.json](/ru/settings) или переменную окружения. Команды агентов имеют [известные ограничения](#limitations) в отношении возобновления сеанса, координации задач и поведения при завершении.10 Команды агентов являются экспериментальными и отключены по умолчанию. Включите их, добавив `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` в ваш [settings.json](/ru/settings) или переменную окружения. Без этой переменной команда не будет установлена при запуске сеанса, директории команды не будут созданы, и Claude не будет создавать или предлагать товарищей по команде. Команды агентов имеют [известные ограничения](#limitations) в отношении возобновления сеанса, координации задач и поведения при завершении.

11</Warning>11</Warning>

12 12 

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


15В отличие от [subagents](/ru/sub-agents), которые работают в одном сеансе и могут только докладывать основному агенту, вы также можете взаимодействовать с отдельными товарищами по команде напрямую, не проходя через лидера.15В отличие от [subagents](/ru/sub-agents), которые работают в одном сеансе и могут только докладывать основному агенту, вы также можете взаимодействовать с отдельными товарищами по команде напрямую, не проходя через лидера.

16 16 

17<Note>17<Note>

18 Команды агентов требуют Claude Code версии 2.1.32 или позже. Проверьте вашу версию с помощью `claude --version`.18 На этой странице описываются команды агентов начиная с версии v2.1.178. Когда установлена переменная `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`, создание товарища по команде больше не требует этапа настройки, и очистка происходит автоматически при выходе из сеанса. До версии v2.1.178 вы просили Claude создать и назвать команду в первую очередь, и Claude использовал инструменты `TeamCreate` и `TeamDelete` для её установки и удаления. Оба инструмента больше не существуют. Входной параметр `team_name` в инструменте Agent принимается, но игнорируется, и поле `team_name` в [полезных нагрузках hook](/ru/hooks#taskcreated) `TaskCreated`, `TaskCompleted` и `TeammateIdle` содержит имя, полученное из сеанса, и является устаревшим.

19</Note>19</Note>

20 20 

21На этой странице рассматривается:21На этой странице рассматривается:


25* [Управление вашей командой агентов](#control-your-agent-team), включая режимы отображения, назначение задач и делегирование25* [Управление вашей командой агентов](#control-your-agent-team), включая режимы отображения, назначение задач и делегирование

26* [Лучшие практики для параллельной работы](#best-practices)26* [Лучшие практики для параллельной работы](#best-practices)

27 27 

28## Когда использовать команды агентов28<h2 id="when-to-use-agent-teams">

29 Когда использовать команды агентов

30</h2>

29 31 

30Команды агентов наиболее эффективны для задач, где параллельное исследование добавляет реальную ценность. Полные сценарии см. в [примерах вариантов использования](#use-case-examples). Самые сильные варианты использования:32Команды агентов наиболее эффективны для задач, где параллельное исследование добавляет реальную ценность. Полные сценарии см. в [примерах вариантов использования](#use-case-examples). Самые сильные варианты использования:

31 33 


36 38 

37Команды агентов добавляют накладные расходы на координацию и используют значительно больше токенов, чем один сеанс. Они работают лучше всего, когда товарищи по команде могут работать независимо. Для последовательных задач, редактирования одного файла или работы со множеством зависимостей более эффективны один сеанс или [subagents](/ru/sub-agents).39Команды агентов добавляют накладные расходы на координацию и используют значительно больше токенов, чем один сеанс. Они работают лучше всего, когда товарищи по команде могут работать независимо. Для последовательных задач, редактирования одного файла или работы со множеством зависимостей более эффективны один сеанс или [subagents](/ru/sub-agents).

38 40 

39### Сравнение с subagents41<h3 id="compare-with-subagents">

42 Сравнение с subagents

43</h3>

40 44 

41Как команды агентов, так и [subagents](/ru/sub-agents) позволяют вам распараллелить работу, но они работают по-разному. Выбирайте в зависимости от того, нужны ли вашим работникам общаться друг с другом:45Как команды агентов, так и [subagents](/ru/sub-agents) позволяют вам распараллелить работу, но они работают по-разному. Выбирайте в зависимости от того, нужны ли вашим работникам общаться друг с другом:

42 46 


56 60 

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

58 62 

59## Включение команд агентов63<h2 id="enable-agent-teams">

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

65</h2>

60 66 

61Команды агентов отключены по умолчанию. Включите их, установив переменную окружения `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` на `1`, либо в переменной окружения вашей оболочки, либо через [settings.json](/ru/settings):67Команды агентов отключены по умолчанию. Включите их, установив переменную окружения `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` на `1`, либо в переменной окружения вашей оболочки, либо через [settings.json](/ru/settings):

62 68 


68}74}

69```75```

70 76 

71## Запуск вашей первой команды агентов77<h2 id="start-your-first-agent-team">

78 Запуск вашей первой команды агентов

79</h2>

72 80 

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

74 82 

75Этот пример хорошо работает, потому что три роли независимы и могут исследовать проблему без ожидания друг друга:83Этот пример хорошо работает, потому что три роли независимы и могут исследовать проблему без ожидания друг друга:

76 84 

77```text theme={null}85```text theme={null}

78I'm designing a CLI tool that helps developers track TODO comments across86I'm designing a CLI tool that helps developers track TODO comments across

79their codebase. Create an agent team to explore this from different angles: one87their codebase. Spawn three teammates to explore this from different angles:

80teammate on UX, one on technical architecture, one playing devil's advocate.88one on UX, one on technical architecture, one playing devil's advocate.

81```89```

82 90 

83После этого Claude создает команду с [общим списком задач](/ru/interactive-mode#task-list), порождает товарищей по команде для каждой перспективы, заставляет их исследовать проблему, синтезирует выводы и пытается [очистить команду](#clean-up-the-team) по завершении.91После этого Claude заполняет [общий список задач](/ru/interactive-mode#task-list), создает товарищей по команде для каждой перспективы, заставляет их исследовать проблему и синтезирует выводы по завершении.

84 92 

85Терминал лидера перечисляет всех товарищей по команде и то, над чем они работают. Используйте Shift+Down для циклического переключения между товарищами по команде и отправки им сообщений напрямую. После последнего товарища по команде Shift+Down возвращается к лидеру.93Терминал лидера перечисляет всех товарищей по команде и то, над чем они работают. Используйте Shift+Down для циклического переключения между товарищами по команде и отправки им сообщений напрямую. После последнего товарища по команде Shift+Down возвращается к лидеру.

86 94 

87Если вы хотите, чтобы каждый товарищ по команде находился в отдельной разделенной панели, см. [Выбор режима отображения](#choose-a-display-mode).95Если вы хотите, чтобы каждый товарищ по команде находился в отдельной разделенной панели, см. [Выбор режима отображения](#choose-a-display-mode).

88 96 

89## Управление вашей командой агентов97<h2 id="control-your-agent-team">

98 Управление вашей командой агентов

99</h2>

90 100 

91Скажите лидеру, что вы хотите, на естественном языке. Он обрабатывает координацию команды, назначение задач и делегирование на основе ваших инструкций.101Скажите лидеру, что вы хотите, на естественном языке. Он обрабатывает координацию команды, назначение задач и делегирование на основе ваших инструкций.

92 102 

93### Выбор режима отображения103<h3 id="choose-a-display-mode">

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

105</h3>

94 106 

95Команды агентов поддерживают два режима отображения:107Команды агентов поддерживают два режима отображения:

96 108 


101 `tmux` имеет известные ограничения на некоторых операционных системах и традиционно работает лучше всего на macOS. Использование `tmux -CC` в iTerm2 — это рекомендуемая точка входа в `tmux`.113 `tmux` имеет известные ограничения на некоторых операционных системах и традиционно работает лучше всего на macOS. Использование `tmux -CC` в iTerm2 — это рекомендуемая точка входа в `tmux`.

102</Note>114</Note>

103 115 

104По умолчанию используется `"auto"`, который использует разделенные панели, если вы уже работаете внутри сеанса tmux, и in-process в противном случае. Параметр `"tmux"` включает режим разделенных панелей и автоматически определяет, использовать ли tmux или iTerm2 на основе вашего терминала. Чтобы переопределить, установите [`teammateMode`](/ru/settings#available-settings) в `~/.claude/settings.json`:116По умолчанию используется `"auto"`, который использует разделенные панели, если вы уже работаете внутри сеанса tmux или ваш терминал — это iTerm2, и in-process в противном случае. Параметр `"tmux"` включает режим разделенных панелей и автоматически определяет, использовать ли tmux или iTerm2 на основе вашего терминала. Чтобы переопределить, установите [`teammateMode`](/ru/settings#available-settings) в `~/.claude/settings.json`:

105 117 

106```json theme={null}118```json theme={null}

107{119{


120* **tmux**: установите через менеджер пакетов вашей системы. См. [tmux wiki](https://github.com/tmux/tmux/wiki/Installing) для инструкций, специфичных для платформы.132* **tmux**: установите через менеджер пакетов вашей системы. См. [tmux wiki](https://github.com/tmux/tmux/wiki/Installing) для инструкций, специфичных для платформы.

121* **iTerm2**: установите [`it2` CLI](https://github.com/mkusaka/it2), затем включите Python API в **iTerm2 → Settings → General → Magic → Enable Python API**.133* **iTerm2**: установите [`it2` CLI](https://github.com/mkusaka/it2), затем включите Python API в **iTerm2 → Settings → General → Magic → Enable Python API**.

122 134 

123### Укажите товарищей по команде и модели135<h3 id="specify-teammates-and-models">

136 Укажите товарищей по команде и модели

137</h3>

124 138 

125Claude решает количество товарищей по команде для порождения на основе вашей задачи, или вы можете указать ровно то, что вы хотите:139Claude решает количество товарищей по команде для порождения на основе вашей задачи, или вы можете указать ровно то, что вы хотите:

126 140 

127```text theme={null}141```text theme={null}

128Create a team with 4 teammates to refactor these modules in parallel.142Spawn 4 teammates to refactor these modules in parallel. Use Sonnet for

129Use Sonnet for each teammate.143each teammate.

130```144```

131 145 

132Товарищи по команде не наследуют выбор `/model` лидера по умолчанию. Чтобы изменить модель, используемую, когда подсказка не указывает одну, установите **Default teammate model** в `/config`. Выберите **Default (leader's model)**, чтобы товарищи по команде следовали текущей модели лидера.146Товарищи по команде не наследуют выбор `/model` лидера по умолчанию. Чтобы изменить модель, используемую, когда подсказка не указывает одну, установите **Default teammate model** в `/config`. Выберите **Default (leader's model)**, чтобы товарищи по команде следовали текущей модели лидера.

133 147 

134### Требуйте одобрения плана для товарищей по команде148<h3 id="require-plan-approval-for-teammates">

149 Требуйте одобрения плана для товарищей по команде

150</h3>

135 151 

136Для сложных или рискованных задач вы можете потребовать, чтобы товарищи по команде планировали перед реализацией. Товарищ по команде работает в режиме только для чтения Plan Mode до тех пор, пока лидер не одобрит его подход:152Для сложных или рискованных задач вы можете потребовать, чтобы товарищи по команде планировали перед реализацией. Товарищ по команде работает в режиме только для чтения Plan Mode до тех пор, пока лидер не одобрит его подход:

137 153 


144 160 

145Лидер принимает решения об одобрении автономно. Чтобы повлиять на суждение лидера, дайте ему критерии в вашем запросе, такие как «одобрять только планы, которые включают покрытие тестами» или «отклонять планы, которые изменяют схему базы данных».161Лидер принимает решения об одобрении автономно. Чтобы повлиять на суждение лидера, дайте ему критерии в вашем запросе, такие как «одобрять только планы, которые включают покрытие тестами» или «отклонять планы, которые изменяют схему базы данных».

146 162 

147### Разговаривайте с товарищами по команде напрямую163<h3 id="talk-to-teammates-directly">

164 Разговаривайте с товарищами по команде напрямую

165</h3>

148 166 

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

150 168 

151* **Режим in-process**: используйте Shift+Down для циклического переключения между товарищами по команде, затем введите сообщение для отправки им. Нажмите Enter для просмотра сеанса товарища по команде, затем Escape для прерывания его текущего хода. Нажмите Ctrl+T для переключения списка задач.169* **Режим in-process**: используйте Shift+Down для циклического переключения между товарищами по команде, затем введите сообщение для отправки им. Нажмите Enter для просмотра сеанса товарища по команде, затем Escape для прерывания его текущего хода. Нажмите Ctrl+T для переключения списка задач.

152* **Режим split-pane**: щелкните в панель товарища по команде для прямого взаимодействия с его сеансом. Каждый товарищ по команде имеет полный вид своего собственного терминала.170* **Режим split-pane**: щелкните в панель товарища по команде для прямого взаимодействия с его сеансом. Каждый товарищ по команде имеет полный вид своего собственного терминала.

153 171 

154### Назначение и взятие задач172<h3 id="assign-and-claim-tasks">

173 Назначение и взятие задач

174</h3>

155 175 

156Общий список задач координирует работу по всей команде. Лидер создает задачи, а товарищи по команде работают над ними. Задачи имеют три состояния: ожидание, в процессе и завершено. Задачи также могут зависеть от других задач: ожидающая задача с неразрешенными зависимостями не может быть взята до завершения этих зависимостей.176Общий список задач координирует работу по всей команде. Лидер создает задачи, а товарищи по команде работают над ними. Задачи имеют три состояния: ожидание, в процессе и завершено. Задачи также могут зависеть от других задач: ожидающая задача с неразрешенными зависимостями не может быть взята до завершения этих зависимостей.

157 177 


162 182 

163Взятие задач использует блокировку файлов для предотвращения условий гонки, когда несколько товарищей по команде пытаются взять одну и ту же задачу одновременно.183Взятие задач использует блокировку файлов для предотвращения условий гонки, когда несколько товарищей по команде пытаются взять одну и ту же задачу одновременно.

164 184 

165### Завершение работы товарищей по команде185<h3 id="shut-down-teammates">

186 Завершение работы товарищей по команде

187</h3>

166 188 

167Чтобы корректно завершить сеанс товарища по команде:189Чтобы корректно завершить сеанс товарища по команде, обратитесь к нему по имени. Например, с товарищем по команде по имени researcher:

168 190 

169```text theme={null}191```text theme={null}

170Ask the researcher teammate to shut down192Ask the researcher teammate to shut down


172 194 

173Лидер отправляет запрос на завершение. Товарищ по команде может одобрить, выходя корректно, или отклонить с объяснением.195Лидер отправляет запрос на завершение. Товарищ по команде может одобрить, выходя корректно, или отклонить с объяснением.

174 196 

175### Очистка команды197Общие каталоги команды очищаются автоматически при завершении сеанса, поэтому отдельный шаг очистки не требуется. См. [Architecture](#architecture) для информации о том, какие каталоги удаляются и какие сохраняются для возобновленных сеансов.

176 198 

177Когда вы закончите, попросите лидера очистить команду:199<h3 id="enforce-quality-gates-with-hooks">

178 200 Обеспечение качества с помощью hooks

179```text theme={null}201</h3>

180Clean up the team

181```

182 

183Это удаляет общие ресурсы команды. Когда лидер запускает очистку, он проверяет наличие активных товарищей по команде и завершается с ошибкой, если какие-либо все еще работают, поэтому сначала завершите их.

184 

185<Warning>

186 Всегда используйте лидера для очистки. Товарищи по команде не должны запускать очистку, потому что их контекст команды может не разрешиться правильно, потенциально оставляя ресурсы в несогласованном состоянии.

187</Warning>

188 

189### Обеспечение качества с помощью hooks

190 202 

191Используйте [hooks](/ru/hooks) для обеспечения правил, когда товарищи по команде заканчивают работу или задачи создаются или завершаются:203Используйте [hooks](/ru/hooks) для обеспечения правил, когда товарищи по команде заканчивают работу или задачи создаются или завершаются:

192 204 


194* [`TaskCreated`](/ru/hooks#taskcreated): запускается, когда задача создается. Выйдите с кодом 2, чтобы предотвратить создание и отправить обратную связь.206* [`TaskCreated`](/ru/hooks#taskcreated): запускается, когда задача создается. Выйдите с кодом 2, чтобы предотвратить создание и отправить обратную связь.

195* [`TaskCompleted`](/ru/hooks#taskcompleted): запускается, когда задача отмечается как завершенная. Выйдите с кодом 2, чтобы предотвратить завершение и отправить обратную связь.207* [`TaskCompleted`](/ru/hooks#taskcompleted): запускается, когда задача отмечается как завершенная. Выйдите с кодом 2, чтобы предотвратить завершение и отправить обратную связь.

196 208 

197## Как работают команды агентов209<h2 id="how-agent-teams-work">

210 Как работают команды агентов

211</h2>

198 212 

199Этот раздел охватывает архитектуру и механику команд агентов. Если вы хотите начать их использовать, см. [Управление вашей командой агентов](#control-your-agent-team) выше.213Этот раздел охватывает архитектуру и механику команд агентов. Если вы хотите начать их использовать, см. [Управление вашей командой агентов](#control-your-agent-team) выше.

200 214 

201### Как Claude запускает команды агентов215<h3 id="how-claude-starts-agent-teams">

216 Как Claude запускает команды агентов

217</h3>

202 218 

203Есть два способа запуска команд агентов:219Команда агентов формируется, когда порождается первый товарищ по команде, при этом основной сеанс действует как лидер. Есть два способа, которыми товарищи по команде порождаются:

204 220 

205* **Вы запрашиваете команду**: дайте Claude задачу, которая выигрывает от параллельной работы, и явно попросите команду агентов. Claude создает ее на основе ваших инструкций.221* **Вы запрашиваете товарищей по команде**: дайте Claude задачу, которая выигрывает от параллельной работы, и явно попросите товарищей по команде. Claude порождает их на основе ваших инструкций.

206* **Claude предлагает команду**: если Claude определит, что ваша задача выигрывает от параллельной работы, он может предложить создание команды. Вы подтверждаете перед тем, как он продолжит.222* **Claude предлагает товарищей по команде**: если Claude определит, что ваша задача выигрывает от параллельной работы, он может предложить порождение товарищей по команде. Вы подтверждаете перед тем, как он продолжит.

207 223 

208В обоих случаях вы остаетесь в контроле. Claude не создаст команду без вашего одобрения.224В обоих случаях вы остаетесь в контроле. Claude не будет порождать товарищей по команде без вашего одобрения.

209 225 

210### Архитектура226<h3 id="architecture">

227 Архитектура

228</h3>

211 229 

212Команда агентов состоит из:230Команда агентов состоит из:

213 231 

214| Компонент | Роль |232| Компонент | Роль |

215| :---------------------- | :-------------------------------------------------------------------------------------------------------- |233| :---------------------- | :--------------------------------------------------------------------------------------- |

216| **Лидер команды** | Основной сеанс Claude Code, который создает команду, порождает товарищей по команде и координирует работу |234| **Лидер команды** | Основной сеанс Claude Code, который порождает товарищей по команде и координирует работу |

217| **Товарищи по команде** | Отдельные экземпляры Claude Code, которые каждый работают над назначенными задачами |235| **Товарищи по команде** | Отдельные экземпляры Claude Code, которые каждый работают над назначенными задачами |

218| **Список задач** | Общий список рабочих элементов, которые товарищи по команде берут и завершают |236| **Список задач** | Общий список рабочих элементов, которые товарищи по команде берут и завершают |

219| **Почтовый ящик** | Система обмена сообщениями для коммуникации между агентами |237| **Почтовый ящик** | Система обмена сообщениями для коммуникации между агентами |


222 240 

223Система автоматически управляет зависимостями задач. Когда товарищ по команде завершает задачу, от которой зависят другие задачи, заблокированные задачи разблокируются без ручного вмешательства.241Система автоматически управляет зависимостями задач. Когда товарищ по команде завершает задачу, от которой зависят другие задачи, заблокированные задачи разблокируются без ручного вмешательства.

224 242 

225Команды и задачи хранятся локально:243Команды и задачи хранятся локально под именем, производным от сеанса. Имя — это `session-` с последующими первыми восемью символами ID сеанса:

226 244 

227* **Конфигурация команды**: `~/.claude/teams/{team-name}/config.json`245* **Конфигурация команды**: `~/.claude/teams/{team-name}/config.json`

228* **Список задач**: `~/.claude/tasks/{team-name}/`246* **Список задач**: `~/.claude/tasks/{team-name}/`

229 247 

230Claude Code генерирует оба этих файла автоматически при создании команды и обновляет их по мере присоединения товарищей по команде, перехода в режим ожидания или ухода. Конфигурация команды содержит состояние выполнения, такое как ID сеансов и ID панелей tmux, поэтому не редактируйте ее вручную и не создавайте предварительно: ваши изменения будут перезаписаны при следующем обновлении состояния.248Claude Code генерирует оба этих файла автоматически при запуске сеанса и обновляет их по мере присоединения товарищей по команде, перехода в режим ожидания или ухода. Директория конфигурации команды удаляется при завершении сеанса. Директория списка задач сохраняется локально и никогда не загружается, поэтому возобновленные сеансы сохраняют свои задачи. Хранение управляется тем же [`cleanupPeriodDays`](/ru/settings#available-settings), который вы уже контролируете для стенограмм сеансов.

249 

250Конфигурация команды содержит состояние выполнения, такое как ID сеансов и ID панелей tmux, поэтому не редактируйте ее вручную и не создавайте предварительно: ваши изменения будут перезаписаны при следующем обновлении состояния.

231 251 

232Чтобы определить переиспользуемые роли товарищей по команде, используйте [определения subagent](#use-subagent-definitions-for-teammates) вместо этого.252Чтобы определить переиспользуемые роли товарищей по команде, используйте [определения subagent](#use-subagent-definitions-for-teammates) вместо этого.

233 253 


235 255 

236Нет эквивалента конфигурации команды на уровне проекта. Файл вроде `.claude/teams/teams.json` в каталоге вашего проекта не распознается как конфигурация; Claude обрабатывает его как обычный файл.256Нет эквивалента конфигурации команды на уровне проекта. Файл вроде `.claude/teams/teams.json` в каталоге вашего проекта не распознается как конфигурация; Claude обрабатывает его как обычный файл.

237 257 

238### Использование определений subagent для товарищей по команде258<h3 id="use-subagent-definitions-for-teammates">

259 Использование определений subagent для товарищей по команде

260</h3>

239 261 

240При порождении товарища по команде вы можете ссылаться на тип [subagent](/ru/sub-agents) из любой [области subagent](/ru/sub-agents#choose-the-subagent-scope): проект, пользователь, плагин или определенный CLI. Это позволяет вам определить роль один раз, такую как security-reviewer или test-runner, и переиспользовать ее как делегированный subagent и как товарища по команде в команде агентов.262При порождении товарища по команде вы можете ссылаться на тип [subagent](/ru/sub-agents) из любой [области subagent](/ru/sub-agents#choose-the-subagent-scope): проект, пользователь, плагин или определенный CLI. Это позволяет вам определить роль один раз, такую как security-reviewer или test-runner, и переиспользовать ее как делегированный subagent и как товарища по команде в команде агентов.

241 263 


251 Поля frontmatter `skills` и `mcpServers` в определении subagent не применяются, когда это определение работает как товарищ по команде. Товарищи по команде загружают skills и MCP servers из ваших параметров проекта и пользователя, так же как обычный сеанс.273 Поля frontmatter `skills` и `mcpServers` в определении subagent не применяются, когда это определение работает как товарищ по команде. Товарищи по команде загружают skills и MCP servers из ваших параметров проекта и пользователя, так же как обычный сеанс.

252</Note>274</Note>

253 275 

254### Разрешения276<h3 id="permissions">

277 Разрешения

278</h3>

255 279 

256Товарищи по команде начинают с параметров разрешений лидера. Если лидер работает с `--dangerously-skip-permissions`, все товарищи по команде тоже. После порождения вы можете изменить отдельные режимы товарищей по команде, но вы не можете установить режимы для отдельных товарищей по команде во время порождения.280Товарищи по команде начинают с параметров разрешений лидера. Если лидер работает с `--dangerously-skip-permissions`, все товарищи по команде тоже. После порождения вы можете изменить отдельные режимы товарищей по команде, но вы не можете установить режимы для отдельных товарищей по команде во время порождения.

257 281 

258### Контекст и коммуникация282<h3 id="context-and-communication">

283 Контекст и коммуникация

284</h3>

259 285 

260Каждый товарищ по команде имеет свое собственное контекстное окно. При порождении товарищ по команде загружает тот же контекст проекта, что и обычный сеанс: CLAUDE.md, MCP servers и skills. Он также получает запрос на порождение от лидера. История разговора лидера не переносится.286Каждый товарищ по команде имеет свое собственное контекстное окно. При порождении товарищ по команде загружает тот же контекст проекта, что и обычный сеанс: CLAUDE.md, MCP servers и skills. Он также получает запрос на порождение от лидера. История разговора лидера не переносится.

261 287 


268 294 

269Лидер назначает каждому товарищу по команде имя при его порождении, и любой товарищ по команде может отправить сообщение любому другому по этому имени. Чтобы получить предсказуемые имена, которые вы можете использовать в более поздних запросах, скажите лидеру, как назвать каждого товарища по команде в вашей инструкции по порождению.295Лидер назначает каждому товарищу по команде имя при его порождении, и любой товарищ по команде может отправить сообщение любому другому по этому имени. Чтобы получить предсказуемые имена, которые вы можете использовать в более поздних запросах, скажите лидеру, как назвать каждого товарища по команде в вашей инструкции по порождению.

270 296 

271### Использование токенов297<h3 id="token-usage">

298 Использование токенов

299</h3>

272 300 

273Команды агентов используют значительно больше токенов, чем один сеанс. Каждый товарищ по команде имеет свое собственное контекстное окно, и использование токенов масштабируется с количеством активных товарищей по команде. Для исследования, проверки и работы над новыми функциями дополнительные токены обычно стоят того. Для рутинных задач один сеанс более экономичен. См. [стоимость токенов команды агентов](/ru/costs#agent-team-token-costs) для руководства по использованию.301Команды агентов используют значительно больше токенов, чем один сеанс. Каждый товарищ по команде имеет свое собственное контекстное окно, и использование токенов масштабируется с количеством активных товарищей по команде. Для исследования, проверки и работы над новыми функциями дополнительные токены обычно стоят того. Для рутинных задач один сеанс более экономичен. См. [стоимость токенов команды агентов](/ru/costs#agent-team-token-costs) для руководства по использованию.

274 302 

275## Примеры вариантов использования303<h2 id="use-case-examples">

304 Примеры вариантов использования

305</h2>

276 306 

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

278 308 

279### Запуск параллельной проверки кода309<h3 id="run-a-parallel-code-review">

310 Запуск параллельной проверки кода

311</h3>

280 312 

281Один рецензент имеет тенденцию сосредотачиваться на одном типе проблемы за раз. Разделение критериев проверки на независимые области означает, что безопасность, производительность и покрытие тестами получают тщательное внимание одновременно. Запрос назначает каждому товарищу по команде отдельный объектив, чтобы они не перекрывались:313Один рецензент имеет тенденцию сосредотачиваться на одном типе проблемы за раз. Разделение критериев проверки на независимые области означает, что безопасность, производительность и покрытие тестами получают тщательное внимание одновременно. Запрос назначает каждому товарищу по команде отдельный объектив, чтобы они не перекрывались:

282 314 

283```text theme={null}315```text theme={null}

284Create an agent team to review PR #142. Spawn three reviewers:316Spawn three teammates to review PR #142:

285- One focused on security implications317- One focused on security implications

286- One checking performance impact318- One checking performance impact

287- One validating test coverage319- One validating test coverage


290 322 

291Каждый рецензент работает с одного и того же PR, но применяет другой фильтр. Лидер синтезирует выводы всех трех после их завершения.323Каждый рецензент работает с одного и того же PR, но применяет другой фильтр. Лидер синтезирует выводы всех трех после их завершения.

292 324 

293### Исследование с конкурирующими гипотезами325<h3 id="investigate-with-competing-hypotheses">

326 Исследование с конкурирующими гипотезами

327</h3>

294 328 

295Когда первопричина неясна, один агент имеет тенденцию находить одно правдоподобное объяснение и останавливаться. Запрос борется с этим, делая товарищей по команде явно враждебными: работа каждого — не только исследовать свою теорию, но и оспаривать теории других.329Когда первопричина неясна, один агент имеет тенденцию находить одно правдоподобное объяснение и останавливаться. Запрос борется с этим, делая товарищей по команде явно враждебными: работа каждого — не только исследовать свою теорию, но и оспаривать теории других.

296 330 


305 339 

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

307 341 

308## Лучшие практики342<h2 id="best-practices">

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

344</h2>

309 345 

310### Дайте товарищам по команде достаточно контекста346<h3 id="give-teammates-enough-context">

347 Дайте товарищам по команде достаточно контекста

348</h3>

311 349 

312Товарищи по команде автоматически загружают контекст проекта, включая CLAUDE.md, MCP servers и skills, но они не наследуют историю разговора лидера. См. [Контекст и коммуникация](#context-and-communication) для деталей. Включите детали, специфичные для задачи, в запрос на порождение:350Товарищи по команде автоматически загружают контекст проекта, включая CLAUDE.md, MCP servers и skills, но они не наследуют историю разговора лидера. См. [Контекст и коммуникация](#context-and-communication) для деталей. Включите детали, специфичные для задачи, в запрос на порождение:

313 351 


318httpOnly cookies. Report any issues with severity ratings."356httpOnly cookies. Report any issues with severity ratings."

319```357```

320 358 

321### Выберите подходящий размер команды359<h3 id="choose-an-appropriate-team-size">

360 Выберите подходящий размер команды

361</h3>

322 362 

323Нет жесткого ограничения на количество товарищей по команде, но применяются практические ограничения:363Нет жесткого ограничения на количество товарищей по команде, но применяются практические ограничения:

324 364 


332 372 

333Масштабируйте только когда работа действительно выигрывает от одновременной работы товарищей по команде. Три сосредоточенных товарища по команде часто превосходят пять рассеянных.373Масштабируйте только когда работа действительно выигрывает от одновременной работы товарищей по команде. Три сосредоточенных товарища по команде часто превосходят пять рассеянных.

334 374 

335### Размер задач надлежащим образом375<h3 id="size-tasks-appropriately">

376 Размер задач надлежащим образом

377</h3>

336 378 

337* **Слишком маленькие**: накладные расходы на координацию превышают выгоду379* **Слишком маленькие**: накладные расходы на координацию превышают выгоду

338* **Слишком большие**: товарищи по команде работают слишком долго без проверок, увеличивая риск потраченной впустую работы380* **Слишком большие**: товарищи по команде работают слишком долго без проверок, увеличивая риск потраченной впустую работы


342 Лидер разбивает работу на задачи и автоматически назначает их товарищам по команде. Если он не создает достаточно задач, попросите его разделить работу на более мелкие части. Наличие 5-6 задач на товарища по команде держит всех продуктивными и позволяет лидеру переназначить работу, если кто-то застрял.384 Лидер разбивает работу на задачи и автоматически назначает их товарищам по команде. Если он не создает достаточно задач, попросите его разделить работу на более мелкие части. Наличие 5-6 задач на товарища по команде держит всех продуктивными и позволяет лидеру переназначить работу, если кто-то застрял.

343</Tip>385</Tip>

344 386 

345### Ждите, пока товарищи по команде закончат387<h3 id="wait-for-teammates-to-finish">

388 Ждите, пока товарищи по команде закончат

389</h3>

346 390 

347Иногда лидер начинает реализовывать задачи сам вместо ожидания товарищей по команде. Если вы заметите это:391Иногда лидер начинает реализовывать задачи сам вместо ожидания товарищей по команде. Если вы заметите это:

348 392 


350Wait for your teammates to complete their tasks before proceeding394Wait for your teammates to complete their tasks before proceeding

351```395```

352 396 

353### Начните с исследования и проверки397<h3 id="start-with-research-and-review">

398 Начните с исследования и проверки

399</h3>

354 400 

355Если вы новичок в командах агентов, начните с задач, которые имеют четкие границы и не требуют написания кода: проверка PR, исследование библиотеки или исследование ошибки. Эти задачи показывают ценность параллельного исследования без проблем координации, которые приходят с параллельной реализацией.401Если вы новичок в командах агентов, начните с задач, которые имеют четкие границы и не требуют написания кода: проверка PR, исследование библиотеки или исследование ошибки. Эти задачи показывают ценность параллельного исследования без проблем координации, которые приходят с параллельной реализацией.

356 402 

357### Избегайте конфликтов файлов403<h3 id="avoid-file-conflicts">

404 Избегайте конфликтов файлов

405</h3>

358 406 

359Два товарища по команде, редактирующие один и тот же файл, приводит к перезаписям. Разбейте работу так, чтобы каждый товарищ по команде владел другим набором файлов.407Два товарища по команде, редактирующие один и тот же файл, приводит к перезаписям. Разбейте работу так, чтобы каждый товарищ по команде владел другим набором файлов.

360 408 

361### Мониторинг и управление409<h3 id="monitor-and-steer">

410 Мониторинг и управление

411</h3>

362 412 

363Проверяйте прогресс товарищей по команде, переориентируйте подходы, которые не работают, и синтезируйте выводы по мере их поступления. Оставление команды без присмотра на слишком долгое время увеличивает риск потраченной впустую работы.413Проверяйте прогресс товарищей по команде, переориентируйте подходы, которые не работают, и синтезируйте выводы по мере их поступления. Оставление команды без присмотра на слишком долгое время увеличивает риск потраченной впустую работы.

364 414 

365## Устранение неполадок415<h2 id="troubleshooting">

416 Устранение неполадок

417</h2>

366 418 

367### Товарищи по команде не появляются419<h3 id="teammates-not-appearing">

420 Товарищи по команде не появляются

421</h3>

368 422 

369Если товарищи по команде не появляются после того, как вы попросили Claude создать команду:423Если товарищи по команде не появляются после того, как вы попросили Claude создать команду:

370 424 


376 ```430 ```

377* Для iTerm2 проверьте, что `it2` CLI установлен и Python API включен в предпочтениях iTerm2.431* Для iTerm2 проверьте, что `it2` CLI установлен и Python API включен в предпочтениях iTerm2.

378 432 

379### Слишком много запросов разрешений433<h3 id="too-many-permission-prompts">

434 Слишком много запросов разрешений

435</h3>

380 436 

381Запросы разрешений товарищей по команде всплывают к лидеру, что может создать трение. Предварительно одобрите общие операции в ваших [параметрах разрешений](/ru/permissions) перед порождением товарищей по команде, чтобы уменьшить прерывания.437Запросы разрешений товарищей по команде всплывают к лидеру, что может создать трение. Предварительно одобрите общие операции в ваших [параметрах разрешений](/ru/permissions) перед порождением товарищей по команде, чтобы уменьшить прерывания.

382 438 

383### Товарищи по команде останавливаются при ошибках439<h3 id="teammates-stopping-on-errors">

440 Товарищи по команде останавливаются при ошибках

441</h3>

384 442 

385Товарищи по команде могут остановиться после возникновения ошибок вместо восстановления. Проверьте их вывод, используя Shift+Down в режиме in-process или щелкнув панель в режиме split, затем либо:443Товарищи по команде могут остановиться после возникновения ошибок вместо восстановления. Проверьте их вывод, используя Shift+Down в режиме in-process или щелкнув панель в режиме split, затем либо:

386 444 

387* Дайте им дополнительные инструкции напрямую445* Дайте им дополнительные инструкции напрямую

388* Порождите товарища по команде-замену для продолжения работы446* Порождите товарища по команде-замену для продолжения работы

389 447 

390### Лидер завершает работу до завершения работы448<h3 id="lead-shuts-down-before-work-is-done">

449 Лидер завершает работу до завершения работы

450</h3>

391 451 

392Лидер может решить, что команда закончена до того, как все задачи действительно завершены. Если это произойдет, скажите ему продолжать. Вы также можете сказать лидеру ждать, пока товарищи по команде закончат перед тем, как продолжить, если он начинает работу вместо делегирования.452Лидер может решить, что команда закончена до того, как все задачи действительно завершены. Если это произойдет, скажите ему продолжать. Вы также можете сказать лидеру ждать, пока товарищи по команде закончат перед тем, как продолжить, если он начинает работу вместо делегирования.

393 453 

394### Осиротевшие сеансы tmux454<h3 id="orphaned-tmux-sessions">

455 Осиротевшие сеансы tmux

456</h3>

395 457 

396Если сеанс tmux сохраняется после завершения команды, он может не быть полностью очищен. Перечислите сеансы и убейте созданный командой:458Если сеанс tmux сохраняется после завершения сеанса Claude Code, он может не быть полностью очищен. Перечислите сеансы и убейте созданный командой:

397 459 

398```bash theme={null}460```bash theme={null}

399tmux ls461tmux ls

400tmux kill-session -t <session-name>462tmux kill-session -t <session-name>

401```463```

402 464 

403## Ограничения465<h2 id="limitations">

466 Ограничения

467</h2>

404 468 

405Команды агентов являются экспериментальными. Текущие ограничения, о которых следует знать:469Команды агентов являются экспериментальными. Текущие ограничения, о которых следует знать:

406 470 

407* **Нет возобновления сеанса с товарищами по команде in-process**: `/resume` и `/rewind` не восстанавливают товарищей по команде in-process. После возобновления сеанса лидер может попытаться отправить сообщение товарищам по команде, которые больше не существуют. Если это произойдет, скажите лидеру порождать новых товарищей по команде.471* **Нет возобновления сеанса с товарищами по команде in-process**: `/resume` и `/rewind` не восстанавливают товарищей по команде in-process. После возобновления сеанса лидер может попытаться отправить сообщение товарищам по команде, которые больше не существуют. Если это произойдет, скажите лидеру порождать новых товарищей по команде.

408* **Статус задачи может отставать**: товарищи по команде иногда не отмечают задачи как завершенные, что блокирует зависимые задачи. Если задача кажется застрявшей, проверьте, действительно ли работа выполнена, и обновите статус задачи вручную или скажите лидеру подтолкнуть товарища по команде.472* **Статус задачи может отставать**: товарищи по команде иногда не отмечают задачи как завершенные, что блокирует зависимые задачи. Если задача кажется застрявшей, проверьте, действительно ли работа выполнена, и обновите статус задачи вручную или скажите лидеру подтолкнуть товарища по команде.

409* **Завершение может быть медленным**: товарищи по команде завершают свой текущий запрос или вызов инструмента перед завершением, что может занять время.473* **Завершение может быть медленным**: товарищи по команде завершают свой текущий запрос или вызов инструмента перед завершением, что может занять время.

410* **Одна команда на сеанс**: лидер может управлять только одной командой за раз. Очистите текущую команду перед запуском новой.474* **Одна команда на сеанс**: сеанс имеет ровно одну команду, ограниченную этим сеансом. Вы не можете создавать дополнительные именованные команды или делиться командой между сеансами.

411* **Нет вложенных команд**: товарищи по команде не могут порождать свои собственные команды или товарищей по команде. Только лидер может управлять командой.475* **Нет вложенных команд**: товарищи по команде не могут порождать своих собственных товарищей по команде. Только лидер может управлять командой.

412* **Лидер фиксирован**: сеанс, который создает команду, является лидером на протяжении всей его жизни. Вы не можете повысить товарища по команде до лидера или передать лидерство.476* **Лидер фиксирован**: основной сеанс является лидером на протяжении всей его жизни. Вы не можете повысить товарища по команде до лидера или передать лидерство.

413* **Разрешения установлены при порождении**: все товарищи по команде начинают с режима разрешений лидера. Вы можете изменить отдельные режимы товарищей по команде после порождения, но вы не можете установить режимы для отдельных товарищей по команде во время порождения.477* **Разрешения установлены при порождении**: все товарищи по команде начинают с режима разрешений лидера. Вы можете изменить отдельные режимы товарищей по команде после порождения, но вы не можете установить режимы для отдельных товарищей по команде во время порождения.

414* **Разделенные панели требуют tmux или iTerm2**: режим in-process по умолчанию работает в любом терминале. Режим разделенных панелей не поддерживается в интегрированном терминале VS Code, Windows Terminal или Ghostty.478* **Разделенные панели требуют tmux или iTerm2**: режим in-process по умолчанию работает в любом терминале. Режим разделенных панелей не поддерживается в интегрированном терминале VS Code, Windows Terminal или Ghostty.

415 479 


417 **`CLAUDE.md` работает нормально**: товарищи по команде читают файлы `CLAUDE.md` из своего рабочего каталога. Используйте это для предоставления руководства, специфичного для проекта, всем товарищам по команде.481 **`CLAUDE.md` работает нормально**: товарищи по команде читают файлы `CLAUDE.md` из своего рабочего каталога. Используйте это для предоставления руководства, специфичного для проекта, всем товарищам по команде.

418</Tip>482</Tip>

419 483 

420## Следующие шаги484<h2 id="next-steps">

485 Следующие шаги

486</h2>

421 487 

422Изучите связанные подходы для параллельной работы и делегирования:488Изучите связанные подходы для параллельной работы и делегирования:

423 489 

agent-view.md +13 −6

Details

143 143 

144Однострочное резюме в каждой строке генерируется [моделью класса Haiku](/ru/model-config), поэтому строка может сказать вам, что делает сеанс, что ему требуется или что он произвёл, без открытия стенограммы. Пока сеанс активно работает, резюме обновляется не более одного раза каждые 15 секунд, плюс один раз, когда каждый ход заканчивается.144Однострочное резюме в каждой строке генерируется [моделью класса Haiku](/ru/model-config), поэтому строка может сказать вам, что делает сеанс, что ему требуется или что он произвёл, без открытия стенограммы. Пока сеанс активно работает, резюме обновляется не более одного раза каждые 15 секунд, плюс один раз, когда каждый ход заканчивается.

145 145 

146Начиная с v2.1.161, когда сеанс запускает два или более параллельных рабочих элемента, таких как subagents, фоновые команды shell или мониторы, перед текстом резюме появляется счётчик `done/total`, например `2/5`.

147 

146Каждое обновление — это один короткий запрос класса Haiku через вашего обычного поставщика, выставляемый и обрабатываемый в соответствии с теми же [условиями использования данных](/ru/data-usage), что и сам сеанс. На сторонних поставщиках, таких как Bedrock, Vertex AI, Microsoft Foundry и пользовательские шлюзы, запрос возвращается к основной модели сеанса, когда модель Haiku не настроена. Установите [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/ru/model-config#environment-variables) для выбора модели для этих резюме на этих поставщиках.148Каждое обновление — это один короткий запрос класса Haiku через вашего обычного поставщика, выставляемый и обрабатываемый в соответствии с теми же [условиями использования данных](/ru/data-usage), что и сам сеанс. На сторонних поставщиках, таких как Bedrock, Vertex AI, Microsoft Foundry и пользовательские шлюзы, запрос возвращается к основной модели сеанса, когда модель Haiku не настроена. Установите [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/ru/model-config#environment-variables) для выбора модели для этих резюме на этих поставщиках.

147 149 

148<h3 id="pull-request-status">150<h3 id="pull-request-status">


170 172 

171Нажмите `Space` на выбранной строке, чтобы открыть панель просмотра. Она показывает, что требуется сеансу от вас, его последний вывод и любые pull request, которые он открыл. В большинстве случаев этого достаточно, и вам никогда не нужно открывать полную стенограмму.173Нажмите `Space` на выбранной строке, чтобы открыть панель просмотра. Она показывает, что требуется сеансу от вас, его последний вывод и любые pull request, которые он открыл. В большинстве случаев этого достаточно, и вам никогда не нужно открывать полную стенограмму.

172 174 

175Начиная с v2.1.161, когда сеанс запускает параллельные рабочие элементы, панель также называет самый долгоживущий из них и как долго он работает, поэтому вы можете увидеть, на что ждёт сеанс, без подключения.

176 

173Введите ответ в панель просмотра и нажмите `Enter`, чтобы отправить его этому сеансу. Когда сеанс задаёт вопрос с несколькими вариантами ответов, панель просмотра показывает варианты и вы можете нажать цифровую клавишу для выбора одного. Для других заблокированных сеансов нажмите `Tab`, чтобы заполнить ввод предложенным ответом, который вы можете отредактировать перед отправкой. Начните ответ с `!`, чтобы отправить команду Bash вместо этого.177Введите ответ в панель просмотра и нажмите `Enter`, чтобы отправить его этому сеансу. Когда сеанс задаёт вопрос с несколькими вариантами ответов, панель просмотра показывает варианты и вы можете нажать цифровую клавишу для выбора одного. Для других заблокированных сеансов нажмите `Tab`, чтобы заполнить ввод предложенным ответом, который вы можете отредактировать перед отправкой. Начните ответ с `!`, чтобы отправить команду Bash вместо этого.

174 178 

175С включённой [голосовой диктовкой](/ru/voice-dictation) удерживайте или нажимайте клавишу push-to-talk, пока фокус находится на вводе ответа, чтобы продиктовать ответ вместо его ввода. То же самое работает в поле отправки внизу agent view.179Начиная с v2.1.145, с включённой [голосовой диктовкой](/ru/voice-dictation), удерживайте или нажимайте клавишу push-to-talk, пока фокус находится на вводе ответа, чтобы продиктовать ответ вместо его ввода. То же самое работает в поле отправки внизу agent view.

176 180 

177Используйте `↑` и `↓` для просмотра соседних сеансов без закрытия панели или `→` для подключения.181Используйте `↑` и `↓` для просмотра соседних сеансов без закрытия панели или `→` для подключения.

178 182 


224| `a:<name>` | Сеансы, запускающие названного агента |228| `a:<name>` | Сеансы, запускающие названного агента |

225| `s:<state>` | Сеансы в данном состоянии, такие как `s:working`. Также принимает `s:blocked` для всего, что ждёт вас |229| `s:<state>` | Сеансы в данном состоянии, такие как `s:working`. Также принимает `s:blocked` для всего, что ждёт вас |

226| `#<number>` или URL pull request | Сеанс, работающий над этим pull request |230| `#<number>` или URL pull request | Сеанс, работающий над этим pull request |

231| Любой другой URL | Сеанс, первый запрос которого содержал этот URL |

227 232 

228<h3 id="keyboard-shortcuts">233<h3 id="keyboard-shortcuts">

229 Keyboard shortcuts234 Keyboard shortcuts


478Каждый фоновый сеанс имеет короткий ID, который вы можете использовать из оболочки. ID выводится при запуске сеанса с помощью `claude --bg`, и ID каждого сеанса — это имя его каталога в `~/.claude/jobs/`. Эти команды полезны для написания скриптов или когда вы не хотите открывать agent view.483Каждый фоновый сеанс имеет короткий ID, который вы можете использовать из оболочки. ID выводится при запуске сеанса с помощью `claude --bg`, и ID каждого сеанса — это имя его каталога в `~/.claude/jobs/`. Эти команды полезны для написания скриптов или когда вы не хотите открывать agent view.

479 484 

480| Команда | Назначение |485| Команда | Назначение |

481| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |486| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

482| `claude agents` | Открыть agent view |487| `claude agents` | Открыть agent view |

483| `claude agents --cwd <path>` | Открыть agent view с областью действия сеансов, запущенных в `<path>` |488| `claude agents --cwd <path>` | Открыть agent view с областью действия сеансов, запущенных в `<path>` |

484| `claude agents --json` | Вывести активные сеансы в виде массива JSON и выйти. Каждая запись содержит `pid`, `cwd`, `kind` и `startedAt`, а также `sessionId`, `name` и `status` при их наличии. Объедините с `--cwd <path>` для фильтрации |489| `claude agents --json` | Вывести активные сеансы в виде массива JSON и выйти: каждый живой сеанс, плюс фоновые сеансы, которые все еще работают или заблокированы, даже если их процесс завершился. Добавьте `--all`, чтобы также включить завершенные фоновые сеансы. Каждая запись содержит `cwd`, `kind` и `startedAt`. Фоновые записи также содержат `id`, используемый с `claude attach`/`logs`/`stop`, и `state`: одно из `working`, `blocked`, `done`, `failed` или `stopped`. `pid` и `status` присутствуют только пока процесс активен, плюс `waitingFor`, когда status равен `waiting`, что указывает, на что заблокирован сеанс, например `permission prompt` или `input needed`; `sessionId` и `name` появляются при их установке. Объедините с `--cwd <path>` для фильтрации |

485| `claude attach <id>` | Подключиться к сеансу в этом терминале |490| `claude attach <id>` | Подключиться к сеансу в этом терминале |

486| `claude logs <id>` | Вывести последний вывод сеанса |491| `claude logs <id>` | Вывести последний вывод сеанса |

487| `claude stop <id>` | Остановить сеанс. Также принимает `claude kill` |492| `claude stop <id>` | Остановить сеанс. Также принимает `claude kill` |


530 535 

531Каждый фоновый сеанс имеет переменную окружения `CLAUDE_JOB_DIR`, установленную в его каталог `~/.claude/jobs/<id>`, поэтому команды оболочки, которые запускает сеанс, могут записывать временные файлы в `$CLAUDE_JOB_DIR/tmp` без конфликтов с параллельными сеансами.536Каждый фоновый сеанс имеет переменную окружения `CLAUDE_JOB_DIR`, установленную в его каталог `~/.claude/jobs/<id>`, поэтому команды оболочки, которые запускает сеанс, могут записывать временные файлы в `$CLAUDE_JOB_DIR/tmp` без конфликтов с параллельными сеансами.

532 537 

533Чтобы проверить это состояние без прямого чтения файлов, запустите `claude daemon status`. Он сообщает, доступен ли супервизор, его идентификатор процесса и версию, каталог сокета и сколько фоновых сеансов активны. `/doctor` включает сводку той же проверки. В Windows `claude daemon status` выводит основную ошибку файла, когда файл ключа pipe супервизора заблокирован или нечитаем, вместо того чтобы сообщать об общей ошибке подключения.538Чтобы проверить это состояние без прямого чтения файлов, запустите `claude daemon status`. Он сообщает, доступен ли супервизор, его идентификатор процесса и версию, каталог сокета и сколько фоновых сеансов активны. `/doctor` включает сводку той же проверки. На Windows `claude daemon status` выводит основную ошибку файла, когда файл ключа pipe супервизора заблокирован или нечитаем, вместо того чтобы сообщать об общей ошибке подключения.

539 

540Команда также предупреждает, когда работающий супервизор находится на другой версии, чем `claude`, который вы вызвали, что происходит после обновления, в которое супервизор ещё не перезагрузился. Предупреждение показывает обе версии и говорит вам запустить `claude daemon stop --any` для получения новой версии. Когда Claude Code установлен как служба ОС, предлагаемая команда — это `claude daemon stop` без флага.

534 541 

535<h3 id="turn-off-agent-view">542<h3 id="turn-off-agent-view">

536 Отключение представления агента543 Отключение представления агента


556 563 

557До отправки вашего первого сеанса представление агентов показывает краткую подсказку адаптации с примерами подсказок вместо списка сеансов. Введите подсказку в поле ввода внизу и нажмите `Enter`, чтобы отправить ваш первый сеанс.564До отправки вашего первого сеанса представление агентов показывает краткую подсказку адаптации с примерами подсказок вместо списка сеансов. Введите подсказку в поле ввода внизу и нажмите `Enter`, чтобы отправить ваш первый сеанс.

558 565 

559<h3 id="cannot-open-agents-because-background-tasks-are-running">566<h3 id="cannot-open-agents-because-work-is-running-in-the-background">

560 Невозможно открыть агентов, так как выполняются фоновые задачи567 Невозможно открыть агентов, так как выполняются фоновые задачи

561</h3>568</h3>

562 569 

563Если нажатие `←` для перевода текущего сеанса в фоновый режим показывает `Cannot open agents — N background task(s) running`, сеанс имеет незавершённую работу, такую как подагент, динамический рабочий процесс или фоновую команду оболочки, и сочетание клавиш не будет молча её отменять. Запустите `/tasks`, чтобы увидеть, что выполняется, затем `/bg`, чтобы подтвердить отмену. См. [From inside a session](#from-inside-a-session), чтобы узнать, что передаётся и что не передаётся при переводе сеанса в фоновый режим.570Если нажатие `←` для перевода текущего сеанса в фоновый режим показывает `Cannot open agents — N still running in the background`, сеанс имеет незавершённую работу, такую как подагент, динамический рабочий процесс или фоновую команду оболочки, и сочетание клавиш не будет молча её отменять. Запустите `/tasks`, чтобы увидеть, что выполняется, затем `/bg`, чтобы подтвердить отмену. См. [From inside a session](#from-inside-a-session), чтобы узнать, что передаётся и что не передаётся при переводе сеанса в фоновый режим.

564 571 

565<h3 id="prompt-rejected-as-too-short">572<h3 id="prompt-rejected-as-too-short">

566 Подсказка отклонена как слишком короткая573 Подсказка отклонена как слишком короткая

agents.md +2 −2

Details

9[Subagents](/ru/sub-agents), [agent view](/ru/agent-view), [agent teams](/ru/agent-teams) и [dynamic workflows](/ru/workflows) каждый параллелизирует работу по-разному. Правильный выбор зависит от того, хотите ли вы оставаться в каждом разговоре сами, передать задачи и вернуться позже, или позволить Claude координировать группу работников для вас.9[Subagents](/ru/sub-agents), [agent view](/ru/agent-view), [agent teams](/ru/agent-teams) и [dynamic workflows](/ru/workflows) каждый параллелизирует работу по-разному. Правильный выбор зависит от того, хотите ли вы оставаться в каждом разговоре сами, передать задачи и вернуться позже, или позволить Claude координировать группу работников для вас.

10 10 

11| Подход | Что вы получаете | Используйте, когда |11| Подход | Что вы получаете | Используйте, когда |

12| :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |12| :--------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

13| [Subagents](/ru/sub-agents) | Делегированные работники в одном сеансе, которые выполняют побочную задачу в своем собственном контексте и возвращают резюме | Побочная задача заполнит ваш основной разговор результатами поиска, логами или содержимым файлов, на которые вы больше не будете ссылаться |13| [Subagents](/ru/sub-agents) | Делегированные работники в одном сеансе, которые выполняют побочную задачу в своем собственном контексте и возвращают резюме | Побочная задача заполнит ваш основной разговор результатами поиска, логами или содержимым файлов, на которые вы больше не будете ссылаться |

14| [Agent view](/ru/agent-view) | Один экран для отправки и мониторинга сеансов, работающих в фоновом режиме, открывается с помощью `claude agents`. Предварительный просмотр исследования | У вас есть несколько независимых задач, и вы хотите их передать, проверить статус с первого взгляда и вмешаться только когда один из них нуждается в вас |14| [Agent view](/ru/agent-view) | Один экран для отправки и мониторинга сеансов, работающих в фоновом режиме, открывается с помощью `claude agents`. Предварительный просмотр исследования | У вас есть несколько независимых задач, и вы хотите их передать, проверить статус с первого взгляда и вмешаться только когда один из них нуждается в вас |

15| [Agent teams](/ru/agent-teams) | Несколько координируемых сеансов с общим списком задач и обменом сообщениями между агентами, управляемые лидером. Экспериментальная функция и отключена по умолчанию | Вы хотите, чтобы Claude разделил проект на части, назначил их и держал работников в синхронизации |15| [Agent teams](/ru/agent-teams) | Несколько координируемых сеансов с общим списком задач и обменом сообщениями между агентами, управляемые лидером. Экспериментальная функция и отключена по умолчанию | Вы хотите, чтобы Claude разделил проект на части, назначил их и держал работников в синхронизации |

16| [Dynamic workflows](/ru/workflows) | Скрипт, который запускает множество подагентов и проверяет их результаты, для работы, которая слишком велика для координации за один ход или которая требует более одного прохода. Предварительный просмотр исследования | Задача слишком велика для нескольких подагентов, или вы хотите, чтобы результаты были проверены друг против друга: аудит всей кодовой базы, миграция 500 файлов, перепроверенное исследование или план, разработанный с нескольких углов |16| [Dynamic workflows](/ru/workflows) | Скрипт, который запускает множество подагентов и проверяет их результаты, для работы, которая слишком велика для координации за один ход или которая требует более одного прохода | Задача слишком велика для нескольких подагентов, или вы хотите, чтобы результаты были проверены друг против друга: аудит всей кодовой базы, миграция 500 файлов, перепроверенное исследование или план, разработанный с нескольких углов |

17 17 

18В каждом подходе работники — это сеансы Claude. Чтобы задействовать другой инструмент, предоставьте его Claude как [MCP server](/ru/mcp).18В каждом подходе работники — это сеансы Claude. Чтобы задействовать другой инструмент, предоставьте его Claude как [MCP server](/ru/mcp).

19 19 

Details

6 6 

7> Узнайте о настройке Claude Code через Amazon Bedrock, включая установку, конфигурацию IAM и устранение неполадок.7> Узнайте о настройке Claude Code через Amazon Bedrock, включая установку, конфигурацию IAM и устранение неполадок.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79<ContactSalesCard surface="bedrock" />

80 

9<h2 id="prerequisites">81<h2 id="prerequisites">

10 Предварительные требования82 Предварительные требования

11</h2>83</h2>


141 "Credentials": {213 "Credentials": {

142 "AccessKeyId": "value",214 "AccessKeyId": "value",

143 "SecretAccessKey": "value",215 "SecretAccessKey": "value",

144 "SessionToken": "value"216 "SessionToken": "value",

217 "Expiration": "2026-01-01T00:00:00Z"

145 }218 }

146}219}

147```220```

148 221 

222`Expiration` является необязательным. {/* min-version: 2.1.176 */}Начиная с Claude Code v2.1.176, когда команда возвращает действительное значение `Expiration` в формате ISO 8601, Claude Code кэширует учетные данные до пяти минут до этого времени. Без него или в более ранних версиях учетные данные кэшируются в течение одного часа.

223 

149<h3 id="3-configure-claude-code">224<h3 id="3-configure-claude-code">

150 3. Настройте Claude Code225 3. Настройте Claude Code

151</h3>226</h3>


155```bash theme={null}230```bash theme={null}

156# Enable Bedrock integration231# Enable Bedrock integration

157export CLAUDE_CODE_USE_BEDROCK=1232export CLAUDE_CODE_USE_BEDROCK=1

158export AWS_REGION=us-east-1 # or your preferred region233export AWS_REGION=us-east-1 # optional if your AWS profile already sets a region

159 234 

160# Optional: Override the AWS region for the small/fast model (Bedrock and Mantle).235# Optional: Override the AWS region for the small/fast model (Bedrock and Mantle).

161# On Bedrock, has no effect without ANTHROPIC_DEFAULT_HAIKU_MODEL236# On Bedrock, has no effect without ANTHROPIC_DEFAULT_HAIKU_MODEL


168 243 

169При включении Bedrock для Claude Code имейте в виду следующее:244При включении Bedrock для Claude Code имейте в виду следующее:

170 245 

171* `AWS_REGION` - это обязательная переменная окружения. Claude Code не читает этот параметр из файла конфигурации `.aws`.246* {/* min-version: 2.1.172 */}Начиная с версии 2.1.172, вам нужно установить `AWS_REGION` только для переопределения региона вашего профиля AWS или когда ваш профиль не имеет региона. Claude Code разрешает регион в этом порядке:

247 

248 * `AWS_REGION`

249 * `AWS_DEFAULT_REGION`

250 * регион, установленный на вашем активном профиле AWS, прочитанный сначала из файла общих учетных данных AWS, а затем из файла общей конфигурации, соответствуя приоритету AWS SDK

251 * `us-east-1`

252 

253 Активный профиль — это `AWS_PROFILE`, если установлен, иначе `default`. Установите `AWS_SHARED_CREDENTIALS_FILE` или `AWS_CONFIG_FILE` для указания на пути к файлам, отличные от стандартных. Запустите `/status` для просмотра разрешенного региона. Когда регион поступил из ваших файлов конфигурации AWS или стандартного резервного варианта, `/status` также указывает источник. На версии 2.1.171 и более ранних Claude Code не читает файлы конфигурации AWS, поэтому установите `AWS_REGION` явно.

172* При использовании Bedrock команда `/logout` недоступна, так как аутентификация обрабатывается через учетные данные AWS.254* При использовании Bedrock команда `/logout` недоступна, так как аутентификация обрабатывается через учетные данные AWS.

173* Инструмент WebSearch недоступен на Bedrock. См. [поведение инструмента WebSearch](/ru/tools-reference#websearch-tool-behavior).255* Инструмент WebSearch недоступен на Bedrock. См. [поведение инструмента WebSearch](/ru/tools-reference#websearch-tool-behavior).

174* Вы можете использовать файлы параметров для переменных окружения, таких как `AWS_PROFILE`, которые вы не хотите утечь в другие процессы. См. [Settings](/ru/settings) для получения дополнительной информации.256* Вы можете использовать файлы параметров для переменных окружения, таких как `AWS_PROFILE`, которые вы не хотите утечь в другие процессы. См. [Settings](/ru/settings) для получения дополнительной информации.


178</h3>260</h3>

179 261 

180<Warning>262<Warning>

181 Закрепите конкретные версии моделей при развертывании для нескольких пользователей. Без закрепления псевдонимы моделей, такие как `sonnet` и `opus`, разрешаются на последнюю версию, которая может быть еще недоступна в вашей учетной записи Bedrock при выпуске обновления Anthropic. Claude Code [возвращается](#startup-model-checks) к предыдущей версии при запуске, когда последняя недоступна, но закрепление позволяет вам контролировать, когда ваши пользователи переходят на новую модель.263 Закрепите конкретные версии моделей при развертывании для нескольких пользователей. Без закрепления псевдонимы моделей, такие как `sonnet` и `opus`, разрешаются на встроенное значение по умолчанию Claude Code для Bedrock, которое может отставать от последнего выпуска и может быть еще недоступно в вашей учетной записи. Claude Code [возвращается](#startup-model-checks) к предыдущей версии при запуске, когда значение по умолчанию недоступно, но закрепление позволяет вам контролировать, когда ваши пользователи переходят на новую модель.

182</Warning>264</Warning>

183 265 

184Установите эти переменные окружения на конкретные ID моделей Bedrock.266Установите эти переменные окружения на конкретные ID моделей Bedrock.


191export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'273export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

192```274```

193 275 

194Эти переменные используют ID профилей вывода между регионами (с префиксом `us.`). Если вы используете другой префикс региона или профили вывода приложения, отрегулируйте соответственно. Для текущих и устаревших ID моделей см. [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). См. [Model configuration](/ru/model-config#pin-models-for-third-party-deployments) для полного списка переменных окружения.276Эти переменные используют ID профилей вывода между регионами (с префиксом `us.`). Если вы используете другой префикс региона или профили вывода приложения, отрегулируйте соответственно. В регионах AWS GovCloud используйте префикс `us-gov.`. Для текущих и устаревших ID моделей см. [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). См. [Model configuration](/ru/model-config#pin-models-for-third-party-deployments) для полного списка переменных окружения.

195 277 

196Claude Code использует эти модели по умолчанию, когда переменные закрепления не установлены:278Claude Code использует эти модели по умолчанию, когда переменные закрепления не установлены:

197 279 


366export AWS_REGION=us-east-1448export AWS_REGION=us-east-1

367```449```

368 450 

369Claude Code конструирует URL конечной точки из `AWS_REGION`. Чтобы переопределить его для пользовательской конечной точки или шлюза, установите `ANTHROPIC_BEDROCK_MANTLE_BASE_URL`.451Claude Code конструирует URL конечной точки из региона AWS. {/* min-version: 2.1.172 */}Начиная с версии v2.1.172, регион разрешается с той же приоритетностью, что и [Bedrock выше](#3-configure-claude-code); более ранние версии используют только `AWS_REGION`. Чтобы переопределить URL для пользовательской конечной точки или шлюза, установите `ANTHROPIC_BEDROCK_MANTLE_BASE_URL`.

370 452 

371Запустите `/status` внутри Claude Code для подтверждения. Строка поставщика показывает `Amazon Bedrock (Mantle)`, когда Mantle активен.453Запустите `/status` внутри Claude Code для подтверждения. Строка поставщика показывает `Amazon Bedrock (Mantle)`, когда Mantle активен.

372 454 


374 Выберите модель Mantle456 Выберите модель Mantle

375</h3>457</h3>

376 458 

377Mantle использует ID моделей с префиксом `anthropic.` и без суффикса версии, например `anthropic.claude-haiku-4-5`. Модели, доступные вашей учетной записи, зависят от того, что вам было предоставлено вашей организацией; дополнительные ID моделей указаны в ваших материалах по подключению от AWS. Свяжитесь с вашей командой учетной записи AWS, чтобы запросить доступ к разрешенным моделям.459Mantle использует ID моделей с префиксом `anthropic.` и без суффикса версии, например `anthropic.claude-haiku-4-5`. Модели, доступные вашей учетной записи, зависят от того, что было предоставлено вашей организацией; дополнительные ID моделей указаны в ваших материалах по подключению от AWS. Свяжитесь с вашей командой учетной записи AWS, чтобы запросить доступ к разрешенным моделям.

378 460 

379Установите модель с флагом `--model` или с `/model` внутри Claude Code:461Установите модель с флагом `--model` или с `/model` внутри Claude Code:

380 462 

Details

136* **Интервалы обновления**: по умолчанию `apiKeyHelper` вызывается через 5 минут или при ответе HTTP 401. Установите переменную окружения `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` для пользовательских интервалов обновления.136* **Интервалы обновления**: по умолчанию `apiKeyHelper` вызывается через 5 минут или при ответе HTTP 401. Установите переменную окружения `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` для пользовательских интервалов обновления.

137* **Уведомление о медленном помощнике**: если `apiKeyHelper` требует более 10 секунд для возврата ключа, Claude Code отображает предупреждающее уведомление в строке приглашения, показывающее прошедшее время. Если вы видите это уведомление регулярно, проверьте, можно ли оптимизировать ваш скрипт учетных данных.137* **Уведомление о медленном помощнике**: если `apiKeyHelper` требует более 10 секунд для возврата ключа, Claude Code отображает предупреждающее уведомление в строке приглашения, показывающее прошедшее время. Если вы видите это уведомление регулярно, проверьте, можно ли оптимизировать ваш скрипт учетных данных.

138 138 

139`apiKeyHelper`, `ANTHROPIC_API_KEY` и `ANTHROPIC_AUTH_TOKEN` применяются только к сеансам терминального CLI. Claude Desktop и удаленные сеансы используют исключительно OAuth и не вызывают `apiKeyHelper` и не читают переменные окружения ключа API.139`apiKeyHelper`, `ANTHROPIC_API_KEY` и `ANTHROPIC_AUTH_TOKEN` применяются только к сеансам терминального CLI. Claude Desktop и облачные сеансы используют исключительно OAuth и не вызывают `apiKeyHelper` и не читают переменные окружения ключа API.

140 140 

141<h3 id="authentication-precedence">141<h3 id="authentication-precedence">

142 Приоритет аутентификации142 Приоритет аутентификации

Details

6 6 

7> Сообщите классификатору режима auto, какие репозитории, бакеты и домены доверяет ваша организация. Установите контекст окружения, переопределите правила блокировки и разрешения по умолчанию и проверьте вашу эффективную конфигурацию с помощью подкоманд CLI auto-mode.7> Сообщите классификатору режима auto, какие репозитории, бакеты и домены доверяет ваша организация. Установите контекст окружения, переопределите правила блокировки и разрешения по умолчанию и проверьте вашу эффективную конфигурацию с помощью подкоманд CLI auto-mode.

8 8 

9[Auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) позволяет Claude Code работать без запросов разрешения, маршрутизируя каждый вызов инструмента через классификатор, который блокирует все необратимое, деструктивное или направленное вне вашего окружения. Используйте блок настроек `autoMode`, чтобы сообщить этому классификатору, какие репозитории, бакеты и домены доверяет ваша организация, чтобы он перестал блокировать обычные внутренние операции.9[Auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) позволяет Claude Code работать без запросов разрешения, маршрутизируя каждый вызов инструмента через классификатор, который блокирует все необратимое, деструктивное или направленное вне вашего окружения. Правила отказа и явного запроса оцениваются перед классификатором и по-прежнему блокируют или запрашивают разрешение. Используйте блок настроек `autoMode`, чтобы сообщить этому классификатору, какие репозитории, бакеты и домены доверяет ваша организация, чтобы он перестал блокировать обычные внутренние операции.

10 10 

11<Note>11<Note>

12 Auto mode доступен всем пользователям на Anthropic API. На Amazon Bedrock, Google Cloud Vertex AI и Microsoft Foundry вы должны сначала [установить `CLAUDE_CODE_ENABLE_AUTO_MODE`](/ru/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry). Если Claude Code сообщает, что auto mode недоступен для вашей учетной записи, проверьте [полные требования](/ru/permission-modes#eliminate-prompts-with-auto-mode), которые также охватывают поддерживаемые модели и включение администратором на планах Team и Enterprise.12 Auto mode доступен всем пользователям на Anthropic API. На Amazon Bedrock, Google Cloud Vertex AI и Microsoft Foundry вы должны сначала [установить `CLAUDE_CODE_ENABLE_AUTO_MODE`](/ru/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry). Если Claude Code сообщает, что auto mode недоступен для вашей учетной записи, проверьте [полные требования](/ru/permission-modes#eliminate-prompts-with-auto-mode), которые также охватывают поддерживаемые модели и включение администратором на планах Team и Enterprise.


33Для правил, которые применяются ко всем проектам, таких как доверенная инфраструктура или организационные правила отказа, используйте блок настроек `autoMode`. Классификатор читает `autoMode` из следующих областей:33Для правил, которые применяются ко всем проектам, таких как доверенная инфраструктура или организационные правила отказа, используйте блок настроек `autoMode`. Классификатор читает `autoMode` из следующих областей:

34 34 

35| Область | Файл | Используется для |35| Область | Файл | Используется для |

36| :------------------------------ | :---------------------------------------------- | :------------------------------------------------------------- |36| :------------------------------ | :---------------------------------------------- | :----------------------------------------------------------- |

37| Один разработчик | `~/.claude/settings.json` | Личная доверенная инфраструктура |37| Один разработчик | `~/.claude/settings.json` | Личная доверенная инфраструктура |

38| Один проект, один разработчик | `.claude/settings.local.json` | Доверенные бакеты или сервисы для каждого проекта, в gitignore |38| Один проект, один разработчик | `.claude/settings.local.json` | Доверенные бакеты или сервисы для каждого проекта |

39| Организация | [Managed settings](/ru/server-managed-settings) | Доверенная инфраструктура, распределенная всем разработчикам |39| Организация | [Managed settings](/ru/server-managed-settings) | Доверенная инфраструктура, распределенная всем разработчикам |

40| Флаг `--settings` или Agent SDK | Встроенный JSON | Переопределения для каждого вызова для автоматизации |40| Флаг `--settings` или Agent SDK | Встроенный JSON | Переопределения для каждого вызова для автоматизации |

41 41 


185 185 

186Повторные отказы для одного и того же пункта назначения обычно означают, что классификатору не хватает контекста. Добавьте этот пункт назначения в `autoMode.environment`, затем запустите `claude auto-mode config`, чтобы подтвердить, что это вступило в силу.186Повторные отказы для одного и того же пункта назначения обычно означают, что классификатору не хватает контекста. Добавьте этот пункт назначения в `autoMode.environment`, затем запустите `claude auto-mode config`, чтобы подтвердить, что это вступило в силу.

187 187 

188Чтобы реагировать на отказы программно, используйте [hook `PermissionDenied`](/ru/hooks#permissiondenied).188Чтобы реагировать на отказы программно, используйте hook [`PermissionDenied`](/ru/hooks#permissiondenied).

189 189 

190<h2 id="see-also">190<h2 id="see-also">

191 See also191 See also

champion-kit.md +1 −1

Details

216| Техника | Как её применить |216| Техника | Как её применить |

217| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |217| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

218| Предоставьте правильный контекст | Используйте ссылки `@file` или `@directory/`, или вставьте вывод ошибки или журнала непосредственно. Предоставление соответствующего контекста более эффективно, чем сложное подсказывание. |218| Предоставьте правильный контекст | Используйте ссылки `@file` или `@directory/`, или вставьте вывод ошибки или журнала непосредственно. Предоставление соответствующего контекста более эффективно, чем сложное подсказывание. |

219| Проверьте план перед редактированием | Нажмите `Shift+Tab` для входа в plan mode. Claude опишет предполагаемые изменения для вашего одобрения перед их выполнением. |219| Проверьте план перед редактированием | Нажмите `Shift+Tab` для входа в Plan Mode. Claude опишет предполагаемые изменения для вашего одобрения перед их выполнением. |

220| Обучите его вашему репозиторию | Запустите `/init` для генерации файла `CLAUDE.md`, затем добавьте соглашения вашей команды, команды тестирования и любые каталоги, которые не должны быть изменены. См. [Memory](/ru/memory). |220| Обучите его вашему репозиторию | Запустите `/init` для генерации файла `CLAUDE.md`, затем добавьте соглашения вашей команды, команды тестирования и любые каталоги, которые не должны быть изменены. См. [Memory](/ru/memory). |

221| Переиспользуйте рабочий процесс | Сохраните файл `SKILL.md` в `.claude/skills/<name>/` для создания skill `/name`, который может использовать вся команда. См. [Skills](/ru/skills). |221| Переиспользуйте рабочий процесс | Сохраните файл `SKILL.md` в `.claude/skills/<name>/` для создания skill `/name`, который может использовать вся команда. См. [Skills](/ru/skills). |

222| Оставайтесь информированными во время длительных задач | Настройте Stop hook для получения уведомления на рабочем столе, когда завершается длительная задача. См. [Hooks](/ru/hooks-guide). |222| Оставайтесь информированными во время длительных задач | Настройте Stop hook для получения уведомления на рабочем столе, когда завершается длительная задача. См. [Hooks](/ru/hooks-guide). |

Details

142 claude --dangerously-load-development-channels server:webhook142 claude --dangerously-load-development-channels server:webhook

143 ```143 ```

144 144 

145 Первый раз, когда вы запускаете сеанс в этом проекте, Claude Code запрашивает согласие перед использованием нового сервера из `.mcp.json`. Диалог сообщает "New MCP server found in this project: webhook". Выберите **Use this MCP server**, чтобы продолжить.

146 

145 Когда Claude Code запускается, он читает вашу конфигурацию MCP, запускает ваш `webhook.ts` как подпроцесс, и слушатель HTTP автоматически запускается на настроенном вами порту (8788 в этом примере). Вам не нужно запускать сервер самостоятельно.147 Когда Claude Code запускается, он читает вашу конфигурацию MCP, запускает ваш `webhook.ts` как подпроцесс, и слушатель HTTP автоматически запускается на настроенном вами порту (8788 в этом примере). Вам не нужно запускать сервер самостоятельно.

146 148 

149 Тусклое уведомление под баннером запуска подтверждает, что канал зарегистрирован: `Channels (experimental) messages from server:webhook inject directly in this session · restart without --dangerously-load-development-channels to stop`.

150 

147 Если вы видите "blocked by org policy", ваш администратор организации должен сначала [включить каналы](/ru/channels#enterprise-controls).151 Если вы видите "blocked by org policy", ваш администратор организации должен сначала [включить каналы](/ru/channels#enterprise-controls).

148 152 

149 В отдельном терминале имитируйте вебхук, отправив HTTP POST с сообщением на ваш сервер. Этот пример отправляет оповещение об ошибке CI на порт 8788 (или любой другой настроенный вами порт):153 В отдельном терминале имитируйте вебхук, отправив HTTP POST с сообщением на ваш сервер. Этот пример отправляет оповещение об ошибке CI на порт 8788 (или любой другой настроенный вами порт):


753curl -d "list the files in this directory" -H "X-Sender: dev" localhost:8788757curl -d "list the files in this directory" -H "X-Sender: dev" localhost:8788

754```758```

755 759 

756Диалог локального разрешения открывается в вашем терминале Claude Code. Через момент запрос появляется в потоке `/events`, включая пятибуквенный ID. Одобрите его с удалённой стороны:760Перечисление файлов доступно только для чтения, поэтому Claude запускает его без одобрения. Диалог разрешения открывается, когда Claude вызывает инструмент `reply` для отправки своего ответа обратно. Локальный диалог открывается в вашем терминале Claude Code, и через момент запрос для `mcp__webhook__reply` появляется в потоке `/events`, включая пятибуквенный ID. Одобрите его с удалённой стороны:

757 761 

758```bash theme={null}762```bash theme={null}

759curl -d "yes <id>" -H "X-Sender: dev" localhost:8788763curl -d "yes <id>" -H "X-Sender: dev" localhost:8788

760```764```

761 765 

762Локальный диалог закрывается и инструмент запускается. Ответ Claude возвращается через инструмент `reply` и также попадает в поток.766Локальный диалог закрывается, инструмент `reply` запускается, и ответ Claude попадает в поток.

763 767 

764Три специфичные для канала части в этом файле:768Три специфичные для канала части в этом файле:

765 769 

Details

89cp source.txt dest.txt89cp source.txt dest.txt

90```90```

91 91 

92Эти изменения файлов не могут быть отменены через перемотку. Отслеживаются только прямые правки файлов, сделанные через инструменты редактирования файлов Claude.92Эти изменения файлов не могут быть отменены через rewind. Отслеживаются только прямые правки файлов, сделанные через инструменты редактирования файлов Claude.

93 93 

94<h3 id="external-changes-not-tracked">94<h3 id="external-changes-not-tracked">

95 Внешние изменения не отслеживаются95 Внешние изменения не отслеживаются

Details

59 59 

60Каждая сессия запускается на свежей виртуальной машине, управляемой Anthropic, с клонированным вашим репозиторием. В этом разделе рассматривается, что доступно при запуске сессии и как её настроить.60Каждая сессия запускается на свежей виртуальной машине, управляемой Anthropic, с клонированным вашим репозиторием. В этом разделе рассматривается, что доступно при запуске сессии и как её настроить.

61 61 

62<h3 id="what-s-available-in-cloud-sessions">62<h3 id="whats-available-in-cloud-sessions">

63 Что доступно в облачных сессиях63 Что доступно в облачных сессиях

64</h3>64</h3>

65 65 

66Облачные сессии начинаются со свежего клона вашего репозитория. Всё, что зафиксировано в репозитории, доступно. Всё, что вы установили или настроили только на своей машине, недоступно.66Облачные сессии начинаются со свежего клона вашего репозитория. Всё, что зафиксировано в репозитории, доступно. Всё, что вы установили или настроили только на своей машине, недоступно.

67 67 

68| | Доступно в облачных сессиях | Почему |68| | Доступно в облачных сессиях | Почему |

69| :------------------------------------------------------------------------ | :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |69| :------------------------------------------------------------------------------------ | :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

70| Ваш `CLAUDE.md` репозитория | Да | Часть клона |70| Ваш репозитория `CLAUDE.md` | Да | Часть клона |

71| Ваши hooks `.claude/settings.json` репозитория | Да | Часть клона |71| Ваши hooks `.claude/settings.json` репозитория | Да | Часть клона |

72| Ваши MCP серверы `.mcp.json` репозитория | Да | Часть клона |72| Ваши MCP серверы `.mcp.json` репозитория | Да | Часть клона |

73| Ваш `.claude/rules/` репозитория | Да | Часть клона |73| Ваш `.claude/rules/` репозитория | Да | Часть клона |

74| Ваш `.claude/skills/`, `.claude/agents/`, `.claude/commands/` репозитория | Да | Часть клона |74| Ваш `.claude/skills/`, `.claude/agents/`, `.claude/commands/` репозитория | Да | Часть клона |

75| Plugins объявленные в `.claude/settings.json` | Да | Установлены при запуске сессии из [marketplace](/ru/plugin-marketplaces), который вы объявили. Требует сетевого доступа для доступа к источнику marketplace |75| Plugins объявленные в `.claude/settings.json` | Да | Установлены при запуске сессии из [marketplace](/ru/plugin-marketplaces), который вы объявили. Требует сетевого доступа для доступа к источнику marketplace |

76| Ваш пользовательский `~/.claude/CLAUDE.md` | Нет | Находится на вашей машине, не в репозитории |76| Ваш пользовательский `~/.claude/CLAUDE.md` | Нет | Находится на вашей машине, не в репозитории |

77| Ваши пользовательские `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Нет | Находятся на вашей машине, не в репозитории. Зафиксируйте их в директории `.claude/` репозитория вместо этого. Skills, которые вы включаете на claude.ai, автоматически загружаются в облачные сессии |

77| Plugins включённые только в ваши пользовательские параметры | Нет | Пользовательский `enabledPlugins` находится в `~/.claude/settings.json`. Объявите их в `.claude/settings.json` репозитория вместо этого |78| Plugins включённые только в ваши пользовательские параметры | Нет | Пользовательский `enabledPlugins` находится в `~/.claude/settings.json`. Объявите их в `.claude/settings.json` репозитория вместо этого |

78| MCP серверы, которые вы добавили с помощью `claude mcp add` | Нет | Они записываются в вашу локальную пользовательскую конфигурацию, не в репозиторий. Объявите сервер в [`.mcp.json`](/ru/mcp#project-scope) вместо этого |79| MCP серверы, которые вы добавили с помощью `claude mcp add` | Нет | Они записываются в вашу локальную пользовательскую конфигурацию, не в репозиторий. Объявите сервер в [`.mcp.json`](/ru/mcp#project-scope) вместо этого |

79| Статические API токены и учётные данные | Нет | Выделенного хранилища секретов пока не существует. См. ниже |80| Статические API токены и учётные данные | Нет | Выделенного хранилища секретов пока не существует. См. ниже |


216</Note>217</Note>

217 218 

218<h3 id="environment-caching">219<h3 id="environment-caching">

219 Кэширование окружения220 Environment caching

220</h3>221</h3>

221 222 

222Setup script запускается в первый раз, когда вы запускаете сессию в окружении. После завершения Anthropic создаёт снимок файловой системы и повторно использует этот снимок в качестве начальной точки для последующих сессий. Новые сессии начинаются с вашими зависимостями, инструментами и образами Docker уже на диске, и шаг setup script пропускается. Это сохраняет быстрый запуск даже когда скрипт устанавливает большие наборы инструментов или получает образы контейнеров.223Setup script запускается в первый раз, когда вы запускаете сессию в окружении. После завершения Anthropic создаёт снимок файловой системы и повторно использует этот снимок в качестве начальной точки для последующих сессий. Новые сессии начинаются с вашими зависимостями, инструментами и образами Docker уже на диске, и шаг setup script пропускается. Это сохраняет быстрый запуск даже когда скрипт устанавливает большие наборы инструментов или получает образы контейнеров.


228Вам не нужно включать кэширование или управлять снимками самостоятельно.229Вам не нужно включать кэширование или управлять снимками самостоятельно.

229 230 

230<h3 id="setup-scripts-vs-sessionstart-hooks">231<h3 id="setup-scripts-vs-sessionstart-hooks">

231 Setup scripts в сравнении с SessionStart hooks232 Setup scripts vs. SessionStart hooks

232</h3>233</h3>

233 234 

234Используйте setup script для установки того, что облаку нужно, но ваш ноутбук уже имеет, например, среду выполнения языка или инструмент CLI. Используйте [SessionStart hook](/ru/hooks#sessionstart) для настройки проекта, которая должна выполняться везде, в облаке и локально, например `npm install`.235Используйте setup script для установки того, что облаку нужно, но ваш ноутбук уже имеет, например, среду выполнения языка или инструмент CLI. Используйте [SessionStart hook](/ru/hooks#sessionstart) для настройки проекта, которая должна выполняться везде, в облаке и локально, например `npm install`.


245SessionStart hooks также могут быть определены в вашем пользовательском файле `~/.claude/settings.json` локально, но пользовательские параметры не переносятся в облачные сессии. В облаке запускаются только hooks, зафиксированные в репозитории.246SessionStart hooks также могут быть определены в вашем пользовательском файле `~/.claude/settings.json` локально, но пользовательские параметры не переносятся в облачные сессии. В облаке запускаются только hooks, зафиксированные в репозитории.

246 247 

247<h3 id="install-dependencies-with-a-sessionstart-hook">248<h3 id="install-dependencies-with-a-sessionstart-hook">

248 Установите зависимости с помощью SessionStart hook249 Install dependencies with a SessionStart hook

249</h3>250</h3>

250 251 

251Чтобы установить зависимости только в облачных сессиях, добавьте SessionStart hook в `.claude/settings.json` вашего репозитория:252Чтобы установить зависимости только в облачных сессиях, добавьте SessionStart hook в `.claude/settings.json` вашего репозитория:


353* Защиту от вредоносных запросов354* Защиту от вредоносных запросов

354* Ограничение скорости и предотвращение злоупотреблений355* Ограничение скорости и предотвращение злоупотреблений

355* Фильтрацию контента для повышенной безопасности356* Фильтрацию контента для повышенной безопасности

357* Аудит на уровне DNS запрошенных имён хостов

356 358 

357<h3 id="default-allowed-domains">359<h3 id="default-allowed-domains">

358 Разрешённые домены по умолчанию360 Разрешённые домены по умолчанию


745| `/context` | Да | Показывает, что в настоящее время находится в окне контекста |747| `/context` | Да | Показывает, что в настоящее время находится в окне контекста |

746| `/clear` | Нет | Запустите новую сессию из боковой панели вместо этого |748| `/clear` | Нет | Запустите новую сессию из боковой панели вместо этого |

747 749 

748Auto-compaction запускается автоматически, когда окно контекста приближается к ёмкости, так же как в CLI. Чтобы запустить его раньше, установите [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/ru/env-vars) в ваши [переменные окружения](#configure-your-environment). Например, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` компактирует при 70% ёмкости вместо значения по умолчанию \~95%. Чтобы изменить эффективный размер окна для расчётов компактирования, используйте [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/ru/env-vars).750Auto-compaction запускается автоматически, когда окно контекста приближается к ёмкости. Чтобы запустить его раньше, установите [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/ru/env-vars) в ваши [переменные окружения](#configure-your-environment). Например, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` компактирует при 70% ёмкости вместо ожидания, пока окно почти не заполнится. Чтобы изменить эффективный размер окна для расчётов компактирования, используйте [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/ru/env-vars).

749 751 

750[Subagents](/ru/sub-agents) работают так же, как они работают локально. Claude может порождать их с помощью инструмента Task для разгрузки исследования или параллельной работы в отдельное окно контекста, сохраняя основной разговор легче. Subagents определённые в `.claude/agents/` вашего репозитория подбираются автоматически. [Agent teams](/ru/agent-teams) отключены по умолчанию, но могут быть включены путём добавления `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` в ваши [переменные окружения](#configure-your-environment).752[Subagents](/ru/sub-agents) работают так же, как они работают локально. Claude может порождать их с помощью инструмента Task для разгрузки исследования или параллельной работы в отдельное окно контекста, сохраняя основной разговор легче. Subagents определённые в `.claude/agents/` вашего репозитория подбираются автоматически. [Agent teams](/ru/agent-teams) отключены по умолчанию, но могут быть включены путём добавления `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` в ваши [переменные окружения](#configure-your-environment).

751 753 


858 860 

859* Проверьте [status.claude.com](https://status.claude.com) на предмет инцидентов облачных сессий861* Проверьте [status.claude.com](https://status.claude.com) на предмет инцидентов облачных сессий

860* Повторите попытку через минуту, так как ёмкость подготавливается по требованию862* Повторите попытку через минуту, так как ёмкость подготавливается по требованию

861* Подтвердите, что ваш репозиторий доступен. Подключаемый аккаунт GitHub должен иметь доступ к репозиторию на GitHub либо через авторизацию Claude GitHub App, либо через токен `gh`, синхронизированный через `/web-setup` — установка приложения на репозиторий не требуется. См. [Варианты аутентификации GitHub](#github-authentication-options).863* Подтвердите, что ваш репозиторий доступен. Подключаемый аккаунт GitHub должен иметь доступ к репозиторию на GitHub либо через авторизацию Claude GitHub App, либо через токен `gh`, синхронизированный через `/web-setup` — установка приложения на репозиторий не требуется. См. [GitHub authentication options](#github-authentication-options).

862 864 

863<h3 id="remote-control-session-expired-or-access-denied">865<h3 id="remote-control-session-expired-or-access-denied">

864 Remote Control session expired or access denied866 Remote Control session expired or access denied


868 870 

869* Запустите `/login` локально для обновления ваших учётных данных, затем переподключитесь871* Запустите `/login` локально для обновления ваших учётных данных, затем переподключитесь

870* Подтвердите, что вы вошли в один и тот же аккаунт, который владеет сессией872* Подтвердите, что вы вошли в один и тот же аккаунт, который владеет сессией

871* Если вы видите `Remote Control may not be available for this organization`, ваш администратор не включил удалённые сессии для вашего плана873* Если вы видите `Remote Control may not be available for this organization`, ваш администратор не включил облачные сессии для вашего плана

872 874 

873<h3 id="environment-expired">875<h3 id="environment-expired">

874 Environment expired876 Environment expired

claude-directory.md +1427 −1

Details

6 6 

7> Где Claude Code читает CLAUDE.md, settings.json, hooks, skills, commands, subagents, workflows, rules и auto memory. Изучите директорию .claude в вашем проекте и ~/.claude в вашей домашней директории.7> Где Claude Code читает CLAUDE.md, settings.json, hooks, skills, commands, subagents, workflows, rules и auto memory. Изучите директорию .claude в вашем проекте и ~/.claude в вашей домашней директории.

8 8 

9export const ClaudeExplorer = () => {

10 const A = useMemo(() => ({href, children}) => <a href={href} style={{

11 color: 'var(--ce-accent)',

12 textDecoration: 'none',

13 borderBottom: '1px dotted var(--ce-accent)'

14 }}>{children}</a>, []);

15 const C = useMemo(() => ({children}) => <code style={{

16 fontFamily: 'var(--ce-mono)',

17 fontSize: '0.92em',

18 padding: '1px 4px',

19 borderRadius: '3px',

20 background: 'var(--ce-surface)',

21 border: '0.5px solid var(--ce-border-subtle)'

22 }}>{children}</code>, []);

23 const commandsNote = useMemo(() => <>Commands and skills are now the same mechanism. For new workflows, use <A href="/en/skills">skills/</A> instead: same <C>/name</C> invocation, plus you can bundle supporting files.</>, []);

24 const FILE_TREE = useMemo(() => ({

25 project: {

26 label: 'your-project/',

27 children: [{

28 id: 'claude-md',

29 label: 'CLAUDE.md',

30 type: 'file',

31 icon: 'md',

32 color: '#6A9BCC',

33 badge: 'committed',

34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/en/skills">skill</A> or a path-scoped <A href="/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions

40 

41## Commands

42- Build: \`npm run build\`

43- Test: \`npm test\`

44- Lint: \`npm run lint\`

45 

46## Stack

47- TypeScript with strict mode

48- React 19, functional components only

49 

50## Rules

51- Named exports, never default exports

52- Tests live next to source: \`foo.ts\` -> \`foo.test.ts\`

53- All API routes return \`{ data, error }\` shape`,

54 docsLink: '/en/memory'

55 }, {

56 id: 'mcp-json',

57 label: '.mcp.json',

58 type: 'file',

59 icon: 'json',

60 color: '#9B7BC4',

61 badge: 'committed',

62 oneLiner: 'Project-scoped MCP servers, shared with your team',

63 when: <>Servers connect when the session begins. Tool schemas are deferred by default and load on demand via <A href="/en/mcp#scale-with-mcp-tool-search">tool search</A></>,

64 description: <>Configures Model Context Protocol (MCP) servers that give Claude access to external tools: databases, APIs, browsers, and more. This file holds the project-scoped servers your whole team uses. Personal servers you want to keep to yourself go in <C>~/.claude.json</C> instead.</>,

65 tips: [<>Use environment variable references for secrets: <C>{'${GITHUB_TOKEN}'}</C></>, <>Lives at the project root, not inside <C>.claude/</C></>, <>For servers only you need, run <C>claude mcp add --scope user</C>. This writes to <C>~/.claude.json</C> instead of <C>.mcp.json</C></>],

66 exampleIntro: <>This example configures the GitHub MCP server so Claude can read issues and open pull requests. The <C>{'${GITHUB_TOKEN}'}</C> reference is read from your shell environment when Claude Code starts the server, so the token never lands in the file.</>,

67 example: `{

68 "mcpServers": {

69 "github": {

70 "command": "npx",

71 "args": ["-y", "@modelcontextprotocol/server-github"],

72 "env": {

73 "GITHUB_TOKEN": "\${GITHUB_TOKEN}"

74 }

75 }

76 }

77}`,

78 docsLink: '/en/mcp'

79 }, {

80 id: 'worktreeinclude',

81 label: '.worktreeinclude',

82 type: 'file',

83 icon: 'md',

84 color: '#8FA876',

85 badge: 'committed',

86 oneLiner: 'Gitignored files to copy into new worktrees',

87 when: <>Read when Claude creates a git worktree via <C>--worktree</C>, the <C>EnterWorktree</C> tool, or subagent <C>isolation: worktree</C></>,

88 description: <>Lists gitignored files to copy from your main repository into each new worktree. Worktrees are fresh checkouts, so untracked files like <C>.env</C> are missing by default. Patterns here use <C>.gitignore</C> syntax. Only files that match a pattern and are also gitignored get copied, so tracked files are never duplicated.</>,

89 tips: [<>Lives at the project root, not inside <C>.claude/</C></>, <>Git-only: if you configure a <A href="/en/hooks#worktreecreate">WorktreeCreate hook</A> for a different VCS, this file is not read. Copy files inside your hook script instead</>, <>Also applies to parallel sessions in the <A href="/en/desktop#work-in-parallel-with-sessions">desktop app</A></>],

90 exampleIntro: 'This example copies your local environment files and a secrets config into every worktree Claude creates. Comments start with # and blank lines are ignored, same as .gitignore.',

91 example: `# Local environment

92.env

93.env.local

94 

95# API credentials

96config/secrets.json`,

97 docsLink: '/en/worktrees#copy-gitignored-files-into-worktrees'

98 }, {

99 id: 'dot-claude',

100 label: '.claude/',

101 type: 'folder',

102 icon: 'folder',

103 color: 'var(--ce-accent)',

104 oneLiner: 'Project-level configuration, rules, and extensions',

105 description: 'Everything Claude Code reads that is specific to this project. If you use git, commit most files here so your team shares them; a few, like settings.local.json, are automatically gitignored. Each file badge shows which.',

106 children: [{

107 id: 'settings-json',

108 label: 'settings.json',

109 type: 'file',

110 icon: 'json',

111 color: 'var(--ce-text-3)',

112 badge: 'committed',

113 oneLiner: 'Permissions, hooks, and configuration',

114 when: <>Overrides global <C>~/.claude/settings.json</C>. Local settings, CLI flags, and managed settings override this</>,

115 description: 'Settings that Claude Code applies directly. Permissions control which commands and tools Claude can use; hooks run your scripts at specific points in a session. Unlike CLAUDE.md, which Claude reads as guidance, these are enforced whether Claude follows them or not.',

116 contains: [<><A href="/en/permissions">permissions</A>: allow, deny, or prompt before Claude uses specific tools or commands</>, <><A href="/en/hooks">hooks</A>: run your own scripts on events like before a tool call or after a file edit</>, <><A href="/en/statusline">statusLine</A>: customize the line shown at the bottom while Claude works</>, <><A href="/en/settings#available-settings">model</A>: pick a default model for this project</>, <><A href="/en/settings#environment-variables">env</A>: environment variables set in every session</>, <><A href="/en/output-styles">outputStyle</A>: select a custom system-prompt style from output-styles/</>],

117 tips: [<>Bash permission patterns support wildcards: <C>Bash(npm test *)</C> matches any command starting with <C>npm test</C></>, <>Array settings like <C>permissions.allow</C> combine across all scopes; scalar settings like <C>model</C> use the most specific value</>],

118 exampleIntro: <>This example allows <C>npm test</C> and <C>npm run</C> commands without prompting, blocks <C>rm -rf</C>, and runs Prettier on files after Claude edits or writes them.</>,

119 example: `{

120 "permissions": {

121 "allow": [

122 "Bash(npm test *)",

123 "Bash(npm run *)"

124 ],

125 "deny": [

126 "Bash(rm -rf *)"

127 ]

128 },

129 "hooks": {

130 "PostToolUse": [{

131 "matcher": "Edit|Write",

132 "hooks": [{

133 "type": "command",

134 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"

135 }]

136 }]

137 }

138}`,

139 docsLink: '/en/settings'

140 }, {

141 id: 'settings-local-json',

142 label: 'settings.local.json',

143 type: 'file',

144 icon: 'json',

145 color: 'var(--ce-text-3)',

146 badge: 'gitignored',

147 oneLiner: 'Your personal settings overrides for this project',

148 when: 'Highest of the user-editable settings files; CLI flags and managed settings still take precedence',

149 description: 'Personal settings that take precedence over the project defaults. Same JSON format as settings.json, but not committed. Use this when you need different permissions or defaults than the team config.',

150 tips: [<>Same schema as settings.json. Array settings like <C>permissions.allow</C> combine across scopes; scalar settings like <C>model</C> use the local value</>, <>Claude Code adds this file to <C>~/.config/git/ignore</C> the first time it writes one. If you use a custom <C>core.excludesFile</C>, add the pattern there too. To share the ignore rule with your team, also add it to the project <C>.gitignore</C></>],

151 exampleIntro: 'This example adds Docker permissions on top of whatever the team settings.json allows.',

152 example: `{

153 "permissions": {

154 "allow": [

155 "Bash(docker *)"

156 ]

157 }

158}`,

159 docsLink: '/en/settings'

160 }, {

161 id: 'rules',

162 label: 'rules/',

163 type: 'folder',

164 icon: 'folder',

165 color: '#9B7BC4',

166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',

167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,

168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/en/hooks">hooks</A> or <A href="/en/permissions">permissions</A>.</>],

169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],

170 docsLink: '/en/memory#organize-rules-with-claude/rules/',

171 children: [{

172 id: 'rule-testing',

173 label: 'testing.md',

174 type: 'file',

175 icon: 'md',

176 color: '#9B7BC4',

177 badge: 'committed',

178 oneLiner: 'Test conventions scoped to test files',

179 when: <>Loaded when Claude reads a file matching the <C>paths:</C> globs below</>,

180 description: <>An example rule that only loads when Claude is working on test files. The <C>paths:</C> globs in the frontmatter define which files trigger it; here, anything ending in .test.ts or .test.tsx. For other files, this rule is not loaded into context.</>,

181 example: `---

182paths:

183 - "**/*.test.ts"

184 - "**/*.test.tsx"

185---

186 

187# Testing Rules

188 

189- Use descriptive test names: "should [expected] when [condition]"

190- Mock external dependencies, not internal modules

191- Clean up side effects in afterEach`

192 }, {

193 id: 'rule-api',

194 label: 'api-design.md',

195 type: 'file',

196 icon: 'md',

197 color: '#9B7BC4',

198 badge: 'committed',

199 oneLiner: 'API conventions scoped to backend code',

200 when: <>Loaded when Claude reads a file matching the <C>paths:</C> glob below</>,

201 description: <>A second example showing a rule scoped to backend code. The <C>paths:</C> glob matches files under src/api/, so these conventions load only when Claude is editing API routes.</>,

202 example: `---

203paths:

204 - "src/api/**/*.ts"

205---

206 

207# API Design Rules

208 

209- All endpoints must validate input with Zod schemas

210- Return shape: { data: T } | { error: string }

211- Rate limit all public endpoints`

212 }]

213 }, {

214 id: 'skills',

215 label: 'skills/',

216 type: 'folder',

217 icon: 'folder',

218 color: '#D4A843',

219 oneLiner: 'Reusable prompts you or Claude invoke by name',

220 when: <>Invoked with <C>/skill-name</C> or when Claude matches the task to a skill</>,

221 description: <>Each skill is a folder with a SKILL.md file plus any supporting files it needs. By default, both you and Claude can invoke a skill. Use frontmatter to control that: <C>disable-model-invocation: true</C> for user-only workflows like <C>/deploy</C>, or <C>user-invocable: false</C> to hide from the <C>/</C> menu while Claude can still invoke it.</>,

222 tips: [<>Skills accept arguments: <C>/deploy staging</C> passes "staging" as <C>$ARGUMENTS</C>. Use <C>$0</C>, <C>$1</C>, and so on for positional access</>, <>The <C>description</C> frontmatter determines when Claude auto-invokes the skill</>, 'Bundle reference docs alongside SKILL.md. Claude knows the skill directory path and can read supporting files when you mention them'],

223 docsLink: '/en/skills',

224 children: [{

225 id: 'skill-review',

226 label: 'security-review/',

227 type: 'folder',

228 icon: 'folder',

229 color: '#D4A843',

230 oneLiner: 'A skill bundling SKILL.md with supporting files',

231 children: [{

232 id: 'skill-review-md',

233 label: 'SKILL.md',

234 type: 'file',

235 icon: 'md',

236 color: '#D4A843',

237 badge: 'committed',

238 oneLiner: 'Entrypoint: trigger, invocability, instructions',

239 when: <>User types <C>/security-review &lt;target&gt;</C>; Claude cannot auto-invoke this skill</>,

240 description: [<>This skill uses <C>disable-model-invocation: true</C> so only you can trigger it; Claude never invokes it on its own.</>, <>The <C>!`...`</C> line runs a shell command and injects its output into the prompt. <C>$ARGUMENTS</C> substitutes whatever you typed after the skill name. Claude sees the skill directory path, so mentioning a bundled file like checklist.md lets Claude read it.</>],

241 example: `---

242description: Reviews code changes for security vulnerabilities, authentication gaps, and injection risks

243disable-model-invocation: true

244argument-hint: <branch-or-path>

245---

246 

247## Diff to review

248 

249!\`git diff $ARGUMENTS\`

250 

251Audit the changes above for:

252 

2531. Injection vulnerabilities (SQL, XSS, command)

2542. Authentication and authorization gaps

2553. Hardcoded secrets or credentials

256 

257Use checklist.md in this skill directory for the full review checklist.

258 

259Report findings with severity ratings and remediation steps.`

260 }, {

261 id: 'skill-checklist',

262 label: 'checklist.md',

263 type: 'file',

264 icon: 'md',

265 color: '#D4A843',

266 badge: 'committed',

267 oneLiner: 'Supporting file bundled with the skill',

268 when: 'Claude reads it on demand while running the skill',

269 description: <>Skills can bundle any supporting files: reference docs, templates, scripts. The skill directory path is prepended to SKILL.md, so Claude can read bundled files by name. For scripts in bash injection commands, use the <C>{'${CLAUDE_SKILL_DIR}'}</C> placeholder.</>,

270 example: `# Security Review Checklist

271 

272## Input Validation

273- [ ] All user input sanitized before DB queries

274- [ ] File upload MIME types validated

275- [ ] Path traversal prevented on file operations

276 

277## Authentication

278- [ ] JWT tokens expire after 24 hours

279- [ ] API keys stored in environment variables

280- [ ] Passwords hashed with bcrypt or argon2`

281 }]

282 }]

283 }, {

284 id: 'commands',

285 label: 'commands/',

286 type: 'folder',

287 icon: 'folder',

288 color: '#788C5D',

289 oneLiner: <>Single-file prompts invoked with <C>/name</C></>,

290 note: commandsNote,

291 when: <>User types <C>/command-name</C></>,

292 description: <>A file at <C>commands/deploy.md</C> creates <C>/deploy</C> the same way a skill at <C>skills/deploy/SKILL.md</C> does, and both can be auto-invoked by Claude. Skills use a directory with SKILL.md, letting you bundle reference docs, templates, or scripts alongside the prompt.</>,

293 tips: [<>Use <C>$ARGUMENTS</C> in the file to accept parameters: <C>/fix-issue 123</C></>, 'If a skill and command share a name, the skill takes precedence', 'New commands should usually be skills instead; commands remain supported'],

294 docsLink: '/en/skills',

295 children: [{

296 id: 'cmd-example',

297 label: 'fix-issue.md',

298 type: 'file',

299 icon: 'md',

300 color: '#788C5D',

301 badge: 'committed',

302 oneLiner: <>Invoked as <C>/fix-issue &lt;number&gt;</C></>,

303 note: commandsNote,

304 description: [<>An example command for fixing a GitHub issue. Type <C>/fix-issue 123</C> and the <C>!`...`</C> line runs <C>gh issue view 123</C> in your shell, injecting the output into the prompt before Claude sees it.</>, <><C>$ARGUMENTS</C> substitutes whatever you typed after the command name. For positional access, use <C>$0</C> <C>$1</C> and so on.</>],

305 example: `---

306argument-hint: <issue-number>

307---

308 

309!\`gh issue view $ARGUMENTS\`

310 

311Investigate and fix the issue above.

312 

3131. Trace the bug to its root cause

3142. Implement the fix

3153. Write or update tests

3164. Summarize what you changed and why`

317 }]

318 }, {

319 id: 'output-styles',

320 label: 'output-styles/',

321 type: 'folder',

322 icon: 'folder',

323 color: '#5AA7A7',

324 oneLiner: 'Project-scoped output styles, if your team shares any',

325 when: 'Applied at session start when selected via the outputStyle setting',

326 description: <>Output styles are usually personal, so most live in <C>~/.claude/output-styles/</C>. Put one here if your team shares a style, like a review mode everyone uses. See <A href="#ce-global-output-styles">the Global tab</A> for the full explanation and example.</>,

327 docsLink: '/en/output-styles',

328 children: []

329 }, {

330 id: 'agents',

331 label: 'agents/',

332 type: 'folder',

333 icon: 'folder',

334 color: '#C46686',

335 oneLiner: 'Specialized subagents with their own context window',

336 when: 'Runs in its own context window when you or Claude invoke it',

337 description: 'Each markdown file defines a subagent with its own system prompt, tool access, and optionally its own model. Subagents run in a fresh context window, keeping the main conversation clean. Useful for parallel work or isolated tasks.',

338 tips: ['Each agent gets a fresh context window, separate from your main session', <>Restrict tool access per agent with the <C>tools:</C> frontmatter field</>, 'Type @ and pick an agent from the autocomplete to delegate directly'],

339 docsLink: '/en/sub-agents',

340 children: [{

341 id: 'agent-reviewer',

342 label: 'code-reviewer.md',

343 type: 'file',

344 icon: 'md',

345 color: '#C46686',

346 badge: 'committed',

347 oneLiner: 'Subagent for isolated code review',

348 when: 'Claude spawns it for review tasks, or you @-mention it from the autocomplete',

349 description: <>An example subagent restricted to read-only tools. The <C>description</C> frontmatter tells Claude when to delegate to it automatically; <C>tools:</C> limits it to Read, Grep, and Glob so it can inspect code but never edit. The body becomes the subagent's system prompt.</>,

350 example: `---

351name: code-reviewer

352description: Reviews code for correctness, security, and maintainability

353tools: Read, Grep, Glob

354---

355 

356You are a senior code reviewer. Review for:

357 

3581. Correctness: logic errors, edge cases, null handling

3592. Security: injection, auth bypass, data exposure

3603. Maintainability: naming, complexity, duplication

361 

362Every finding must include a concrete fix.`

363 }]

364 }, {

365 id: 'workflows',

366 label: 'workflows/',

367 type: 'folder',

368 icon: 'folder',

369 color: '#C46686',

370 oneLiner: 'Dynamic workflow scripts that orchestrate many subagents',

371 when: 'Loaded at startup; each file becomes a /<name> command',

372 description: <>Each <C>.js</C> file is a <A href="/en/workflows">dynamic workflow</A>: a script the runtime executes to spawn and coordinate many subagents. Workflows are written by Claude and saved here from <C>/workflows</C> rather than authored from scratch.</>,

373 tips: [<>Save a run from <C>/workflows</C> with <C>s</C> to create one of these</>, <>A project workflow takes precedence over a personal one in <C>~/.claude/workflows/</C> with the same name</>],

374 docsLink: '/en/workflows'

375 }, {

376 id: 'agent-memory',

377 label: 'agent-memory/',

378 type: 'folder',

379 icon: 'folder',

380 color: '#C46686',

381 badge: 'committed',

382 autogen: true,

383 oneLiner: 'Subagent persistent memory, separate from your main session auto memory',

384 when: 'First 200 lines (capped at 25KB) of MEMORY.md loaded into the subagent system prompt when it runs',

385 description: <>Subagents with <C>memory: project</C> in their frontmatter get a dedicated memory directory here. This is distinct from your <A href="/en/memory#auto-memory">main session auto memory</A> at <C>~/.claude/projects/</C>: each subagent reads and writes its own MEMORY.md, not yours.</>,

386 tips: [<>Only created for subagents that set the <C>memory:</C> frontmatter field</>, <>This directory holds project-scoped subagent memory, meant to be shared with your team. To keep memory out of version control use <C>memory: local</C>, which writes to <C>.claude/agent-memory-local/</C> instead. For cross-project memory use <C>memory: user</C>, which writes to <C>~/.claude/agent-memory/</C></>, <>The main session auto memory is a different feature; see <C>~/.claude/projects/</C> in the Global tab</>],

387 docsLink: '/en/sub-agents#enable-persistent-memory',

388 children: [{

389 id: 'agent-memory-sub',

390 label: '<agent-name>/',

391 type: 'folder',

392 icon: 'folder',

393 color: '#C46686',

394 autogen: true,

395 children: [{

396 id: 'agent-memory-md',

397 label: 'MEMORY.md',

398 type: 'file',

399 icon: 'md',

400 color: '#C46686',

401 badge: 'committed',

402 autogen: true,

403 oneLiner: 'The subagent writes and maintains this file automatically',

404 when: 'Loaded into the subagent system prompt when the subagent starts',

405 description: <>Works the same as your <A href="/en/memory#auto-memory">main auto memory</A>: the subagent creates and updates this file itself. You do not write it. The subagent reads it at the start of each task and writes back what it learns.</>,

406 example: `# code-reviewer memory

407 

408## Patterns seen

409- Project uses custom Result<T, E> type, not exceptions

410- Auth middleware expects Bearer token in Authorization header

411- Tests use factory functions in test/factories/

412 

413## Recurring issues

414- Missing null checks on API responses (src/api/*)

415- Unhandled promise rejections in background jobs`

416 }]

417 }]

418 }]

419 }]

420 },

421 global: {

422 label: '~/',

423 children: [{

424 id: 'claude-json',

425 label: '.claude.json',

426 type: 'file',

427 icon: 'json',

428 color: 'var(--ce-text-3)',

429 badge: 'local',

430 oneLiner: 'App state and UI preferences',

431 when: <>Read at session start for your preferences and MCP servers. Claude Code writes back to it when you change settings in <C>/config</C> or approve trust prompts</>,

432 description: <>Holds state that does not belong in settings.json: theme, OAuth session, per-project trust decisions, your personal MCP servers, and UI toggles. Mostly managed through <C>/config</C> rather than editing directly.</>,

433 tips: [<>IDE toggles like <C>autoConnectIde</C> and <C>externalEditorContext</C> live here, not in settings.json</>, <>The <C>projects</C> key tracks per-project state like trust-dialog acceptance and last-session metrics. Permission rules you approve in-session go to <C>.claude/settings.local.json</C> instead</>, <>MCP servers here are yours only: user scope applies across all projects, local scope is per-project but not committed. Team-shared servers go in <C>.mcp.json</C> at the project root instead</>],

434 example: `{

435 "autoConnectIde": true,

436 "externalEditorContext": true,

437 "mcpServers": {

438 "my-tools": {

439 "command": "npx",

440 "args": ["-y", "@example/mcp-server"]

441 }

442 }

443}`,

444 docsLink: '/en/settings#global-config-settings'

445 }, {

446 id: 'global-dot-claude',

447 label: '.claude/',

448 type: 'folder',

449 icon: 'folder',

450 color: 'var(--ce-accent)',

451 oneLiner: 'Your personal configuration across all projects',

452 description: 'The global counterpart to your project .claude/ directory. Files here apply to every project you work in and are never committed to any repository.',

453 children: [{

454 id: 'global-claude-md',

455 label: 'CLAUDE.md',

456 type: 'file',

457 icon: 'md',

458 color: '#6A9BCC',

459 badge: 'local',

460 oneLiner: 'Personal preferences across every project',

461 when: 'Loaded at the start of every session, in every project',

462 description: 'Your global instruction file. Loaded alongside the project CLAUDE.md at session start, so both are in context together. When instructions conflict, project-level instructions take priority. Keep this to preferences that apply everywhere: response style, commit format, personal conventions.',

463 tips: ['Keep it short since it loads into context for every project, alongside that project\'s own CLAUDE.md', 'Good for response style, commit format, and personal conventions'],

464 example: `# Global preferences

465 

466- Keep explanations concise

467- Use conventional commit format

468- Show the terminal command to verify changes

469- Prefer composition over inheritance`,

470 docsLink: '/en/memory'

471 }, {

472 id: 'global-settings',

473 label: 'settings.json',

474 type: 'file',

475 icon: 'json',

476 color: 'var(--ce-text-3)',

477 badge: 'local',

478 oneLiner: 'Default settings for all projects',

479 when: 'Your defaults. Project and local settings.json override any keys you also set there',

480 description: [<>Same keys as project <C>settings.json</C>: permissions, hooks, model, environment variables, and the rest. Put settings here that you want in every project, like permissions you always allow, a preferred model, or a notification hook that runs regardless of which project you're in.</>, <>Settings follow a precedence order: project <C>settings.json</C> overrides any matching keys you set here. This is different from CLAUDE.md, where global and project files are both loaded into context rather than merged key by key.</>],

481 example: `{

482 "permissions": {

483 "allow": [

484 "Bash(git log *)",

485 "Bash(git diff *)"

486 ]

487 }

488}`,

489 docsLink: '/en/settings'

490 }, {

491 id: 'keybindings',

492 label: 'keybindings.json',

493 type: 'file',

494 icon: 'json',

495 color: 'var(--ce-text-3)',

496 badge: 'local',

497 oneLiner: 'Custom keyboard shortcuts',

498 when: 'Read at session start and hot-reloaded when you edit the file',

499 description: <>Rebind keyboard shortcuts in the interactive CLI. Run <C>/keybindings</C> to create or open this file with a schema reference. Ctrl+C, Ctrl+D, Ctrl+M, and Caps Lock are reserved and cannot be rebound.</>,

500 exampleIntro: <>This example binds <C>Ctrl+E</C> to open your external editor and unbinds <C>Ctrl+U</C> by setting it to <C>null</C>. The <C>context</C> field scopes bindings to a specific part of the CLI, here the main chat input.</>,

501 example: `{

502 "$schema": "https://www.schemastore.org/claude-code-keybindings.json",

503 "$docs": "https://code.claude.com/docs/en/keybindings",

504 "bindings": [

505 {

506 "context": "Chat",

507 "bindings": {

508 "ctrl+e": "chat:externalEditor",

509 "ctrl+u": null

510 }

511 }

512 ]

513}`,

514 docsLink: '/en/keybindings'

515 }, {

516 id: 'themes',

517 label: 'themes/',

518 type: 'folder',

519 icon: 'folder',

520 color: '#5AA7A7',

521 oneLiner: 'Custom color themes',

522 when: <>Read at session start and hot-reloaded when files change. Listed in <C>/theme</C></>,

523 description: <>Each <C>.json</C> file defines a custom color theme: a built-in <C>base</C> preset plus an <C>overrides</C> map of color tokens. Create one interactively with <C>/theme</C> or write the JSON by hand. Selecting a custom theme stores <C>custom:&lt;slug&gt;</C> as your theme preference.</>,

524 example: `{

525 "name": "Dracula",

526 "base": "dark",

527 "overrides": {

528 "claude": "#bd93f9",

529 "error": "#ff5555",

530 "success": "#50fa7b"

531 }

532}`,

533 docsLink: '/en/terminal-config#create-a-custom-theme',

534 children: []

535 }, {

536 id: 'global-projects',

537 label: 'projects/',

538 type: 'folder',

539 icon: 'folder',

540 color: '#E8A45C',

541 autogen: true,

542 oneLiner: "Auto memory: Claude's notes to itself, per project",

543 when: 'MEMORY.md loaded at session start; topic files read on demand',

544 description: 'Auto memory lets Claude accumulate knowledge across sessions without you writing anything. Claude saves notes as it works: build commands, debugging insights, architecture notes. Each project gets its own memory directory keyed by the repository path.',

545 tips: [<>On by default. Toggle with <C>/memory</C> or <C>autoMemoryEnabled</C> in settings</>, 'MEMORY.md is the index loaded each session. The first 200 lines, or 25KB, whichever comes first, are read', 'Topic files like debugging.md are read on demand, not at startup', 'These are plain markdown. Edit or delete them anytime'],

546 docsLink: '/en/memory#auto-memory',

547 children: [{

548 id: 'memory-dir',

549 label: '<project>/memory/',

550 type: 'folder',

551 icon: 'folder',

552 color: '#E8A45C',

553 autogen: true,

554 oneLiner: "Claude's accumulated knowledge for one project",

555 children: [{

556 id: 'memory-md',

557 label: 'MEMORY.md',

558 type: 'file',

559 icon: 'md',

560 color: '#E8A45C',

561 badge: 'local',

562 autogen: true,

563 oneLiner: 'Claude writes and maintains this file automatically',

564 when: 'First 200 lines (capped at 25KB) loaded at session start',

565 description: 'Claude creates and updates this file as it works; you do not write it yourself. It acts as an index that Claude reads at the start of every session, pointing to topic files for detail. You can edit or delete it, but Claude will keep updating it.',

566 example: `# Memory Index

567 

568## Project

569- [build-and-test.md](build-and-test.md): npm run build (~45s), Vitest, dev server on 3001

570- [architecture.md](architecture.md): API client singleton, refresh-token auth

571 

572## Reference

573- [debugging.md](debugging.md): auth token rotation and DB connection troubleshooting`,

574 docsLink: '/en/memory'

575 }, {

576 id: 'memory-topic',

577 label: 'debugging.md',

578 type: 'file',

579 icon: 'md',

580 color: '#E8A45C',

581 badge: 'local',

582 autogen: true,

583 oneLiner: 'Topic notes Claude writes when MEMORY.md gets long',

584 when: 'Claude reads this when a related task comes up',

585 description: 'An example of a topic file Claude creates when MEMORY.md grows too long. Claude picks the filename based on what it splits out: debugging.md, architecture.md, build-commands.md, or similar. You never create these yourself. Claude reads a topic file back only when the current task relates to it.',

586 example: `---

587name: Debugging patterns

588description: Auth token rotation and database connection troubleshooting for this project

589type: reference

590---

591 

592## Auth Token Issues

593- Refresh token rotation: old token invalidated immediately

594- If 401 after refresh: check clock skew between client and server

595 

596## Database Connection Drops

597- Connection pool: max 10 in dev, 50 in prod

598- Always check \`docker compose ps\` first`

599 }]

600 }]

601 }, {

602 id: 'global-rules',

603 label: 'rules/',

604 type: 'folder',

605 icon: 'folder',

606 color: '#9B7BC4',

607 oneLiner: 'User-level rules that apply to every project',

608 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,

609 description: 'Same as project .claude/rules/ but applies everywhere. Use this for conventions you want across all your work, like personal code style or commit message format.',

610 docsLink: '/en/memory#organize-rules-with-claude/rules/',

611 children: []

612 }, {

613 id: 'global-skills',

614 label: 'skills/',

615 type: 'folder',

616 icon: 'folder',

617 color: '#D4A843',

618 oneLiner: 'Personal skills available in every project',

619 when: <>Invoked with <C>/skill-name</C> in any project</>,

620 description: 'Skills you built for yourself that work everywhere. Same structure as project skills: each is a folder with SKILL.md, scoped to your user account instead of a single project.',

621 docsLink: '/en/skills',

622 children: []

623 }, {

624 id: 'global-commands',

625 label: 'commands/',

626 type: 'folder',

627 icon: 'folder',

628 color: '#788C5D',

629 oneLiner: 'Personal single-file commands available in every project',

630 note: commandsNote,

631 when: <>User types <C>/command-name</C> in any project</>,

632 description: 'Same as project commands/ but scoped to your user account. Each markdown file becomes a command available everywhere.',

633 docsLink: '/en/skills',

634 children: []

635 }, {

636 id: 'global-output-styles',

637 label: 'output-styles/',

638 type: 'folder',

639 icon: 'folder',

640 color: '#5AA7A7',

641 oneLiner: 'Custom system-prompt sections that adjust how Claude works',

642 when: 'Applied at session start when selected via the outputStyle setting',

643 description: [<>Each markdown file defines an output style: a section appended to the system prompt that, by default, also drops the built-in software-engineering task instructions. Use this to adapt Claude Code for uses beyond coding, or to add teaching or review modes.</>, <>Select a built-in or custom style with <C>/config</C> or the <C>outputStyle</C> key in settings. Styles here are available in every project; project-level styles with the same name take precedence.</>],

644 tips: ['Built-in styles Explanatory and Learning are included with Claude Code; custom styles go here', <>Set <C>keep-coding-instructions: true</C> in frontmatter to keep the default task instructions alongside your additions</>, 'Changes take effect on the next session since the system prompt is fixed at startup for caching'],

645 docsLink: '/en/output-styles',

646 children: [{

647 id: 'output-style-example',

648 label: 'teaching.md',

649 type: 'file',

650 icon: 'md',

651 color: '#5AA7A7',

652 badge: 'local',

653 oneLiner: 'Example style that adds explanations and leaves small changes for you',

654 when: <>Active when <C>outputStyle</C> in settings is set to <C>teaching</C></>,

655 description: <>This style appends instructions to the system prompt: Claude adds a "Why this approach" note after each task and leaves TODO(human) markers for changes under 10 lines instead of writing them itself. Select it by setting <C>outputStyle</C> to the filename without .md, or to the <C>name</C> field if you set one in frontmatter.</>,

656 example: `---

657description: Explains reasoning and asks you to implement small pieces

658keep-coding-instructions: true

659---

660 

661After completing each task, add a brief "Why this approach" note

662explaining the key design decision.

663 

664When a change is under 10 lines, ask the user to implement it

665themselves by leaving a TODO(human) marker instead of writing it.`

666 }]

667 }, {

668 id: 'global-agents',

669 label: 'agents/',

670 type: 'folder',

671 icon: 'folder',

672 color: '#C46686',

673 oneLiner: 'Personal subagents available in every project',

674 when: 'Claude delegates or you @-mention in any project',

675 description: 'Subagents defined here are available across all your projects. Same format as project agents.',

676 docsLink: '/en/sub-agents',

677 children: []

678 }, {

679 id: 'global-workflows',

680 label: 'workflows/',

681 type: 'folder',

682 icon: 'folder',

683 color: '#C46686',

684 oneLiner: 'Personal dynamic workflows available in every project',

685 when: 'Loaded at startup; each file becomes a /<name> command',

686 description: <>Workflow scripts saved here are available across all your projects. A project workflow with the same name in <C>.claude/workflows/</C> takes precedence.</>,

687 docsLink: '/en/workflows',

688 children: []

689 }, {

690 id: 'global-agent-memory',

691 label: 'agent-memory/',

692 type: 'folder',

693 icon: 'folder',

694 color: '#C46686',

695 autogen: true,

696 oneLiner: <>Persistent memory for subagents with <C>memory: user</C></>,

697 when: 'Loaded into the subagent system prompt when the subagent starts',

698 description: <>Subagents with <C>memory: user</C> in their frontmatter store knowledge here that persists across all projects. For project-scoped subagent memory, see <C>.claude/agent-memory/</C> instead.</>,

699 docsLink: '/en/sub-agents#enable-persistent-memory',

700 children: []

701 }]

702 }]

703 }

704 }), []);

705 const BADGE_STYLES = useMemo(() => ({

706 committed: {

707 bg: 'rgba(85,138,66,0.08)',

708 color: 'var(--ce-badge-committed)',

709 border: 'rgba(85,138,66,0.15)',

710 label: 'committed'

711 },

712 gitignored: {

713 bg: 'rgba(217,119,87,0.06)',

714 color: 'var(--ce-badge-gitignored)',

715 border: 'rgba(217,119,87,0.15)',

716 label: 'gitignored'

717 },

718 local: {

719 bg: 'rgba(115,114,108,0.06)',

720 color: 'var(--ce-badge-local)',

721 border: 'rgba(115,114,108,0.12)',

722 label: 'local only'

723 },

724 autogen: {

725 bg: 'rgba(232,164,92,0.1)',

726 color: 'var(--ce-badge-autogen)',

727 border: 'rgba(232,164,92,0.2)',

728 label: 'Claude writes'

729 }

730 }), []);

731 const allNodes = useMemo(() => {

732 const flatten = (nodes, acc, path, parentId) => {

733 for (const node of nodes) {

734 const nextPath = [...path, node.label];

735 acc[node.id] = {

736 ...node,

737 path: nextPath,

738 parentId

739 };

740 if (node.children) flatten(node.children, acc, nextPath, node.id);

741 }

742 return acc;

743 };

744 const project = flatten(FILE_TREE.project.children, {}, [FILE_TREE.project.label]);

745 const global = flatten(FILE_TREE.global.children, {}, [FILE_TREE.global.label]);

746 for (const id in project) project[id].root = 'project';

747 for (const id in global) global[id].root = 'global';

748 return {

749 ...project,

750 ...global

751 };

752 }, [FILE_TREE]);

753 const allFolderIds = useMemo(() => Object.keys(allNodes).filter(id => allNodes[id].type === 'folder'), [allNodes]);

754 const DEFAULT_EXPANDED = ['dot-claude', 'rules', 'skills', 'skill-review', 'commands', 'agents', 'agent-memory', 'agent-memory-sub', 'global-dot-claude', 'global-output-styles', 'global-projects', 'memory-dir'];

755 const [mounted, setMounted] = useState(false);

756 const [activeRoot, setActiveRoot] = useState('project');

757 const [selectedId, setSelectedId] = useState('claude-md');

758 const [expandedFolders, setExpandedFolders] = useState(() => new Set(DEFAULT_EXPANDED));

759 const [forceMobile, setForceMobile] = useState(false);

760 const [copiedId, setCopiedId] = useState(null);

761 const [isFullscreen, setIsFullscreen] = useState(false);

762 const copyTimeoutRef = useRef(null);

763 const rootRef = useRef(null);

764 useEffect(() => {

765 setMounted(true);

766 const applyHash = scroll => {

767 const hash = window.location.hash.slice(1);

768 if (!hash.startsWith('ce-')) return;

769 const id = hash.slice(3);

770 const node = allNodes[id];

771 if (!node) return;

772 setActiveRoot(node.root);

773 setSelectedId(id);

774 setExpandedFolders(new Set(allFolderIds));

775 if (scroll && rootRef.current) rootRef.current.scrollIntoView({

776 behavior: 'smooth',

777 block: 'start'

778 });

779 };

780 applyHash(false);

781 const onHashChange = () => applyHash(true);

782 const onFsChange = () => setIsFullscreen(!!document.fullscreenElement);

783 window.addEventListener('hashchange', onHashChange);

784 document.addEventListener('fullscreenchange', onFsChange);

785 return () => {

786 if (copyTimeoutRef.current) clearTimeout(copyTimeoutRef.current);

787 window.removeEventListener('hashchange', onHashChange);

788 document.removeEventListener('fullscreenchange', onFsChange);

789 };

790 }, []);

791 useEffect(() => {

792 if (!mounted || !rootRef.current) return;

793 const hash = window.location.hash.slice(1);

794 if (hash.startsWith('ce-') && allNodes[hash.slice(3)]) {

795 rootRef.current.scrollIntoView({

796 behavior: 'smooth',

797 block: 'start'

798 });

799 }

800 }, [mounted]);

801 if (!mounted) return null;

802 const selected = allNodes[selectedId];

803 const tree = FILE_TREE[activeRoot];

804 const isCopied = copiedId === selected.id;

805 const toggleFolder = id => {

806 const next = new Set(expandedFolders);

807 next.has(id) ? next.delete(id) : next.add(id);

808 setExpandedFolders(next);

809 };

810 const switchRoot = root => {

811 if (root === activeRoot) return;

812 setActiveRoot(root);

813 const firstId = FILE_TREE[root].children[0].id;

814 setSelectedId(firstId);

815 try {

816 history.replaceState(null, '', '#ce-' + firstId);

817 } catch (e) {}

818 };

819 const toggleFullscreen = () => {

820 if (!rootRef.current) return;

821 if (document.fullscreenElement) document.exitFullscreen(); else rootRef.current.requestFullscreen().catch(() => {});

822 };

823 const selectNode = n => {

824 setSelectedId(n.id);

825 if (n.type === 'folder' && !expandedFolders.has(n.id)) toggleFolder(n.id);

826 try {

827 history.replaceState(null, '', '#ce-' + n.id);

828 } catch (e) {}

829 };

830 const iconBtn = {

831 width: 28,

832 flexShrink: 0,

833 borderRadius: '6px',

834 border: 'none',

835 cursor: 'pointer',

836 background: 'transparent',

837 color: 'var(--ce-text-4)',

838 display: 'flex',

839 alignItems: 'center',

840 justifyContent: 'center'

841 };

842 const visibleFolderIds = allFolderIds.filter(id => allNodes[id].root === activeRoot);

843 const allExpanded = visibleFolderIds.every(id => expandedFolders.has(id));

844 const toggleAllFolders = () => {

845 const next = new Set(expandedFolders);

846 visibleFolderIds.forEach(id => allExpanded ? next.delete(id) : next.add(id));

847 setExpandedFolders(next);

848 };

849 const onTreeKeyDown = e => {

850 if (!['ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft'].includes(e.key)) return;

851 const visible = [];

852 const walk = nodes => {

853 for (const n of nodes) {

854 visible.push(n.id);

855 if (n.children && expandedFolders.has(n.id)) walk(n.children);

856 }

857 };

858 walk(tree.children);

859 const i = visible.indexOf(selectedId);

860 if (i === -1) return;

861 e.preventDefault();

862 if (e.key === 'ArrowDown' && i < visible.length - 1) selectNode(allNodes[visible[i + 1]]); else if (e.key === 'ArrowUp' && i > 0) selectNode(allNodes[visible[i - 1]]); else if (e.key === 'ArrowRight' && selected.type === 'folder') {

863 if (!expandedFolders.has(selectedId)) toggleFolder(selectedId); else if (selected.children && selected.children.length) selectNode(allNodes[selected.children[0].id]);

864 } else if (e.key === 'ArrowLeft') {

865 if (selected.type === 'folder' && expandedFolders.has(selectedId)) toggleFolder(selectedId); else if (selected.parentId) selectNode(allNodes[selected.parentId]);

866 }

867 };

868 const copyExample = (id, text) => {

869 const done = () => {

870 setCopiedId(id);

871 if (copyTimeoutRef.current) clearTimeout(copyTimeoutRef.current);

872 copyTimeoutRef.current = setTimeout(() => setCopiedId(null), 2000);

873 };

874 const fallback = () => {

875 const ta = document.createElement('textarea');

876 ta.value = text;

877 ta.style.position = 'fixed';

878 ta.style.opacity = '0';

879 document.body.appendChild(ta);

880 ta.select();

881 try {

882 if (document.execCommand('copy')) done();

883 } catch (e) {}

884 document.body.removeChild(ta);

885 };

886 if (navigator.clipboard) {

887 navigator.clipboard.writeText(text).then(done, fallback);

888 } else {

889 fallback();

890 }

891 };

892 const renderIcon = (icon, color, size) => {

893 const sz = size || 14;

894 if (icon === 'folder') {

895 return <svg width={sz} height={sz} viewBox="0 0 14 14" fill="none">

896 <path d="M1.5 3.5a1 1 0 0 1 1-1h2.6l1 1.2h5.4a1 1 0 0 1 1 1v5.8a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1V3.5z" fill={color} fillOpacity="0.15" stroke={color} strokeWidth="1" />

897 </svg>;

898 }

899 if (icon === 'json') {

900 return <svg width={sz} height={sz} viewBox="0 0 14 14" fill="none">

901 <rect x="2" y="1.5" width="10" height="11" rx="1.5" fill={color} fillOpacity="0.15" stroke={color} strokeWidth="1" />

902 <text x="7" y="9" fontSize="6" fontFamily="monospace" fill={color} textAnchor="middle" fontWeight="700">{'{}'}</text>

903 </svg>;

904 }

905 return <svg width={sz} height={sz} viewBox="0 0 14 14" fill="none">

906 <rect x="2" y="1.5" width="10" height="11" rx="1.5" fill={color} fillOpacity="0.15" stroke={color} strokeWidth="1" />

907 <line x1="4.5" y1="5" x2="9.5" y2="5" stroke={color} strokeWidth="1" />

908 <line x1="4.5" y1="7" x2="9.5" y2="7" stroke={color} strokeWidth="1" />

909 <line x1="4.5" y1="9" x2="8" y2="9" stroke={color} strokeWidth="1" />

910 </svg>;

911 };

912 const renderNode = (node, depth) => {

913 const isFolder = node.type === 'folder';

914 const isExpanded = expandedFolders.has(node.id);

915 const isSelected = selectedId === node.id;

916 return <div key={node.id}>

917 <button role="treeitem" tabIndex={-1} onClick={() => selectNode(node)} aria-selected={isSelected} aria-expanded={isFolder ? isExpanded : undefined} style={{

918 display: 'flex',

919 alignItems: 'center',

920 gap: '5px',

921 width: '100%',

922 padding: `4px 8px 4px ${8 + depth * 16}px`,

923 background: isSelected ? 'var(--ce-accent-bg)' : 'transparent',

924 borderTop: 'none',

925 borderRight: 'none',

926 borderBottom: 'none',

927 borderLeft: isSelected ? '2px solid var(--ce-accent)' : '2px solid transparent',

928 outline: 'none',

929 cursor: 'pointer',

930 textAlign: 'left',

931 fontFamily: 'var(--ce-mono)',

932 fontSize: '13.5px',

933 color: isSelected ? 'var(--ce-accent)' : 'var(--ce-text-2)',

934 fontWeight: isSelected ? 550 : 400,

935 transition: 'all 0.1s'

936 }}>

937 {isFolder ? <span onClick={e => {

938 e.stopPropagation();

939 toggleFolder(node.id);

940 }} style={{

941 fontSize: '14px',

942 color: 'var(--ce-text-4)',

943 width: '20px',

944 height: '20px',

945 display: 'inline-flex',

946 alignItems: 'center',

947 justifyContent: 'center',

948 cursor: 'pointer',

949 borderRadius: '4px',

950 marginLeft: '-6px',

951 flexShrink: 0

952 }} onMouseEnter={e => {

953 e.currentTarget.style.background = 'var(--ce-arrow-hover)';

954 e.currentTarget.style.color = 'var(--ce-text-2)';

955 }} onMouseLeave={e => {

956 e.currentTarget.style.background = 'transparent';

957 e.currentTarget.style.color = 'var(--ce-text-4)';

958 }}>{isExpanded ? '▾' : '▸'}</span> : <span style={{

959 width: '14px',

960 flexShrink: 0

961 }} />}

962 {renderIcon(node.icon, node.color)}

963 <span style={{

964 flex: 1,

965 overflow: 'hidden',

966 textOverflow: 'ellipsis',

967 whiteSpace: 'nowrap'

968 }}>{node.label}</span>

969 {node.badge && BADGE_STYLES[node.badge] && <span title={BADGE_STYLES[node.badge].label} style={{

970 width: 6,

971 height: 6,

972 borderRadius: '50%',

973 background: BADGE_STYLES[node.badge].color,

974 flexShrink: 0,

975 opacity: 0.7

976 }} />}

977 </button>

978 {isFolder && isExpanded && node.children && <div role="group">{node.children.map(child => renderNode(child, depth + 1))}</div>}

979 </div>;

980 };

981 return <>

982 <style>{`

983 .ce-root {

984 --ce-mono: var(--font-mono, ui-monospace, monospace);

985 --ce-accent: #D97757;

986 --ce-accent-bg: rgba(217,119,87,0.06);

987 --ce-accent-border: rgba(217,119,87,0.12);

988 --ce-bg: #fff;

989 --ce-surface: #FAFAF7;

990 --ce-surface-hover: #F0EEE6;

991 --ce-border: #E8E6DC;

992 --ce-border-subtle: #F0EEE6;

993 --ce-text: #141413;

994 --ce-text-2: #5E5D59;

995 --ce-text-3: #73726C;

996 --ce-text-4: #9C9A92;

997 --ce-text-5: #B8B6AE;

998 --ce-sep: #D1CFC5;

999 --ce-code-header: #F5F4ED;

1000 --ce-code-bg: #1A1918;

1001 --ce-arrow-hover: rgba(0,0,0,0.08);

1002 --ce-badge-committed: #3d6b2e;

1003 --ce-badge-gitignored: #b85c3a;

1004 --ce-badge-local: #5e5d59;

1005 --ce-badge-autogen: #b07520;

1006 --ce-when-text: #4a7fb5;

1007 }

1008 .dark .ce-root {

1009 --ce-bg: #1a1918;

1010 --ce-surface: #232221;

1011 --ce-surface-hover: #2e2d2b;

1012 --ce-border: #3a3936;

1013 --ce-border-subtle: #2e2d2b;

1014 --ce-text: #e8e6dc;

1015 --ce-text-2: #c4c2b8;

1016 --ce-text-3: #9c9a92;

1017 --ce-text-4: #73726c;

1018 --ce-text-5: #5e5d59;

1019 --ce-sep: #4a4946;

1020 --ce-code-header: #2e2d2b;

1021 --ce-code-bg: #0d0d0c;

1022 --ce-arrow-hover: rgba(255,255,255,0.08);

1023 --ce-badge-committed: #6fa85c;

1024 --ce-badge-gitignored: #e08a60;

1025 --ce-badge-local: #9c9a92;

1026 --ce-badge-autogen: #e8a45c;

1027 --ce-when-text: #8bb4e0;

1028 }

1029 .ce-mobile-fallback { display: none; border: 1px solid rgba(0,0,0,0.1); background: rgba(0,0,0,0.03); }

1030 .dark .ce-mobile-fallback { border-color: rgba(255,255,255,0.15); background: rgba(255,255,255,0.04); }

1031 @media (max-width: 700px) {

1032 .ce-root:not(.ce-force) { display: none !important; }

1033 .ce-mobile-fallback { display: block; }

1034 }

1035 `}</style>

1036 {!forceMobile && <div className="ce-mobile-fallback" style={{

1037 padding: '14px 16px',

1038 borderRadius: '8px',

1039 fontSize: '14px'

1040 }}>

1041 The interactive explorer works best on a larger screen. See the <a href="#file-reference" style={{

1042 color: '#D97757'

1043 }}>file reference table</a> below, or <button onClick={() => setForceMobile(true)} style={{

1044 border: 'none',

1045 background: 'none',

1046 padding: 0,

1047 color: '#D97757',

1048 textDecoration: 'underline',

1049 cursor: 'pointer',

1050 font: 'inherit'

1051 }}>show the explorer anyway</button>.

1052 </div>}

1053 <div ref={rootRef} className={forceMobile ? 'ce-root ce-force' : 'ce-root'} style={{

1054 borderRadius: isFullscreen ? 0 : '12px',

1055 border: '1px solid var(--ce-border)',

1056 background: 'var(--ce-bg)',

1057 display: 'flex',

1058 alignItems: 'stretch',

1059 overflow: 'hidden',

1060 fontFamily: 'var(--font-sans, -apple-system, sans-serif)',

1061 ...isFullscreen && ({

1062 height: '100vh'

1063 })

1064 }}>

1065 {}

1066 <div style={{

1067 width: 'min(240px, 35%)',

1068 minWidth: '180px',

1069 flexShrink: 0,

1070 borderRight: '1px solid var(--ce-border-subtle)',

1071 background: 'var(--ce-surface)',

1072 display: 'flex',

1073 flexDirection: 'column'

1074 }}>

1075 <div style={{

1076 padding: '8px 8px 4px',

1077 borderBottom: '1px solid var(--ce-border-subtle)',

1078 display: 'flex',

1079 gap: '4px'

1080 }}>

1081 {['project', 'global'].map(root => <button key={root} onClick={() => switchRoot(root)} style={{

1082 flex: 1,

1083 padding: '6px 0',

1084 borderRadius: '6px',

1085 border: 'none',

1086 cursor: 'pointer',

1087 fontFamily: 'var(--ce-mono)',

1088 fontSize: '11.5px',

1089 background: activeRoot === root ? 'var(--ce-accent-bg)' : 'transparent',

1090 color: activeRoot === root ? 'var(--ce-accent)' : 'var(--ce-text-4)',

1091 fontWeight: activeRoot === root ? 600 : 430

1092 }}>

1093 {root === 'project' ? 'Project' : 'Global (~/)'}

1094 </button>)}

1095 <button onClick={toggleAllFolders} title={allExpanded ? 'Collapse all' : 'Expand all'} style={{

1096 ...iconBtn,

1097 fontSize: 11

1098 }}>

1099 {allExpanded ? '⊟' : '⊞'}

1100 </button>

1101 <button onClick={toggleFullscreen} title={isFullscreen ? 'Exit fullscreen' : 'Fullscreen'} style={{

1102 ...iconBtn,

1103 fontSize: 13

1104 }}>

1105 {isFullscreen ? '⤡' : '⛶'}

1106 </button>

1107 </div>

1108 <div role="tree" aria-label="Configuration files" tabIndex={0} onKeyDown={onTreeKeyDown} style={{

1109 padding: '6px 0',

1110 overflowY: 'auto',

1111 flex: 1,

1112 outline: 'none'

1113 }}>

1114 {tree.children.map(node => renderNode(node, 0))}

1115 </div>

1116 </div>

1117 

1118 {}

1119 <div style={{

1120 flex: 1,

1121 minWidth: 0,

1122 padding: '20px 24px',

1123 minHeight: '400px',

1124 overflowY: 'auto'

1125 }}>

1126 <span aria-live="polite" style={{

1127 position: 'absolute',

1128 width: 1,

1129 height: 1,

1130 overflow: 'hidden',

1131 clip: 'rect(0 0 0 0)'

1132 }}>{selected.label} selected</span>

1133 {}

1134 <div style={{

1135 fontFamily: 'var(--ce-mono)',

1136 fontSize: '11px',

1137 color: 'var(--ce-text-4)',

1138 marginBottom: '10px',

1139 cursor: 'default'

1140 }}>

1141 {selected.path.map((seg, i) => <span key={i}>

1142 <span style={{

1143 color: i === selected.path.length - 1 ? 'var(--ce-accent)' : 'var(--ce-text-4)'

1144 }}>{seg.replace(/\/$/, '')}</span>

1145 {i < selected.path.length - 1 && <span style={{

1146 color: 'var(--ce-sep)'

1147 }}> / </span>}

1148 </span>)}

1149 </div>

1150 

1151 {}

1152 <div style={{

1153 display: 'flex',

1154 alignItems: 'flex-start',

1155 gap: '10px',

1156 marginBottom: '10px'

1157 }}>

1158 <span style={{

1159 flexShrink: 0,

1160 display: 'flex'

1161 }}>{renderIcon(selected.icon, selected.color, 24)}</span>

1162 <div style={{

1163 flex: 1,

1164 minWidth: 0

1165 }}>

1166 <div style={{

1167 fontSize: '22px',

1168 fontWeight: 600,

1169 color: 'var(--ce-text)',

1170 letterSpacing: '-0.3px',

1171 lineHeight: '26px'

1172 }}>{selected.label}</div>

1173 {selected.oneLiner && <div style={{

1174 fontSize: '15px',

1175 color: 'var(--ce-text-3)',

1176 marginTop: '3px'

1177 }}>{selected.oneLiner}</div>}

1178 </div>

1179 <div style={{

1180 display: 'flex',

1181 gap: '4px',

1182 flexShrink: 0

1183 }}>

1184 {[selected.autogen && 'autogen', selected.badge].filter(Boolean).map(k => {

1185 const s = BADGE_STYLES[k];

1186 if (!s) return null;

1187 return <span key={k} style={{

1188 fontFamily: 'var(--ce-mono)',

1189 fontSize: '10px',

1190 fontWeight: 600,

1191 textTransform: 'uppercase',

1192 letterSpacing: '0.3px',

1193 padding: '2px 6px',

1194 borderRadius: '4px',

1195 background: s.bg,

1196 color: s.color,

1197 border: `0.5px solid ${s.border}`

1198 }}>{s.label}</span>;

1199 })}

1200 </div>

1201 </div>

1202 

1203 {}

1204 {selected.note && <div style={{

1205 padding: '10px 12px',

1206 borderRadius: '8px',

1207 marginBottom: '14px',

1208 background: 'rgba(217,119,87,0.06)',

1209 border: '1px solid rgba(217,119,87,0.2)',

1210 borderLeft: '3px solid var(--ce-accent)',

1211 fontSize: '15px',

1212 color: 'var(--ce-text-2)',

1213 lineHeight: 1.6

1214 }}>

1215 {selected.note}

1216 </div>}

1217 

1218 {}

1219 {selected.when && <div style={{

1220 padding: '8px 12px',

1221 borderRadius: '6px',

1222 background: 'rgba(106,155,204,0.06)',

1223 border: '0.5px solid rgba(106,155,204,0.12)',

1224 fontSize: '15px',

1225 color: 'var(--ce-when-text)',

1226 marginBottom: '16px'

1227 }}>

1228 <div style={{

1229 fontSize: '10px',

1230 fontWeight: 700,

1231 textTransform: 'uppercase',

1232 letterSpacing: '0.4px',

1233 opacity: 0.65,

1234 marginBottom: '3px'

1235 }}>When it loads</div>

1236 <div style={{

1237 fontWeight: 500

1238 }}>{selected.when}</div>

1239 </div>}

1240 

1241 {}

1242 {selected.description && <div style={{

1243 fontSize: '16px',

1244 color: 'var(--ce-text-2)',

1245 lineHeight: 1.65,

1246 marginBottom: '16px'

1247 }}>

1248 {Array.isArray(selected.description) ? selected.description.map((para, i) => <div key={i} style={{

1249 marginBottom: i < selected.description.length - 1 ? '12px' : 0

1250 }}>{para}</div>) : selected.description}

1251 </div>}

1252 

1253 {}

1254 {selected.contains && selected.contains.length > 0 && <div style={{

1255 marginBottom: '16px'

1256 }}>

1257 <div style={{

1258 fontSize: '11px',

1259 fontWeight: 700,

1260 color: 'var(--ce-text-4)',

1261 textTransform: 'uppercase',

1262 letterSpacing: '0.4px',

1263 marginBottom: '8px'

1264 }}>Common keys</div>

1265 {selected.contains.map((item, i) => <div key={i} style={{

1266 display: 'flex',

1267 gap: '7px',

1268 fontSize: '15px',

1269 color: 'var(--ce-text-2)',

1270 lineHeight: 1.5,

1271 marginBottom: '5px'

1272 }}>

1273 <span style={{

1274 fontSize: '7px',

1275 color: 'var(--ce-text-4)',

1276 marginTop: '6px'

1277 }}>●</span>

1278 <span>{item}</span>

1279 </div>)}

1280 </div>}

1281 

1282 {}

1283 {selected.tips && selected.tips.length > 0 && <div style={{

1284 padding: '12px 14px',

1285 borderRadius: '8px',

1286 background: 'var(--ce-surface)',

1287 border: '1px solid var(--ce-border-subtle)',

1288 marginBottom: '16px'

1289 }}>

1290 <div style={{

1291 fontSize: '11px',

1292 fontWeight: 700,

1293 color: 'var(--ce-accent)',

1294 textTransform: 'uppercase',

1295 letterSpacing: '0.4px',

1296 marginBottom: '6px'

1297 }}>Tips</div>

1298 {selected.tips.map((tip, i) => <div key={i} style={{

1299 display: 'flex',

1300 gap: '7px',

1301 fontSize: '14.5px',

1302 color: 'var(--ce-text-2)',

1303 marginBottom: i < selected.tips.length - 1 ? '5px' : 0

1304 }}>

1305 <span style={{

1306 fontSize: '7px',

1307 color: 'var(--ce-accent)',

1308 marginTop: '6px'

1309 }}>●</span>

1310 <span>{tip}</span>

1311 </div>)}

1312 </div>}

1313 

1314 {}

1315 {selected.example && <div style={{

1316 marginBottom: '16px'

1317 }}>

1318 {selected.exampleIntro && <div style={{

1319 fontSize: '15px',

1320 color: 'var(--ce-text-2)',

1321 lineHeight: 1.6,

1322 marginBottom: '10px'

1323 }}>

1324 {selected.exampleIntro}

1325 </div>}

1326 <div style={{

1327 display: 'flex',

1328 justifyContent: 'space-between',

1329 alignItems: 'center',

1330 padding: '6px 10px',

1331 background: 'var(--ce-code-header)',

1332 border: '1px solid var(--ce-border)',

1333 borderRadius: '8px 8px 0 0'

1334 }}>

1335 <span style={{

1336 fontFamily: 'var(--ce-mono)',

1337 fontSize: '11px',

1338 fontWeight: 600,

1339 color: 'var(--ce-text-3)'

1340 }}>{selected.label}</span>

1341 <button onClick={() => copyExample(selected.id, selected.example)} style={{

1342 padding: '3px 8px',

1343 borderRadius: '4px',

1344 fontSize: '11px',

1345 fontWeight: 600,

1346 cursor: 'pointer',

1347 transition: 'all 0.15s',

1348 background: isCopied ? 'rgba(85,138,66,0.08)' : 'var(--ce-code-header)',

1349 border: isCopied ? '0.5px solid rgba(85,138,66,0.2)' : '0.5px solid var(--ce-border)',

1350 color: isCopied ? '#558A42' : 'var(--ce-text-3)'

1351 }}>

1352 {isCopied ? '✓ Copied' : 'Copy'}

1353 </button>

1354 </div>

1355 <pre style={{

1356 margin: 0,

1357 padding: '12px 14px',

1358 background: 'var(--ce-code-bg)',

1359 color: '#E8E6DC',

1360 fontFamily: 'var(--ce-mono)',

1361 fontSize: '13px',

1362 lineHeight: 1.65,

1363 borderRadius: '0 0 8px 8px',

1364 overflowX: 'auto',

1365 whiteSpace: 'pre'

1366 }}>{selected.example}</pre>

1367 </div>}

1368 

1369 {}

1370 {selected.docsLink && <a href={selected.docsLink} style={{

1371 display: 'inline-flex',

1372 padding: '5px 12px',

1373 borderRadius: '6px',

1374 background: 'var(--ce-accent-bg)',

1375 border: '1px solid var(--ce-accent-border)',

1376 color: 'var(--ce-accent)',

1377 fontSize: '12px',

1378 fontWeight: 600,

1379 textDecoration: 'none'

1380 }}>Full docs →</a>}

1381 

1382 {}

1383 {selected.children && selected.children.length > 0 && <div style={{

1384 marginTop: '20px'

1385 }}>

1386 <div style={{

1387 fontSize: '11px',

1388 fontWeight: 700,

1389 color: 'var(--ce-text-4)',

1390 textTransform: 'uppercase',

1391 letterSpacing: '0.4px',

1392 marginBottom: '8px'

1393 }}>Contents</div>

1394 <div style={{

1395 display: 'flex',

1396 flexDirection: 'column',

1397 gap: '4px'

1398 }}>

1399 {selected.children.map(child => <button key={child.id} onClick={() => selectNode(child)} style={{

1400 display: 'flex',

1401 alignItems: 'center',

1402 gap: '8px',

1403 padding: '6px 8px',

1404 width: '100%',

1405 background: 'var(--ce-surface)',

1406 borderRadius: '6px',

1407 border: 'none',

1408 cursor: 'pointer',

1409 textAlign: 'left',

1410 transition: 'background 0.1s'

1411 }} onMouseEnter={e => e.currentTarget.style.background = 'var(--ce-surface-hover)'} onMouseLeave={e => e.currentTarget.style.background = 'var(--ce-surface)'}>

1412 {renderIcon(child.icon, child.color, 13)}

1413 <span style={{

1414 fontFamily: 'var(--ce-mono)',

1415 fontSize: '12px',

1416 color: 'var(--ce-text-2)'

1417 }}>{child.label}</span>

1418 {child.oneLiner && <span style={{

1419 fontSize: '11px',

1420 color: 'var(--ce-text-4)',

1421 overflow: 'hidden',

1422 textOverflow: 'ellipsis',

1423 whiteSpace: 'nowrap'

1424 }}>{child.oneLiner}</span>}

1425 </button>)}

1426 </div>

1427 </div>}

1428 </div>

1429 </div>

1430 </>;

1431};

1432 

9Claude Code читает инструкции, параметры, skills, subagents и память из директории вашего проекта и из `~/.claude` в вашей домашней директории. Зафиксируйте файлы проекта в git, чтобы поделиться ими с вашей командой; файлы в `~/.claude` — это личная конфигурация, которая применяется ко всем вашим проектам.1433Claude Code читает инструкции, параметры, skills, subagents и память из директории вашего проекта и из `~/.claude` в вашей домашней директории. Зафиксируйте файлы проекта в git, чтобы поделиться ими с вашей командой; файлы в `~/.claude` — это личная конфигурация, которая применяется ко всем вашим проектам.

10 1434 

11На Windows `~/.claude` разрешается в `%USERPROFILE%\.claude`. Если вы установите [`CLAUDE_CONFIG_DIR`](/ru/env-vars), каждый путь `~/.claude` на этой странице будет находиться в этой директории вместо этого.1435На Windows `~/.claude` разрешается в `%USERPROFILE%\.claude`. Если вы установите [`CLAUDE_CONFIG_DIR`](/ru/env-vars), каждый путь `~/.claude` на этой странице будет находиться в этой директории вместо этого.


18 1442 

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

20 1444 

21<h2 id="what-s-not-shown">1445<ClaudeExplorer />

1446 

1447<h2 id="what’s-not-shown">

22 Что не показано1448 Что не показано

23</h2>1449</h2>

24 1450 

Details

6 6 

7> Настройте Claude Code для использования API Claude, управляемого Anthropic, с аутентификацией AWS, контролем доступа IAM и выставлением счетов через AWS Marketplace.7> Настройте Claude Code для использования API Claude, управляемого Anthropic, с аутентификацией AWS, контролем доступа IAM и выставлением счетов через AWS Marketplace.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79export const Experiment = ({flag, treatment, children}) => {

80 const VID_KEY = 'exp_vid';

81 const CONSENT_COUNTRIES = new Set(['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'RE', 'GP', 'MQ', 'GF', 'YT', 'BL', 'MF', 'PM', 'WF', 'PF', 'NC', 'AW', 'CW', 'SX', 'FO', 'GL', 'AX', 'GB', 'UK', 'AI', 'BM', 'IO', 'VG', 'KY', 'FK', 'GI', 'MS', 'PN', 'SH', 'TC', 'GG', 'JE', 'IM', 'CA', 'BR', 'IN']);

82 const fnv1a = s => {

83 let h = 0x811c9dc5;

84 for (let i = 0; i < s.length; i++) {

85 h ^= s.charCodeAt(i);

86 h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);

87 }

88 return h >>> 0;

89 };

90 const bucket = (seed, vid) => fnv1a(fnv1a(seed + vid) + '') % 10000 < 5000 ? 'control' : 'treatment';

91 const [decision] = useState(() => {

92 const params = new URLSearchParams(location.search);

93 const preBucketed = document.documentElement.dataset['gb_' + flag.replace(/-/g, '_')];

94 const force = params.get('gb-force');

95 if (force) {

96 for (const p of force.split(',')) {

97 const [k, v] = p.split(':');

98 if (k === flag) return {

99 variant: v || 'treatment',

100 track: false

101 };

102 }

103 }

104 if (navigator.globalPrivacyControl) {

105 return {

106 variant: 'control',

107 track: false

108 };

109 }

110 const prefsMatch = document.cookie.match(/(?:^|; )anthropic-consent-preferences=([^;]+)/);

111 if (prefsMatch) {

112 try {

113 if (JSON.parse(decodeURIComponent(prefsMatch[1])).analytics !== true) {

114 return {

115 variant: 'control',

116 track: false

117 };

118 }

119 } catch {

120 return {

121 variant: 'control',

122 track: false

123 };

124 }

125 } else {

126 const country = params.get('country')?.toUpperCase() || (document.cookie.match(/(?:^|; )cf_geo=([A-Z]{2})/) || [])[1];

127 if (!country || CONSENT_COUNTRIES.has(country)) {

128 return {

129 variant: 'control',

130 track: false

131 };

132 }

133 }

134 let vid;

135 try {

136 const ajsMatch = document.cookie.match(/(?:^|; )ajs_anonymous_id=([^;]+)/);

137 if (ajsMatch) {

138 vid = decodeURIComponent(ajsMatch[1]).replace(/^"|"$/g, '');

139 } else {

140 vid = localStorage.getItem(VID_KEY);

141 if (!vid) {

142 vid = crypto.randomUUID();

143 }

144 document.cookie = `ajs_anonymous_id=${vid}; domain=.claude.com; path=/; Secure; SameSite=Lax; max-age=31536000`;

145 }

146 try {

147 localStorage.setItem(VID_KEY, vid);

148 } catch {}

149 } catch {

150 return {

151 variant: 'control',

152 track: false

153 };

154 }

155 const variant = preBucketed === '1' ? 'treatment' : preBucketed === '0' ? 'control' : bucket(flag, vid);

156 return {

157 variant,

158 track: true,

159 vid

160 };

161 });

162 useEffect(() => {

163 if (!decision.track) return;

164 fetch('https://api.anthropic.com/api/event_logging/v2/batch', {

165 method: 'POST',

166 headers: {

167 'Content-Type': 'application/json',

168 'x-service-name': 'claude_code_docs'

169 },

170 body: JSON.stringify({

171 events: [{

172 event_type: 'GrowthbookExperimentEvent',

173 event_data: {

174 device_id: decision.vid,

175 anonymous_id: decision.vid,

176 timestamp: new Date().toISOString(),

177 experiment_id: flag,

178 variation_id: decision.variant === 'treatment' ? 1 : 0,

179 environment: 'production'

180 }

181 }]

182 }),

183 keepalive: true

184 }).catch(() => {});

185 }, []);

186 return decision.variant === 'treatment' ? treatment : children;

187};

188 

189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />

190 

9Claude Platform on AWS — это API Claude, управляемый Anthropic, с аутентификацией AWS, контролем доступа IAM и выставлением счетов через AWS Marketplace. Запросы поступают непосредственно в API Anthropic, поэтому вы получаете те же модели и функции, что и в [Claude API](https://platform.claude.com/docs) по тому же графику выпусков. Вы аутентифицируетесь с помощью учетных данных AWS или ключа API рабочей области, и вы платите через AWS Marketplace.191Claude Platform on AWS — это API Claude, управляемый Anthropic, с аутентификацией AWS, контролем доступа IAM и выставлением счетов через AWS Marketplace. Запросы поступают непосредственно в API Anthropic, поэтому вы получаете те же модели и функции, что и в [Claude API](https://platform.claude.com/docs) по тому же графику выпусков. Вы аутентифицируетесь с помощью учетных данных AWS или ключа API рабочей области, и вы платите через AWS Marketplace.

10 192 

11Используйте это руководство, чтобы направить Claude Code на рабочую область, которую вы уже подготовили через Claude Platform on AWS. Для подписки AWS и настройки рабочей области, которые предшествуют этому, см. [документацию Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).193Используйте это руководство, чтобы направить Claude Code на рабочую область, которую вы уже подготовили через Claude Platform on AWS. Для подписки AWS и настройки рабочей области, которые предшествуют этому, см. [документацию Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).


92 3. Закрепите версии моделей274 3. Закрепите версии моделей

93</h3>275</h3>

94 276 

95Claude Platform on AWS использует те же идентификаторы моделей, что и прямой API Claude. Псевдонимы по умолчанию `opus`, `sonnet` и `haiku` разрешаются в последние версии, доступные в вашей рабочей области.277Claude Platform on AWS использует те же идентификаторы моделей, что и прямой API Claude. Псевдонимы по умолчанию `fable`, `opus`, `sonnet` и `haiku` разрешаются в встроенные значения по умолчанию Claude Code для Claude Platform on AWS, которые могут отставать от последнего выпуска. Без `ANTHROPIC_DEFAULT_OPUS_MODEL` псевдоним `opus` разрешается в Opus 4.7.

96 278 

97Если вы развертываете Claude Code для команды, явно закрепите идентификаторы моделей, чтобы новый выпуск не переместил всех сразу:279Если вы развертываете Claude Code для команды, явно закрепите идентификаторы моделей, чтобы новый выпуск не переместил всех сразу:

98 280 

99```bash theme={null}281```bash theme={null}

282export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5

100export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7283export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7

101export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6284export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6

102export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5285export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5


179 362 

180Подписка Claude Platform on AWS, настройка рабочей области и IAM, которые предшествуют настройке Claude Code, рассматриваются в документации платформы:363Подписка Claude Platform on AWS, настройка рабочей области и IAM, которые предшествуют настройке Claude Code, рассматриваются в документации платформы:

181 364 

182* [Обзор Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws): подписка, настройка рабочей области и справочник продукта365* [Обзор Claude Platform on AWS](https://platform.claude.com/docs/ru/build-with-claude/claude-platform-on-aws): подписка, настройка рабочей области и справочник продукта

183* [Справочник действий IAM](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions): разрешения и управляемые политики366* [Справочник действий IAM](https://platform.claude.com/docs/ru/api/claude-platform-on-aws-iam-actions): разрешения и управляемые политики

cli-reference.md +11 −9

Details

13Вы можете запускать сеансы, передавать содержимое, возобновлять беседы и управлять обновлениями с помощью этих команд:13Вы можете запускать сеансы, передавать содержимое, возобновлять беседы и управлять обновлениями с помощью этих команд:

14 14 

15| Команда | Описание | Пример |15| Команда | Описание | Пример |

16| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------- |16| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |

17| `claude` | Запустить интерактивный сеанс | `claude` |17| `claude` | Запустить интерактивный сеанс | `claude` |

18| `claude "query"` | Запустить интерактивный сеанс с начальным запросом | `claude "explain this project"` |18| `claude "query"` | Запустить интерактивный сеанс с начальным запросом | `claude "explain this project"` |

19| `claude -p "query"` | Запрос через SDK, затем выход | `claude -p "explain this function"` |19| `claude -p "query"` | Запрос через SDK, затем выход | `claude -p "explain this function"` |


26| `claude auth login` | Войти в свою учетную запись Anthropic. Используйте `--email` для предварительного заполнения адреса электронной почты, `--sso` для принудительной аутентификации SSO и `--console` для входа с помощью Anthropic Console для выставления счетов за использование API вместо подписки Claude | `claude auth login --console` |26| `claude auth login` | Войти в свою учетную запись Anthropic. Используйте `--email` для предварительного заполнения адреса электронной почты, `--sso` для принудительной аутентификации SSO и `--console` для входа с помощью Anthropic Console для выставления счетов за использование API вместо подписки Claude | `claude auth login --console` |

27| `claude auth logout` | Выйти из своей учетной записи Anthropic | `claude auth logout` |27| `claude auth logout` | Выйти из своей учетной записи Anthropic | `claude auth logout` |

28| `claude auth status` | Показать статус аутентификации в формате JSON. Используйте `--text` для удобочитаемого вывода. Выходит с кодом 0, если вы вошли, 1, если нет | `claude auth status` |28| `claude auth status` | Показать статус аутентификации в формате JSON. Используйте `--text` для удобочитаемого вывода. Выходит с кодом 0, если вы вошли, 1, если нет | `claude auth status` |

29| `claude agents` | Открыть [представление агентов](/ru/agent-view) для мониторинга и отправки параллельных фоновых сеансов. Используйте `--cwd <path>` для отображения только сеансов, запущенных в этом каталоге, или `--json` для вывода активных сеансов в виде массива JSON для написания скриптов. Передайте `--permission-mode`, `--model`, `--effort` или `--agent` для установки [значений по умолчанию для отправленных сеансов](/ru/agent-view#permission-mode-model-and-effort). Принимает `--settings`, `--add-dir`, `--plugin-dir` и `--mcp-config` как команда верхнего уровня `claude`. Открытие представления агентов требует интерактивный терминал | `claude agents --json` |29| `claude agents` | Открыть [представление агентов](/ru/agent-view) для мониторинга и отправки параллельных фоновых сеансов. Используйте `--cwd <path>` для отображения только сеансов, запущенных в этом каталоге, или `--json` для вывода активных сеансов в виде массива JSON для написания скриптов (`--json --all` также включает завершенные фоновые сеансы). Передайте `--permission-mode`, `--model`, `--effort` или `--agent` для установки [значений по умолчанию для отправленных сеансов](/ru/agent-view#permission-mode-model-and-effort). Принимает `--settings`, `--add-dir`, `--plugin-dir` и `--mcp-config` как команда верхнего уровня `claude`. Открытие представления агентов требует интерактивный терминал | `claude agents --json` |

30| `claude attach <id>` | Подключиться к [фоновому сеансу](/ru/agent-view#manage-sessions-from-the-shell) в этом терминале | `claude attach 7c5dcf5d` |30| `claude attach <id>` | Подключиться к [фоновому сеансу](/ru/agent-view#manage-sessions-from-the-shell) в этом терминале | `claude attach 7c5dcf5d` |

31| `claude auto-mode defaults` | Вывести встроенные правила классификатора [auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) в формате JSON. Используйте `claude auto-mode config` для просмотра вашей эффективной конфигурации с применяемыми параметрами | `claude auto-mode defaults > rules.json` |31| `claude auto-mode defaults` | Вывести встроенные правила классификатора [auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) в формате JSON. Используйте `claude auto-mode config` для просмотра вашей эффективной конфигурации с применяемыми параметрами | `claude auto-mode defaults > rules.json` |

32| `claude daemon status` | Вывести состояние [супервизора](/ru/agent-view#the-supervisor-process) фонового сеанса, версию, каталог сокета и количество рабочих процессов для диагностики. Выходит с кодом 1, если супервизор не запущен | `claude daemon status` |32| `claude daemon status` | Вывести состояние [супервизора](/ru/agent-view#the-supervisor-process) фонового сеанса, версию, каталог сокета и количество рабочих процессов для диагностики. Выходит с кодом 1, если супервизор не запущен | `claude daemon status` |


51Настройте поведение Claude Code с помощью этих флагов командной строки. `claude --help` не выводит каждый флаг, поэтому отсутствие флага в `--help` не означает, что он недоступен.51Настройте поведение Claude Code с помощью этих флагов командной строки. `claude --help` не выводит каждый флаг, поэтому отсутствие флага в `--help` не означает, что он недоступен.

52 52 

53| Флаг | Описание | Пример |53| Флаг | Описание | Пример |

54| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |54| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |

55| `--add-dir` | Добавить дополнительные рабочие каталоги для Claude для чтения и редактирования файлов. Предоставляет доступ к файлам; большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из этих каталогов. Проверяет, что каждый путь существует как каталог. Чтобы сохранить эти каталоги между сеансами, установите [`permissions.additionalDirectories`](/ru/settings#permission-settings) в параметрах | `claude --add-dir ../apps ../lib` |55| `--add-dir` | Добавить дополнительные рабочие каталоги для Claude для чтения и редактирования файлов. Предоставляет доступ к файлам; большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из этих каталогов. Проверяет, что каждый путь существует как каталог. Чтобы сохранить эти каталоги между сеансами, установите [`permissions.additionalDirectories`](/ru/settings#permission-settings) в параметрах | `claude --add-dir ../apps ../lib` |

56| `--advisor <model>` | {/* min-version: 2.1.98 */}Включить инструмент [advisor](/ru/advisor) на стороне сервера для этого сеанса с псевдонимом модели: `opus`, `sonnet` или `fable` ({/* min-version: 2.1.170 */}v2.1.170+), или полный ID модели. Имеет приоритет над параметром `advisorModel` для сеанса. Требует Claude Code v2.1.98 или позже | `claude --advisor opus` |

56| `--agent` | Указать агента для текущего сеанса (переопределяет параметр `agent`) | `claude --agent my-custom-agent` |57| `--agent` | Указать агента для текущего сеанса (переопределяет параметр `agent`) | `claude --agent my-custom-agent` |

57| `--agents` | Определить пользовательские subagents динамически через JSON. Использует те же имена полей, что и subagent [frontmatter](/ru/sub-agents#supported-frontmatter-fields), плюс поле `prompt` для инструкций агента | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |58| `--agents` | Определить пользовательские subagents динамически через JSON. Использует те же имена полей, что и subagent [frontmatter](/ru/sub-agents#supported-frontmatter-fields), плюс поле `prompt` для инструкций агента | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

58| `--allow-dangerously-skip-permissions` | Добавить `bypassPermissions` в цикл режима `Shift+Tab` без немедленной активации. Позволяет начать в другом режиме, таком как `plan`, и переключиться на `bypassPermissions` позже. См. [режимы разрешения](/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |59| `--allow-dangerously-skip-permissions` | Добавить `bypassPermissions` в цикл режима `Shift+Tab` без немедленной активации. Позволяет начать в другом режиме, таком как `plan`, и переключиться на `bypassPermissions` позже. См. [режимы разрешения](/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |

59| `--allowedTools` | Инструменты, которые выполняются без запроса разрешения. См. [синтаксис правила разрешения](/ru/settings#permission-rule-syntax) для сопоставления шаблонов. Чтобы ограничить доступные инструменты, используйте `--tools` вместо этого | `"Bash(git log *)" "Bash(git diff *)" "Read"` |60| `--allowedTools`, `--allowed-tools` | Инструменты, которые выполняются без запроса разрешения. См. [синтаксис правила разрешения](/ru/settings#permission-rule-syntax) для сопоставления шаблонов. Чтобы ограничить доступные инструменты, используйте `--tools` вместо этого | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

60| `--append-system-prompt` | Добавить пользовательский текст в конец системного приглашения по умолчанию | `claude --append-system-prompt "Always use TypeScript"` |61| `--append-system-prompt` | Добавить пользовательский текст в конец системного приглашения по умолчанию | `claude --append-system-prompt "Always use TypeScript"` |

61| `--append-system-prompt-file` | Загрузить дополнительный текст системного приглашения из файла и добавить к приглашению по умолчанию | `claude --append-system-prompt-file ./extra-rules.txt` |62| `--append-system-prompt-file` | Загрузить дополнительный текст системного приглашения из файла и добавить к приглашению по умолчанию | `claude --append-system-prompt-file ./extra-rules.txt` |

62| `--bare` | Минимальный режим: пропустить автоматическое обнаружение hooks, skills, plugins, MCP серверов, автоматической памяти и CLAUDE.md, чтобы скриптовые вызовы начинались быстрее. Claude имеет доступ к инструментам Bash, чтения файлов и редактирования файлов. Устанавливает [`CLAUDE_CODE_SIMPLE`](/ru/env-vars). См. [bare mode](/ru/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |63| `--bare` | Минимальный режим: пропустить автоматическое обнаружение hooks, skills, plugins, MCP серверов, автоматической памяти и CLAUDE.md, чтобы скриптовые вызовы начинались быстрее. Claude имеет доступ к инструментам Bash, чтения файлов и редактирования файлов. Устанавливает [`CLAUDE_CODE_SIMPLE`](/ru/env-vars). См. [bare mode](/ru/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |


70| `--debug` | Включить режим отладки с дополнительной фильтрацией категорий (например, `"api,hooks"` или `"!statsig,!file"`) | `claude --debug "api,mcp"` |71| `--debug` | Включить режим отладки с дополнительной фильтрацией категорий (например, `"api,hooks"` или `"!statsig,!file"`) | `claude --debug "api,mcp"` |

71| `--debug-file <path>` | Записать журналы отладки в конкретный путь файла. Неявно включает режим отладки. Имеет приоритет над `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |72| `--debug-file <path>` | Записать журналы отладки в конкретный путь файла. Неявно включает режим отладки. Имеет приоритет над `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

72| `--disable-slash-commands` | Отключить все skills и команды для этого сеанса | `claude --disable-slash-commands` |73| `--disable-slash-commands` | Отключить все skills и команды для этого сеанса | `claude --disable-slash-commands` |

73| `--disallowedTools` | Правила отрицания. Простое имя инструмента удаляет этот инструмент из контекста модели. Правило с областью действия, такое как `Bash(rm *)`, оставляет инструмент доступным и отрицает только совпадающие вызовы | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |74| `--disallowedTools`, `--disallowed-tools` | Правила отрицания. Простое имя инструмента удаляет соответствующие инструменты из контекста модели: `"Edit"` удаляет Edit, `"*"` удаляет каждый инструмент, и `"mcp__*"` удаляет каждый MCP инструмент. Правило с областью действия, такое как `Bash(rm *)`, оставляет инструмент доступным и отрицает только совпадающие вызовы | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

74| `--effort` | Установить [уровень усилий](/ru/model-config#adjust-effort-level) для текущего сеанса. Опции: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. Переопределяет параметр [`effortLevel`](/ru/settings#available-settings) для этого сеанса и не сохраняется | `claude --effort high` |75| `--effort` | Установить [уровень усилий](/ru/model-config#adjust-effort-level) для текущего сеанса. Опции: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. Переопределяет параметр [`effortLevel`](/ru/settings#available-settings) для этого сеанса и не сохраняется | `claude --effort high` |

75| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Удалено в v2.1.111. Auto mode теперь находится в цикле `Shift+Tab` по умолчанию; используйте `--permission-mode auto` для запуска в нем | `claude --permission-mode auto` |76| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Удалено в v2.1.111. Auto mode теперь находится в цикле `Shift+Tab` по умолчанию; используйте `--permission-mode auto` для запуска в нем | `claude --permission-mode auto` |

76| `--exclude-dynamic-system-prompt-sections` | Переместить разделы для каждой машины из системного приглашения (рабочий каталог, информация об окружении, пути памяти, флаг git-repo) в первое пользовательское сообщение. Улучшает повторное использование prompt-cache на разных пользователях и машинах, запускающих одну и ту же задачу. Применяется только с системным приглашением по умолчанию; игнорируется, когда установлены `--system-prompt` или `--system-prompt-file`. Используйте с `-p` для скриптовых многопользовательских рабочих нагрузок | `claude -p --exclude-dynamic-system-prompt-sections "query"` |77| `--exclude-dynamic-system-prompt-sections` | Переместить разделы для каждой машины из системного приглашения (рабочий каталог, информация об окружении, пути памяти, флаг git-repo) в первое пользовательское сообщение. Улучшает повторное использование prompt-cache на разных пользователях и машинах, запускающих одну и ту же задачу. Применяется только с системным приглашением по умолчанию; игнорируется, когда установлены `--system-prompt` или `--system-prompt-file`. Используйте с `-p` для скриптовых многопользовательских рабочих нагрузок | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

77| `--exec` | Запустить команду shell как фоновое задание с поддержкой PTY вместо запуска сеанса Claude. Используйте с `--bg` для запуска из shell | `claude --bg --exec 'pytest -x'` |78| `--exec` | Запустить команду shell как фоновое задание с поддержкой PTY вместо запуска сеанса Claude. Используйте с `--bg` для запуска из shell | `claude --bg --exec 'pytest -x'` |

78| `--fallback-model` | Включить автоматический переход на указанную модель, когда модель по умолчанию перегружена или недоступна, например снятая с производства модель. Вступает в силу в режиме печати (`-p`) и в [фоновых сеансах](/ru/agent-view), которые работают неинтерактивно; игнорируется в интерактивном сеансе | `claude -p --fallback-model sonnet "query"` |79| `--fallback-model` | Включить автоматический переход на указанную модель (модели) при перегрузке или недоступности основной модели, например снятая с производства модель. Принимает разделенный запятыми список, пробуемый по порядку. См. [Цепочки резервных моделей](/ru/model-config#fallback-model-chains). Чтобы сохранить цепочку между сеансами, используйте параметр [`fallbackModel`](/ru/settings#available-settings), который этот флаг переопределяет | `claude --fallback-model sonnet,haiku` |

79| `--fork-session` | При возобновлении создать новый ID сеанса вместо повторного использования исходного (используйте с `--resume` или `--continue`) | `claude --resume abc123 --fork-session` |80| `--fork-session` | При возобновлении создать новый ID сеанса вместо повторного использования исходного (используйте с `--resume` или `--continue`) | `claude --resume abc123 --fork-session` |

80| `--from-pr` | Возобновить сеансы, связанные с конкретным pull request. Принимает номер PR, URL GitHub или GitHub Enterprise PR, URL GitLab merge request или URL Bitbucket pull request. Сеансы автоматически связываются при создании Claude pull request | `claude --from-pr 123` |81| `--from-pr` | Возобновить сеансы, связанные с конкретным pull request. Принимает номер PR, URL GitHub или GitHub Enterprise PR, URL GitLab merge request или URL Bitbucket pull request. Сеансы автоматически связываются при создании Claude pull request | `claude --from-pr 123` |

81| `--ide` | Автоматически подключиться к IDE при запуске, если доступна ровно одна действительная IDE | `claude --ide` |82| `--ide` | Автоматически подключиться к IDE при запуске, если доступна ровно одна действительная IDE | `claude --ide` |


89| `--max-budget-usd` | Максимальная сумма в долларах для расходования на вызовы API перед остановкой (только режим печати) | `claude -p --max-budget-usd 5.00 "query"` |90| `--max-budget-usd` | Максимальная сумма в долларах для расходования на вызовы API перед остановкой (только режим печати) | `claude -p --max-budget-usd 5.00 "query"` |

90| `--max-turns` | Ограничить количество агентских ходов (только режим печати). Выходит с ошибкой при достижении лимита. По умолчанию нет лимита | `claude -p --max-turns 3 "query"` |91| `--max-turns` | Ограничить количество агентских ходов (только режим печати). Выходит с ошибкой при достижении лимита. По умолчанию нет лимита | `claude -p --max-turns 3 "query"` |

91| `--mcp-config` | Загрузить MCP серверы из JSON файлов или строк (разделенные пробелом) | `claude --mcp-config ./mcp.json` |92| `--mcp-config` | Загрузить MCP серверы из JSON файлов или строк (разделенные пробелом) | `claude --mcp-config ./mcp.json` |

92| `--model` | Устанавливает модель для текущего сеанса с псевдонимом для последней модели (`sonnet` или `opus`) или полным именем модели. Переопределяет параметр [`model`](/ru/settings#available-settings) и [`ANTHROPIC_MODEL`](/ru/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |93| `--model` | Устанавливает модель для текущего сеанса с псевдонимом для последней модели (`sonnet`, `opus`, `haiku` или `fable`) или полным именем модели. Переопределяет параметр [`model`](/ru/settings#available-settings) и [`ANTHROPIC_MODEL`](/ru/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |

93| `--name`, `-n` | Установить отображаемое имя для сеанса, показываемое в `/resume` и в заголовке терминала. Вы можете возобновить именованный сеанс с помощью `claude --resume <name>`. <br /><br />[`/rename`](/ru/commands) изменяет имя во время сеанса и также показывает его на панели приглашения | `claude -n "my-feature-work"` |94| `--name`, `-n` | Установить отображаемое имя для сеанса, показываемое в `/resume` и в заголовке терминала. Вы можете возобновить именованный сеанс с помощью `claude --resume <name>`. <br /><br />[`/rename`](/ru/commands) изменяет имя во время сеанса и также показывает его на панели приглашения | `claude -n "my-feature-work"` |

94| `--no-chrome` | Отключить [интеграцию браузера Chrome](/ru/chrome) для этого сеанса | `claude --no-chrome` |95| `--no-chrome` | Отключить [интеграцию браузера Chrome](/ru/chrome) для этого сеанса | `claude --no-chrome` |

95| `--no-session-persistence` | Отключить сохранение сеанса, чтобы сеансы не сохранялись на диск и не могли быть возобновлены. Только режим печати. Переменная окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ru/env-vars) делает то же самое в любом режиме | `claude -p --no-session-persistence "query"` |96| `--no-session-persistence` | Отключить сохранение сеанса, чтобы сеансы не сохранялись на диск и не могли быть возобновлены. Только режим печати. Переменная окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ru/env-vars) делает то же самое в любом режиме | `claude -p --no-session-persistence "query"` |


104| `--remote-control`, `--rc` | Запустить интерактивный сеанс с включенным [Remote Control](/ru/remote-control#start-a-remote-control-session), чтобы вы также могли управлять им из claude.ai или приложения Claude. Опционально передайте имя для сеанса | `claude --remote-control "My Project"` |105| `--remote-control`, `--rc` | Запустить интерактивный сеанс с включенным [Remote Control](/ru/remote-control#start-a-remote-control-session), чтобы вы также могли управлять им из claude.ai или приложения Claude. Опционально передайте имя для сеанса | `claude --remote-control "My Project"` |

105| `--remote-control-session-name-prefix <prefix>` | Префикс для автоматически генерируемых имен сеансов [Remote Control](/ru/remote-control) при отсутствии явного имени. По умолчанию используется имя хоста вашей машины, создавая имена вроде `myhost-graceful-unicorn`. Установите `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` для того же эффекта | `claude remote-control --remote-control-session-name-prefix dev-box` |106| `--remote-control-session-name-prefix <prefix>` | Префикс для автоматически генерируемых имен сеансов [Remote Control](/ru/remote-control) при отсутствии явного имени. По умолчанию используется имя хоста вашей машины, создавая имена вроде `myhost-graceful-unicorn`. Установите `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` для того же эффекта | `claude remote-control --remote-control-session-name-prefix dev-box` |

106| `--replay-user-messages` | Повторно отправить пользовательские сообщения из stdin обратно на stdout для подтверждения. Требует `--input-format stream-json` и `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |107| `--replay-user-messages` | Повторно отправить пользовательские сообщения из stdin обратно на stdout для подтверждения. Требует `--input-format stream-json` и `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |

107| `--resume`, `-r` | Возобновить конкретный сеанс по ID или имени, или показать интерактивный выбор для выбора сеанса. Включает сеансы, которые добавили этот каталог с помощью `/add-dir`. Начиная с v2.1.144, [фоновые сеансы](/ru/agent-view) появляются в выборе, отмеченные как `bg` | `claude --resume auth-refactor` |108| `--resume`, `-r` | Возобновить конкретный сеанс по ID или имени, или показать интерактивный выбор для выбора сеанса. Выбор и поиск по имени включают сеансы, которые добавили этот каталог с помощью `/add-dir`; передача ID сеанса ищет только текущий каталог проекта и его git worktrees. Начиная с v2.1.144, [фоновые сеансы](/ru/agent-view) появляются в выборе, отмеченные как `bg` | `claude --resume auth-refactor` |

109| `--safe-mode` | {/* min-version: 2.1.169 */}Запустить со всеми отключенными настройками для устранения неполадок в нарушенной конфигурации: CLAUDE.md, skills, plugins, hooks, MCP серверы, пользовательские команды и агенты, стили вывода, рабочие процессы, пользовательские темы, пользовательские сочетания клавиш, строка состояния и команды предложения файлов, LSP серверы и автоматическая память не загружаются. Аутентификация, выбор модели, встроенные инструменты и разрешения работают нормально, что отличается от [`--bare`](/ru/headless#start-faster-with-bare-mode). Политика управляемых параметров все еще применяется, включая настроенные политикой hooks, строку состояния и команды предложения файлов; управляемые plugins, управляемые skills, управляемый CLAUDE.md и настроенные политикой MCP серверы не загружаются. Полезно для проверки того, является ли настройка причиной [автоматического переключения с Fable 5](/ru/model-config#automatic-model-fallback). Устанавливает [`CLAUDE_CODE_SAFE_MODE`](/ru/env-vars) | `claude --safe-mode` |

108| `--session-id` | Использовать конкретный ID сеанса для беседы (должен быть действительным UUID) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |110| `--session-id` | Использовать конкретный ID сеанса для беседы (должен быть действительным UUID) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

109| `--setting-sources` | Разделенный запятыми список источников параметров для загрузки (`user`, `project`, `local`) | `claude --setting-sources user,project` |111| `--setting-sources` | Разделенный запятыми список источников параметров для загрузки (`user`, `project`, `local`) | `claude --setting-sources user,project` |

110| `--settings` | Путь к файлу параметров JSON или встроенная строка JSON. Значения, которые вы устанавливаете здесь, переопределяют те же ключи в ваших файлах `settings.json` для этого сеанса. Ключи, которые вы опускаете, сохраняют свои значения на основе файла. См. [приоритет параметров](/ru/settings#settings-precedence) | `claude --settings ./settings.json` |112| `--settings` | Путь к файлу параметров JSON или встроенная строка JSON. Значения, которые вы устанавливаете здесь, переопределяют те же ключи в ваших файлах `settings.json` для этого сеанса. Ключи, которые вы опускаете, сохраняют свои значения на основе файла. См. [приоритет параметров](/ru/settings#settings-precedence) | `claude --settings ./settings.json` |


114| `--teleport` | Возобновить [веб-сеанс](/ru/claude-code-on-the-web) в вашем локальном терминале | `claude --teleport` |116| `--teleport` | Возобновить [веб-сеанс](/ru/claude-code-on-the-web) в вашем локальном терминале | `claude --teleport` |

115| `--teammate-mode` | Установить способ отображения товарищей по [команде агентов](/ru/agent-teams): `auto` (по умолчанию), `in-process` или `tmux`. Переопределяет параметр [`teammateMode`](/ru/settings#available-settings) для этого сеанса. См. [выбор режима отображения](/ru/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |117| `--teammate-mode` | Установить способ отображения товарищей по [команде агентов](/ru/agent-teams): `auto` (по умолчанию), `in-process` или `tmux`. Переопределяет параметр [`teammateMode`](/ru/settings#available-settings) для этого сеанса. См. [выбор режима отображения](/ru/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |

116| `--tmux` | Создать сеанс tmux для worktree. Требует `--worktree`. Использует встроенные панели iTerm2, если доступны; передайте `--tmux=classic` для традиционного tmux | `claude -w feature-auth --tmux` |118| `--tmux` | Создать сеанс tmux для worktree. Требует `--worktree`. Использует встроенные панели iTerm2, если доступны; передайте `--tmux=classic` для традиционного tmux | `claude -w feature-auth --tmux` |

117| `--tools` | Ограничить, какие встроенные инструменты может использовать Claude. Используйте `""` для отключения всех, `"default"` для всех или имена инструментов, такие как `"Bash,Edit,Read"` | `claude --tools "Bash,Edit,Read"` |119| `--tools` | Ограничить, какие встроенные инструменты может использовать Claude. Используйте `""` для отключения всех, `"default"` для всех или имена инструментов, такие как `"Bash,Edit,Read"`. MCP инструменты не затронуты; чтобы отрицать и их, используйте `--disallowedTools "mcp__*"` или передайте `--strict-mcp-config` без `--mcp-config`, чтобы не загружались MCP серверы | `claude --tools "Bash,Edit,Read"` |

118| `--verbose` | Включить подробное логирование, показывает полный вывод по ходам. Переопределяет параметр [`viewMode`](/ru/settings#available-settings) для этого сеанса | `claude --verbose` |120| `--verbose` | Включить подробное логирование, показывает полный вывод по ходам. Переопределяет параметр [`viewMode`](/ru/settings#available-settings) для этого сеанса | `claude --verbose` |

119| `--version`, `-v` | Вывести номер версии | `claude -v` |121| `--version`, `-v` | Вывести номер версии | `claude -v` |

120| `--worktree`, `-w` | Запустить Claude в изолированном [git worktree](/ru/worktrees) в `<repo>/.claude/worktrees/<name>`. Если имя не указано, оно генерируется автоматически. Передайте `#<number>` или URL GitHub pull request для получения этого PR из `origin` и ветвления worktree из него | `claude -w feature-auth` |122| `--worktree`, `-w` | Запустить Claude в изолированном [git worktree](/ru/worktrees) в `<repo>/.claude/worktrees/<name>`. Если имя не указано, оно генерируется автоматически. Передайте `#<number>` или URL GitHub pull request для получения этого PR из `origin` и ветвления worktree из него | `claude -w feature-auth` |

code-review.md +66 −24

Details

30 Чтобы проверить diff локально в вашем терминале без установки GitHub App, запустите команду `/code-review` в любом сеансе Claude Code. См. [Проверка diff локально](#review-a-diff-locally).30 Чтобы проверить diff локально в вашем терминале без установки GitHub App, запустите команду `/code-review` в любом сеансе Claude Code. См. [Проверка diff локально](#review-a-diff-locally).

31</Note>31</Note>

32 32 

33## Как работают проверки33<h2 id="how-reviews-work">

34 Как работают проверки

35</h2>

34 36 

35После того как администратор [включит Code Review](#set-up-code-review) для вашей организации, проверки запускаются при открытии PR, при каждом push или при ручном запросе в зависимости от настроенного поведения репозитория. Комментарий `@claude review` [запускает проверки на PR](#manually-trigger-reviews) в любом режиме.37После того как администратор [включит Code Review](#set-up-code-review) для вашей организации, проверки запускаются при открытии PR, при каждом push или при ручном запросе в зависимости от настроенного поведения репозитория. Комментарий `@claude review` [запускает проверки на PR](#manually-trigger-reviews) в любом режиме.

36 38 


38 40 

39Проверки масштабируются по стоимости в зависимости от размера и сложности PR, в среднем завершаясь за 20 минут. Администраторы могут отслеживать активность проверок и расходы через [панель аналитики](#view-usage).41Проверки масштабируются по стоимости в зависимости от размера и сложности PR, в среднем завершаясь за 20 минут. Администраторы могут отслеживать активность проверок и расходы через [панель аналитики](#view-usage).

40 42 

41### Уровни серьёзности43<h3 id="severity-levels">

44 Уровни серьёзности

45</h3>

42 46 

43Каждый результат помечается уровнем серьёзности:47Каждый результат помечается уровнем серьёзности:

44 48 


50 54 

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

52 56 

53### Оценка и ответ на результаты57<h3 id="rate-and-reply-to-findings">

58 Оценка и ответ на результаты

59</h3>

54 60 

55Каждый комментарий проверки от Claude поступает с уже прикреплёнными 👍 и 👎, поэтому обе кнопки появляются в пользовательском интерфейсе GitHub для одноклассного рейтинга. Нажмите 👍, если результат был полезен, или 👎, если он был неправильным или шумным. Anthropic собирает количество реакций после слияния PR и использует их для настройки рецензента. Реакции не запускают повторную проверку и не изменяют ничего на PR.61Каждый комментарий проверки от Claude поступает с уже прикреплёнными 👍 и 👎, поэтому обе кнопки появляются в пользовательском интерфейсе GitHub для одноклассного рейтинга. Нажмите 👍, если результат был полезен, или 👎, если он был неправильным или шумным. Anthropic собирает количество реакций после слияния PR и использует их для настройки рецензента. Реакции не запускают повторную проверку и не изменяют ничего на PR.

56 62 

57Ответ на встроенный комментарий не побуждает Claude ответить или обновить PR. Чтобы действовать на основе результата, исправьте код и выполните push. Если PR подписан на проверки, запускаемые при push, следующий запуск разрешает поток при исправлении проблемы. Чтобы запросить свежую проверку без push, прокомментируйте `@claude review once` как [комментарий верхнего уровня PR](#manually-trigger-reviews).63Ответ на встроенный комментарий не побуждает Claude ответить или обновить PR. Чтобы действовать на основе результата, исправьте код и выполните push. Если PR подписан на проверки, запускаемые при push, следующий запуск разрешает поток при исправлении проблемы. Чтобы запросить свежую проверку без push, прокомментируйте `@claude review once` как [комментарий верхнего уровня PR](#manually-trigger-reviews).

58 64 

59### Вывод проверки65<h3 id="check-run-output">

66 Вывод проверки

67</h3>

60 68 

61Помимо встроенных комментариев проверки, каждая проверка заполняет проверку **Claude Code Review**, которая появляется рядом с вашими проверками CI. Разверните её ссылку **Details**, чтобы увидеть сводку каждого результата в одном месте, отсортированную по степени серьёзности:69Помимо встроенных комментариев проверки, каждая проверка заполняет проверку **Claude Code Review**, которая появляется рядом с вашими проверками CI. Разверните её ссылку **Details**, чтобы увидеть сводку каждого результата в одном месте, отсортированную по степени серьёзности:

62 70 


76 84 

77Это возвращает объект JSON с подсчётом по степени серьёзности, например `{"normal": 2, "nit": 1, "pre_existing": 0}`. Ключ `normal` содержит количество результатов Important; ненулевое значение означает, что Claude обнаружил по крайней мере одну ошибку, которую стоит исправить перед слиянием.85Это возвращает объект JSON с подсчётом по степени серьёзности, например `{"normal": 2, "nit": 1, "pre_existing": 0}`. Ключ `normal` содержит количество результатов Important; ненулевое значение означает, что Claude обнаружил по крайней мере одну ошибку, которую стоит исправить перед слиянием.

78 86 

79### Что проверяет Code Review87<h3 id="what-code-review-checks">

88 Что проверяет Code Review

89</h3>

80 90 

81По умолчанию Code Review сосредоточен на корректности: ошибки, которые нарушат production, а не на предпочтениях форматирования или отсутствии покрытия тестами. Вы можете расширить то, что он проверяет, [добавив файлы руководства](#customize-reviews) в ваш репозиторий.91По умолчанию Code Review сосредоточен на корректности: ошибки, которые нарушат production, а не на предпочтениях форматирования или отсутствии покрытия тестами. Вы можете расширить то, что он проверяет, [добавив файлы руководства](#customize-reviews) в ваш репозиторий.

82 92 

83## Настройка Code Review93<h2 id="set-up-code-review">

94 Настройка Code Review

95</h2>

84 96 

85Администратор включает Code Review один раз для организации и выбирает, какие репозитории включить.97Администратор включает Code Review один раз для организации и выбирает, какие репозитории включить.

86 98 


122 134 

123Чтобы проверить настройку, откройте тестовый PR. Если вы выбрали автоматический триггер, проверка с именем **Claude Code Review** появится в течение нескольких минут. Если вы выбрали Manual, прокомментируйте `@claude review` на PR, чтобы запустить первую проверку. Если проверка не появляется, подтвердите, что репозиторий указан в параметрах администратора и Claude GitHub App имеет доступ к нему.135Чтобы проверить настройку, откройте тестовый PR. Если вы выбрали автоматический триггер, проверка с именем **Claude Code Review** появится в течение нескольких минут. Если вы выбрали Manual, прокомментируйте `@claude review` на PR, чтобы запустить первую проверку. Если проверка не появляется, подтвердите, что репозиторий указан в параметрах администратора и Claude GitHub App имеет доступ к нему.

124 136 

125## Ручной запуск проверок137<h2 id="manually-trigger-reviews">

138 Ручной запуск проверок

139</h2>

126 140 

127Две команды комментариев запускают проверку по требованию. Обе работают независимо от настроенного триггера репозитория, поэтому вы можете использовать их, чтобы выбрать конкретные PR для проверки в ручном режиме или получить немедленную повторную проверку в других режимах.141Две команды комментариев запускают проверку по требованию. Обе работают независимо от настроенного триггера репозитория, поэтому вы можете использовать их, чтобы выбрать конкретные PR для проверки в ручном режиме или получить немедленную повторную проверку в других режимах.

128 142 


144 158 

145Если проверка уже запущена на этом PR, запрос ставится в очередь до завершения текущей проверки. Вы можете отслеживать прогресс через проверку на PR.159Если проверка уже запущена на этом PR, запрос ставится в очередь до завершения текущей проверки. Вы можете отслеживать прогресс через проверку на PR.

146 160 

147## Настройка проверок161<h2 id="customize-reviews">

162 Настройка проверок

163</h2>

148 164 

149Code Review читает два файла из вашего репозитория, чтобы направить то, что он помечает. Они отличаются тем, насколько сильно они влияют на проверку:165Code Review читает два файла из вашего репозитория, чтобы направить то, что он помечает. Они отличаются тем, насколько сильно они влияют на проверку:

150 166 

151* **`CLAUDE.md`**: общие инструкции проекта, которые Claude Code использует для всех задач, а не только для проверок. Code Review читает его как контекст проекта и помечает вновь введённые нарушения как nits.167* **`CLAUDE.md`**: общие инструкции проекта, которые Claude Code использует для всех задач, а не только для проверок. Code Review читает его как контекст проекта и помечает вновь введённые нарушения как nits.

152* **`REVIEW.md`**: инструкции только для проверок, внедряемые непосредственно в каждого агента в конвейере проверки как наивысший приоритет. Используйте его, чтобы изменить то, что помечается, с какой серьёзностью и как сообщаются результаты.168* **`REVIEW.md`**: инструкции только для проверок, внедряемые непосредственно в каждого агента в конвейере проверки как наивысший приоритет. Используйте его, чтобы изменить то, что помечается, с какой серьёзностью и как сообщаются результаты.

153 169 

154### CLAUDE.md170<h3 id="claude-md">

171 CLAUDE.md

172</h3>

155 173 

156Code Review читает файлы `CLAUDE.md` вашего репозитория и рассматривает вновь введённые нарушения как результаты [уровня nit](#severity-levels). Это работает двусторонне: если ваш PR изменяет код таким образом, что делает утверждение `CLAUDE.md` устаревшим, Claude помечает, что документы нужно обновить.174Code Review читает файлы `CLAUDE.md` вашего репозитория и рассматривает вновь введённые нарушения как результаты [уровня nit](#severity-levels). Это работает двусторонне: если ваш PR изменяет код таким образом, что делает утверждение `CLAUDE.md` устаревшим, Claude помечает, что документы нужно обновить.

157 175 


159 177 

160Для руководства, специфичного для проверок, которое вы не хотите применять к общим сеансам Claude Code, используйте [`REVIEW.md`](#review-md) вместо этого.178Для руководства, специфичного для проверок, которое вы не хотите применять к общим сеансам Claude Code, используйте [`REVIEW.md`](#review-md) вместо этого.

161 179 

162### REVIEW\.md180<h3 id="review-md">

181 REVIEW\.md

182</h3>

163 183 

164`REVIEW.md` — это файл в корне вашего репозитория, который переопределяет поведение Code Review в вашем репо. Его содержимое внедряется в системный запрос каждого агента в конвейере проверки как блок инструкций с наивысшим приоритетом, имеющий приоритет над руководством проверки по умолчанию.184`REVIEW.md` — это файл в корне вашего репозитория, который переопределяет поведение Code Review в вашем репо. Его содержимое внедряется в системный запрос каждого агента в конвейере проверки как блок инструкций с наивысшим приоритетом, имеющий приоритет над руководством проверки по умолчанию.

165 185 

166Поскольку он вставляется дословно, `REVIEW.md` — это простые инструкции: синтаксис [`@` import](/ru/memory#import-additional-files) не расширяется, и на файлы не читаются в подсказку. Поместите правила, которые вы хотите применить, непосредственно в файл.186Поскольку он вставляется дословно, `REVIEW.md` — это простые инструкции: синтаксис [`@` import](/ru/memory#import-additional-files) не расширяется, и на файлы не читаются в подсказку. Поместите правила, которые вы хотите применить, непосредственно в файл.

167 187 

168#### Что вы можете настроить188<h4 id="what-you-can-tune">

189 Что вы можете настроить

190</h4>

169 191 

170`REVIEW.md` — это свободный markdown, поэтому всё, что вы можете выразить как инструкцию проверки, находится в области действия. Приведённые ниже шаблоны имеют наибольшее влияние на практике.192`REVIEW.md` — это свободный markdown, поэтому всё, что вы можете выразить как инструкцию проверки, находится в области действия. Приведённые ниже шаблоны имеют наибольшее влияние на практике.

171 193 


183 205 

184**Форма резюме**: попросите тело проверки открыться с однострочным подсчётом, например `2 factual, 4 style`, и начать с «no factual issues», когда это так. Автор хочет знать форму работы перед деталями.206**Форма резюме**: попросите тело проверки открыться с однострочным подсчётом, например `2 factual, 4 style`, и начать с «no factual issues», когда это так. Автор хочет знать форму работы перед деталями.

185 207 

186#### Пример208<h4 id="example">

209 Пример

210</h4>

187 211 

188Этот `REVIEW.md` пересчитывает серьёзность для backend сервиса, ограничивает nits, пропускает сгенерированные файлы и добавляет проверки, специфичные для репо.212Этот `REVIEW.md` пересчитывает серьёзность для backend сервиса, ограничивает nits, пропускает сгенерированные файлы и добавляет проверки, специфичные для репо.

189 213 


216- Запросы к базе данных ограничены вызывающим абонентом240- Запросы к базе данных ограничены вызывающим абонентом

217```241```

218 242 

219#### Держите это сосредоточенным243<h4 id="keep-it-focused">

244 Держите это сосредоточенным

245</h4>

220 246 

221Длина имеет стоимость: длинный `REVIEW.md` разбавляет правила, которые имеют наибольшее значение. Держите его на инструкциях, которые изменяют поведение проверки, и оставляйте общий контекст проекта в `CLAUDE.md`.247Длина имеет стоимость: длинный `REVIEW.md` разбавляет правила, которые имеют наибольшее значение. Держите его на инструкциях, которые изменяют поведение проверки, и оставляйте общий контекст проекта в `CLAUDE.md`.

222 248 

223## Просмотр использования249<h2 id="view-usage">

250 Просмотр использования

251</h2>

224 252 

225Перейдите на [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review), чтобы увидеть активность Code Review во всей вашей организации. Панель показывает:253Перейдите на [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review), чтобы увидеть активность Code Review во всей вашей организации. Панель показывает:

226 254 


233 261 

234Таблица репозиториев в параметрах администратора также показывает среднюю стоимость проверки для каждого репо. Цифры стоимости панели — это оценки для мониторинга активности; для точной по счёту траты обратитесь к вашему счёту Anthropic.262Таблица репозиториев в параметрах администратора также показывает среднюю стоимость проверки для каждого репо. Цифры стоимости панели — это оценки для мониторинга активности; для точной по счёту траты обратитесь к вашему счёту Anthropic.

235 263 

236## Цены264<h2 id="pricing">

265 Цены

266</h2>

237 267 

238Code Review выставляется счёт на основе использования токенов. Каждая проверка в среднем стоит \$15-25, масштабируясь в зависимости от размера PR, сложности кодовой базы и количества проблем, требующих проверки. Использование Code Review выставляется отдельно через [дополнительное использование](https://support.claude.com/ru/articles/12429409-extra-usage-for-paid-claude-plans) и не учитывается в использовании, включённом в ваш план.268Code Review выставляется счёт на основе использования токенов. Каждая проверка в среднем стоит \$15-25, масштабируясь в зависимости от размера PR, сложности кодовой базы и количества проблем, требующих проверки. Использование Code Review выставляется отдельно через [дополнительное использование](https://support.claude.com/ru/articles/12429409-extra-usage-for-paid-claude-plans) и не учитывается в использовании, включённом в ваш план.

239 269 


249 279 

250Отслеживайте расходы через еженедельную диаграмму затрат в [аналитике](#view-usage) или столбец средней стоимости для каждого репо в параметрах администратора.280Отслеживайте расходы через еженедельную диаграмму затрат в [аналитике](#view-usage) или столбец средней стоимости для каждого репо в параметрах администратора.

251 281 

252## Устранение неполадок282<h2 id="troubleshooting">

283 Устранение неполадок

284</h2>

253 285 

254Запуски проверок выполняются по принципу best-effort. Сбой запуска никогда не блокирует ваш PR, но он также не повторяется автоматически. Этот раздел охватывает, как восстановиться после сбоя запуска и где искать, когда проверка сообщает о проблемах, которые вы не можете найти.286Запуски проверок выполняются по принципу best-effort. Сбой запуска никогда не блокирует ваш PR, но он также не повторяется автоматически. Этот раздел охватывает, как восстановиться после сбоя запуска и где искать, когда проверка сообщает о проблемах, которые вы не можете найти.

255 287 

256### Повторный запуск сбойной или истёкшей по времени проверки288<h3 id="retrigger-a-failed-or-timed-out-review">

289 Повторный запуск сбойной или истёкшей по времени проверки

290</h3>

257 291 

258Когда инфраструктура проверки сталкивается с внутренней ошибкой или превышает лимит времени, проверка завершается с названием **Code review encountered an error** или **Code review timed out**. Вывод по-прежнему нейтральный, поэтому ничто не блокирует ваше слияние, но результаты не публикуются.292Когда инфраструктура проверки сталкивается с внутренней ошибкой или превышает лимит времени, проверка завершается с названием **Code review encountered an error** или **Code review timed out**. Вывод по-прежнему нейтральный, поэтому ничто не блокирует ваше слияние, но результаты не публикуются.

259 293 


261 295 

262Кнопка **Re-run** на вкладке Checks в GitHub не повторно запускает Code Review. Используйте команду комментария или новый push вместо этого.296Кнопка **Re-run** на вкладке Checks в GitHub не повторно запускает Code Review. Используйте команду комментария или новый push вместо этого.

263 297 

264### Проверка не запустилась и PR показывает сообщение о лимите расходов298<h3 id="review-didn’t-run-and-the-pr-shows-a-spend-cap-message">

299 Проверка не запустилась и PR показывает сообщение о лимите расходов

300</h3>

265 301 

266Когда достигнут ежемесячный лимит расходов вашей организации, Code Review публикует один комментарий на PR, объясняя, что проверка была пропущена. Проверки возобновляются автоматически в начале следующего периода выставления счётов или немедленно, когда администратор повышает лимит на [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).302Когда достигнут ежемесячный лимит расходов вашей организации, Code Review публикует один комментарий на PR, объясняя, что проверка была пропущена. Проверки возобновляются автоматически в начале следующего периода выставления счётов или немедленно, когда администратор повышает лимит на [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).

267 303 

268### Найти проблемы, которые не отображаются как встроенные комментарии304<h3 id="find-issues-that-aren’t-showing-as-inline-comments">

305 Найти проблемы, которые не отображаются как встроенные комментарии

306</h3>

269 307 

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

271 309 


273* **Files changed annotations**: откройте вкладку **Files changed** на PR. Результаты отображаются как аннотации, прикреплённые непосредственно к строкам diff, отдельно от комментариев проверки.311* **Files changed annotations**: откройте вкладку **Files changed** на PR. Результаты отображаются как аннотации, прикреплённые непосредственно к строкам diff, отдельно от комментариев проверки.

274* **Review body**: если вы push в PR во время выполнения проверки, некоторые результаты могут ссылаться на строки, которые больше не существуют в текущем diff. Они появляются под заголовком **Additional findings** в тексте тела проверки, а не как встроенные комментарии.312* **Review body**: если вы push в PR во время выполнения проверки, некоторые результаты могут ссылаться на строки, которые больше не существуют в текущем diff. Они появляются под заголовком **Additional findings** в тексте тела проверки, а не как встроенные комментарии.

275 313 

276## Проверка diff локально314<h2 id="review-a-diff-locally">

315 Проверка diff локально

316</h2>

277 317 

278Команда [`/code-review`](/ru/commands) проверяет diff в вашем терминале без установки GitHub App. Запустите её в любом сеансе Claude Code: она сообщает об ошибках корректности и {/* min-version: 2.1.151 */}переиспользовании, упрощении и очистке эффективности в текущем diff. Передайте `--comment` для публикации результатов в виде встроенных комментариев PR или `--fix` для применения результатов к вашему рабочему дереву после проверки.318Команда [`/code-review`](/ru/commands) проверяет diff в вашем терминале без установки GitHub App. Запустите её в любом сеансе Claude Code: она сообщает об ошибках корректности и {/* min-version: 2.1.151 */}переиспользовании, упрощении и очистке эффективности. По умолчанию локальная проверка охватывает коммиты вашей ветки, опережающие её upstream, плюс любые незафиксированные изменения в рабочем дереве. Передайте `--comment` для публикации результатов в виде встроенных комментариев PR или `--fix` для применения результатов к вашему рабочему дереву после проверки.

279 319 

280Более низкие [уровни усилий](/ru/model-config#adjust-effort-level) возвращают меньше, более уверенные результаты, в то время как `high` через `max` дают более широкое покрытие и могут включать неуверенные результаты. Без аргумента усилия проверка использует текущее усилие сеанса. Передайте путь или ссылку PR для проверки конкретной цели вместо текущего diff.320Более низкие [уровни усилий](/ru/model-config#adjust-effort-level) возвращают меньше, более уверенные результаты, в то время как `high` через `max` дают более широкое покрытие и могут включать неуверенные результаты. Без аргумента усилия проверка использует текущее усилие сеанса. Для проверки чего-либо другого, чем стандартный diff, передайте цель: путь к файлу, номер PR, имя ветки или диапазон ссылок, такой как `main...my-feature`. Форма диапазона ссылок проверяет зафиксированный diff, который содержал бы pull request из `my-feature` в `main`, независимо от того, как настроен upstream ветки.

281 321 

282`/code-review ultra --fix` запускает более глубокую [ultrareview](/ru/ultrareview) в облаке, затем применяет её результаты к вашему рабочему дереву, когда они возвращаются в ваш сеанс.322`/code-review ultra --fix` запускает более глубокую [ultrareview](/ru/ultrareview) в облаке, затем применяет её результаты к вашему рабочему дереву, когда они возвращаются в ваш сеанс. Ultrareview использует свою собственную область: вашу текущую ветку против ветки по умолчанию репозитория, плюс любые незафиксированные и поставленные на сцену изменения в рабочем дереве.

283 323 

284Команда называлась `/simplify` до версии v2.1.147, когда она применяла исправления по умолчанию. {/* min-version: 2.1.154 */}Начиная с версии v2.1.154, `/simplify` запускает отдельную проверку только для очистки, которая применяет исправления без поиска ошибок. Если вы использовали скрипт `/simplify` для поиска ошибок, переключитесь на `/code-review --fix`, который остался без изменений.324Команда называлась `/simplify` до версии v2.1.147, когда она применяла исправления по умолчанию. {/* min-version: 2.1.154 */}Начиная с версии v2.1.154, `/simplify` запускает отдельную проверку только для очистки, которая применяет исправления без поиска ошибок. Если вы использовали скрипт `/simplify` для поиска ошибок, переключитесь на `/code-review --fix`, который остался без изменений.

285 325 

286## Связанные ресурсы326<h2 id="related-resources">

327 Связанные ресурсы

328</h2>

287 329 

288Code Review разработан для работы вместе с остальной частью Claude Code. Если вы хотите запустить проверки локально перед открытием PR, вам нужна самостоятельно размещённая установка или вы хотите глубже разобраться в том, как `CLAUDE.md` формирует поведение Claude во всех инструментах, эти страницы — хорошие следующие остановки:330Code Review разработан для работы вместе с остальной частью Claude Code. Если вы хотите запустить проверки локально перед открытием PR, вам нужна самостоятельно размещённая установка или вы хотите глубже разобраться в том, как `CLAUDE.md` формирует поведение Claude во всех инструментах, эти страницы — хорошие следующие остановки:

289 331 

commands.md +24 −13

Details

12 12 

13Команда распознается только в начале вашего сообщения. Текст, который следует за названием команды, передается ей в качестве аргументов.13Команда распознается только в начале вашего сообщения. Текст, который следует за названием команды, передается ей в качестве аргументов.

14 14 

15## Команды в типичном рабочем процессе15<h2 id="commands-across-a-typical-workflow">

16 Команды в типичном рабочем процессе

17</h2>

16 18 

17Большинство команд полезны в определенной точке сеанса, от настройки проекта до отправки изменения.19Большинство команд полезны в определенной точке сеанса, от настройки проекта до отправки изменения.

18 20 


28 30 

29**Когда что-то не так.** `/rewind` откатывает код и беседу к контрольной точке или суммирует часть беседы. `/doctor` и `/debug` диагностируют проблемы установки и выполнения, а `/feedback` сообщает об ошибке с контекстом сеанса.31**Когда что-то не так.** `/rewind` откатывает код и беседу к контрольной точке или суммирует часть беседы. `/doctor` и `/debug` диагностируют проблемы установки и выполнения, а `/feedback` сообщает об ошибке с контекстом сеанса.

30 32 

31## Все команды33<h2 id="all-commands">

34 Все команды

35</h2>

32 36 

33В таблице ниже перечислены все команды, включенные в Claude Code. Большинство из них — встроенные команды, поведение которых закодировано в CLI. Отмечены два вида записей:37В таблице ниже перечислены все команды, включенные в Claude Code. Большинство из них — встроенные команды, поведение которых закодировано в CLI. Отмечены два вида записей:

34 38 


46| Команда | Назначение |50| Команда | Назначение |

47| :--------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |51| :--------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

48| `/add-dir <path>` | Добавить рабочий каталог для доступа к файлам во время текущего сеанса. Большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из добавленного каталога. Вы можете позже возобновить сеанс из добавленного каталога с помощью `--continue` или `--resume` |52| `/add-dir <path>` | Добавить рабочий каталог для доступа к файлам во время текущего сеанса. Большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из добавленного каталога. Вы можете позже возобновить сеанс из добавленного каталога с помощью `--continue` или `--resume` |

53| `/advisor [model\|off]` | {/* min-version: 2.1.98 */}Включить или отключить [инструмент advisor](/ru/advisor), который консультирует вторую модель для получения рекомендаций в ключевые моменты во время задачи. Принимает `opus`, `sonnet`, `fable` ({/* min-version: 2.1.170 */}v2.1.170+) или полный ID модели. Без аргумента открывает выбор. Требует Claude Code v2.1.98 или позже |

49| `/agents` | Управлять конфигурациями [agent](/ru/sub-agents) |54| `/agents` | Управлять конфигурациями [agent](/ru/sub-agents) |

50| `/autofix-pr [prompt]` | Запустить сеанс [Claude Code в веб-браузере](/ru/claude-code-on-the-web#auto-fix-pull-requests), который отслеживает PR текущей ветви и отправляет исправления при сбое CI или комментариях рецензентов. Обнаруживает открытый PR из вашей текущей ветви с помощью `gh pr view`; чтобы отслеживать другой PR, сначала переключитесь на его ветвь. По умолчанию удаленному сеансу указывается исправить каждый сбой CI и комментарий рецензента; передайте подсказку, чтобы дать ему другие инструкции, например `/autofix-pr only fix lint and type errors`. Требует CLI `gh` и доступ к [Claude Code в веб-браузере](/ru/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |55| `/autofix-pr [prompt]` | Запустить сеанс [Claude Code в веб-браузере](/ru/claude-code-on-the-web#auto-fix-pull-requests), который отслеживает PR текущей ветви и отправляет исправления при сбое CI или комментариях рецензентов. Обнаруживает открытый PR из вашей текущей ветви с помощью `gh pr view`; чтобы отслеживать другой PR, сначала переключитесь на его ветвь. По умолчанию удаленному сеансу указывается исправить каждый сбой CI и комментарий рецензента; передайте подсказку, чтобы дать ему другие инструкции, например `/autofix-pr only fix lint and type errors`. Требует CLI `gh` и доступ к [Claude Code в веб-браузере](/ru/claude-code-on-the-web) |

51| `/background [prompt]` | Отсоединить текущий сеанс для запуска в качестве [фонового агента](/ru/agent-view) и освободить этот терминал. Передайте подсказку для отправки еще одной инструкции перед отсоединением. Отслеживайте сеанс с помощью `claude agents`. Псевдоним: `/bg` |56| `/background [prompt]` | Отсоединить текущий сеанс для запуска в качестве [фонового агента](/ru/agent-view) и освободить этот терминал. Передайте подсказку для отправки еще одной инструкции перед отсоединением. Отслеживайте сеанс с помощью `claude agents`. Псевдоним: `/bg` |

52| `/batch <instruction>` | **[Skill](/ru/skills#bundled-skills).** Организовать крупномасштабные изменения в кодовой базе параллельно. Исследует кодовую базу, разбивает работу на 5-30 независимых единиц и представляет план. После одобрения запускает одного [фонового subagent](/ru/sub-agents#run-subagents-in-foreground-or-background) на единицу в изолированном [git worktree](/ru/worktrees). Каждый subagent реализует свою единицу, запускает тесты и открывает pull request. Требует git репозиторий. Пример: `/batch migrate src/ from Solid to React` |57| `/batch <instruction>` | **[Skill](/ru/skills#bundled-skills).** Организовать крупномасштабные изменения в кодовой базе параллельно. Исследует кодовую базу, разбивает работу на 5-30 независимых единиц и представляет план. После одобрения запускает одного [фонового subagent](/ru/sub-agents#run-subagents-in-foreground-or-background) на единицу в изолированном [git worktree](/ru/worktrees). Каждый subagent реализует свою единицу, запускает тесты и открывает pull request. Требует git репозиторий. Пример: `/batch migrate src/ from Solid to React` |

53| `/branch [name]` | Создать ветвь текущей беседы в этой точке. Переключает вас в ветвь и сохраняет оригинал, к которому вы можете вернуться с помощью `/resume`. Псевдоним: `/fork`. Когда установлена переменная [`CLAUDE_CODE_FORK_SUBAGENT`](/ru/env-vars), `/fork` вместо этого запускает [разветвленного subagent](/ru/sub-agents#fork-the-current-conversation) и больше не является псевдонимом этой команды |58| `/branch [name]` | Создать ветвь текущей беседы в этой точке, чтобы вы могли попробовать другое направление без потери беседы в том виде, в котором она стоит. Переключает вас в ветвь и сохраняет оригинал, к которому вы можете вернуться с помощью `/resume`. Чтобы передать побочную задачу фоновому subagent вместо переключения в копию самостоятельно, используйте `/fork` |

54| `/btw <question>` | Задать быстрый [побочный вопрос](/ru/interactive-mode#side-questions-with-%2Fbtw) без добавления в беседу |59| `/btw <question>` | Задать быстрый [побочный вопрос](/ru/interactive-mode#side-questions-with-%2Fbtw) без добавления в беседу |

60| `/cd <path>` | {/* min-version: 2.1.169 */}Переместить этот сеанс в новый рабочий каталог. Кэш подсказок беседы сохраняется: [`CLAUDE.md`](/ru/memory) нового каталога добавляется как сообщение вместо перестроения системной подсказки. Сеанс перемещается в хранилище проекта нового каталога, поэтому `--resume` и `--continue` находят его оттуда. Запрашивает вас доверять каталогу, если вы в нем раньше не работали. Чтобы предоставить доступ к дополнительному каталогу без перемещения сеанса, используйте `/add-dir`. Ограничьте или отключите целевые объекты `/cd` с помощью [правил разрешения `Cd`](/ru/permissions#cd). Требует Claude Code v2.1.169 или позже; более ранние версии сообщают `Unknown command: /cd` |

55| `/chrome` | Настроить параметры [Claude в Chrome](/ru/chrome) |61| `/chrome` | Настроить параметры [Claude в Chrome](/ru/chrome) |

56| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/ru/skills#bundled-skills).** Загрузить справочный материал Claude API для языка вашего проекта (Python, TypeScript, Java, Go, Ruby, C#, PHP или cURL) и справочник Managed Agents. Охватывает использование инструментов, потоковую передачу, пакеты, структурированные выходы и распространенные ошибки. Также активируется автоматически, когда ваш код импортирует `anthropic` или `@anthropic-ai/sdk`. Запустите `/claude-api migrate` для обновления существующего кода Claude API на более новую модель: Claude спрашивает, какие файлы сканировать и какую модель выбрать, затем обновляет ID моделей, конфигурацию thinking и другие параметры, которые изменились между версиями. Запустите `/claude-api managed-agents-onboard` для интерактивного пошагового руководства, которое создает новый Managed Agent с нуля |62| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/ru/skills#bundled-skills).** Загрузить справочный материал Claude API для языка вашего проекта (Python, TypeScript, Java, Go, Ruby, C#, PHP или cURL) и справочник Managed Agents. Охватывает использование инструментов, потоковую передачу, пакеты, структурированные выходы и распространенные ошибки. Также активируется автоматически, когда ваш код импортирует `anthropic` или `@anthropic-ai/sdk`. Запустите `/claude-api migrate` для обновления существующего кода Claude API на более новую модель: Claude спрашивает, какие файлы сканировать и какую модель выбрать, затем обновляет ID моделей, конфигурацию thinking и другие параметры, которые изменились между версиями. Запустите `/claude-api managed-agents-onboard` для интерактивного пошагового руководства, которое создает новый Managed Agent с нуля |

57| `/clear [name]` | Начать новую беседу с пустым контекстом. Предыдущая беседа остается доступной в `/resume`. Передайте имя для обозначения предыдущей беседы в выборщике `/resume`. Чтобы освободить контекст при продолжении той же беседы, используйте `/compact`. Псевдонимы: `/reset`, `/new` |63| `/clear [name]` | Начать новую беседу с пустым контекстом. Предыдущая беседа остается доступной в `/resume`. Передайте имя для обозначения предыдущей беседы в выборщике `/resume`. Чтобы освободить контекст при продолжении той же беседы, используйте `/compact`. Псевдонимы: `/reset`, `/new` |


74| `/feedback [report]` | Отправить отзыв, сообщить об ошибке или поделиться вашей беседой. Псевдонимы: `/bug`, `/share` |80| `/feedback [report]` | Отправить отзыв, сообщить об ошибке или поделиться вашей беседой. Псевдонимы: `/bug`, `/share` |

75| `/fewer-permission-prompts` | **[Skill](/ru/skills#bundled-skills).** Сканировать ваши стенограммы на предмет распространенных вызовов инструментов Bash и MCP только для чтения, затем добавить приоритизированный список разрешений в проект `.claude/settings.json` для уменьшения запросов разрешений |81| `/fewer-permission-prompts` | **[Skill](/ru/skills#bundled-skills).** Сканировать ваши стенограммы на предмет распространенных вызовов инструментов Bash и MCP только для чтения, затем добавить приоритизированный список разрешений в проект `.claude/settings.json` для уменьшения запросов разрешений |

76| `/focus` | Переключить представление фокуса, которое показывает только ваше последнее приглашение, однострочную сводку вызова инструмента с редактированием diffstats и финальный ответ. Выбор сохраняется между сеансами; установите [`viewMode`](/ru/settings#available-settings) в параметрах для переопределения. Доступно только в [полноэкранном рендеринге](/ru/fullscreen) |82| `/focus` | Переключить представление фокуса, которое показывает только ваше последнее приглашение, однострочную сводку вызова инструмента с редактированием diffstats и финальный ответ. Выбор сохраняется между сеансами; установите [`viewMode`](/ru/settings#available-settings) в параметрах для переопределения. Доступно только в [полноэкранном рендеринге](/ru/fullscreen) |

83| `/fork <directive>` | {/* min-version: 2.1.161 */}Запустить [разветвленного subagent](/ru/sub-agents#fork-the-current-conversation): фонового subagent, который наследует полную беседу и работает над директивой, пока вы продолжаете. Его результат возвращается в вашу беседу, когда он завершится. Чтобы переключиться в копию беседы самостоятельно, используйте `/branch`. До v2.1.161, `/fork` является псевдонимом для `/branch` |

77| `/goal [condition\|clear]` | Установить [цель](/ru/goal): Claude продолжает работать между ходами до выполнения условия. Без аргумента показывает текущую или последнюю достигнутую цель. `clear`, `stop`, `off`, `reset`, `none` или `cancel` удаляет активную цель раньше |84| `/goal [condition\|clear]` | Установить [цель](/ru/goal): Claude продолжает работать между ходами до выполнения условия. Без аргумента показывает текущую или последнюю достигнутую цель. `clear`, `stop`, `off`, `reset`, `none` или `cancel` удаляет активную цель раньше |

78| `/heapdump` | Записать снимок кучи JavaScript и разбивку памяти в `~/Desktop`, или в домашний каталог на Linux без папки Desktop, для диагностики высокого использования памяти. См. [устранение неполадок](/ru/troubleshooting#high-cpu-or-memory-usage) |85| `/heapdump` | Записать снимок кучи JavaScript и разбивку памяти в `~/Desktop`, или в домашний каталог на Linux без папки Desktop, для диагностики высокого использования памяти. См. [устранение неполадок](/ru/troubleshooting#high-cpu-or-memory-usage) |

79| `/help` | Показать справку и доступные команды |86| `/help` | Показать справку и доступные команды |


83| `/insights` | Создать отчет, анализирующий ваши сеансы Claude Code, включая области проекта, паттерны взаимодействия и точки трения |90| `/insights` | Создать отчет, анализирующий ваши сеансы Claude Code, включая области проекта, паттерны взаимодействия и точки трения |

84| `/install-github-app` | Установить приложение [Claude GitHub Actions](/ru/github-actions) для репозитория. Проведет вас через выбор репозитория и настройку интеграции |91| `/install-github-app` | Установить приложение [Claude GitHub Actions](/ru/github-actions) для репозитория. Проведет вас через выбор репозитория и настройку интеграции |

85| `/install-slack-app` | Установить приложение Claude Slack. Открывает браузер для завершения потока OAuth |92| `/install-slack-app` | Установить приложение Claude Slack. Открывает браузер для завершения потока OAuth |

86| `/keybindings` | Открыть или создать файл конфигурации сочетаний клавиш |93| `/keybindings` | Открыть файл [сочетаний клавиш](/ru/keybindings) |

87| `/login` | Войти в вашу учетную запись Anthropic |94| `/login` | Войти в вашу учетную запись Anthropic |

88| `/logout` | Выйти из вашей учетной записи Anthropic |95| `/logout` | Выйти из вашей учетной записи Anthropic |

89| `/loop [interval] [prompt]` | **[Skill](/ru/skills#bundled-skills).** Запустить подсказку повторно, пока сеанс остается открытым. Опустите интервал, и Claude будет самостоятельно устанавливать темп между итерациями. Опустите подсказку, и [где доступно](/ru/scheduled-tasks#run-the-built-in-maintenance-prompt), Claude запустит автономную проверку обслуживания или подсказку в `.claude/loop.md`. Пример: `/loop 5m check if the deploy finished`. См. [Запуск подсказок по расписанию](/ru/scheduled-tasks). Псевдоним: `/proactive` |96| `/loop [interval] [prompt]` | **[Skill](/ru/skills#bundled-skills).** Запустить подсказку повторно, пока сеанс остается открытым. Опустите интервал, и Claude будет самостоятельно устанавливать темп между итерациями. Опустите подсказку, и [где доступно](/ru/scheduled-tasks#run-the-built-in-maintenance-prompt), Claude запустит автономную проверку обслуживания или подсказку в `.claude/loop.md`. Пример: `/loop 5m check if the deploy finished`. См. [Запуск подсказок по расписанию](/ru/scheduled-tasks). Псевдоним: `/proactive` |

90| `/mcp` | Управлять подключениями MCP server и аутентификацией OAuth |97| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Управлять подключениями MCP server и аутентификацией OAuth. Запустите без аргумента для открытия интерактивного списка, передайте `reconnect <server>` для переподключения одного отключенного сервера, или передайте `enable`/`disable` с именем сервера или `all` для изменения состояния подключения без открытия диалога |

91| `/memory` | Редактировать файлы памяти `CLAUDE.md`, включать или отключать [auto-memory](/ru/memory#auto-memory) и просматривать записи auto-memory |98| `/memory` | Редактировать файлы памяти `CLAUDE.md`, включать или отключать [auto-memory](/ru/memory#auto-memory) и просматривать записи auto-memory |

92| `/mobile` | Показать QR-код для загрузки мобильного приложения Claude. Псевдонимы: `/ios`, `/android` |99| `/mobile` | Показать QR-код для загрузки мобильного приложения Claude. Псевдонимы: `/ios`, `/android` |

93| `/model [model]` | Переключить модель AI и сохранить ее как значение по умолчанию для новых сеансов. Для моделей, которые это поддерживают, используйте стрелки влево/вправо для [регулировки уровня усилий](/ru/model-config#adjust-effort-level). Без аргумента открывает выбор; нажмите `s` на строке для переключения только для текущего сеанса. Выбор запрашивает подтверждение, когда беседа имеет предыдущий вывод, так как следующий ответ перечитывает полную историю без кэшированного контекста. После подтверждения изменение вступает в силу без ожидания завершения текущего ответа |100| `/model [model]` | Переключить модель AI и сохранить ее как значение по умолчанию для новых сеансов. Для моделей, которые это поддерживают, используйте стрелки влево/вправо для [регулировки уровня усилий](/ru/model-config#adjust-effort-level). Без аргумента открывает выбор; нажмите `s` на строке для переключения только для текущего сеанса. Выбор запрашивает подтверждение, когда беседа имеет предыдущий вывод, так как следующий ответ перечитывает полную историю без кэшированного контекста. После подтверждения изменение вступает в силу без ожидания завершения текущего ответа |

94| `/passes` | Поделиться бесплатной неделей Claude Code с друзьями. Видна только если ваша учетная запись имеет право на это |101| `/passes` | Поделиться бесплатной неделей Claude Code с друзьями. Видна только если ваша учетная запись имеет право на это |

95| `/permissions` | Управлять правилами разрешения, запроса и отказа для разрешений инструментов. Открывает интерактивный диалог, где вы можете просматривать правила по области, добавлять или удалять правила, управлять рабочими каталогами и просматривать [недавние отказы в автоматическом режиме](/ru/auto-mode-config#review-denials). Псевдоним: `/allowed-tools` |102| `/permissions` | Управлять правилами разрешения, запроса и отказа для разрешений инструментов. Открывает интерактивный диалог, где вы можете просматривать правила по области, добавлять или удалять правила, управлять рабочими каталогами и просматривать [недавние отказы в автоматическом режиме](/ru/auto-mode-config#review-denials). Псевдоним: `/allowed-tools` |

96| `/plan [description]` | Войти в Plan Mode непосредственно из приглашения. Передайте необязательное описание для входа в Plan Mode и немедленного начала с этой задачей, например `/plan fix the auth bug` |103| `/plan [description]` | Войти в Plan Mode непосредственно из приглашения. Передайте необязательное описание для входа в Plan Mode и немедленного начала с этой задачей, например `/plan fix the auth bug` |

97| `/plugin` | Управлять Claude Code [plugins](/ru/plugins) |104| `/plugin [subcommand]` | Управлять Claude Code [plugins](/ru/plugins). Запустите без аргумента для открытия меню plugin, или передайте подкоманду, такую как `list`, `install`, `enable` или `disable` для прямого действия |

98| `/powerup` | Открыть для себя функции Claude Code через быстрые интерактивные уроки с анимированными демонстрациями |105| `/powerup` | Открыть для себя функции Claude Code через быстрые интерактивные уроки с анимированными демонстрациями |

99| `/pr-comments [PR]` | {/* max-version: 2.1.90 */}Удалено в v2.1.91. Попросите Claude напрямую просмотреть комментарии pull request. В более ранних версиях получает и отображает комментарии из запроса на слияние GitHub; автоматически обнаруживает PR для текущей ветви или передайте URL или номер PR. Требует CLI `gh` |106| `/pr-comments [PR]` | {/* max-version: 2.1.90 */}Удалено в v2.1.91. Попросите Claude напрямую просмотреть комментарии pull request. В более ранних версиях получает и отображает комментарии из запроса на слияние GitHub; автоматически обнаруживает PR для текущей ветви или передайте URL или номер PR. Требует CLI `gh` |

100| `/privacy-settings` | Просмотреть и обновить параметры конфиденциальности. Доступно только для подписчиков планов Pro и Max |107| `/privacy-settings` | Просмотреть и обновить параметры конфиденциальности. Доступно только для подписчиков планов Pro и Max |

101| `/radio` | Открыть Claude FM lo-fi радио в вашем браузере. Выводит URL потока, когда браузер недоступен. Недоступно на Bedrock, Vertex или Foundry |108| `/radio` | Открыть Claude FM lo-fi радио в вашем браузере. Выводит URL потока, когда браузер недоступен. Недоступно на Bedrock, Vertex или Foundry |

102| `/recap` | Создать однострочную сводку текущего сеанса по требованию. См. [Сводка сеанса](/ru/interactive-mode#session-recap) для автоматической сводки, которая появляется после вашего отсутствия |109| `/recap` | Создать однострочную сводку текущего сеанса по требованию. См. [Сводка сеанса](/ru/interactive-mode#session-recap) для автоматической сводки, которая появляется после вашего отсутствия |

103| `/release-notes` | Просмотреть журнал изменений в интерактивном выборщике версий. Выберите конкретную версию для просмотра ее примечаний к выпуску или выберите отображение всех версий |110| `/release-notes` | Просмотреть журнал изменений в интерактивном выборщике версий. Выберите конкретную версию для просмотра ее примечаний к выпуску или выберите отображение всех версий |

104| `/reload-plugins` | Перезагрузить все активные [plugins](/ru/plugins) для применения ожидающих изменений без перезагрузки. Сообщает количество для каждого перезагруженного компонента и отмечает любые ошибки загрузки |111| `/reload-plugins [--force]` | Перезагрузить все активные [plugins](/ru/plugins) для применения ожидающих изменений без перезагрузки. Сообщает количество для каждого перезагруженного компонента и отмечает любые ошибки загрузки. Когда перезагрузка изменит, какие MCP инструменты загружены и аннулирует кэш подсказок, команда предупреждает и пропускает, если вы не передадите `--force` |

105| `/reload-skills` | {/* min-version: 2.1.152 */}Повторно сканировать каталоги [skill](/ru/skills) и команд, чтобы skills, добавленные или измененные на диске во время сеанса, стали доступны без перезагрузки. Сообщает, сколько skills доступно и сколько было добавлено или удалено |112| `/reload-skills` | {/* min-version: 2.1.152 */}Повторно сканировать каталоги [skill](/ru/skills) и команд, чтобы skills, добавленные или измененные на диске во время сеанса, стали доступны без перезагрузки. Сообщает, сколько skills доступно и сколько было добавлено или удалено. Добавлено в v2.1.152 |

106| `/remote-control` | Сделать этот сеанс доступным для [удаленного управления](/ru/remote-control) с claude.ai. Псевдоним: `/rc` |113| `/remote-control` | Сделать этот сеанс доступным для [удаленного управления](/ru/remote-control) с claude.ai. Псевдоним: `/rc` |

107| `/remote-env` | Настроить окружение удаленного сеанса по умолчанию для [веб-сеансов, запущенных с `--remote`](/ru/claude-code-on-the-web#configure-your-environment) |114| `/remote-env` | Выбрать окружение по умолчанию для [облачных агентов](/ru/claude-code-on-the-web#configure-your-environment) |

108| `/rename [name]` | Переименовать текущий сеанс и показать имя на строке приглашения. Без имени автоматически генерирует одно из истории беседы |115| `/rename [name]` | Переименовать текущий сеанс и показать имя на строке приглашения. Без имени автоматически генерирует одно из истории беседы |

109| `/resume [session]` | Возобновить беседу по ID или имени, или открыть выбор сеанса. Начиная с v2.1.144, [фоновые сеансы](/ru/agent-view) отображаются в выборщике, отмеченные как `bg`. Псевдоним: `/continue` |116| `/resume [session]` | Возобновить беседу по ID или имени, или открыть выбор сеанса. Начиная с v2.1.144, [фоновые сеансы](/ru/agent-view) отображаются в выборщике, отмеченные как `bg`. Псевдоним: `/continue` |

110| `/review [PR]` | Просмотреть pull request локально в вашем текущем сеансе. Для более глубокого облачного просмотра см. [`/code-review ultra`](/ru/ultrareview) |117| `/review [PR]` | Просмотреть pull request локально в вашем текущем сеансе. Для более глубокого облачного просмотра см. [`/code-review ultra`](/ru/ultrareview) |


124| `/statusline` | Настроить [строку статуса](/ru/statusline) Claude Code. Опишите, что вы хотите, или запустите без аргументов для автоматической настройки из приглашения вашей оболочки |131| `/statusline` | Настроить [строку статуса](/ru/statusline) Claude Code. Опишите, что вы хотите, или запустите без аргументов для автоматической настройки из приглашения вашей оболочки |

125| `/stickers` | Заказать наклейки Claude Code |132| `/stickers` | Заказать наклейки Claude Code |

126| `/stop` | Остановить текущий [фоновый сеанс](/ru/agent-view). Доступно только при подключении к фоновому сеансу; стенограмма и любой worktree сохраняются. Чтобы отсоединиться без остановки, используйте `/exit` или нажмите `←` |133| `/stop` | Остановить текущий [фоновый сеанс](/ru/agent-view). Доступно только при подключении к фоновому сеансу; стенограмма и любой worktree сохраняются. Чтобы отсоединиться без остановки, используйте `/exit` или нажмите `←` |

127| `/tasks` | Список и управление фоновыми задачами. Также доступно как `/bashes` |134| `/tasks` | Просмотреть и управлять всем, что работает в фоновом режиме. Также доступно как `/bashes` |

128| `/team-onboarding` | Создать руководство по адаптации команды из истории использования Claude Code. Claude анализирует ваши сеансы, команды и использование MCP server за последние 30 дней и создает руководство markdown, которое товарищ по команде может вставить как первое сообщение для быстрой настройки. Для подписчиков claude.ai на планах Pro, Max, Team и Enterprise также возвращает ссылку для совместного доступа, которую товарищи по команде могут открыть непосредственно в Claude Code |135| `/team-onboarding` | Создать руководство по адаптации команды из истории использования Claude Code. Claude анализирует ваши сеансы, команды и использование MCP server за последние 30 дней и создает руководство markdown, которое товарищ по команде может вставить как первое сообщение для быстрой настройки. Для подписчиков claude.ai на планах Pro, Max, Team и Enterprise также возвращает ссылку для совместного доступа, которую товарищи по команде могут открыть непосредственно в Claude Code |

129| `/teleport` | Перенести сеанс [Claude Code в веб-браузере](/ru/claude-code-on-the-web#from-web-to-terminal) в этот терминал: открывает выбор, затем получает ветвь и беседу. Также доступно как `/tp`. Требует подписку claude.ai |136| `/teleport` | Перенести сеанс [Claude Code в веб-браузере](/ru/claude-code-on-the-web#from-web-to-terminal) в этот терминал: открывает выбор, затем получает ветвь и беседу. Также доступно как `/tp`. Требует подписку claude.ai |

130| `/terminal-setup` | Настроить сочетания клавиш терминала для Shift+Enter и других ярлыков. Видна только в терминалах, которые в этом нуждаются, таких как VS Code, Cursor, Devin Desktop, Alacritty или Zed |137| `/terminal-setup` | Настроить сочетания клавиш терминала для Shift+Enter и других ярлыков. Видна только в терминалах, которые в этом нуждаются, таких как VS Code, Cursor, Devin Desktop, Alacritty или Zed |


141| `/web-setup` | Подключить вашу учетную запись GitHub к [Claude Code в веб-браузере](/ru/web-quickstart#connect-from-your-terminal) используя учетные данные вашего локального CLI `gh`. `/schedule` автоматически запрашивает это, если GitHub не подключен |148| `/web-setup` | Подключить вашу учетную запись GitHub к [Claude Code в веб-браузере](/ru/web-quickstart#connect-from-your-terminal) используя учетные данные вашего локального CLI `gh`. `/schedule` автоматически запрашивает это, если GitHub не подключен |

142| `/workflows` | Открыть [workflow](/ru/workflows#watch-the-run) представление прогресса для просмотра, паузы, возобновления или сохранения выполняющихся и завершенных workflows |149| `/workflows` | Открыть [workflow](/ru/workflows#watch-the-run) представление прогресса для просмотра, паузы, возобновления или сохранения выполняющихся и завершенных workflows |

143 150 

144## MCP prompts151<h2 id="mcp-prompts">

152 MCP prompts

153</h2>

145 154 

146MCP servers могут предоставлять подсказки, которые появляются как команды. Они используют формат `/mcp__<server>__<prompt>` и динамически обнаруживаются из подключенных серверов. См. [MCP prompts](/ru/mcp#use-mcp-prompts-as-commands) для деталей.155MCP servers могут предоставлять подсказки, которые появляются как команды. Они используют формат `/mcp__<server>__<prompt>` и динамически обнаруживаются из подключенных серверов. См. [MCP prompts](/ru/mcp#use-mcp-prompts-as-commands) для деталей.

147 156 

148## См. также157<h2 id="see-also">

158 См. также

159</h2>

149 160 

150* [Skills](/ru/skills): создавайте свои собственные команды161* [Skills](/ru/skills): создавайте свои собственные команды

151* [Интерактивный режим](/ru/interactive-mode): сочетания клавиш, режим Vim и история команд162* [Интерактивный режим](/ru/interactive-mode): сочетания клавиш, режим Vim и история команд

Details

226в середине сеанса. *Sonnet* — это рабочая лошадка по умолчанию для повседневной работы с функциями,226в середине сеанса. *Sonnet* — это рабочая лошадка по умолчанию для повседневной работы с функциями,

227ошибок, тестов и обзоров. Обратитесь к *Opus* для крупных рефакторингов, сложной227ошибок, тестов и обзоров. Обратитесь к *Opus* для крупных рефакторингов, сложной

228отладки или чего-либо высокого риска. Переходите на *Haiku* для быстрых вопросов,228отладки или чего-либо высокого риска. Переходите на *Haiku* для быстрых вопросов,

229форматирования и механических правок, где скорость побеждает.229форматирования и механических правок, где скорость побеждает. *Fable 5* — это самая

230способная модель для ваших самых сложных, долгоживущих задач; это не

231значение по умолчанию, поэтому выберите его с помощью `/model fable`, и обратите внимание, что содержимое кибербезопасности и

232биологии автоматически переходит на Opus.

230 233 

231*Попробуйте сейчас:* введите `/model` и выберите Sonnet, если вы еще этого не сделали. Это234*Попробуйте сейчас:* введите `/model` и выберите Sonnet, если вы еще этого не сделали. Это

232правильное значение по умолчанию для большинства задач.235правильное значение по умолчанию для большинства задач.


235```238```

236 239 

237| Модель | Лучше всего для |240| Модель | Лучше всего для |

238| ------ | -------------------------------------------------------------------------------------------------------------------------- |241| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

242| Fable 5 | Самые сложные, долгоживущие задачи. Только по выбору: выберите его с помощью `/model fable`. Содержимое кибербезопасности или биологии [автоматически переходит на Opus](/ru/model-config#automatic-model-fallback) |

239| Opus | Крупномасштабные рефакторинги, сложная отладка, архитектурные решения, высокорисковые изменения |243| Opus | Крупномасштабные рефакторинги, сложная отладка, архитектурные решения, высокорисковые изменения |

240| Sonnet | Повседневная работа с функциями, исправления ошибок, тесты, документация, обзор кода. Рекомендуемое значение по умолчанию. |244| Sonnet | Повседневная работа с функциями, исправления ошибок, тесты, документация, обзор кода. Рекомендуемое значение по умолчанию. |

241| Haiku | Быстрые вопросы, форматирование, механические правки, быстрая итерация |245| Haiku | Быстрые вопросы, форматирование, механические правки, быстрая итерация |

computer-use.md +66 −26

Details

16 16 

17На этой странице рассказывается о том, как работает computer use в CLI. Для приложения Desktop на macOS или Windows см. [computer use в Desktop](/ru/desktop#let-claude-use-your-computer).17На этой странице рассказывается о том, как работает computer use в CLI. Для приложения Desktop на macOS или Windows см. [computer use в Desktop](/ru/desktop#let-claude-use-your-computer).

18 18 

19## Что вы можете делать с computer use19<h2 id="what-you-can-do-with-computer-use">

20 Что вы можете делать с computer use

21</h2>

20 22 

21Computer use справляется с задачами, требующими GUI: всё, что вам обычно приходится делать вручную, покидая терминал.23Computer use справляется с задачами, требующими GUI: всё, что вам обычно приходится делать вручную, покидая терминал.

22 24 


25* **Отладка визуальных и проблем с макетом**: скажите Claude «модальное окно обрезается на маленьких окнах». Claude изменяет размер окна, воспроизводит ошибку, делает снимок экрана, исправляет CSS и проверяет исправление. Claude видит то же, что видите вы.27* **Отладка визуальных и проблем с макетом**: скажите Claude «модальное окно обрезается на маленьких окнах». Claude изменяет размер окна, воспроизводит ошибку, делает снимок экрана, исправляет CSS и проверяет исправление. Claude видит то же, что видите вы.

26* **Управление инструментами только с GUI**: взаимодействуйте с инструментами дизайна, панелями управления оборудованием, iOS Simulator или собственными приложениями, у которых нет CLI или API.28* **Управление инструментами только с GUI**: взаимодействуйте с инструментами дизайна, панелями управления оборудованием, iOS Simulator или собственными приложениями, у которых нет CLI или API.

27 29 

28## Когда применяется computer use30<h2 id="when-computer-use-applies">

31 Когда применяется computer use

32</h2>

29 33 

30Claude имеет несколько способов взаимодействия с приложением или сервисом. Computer use — самый широкий и медленный, поэтому Claude сначала пытается использовать наиболее точный инструмент:34Claude имеет несколько способов взаимодействия с приложением или сервисом. Computer use — самый широкий и медленный, поэтому Claude сначала пытается использовать наиболее точный инструмент:

31 35 


36 40 

37Управление экраном зарезервировано для вещей, которые ничто другое не может достичь: нативные приложения, симуляторы и инструменты без API.41Управление экраном зарезервировано для вещей, которые ничто другое не может достичь: нативные приложения, симуляторы и инструменты без API.

38 42 

39## Включение computer use43<h2 id="enable-computer-use">

44 Включение computer use

45</h2>

40 46 

41Computer use доступен как встроенный MCP server под названием `computer-use`. По умолчанию он отключен, пока вы его не включите.47Computer use доступен как встроенный MCP server под названием `computer-use`. По умолчанию он отключен, пока вы его не включите.

42 48 


72sure nothing crashes. Screenshot any error states you find.78sure nothing crashes. Screenshot any error states you find.

73```79```

74 80 

75## Одобрение приложений для каждого сеанса81<h2 id="approve-apps-per-session">

82 Одобрение приложений для каждого сеанса

83</h2>

76 84 

77Включение сервера `computer-use` не предоставляет Claude доступ к каждому приложению на вашей машине. В первый раз, когда Claude нужно конкретное приложение в сеансе, в вашем терминале появляется приглашение, показывающее:85Включение сервера `computer-use` не предоставляет Claude доступ к каждому приложению на вашей машине. В первый раз, когда Claude нужно конкретное приложение в сеансе, в вашем терминале появляется приглашение, показывающее:

78 86 


94 102 

95Уровень управления Claude также варьируется в зависимости от категории приложения: браузеры и торговые платформы доступны только для просмотра, терминалы и IDE доступны только для клика, а всё остальное получает полный контроль. См. [app permissions в Desktop](/ru/desktop#app-permissions) для полного разбора уровней.103Уровень управления Claude также варьируется в зависимости от категории приложения: браузеры и торговые платформы доступны только для просмотра, терминалы и IDE доступны только для клика, а всё остальное получает полный контроль. См. [app permissions в Desktop](/ru/desktop#app-permissions) для полного разбора уровней.

96 104 

97## Как Claude работает на вашем экране105<h2 id="how-claude-works-on-your-screen">

106 Как Claude работает на вашем экране

107</h2>

98 108 

99Понимание потока помогает вам предвидеть, что будет делать Claude и как вмешаться.109Понимание потока помогает вам предвидеть, что будет делать Claude и как вмешаться.

100 110 

101### Один сеанс за раз111<h3 id="one-session-at-a-time">

112 Один сеанс за раз

113</h3>

102 114 

103Computer use удерживает блокировку на уровне машины во время активности. Если другой сеанс Claude Code уже использует ваш компьютер, новые попытки завершаются с сообщением, сообщающим вам, какой сеанс удерживает блокировку. Сначала завершите или выйдите из этого сеанса.115Computer use удерживает блокировку на уровне машины во время активности. Если другой сеанс Claude Code уже использует ваш компьютер, новые попытки завершаются с сообщением, сообщающим вам, какой сеанс удерживает блокировку. Сначала завершите или выйдите из этого сеанса.

104 116 

105### Приложения скрыты, пока Claude работает117<h3 id="apps-are-hidden-while-claude-works">

118 Приложения скрыты, пока Claude работает

119</h3>

106 120 

107Когда Claude начинает управлять вашим экраном, другие видимые приложения скрываются, чтобы Claude взаимодействовал только с одобренными приложениями. Окно вашего терминала остаётся видимым и исключается из снимков экрана, поэтому вы можете наблюдать сеанс, и Claude никогда не видит свой собственный вывод.121Когда Claude начинает управлять вашим экраном, другие видимые приложения скрываются, чтобы Claude взаимодействовал только с одобренными приложениями. Окно вашего терминала остаётся видимым и исключается из снимков экрана, поэтому вы можете наблюдать сеанс, и Claude никогда не видит свой собственный вывод.

108 122 

109Когда Claude завершает ход, скрытые приложения автоматически восстанавливаются.123Когда Claude завершает ход, скрытые приложения автоматически восстанавливаются.

110 124 

111### Снимки экрана автоматически уменьшаются в масштабе125<h3 id="screenshots-are-downscaled-automatically">

126 Снимки экрана автоматически уменьшаются в масштабе

127</h3>

112 128 

113Claude Code уменьшает масштаб каждого снимка экрана перед отправкой его модели. Вам не нужно снижать разрешение дисплея или изменять размер окон на Retina или других дисплеях с высоким разрешением. MacBook Pro 16 дюймов с нативным разрешением Retina захватывает 3456×2234 и уменьшает масштаб примерно до 1372×887, сохраняя соотношение сторон.129Claude Code уменьшает масштаб каждого снимка экрана перед отправкой его модели. Вам не нужно снижать разрешение дисплея или изменять размер окон на Retina или других дисплеях с высоким разрешением. MacBook Pro 16 дюймов с нативным разрешением Retina захватывает 3456×2234 и уменьшает масштаб примерно до 1372×887, сохраняя соотношение сторон.

114 130 

115Нет параметра для изменения целевого размера. Если текст или элементы управления на экране слишком малы для Claude, чтобы прочитать после уменьшения масштаба, увеличьте их размер в приложении, а не меняйте разрешение дисплея.131Нет параметра для изменения целевого размера. Если текст или элементы управления на экране слишком малы для Claude, чтобы прочитать после уменьшения масштаба, увеличьте их размер в приложении, а не меняйте разрешение дисплея.

116 132 

117### Остановитесь в любой момент133<h3 id="stop-at-any-time">

134 Остановитесь в любой момент

135</h3>

118 136 

119Когда Claude получает блокировку, появляется уведомление macOS: 'Claude is using your computer · press Esc to stop'. Нажмите `Esc` в любом месте, чтобы немедленно прервать текущее действие, или нажмите `Ctrl+C` в терминале. В любом случае Claude освобождает блокировку, показывает ваши приложения и возвращает вам управление.137Когда Claude получает блокировку, появляется уведомление macOS: "Claude is using your computer · press Esc to stop". Нажмите `Esc` в любом месте, чтобы немедленно прервать текущее действие, или нажмите `Ctrl+C` в терминале. В любом случае Claude освобождает блокировку, показывает ваши приложения и возвращает вам управление.

120 138 

121Второе уведомление появляется, когда Claude закончит.139Второе уведомление появляется, когда Claude закончит.

122 140 

123## Безопасность и граница доверия141<h2 id="safety-and-the-trust-boundary">

142 Безопасность и граница доверия

143</h2>

124 144 

125<Warning>145<Warning>

126 В отличие от [sandboxed Bash tool](/ru/sandboxing), computer use работает на вашем реальном рабочем столе с доступом к приложениям, которые вы одобрили. Claude проверяет каждое действие и отмечает потенциальные prompt injection из содержимого на экране, но граница доверия отличается. См. [computer use safety guide](https://support.claude.com/en/articles/14128542) для лучших практик.146 В отличие от [sandboxed Bash tool](/ru/sandboxing), computer use работает на вашем реальном рабочем столе с доступом к приложениям, которые вы одобрили. Claude проверяет каждое действие и отмечает потенциальные prompt injection из содержимого на экране, но граница доверия отличается. См. [computer use safety guide](https://support.claude.com/en/articles/14128542) для лучших практик.


134* **Глобальный выход**: клавиша `Esc` прерывает computer use откуда угодно, и нажатие клавиши потребляется, поэтому prompt injection не может использовать его для закрытия диалогов.154* **Глобальный выход**: клавиша `Esc` прерывает computer use откуда угодно, и нажатие клавиши потребляется, поэтому prompt injection не может использовать его для закрытия диалогов.

135* **Файл блокировки**: только один сеанс может управлять вашей машиной одновременно.155* **Файл блокировки**: только один сеанс может управлять вашей машиной одновременно.

136 156 

137## Примеры рабочих процессов157<h2 id="example-workflows">

158 Примеры рабочих процессов

159</h2>

138 160 

139Эти примеры показывают распространённые способы объединения computer use с задачами кодирования.161Эти примеры показывают распространённые способы объединения computer use с задачами кодирования.

140 162 

141### Проверка нативной сборки163<h3 id="validate-a-native-build">

164 Проверка нативной сборки

165</h3>

142 166 

143После внесения изменений в приложение macOS или iOS попросите Claude скомпилировать и проверить в одном проходе:167После внесения изменений в приложение macOS или iOS попросите Claude скомпилировать и проверить в одном проходе:

144 168 


150 174 

151Claude запускает `xcodebuild`, запускает приложение, взаимодействует с UI и сообщает, что он находит.175Claude запускает `xcodebuild`, запускает приложение, взаимодействует с UI и сообщает, что он находит.

152 176 

153### Воспроизведение ошибки макета177<h3 id="reproduce-a-layout-bug">

178 Воспроизведение ошибки макета

179</h3>

154 180 

155Когда визуальная ошибка появляется только при определённых размерах окна, позвольте Claude найти её:181Когда визуальная ошибка появляется только при определённых размерах окна, позвольте Claude найти её:

156 182 


162 188 

163Claude изменяет размер окна, захватывает сломанное состояние и читает соответствующие таблицы стилей.189Claude изменяет размер окна, захватывает сломанное состояние и читает соответствующие таблицы стилей.

164 190 

165### Тестирование потока симулятора191<h3 id="test-a-simulator-flow">

192 Тестирование потока симулятора

193</h3>

166 194 

167Управляйте iOS Simulator без написания XCTest:195Управляйте iOS Simulator без написания XCTest:

168 196 


173 201 

174Claude управляет симулятором так же, как вы бы это делали с мышью.202Claude управляет симулятором так же, как вы бы это делали с мышью.

175 203 

176## Различия с приложением Desktop204<h2 id="differences-from-the-desktop-app">

205 Различия с приложением Desktop

206</h2>

177 207 

178Поверхности CLI и Desktop используют один и тот же механизм computer use, с несколькими различиями:208Поверхности CLI и Desktop используют один и тот же механизм computer use, с несколькими различиями:

179 209 

180| Функция | Desktop | CLI |210| Функция | Desktop | CLI |

181| :---------------------------- | :------------------------------------------------------- | :------------------------------ |211| :---------------------------- | :----------------------------------------------------------------- | :------------------------------- |

182| Платформы | macOS и Windows | только macOS |212| Платформы | macOS и Windows | только macOS |

183| Включение | Toggle in **Settings > General** (under **Desktop app**) | Enable `computer-use` in `/mcp` |213| Включение | Переключатель в **Settings > General** (в разделе **Desktop app**) | Включите `computer-use` в `/mcp` |

184| Список запрещённых приложений | Configurable in Settings | Not yet available |214| Список запрещённых приложений | Настраивается в Settings | Пока недоступно |

185| Auto-unhide toggle | Optional | Always on |215| Auto-unhide toggle | Опционально | Всегда включено |

186| Dispatch integration | Dispatch-spawned sessions can use computer use | Not applicable |216| Dispatch integration | Сеансы, запущенные через Dispatch, могут использовать computer use | Не применимо |

187 217 

188## Troubleshooting218<h2 id="troubleshooting">

219 Troubleshooting

220</h2>

189 221 

190### "Computer use is in use by another Claude session"222<h3 id="computer-use-is-in-use-by-another-claude-session">

223 "Computer use is in use by another Claude session"

224</h3>

191 225 

192Другой сеанс Claude Code удерживает блокировку. Завершите задачу в этом сеансе или выйдите из него. Если другой сеанс упал, блокировка освобождается автоматически, когда Claude обнаруживает, что процесс больше не работает.226Другой сеанс Claude Code удерживает блокировку. Завершите задачу в этом сеансе или выйдите из него. Если другой сеанс упал, блокировка освобождается автоматически, когда Claude обнаруживает, что процесс больше не работает.

193 227 

194### Приглашение разрешений macOS продолжает появляться228<h3 id="macos-permissions-prompt-keeps-reappearing">

229 Приглашение разрешений macOS продолжает появляться

230</h3>

195 231 

196macOS иногда требует перезагрузку запрашивающего процесса после предоставления Screen Recording. Полностью закройте Claude Code и начните новый сеанс. Если приглашение сохраняется, откройте **System Settings > Privacy & Security > Screen Recording** и подтвердите, что ваше приложение терминала указано и включено.232macOS иногда требует перезагрузку запрашивающего процесса после предоставления Screen Recording. Полностью закройте Claude Code и начните новый сеанс. Если приглашение сохраняется, откройте **System Settings > Privacy & Security > Screen Recording** и подтвердите, что ваше приложение терминала указано и включено.

197 233 

198### `computer-use` не появляется в `/mcp`234<h3 id="computer-use-doesn’t-appear-in-/mcp">

235 `computer-use` не появляется в `/mcp`

236</h3>

199 237 

200Сервер появляется только на подходящих установках. Проверьте, что:238Сервер появляется только на подходящих установках. Проверьте, что:

201 239 


205* Вы аутентифицированы через claude.ai. Computer use недоступен с поставщиками третьих сторон, такими как Amazon Bedrock, Google Cloud Vertex AI или Microsoft Foundry. Если вы получаете доступ к Claude исключительно через поставщика третьей стороны, вам нужна отдельная учётная запись claude.ai для использования этой функции.243* Вы аутентифицированы через claude.ai. Computer use недоступен с поставщиками третьих сторон, такими как Amazon Bedrock, Google Cloud Vertex AI или Microsoft Foundry. Если вы получаете доступ к Claude исключительно через поставщика третьей стороны, вам нужна отдельная учётная запись claude.ai для использования этой функции.

206* Вы в интерактивном сеансе. Computer use недоступен в неинтерактивном режиме с флагом `-p`.244* Вы в интерактивном сеансе. Computer use недоступен в неинтерактивном режиме с флагом `-p`.

207 245 

208## See also246<h2 id="see-also">

247 See also

248</h2>

209 249 

210* [Computer use в Desktop](/ru/desktop#let-claude-use-your-computer): та же возможность с графической страницей параметров250* [Computer use в Desktop](/ru/desktop#let-claude-use-your-computer): та же возможность с графической страницей параметров

211* [Claude в Chrome](/ru/chrome): автоматизация браузера для веб-задач251* [Claude в Chrome](/ru/chrome): автоматизация браузера для веб-задач

context-window.md +1591 −5

Details

6 6 

7> Интерактивная симуляция того, как контекстное окно Claude Code заполняется во время сеанса. Посмотрите, что загружается автоматически, какую стоимость имеет каждое чтение файла и когда срабатывают правила и hooks.7> Интерактивная симуляция того, как контекстное окно Claude Code заполняется во время сеанса. Посмотрите, что загружается автоматически, какую стоимость имеет каждое чтение файла и когда срабатывают правила и hooks.

8 8 

9Контекстное окно Claude Code содержит всё, что Claude знает о вашем сеансе: ваши инструкции, файлы, которые он читает, его собственные ответы и содержимое, которое никогда не появляется в вашем терминале. Временная шкала ниже показывает, что загружается и когда. Смотрите [письменное описание](#what-the-timeline-shows) для того же содержимого в виде списка.9export const ContextWindow = () => {

10 const MAX = 200000;

11 const STARTUP_END = 0.2;

12 {}

13 const EVENTS = useMemo(() => [{}, {

14 t: 0.015,

15 kind: 'auto',

16 label: 'System prompt',

17 tokens: 4200,

18 color: '#6B6964',

19 vis: 'hidden',

20 desc: 'Core instructions for behavior, tool use, and response formatting. Always loaded first. You never see it.',

21 link: null

22 }, {

23 t: 0.035,

24 kind: 'auto',

25 label: 'Auto memory (MEMORY.md)',

26 tokens: 680,

27 color: '#E8A45C',

28 vis: 'hidden',

29 desc: "Claude's notes to itself from previous sessions: build commands it learned, patterns it noticed, mistakes to avoid. The first 200 lines or 25KB, whichever comes first, are loaded into the conversation context.",

30 link: '/en/memory#auto-memory'

31 }, {

32 t: 0.06,

33 kind: 'auto',

34 label: 'Environment info',

35 tokens: 280,

36 color: '#6B6964',

37 vis: 'hidden',

38 desc: 'Working directory, platform, shell, OS version, and whether this is a git repo. Git branch, status, and recent commits load as a separate block at the very end of the system prompt.',

39 link: null

40 }, {

41 t: 0.08,

42 kind: 'auto',

43 label: 'MCP tools (deferred)',

44 tokens: 120,

45 color: '#9B7BC4',

46 vis: 'hidden',

47 desc: 'MCP tool names listed so Claude knows what is available. By default, full schemas stay deferred and Claude loads specific ones on demand via tool search when a task needs them. Set `ENABLE_TOOL_SEARCH=auto` to load schemas upfront when they fit within 10% of the context window, or `ENABLE_TOOL_SEARCH=false` to load everything.',

48 link: '/en/mcp#scale-with-mcp-tool-search'

49 }, {

50 t: 0.1,

51 kind: 'auto',

52 label: 'Skill descriptions',

53 tokens: 450,

54 color: '#D4A843',

55 vis: 'hidden',

56 noSurviveCompact: true,

57 desc: 'One-line descriptions of available skills so Claude knows what it can invoke. Full skill content loads only when Claude actually uses one. Skills with `disable-model-invocation: true` are not in this list. They stay completely out of context until you invoke them with `/name`. Unlike the rest of the startup content, this listing is not re-injected after `/compact`. Only skills you actually invoked get preserved.',

58 link: '/en/skills'

59 }, {

60 t: 0.12,

61 kind: 'auto',

62 label: '~/.claude/CLAUDE.md',

63 tokens: 320,

64 color: '#6A9BCC',

65 vis: 'hidden',

66 desc: 'Your global preferences. Applies to every project. Loaded alongside project instructions at the start of every conversation.',

67 link: '/en/memory#choose-where-to-put-claude-md-files'

68 }, {

69 t: 0.14,

70 kind: 'auto',

71 label: 'Project CLAUDE.md',

72 tokens: 1800,

73 color: '#6A9BCC',

74 vis: 'hidden',

75 desc: 'Project conventions, build commands, architecture notes. The most important file you can create. Lives in your project root, so your whole team gets the same instructions.',

76 tip: 'Keep it under 200 lines. Move reference content to skills or path-scoped rules so it only loads when needed.',

77 link: '/en/memory'

78 }, {}, {

79 t: 0.22,

80 kind: 'user',

81 label: 'Your prompt',

82 tokens: 45,

83 color: '#558A42',

84 vis: 'full',

85 desc: '"Fix the auth bug where users get 401 after token refresh"',

86 link: null

87 }, {}, {

88 t: 0.28,

89 kind: 'claude',

90 label: 'Read src/api/auth.ts',

91 tokens: 2400,

92 color: '#8A8880',

93 vis: 'brief',

94 desc: 'Main auth file. You see "Read auth.ts" in your terminal, but the 2,400 tokens of file content only Claude sees.',

95 tip: 'File reads dominate context usage. Be specific in prompts ("fix the bug in auth.ts") so Claude reads fewer files. For research-heavy tasks, use a subagent.',

96 link: null

97 }, {

98 t: 0.32,

99 kind: 'claude',

100 label: 'Read src/lib/tokens.ts',

101 tokens: 1100,

102 color: '#8A8880',

103 vis: 'brief',

104 desc: 'Following imports to the token module. Shown as a one-liner in your terminal.',

105 link: null

106 }, {

107 t: 0.35,

108 kind: 'auto',

109 label: 'Rule: api-conventions.md',

110 tokens: 380,

111 color: '#4A9B8E',

112 vis: 'brief',

113 desc: 'This rule in `.claude/rules/` has a `paths:` pattern matching `src/api/**`. It loaded automatically when Claude read a file in that directory. You see "Loaded .claude/rules/api-conventions.md" in your terminal, but not the rule content.',

114 link: '/en/memory#path-specific-rules'

115 }, {

116 t: 0.38,

117 kind: 'claude',

118 label: 'Read middleware.ts',

119 tokens: 1800,

120 color: '#8A8880',

121 vis: 'brief',

122 desc: 'Tracing the auth flow deeper.',

123 link: null

124 }, {

125 t: 0.41,

126 kind: 'claude',

127 label: 'Read auth.test.ts',

128 tokens: 1600,

129 color: '#8A8880',

130 vis: 'brief',

131 desc: 'Checking existing tests for expected behavior.',

132 link: null

133 }, {

134 t: 0.44,

135 kind: 'auto',

136 label: 'Rule: testing.md',

137 tokens: 290,

138 color: '#4A9B8E',

139 vis: 'brief',

140 desc: 'Another path-scoped rule, this one matching `*.test.ts` files. Triggered when Claude read auth.test.ts. Shown as a one-line "Loaded" notice.',

141 link: '/en/memory#path-specific-rules'

142 }, {

143 t: 0.47,

144 kind: 'claude',

145 label: 'grep "refreshToken"',

146 tokens: 600,

147 color: '#A09E96',

148 vis: 'brief',

149 desc: 'Search results across the codebase. You see the command ran, not the full output.',

150 link: null

151 }, {}, {

152 t: 0.53,

153 kind: 'claude',

154 label: "Claude's analysis",

155 tokens: 800,

156 color: '#D97757',

157 vis: 'full',

158 desc: 'Explains the bug: token invalidated too early in the rotation. This text appears in your terminal.',

159 link: null

160 }, {

161 t: 0.57,

162 kind: 'claude',

163 label: 'Edit auth.ts',

164 tokens: 400,

165 color: '#D97757',

166 vis: 'full',

167 desc: 'Fixes the token rotation order. The diff appears in your terminal.',

168 link: null

169 }, {

170 t: 0.59,

171 kind: 'hook',

172 label: 'Hook: prettier',

173 tokens: 120,

174 color: '#B8860B',

175 vis: 'hidden',

176 desc: 'A PostToolUse hook in `settings.json` runs prettier after every file edit and reports back via `hookSpecificOutput.additionalContext`. That field enters Claude\'s context. Plain stdout on exit 0 does not. It is written to the debug log only.',

177 tip: 'Output JSON with `additionalContext` to send info to Claude. For PostToolUse hooks, exit code 2 surfaces stderr as an error but cannot block since the tool already ran. Keep output concise since it enters context without truncation.',

178 link: '/en/hooks-guide'

179 }, {

180 t: 0.62,

181 kind: 'claude',

182 label: 'Edit auth.test.ts',

183 tokens: 600,

184 color: '#D97757',

185 vis: 'full',

186 desc: 'Adds a regression test for the fix. The diff appears in your terminal.',

187 link: null

188 }, {

189 t: 0.64,

190 kind: 'hook',

191 label: 'Hook: prettier',

192 tokens: 100,

193 color: '#B8860B',

194 vis: 'hidden',

195 desc: 'The same hook fires again for the test file. Every matching tool event triggers it.',

196 link: '/en/hooks-guide'

197 }, {

198 t: 0.67,

199 kind: 'claude',

200 label: 'npm test output',

201 tokens: 1200,

202 color: '#A09E96',

203 vis: 'brief',

204 desc: 'Runs the test suite. You see "Running npm test..." and the pass count, not the full 1,200 tokens of output.',

205 link: null

206 }, {

207 t: 0.70,

208 kind: 'claude',

209 label: 'Summary',

210 tokens: 400,

211 color: '#D97757',

212 vis: 'full',

213 desc: '"Fixed token rotation. Added regression test. All tests pass."',

214 link: null

215 }, {}, {

216 t: 0.72,

217 kind: 'user',

218 label: 'Your follow-up',

219 tokens: 40,

220 color: '#558A42',

221 vis: 'full',

222 desc: '"Use a subagent to research session timeout handling, then fix it"',

223 tip: 'Follow-ups add to the same context. Delegating research to a subagent keeps large file reads out of your main window.',

224 link: null

225 }, {

226 t: 0.79,

227 kind: 'claude',

228 label: 'Spawn research subagent',

229 tokens: 80,

230 color: '#D97757',

231 vis: 'brief',

232 desc: "Claude delegates the research to a subagent with a fresh, separate context window. It loads CLAUDE.md and the same MCP and skill setup, but starts without your conversation history or the main session's auto memory.",

233 link: '/en/sub-agents'

234 }, {

235 t: 0.795,

236 kind: 'sub',

237 label: 'System prompt',

238 tokens: 0,

239 subTokens: 900,

240 color: '#6B6964',

241 vis: 'hidden',

242 desc: "The subagent gets its own system prompt, shorter than the main session's. For the general-purpose agent, it's a brief prompt plus environment details. The main session's auto memory is not included. If a custom agent has memory: in its frontmatter, it loads its own separate MEMORY.md here instead.",

243 link: '/en/sub-agents#enable-persistent-memory'

244 }, {

245 t: 0.80,

246 kind: 'sub',

247 label: 'Project CLAUDE.md (own copy)',

248 tokens: 0,

249 subTokens: 1800,

250 color: '#6A9BCC',

251 vis: 'hidden',

252 desc: "The subagent loads CLAUDE.md too. Same file, same content, but it counts against the subagent's context, not yours. The built-in Explore and Plan agents skip this for a smaller context.",

253 link: '/en/sub-agents'

254 }, {

255 t: 0.805,

256 kind: 'sub',

257 label: 'MCP tools + skills',

258 tokens: 0,

259 subTokens: 970,

260 color: '#9B7BC4',

261 vis: 'hidden',

262 desc: "The subagent has access to the same MCP servers and skills. It gets most of the parent's tools, minus several that don't apply in a nested context, including plan-mode controls, background-task tools, and by default the Agent tool itself to prevent recursion.",

263 link: '/en/sub-agents'

264 }, {

265 t: 0.81,

266 kind: 'sub',

267 label: 'Task prompt from main',

268 tokens: 0,

269 subTokens: 120,

270 color: '#558A42',

271 vis: 'hidden',

272 desc: "Instead of a user prompt, the subagent receives the task Claude wrote for it: 'Research session timeout handling in this codebase.'",

273 link: '/en/sub-agents'

274 }, {

275 t: 0.82,

276 kind: 'sub',

277 label: 'Read session.ts',

278 tokens: 0,

279 subTokens: 2200,

280 color: '#8A8880',

281 vis: 'hidden',

282 desc: "Now the subagent does its work. This file read fills the subagent's context, not yours.",

283 link: '/en/sub-agents'

284 }, {

285 t: 0.825,

286 kind: 'sub',

287 label: 'Read timeouts.ts',

288 tokens: 0,

289 subTokens: 800,

290 color: '#8A8880',

291 vis: 'hidden',

292 desc: "Another file read in the subagent's separate context.",

293 link: '/en/sub-agents'

294 }, {

295 t: 0.83,

296 kind: 'sub',

297 label: 'Read config/*.ts',

298 tokens: 0,

299 subTokens: 3100,

300 color: '#8A8880',

301 vis: 'hidden',

302 desc: "The subagent can read as many files as it needs. None of this touches your main context.",

303 link: '/en/sub-agents'

304 }, {

305 t: 0.85,

306 kind: 'claude',

307 label: 'Subagent returns summary',

308 tokens: 420,

309 color: '#D97757',

310 vis: 'brief',

311 desc: "Only the subagent's final text response comes back to your context, plus a small metadata trailer with token counts and duration. The subagent read 6,100 tokens of files. You got a 420-token result. That's the context savings.",

312 link: '/en/sub-agents'

313 }, {

314 t: 0.86,

315 kind: 'claude',

316 label: "Claude's response",

317 tokens: 1200,

318 color: '#D97757',

319 vis: 'full',

320 desc: 'Analysis and fix for session timeouts. This text appears in your terminal.',

321 link: null

322 }, {}, {

323 t: 0.875,

324 kind: 'user',

325 label: '!git status',

326 tokens: 180,

327 color: '#558A42',

328 vis: 'full',

329 desc: "You ran a shell command with the ! prefix to see which files Claude modified. The command and its output both enter context as part of your message. Useful for grounding Claude in command output without Claude running it.",

330 link: '/en/interactive-mode#bash-mode-with-prefix'

331 }, {

332 t: 0.89,

333 kind: 'user',

334 label: '/commit-push',

335 tokens: 620,

336 color: '#558A42',

337 vis: 'brief',

338 desc: 'You invoked a skill that has `disable-model-invocation: true`. Its description was not in the skill index at startup, so it cost zero context until this moment. Now the full skill content loads and Claude follows its instructions to stage, commit, and push your changes.',

339 tip: 'Set `disable-model-invocation: true` on skills with side effects like committing, deploying, or sending messages. They stay out of context entirely until you need them.',

340 link: '/en/skills#control-who-invokes-a-skill'

341 }, {}, {

342 t: 0.93,

343 kind: 'compact',

344 label: '/compact',

345 tokens: 0,

346 color: '#D97757',

347 vis: 'brief',

348 desc: 'Replaces the conversation with a structured summary. You see a "Conversation compacted" message. The summarization happens without appearing in your terminal.',

349 link: '/en/how-claude-code-works#the-context-window'

350 }].filter(e => e.t !== undefined), []);

351 const VIS_META = {

352 hidden: {

353 label: 'Invisible in your terminal',

354 sub: 'This content does not appear in your terminal.'

355 },

356 brief: {

357 label: 'One-liner in your terminal',

358 sub: 'You see a brief mention, not the full content.'

359 },

360 full: {

361 label: 'Shown in your terminal',

362 sub: 'The actual content appears in your terminal.'

363 }

364 };

365 {}

366 const GATES = [{

367 at: 0.18,

368 kind: 'prompt',

369 text: 'Fix the auth bug where users get 401 after token refresh',

370 resumeTo: 0.22

371 }, {

372 at: 0.705,

373 kind: 'prompt',

374 text: 'Use a subagent to research session timeout handling, then fix it',

375 resumeTo: 0.72

376 }, {

377 at: 0.865,

378 kind: 'bang',

379 text: '!git status',

380 resumeTo: 0.875

381 }, {

382 at: 0.88,

383 kind: 'slash',

384 text: '/commit-push',

385 resumeTo: 0.89

386 }, {

387 at: 0.90,

388 kind: 'compact',

389 text: '/compact',

390 resumeTo: 1

391 }];

392 const KIND_META = {

393 auto: {

394 badge: 'auto',

395 detail: 'Auto-loaded',

396 badgeBg: 'rgba(94,93,89,0.15)',

397 badgeColor: '#8A8880'

398 },

399 user: {

400 badge: 'you',

401 detail: 'You typed this',

402 badgeBg: 'rgba(85,138,66,0.15)',

403 badgeColor: '#6BA656'

404 },

405 claude: {

406 badge: 'claude',

407 detail: "Claude's work",

408 badgeBg: 'rgba(217,119,87,0.12)',

409 badgeColor: '#D97757'

410 },

411 hook: {

412 badge: 'hook',

413 detail: 'Hook (automatic)',

414 badgeBg: 'rgba(184,134,11,0.15)',

415 badgeColor: '#CCA020'

416 },

417 compact: {

418 badge: 'compact',

419 detail: 'Compaction',

420 badgeBg: 'rgba(217,119,87,0.12)',

421 badgeColor: '#D97757'

422 },

423 sub: {

424 badge: 'subagent',

425 detail: "In subagent's context",

426 badgeBg: 'rgba(155,123,196,0.12)',

427 badgeColor: '#9B7BC4'

428 }

429 };

430 const LEGEND = [{

431 c: '#6B6964',

432 l: 'System'

433 }, {

434 c: '#6A9BCC',

435 l: 'CLAUDE.md'

436 }, {

437 c: '#E8A45C',

438 l: 'Memory'

439 }, {

440 c: '#D4A843',

441 l: 'Skills'

442 }, {

443 c: '#9B7BC4',

444 l: 'MCP'

445 }, {

446 c: '#4A9B8E',

447 l: 'Rules'

448 }, {

449 c: '#558A42',

450 l: 'You'

451 }, {

452 c: '#8A8880',

453 l: 'Files'

454 }, {

455 c: '#A09E96',

456 l: 'Output'

457 }, {

458 c: '#D97757',

459 l: 'Claude'

460 }, {

461 c: '#B8860B',

462 l: 'Hooks'

463 }];

464 const fmt = n => n >= 1000 ? (n / 1000).toFixed(1).replace(/\.0$/, '') + 'K' : n + '';

465 const [time, setTime] = useState(0);

466 const [playing, setPlaying] = useState(false);

467 const [hovIdx, setHovIdx] = useState(null);

468 const [selIdx, setSelIdx] = useState(null);

469 const [hovCat, setHovCat] = useState(null);

470 const [gatesPassed, setGatesPassed] = useState(0);

471 const [mounted, setMounted] = useState(false);

472 const [hasInteracted, setHasInteracted] = useState(false);

473 const lastRef = useRef(null);

474 const scrollRef = useRef(null);

475 const detailRef = useRef(null);

476 useEffect(() => setMounted(true), []);

477 const activeGate = GATES.find((g, i) => i >= gatesPassed && time >= g.at && time < g.resumeTo);

478 useEffect(() => {

479 if (!playing) return;

480 let raf;

481 let stopped = false;

482 const tick = ts => {

483 if (stopped) return;

484 if (!lastRef.current) lastRef.current = ts;

485 const dt = (ts - lastRef.current) / 1000;

486 lastRef.current = ts;

487 setTime(prev => {

488 const next = prev + dt * 0.032;

489 const gate = GATES.find((g, i) => i >= gatesPassed && next >= g.at && prev < g.resumeTo);

490 if (gate) {

491 stopped = true;

492 setPlaying(false);

493 return gate.at;

494 }

495 if (next >= 1) {

496 stopped = true;

497 setPlaying(false);

498 return 1;

499 }

500 return next;

501 });

502 if (!stopped) raf = requestAnimationFrame(tick);

503 };

504 raf = requestAnimationFrame(tick);

505 return () => {

506 stopped = true;

507 cancelAnimationFrame(raf);

508 lastRef.current = null;

509 };

510 }, [playing, gatesPassed]);

511 const sendPrompt = () => {

512 if (!activeGate) return;

513 const isCompact = activeGate.kind === 'compact';

514 setGatesPassed(n => n + 1);

515 setTime(activeGate.resumeTo);

516 setSelIdx(null);

517 setHovIdx(null);

518 if (!isCompact) setPlaying(true);

519 };

520 const visibleCount = EVENTS.filter(e => e.t <= time).length;

521 const preCompactVisible = useMemo(() => EVENTS.slice(0, visibleCount), [EVENTS, visibleCount]);

522 const compactGateIdx = GATES.length - 1;

523 const isCompacted = gatesPassed > compactGateIdx && preCompactVisible.some(e => e.kind === 'compact');

524 const {visible, preCompactTotal} = useMemo(() => {

525 const nonCompact = preCompactVisible.filter(e => e.kind !== 'compact');

526 if (!isCompacted) {

527 return {

528 visible: preCompactVisible,

529 preCompactTotal: 0

530 };

531 }

532 {}

533 const autoLoads = nonCompact.filter(e => e.kind === 'auto' && e.t < STARTUP_END && !e.noSurviveCompact);

534 const summarized = nonCompact.filter(e => e.t >= STARTUP_END && e.kind !== 'sub');

535 const sumTokens = summarized.reduce((s, e) => s + e.tokens, 0);

536 const summaryBlock = {

537 t: STARTUP_END,

538 kind: 'compact',

539 label: 'Conversation summary',

540 tokens: Math.round(sumTokens * 0.12),

541 color: '#A09E96',

542 vis: 'hidden',

543 desc: `All ${summarized.length} conversation events condensed into one structured summary. The summary keeps: your requests and intent, key technical concepts, files examined or modified with important code snippets, errors and how they were fixed, pending tasks, and current work. It replaces the verbatim conversation: full tool outputs and intermediate reasoning are gone. Claude can still reference the work but won't have the exact code it read earlier.`,

544 link: '/en/how-claude-code-works#the-context-window'

545 };

546 return {

547 visible: [...autoLoads, summaryBlock],

548 preCompactTotal: nonCompact.reduce((s, e) => s + e.tokens, 0)

549 };

550 }, [preCompactVisible, isCompacted]);

551 const {blocks, totalTokens} = useMemo(() => {

552 const bl = visible.map((e, visIdx) => ({

553 ...e,

554 id: e.label + e.t,

555 visIdx

556 })).filter(e => e.tokens > 0 || e.label === 'Conversation summary');

557 return {

558 blocks: bl,

559 totalTokens: bl.reduce((s, b) => s + b.tokens, 0)

560 };

561 }, [visible]);

562 const subTotal = useMemo(() => visible.filter(e => e.kind === 'sub').reduce((s, e) => s + (e.subTokens || 0), 0), [visible]);

563 useEffect(() => {

564 if (!scrollRef.current) return;

565 if (isCompacted) scrollRef.current.scrollTo({

566 top: 0,

567 behavior: 'smooth'

568 }); else if (playing || activeGate) scrollRef.current.scrollTop = scrollRef.current.scrollHeight;

569 }, [visible.length, !!activeGate, isCompacted]);

570 const rootRef = useRef(null);

571 const keyStateRef = useRef({});

572 const [isFullscreen, setIsFullscreen] = useState(false);

573 keyStateRef.current = {

574 time,

575 activeGate,

576 sendPrompt,

577 hasInteracted

578 };

579 useEffect(() => {

580 const onFsChange = () => setIsFullscreen(!!document.fullscreenElement);

581 document.addEventListener('fullscreenchange', onFsChange);

582 return () => document.removeEventListener('fullscreenchange', onFsChange);

583 }, []);

584 const toggleFullscreen = () => {

585 if (!rootRef.current) return;

586 if (document.fullscreenElement) document.exitFullscreen(); else rootRef.current.requestFullscreen().catch(() => {});

587 };

588 useEffect(() => {

589 const onKey = e => {

590 const tag = e.target.tagName;

591 if (tag === 'INPUT' || tag === 'BUTTON' || tag === 'TEXTAREA' || tag === 'SELECT' || e.target.isContentEditable) return;

592 if (!rootRef.current) return;

593 const rect = rootRef.current.getBoundingClientRect();

594 if (rect.width === 0 && rect.height === 0) return;

595 if (rect.bottom < 0 || rect.top > window.innerHeight) return;

596 if (e.code === 'Space') {

597 const {time: t, activeGate: g, sendPrompt: send, hasInteracted: hi} = keyStateRef.current;

598 if (!hi) return;

599 e.preventDefault();

600 if (t === 0) setPlaying(true); else if (g) send(); else if (t >= 1) {

601 setTime(0);

602 setGatesPassed(0);

603 setSelIdx(null);

604 setHovIdx(null);

605 setPlaying(true);

606 } else setPlaying(p => !p);

607 }

608 };

609 window.addEventListener('keydown', onKey);

610 return () => window.removeEventListener('keydown', onKey);

611 }, []);

612 const pct = totalTokens / MAX * 100;

613 const barColor = pct > 75 ? '#D97757' : pct > 50 ? '#B8860B' : '#558A42';

614 const activeIdx = selIdx !== null ? selIdx : hovIdx;

615 const hovEvent = activeIdx !== null ? visible[activeIdx] : null;

616 useEffect(() => {

617 if (detailRef.current) detailRef.current.scrollTop = 0;

618 }, [hovEvent]);

619 const focusT = hovEvent ? hovEvent.t : time;

620 const takeaway = isCompacted ? 'Compaction replaces the conversation with a structured summary. System prompt, CLAUDE.md, memory, and MCP tools reload automatically. The skill listing is the one exception. Only skills you actually invoked are preserved.' : focusT < STARTUP_END ? 'A lot loads before you type anything. CLAUDE.md, memory, skills, and MCP tools are all in context before your first prompt.' : focusT < 0.28 ? "Your prompt is tiny compared to what's already loaded. Most of Claude's context is project knowledge, not your words." : focusT < 0.50 ? 'Each file Claude reads grows the context. Path-scoped rules load automatically alongside matching files.' : focusT < 0.71 ? 'Hooks fire automatically on tool events. Output reaches Claude via additionalContext JSON. Exit code 2 surfaces stderr to Claude. Plain stdout on exit 0 goes to the debug log, not the transcript.' : focusT < 0.79 ? 'Follow-up questions keep building on the same context. Everything from earlier is still there.' : focusT < 0.87 ? "The subagent works in its own separate context window. None of its file reads touch yours. Only the final summary comes back." : focusT < 0.88 ? 'Bang commands run in your shell and prefix the output to your next message. Useful for grounding Claude in command results without it running them.' : focusT < 0.90 ? 'User-only skills stay out of context entirely until you invoke them. The skill index at startup only lists skills Claude can call on its own.' : '/compact summarizes the conversation to free space while keeping key information. In a real session, run it when context starts affecting performance or before a long new task.';

621 const terminalView = isCompacted ? 'A "Conversation compacted" message. The summarization happens silently.' : focusT < STARTUP_END ? 'The input box, waiting for your first message. Everything above loads silently before you type anything.' : focusT < 0.28 ? 'Your prompt. Claude hasn\'t started working yet.' : focusT < 0.52 ? 'Your prompt and "Reading files...". Rules show as one-line "Loaded" notices, not their content.' : focusT < 0.72 ? "Claude's response and file diffs. Hooks fire silently. Tool output like npm test shows as a brief summary, not the full content." : focusT < 0.79 ? 'Your follow-up prompt.' : focusT < 0.86 ? "A brief notice that a subagent is working, then its result. You don't see the subagent's individual file reads." : focusT < 0.90 ? "Claude's response, your git status output, and the commit-push skill running." : 'Your full conversation. /compact is available to run.';

622 const mono = 'var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)';

623 const renderWithCode = s => s.split('`').map((part, i) => i % 2 === 1 ? <code key={i} style={{

624 fontFamily: mono,

625 fontSize: '0.92em',

626 background: 'var(--cw-track)',

627 padding: '1px 4px',

628 borderRadius: 3

629 }}>{part}</code> : part);

630 if (!mounted) return null;

631 return <>

632 <div className="cw-mobile-fallback">

633 This interactive timeline works best on a larger screen. See <a href="#what-the-timeline-shows" style={{

634 color: '#D97757'

635 }}>the written breakdown below</a> for the same concepts.

636 </div>

637 <div className="cw-root" ref={rootRef} onClickCapture={() => setHasInteracted(true)} style={isFullscreen ? {

638 height: '100vh',

639 borderRadius: 0,

640 display: 'flex',

641 flexDirection: 'column'

642 } : {}}>

643 <style>{`

644 .cw-root {

645 --cw-bg: #FAFAF8;

646 --cw-text: #1A1918;

647 --cw-text-2: #3D3C38;

648 --cw-text-3: #5E5D59;

649 --cw-text-dim: #6E6C64;

650 --cw-text-faint: #8A8880;

651 --cw-surface: rgba(0,0,0,0.025);

652 --cw-surface-2: rgba(0,0,0,0.04);

653 --cw-border: rgba(0,0,0,0.08);

654 --cw-track: rgba(0,0,0,0.04);

655 --cw-hover: rgba(0,0,0,0.04);

656 --cw-rail: rgba(0,0,0,0.08);

657 --cw-scrollbar: rgba(0,0,0,0.22);

658 background: var(--cw-bg);

659 border-radius: 12px;

660 overflow: hidden;

661 font-family: var(--font-sans, -apple-system, BlinkMacSystemFont, sans-serif);

662 color: var(--cw-text);

663 border: 1px solid var(--cw-border);

664 }

665 .dark .cw-root {

666 --cw-bg: #111110;

667 --cw-text: #E8E6DC;

668 --cw-text-2: #B8B6AE;

669 --cw-text-3: #9C9A92;

670 --cw-text-dim: #8A8880;

671 --cw-text-faint: #6E6C64;

672 --cw-surface: rgba(255,255,255,0.02);

673 --cw-surface-2: rgba(255,255,255,0.015);

674 --cw-border: rgba(255,255,255,0.06);

675 --cw-track: rgba(255,255,255,0.03);

676 --cw-hover: rgba(255,255,255,0.04);

677 --cw-rail: rgba(255,255,255,0.04);

678 --cw-scrollbar: rgba(255,255,255,0.18);

679 }

680 .cw-scroll::-webkit-scrollbar { width: 6px; }

681 .cw-scroll::-webkit-scrollbar-track { background: transparent; }

682 .cw-scroll::-webkit-scrollbar-thumb { background: var(--cw-scrollbar); border-radius: 3px; }

683 @keyframes cw-blink { 50% { opacity: 0; } }

684 @keyframes cw-fadein { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }

685 .cw-compacted-row { animation: cw-fadein 0.3s ease-out backwards; }

686 .cw-mobile-fallback { display: none; padding: 14px 16px; border-radius: 8px; font-size: 14px; border: 1px solid rgba(0,0,0,0.1); background: rgba(0,0,0,0.03); }

687 .dark .cw-mobile-fallback { border-color: rgba(255,255,255,0.15); background: rgba(255,255,255,0.04); }

688 @media (max-width: 700px) {

689 .cw-root { display: none !important; }

690 .cw-mobile-fallback { display: block; }

691 }

692 `}</style>

10 693 

11## Что показывает временная шкала694 {}

695 <div style={{

696 padding: '16px 20px 12px',

697 display: 'flex',

698 alignItems: 'flex-end',

699 gap: 24

700 }}>

701 <div style={{

702 flex: 1,

703 minWidth: 0

704 }}>

705 <div style={{

706 fontSize: 18,

707 fontWeight: 600,

708 letterSpacing: -0.3,

709 lineHeight: 1

710 }}>

711 Explore the context window

712 </div>

713 <div style={{

714 fontSize: 14,

715 color: 'var(--cw-text-dim)',

716 marginTop: 4

717 }}>

718 A simulated session showing what enters context and what it costs

719 </div>

720 </div>

721 <div style={{

722 textAlign: 'right',

723 flexShrink: 0

724 }}>

725 <div style={{

726 fontFamily: mono,

727 fontSize: 20,

728 fontWeight: 600,

729 color: barColor,

730 letterSpacing: -0.5,

731 lineHeight: 1

732 }}>

733 ~{fmt(totalTokens)}<span style={{

734 fontSize: 15,

735 fontWeight: 500,

736 marginLeft: 4

737 }}>tokens</span>

738 </div>

739 <div style={{

740 fontFamily: mono,

741 fontSize: 13,

742 color: 'var(--cw-text-dim)',

743 marginTop: 2

744 }} title="Token counts are illustrative. Actual values vary with your CLAUDE.md size, MCP servers, and file lengths.">

745 / {fmt(MAX)} · illustrative

746 </div>

747 </div>

748 </div>

749 

750 {}

751 <div style={{

752 padding: '0 20px'

753 }}>

754 <div style={{

755 height: 4,

756 borderRadius: 2,

757 background: 'var(--cw-track)',

758 overflow: 'hidden',

759 marginBottom: 6

760 }}>

761 <div style={{

762 width: pct + '%',

763 height: '100%',

764 background: barColor,

765 transition: 'width 0.6s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s'

766 }} />

767 </div>

768 <div style={{

769 height: 28,

770 borderRadius: 5,

771 background: 'var(--cw-track)',

772 border: '1px solid var(--cw-border)',

773 overflow: 'hidden',

774 display: 'flex'

775 }}>

776 {blocks.map((b, i) => {

777 const w = Math.max(b.tokens / MAX * 100, 0.15);

778 const isHov = b.visIdx === activeIdx;

779 const catMatch = hovCat && b.color === hovCat;

780 const dimmed = hovCat ? !catMatch : activeIdx !== null && !isHov;

781 return <div key={b.id} onMouseEnter={() => setHovIdx(b.visIdx)} onMouseLeave={() => setHovIdx(null)} onClick={() => setSelIdx(selIdx === b.visIdx ? null : b.visIdx)} style={{

782 width: w + '%',

783 height: '100%',

784 background: b.color,

785 opacity: isHov || catMatch ? 1 : dimmed ? 0.25 : 0.65,

786 borderRight: i < blocks.length - 1 ? '0.5px solid var(--cw-border)' : 'none',

787 transition: 'opacity 0.15s',

788 cursor: 'pointer'

789 }} />;

790 })}

791 </div>

792 <div style={{

793 display: 'flex',

794 gap: 12,

795 marginTop: 6,

796 flexWrap: 'wrap',

797 justifyContent: 'space-between'

798 }}>

799 <div style={{

800 display: 'flex',

801 gap: 12,

802 flexWrap: 'wrap'

803 }}>

804 {LEGEND.map(x => {

805 const active = hovCat === x.c;

806 return <div key={x.l} onMouseEnter={() => setHovCat(x.c)} onMouseLeave={() => setHovCat(null)} style={{

807 display: 'flex',

808 alignItems: 'center',

809 gap: 4,

810 padding: '2px 6px',

811 borderRadius: 4,

812 cursor: 'pointer',

813 background: active ? 'var(--cw-hover)' : 'transparent',

814 transition: 'background 0.1s'

815 }}>

816 <div style={{

817 width: 6,

818 height: 6,

819 borderRadius: 1.5,

820 background: x.c,

821 opacity: active ? 1 : 0.7

822 }} />

823 <span style={{

824 fontSize: 12,

825 color: active ? 'var(--cw-text)' : 'var(--cw-text-dim)'

826 }}>{x.l}</span>

827 </div>;

828 })}

829 </div>

830 <div style={{

831 display: 'flex',

832 gap: 6,

833 alignItems: 'center',

834 fontSize: 12,

835 color: 'var(--cw-text-dim)'

836 }}>

837 <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="#558A42" strokeWidth="2.5">

838 <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" /><circle cx="12" cy="12" r="3" />

839 </svg>

840 <span>= appears in your terminal</span>

841 </div>

842 </div>

843 </div>

844 

845 {}

846 <div style={{

847 display: 'flex',

848 padding: '14px 20px 0',

849 gap: 16,

850 height: isFullscreen ? 'calc(100vh - 240px)' : 420

851 }}>

852 

853 {}

854 <div ref={scrollRef} className="cw-scroll" style={{

855 flex: 1,

856 minWidth: 0,

857 overflowY: 'auto',

858 paddingRight: 8,

859 scrollBehavior: 'smooth'

860 }}>

861 {visible.length === 0 && !playing && <div style={{

862 height: '100%',

863 display: 'flex',

864 flexDirection: 'column',

865 alignItems: 'center',

866 justifyContent: 'center',

867 gap: 16

868 }}>

869 <div style={{

870 fontFamily: mono,

871 fontSize: 16,

872 color: 'var(--cw-text-dim)',

873 display: 'flex',

874 alignItems: 'center',

875 gap: 8

876 }}>

877 <span style={{

878 color: 'var(--cw-text-faint)'

879 }}>$</span>

880 <span>claude</span>

881 <span style={{

882 display: 'inline-block',

883 width: 8,

884 height: 16,

885 background: 'var(--cw-text-dim)',

886 opacity: 0.5,

887 animation: 'cw-blink 1s step-end infinite'

888 }} />

889 </div>

890 <button onClick={() => setPlaying(true)} style={{

891 padding: '10px 20px',

892 borderRadius: 8,

893 border: '1px solid rgba(217,119,87,0.3)',

894 background: 'rgba(217,119,87,0.08)',

895 color: '#D97757',

896 fontSize: 15,

897 fontWeight: 600,

898 cursor: 'pointer',

899 display: 'flex',

900 alignItems: 'center',

901 gap: 8

902 }}>

903 <span>▶</span>

904 <span>Start session</span>

905 </button>

906 <div style={{

907 fontSize: 13,

908 color: 'var(--cw-text-faint)',

909 maxWidth: 280,

910 textAlign: 'center',

911 lineHeight: 1.5

912 }}>

913 Watch what loads into context, from the moment you run <code style={{

914 fontFamily: mono

915 }}>claude</code> through a full conversation.

916 </div>

917 </div>}

918 {isCompacted && <div style={{

919 marginBottom: 10,

920 padding: '10px 12px',

921 borderRadius: 6,

922 background: 'rgba(217,119,87,0.05)',

923 border: '1px solid rgba(217,119,87,0.15)'

924 }}>

925 <div style={{

926 fontSize: 13,

927 fontWeight: 600,

928 color: '#D97757',

929 marginBottom: 3

930 }}>

931 After /compact

932 </div>

933 <div style={{

934 fontSize: 13,

935 color: 'var(--cw-text-3)',

936 lineHeight: 1.5,

937 fontFamily: mono

938 }}>

939 {fmt(preCompactTotal)} → {fmt(totalTokens)} tokens · freed {fmt(preCompactTotal - totalTokens)}

940 </div>

941 <div style={{

942 fontSize: 13,

943 color: 'var(--cw-text-dim)',

944 lineHeight: 1.5,

945 marginTop: 4

946 }}>

947 This is what's left in context: startup content, which lives outside the message history and reloads after compaction, plus a structured summary of the entire conversation. Skill descriptions don't reload.

948 </div>

949 </div>}

950 {time > 0 && visible.length > 0 && <div style={{

951 fontSize: 12,

952 fontWeight: 700,

953 color: 'var(--cw-text-faint)',

954 textTransform: 'uppercase',

955 letterSpacing: 0.6,

956 marginBottom: 6,

957 paddingLeft: 28

958 }}>

959 {isCompacted ? 'Reloaded after compact' : 'Before you type anything'}

960 </div>}

961 

962 {time > 0 && visible.map((evt, i) => {

963 const meta = KIND_META[evt.kind];

964 const isHov = hovIdx === i;

965 const prevKind = i > 0 ? visible[i - 1].kind : null;

966 const isSub = evt.kind === 'sub';

967 const enteringSubagent = isSub && prevKind !== 'sub';

968 const leavingSubagent = prevKind === 'sub' && !isSub;

969 let showPhase = null;

970 if (evt.kind === 'user' && prevKind !== 'user') showPhase = 'You'; else if (evt.kind === 'claude' && prevKind === 'user') showPhase = 'Claude works'; else if (evt.label === 'Conversation summary') showPhase = 'Summarized by /compact';

971 const isNewRow = isCompacted && !(evt.kind === 'auto' && evt.t < STARTUP_END);

972 return <div key={evt.label + evt.t} className={isNewRow ? 'cw-compacted-row' : ''} style={isNewRow ? {

973 animationDelay: `${i * 60}ms`

974 } : {}}>

975 {showPhase && <div style={{

976 fontSize: 12,

977 fontWeight: 700,

978 color: 'var(--cw-text-faint)',

979 textTransform: 'uppercase',

980 letterSpacing: 0.6,

981 marginTop: 14,

982 marginBottom: 6,

983 paddingLeft: 28

984 }}>

985 {showPhase}

986 </div>}

987 {enteringSubagent && <div style={{

988 marginLeft: 28,

989 marginTop: 6,

990 marginBottom: 2,

991 paddingLeft: 10,

992 borderLeft: '2px solid rgba(155,123,196,0.4)',

993 fontSize: 12,

994 fontWeight: 600,

995 color: '#9B7BC4',

996 textTransform: 'uppercase',

997 letterSpacing: 0.5

998 }}>

999 Subagent's separate context window

1000 </div>}

1001 {leavingSubagent && <div style={{

1002 marginLeft: 28,

1003 marginBottom: 6,

1004 paddingLeft: 10,

1005 paddingBottom: 6,

1006 borderLeft: '2px solid rgba(155,123,196,0.4)',

1007 fontSize: 12,

1008 color: 'var(--cw-text-dim)',

1009 fontFamily: mono

1010 }}>

1011 ↓ {fmt(subTotal)} tokens stayed in subagent's context · only the summary returns

1012 </div>}

1013 <div onMouseEnter={() => setHovIdx(i)} onMouseLeave={() => setHovIdx(null)} onClick={() => setSelIdx(selIdx === i ? null : i)} style={{

1014 display: 'flex',

1015 alignItems: 'flex-start',

1016 borderRadius: 6,

1017 cursor: 'pointer',

1018 background: selIdx === i || isHov ? 'var(--cw-hover)' : 'transparent',

1019 outline: selIdx === i ? '1px solid rgba(217,119,87,0.4)' : 'none',

1020 opacity: hovCat && evt.color !== hovCat ? 0.35 : 1,

1021 transition: 'background 0.1s, opacity 0.15s',

1022 marginLeft: isSub ? 28 : 0,

1023 paddingLeft: isSub ? 10 : 0,

1024 borderLeft: isSub ? '2px solid rgba(155,123,196,0.4)' : 'none'

1025 }}>

1026 <div style={{

1027 width: 28,

1028 display: 'flex',

1029 flexDirection: 'column',

1030 alignItems: 'center',

1031 paddingTop: 8,

1032 flexShrink: 0

1033 }}>

1034 <div style={{

1035 width: evt.kind === 'user' || evt.kind === 'compact' ? 10 : 7,

1036 height: evt.kind === 'user' || evt.kind === 'compact' ? 10 : 7,

1037 borderRadius: '50%',

1038 background: evt.color,

1039 opacity: isHov ? 1 : 0.6,

1040 transition: 'opacity 0.15s',

1041 boxShadow: isHov ? `0 0 8px ${evt.color}40` : 'none'

1042 }} />

1043 {i < visible.length - 1 && <div style={{

1044 width: 1.5,

1045 flex: 1,

1046 background: 'var(--cw-rail)',

1047 marginTop: 2,

1048 minHeight: 6

1049 }} />}

1050 </div>

1051 <div style={{

1052 flex: 1,

1053 minWidth: 0,

1054 padding: '5px 10px 5px 4px',

1055 display: 'flex',

1056 alignItems: 'center',

1057 gap: 8

1058 }}>

1059 <span style={{

1060 fontSize: 12,

1061 fontWeight: 600,

1062 padding: '1px 5px',

1063 borderRadius: 3,

1064 background: meta.badgeBg,

1065 color: meta.badgeColor,

1066 flexShrink: 0,

1067 fontFamily: mono

1068 }}>

1069 {meta.badge}

1070 </span>

1071 <span style={{

1072 fontSize: 15,

1073 fontFamily: mono,

1074 color: isHov ? 'var(--cw-text)' : evt.kind === 'user' ? '#558A42' : evt.kind === 'auto' ? 'var(--cw-text-dim)' : 'var(--cw-text-2)',

1075 flex: 1,

1076 minWidth: 0,

1077 overflow: 'hidden',

1078 textOverflow: 'ellipsis',

1079 whiteSpace: 'nowrap',

1080 fontWeight: evt.kind === 'user' ? 550 : 400

1081 }}>

1082 {evt.label}

1083 </span>

1084 {evt.tokens > 0 && <span style={{

1085 fontSize: 12,

1086 fontFamily: mono,

1087 color: 'var(--cw-text-faint)',

1088 flexShrink: 0

1089 }}>

1090 +{fmt(evt.tokens)}

1091 </span>}

1092 {evt.subTokens > 0 && <span style={{

1093 fontSize: 12,

1094 fontFamily: mono,

1095 color: '#9B7BC4',

1096 flexShrink: 0,

1097 opacity: 0.6

1098 }}>

1099 +{fmt(evt.subTokens)}

1100 </span>}

1101 {evt.tokens > 0 && <div style={{

1102 width: 50,

1103 height: 5,

1104 borderRadius: 2,

1105 background: 'var(--cw-track)',

1106 flexShrink: 0,

1107 overflow: 'hidden'

1108 }}>

1109 <div style={{

1110 width: Math.min(evt.tokens / 5000 * 100, 100) + '%',

1111 height: '100%',

1112 background: evt.color,

1113 opacity: isHov ? 0.8 : 0.4,

1114 transition: 'opacity 0.15s'

1115 }} />

1116 </div>}

1117 <span style={{

1118 width: 14,

1119 flexShrink: 0,

1120 display: 'flex',

1121 justifyContent: 'center'

1122 }} title={VIS_META[evt.vis].label}>

1123 {evt.vis !== 'hidden' && <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke={evt.vis === 'full' ? '#558A42' : 'currentColor'} style={{

1124 color: 'var(--cw-text-faint)',

1125 opacity: evt.vis === 'full' ? 1 : 0.5

1126 }} strokeWidth="2">

1127 <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" /><circle cx="12" cy="12" r="3" />

1128 </svg>}

1129 </span>

1130 </div>

1131 </div>

1132 </div>;

1133 })}

1134 

1135 {activeGate && (activeGate.kind === 'prompt' || activeGate.kind === 'bang' || activeGate.kind === 'slash') && <div style={{

1136 paddingLeft: 28,

1137 marginTop: 12,

1138 paddingRight: 8

1139 }}>

1140 <div style={{

1141 fontSize: 11,

1142 fontWeight: 600,

1143 color: '#6BA656',

1144 fontFamily: mono,

1145 textTransform: 'uppercase',

1146 letterSpacing: 0.5,

1147 marginBottom: 4,

1148 paddingLeft: 2

1149 }}>

1150 You type in your terminal

1151 </div>

1152 <div style={{

1153 display: 'flex',

1154 alignItems: 'flex-start',

1155 gap: 8,

1156 padding: '10px 12px',

1157 borderRadius: 6,

1158 background: 'rgba(85,138,66,0.06)',

1159 border: '1px solid rgba(85,138,66,0.2)'

1160 }}>

1161 <span style={{

1162 color: '#558A42',

1163 fontSize: 15,

1164 fontFamily: mono,

1165 flexShrink: 0

1166 }}>❯</span>

1167 <span style={{

1168 fontSize: 15,

1169 fontFamily: mono,

1170 color: 'var(--cw-text-2)',

1171 flex: 1,

1172 lineHeight: 1.5

1173 }}>

1174 {activeGate.text}

1175 <span style={{

1176 display: 'inline-block',

1177 width: 7,

1178 height: 13,

1179 marginLeft: 2,

1180 background: '#558A42',

1181 opacity: 0.5,

1182 verticalAlign: 'middle',

1183 animation: 'cw-blink 1s step-end infinite'

1184 }} />

1185 </span>

1186 <button onClick={sendPrompt} style={{

1187 padding: '5px 12px',

1188 borderRadius: 5,

1189 border: 'none',

1190 background: '#558A42',

1191 color: '#fff',

1192 fontSize: 13,

1193 fontWeight: 600,

1194 cursor: 'pointer',

1195 flexShrink: 0

1196 }}>

1197 {activeGate.kind === 'prompt' ? 'Send ↵' : 'Run ↵'}

1198 </button>

1199 </div>

1200 </div>}

1201 {activeGate && activeGate.kind === 'compact' && <div style={{

1202 paddingLeft: 28,

1203 marginTop: 12,

1204 paddingRight: 8

1205 }}>

1206 <div style={{

1207 padding: '12px 14px',

1208 borderRadius: 6,

1209 background: 'rgba(217,119,87,0.06)',

1210 border: '1px solid rgba(217,119,87,0.25)'

1211 }}>

1212 <div style={{

1213 fontSize: 13,

1214 color: 'var(--cw-text-3)',

1215 marginBottom: 8,

1216 lineHeight: 1.5

1217 }}>

1218 Context is at <span style={{

1219 fontFamily: mono,

1220 fontWeight: 600,

1221 color: barColor

1222 }}>{fmt(totalTokens)} tokens</span>.

1223 Run <code style={{

1224 fontFamily: mono,

1225 background: 'var(--cw-track)',

1226 padding: '1px 4px',

1227 borderRadius: 3

1228 }}>/compact</code> to

1229 summarize older exchanges and free space for more work.

1230 </div>

1231 <div style={{

1232 display: 'flex',

1233 alignItems: 'center',

1234 gap: 8

1235 }}>

1236 <span style={{

1237 color: '#D97757',

1238 fontSize: 15,

1239 fontFamily: mono

1240 }}>❯</span>

1241 <span style={{

1242 fontSize: 15,

1243 fontFamily: mono,

1244 color: 'var(--cw-text-2)',

1245 flex: 1

1246 }}>

1247 {activeGate.text}

1248 </span>

1249 <button onClick={sendPrompt} style={{

1250 padding: '5px 12px',

1251 borderRadius: 5,

1252 border: 'none',

1253 background: '#D97757',

1254 color: '#fff',

1255 fontSize: 13,

1256 fontWeight: 600,

1257 cursor: 'pointer',

1258 flexShrink: 0

1259 }}>

1260 Run ↵

1261 </button>

1262 </div>

1263 </div>

1264 </div>}

1265 </div>

1266 

1267 {}

1268 <div style={{

1269 width: 300,

1270 flexShrink: 0,

1271 display: 'flex',

1272 flexDirection: 'column'

1273 }}>

1274 <div ref={detailRef} className="cw-scroll" style={{

1275 padding: '14px 16px',

1276 borderRadius: 10,

1277 background: 'var(--cw-surface)',

1278 border: '1px solid var(--cw-border)',

1279 flex: 1,

1280 minHeight: 0,

1281 overflowY: 'auto',

1282 display: 'flex',

1283 flexDirection: 'column',

1284 gap: 10

1285 }}>

1286 {hovEvent ? <div>

1287 <div style={{

1288 display: 'flex',

1289 alignItems: 'center',

1290 gap: 8,

1291 marginBottom: 8

1292 }}>

1293 <div style={{

1294 width: 10,

1295 height: 10,

1296 borderRadius: 3,

1297 background: hovEvent.color,

1298 opacity: 0.8

1299 }} />

1300 <span style={{

1301 fontSize: 16,

1302 fontWeight: 600

1303 }}>{hovEvent.label}</span>

1304 </div>

1305 <div style={{

1306 display: 'flex',

1307 width: 'fit-content',

1308 padding: '3px 8px',

1309 borderRadius: 4,

1310 marginBottom: 8,

1311 background: KIND_META[hovEvent.kind].badgeBg

1312 }}>

1313 <span style={{

1314 fontSize: 12,

1315 fontWeight: 600,

1316 color: KIND_META[hovEvent.kind].badgeColor

1317 }}>

1318 {KIND_META[hovEvent.kind].detail}

1319 </span>

1320 </div>

1321 {hovEvent.tokens > 0 && <div style={{

1322 fontSize: 14,

1323 fontFamily: mono,

1324 color: 'var(--cw-text-dim)',

1325 marginBottom: 6

1326 }}>

1327 {fmt(hovEvent.tokens)} tokens

1328 </div>}

1329 {hovEvent.subTokens > 0 && <div style={{

1330 fontSize: 14,

1331 fontFamily: mono,

1332 color: '#9B7BC4',

1333 marginBottom: 6

1334 }}>

1335 {fmt(hovEvent.subTokens)} tokens in the subagent's context

1336 </div>}

1337 <p style={{

1338 fontSize: 15,

1339 color: 'var(--cw-text-3)',

1340 lineHeight: 1.55,

1341 margin: 0

1342 }}>

1343 {renderWithCode(hovEvent.desc)}

1344 </p>

1345 <div style={{

1346 marginTop: 10,

1347 padding: '8px 10px',

1348 borderRadius: 6,

1349 background: hovEvent.vis === 'full' ? 'rgba(85,138,66,0.08)' : 'var(--cw-surface-2)',

1350 border: '1px solid ' + (hovEvent.vis === 'full' ? 'rgba(85,138,66,0.2)' : 'var(--cw-border)')

1351 }}>

1352 <div style={{

1353 display: 'flex',

1354 alignItems: 'center',

1355 gap: 6,

1356 marginBottom: 3

1357 }}>

1358 <span style={{

1359 fontSize: 13,

1360 color: hovEvent.vis === 'full' ? '#558A42' : 'var(--cw-text-dim)'

1361 }}>

1362 {hovEvent.vis === 'full' ? '●' : hovEvent.vis === 'brief' ? '◐' : '○'}

1363 </span>

1364 <span style={{

1365 fontSize: 12,

1366 fontWeight: 600,

1367 color: 'var(--cw-text-2)'

1368 }}>

1369 {VIS_META[hovEvent.vis].label}

1370 </span>

1371 </div>

1372 <div style={{

1373 fontSize: 13,

1374 color: 'var(--cw-text-dim)',

1375 lineHeight: 1.4

1376 }}>

1377 {VIS_META[hovEvent.vis].sub}

1378 </div>

1379 </div>

1380 {hovEvent.tip && <div style={{

1381 marginTop: 10,

1382 padding: '8px 10px',

1383 borderRadius: 6,

1384 background: 'rgba(85,138,66,0.06)',

1385 border: '1px solid rgba(85,138,66,0.15)'

1386 }}>

1387 <div style={{

1388 fontSize: 12,

1389 fontWeight: 600,

1390 color: '#558A42',

1391 marginBottom: 3,

1392 display: 'flex',

1393 alignItems: 'center',

1394 gap: 4

1395 }}>

1396 <span>💡</span> Save context

1397 </div>

1398 <div style={{

1399 fontSize: 13,

1400 color: 'var(--cw-text-3)',

1401 lineHeight: 1.5

1402 }}>

1403 {renderWithCode(hovEvent.tip)}

1404 </div>

1405 </div>}

1406 {hovEvent.link && <a href={hovEvent.link} style={{

1407 display: 'inline-block',

1408 marginTop: 10,

1409 fontSize: 13,

1410 color: '#D97757',

1411 textDecoration: 'none',

1412 borderBottom: '1px solid rgba(217,119,87,0.3)'

1413 }}>

1414 Learn more →

1415 </a>}

1416 </div> : <div style={{

1417 display: 'flex',

1418 flexDirection: 'column',

1419 alignItems: 'center',

1420 textAlign: 'center',

1421 gap: 4,

1422 padding: '12px 0 4px'

1423 }}>

1424 <div style={{

1425 fontSize: 22,

1426 opacity: 0.2

1427 }}>👁</div>

1428 <div style={{

1429 fontSize: 14,

1430 fontWeight: 500,

1431 color: 'var(--cw-text-dim)'

1432 }}>Hover or click any event</div>

1433 <div style={{

1434 fontSize: 12,

1435 color: 'var(--cw-text-faint)',

1436 lineHeight: 1.4,

1437 maxWidth: 200

1438 }}>

1439 Hover to preview. Click to pin so you can scroll.

1440 </div>

1441 </div>}

1442 

1443 <div style={{

1444 padding: '10px 12px',

1445 borderRadius: 8,

1446 background: 'rgba(217,119,87,0.05)',

1447 border: '1px solid rgba(217,119,87,0.12)'

1448 }}>

1449 <div style={{

1450 fontSize: 11,

1451 fontWeight: 700,

1452 color: '#D97757',

1453 textTransform: 'uppercase',

1454 letterSpacing: 0.5,

1455 marginBottom: 3

1456 }}>

1457 Key takeaway

1458 </div>

1459 <div style={{

1460 fontSize: 13,

1461 color: 'var(--cw-text-3)',

1462 lineHeight: 1.5

1463 }}>

1464 {takeaway}

1465 </div>

1466 </div>

1467 

1468 <div style={{

1469 padding: '10px 12px',

1470 borderRadius: 8,

1471 background: 'var(--cw-surface-2)',

1472 border: '1px solid var(--cw-border)'

1473 }}>

1474 <div style={{

1475 fontSize: 11,

1476 fontWeight: 700,

1477 color: 'var(--cw-text-dim)',

1478 textTransform: 'uppercase',

1479 letterSpacing: 0.5,

1480 marginBottom: 3

1481 }}>

1482 In your terminal you see

1483 </div>

1484 <div style={{

1485 fontSize: 13,

1486 color: 'var(--cw-text-3)',

1487 lineHeight: 1.5

1488 }}>

1489 {terminalView}

1490 </div>

1491 </div>

1492 </div>

1493 </div>

1494 </div>

1495 

1496 {}

1497 <div style={{

1498 padding: '10px 20px 14px',

1499 display: 'flex',

1500 alignItems: 'center',

1501 gap: 10

1502 }}>

1503 <button aria-label={time >= 1 ? 'Restart' : activeGate ? 'Continue' : playing ? 'Pause' : 'Play'} onClick={() => {

1504 if (time >= 1) {

1505 setTime(0);

1506 setGatesPassed(0);

1507 setSelIdx(null);

1508 setHovIdx(null);

1509 setPlaying(true);

1510 } else if (activeGate) sendPrompt(); else setPlaying(!playing);

1511 }} style={{

1512 width: 30,

1513 height: 30,

1514 borderRadius: 6,

1515 border: 'none',

1516 background: 'rgba(217,119,87,0.1)',

1517 color: '#D97757',

1518 cursor: 'pointer',

1519 fontSize: 15,

1520 fontWeight: 700,

1521 display: 'flex',

1522 alignItems: 'center',

1523 justifyContent: 'center'

1524 }}>

1525 {time >= 1 ? '↺' : playing ? '⏸' : '▶'}

1526 </button>

1527 <div style={{

1528 flex: 1,

1529 height: 3,

1530 borderRadius: 2,

1531 background: 'var(--cw-track)',

1532 overflow: 'hidden'

1533 }}>

1534 <div style={{

1535 width: time * 100 + '%',

1536 height: '100%',

1537 background: '#D97757',

1538 transition: 'width 0.1s linear'

1539 }} />

1540 </div>

1541 <span style={{

1542 fontSize: 12,

1543 fontFamily: mono,

1544 color: 'var(--cw-text-faint)',

1545 minWidth: 30

1546 }}>

1547 {Math.round(time * 100)}%

1548 </span>

1549 <button onClick={toggleFullscreen} aria-label={isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen'} title={isFullscreen ? 'Exit fullscreen' : 'Fullscreen'} style={{

1550 width: 28,

1551 height: 28,

1552 borderRadius: 6,

1553 border: '1px solid var(--cw-border)',

1554 background: 'var(--cw-surface)',

1555 color: 'var(--cw-text-dim)',

1556 cursor: 'pointer',

1557 fontSize: 15,

1558 flexShrink: 0,

1559 marginLeft: 4,

1560 display: 'flex',

1561 alignItems: 'center',

1562 justifyContent: 'center'

1563 }}>

1564 {isFullscreen ? '⤡' : '⛶'}

1565 </button>

1566 </div>

1567 </div>

1568 </>;

1569};

1570 

1571Контекстное окно Claude Code содержит всё, что Claude знает о вашем сеансе: ваши инструкции, файлы, которые он читает, его собственные ответы и содержимое, которое никогда не появляется в вашем терминале. Временная шкала ниже показывает полный сеанс от запуска до компактирования: что загружается перед тем, как вы что-либо введёте, что добавляет каждое чтение файла, правило и hook по мере работы Claude, и как subagent держит большие чтения вне вашего контекста. Смотрите [письменное описание](#what-the-timeline-shows) для того же содержимого в виде списка.

1572 

1573<ContextWindow />

1574 

1575<h2 id="what-the-timeline-shows">

1576 Что показывает временная шкала

1577</h2>

12 1578 

13Сеанс проходит через реалистичный поток с репрезентативными подсчётами токенов:1579Сеанс проходит через реалистичный поток с репрезентативными подсчётами токенов:

14 1580 


17* **Последующий prompt**: [subagent](/ru/sub-agents) обрабатывает исследование в своём собственном отдельном контекстном окне, поэтому большие чтения файлов остаются вне вашего. Только резюме и небольшой трейлер метаданных возвращаются.1583* **Последующий prompt**: [subagent](/ru/sub-agents) обрабатывает исследование в своём собственном отдельном контекстном окне, поэтому большие чтения файлов остаются вне вашего. Только резюме и небольшой трейлер метаданных возвращаются.

18* **В конце**: `/compact` заменяет историю разговора структурированным резюме. Большая часть содержимого при запуске перезагружается автоматически; таблица ниже показывает, что происходит с каждым механизмом.1584* **В конце**: `/compact` заменяет историю разговора структурированным резюме. Большая часть содержимого при запуске перезагружается автоматически; таблица ниже показывает, что происходит с каждым механизмом.

19 1585 

20## Что сохраняется при компактировании1586<h2 id="what-survives-compaction">

1587 Что сохраняется при компактировании

1588</h2>

21 1589 

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

23 1591 


35 1603 

36Тела skills переинжектируются после компактирования, но большие skills усекаются, чтобы соответствовать лимиту на skill, и самые старые вызванные skills удаляются после превышения общего бюджета. Усечение сохраняет начало файла, поэтому поместите наиболее важные инструкции в начало `SKILL.md`.1604Тела skills переинжектируются после компактирования, но большие skills усекаются, чтобы соответствовать лимиту на skill, и самые старые вызванные skills удаляются после превышения общего бюджета. Усечение сохраняет начало файла, поэтому поместите наиболее важные инструкции в начало `SKILL.md`.

37 1605 

38## Проверьте свой собственный сеанс1606<h2 id="when-your-context-fills-up">

1607 Когда ваш контекст заполняется

1608</h2>

1609 

1610Claude Code автоматически компактирует по мере приближения к лимиту, поэтому полное контекстное окно не завершает ваш сеанс. Автоматический проход работает так же, как шаг `/compact` на временной шкале. Смотрите [Когда контекст заполняется](/ru/how-claude-code-works#when-context-fills-up) для того, что он сохраняет.

1611 

1612Вы также можете действовать перед автоматическим проходом:

1613 

1614* **Компактируйте с фокусом**: запустите `/compact` с инструкциями, например `/compact focus on the auth bug fix`, перед началом длительной новой задачи. Резюме сохраняет то, что вы выбираете, вместо того, что автоматический проход предполагает как важное.

1615* **Очищайте между задачами**: запустите `/clear` при переходе на несвязанную работу. Старый разговор вытесняет файлы, которые вам нужны дальше, и стоит токены на каждом сообщении.

1616* **Делегируйте большие чтения**: отправьте исследование [subagent](/ru/sub-agents), чтобы содержимое файла оставалось в его контекстном окне, а не в вашем.

1617 

1618Если вам нужно большее окно, а не меньший разговор, Fable 5, Opus 4.6 и более поздние версии, а также Sonnet 4.6 поддерживают контекстное окно в 1 миллион токенов. Смотрите [Расширенный контекст](/ru/model-config#extended-context) для доступности по плану и как выбрать вариант модели `[1m]`. Компактирование работает так же при большем лимите.

1619 

1620<h2 id="check-your-own-session">

1621 Проверьте свой собственный сеанс

1622</h2>

39 1623 

40Визуализация использует репрезентативные числа. Чтобы увидеть фактическое использование контекста в любой момент, запустите `/context` для живого разбора по категориям с предложениями по оптимизации. Запустите `/memory` для проверки того, какие файлы CLAUDE.md и автоматической памяти загрузились при запуске.1624Визуализация использует репрезентативные числа. Чтобы увидеть фактическое использование контекста в любой момент, запустите `/context` для живого разбора по категориям с предложениями по оптимизации. Запустите `/memory` для проверки того, какие файлы CLAUDE.md и автоматической памяти загрузились при запуске.

41 1625 

42## Связанные ресурсы1626<h2 id="related-resources">

1627 Связанные ресурсы

1628</h2>

43 1629 

44Для более глубокого охвата функций, показанных на временной шкале, смотрите эти страницы:1630Для более глубокого охвата функций, показанных на временной шкале, смотрите эти страницы:

45 1631 

costs.md +4 −2

Details

35 35 

36На плане Pro, Max, Team или Enterprise команда `/usage` также показывает разбивку того, что учитывается в пределах вашего плана. Она относит недавнее использование к skills, subagents, plugins и отдельным MCP серверам, каждый из которых показан в процентах от общего объёма. Нажмите `d` или `w` для переключения между последними 24 часами и последними 7 днями. Цифры являются приблизительными и вычисляются из локальной истории сессии на этом устройстве, поэтому использование с других устройств или claude.ai не включено.36На плане Pro, Max, Team или Enterprise команда `/usage` также показывает разбивку того, что учитывается в пределах вашего плана. Она относит недавнее использование к skills, subagents, plugins и отдельным MCP серверам, каждый из которых показан в процентах от общего объёма. Нажмите `d` или `w` для переключения между последними 24 часами и последними 7 днями. Цифры являются приблизительными и вычисляются из локальной истории сессии на этом устройстве, поэтому использование с других устройств или claude.ai не включено.

37 37 

38В [расширении VS Code](/ru/vs-code#check-account-and-usage) та же разбивка появляется в диалоговом окне Account & usage с переключателем Day и Week. Требуется Claude Code v2.1.174 или более поздняя версия.

39 

38<h2 id="managing-costs-for-teams">40<h2 id="managing-costs-for-teams">

39 Управление затратами для команд41 Управление затратами для команд

40</h2>42</h2>


85* Используйте Sonnet для товарищей по команде. Он обеспечивает баланс между возможностями и стоимостью для задач координации.87* Используйте Sonnet для товарищей по команде. Он обеспечивает баланс между возможностями и стоимостью для задач координации.

86* Держите команды небольшими. Каждый товарищ по команде запускает своё собственное контекстное окно, поэтому использование токенов примерно пропорционально размеру команды.88* Держите команды небольшими. Каждый товарищ по команде запускает своё собственное контекстное окно, поэтому использование токенов примерно пропорционально размеру команды.

87* Держите spawn prompts сфокусированными. Товарищи по команде автоматически загружают CLAUDE.md, MCP servers и skills, но всё в spawn prompt добавляется к их контексту с самого начала.89* Держите spawn prompts сфокусированными. Товарищи по команде автоматически загружают CLAUDE.md, MCP servers и skills, но всё в spawn prompt добавляется к их контексту с самого начала.

88* Очищайте команды после завершения работы. Активные товарищи по команде продолжают потреблять токены даже если они неактивны.90* Очищайте команды после завершения работы. Активные товарищи по команде продолжают потреблять токены до тех пор, пока они не выйдут или сеанс не завершится.

89* Команды агентов отключены по умолчанию. Установите `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` в вашем [settings.json](/ru/settings) или переменной окружения, чтобы включить их. См. [включение команд агентов](/ru/agent-teams#enable-agent-teams).91* Команды агентов отключены по умолчанию. Установите `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` в вашем [settings.json](/ru/settings) или переменной окружения, чтобы включить их. См. [включение команд агентов](/ru/agent-teams#enable-agent-teams).

90 92 

91<h2 id="reduce-token-usage">93<h2 id="reduce-token-usage">


196 Отрегулируйте расширенное мышление198 Отрегулируйте расширенное мышление

197</h3>199</h3>

198 200 

199Расширенное мышление включено по умолчанию, потому что оно значительно улучшает производительность на сложных задачах планирования и рассуждения. Токены мышления выставляются как выходные токены, и бюджет по умолчанию может быть десятки тысяч токенов на запрос в зависимости от модели. Для более простых задач, где глубокое рассуждение не требуется, вы можете снизить затраты, понизив [уровень усилий](/ru/model-config#adjust-effort-level) с помощью `/effort` или в `/model`, отключив мышление в `/config` или понизив бюджет с помощью `MAX_THINKING_TOKENS=8000`.201Расширенное мышление включено по умолчанию, потому что оно значительно улучшает производительность на сложных задачах планирования и рассуждения. Токены мышления выставляются как выходные токены, и бюджет по умолчанию может быть десятки тысяч токенов на запрос в зависимости от модели. Для более простых задач, где глубокое рассуждение не требуется, вы можете снизить затраты, понизив [уровень усилий](/ru/model-config#adjust-effort-level) с помощью `/effort` или в `/model`, отключив мышление в `/config`, или, на моделях с [фиксированным бюджетом мышления](/ru/model-config#adaptive-reasoning-and-fixed-thinking-budgets), понизив бюджет с помощью `MAX_THINKING_TOKENS=8000`. Модели адаптивного рассуждения игнорируют ненулевые бюджеты, поэтому используйте вместо этого уровни усилий. Отключение мышления недоступно на Fable 5, которая всегда использует расширенное мышление.

200 202 

201<h3 id="delegate-verbose-operations-to-subagents">203<h3 id="delegate-verbose-operations-to-subagents">

202 Делегируйте многословные операции subagents204 Делегируйте многословные операции subagents

data-usage.md +3 −3

Details

62**Коммерческие пользователи (Team, Enterprise и API)**:62**Коммерческие пользователи (Team, Enterprise и API)**:

63 63 

64* Стандартный: период хранения 30 дней64* Стандартный: период хранения 30 дней

65* [Zero data retention](/ru/zero-data-retention): доступно для Claude Code на Claude for Enterprise. ZDR включается на основе организации; каждая новая организация должна иметь ZDR, отдельно включённый вашей командой учёта65* [Zero data retention](/ru/zero-data-retention): доступно для Claude Code на Claude for Enterprise. ZDR не включается в стандартный план Enterprise; он включается на основе организации вашей командой учёта после подтверждения соответствия требованиям

66* Локальное кэширование: клиенты Claude Code хранят стенограммы сеансов локально в открытом виде под `~/.claude/projects/` в течение 30 дней по умолчанию для включения возобновления сеанса. Отрегулируйте период с помощью `cleanupPeriodDays`. См. [application data](/ru/claude-directory#application-data) для информации о том, что хранится и как это очистить.66* Локальное кэширование: клиенты Claude Code хранят стенограммы сеансов локально в открытом виде под `~/.claude/projects/` в течение 30 дней по умолчанию для включения возобновления сеанса. Отрегулируйте период с помощью `cleanupPeriodDays`. См. [application data](/ru/claude-directory#application-data) для информации о том, что хранится и как это очистить.

67 67 

68Вы можете удалить отдельные сеансы Claude Code в Интернете в любое время. Удаление сеанса навсегда удаляет данные событий сеанса. Инструкции по удалению сеансов см. в разделе [Delete sessions](/ru/claude-code-on-the-web#delete-sessions).68Вы можете удалить отдельные сеансы Claude Code в Интернете в любое время. Удаление сеанса навсегда удаляет данные событий сеанса. Инструкции по удалению сеансов см. в разделе [Delete sessions](/ru/claude-code-on-the-web#delete-sessions).


83 83 

84На диаграмме ниже показано, как Claude Code подключается к внешним сервисам во время установки и нормальной работы. Сплошные линии указывают на обязательные соединения, а пунктирные линии представляют дополнительные или инициированные пользователем потоки данных.84На диаграмме ниже показано, как Claude Code подключается к внешним сервисам во время установки и нормальной работы. Сплошные линии указывают на обязательные соединения, а пунктирные линии представляют дополнительные или инициированные пользователем потоки данных.

85 85 

86<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/claude-code-data-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=5b1131530bdfdd415700a0cb4d4070c4" alt="Диаграмма, показывающая внешние соединения Claude Code: установка/обновление подключается к серверу распределения, а запросы пользователя подключаются к сервисам Anthropic, включая Console auth, public-api, и опционально metrics, Sentry и отчёты об ошибках" width="720" height="520" data-path="images/claude-code-data-flow.svg" />86<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/claude-code-data-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=5b1131530bdfdd415700a0cb4d4070c4" alt="Диаграмма, показывающая внешние соединения Claude Code: установка/обновление подключается к серверу распределения, а запросы пользователя подключаются к сервисам Anthropic, включая Console auth, public-api, и опционально metrics и Sentry. Отзывы, отправленные с помощью /feedback, идут в Google Cloud Storage и опционально создают проблему GitHub" width="720" height="520" data-path="images/claude-code-data-flow.svg" />

87 87 

88Claude Code работает локально. Для взаимодействия с LLM Claude Code отправляет данные по сети. Эти данные включают все подсказки пользователя и выходные данные модели, зашифрованные при передаче через TLS 1.2+. Claude Code совместим с большинством популярных VPN и прокси LLM.88Claude Code работает локально. Для взаимодействия с LLM Claude Code отправляет данные по сети. Эти данные включают все подсказки пользователя и выходные данные модели, зашифрованные при передаче через TLS 1.2+. Claude Code совместим с большинством популярных VPN и прокси LLM.

89 89 


119 119 

120Claude Code подключается с машин пользователей к Sentry для логирования операционных ошибок. Данные зашифрованы при передаче с использованием TLS и в покое с использованием 256-битного шифрования AES. Подробнее см. в [документации по безопасности Sentry](https://sentry.io/security/). Чтобы отказаться от логирования ошибок, установите переменную окружения `DISABLE_ERROR_REPORTING`.120Claude Code подключается с машин пользователей к Sentry для логирования операционных ошибок. Данные зашифрованы при передаче с использованием TLS и в покое с использованием 256-битного шифрования AES. Подробнее см. в [документации по безопасности Sentry](https://sentry.io/security/). Чтобы отказаться от логирования ошибок, установите переменную окружения `DISABLE_ERROR_REPORTING`.

121 121 

122Когда вы выполняете команду `/feedback`, копия вашей истории разговора, включая код, отправляется в Anthropic. Перед отправкой вы выбираете, сколько истории включить: только текущую сессию, что является значением по умолчанию, или также другие сессии из того же проекта за последние 24 часа или 7 дней. Данные зашифрованы при передаче через TLS. Опционально создаётся проблема GitHub в публичном репозитории. Чтобы отказаться, установите переменную окружения `DISABLE_FEEDBACK_COMMAND` на `1`.122Когда вы выполняете команду `/feedback`, копия вашей истории разговора, включая код, отправляется в Anthropic. Перед отправкой вы выбираете, сколько истории включить: только текущую сессию, что является значением по умолчанию, или также другие сессии из того же проекта за последние 24 часа или 7 дней. Данные зашифрованы при передаче через TLS и хранятся в Google Cloud Storage, которая по умолчанию шифрует хранящиеся данные в покое. Опционально создаётся проблема GitHub в публичном репозитории. Чтобы отказаться, установите переменную окружения `DISABLE_FEEDBACK_COMMAND` на `1`.

123 123 

124Когда вы используете поставщика третьей стороны, такого как Bedrock или Vertex, или у вас не настроены учётные данные Anthropic, `/feedback` записывает отчёт в локальный архив в `~/.claude/feedback-bundles/` вместо отправки в Anthropic. Известные паттерны ключей API и токенов удаляются перед записью архива. Ничего не покидает вашу машину, пока вы не отправите этот файл своему представителю учётной записи Anthropic или не прикрепите его к запросу поддержки.124Когда вы используете поставщика третьей стороны, такого как Bedrock или Vertex, или у вас не настроены учётные данные Anthropic, `/feedback` записывает отчёт в локальный архив в `~/.claude/feedback-bundles/` вместо отправки в Anthropic. Известные паттерны ключей API и токенов удаляются перед записью архива. Ничего не покидает вашу машину, пока вы не отправите этот файл своему представителю учётной записи Anthropic или не прикрепите его к запросу поддержки.

125 125 

Details

78 Протестируйте с чистой конфигурацией78 Протестируйте с чистой конфигурацией

79</h2>79</h2>

80 80 

81Если целевые проверки не изолируют причину или ваша конфигурация находится в неизвестном состоянии, сравните с сессией, которая ничего не загружает из вашей обычной установки. Укажите [`CLAUDE_CONFIG_DIR`](/ru/env-vars) на пустой каталог, чтобы обойти всё под `~/.claude`, и запустите из каталога, который не имеет папки `.claude`, `.mcp.json` или `CLAUDE.md`, чтобы конфигурация проекта также была пропущена.81{/* min-version: 2.1.169 */}Начните с [`claude --safe-mode`](/ru/cli-reference#cli-flags), который запускает сессию со всеми отключёнными настройками, включая `CLAUDE.md`, skills, plugins, hooks, MCP серверы и пользовательские команды и агенты. Аутентификация, выбор модели, встроенные инструменты и разрешения работают нормально. Если проблема исчезает в безопасном режиме, одна из этих поверхностей является причиной; используйте целевые проверки выше, чтобы найти, какая именно. Управляемые параметры, развёрнутые вашей организацией, всё ещё частично применяются, поэтому настроенные политикой hooks и строка состояния работают даже в безопасном режиме.

82 

83Если проблема сохраняется в безопасном режиме или ваши параметры сами по себе вызывают подозрения, сравните с сессией, которая ничего не загружает из вашей обычной установки. Укажите [`CLAUDE_CONFIG_DIR`](/ru/env-vars) на пустой каталог, чтобы обойти всё под `~/.claude`, и запустите из каталога, который не имеет папки `.claude`, файла `.mcp.json` или `CLAUDE.md`, чтобы конфигурация проекта также была пропущена.

82 84 

83```bash theme={null}85```bash theme={null}

84cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude86cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude

85```87```

86 88 

87Чистая сессия не имеет пользовательских или проектных параметров, hooks, MCP серверов, плагинов или памяти.89Чистая сессия не имеет пользовательских или проектных параметров, hooks, MCP серверов, plugins или памяти.

88 90 

89* Управляемые параметры всё ещё применяются, если ваша организация их развёртывает, так как они находятся в системном пути вне `~/.claude`91* Управляемые параметры всё ещё применяются, если ваша организация их развёртывает, так как они находятся в системном пути вне `~/.claude`

90* На Linux и Windows вам будет предложено войти снова, потому что учётные данные хранятся в каталоге конфигурации92* На Linux и Windows вам будет предложено войти снова, потому что учётные данные хранятся в каталоге конфигурации

desktop.md +23 −21

Details

41Перед отправкой первого сообщения настройте четыре параметра в области подсказки:41Перед отправкой первого сообщения настройте четыре параметра в области подсказки:

42 42 

43* **Environment**: выберите, где запускается Claude. Выберите **Local** для вашей машины, **Remote** для облачных сеансов, размещённых Anthropic, или [**SSH-соединение**](#ssh-sessions) для удалённой машины, которой вы управляете. См. [конфигурация окружения](#environment-configuration).43* **Environment**: выберите, где запускается Claude. Выберите **Local** для вашей машины, **Remote** для облачных сеансов, размещённых Anthropic, или [**SSH-соединение**](#ssh-sessions) для удалённой машины, которой вы управляете. См. [конфигурация окружения](#environment-configuration).

44* **Project folder**: выберите папку или репозиторий, с которым работает Claude. Для удалённых сеансов вы можете добавить [несколько репозиториев](#run-long-running-tasks-remotely).44* **Project folder**: выберите папку или репозиторий, с которым работает Claude. Для облачных сеансов вы можете добавить [несколько репозиториев](#run-long-running-tasks-remotely).

45* **Model**: выберите [модель](/ru/model-config#available-models) из раскрывающегося списка рядом с кнопкой отправки. Вы можете изменить это во время сеанса.45* **Model**: выберите [модель](/ru/model-config#available-models) из раскрывающегося списка рядом с кнопкой отправки. Вы можете изменить это во время сеанса.

46* **Permission mode**: выберите, сколько автономности имеет Claude, из [селектора режима](#choose-a-permission-mode). Вы можете изменить это во время сеанса.46* **Permission mode**: выберите, сколько автономности имеет Claude, из [селектора режима](#choose-a-permission-mode). Вы можете изменить это во время сеанса.

47 47 


67 67 

68Поле подсказки поддерживает два способа привнесения внешнего контекста:68Поле подсказки поддерживает два способа привнесения внешнего контекста:

69 69 

70* **@mention файлы**: введите `@` с последующим именем файла, чтобы добавить файл в контекст разговора. Claude может затем читать и ссылаться на этот файл. @mention недоступен в удалённых сеансах.70* **@mention файлы**: введите `@` с последующим именем файла, чтобы добавить файл в контекст разговора. Claude может затем читать и ссылаться на этот файл. @mention недоступен в облачных сеансах.

71* **Вложение файлов**: прикрепляйте изображения, PDF-файлы и другие файлы к вашей подсказке, используя кнопку вложения, или перетаскивайте файлы прямо в подсказку. Это полезно для обмена скриншотами ошибок, макетами дизайна или справочными документами.71* **Вложение файлов**: прикрепляйте изображения, PDF-файлы и другие файлы к вашей подсказке, используя кнопку вложения, или перетаскивайте файлы прямо в подсказку. Это полезно для обмена скриншотами ошибок, макетами дизайна или справочными документами.

72 72 

73<h3 id="choose-a-permission-mode">73<h3 id="choose-a-permission-mode">


77Режимы разрешений контролируют, сколько автономности имеет Claude во время сеанса: спрашивает ли он перед редактированием файлов, запуском команд или обоих. Вы можете переключать режимы в любое время, используя селектор режима рядом с кнопкой отправки. Начните с Ask permissions, чтобы увидеть ровно то, что делает Claude, затем переходите к Auto accept edits или Plan mode по мере того, как вы становитесь более уверены.77Режимы разрешений контролируют, сколько автономности имеет Claude во время сеанса: спрашивает ли он перед редактированием файлов, запуском команд или обоих. Вы можете переключать режимы в любое время, используя селектор режима рядом с кнопкой отправки. Начните с Ask permissions, чтобы увидеть ровно то, что делает Claude, затем переходите к Auto accept edits или Plan mode по мере того, как вы становитесь более уверены.

78 78 

79| Режим | Ключ параметров | Поведение |79| Режим | Ключ параметров | Поведение |

80| ---------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |80| ---------------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

81| **Ask permissions** | `default` | Claude спрашивает перед редактированием файлов или запуском команд. Вы видите различия и можете принять или отклонить каждое изменение. Рекомендуется для новых пользователей. |81| **Ask permissions** | `default` | Claude спрашивает перед редактированием файлов или запуском команд. Вы видите различия и можете принять или отклонить каждое изменение. Рекомендуется для новых пользователей. |

82| **Auto accept edits** | `acceptEdits` | Claude автоматически принимает редактирование файлов и общие команды файловой системы, такие как `mkdir`, `touch` и `mv`, но всё ещё спрашивает перед запуском других команд терминала. Используйте это, когда вы доверяете изменениям файлов и хотите более быструю итерацию. |82| **Auto accept edits** | `acceptEdits` | Claude автоматически принимает редактирование файлов и общие команды файловой системы, такие как `mkdir`, `touch` и `mv`, но всё ещё спрашивает перед запуском других команд терминала. Используйте это, когда вы доверяете изменениям файлов и хотите более быструю итерацию. |

83| **Plan mode** | `plan` | Claude читает файлы и запускает команды для исследования, затем предлагает план без редактирования вашего исходного кода. Хорошо для сложных задач, где вы хотите сначала проверить подход. |83| **Plan mode** | `plan` | Claude читает файлы и запускает команды для исследования, затем предлагает план без редактирования вашего исходного кода. Хорошо для сложных задач, где вы хотите сначала проверить подход. |

84| **Auto** | `auto` | Claude выполняет все действия с фоновыми проверками безопасности, которые проверяют соответствие вашему запросу. Снижает подсказки разрешений при сохранении надзора. Включите в Settings → Claude Code. См. [требования доступности](#auto-mode-availability) ниже. |84| **Auto** | `auto` | Claude выполняет все действия с фоновыми проверками безопасности, которые проверяют соответствие вашему запросу. Снижает подсказки разрешений при сохранении надзора. Включите в Settings → Claude Code. См. [требования доступности](#auto-mode-availability) ниже. |

85| **Bypass permissions** | `bypassPermissions` | Claude работает без каких-либо подсказок разрешений, эквивалентно `--dangerously-skip-permissions` в CLI. Включите в Settings → Claude Code под "Allow bypass permissions mode". Используйте только в изолированных контейнерах или виртуальных машинах. Администраторы предприятия могут отключить эту опцию. |85| **Bypass permissions** | `bypassPermissions` | Claude работает без каких-либо подсказок разрешений, кроме тех, которые вынуждены явными [правилами запроса](/ru/permissions#manage-permissions); эквивалентно `--dangerously-skip-permissions` в CLI. Включите в Settings → Claude Code под "Allow bypass permissions mode". Используйте только в изолированных контейнерах или виртуальных машинах. Администраторы предприятия могут отключить эту опцию. |

86 86 

87Режим разрешений `dontAsk` доступен только в [CLI](/ru/permission-modes#allow-only-pre-approved-tools-with-dontask-mode).87Режим разрешений `dontAsk` доступен только в [CLI](/ru/permission-modes#allow-only-pre-approved-tools-with-dontask-mode).

88 88 


94 Начните сложные задачи в Plan mode, чтобы Claude наметил подход перед внесением изменений. После одобрения плана переключитесь на Auto accept edits или Ask permissions для его выполнения. См. [explore first, then plan, then code](/ru/best-practices#explore-first-then-plan-then-code) для получения дополнительной информации об этом рабочем процессе.94 Начните сложные задачи в Plan mode, чтобы Claude наметил подход перед внесением изменений. После одобрения плана переключитесь на Auto accept edits или Ask permissions для его выполнения. См. [explore first, then plan, then code](/ru/best-practices#explore-first-then-plan-then-code) для получения дополнительной информации об этом рабочем процессе.

95</Tip>95</Tip>

96 96 

97Удалённые сеансы поддерживают Auto accept edits и Plan mode. Ask permissions недоступен, потому что удалённые сеансы автоматически принимают редактирование файлов по умолчанию, и Bypass permissions недоступен, потому что удалённое окружение уже изолировано.97Облачные сеансы поддерживают Accept edits, Plan mode и Auto mode. Accept edits соответствует режиму `default`: облачные сеансы предварительно одобряют редактирование файлов, поэтому селектор показывает Accept edits вместо Ask permissions. Bypass permissions недоступен, потому что облачное окружение уже изолировано.

98 98 

99Администраторы предприятия могут ограничить, какие режимы разрешений доступны. См. [конфигурация предприятия](#enterprise-configuration) для получения подробной информации.99Администраторы предприятия могут ограничить, какие режимы разрешений доступны. См. [конфигурация предприятия](#enterprise-configuration) для получения подробной информации.

100 100 


403 Подключение внешних инструментов403 Подключение внешних инструментов

404</h3>404</h3>

405 405 

406Для локальных и [SSH](#ssh-sessions) сеансов нажмите кнопку **+** рядом с полем подсказки и выберите **Connectors**, чтобы добавить интеграции, такие как Google Calendar, Slack, GitHub, Linear, Notion и другие. Вы можете добавлять коннекторы до или во время сеанса. Кнопка **+** недоступна в удалённых сеансах, но [routines](/ru/routines) конфигурируют коннекторы во время создания routine.406Для локальных и [SSH](#ssh-sessions) сеансов нажмите кнопку **+** рядом с полем подсказки и выберите **Connectors**, чтобы добавить интеграции, такие как Google Calendar, Slack, GitHub, Linear, Notion и другие. Вы можете добавлять коннекторы до или во время сеанса. Кнопка **+** недоступна в облачных сеансах, но [routines](/ru/routines) конфигурируют коннекторы во время создания routine.

407 407 

408Чтобы управлять или отключать коннекторы, перейдите в Settings → Connectors в приложении desktop, или выберите **Manage connectors** из меню Connectors в поле подсказки.408Чтобы управлять или отключать коннекторы, перейдите в Settings → Connectors в приложении desktop, или выберите **Manage connectors** из меню Connectors в поле подсказки.

409 409 


425 425 

426Для локальных и [SSH](#ssh-sessions) сеансов нажмите кнопку **+** рядом с полем подсказки и выберите **Plugins**, чтобы увидеть ваши установленные плагины и их skills. Чтобы добавить плагин, выберите **Add plugin** из подменю, чтобы открыть браузер плагинов, который показывает доступные плагины из ваших настроенных [marketplaces](/ru/plugin-marketplaces), включая официальный marketplace Anthropic. Выберите **Manage plugins**, чтобы включить, отключить или удалить плагины.426Для локальных и [SSH](#ssh-sessions) сеансов нажмите кнопку **+** рядом с полем подсказки и выберите **Plugins**, чтобы увидеть ваши установленные плагины и их skills. Чтобы добавить плагин, выберите **Add plugin** из подменю, чтобы открыть браузер плагинов, который показывает доступные плагины из ваших настроенных [marketplaces](/ru/plugin-marketplaces), включая официальный marketplace Anthropic. Выберите **Manage plugins**, чтобы включить, отключить или удалить плагины.

427 427 

428Плагины могут быть ограничены вашей учётной записью пользователя, конкретным проектом или только локально. Если ваша организация управляет плагинами централизованно, эти плагины доступны в сеансах desktop так же, как они есть в CLI. Плагины недоступны для удалённых сеансов. Для полного справочника плагинов, включая создание собственных плагинов, см. [plugins](/ru/plugins).428Плагины могут быть ограничены вашей учётной записью пользователя, конкретным проектом или только локально. Если ваша организация управляет плагинами централизованно, эти плагины доступны в сеансах desktop так же, как они есть в CLI. Плагины недоступны для облачных сеансов. Для полного справочника плагинов, включая создание собственных плагинов, см. [plugins](/ru/plugins).

429 429 

430<h3 id="configure-preview-servers">430<h3 id="configure-preview-servers">

431 Конфигурация серверов предпросмотра431 Конфигурация серверов предпросмотра


487| `program` | string | Скрипт для запуска с `node`. См. [когда использовать `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |487| `program` | string | Скрипт для запуска с `node`. См. [когда использовать `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |

488| `args` | string\[] | Аргументы, передаваемые `program`. Используется только когда установлен `program` |488| `args` | string\[] | Аргументы, передаваемые `program`. Используется только когда установлен `program` |

489 489 

490<a id="when-to-use-program-vs-runtimeexecutable" />

491 

490<h5 id="when-to-use-program-vs-runtimeexecutable">492<h5 id="when-to-use-program-vs-runtimeexecutable">

491 Когда использовать `program` vs `runtimeExecutable`493 Когда использовать `program` vs `runtimeExecutable`

492</h5>494</h5>


598 600 

599Чтобы установить переменные окружения для локальных сеансов и dev-серверов на любой платформе, откройте раскрывающийся список окружения в поле подсказки, наведите курсор на **Local** и нажмите значок шестерёнки, чтобы открыть локальный редактор окружения. Переменные, которые вы сохраняете здесь, хранятся в зашифрованном виде на вашей машине и применяются к каждому локальному сеансу и серверу предпросмотра, который вы запускаете. Вы также можете добавить переменные к ключу `env` в вашем файле `~/.claude/settings.json`, хотя они достигают только сеансов Claude, а не dev-серверов. См. [переменные окружения](/ru/env-vars) для полного списка поддерживаемых переменных.601Чтобы установить переменные окружения для локальных сеансов и dev-серверов на любой платформе, откройте раскрывающийся список окружения в поле подсказки, наведите курсор на **Local** и нажмите значок шестерёнки, чтобы открыть локальный редактор окружения. Переменные, которые вы сохраняете здесь, хранятся в зашифрованном виде на вашей машине и применяются к каждому локальному сеансу и серверу предпросмотра, который вы запускаете. Вы также можете добавить переменные к ключу `env` в вашем файле `~/.claude/settings.json`, хотя они достигают только сеансов Claude, а не dev-серверов. См. [переменные окружения](/ru/env-vars) для полного списка поддерживаемых переменных.

600 602 

601[Extended thinking](/ru/model-config#extended-thinking) включен по умолчанию, что улучшает производительность на сложных задачах рассуждения, но использует дополнительные токены. Чтобы полностью отключить thinking, установите `MAX_THINKING_TOKENS` на `0` в локальном редакторе окружения. На моделях с [адаптивным рассуждением](/ru/model-config#adjust-effort-level) любое другое значение `MAX_THINKING_TOKENS` игнорируется, потому что адаптивное рассуждение контролирует глубину thinking вместо этого. На Opus 4.6 и Sonnet 4.6 установите `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` на `1`, чтобы использовать фиксированный бюджет thinking; Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение и не имеют режима фиксированного бюджета.603[Extended thinking](/ru/model-config#extended-thinking) включен по умолчанию, что улучшает производительность на сложных задачах рассуждения, но использует дополнительные токены. Чтобы отключить thinking, установите `MAX_THINKING_TOKENS` на `0` в локальном редакторе окружения; это не влияет на Fable 5, который всегда использует extended thinking. На [сторонних поставщиках](/ru/third-party-integrations) `0` опускает параметр `thinking` вместо этого, и модели адаптивного рассуждения могут всё ещё думать. На моделях с [адаптивным рассуждением](/ru/model-config#adjust-effort-level) любое другое значение `MAX_THINKING_TOKENS` игнорируется, потому что адаптивное рассуждение контролирует глубину thinking вместо этого. На Opus 4.6 и Sonnet 4.6 установите `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` на `1`, чтобы использовать фиксированный бюджет thinking; Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение и не имеют режима фиксированного бюджета.

602 604 

603<h3 id="remote-sessions">605<h3 id="cloud-sessions">

604 Удалённые сеансы606 Удалённые сеансы

605</h3>607</h3>

606 608 

607Удалённые сеансы продолжают работу в фоне даже если вы закроете приложение. Использование считается в пределах [лимитов вашего плана подписки](/ru/costs) без отдельных расходов на вычисления.609Удалённые сеансы продолжают работу в фоне даже если вы закроете приложение. Использование считается в пределах [лимитов вашего плана подписки](/ru/costs) без отдельных расходов на вычисления.

608 610 

609Вы можете создавать пользовательские облачные окружения с разными уровнями доступа к сети и переменными окружения. Выберите раскрывающийся список окружения при запуске удалённого сеанса и выберите **Add environment**. См. [облачное окружение](/ru/claude-code-on-the-web#the-cloud-environment) для получения подробной информации о конфигурации доступа к сети и переменных окружения.611Вы можете создавать пользовательские облачные окружения с разными уровнями доступа к сети и переменными окружения. Выберите раскрывающийся список окружения при запуске облачного сеанса и выберите **Add environment**. См. [облачное окружение](/ru/claude-code-on-the-web#the-cloud-environment) для получения подробной информации о конфигурации доступа к сети и переменных окружения.

610 612 

611<h3 id="ssh-sessions">613<h3 id="ssh-sessions">

612 SSH-сеансы614 SSH-сеансы


710 712 

711IT-команды могут управлять приложением desktop через MDM на macOS или групповую политику на Windows. Доступные политики включают включение или отключение функции Claude Code, контроль автоматических обновлений и установку пользовательского URL развёртывания.713IT-команды могут управлять приложением desktop через MDM на macOS или групповую политику на Windows. Доступные политики включают включение или отключение функции Claude Code, контроль автоматических обновлений и установку пользовательского URL развёртывания.

712 714 

713* **macOS**: настройте через домен предпочтений `com.anthropic.Claude`, используя инструменты, такие как Jamf или Kandji715* **macOS**: настройте через домен предпочтений `com.anthropic.claudefordesktop`, используя инструменты, такие как Jamf или Kandji

714* **Windows**: настройте через реестр в `SOFTWARE\Policies\Claude`716* **Windows**: настройте через реестр в `SOFTWARE\Policies\Claude`

715 717 

716<h3 id="authentication-and-sso">718<h3 id="authentication-and-sso">


779* **[MCP servers](/ru/mcp)** настроенные в `~/.claude.json` или `.mcp.json` работают в обоих781* **[MCP servers](/ru/mcp)** настроенные в `~/.claude.json` или `.mcp.json` работают в обоих

780* **[Hooks](/ru/hooks)** и **[skills](/ru/skills)** определённые в параметрах применяются к обоим782* **[Hooks](/ru/hooks)** и **[skills](/ru/skills)** определённые в параметрах применяются к обоим

781* **[Settings](/ru/settings)** в `~/.claude.json` и `~/.claude/settings.json` общие. Правила разрешений, разрешённые инструменты и другие параметры в `settings.json` применяются к сеансам Desktop.783* **[Settings](/ru/settings)** в `~/.claude.json` и `~/.claude/settings.json` общие. Правила разрешений, разрешённые инструменты и другие параметры в `settings.json` применяются к сеансам Desktop.

782* **Models**: Sonnet, Opus и Haiku доступны в обоих. В Desktop выберите модель из раскрывающегося списка рядом с кнопкой отправки. Вы можете изменить модель во время сеанса из того же раскрывающегося списка.784* **Models**: те же [модели](/ru/model-config#available-models) доступны в обоих. В Desktop выберите модель из раскрывающегося списка рядом с кнопкой отправки. Вы можете изменить модель во время сеанса из того же раскрывающегося списка.

783 785 

784<Note>786<Note>

785 **MCP servers из приложения Claude Desktop chat**: приложение Desktop загружает MCP servers из `claude_desktop_config.json` в сеансы вкладки Code, наряду с серверами из `~/.claude.json` и `.mcp.json`. Сервер, определённый в `claude_desktop_config.json`, доступен как в поверхности Desktop chat, так и в вкладке Code.787 **MCP servers из приложения Claude Desktop chat**: приложение Desktop загружает MCP servers из `claude_desktop_config.json` в сеансы вкладки Code, наряду с серверами из `~/.claude.json` и `.mcp.json`. Сервер, определённый в `claude_desktop_config.json`, доступен как в поверхности Desktop chat, так и в вкладке Code.


794Эта таблица сравнивает основные возможности между CLI и Desktop. Для полного списка флагов CLI см. [справочник CLI](/ru/cli-reference).796Эта таблица сравнивает основные возможности между CLI и Desktop. Для полного списка флагов CLI см. [справочник CLI](/ru/cli-reference).

795 797 

796| Функция | CLI | Desktop |798| Функция | CLI | Desktop |

797| ---------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |799| ---------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

798| Режимы разрешений | Все режимы, включая `dontAsk` | Ask permissions, Auto accept edits, Plan mode, Auto и Bypass permissions через Settings |800| Режимы разрешений | Все режимы, включая `dontAsk` | Ask permissions, Auto accept edits, Plan mode, Auto и Bypass permissions через Settings |

799| `--dangerously-skip-permissions` | Флаг CLI | Режим Bypass permissions. Включите в Settings → Claude Code → "Allow bypass permissions mode" |801| `--dangerously-skip-permissions` | Флаг CLI | Режим Bypass permissions. Включите в Settings → Claude Code → "Allow bypass permissions mode" |

800| [Сторонние провайдеры](/ru/third-party-integrations) | Bedrock, Vertex, Foundry | Anthropic's API по умолчанию. Развёртывания предприятия могут конфигурировать Vertex AI и провайдеров шлюза. См. [руководство конфигурации предприятия](https://support.claude.com/en/articles/12622667-enterprise-configuration). |802| [Сторонние провайдеры](/ru/third-party-integrations) | Bedrock, Vertex AI, Foundry | Anthropic's API по умолчанию. Развёртывания предприятия могут конфигурировать Vertex AI и провайдеров шлюза. См. [руководство конфигурации предприятия](https://support.claude.com/en/articles/12622667-enterprise-configuration). Чтобы запустить вкладку Code на Bedrock, Vertex AI, Foundry или самостоятельно размещённом шлюзе LLM, см. [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview). |

801| [MCP servers](/ru/mcp) | Настройте в файлах параметров | UI Connectors для локальных и SSH-сеансов, или файлы параметров |803| [MCP servers](/ru/mcp) | Настройте в файлах параметров | UI Connectors для локальных и SSH-сеансов, или файлы параметров |

802| [Plugins](/ru/plugins) | Команда `/plugin` | UI менеджера плагинов |804| [Plugins](/ru/plugins) | Команда `/plugin` | UI менеджера плагинов |

803| @mention файлы | Текстовые | С автодополнением; локальные и SSH-сеансы только |805| @mention файлы | Текстовые | С автодополнением; локальные и SSH-сеансы только |


809| Dispatch интеграция | Недоступно | [Сеансы Dispatch](#sessions-from-dispatch) в боковой панели |811| Dispatch интеграция | Недоступно | [Сеансы Dispatch](#sessions-from-dispatch) в боковой панели |

810| Скрипты и автоматизация | [`--print`](/ru/cli-reference), [Agent SDK](/ru/headless) | Недоступно |812| Скрипты и автоматизация | [`--print`](/ru/cli-reference), [Agent SDK](/ru/headless) | Недоступно |

811 813 

812<h3 id="what-s-not-available-in-desktop">814<h3 id="whats-not-available-in-desktop">

813 Что недоступно в Desktop815 Что недоступно в Desktop

814</h3>816</h3>

815 817 

816Следующие функции доступны только в CLI или расширении VS Code:818Следующие функции доступны только в CLI или расширении VS Code, кроме случаев, указанных ниже:

817 819 

818* **Сторонние провайдеры**: Desktop подключается к API Anthropic по умолчанию. Развёртывания предприятия могут конфигурировать Vertex AI и провайдеров шлюза через [управляемые параметры](https://support.claude.com/en/articles/12622667-enterprise-configuration). Для Bedrock или Foundry используйте [CLI](/ru/quickstart).820* **Сторонние провайдеры**: Desktop подключается к API Anthropic по умолчанию. Развёртывания предприятия могут конфигурировать Vertex AI и провайдеров шлюза через [управляемые параметры](https://support.claude.com/en/articles/12622667-enterprise-configuration). Для Bedrock или Foundry в CLI см. [quickstart](/ru/quickstart). В качестве исключения из раздела выше, [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview) запускает вкладку Code на Bedrock, Vertex AI, Foundry или самостоятельно размещённом шлюзе LLM.

819* **Linux**: приложение desktop доступно только на macOS и Windows. На Linux используйте [CLI](/ru/quickstart).821* **Linux**: приложение desktop доступно только на macOS и Windows. На Linux используйте [CLI](/ru/quickstart).

820* **Встроенные предложения кода**: Desktop не предоставляет предложения в стиле автодополнения. Это работает через разговорные подсказки и явные изменения кода.822* **Встроенные предложения кода**: Desktop не предоставляет предложения в стиле автодополнения. Это работает через разговорные подсказки и явные изменения кода.

821* **Команды агентов**: параллельные сеансы Claude Code, которые обмениваются сообщениями друг с другом, доступны в [CLI](/ru/agent-teams), а не в Desktop. Для многоагентной работы внутри одного сеанса используйте [динамические рабочие процессы](/ru/workflows), которые работают в Desktop.823* **Команды агентов**: параллельные сеансы Claude Code, которые обмениваются сообщениями друг с другом, доступны в [CLI](/ru/agent-teams), а не в Desktop. Для многоагентной работы внутри одного сеанса используйте [динамические рабочие процессы](/ru/workflows), которые работают в Desktop.


885 887 

886Если переключатели MCP server не реагируют или серверы не подключаются на Windows, проверьте, что сервер правильно настроен в ваших параметрах, перезагрузите приложение, проверьте, что процесс сервера работает в Task Manager, и проверьте логи сервера на ошибки подключения.888Если переключатели MCP server не реагируют или серверы не подключаются на Windows, проверьте, что сервер правильно настроен в ваших параметрах, перезагрузите приложение, проверьте, что процесс сервера работает в Task Manager, и проверьте логи сервера на ошибки подключения.

887 889 

888<h3 id="app-won-t-quit">890<h3 id="app-wont-quit">

889 Приложение не закрывается891 Приложение не закрывается

890</h3>892</h3>

891 893 


899* **PATH не обновлён после установки**: откройте новое окно терминала. Обновления PATH применяются только к новым сеансам терминала.901* **PATH не обновлён после установки**: откройте новое окно терминала. Обновления PATH применяются только к новым сеансам терминала.

900* **Ошибка одновременной установки**: если вы видите ошибку о другой установке в процессе, но её нет, попробуйте запустить установщик от имени администратора.902* **Ошибка одновременной установки**: если вы видите ошибку о другой установке в процессе, но её нет, попробуйте запустить установщик от имени администратора.

901 903 

902<h3 id="branch-doesn-t-exist-yet-when-opening-in-cli">904<h3 id="branch-doesnt-exist-yet-when-opening-in-cli">

903 "Branch doesn't exist yet" при открытии в CLI905 "Branch doesn't exist yet" при открытии в CLI

904</h3>906</h3>

905 907 


914 Всё ещё застряли?916 Всё ещё застряли?

915</h3>917</h3>

916 918 

917* Поищите или подайте отчёт об ошибке на [GitHub Issues](https://github.com/anthropics/claude-code/issues)919* Откройте Help Get Support в приложении desktop или посетите [центр поддержки Claude](https://support.claude.com/) напрямую

918* Посетите [центр поддержки Claude](https://support.claude.com/)920* Для проблем, которые также воспроизводятся в автономном CLI `claude`, поищите или подайте отчёт об ошибке на [GitHub Issues](https://github.com/anthropics/claude-code/issues)

919 921 

920При подаче отчёта об ошибке включите версию приложения desktop, вашу операционную систему, точное сообщение об ошибке и соответствующие логи. На macOS проверьте Console.app. На Windows проверьте Event Viewer → Windows Logs → Application.922При подаче отчёта об ошибке включите версию приложения desktop, вашу операционную систему, точное сообщение об ошибке и соответствующие логи. На macOS проверьте Console.app. На Windows проверьте Event Viewer → Windows Logs → Application.

Details

66 66 

67 Вы также можете выбрать:67 Вы также можете выбрать:

68 68 

69 * **Remote**: Запуск сеансов на облачной инфраструктуре Anthropic, которые продолжаются даже если вы закроете приложение. Удаленные сеансы используют ту же инфраструктуру, что и [Claude Code в веб-версии](/ru/claude-code-on-the-web).69 * **Remote**: Запуск сеансов на облачной инфраструктуре Anthropic, которые продолжаются даже если вы закроете приложение. Облачные сеансы используют ту же инфраструктуру, что и [Claude Code в веб-версии](/ru/claude-code-on-the-web).

70 * **SSH**: Подключитесь к удаленной машине через SSH, например к вашим собственным серверам, облачным виртуальным машинам или dev containers. Desktop автоматически устанавливает Claude Code на удаленной машине при первом подключении.70 * **SSH**: Подключитесь к удаленной машине через SSH, например к вашим собственным серверам, облачным виртуальным машинам или dev containers. Desktop автоматически устанавливает Claude Code на удаленной машине при первом подключении.

71 </Step>71 </Step>

72 72 

73 <Step title="Выберите модель">73 <Step title="Выберите модель">

74 Выберите модель из раскрывающегося списка рядом с кнопкой отправки. См. [модели](/ru/model-config#available-models) для сравнения Opus, Sonnet и Haiku. Вы можете изменить модель позже из того же раскрывающегося списка.74 Выберите модель из раскрывающегося списка рядом с кнопкой отправки. См. [модели](/ru/model-config#available-models) для сравнения доступных моделей. Вы можете изменить модель позже из того же раскрывающегося списка.

75 </Step>75 </Step>

76 76 

77 <Step title="Скажите Claude, что делать">77 <Step title="Скажите Claude, что делать">


129 129 

130Desktop запускает тот же движок, что и CLI, с графическим интерфейсом. Вы можете запускать оба одновременно на одном проекте, и они совместно используют конфигурацию (файлы CLAUDE.md, MCP servers, hooks, skills и параметры). Для полного сравнения функций, эквивалентов флагов и того, что недоступно в Desktop, см. [Сравнение CLI](/ru/desktop#coming-from-the-cli).130Desktop запускает тот же движок, что и CLI, с графическим интерфейсом. Вы можете запускать оба одновременно на одном проекте, и они совместно используют конфигурацию (файлы CLAUDE.md, MCP servers, hooks, skills и параметры). Для полного сравнения функций, эквивалентов флагов и того, что недоступно в Desktop, см. [Сравнение CLI](/ru/desktop#coming-from-the-cli).

131 131 

132<h2 id="what-s-next">132<h2 id="whats-next">

133 Что дальше133 Что дальше

134</h2>134</h2>

135 135 

discover-plugins.md +104 −36

Details

10 10 

11Ищете способ создать и распространять свой собственный маркетплейс? См. [Создание и распространение маркетплейса плагинов](/ru/plugin-marketplaces).11Ищете способ создать и распространять свой собственный маркетплейс? См. [Создание и распространение маркетплейса плагинов](/ru/plugin-marketplaces).

12 12 

13## Как работают маркетплейсы13<h2 id="how-marketplaces-work">

14 Как работают маркетплейсы

15</h2>

14 16 

15Маркетплейс — это каталог плагинов, которые кто-то другой создал и поделился. Использование маркетплейса — это двухэтапный процесс:17Маркетплейс — это каталог плагинов, которые кто-то другой создал и поделился. Использование маркетплейса — это двухэтапный процесс:

16 18 


26 28 

27Думайте об этом как о добавлении магазина приложений: добавление магазина дает вам доступ к просмотру его коллекции, но вы все равно выбираете, какие приложения загружать отдельно.29Думайте об этом как о добавлении магазина приложений: добавление магазина дает вам доступ к просмотру его коллекции, но вы все равно выбираете, какие приложения загружать отдельно.

28 30 

29## Официальный маркетплейс Anthropic31<h2 id="official-anthropic-marketplace">

32 Официальный маркетплейс Anthropic

33</h2>

30 34 

31Официальный маркетплейс Anthropic (`claude-plugins-official`) автоматически доступен при запуске Claude Code. Запустите `/plugin` и перейдите на вкладку **Discover**, чтобы просмотреть доступные плагины, или просмотрите каталог на [claude.com/plugins](https://claude.com/plugins).35Официальный маркетплейс Anthropic (`claude-plugins-official`) автоматически доступен при запуске Claude Code. Запустите `/plugin` и перейдите на вкладку **Discover**, чтобы просмотреть доступные плагины, или просмотрите каталог на [claude.com/plugins](https://claude.com/plugins).

32 36 


44 48 

45Официальный маркетплейс включает несколько категорий плагинов:49Официальный маркетплейс включает несколько категорий плагинов:

46 50 

47### Code intelligence51<h3 id="code-intelligence">

52 Code intelligence

53</h3>

48 54 

49Плагины code intelligence включают встроенный инструмент LSP в Claude Code, предоставляя Claude возможность переходить к определениям, находить ссылки и видеть ошибки типов сразу после редактирования. Эти плагины настраивают подключения [Language Server Protocol](https://microsoft.github.io/language-server-protocol/), той же технологии, которая обеспечивает code intelligence в VS Code.55Плагины code intelligence включают встроенный инструмент LSP в Claude Code, предоставляя Claude возможность переходить к определениям, находить ссылки и видеть ошибки типов сразу после редактирования. Эти плагины настраивают подключения [Language Server Protocol](https://microsoft.github.io/language-server-protocol/), той же технологии, которая обеспечивает code intelligence в VS Code.

50 56 


70 Если вы видите `Executable not found in $PATH` на вкладке `/plugin` Errors после установки плагина, установите требуемый двоичный файл из таблицы выше.76 Если вы видите `Executable not found in $PATH` на вкладке `/plugin` Errors после установки плагина, установите требуемый двоичный файл из таблицы выше.

71</Note>77</Note>

72 78 

73#### Что Claude получает от плагинов code intelligence79<h4 id="what-claude-gains-from-code-intelligence-plugins">

80 Что Claude получает от плагинов code intelligence

81</h4>

74 82 

75После установки плагина code intelligence и доступности его двоичного файла языкового сервера Claude получает две возможности:83После установки плагина code intelligence и доступности его двоичного файла языкового сервера Claude получает две возможности:

76 84 


79 87 

80Если у вас возникли проблемы, см. [Code intelligence troubleshooting](#code-intelligence-issues).88Если у вас возникли проблемы, см. [Code intelligence troubleshooting](#code-intelligence-issues).

81 89 

82### External integrations90<h3 id="external-integrations">

91 External integrations

92</h3>

83 93 

84Эти плагины объединяют предварительно настроенные [MCP servers](/ru/mcp), чтобы вы могли подключить Claude к внешним сервисам без ручной настройки:94Эти плагины объединяют предварительно настроенные [MCP servers](/ru/mcp), чтобы вы могли подключить Claude к внешним сервисам без ручной настройки:

85 95 


90* **Communication**: `slack`100* **Communication**: `slack`

91* **Monitoring**: `sentry`101* **Monitoring**: `sentry`

92 102 

93### Automatic security review103<h3 id="automatic-security-review">

104 Automatic security review

105</h3>

94 106 

95Плагин `security-guidance` проверяет каждое изменение, которое делает Claude, на предмет распространённых уязвимостей и инструктирует Claude исправить найденные проблемы в том же сеансе. См. [Catch security issues as Claude writes code](/ru/security-guidance) для получения информации о том, что он проверяет и как добавить правила, специфичные для проекта.107Плагин `security-guidance` проверяет каждое изменение, которое делает Claude, на предмет распространённых уязвимостей и инструктирует Claude исправить найденные проблемы в том же сеансе. См. [Catch security issues as Claude writes code](/ru/security-guidance) для получения информации о том, что он проверяет и как добавить правила, специфичные для проекта.

96 108 

97### Development workflows109<h3 id="development-workflows">

110 Development workflows

111</h3>

98 112 

99Плагины, которые добавляют skills и agents для общих задач разработки:113Плагины, которые добавляют skills и agents для общих задач разработки:

100 114 


103* **agent-sdk-dev**: инструменты для разработки с Claude Agent SDK117* **agent-sdk-dev**: инструменты для разработки с Claude Agent SDK

104* **plugin-dev**: набор инструментов для создания собственных плагинов118* **plugin-dev**: набор инструментов для создания собственных плагинов

105 119 

106### Output styles120<h3 id="output-styles">

121 Output styles

122</h3>

107 123 

108Настройте способ ответа Claude:124Настройте способ ответа Claude:

109 125 

110* **explanatory-output-style**: образовательные сведения о выборе реализации126* **explanatory-output-style**: образовательные сведения о выборе реализации

111* **learning-output-style**: интерактивный режим обучения для развития навыков127* **learning-output-style**: интерактивный режим обучения для развития навыков

112 128 

113## Community marketplace129<h2 id="community-marketplace">

130 Community marketplace

131</h2>

114 132 

115Маркетплейс сообщества на [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) размещает плагины третьих сторон, которые прошли автоматическую проверку и проверку безопасности Anthropic. Каждый плагин привязан к определенному коммиту SHA в каталоге. В отличие от официального маркетплейса, вы добавляете его вручную:133Маркетплейс сообщества на [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) размещает плагины третьих сторон, которые прошли автоматическую проверку и проверку безопасности Anthropic. Каждый плагин привязан к определенному коммиту SHA в каталоге. В отличие от официального маркетплейса, вы добавляете его вручную:

116 134 


126 144 

127Чтобы отправить свой плагин в маркетплейс сообщества, см. [Отправьте свой плагин в маркетплейс сообщества](/ru/plugins#submit-your-plugin-to-the-community-marketplace) в руководстве по созданию плагинов.145Чтобы отправить свой плагин в маркетплейс сообщества, см. [Отправьте свой плагин в маркетплейс сообщества](/ru/plugins#submit-your-plugin-to-the-community-marketplace) в руководстве по созданию плагинов.

128 146 

129## Попробуйте: добавьте демо-маркетплейс147<h2 id="try-it-add-the-demo-marketplace">

148 Попробуйте: добавьте демо-маркетплейс

149</h2>

130 150 

131Anthropic также поддерживает [демо-маркетплейс плагинов](https://github.com/anthropics/claude-code/tree/main/plugins) (`claude-code-plugins`) с примерами плагинов, которые показывают, что возможно с системой плагинов. В отличие от официального маркетплейса, вам нужно добавить этот вручную.151Anthropic также поддерживает [демо-маркетплейс плагинов](https://github.com/anthropics/claude-code/tree/main/plugins) (`claude-code-plugins`) с примерами плагинов, которые показывают, что возможно с системой плагинов. В отличие от официального маркетплейса, вам нужно добавить этот вручную.

132 152 


149 * **Marketplaces**: добавляйте, удаляйте или обновляйте добавленные маркетплейсы169 * **Marketplaces**: добавляйте, удаляйте или обновляйте добавленные маркетплейсы

150 * **Errors**: просмотрите любые ошибки загрузки плагинов170 * **Errors**: просмотрите любые ошибки загрузки плагинов

151 171 

152 Перейдите на вкладку **Discover**, чтобы увидеть плагины из маркетплейса, который вы только что добавили. {/* min-version: 2.1.154 */}Плагины, отмеченные как релевантные для вашего текущего рабочего каталога, закреплены в верхней части с меткой **suggested for this directory**.172 Перейдите на вкладку **Discover**, чтобы увидеть плагины из маркетплейса, который вы только что добавили. {/* min-version: 2.1.154 */}Когда ваш администратор добавил маркетплейс в список разрешённых через управляемый параметр [`pluginSuggestionMarketplaces`](/ru/settings#available-settings), плагины, отмеченные как релевантные для вашего текущего рабочего каталога, закреплены в верхней части с меткой **suggested for this directory**.

153 </Step>173 </Step>

154 174 

155 <Step title="Установите плагин">175 <Step title="Установите плагин">


193 213 

194Остальная часть этого руководства охватывает все способы добавления маркетплейсов, установки плагинов и управления вашей конфигурацией.214Остальная часть этого руководства охватывает все способы добавления маркетплейсов, установки плагинов и управления вашей конфигурацией.

195 215 

196## Добавление маркетплейсов216<h2 id="add-marketplaces">

217 Добавление маркетплейсов

218</h2>

197 219 

198Используйте команду `/plugin marketplace add` для добавления маркетплейсов из разных источников.220Используйте команду `/plugin marketplace add` для добавления маркетплейсов из разных источников.

199 221 


206* **Local paths**: каталоги или прямые пути к файлам `marketplace.json`228* **Local paths**: каталоги или прямые пути к файлам `marketplace.json`

207* **Remote URLs**: прямые URL к размещенным файлам `marketplace.json`229* **Remote URLs**: прямые URL к размещенным файлам `marketplace.json`

208 230 

209### Добавление из GitHub231<h3 id="add-from-github">

232 Добавление из GitHub

233</h3>

210 234 

211Добавьте репозиторий GitHub, который содержит файл `.claude-plugin/marketplace.json`, используя формат `owner/repo` — где `owner` — это имя пользователя GitHub или организация, а `repo` — это имя репозитория.235Добавьте репозиторий GitHub, который содержит файл `.claude-plugin/marketplace.json`, используя формат `owner/repo` — где `owner` — это имя пользователя GitHub или организация, а `repo` — это имя репозитория.

212 236 


216/plugin marketplace add anthropics/claude-code240/plugin marketplace add anthropics/claude-code

217```241```

218 242 

219### Добавление из других хостов Git243<h3 id="add-from-other-git-hosts">

244 Добавление из других хостов Git

245</h3>

220 246 

221Добавьте любой репозиторий git, предоставив полный URL. Это работает с любым хостом Git, включая GitLab, Bitbucket и самостоятельно размещенные серверы. Включите суффикс `.git`, чтобы Claude Code клонировал репозиторий, а не рассматривал URL как прямую ссылку на размещенный файл `marketplace.json`.247Добавьте любой репозиторий git, предоставив полный URL. Это работает с любым хостом Git, включая GitLab, Bitbucket и самостоятельно размещенные серверы. Включите суффикс `.git`, чтобы Claude Code клонировал репозиторий, а не рассматривал URL как прямую ссылку на размещенный файл `marketplace.json`.

222 248 


238/plugin marketplace add https://gitlab.com/company/plugins.git#v1.0.0264/plugin marketplace add https://gitlab.com/company/plugins.git#v1.0.0

239```265```

240 266 

241### Добавление из локальных путей267<h3 id="add-from-local-paths">

268 Добавление из локальных путей

269</h3>

242 270 

243Добавьте локальный каталог, который содержит файл `.claude-plugin/marketplace.json`:271Добавьте локальный каталог, который содержит файл `.claude-plugin/marketplace.json`:

244 272 


252/plugin marketplace add ./path/to/marketplace.json280/plugin marketplace add ./path/to/marketplace.json

253```281```

254 282 

255### Добавление из удаленных URL283<h3 id="add-from-remote-urls">

284 Добавление из удаленных URL

285</h3>

256 286 

257Добавьте удаленный файл `marketplace.json` через URL:287Добавьте удаленный файл `marketplace.json` через URL:

258 288 


264 Маркетплейсы на основе URL имеют некоторые ограничения по сравнению с маркетплейсами на основе Git. Если вы столкнулись с ошибками "path not found" при установке плагинов, см. [Troubleshooting](/ru/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).294 Маркетплейсы на основе URL имеют некоторые ограничения по сравнению с маркетплейсами на основе Git. Если вы столкнулись с ошибками "path not found" при установке плагинов, см. [Troubleshooting](/ru/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).

265</Note>295</Note>

266 296 

267## Установка плагинов297<h2 id="install-plugins">

298 Установка плагинов

299</h2>

268 300 

269После добавления маркетплейсов вы можете установить плагины напрямую (по умолчанию устанавливается в область пользователя):301После добавления маркетплейсов вы можете установить плагины напрямую (по умолчанию устанавливается в область пользователя):

270 302 


272/plugin install plugin-name@marketplace-name304/plugin install plugin-name@marketplace-name

273```305```

274 306 

275Чтобы выбрать другую [installation scope](/ru/settings#configuration-scopes), используйте интерактивный интерфейс: запустите `/plugin`, перейдите на вкладку **Discover** и нажмите **Enter** на плагине. Вы увидите опции для:307Чтобы выбрать другую [область установки](/ru/settings#configuration-scopes), используйте интерактивный интерфейс: запустите `/plugin`, перейдите на вкладку **Discover** и нажмите **Enter** на плагине. Вы увидите опции для:

276 308 

277* **User scope** (по умолчанию): установите для себя во всех проектах309* **User scope** (по умолчанию): установите для себя во всех проектах

278* **Project scope**: установите для всех сотрудников в этом репозитории (добавляет в `.claude/settings.json`)310* **Project scope**: установите для всех сотрудников в этом репозитории (добавляет в `.claude/settings.json`)

279* **Local scope**: установите для себя только в этом репозитории (не делится с сотрудниками)311* **Local scope**: установите для себя только в этом репозитории (не делится с сотрудниками)

280 312 

281Вы также можете увидеть плагины с областью **managed** — они установлены администраторами через [managed settings](/ru/settings#settings-files) и не могут быть изменены.313Вы также можете увидеть плагины с областью **managed** — они установлены администраторами через [управляемые параметры](/ru/settings#settings-files) и не могут быть изменены.

282 314 

283<Warning>315<Warning>

284 Убедитесь, что вы доверяете плагину перед его установкой. Anthropic не контролирует, какие MCP servers, файлы или другое программное обеспечение включены в плагины, и не может проверить, что они работают как предполагается. Проверьте домашнюю страницу каждого плагина для получения дополнительной информации.316 Убедитесь, что вы доверяете плагину перед его установкой. Anthropic не контролирует, какие MCP servers, файлы или другое программное обеспечение включены в плагины, и не может проверить, что они работают как предполагается. Проверьте домашнюю страницу каждого плагина для получения дополнительной информации.

285</Warning>317</Warning>

286 318 

287## Управление установленными плагинами319<h2 id="manage-installed-plugins">

320 Управление установленными плагинами

321</h2>

288 322 

289Запустите `/plugin` и перейдите на вкладку **Installed**, чтобы просмотреть, включить, отключить или удалить ваши плагины. Список сгруппирован по области и отсортирован так, чтобы вы сначала видели проблемы: плагины с ошибками загрузки или неразрешенными зависимостями появляются в верхней части, затем ваши избранные, с отключенными плагинами, скрытыми за свернутым заголовком внизу.323Запустите `/plugin` и перейдите на вкладку **Installed**, чтобы просмотреть, включить, отключить или удалить ваши плагины. Список сгруппирован по области и отсортирован так, чтобы вы сначала видели проблемы: плагины с ошибками загрузки или неразрешенными зависимостями появляются в верхней части, затем ваши избранные, с отключенными плагинами, скрытыми за свернутым заголовком внизу.

290 324 


294* ввести текст для фильтрации по имени плагина или описанию328* ввести текст для фильтрации по имени плагина или описанию

295* нажать Enter, чтобы открыть подробный вид плагина и включить, отключить или удалить его329* нажать Enter, чтобы открыть подробный вид плагина и включить, отключить или удалить его

296 330 

331Подробный вид показывает компоненты, которые предоставляет плагин: команды, skills, agents, hooks, MCP servers и LSP servers. Тот же инвентарь доступен из командной строки с помощью `claude plugin details`.

332 

297Когда вы устанавливаете плагин, который объявляет зависимости, вывод установки указывает, какие зависимости были автоматически установлены вместе с ним.333Когда вы устанавливаете плагин, который объявляет зависимости, вывод установки указывает, какие зависимости были автоматически установлены вместе с ним.

298 334 

299Вы также можете управлять плагинами с помощью прямых команд.335Вы также можете управлять плагинами с помощью прямых команд.

300 336 

337Отобразите установленные плагины без открытия меню:

338 

339```shell theme={null}

340/plugin list

341```

342 

343Передайте `--enabled` или `--disabled`, чтобы показать только плагины в этом состоянии.

344 

301Отключите плагин без удаления:345Отключите плагин без удаления:

302 346 

303```shell theme={null}347```shell theme={null}


323claude plugin uninstall formatter@your-org --scope project367claude plugin uninstall formatter@your-org --scope project

324```368```

325 369 

326### Применение изменений плагина без перезагрузки370<h3 id="apply-plugin-changes-without-restarting">

371 Применение изменений плагина без перезагрузки

372</h3>

327 373 

328Когда вы устанавливаете, включаете или отключаете плагины во время сеанса, запустите `/reload-plugins` для активации всех изменений без перезагрузки:374Когда вы устанавливаете, включаете или отключаете плагины во время сеанса, запустите `/reload-plugins` для активации всех изменений без перезагрузки:

329 375 


333 379 

334Claude Code перезагружает все активные плагины и показывает количество плагинов, skills, agents, hooks, plugin MCP servers и plugin LSP servers.380Claude Code перезагружает все активные плагины и показывает количество плагинов, skills, agents, hooks, plugin MCP servers и plugin LSP servers.

335 381 

336Перезагрузка имеет стоимость токенов при следующем запросе: вновь загруженные компоненты объявляют о себе в содержимом, добавленном к беседе, в то время как существующая история по-прежнему читается из кэша подсказок. Плагин, который предоставляет MCP servers, стоит дороже, когда его инструменты не отложены [поиском инструментов](/ru/mcp#scale-with-mcp-tool-search): изменение делает кэш недействительным, и следующий запрос повторно читает всю беседу. Подробнее см. в разделе [включение или отключение плагина](/ru/prompt-caching#enabling-or-disabling-a-plugin).382Перезагрузка имеет стоимость токенов при следующем запросе: вновь загруженные компоненты объявляют о себе в содержимом, добавленном к беседе, в то время как существующая история по-прежнему читается из кэша подсказок. Плагин, который предоставляет MCP servers, стоит дороже, когда его инструменты не отложены [поиском инструментов](/ru/mcp#scale-with-mcp-tool-search): изменение делает кэш недействительным, и следующий запрос повторно читает всю беседу. {/* min-version: 2.1.163 */}В этом случае `/reload-plugins` показывает предупреждение и не применяет перезагрузку; передайте `--force`, чтобы применить в любом случае. Подробнее см. в разделе [включение или отключение плагина](/ru/prompt-caching#enabling-or-disabling-a-plugin).

337 383 

338## Управление маркетплейсами384<h2 id="manage-marketplaces">

385 Управление маркетплейсами

386</h2>

339 387 

340Вы можете управлять маркетплейсами через интерактивный интерфейс `/plugin` или с помощью команд CLI.388Вы можете управлять маркетплейсами через интерактивный интерфейс `/plugin` или с помощью команд CLI.

341 389 

342### Использование интерактивного интерфейса390<h3 id="use-the-interactive-interface">

391 Использование интерактивного интерфейса

392</h3>

343 393 

344Запустите `/plugin` и перейдите на вкладку **Marketplaces** для:394Запустите `/plugin` и перейдите на вкладку **Marketplaces** для:

345 395 


348* Обновления списков маркетплейсов для получения последних плагинов398* Обновления списков маркетплейсов для получения последних плагинов

349* Удаления маркетплейсов, которые вам больше не нужны399* Удаления маркетплейсов, которые вам больше не нужны

350 400 

351### Использование команд CLI401<h3 id="use-cli-commands">

402 Использование команд CLI

403</h3>

352 404 

353Вы также можете управлять маркетплейсами с помощью прямых команд.405Вы также можете управлять маркетплейсами с помощью прямых команд.

354 406 


374 Удаление маркетплейса приведет к удалению всех плагинов, которые вы установили из него.426 Удаление маркетплейса приведет к удалению всех плагинов, которые вы установили из него.

375</Warning>427</Warning>

376 428 

377### Настройка автоматических обновлений429<h3 id="configure-auto-updates">

430 Настройка автоматических обновлений

431</h3>

378 432 

379Claude Code может автоматически обновлять маркетплейсы и установленные плагины при запуске. Когда автоматическое обновление включено для маркетплейса, Claude Code обновляет данные маркетплейса и обновляет установленные плагины до их последних версий. Если какие-либо плагины были обновлены, вы увидите уведомление с предложением запустить `/reload-plugins`.433Claude Code может автоматически обновлять маркетплейсы и установленные плагины при запуске. Когда автоматическое обновление включено для маркетплейса, Claude Code обновляет данные маркетплейса и обновляет установленные плагины до их последних версий. Если какие-либо плагины были обновлены, вы увидите уведомление с предложением запустить `/reload-plugins`.

380 434 


400 454 

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

402 456 

403## Настройка маркетплейсов команды457<h2 id="configure-team-marketplaces">

458 Настройка маркетплейсов команды

459</h2>

404 460 

405Администраторы команды могут настроить автоматическую установку маркетплейса для проектов, добавив конфигурацию маркетплейса в `.claude/settings.json`. Когда члены команды доверяют папке репозитория, Claude Code предлагает им установить эти маркетплейсы и плагины.461Администраторы команды могут настроить автоматическую установку маркетплейса для проектов, добавив конфигурацию маркетплейса в `.claude/settings.json`. Когда члены команды доверяют папке репозитория, Claude Code предлагает им установить эти маркетплейсы и плагины.

406 462 


421 477 

422Для полных опций конфигурации, включая `extraKnownMarketplaces` и `enabledPlugins`, см. [Plugin settings](/ru/settings#plugin-settings).478Для полных опций конфигурации, включая `extraKnownMarketplaces` и `enabledPlugins`, см. [Plugin settings](/ru/settings#plugin-settings).

423 479 

424## Безопасность480<h2 id="security">

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

482</h2>

425 483 

426Плагины и маркетплейсы — это высоконадежные компоненты, которые могут выполнять произвольный код на вашей машине с вашими привилегиями пользователя. Устанавливайте плагины и добавляйте маркетплейсы только из источников, которым вы доверяете. Организации могут ограничить, какие маркетплейсы пользователям разрешено добавлять, используя [managed marketplace restrictions](/ru/plugin-marketplaces#managed-marketplace-restrictions).484Плагины и маркетплейсы — это высоконадежные компоненты, которые могут выполнять произвольный код на вашей машине с вашими привилегиями пользователя. Устанавливайте плагины и добавляйте маркетплейсы только из источников, которым вы доверяете. Организации могут ограничить, какие маркетплейсы пользователям разрешено добавлять, используя [managed marketplace restrictions](/ru/plugin-marketplaces#managed-marketplace-restrictions).

427 485 

428## Troubleshooting486<h2 id="troubleshooting">

487 Troubleshooting

488</h2>

429 489 

430### /plugin command not recognized490<h3 id="/plugin-command-not-recognized">

491 /plugin command not recognized

492</h3>

431 493 

432Если вы видите "unknown command" или команда `/plugin` не появляется:494Если вы видите "unknown command" или команда `/plugin` не появляется:

433 495 


438 * **Native installer**: повторно запустите команду установки из [Setup](/ru/setup)500 * **Native installer**: повторно запустите команду установки из [Setup](/ru/setup)

4393. **Restart Claude Code**: после обновления перезагрузите терминал и снова запустите `claude`.5013. **Restart Claude Code**: после обновления перезагрузите терминал и снова запустите `claude`.

440 502 

441### Common issues503<h3 id="common-issues">

504 Common issues

505</h3>

442 506 

443* **Marketplace not loading**: проверьте, что URL доступен и что `.claude-plugin/marketplace.json` существует по пути507* **Marketplace not loading**: проверьте, что URL доступен и что `.claude-plugin/marketplace.json` существует по пути

444* **Plugin installation failures**: проверьте, что URL источника плагина доступны и репозитории являются общедоступными (или у вас есть доступ)508* **Plugin installation failures**: проверьте, что URL источника плагина доступны и репозитории являются общедоступными (или у вас есть доступ)


447 511 

448Для подробного устранения неполадок с решениями см. [Troubleshooting](/ru/plugin-marketplaces#troubleshooting) в руководстве маркетплейса. Для инструментов отладки см. [Debugging and development tools](/ru/plugins-reference#debugging-and-development-tools).512Для подробного устранения неполадок с решениями см. [Troubleshooting](/ru/plugin-marketplaces#troubleshooting) в руководстве маркетплейса. Для инструментов отладки см. [Debugging and development tools](/ru/plugins-reference#debugging-and-development-tools).

449 513 

450### Code intelligence issues514<h3 id="code-intelligence-issues">

515 Code intelligence issues

516</h3>

451 517 

452* **Language server not starting**: проверьте, что двоичный файл установлен и доступен в вашем `$PATH`. Проверьте вкладку `/plugin` Errors для получения подробной информации.518* **Language server not starting**: проверьте, что двоичный файл установлен и доступен в вашем `$PATH`. Проверьте вкладку `/plugin` Errors для получения подробной информации.

453* **High memory usage**: языковые серверы, такие как `rust-analyzer` и `pyright`, могут потреблять значительную память на больших проектах. Если вы испытываете проблемы с памятью, отключите плагин с помощью `/plugin disable <plugin-name>` и вместо этого полагайтесь на встроенные инструменты поиска Claude.519* **High memory usage**: языковые серверы, такие как `rust-analyzer` и `pyright`, могут потреблять значительную память на больших проектах. Если вы испытываете проблемы с памятью, отключите плагин с помощью `/plugin disable <plugin-name>` и вместо этого полагайтесь на встроенные инструменты поиска Claude.

454* **False positive diagnostics in monorepos**: языковые серверы могут сообщать об ошибках неразрешенного импорта для внутренних пакетов, если рабочее пространство не настроено правильно. Это не влияет на способность Claude редактировать код.520* **False positive diagnostics in monorepos**: языковые серверы могут сообщать об ошибках неразрешенного импорта для внутренних пакетов, если рабочее пространство не настроено правильно. Это не влияет на способность Claude редактировать код.

455 521 

456## Следующие шаги522<h2 id="next-steps">

523 Следующие шаги

524</h2>

457 525 

458* **Build your own plugins**: см. [Plugins](/ru/plugins) для создания skills, agents и hooks526* **Создавайте собственные плагины**: см. [Plugins](/ru/plugins) для создания skills, agents и hooks

459* **Create a marketplace**: см. [Create a plugin marketplace](/ru/plugin-marketplaces) для распространения плагинов вашей команде или сообществу527* **Создайте marketplace**: см. [Create a plugin marketplace](/ru/plugin-marketplaces) для распространения плагинов вашей команде или сообществу

460* **Technical reference**: см. [Plugins reference](/ru/plugins-reference) для полных спецификаций528* **Техническая справка**: см. [Plugins reference](/ru/plugins-reference) для полных спецификаций

env-vars.md +36 −21

Details

73Выбранный вами файл определяет, к кому применяются переменные:73Выбранный вами файл определяет, к кому применяются переменные:

74 74 

75| Файл | Применяется к |75| Файл | Применяется к |

76| :---------------------------- | :-------------------------------------------------------------------- |76| :---------------------------- | :--------------------------------------------------------------------------------------- |

77| `~/.claude/settings.json` | Вам, в каждом проекте |77| `~/.claude/settings.json` | Вам, в каждом проекте |

78| `.claude/settings.json` | Всем, кто работает в проекте, проверено в системе управления версиями |78| `.claude/settings.json` | Всем, кто работает в проекте, проверено в системе управления версиями |

79| `.claude/settings.local.json` | Вам, только в этом проекте, не проверено |79| `.claude/settings.local.json` | Вам, только в этом проекте (добавьте его в ваш gitignore, если вы создадите его вручную) |

80| Управляемые параметры | Всем в вашей организации, развёрнуто администратором |80| Управляемые параметры | Всем в вашей организации, развёрнуто администратором |

81 81 

82См. [Файлы параметров](/ru/settings#settings-files), чтобы узнать, где находится каждый файл, и [Приоритет параметров](/ru/settings#settings-precedence), чтобы узнать, как они объединяются, когда более одного устанавливает одну и ту же переменную.82См. [Файлы параметров](/ru/settings#settings-files), чтобы узнать, где находится каждый файл, и [Приоритет параметров](/ru/settings#settings-precedence), чтобы узнать, как они объединяются, когда более одного устанавливает одну и ту же переменную.


96</h2>96</h2>

97 97 

98| Переменная | Назначение |98| Переменная | Назначение |

99| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |99| :------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

100| `ANTHROPIC_API_KEY` | Ключ API, отправляемый как заголовок `X-Api-Key`. При установке этот ключ используется вместо вашей подписки Claude Pro, Max, Team или Enterprise, даже если вы вошли в систему. В неинтерактивном режиме (`-p`) ключ всегда используется при наличии. В интерактивном режиме вам предлагается одобрить ключ один раз перед тем, как он переопределит вашу подписку. Чтобы использовать вашу подписку вместо этого, запустите `unset ANTHROPIC_API_KEY` |100| `ANTHROPIC_API_KEY` | Ключ API, отправляемый как заголовок `X-Api-Key`. При установке этот ключ используется вместо вашей подписки Claude Pro, Max, Team или Enterprise, даже если вы вошли в систему. В неинтерактивном режиме (`-p`) ключ всегда используется при наличии. В интерактивном режиме вам предлагается одобрить ключ один раз перед тем, как он переопределит вашу подписку. Чтобы использовать вашу подписку вместо этого, запустите `unset ANTHROPIC_API_KEY` |

101| `ANTHROPIC_AUTH_TOKEN` | Пользовательское значение для заголовка `Authorization` (значение, которое вы установите здесь, будет дополнено префиксом `Bearer `) |101| `ANTHROPIC_AUTH_TOKEN` | Пользовательское значение для заголовка `Authorization` (значение, которое вы установите здесь, будет дополнено префиксом `Bearer `) |

102| `ANTHROPIC_AWS_API_KEY` | Ключ API рабочей области для [Claude Platform on AWS](/ru/claude-platform-on-aws), созданный в AWS Console. Отправляется как `x-api-key` и имеет приоритет над AWS SigV4 |102| `ANTHROPIC_AWS_API_KEY` | Ключ API рабочей области для [Claude Platform on AWS](/ru/claude-platform-on-aws), созданный в AWS Console. Отправляется как `x-api-key` и имеет приоритет над AWS SigV4 |


112| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Описание отображения для пользовательской записи модели в средстве выбора `/model`. По умолчанию `Custom model (<model-id>)` при отсутствии установки |112| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Описание отображения для пользовательской записи модели в средстве выбора `/model`. По умолчанию `Custom model (<model-id>)` при отсутствии установки |

113| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Имя отображения для пользовательской записи модели в средстве выбора `/model`. По умолчанию ID модели при отсутствии установки |113| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Имя отображения для пользовательской записи модели в средстве выбора `/model`. По умолчанию ID модели при отсутствии установки |

114| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | См. [Конфигурация модели](/ru/model-config#customize-pinned-model-display-and-capabilities) |114| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | См. [Конфигурация модели](/ru/model-config#customize-pinned-model-display-and-capabilities) |

115| `ANTHROPIC_DEFAULT_FABLE_MODEL` | См. [Конфигурация модели](/ru/model-config#environment-variables) |

116| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | См. [Конфигурация модели](/ru/model-config#customize-pinned-model-display-and-capabilities) |

117| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | См. [Конфигурация модели](/ru/model-config#customize-pinned-model-display-and-capabilities) |

118| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | См. [Конфигурация модели](/ru/model-config#customize-pinned-model-display-and-capabilities) |

115| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | См. [Конфигурация модели](/ru/model-config#environment-variables) |119| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | См. [Конфигурация модели](/ru/model-config#environment-variables) |

116| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | См. [Конфигурация модели](/ru/model-config#customize-pinned-model-display-and-capabilities) |120| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | См. [Конфигурация модели](/ru/model-config#customize-pinned-model-display-and-capabilities) |

117| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | См. [Конфигурация модели](/ru/model-config#customize-pinned-model-display-and-capabilities) |121| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | См. [Конфигурация модели](/ru/model-config#customize-pinned-model-display-and-capabilities) |


133| `ANTHROPIC_VERTEX_BASE_URL` | Переопределить URL конечной точки Vertex AI. Используйте для пользовательских конечных точек Vertex или при маршрутизации через [шлюз LLM](/ru/llm-gateway). См. [Google Vertex AI](/ru/google-vertex-ai) |137| `ANTHROPIC_VERTEX_BASE_URL` | Переопределить URL конечной точки Vertex AI. Используйте для пользовательских конечных точек Vertex или при маршрутизации через [шлюз LLM](/ru/llm-gateway). См. [Google Vertex AI](/ru/google-vertex-ai) |

134| `ANTHROPIC_VERTEX_PROJECT_ID` | ID проекта GCP для запросов Vertex AI. Переопределяется `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` или проектом в файле учётных данных `GOOGLE_APPLICATION_CREDENTIALS`. См. [Google Vertex AI](/ru/google-vertex-ai) |138| `ANTHROPIC_VERTEX_PROJECT_ID` | ID проекта GCP для запросов Vertex AI. Переопределяется `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` или проектом в файле учётных данных `GOOGLE_APPLICATION_CREDENTIALS`. См. [Google Vertex AI](/ru/google-vertex-ai) |

135| `ANTHROPIC_WORKSPACE_ID` | ID рабочей области для [федерации рабочей нагрузки](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Установите это, когда ваше правило федерации охватывает более одной рабочей области, чтобы обмен токенов знал, какую рабочую область выбрать |139| `ANTHROPIC_WORKSPACE_ID` | ID рабочей области для [федерации рабочей нагрузки](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Установите это, когда ваше правило федерации охватывает более одной рабочей области, чтобы обмен токенов знал, какую рабочую область выбрать |

140| `API_FORCE_IDLE_TIMEOUT` | {/* min-version: 2.1.169 */}Переопределить тайм-аут неактивности в 5 минут, который прерывает потоковый ответ модели, когда не поступают байты. Установите на `0`, чтобы отключить тайм-аут, например, когда медленный [шлюз](/ru/llm-gateway) или локальная модель делает паузу дольше 5 минут между фрагментами. Установите на `1`, чтобы сохранить тайм-аут на каждом поставщике. Если не установлено, тайм-аут неактивен на прямом Anthropic API и соединениях [Claude Platform on AWS](/ru/claude-platform-on-aws), где работает собственный сторож потока Claude Code на уровне байтов, и активен на каждом другом поставщике, включая [Vertex AI](/ru/google-vertex-ai), [Foundry](/ru/microsoft-foundry), [Mantle](/ru/amazon-bedrock#use-the-mantle-endpoint), [Bedrock](/ru/amazon-bedrock) и соединения шлюза, поэтому зависший поток прерывается вместо зависания. Начиная с v2.1.169 |

136| `API_TIMEOUT_MS` | Тайм-аут для запросов API в миллисекундах (по умолчанию: 600000, или 10 минут; максимум: 2147483647). Увеличьте это значение, когда запросы истекают на медленных сетях или при маршрутизации через прокси. Значения выше максимума переполняют базовый таймер и вызывают немедленный отказ запросов |141| `API_TIMEOUT_MS` | Тайм-аут для запросов API в миллисекундах (по умолчанию: 600000, или 10 минут; максимум: 2147483647). Увеличьте это значение, когда запросы истекают на медленных сетях или при маршрутизации через прокси. Значения выше максимума переполняют базовый таймер и вызывают немедленный отказ запросов |

137| `AWS_BEARER_TOKEN_BEDROCK` | Ключ API Bedrock для аутентификации (см. [Ключи API Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |142| `AWS_BEARER_TOKEN_BEDROCK` | Ключ API Bedrock для аутентификации (см. [Ключи API Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

138| `BASH_DEFAULT_TIMEOUT_MS` | Тайм-аут по умолчанию для долгоживущих команд bash (по умолчанию: 120000, или 2 минуты) |143| `BASH_DEFAULT_TIMEOUT_MS` | Тайм-аут по умолчанию для долгоживущих команд bash (по умолчанию: 120000, или 2 минуты) |

139| `BASH_MAX_OUTPUT_LENGTH` | Максимальное количество символов в выводе bash перед сохранением полного вывода в файл и получением Claude пути плюс краткий предпросмотр. См. [Поведение инструмента Bash](/ru/tools-reference#bash-tool-behavior) |144| `BASH_MAX_OUTPUT_LENGTH` | Максимальное количество символов в выводе bash перед сохранением полного вывода в файл и получением Claude пути плюс краткий предпросмотр. См. [Поведение инструмента Bash](/ru/tools-reference#bash-tool-behavior) |

140| `BASH_MAX_TIMEOUT_MS` | Максимальный тайм-аут, который модель может установить для долгоживущих команд bash (по умолчанию: 600000, или 10 минут) |145| `BASH_MAX_TIMEOUT_MS` | Максимальный тайм-аут, который модель может установить для долгоживущих команд bash (по умолчанию: 600000, или 10 минут) |

141| `CCR_FORCE_BUNDLE` | Установите на `1`, чтобы принудительно [`claude --remote`](/ru/claude-code-on-the-web#send-local-repositories-without-github) объединить и загрузить ваш локальный репозиторий, даже когда доступ GitHub доступен |146| `CCR_FORCE_BUNDLE` | Установите на `1`, чтобы принудительно [`claude --remote`](/ru/claude-code-on-the-web#send-local-repositories-without-github) объединить и загрузить ваш локальный репозиторий, даже когда доступ GitHub доступен |

142| `CLAUDECODE` | Установите на `1` в подпроцессах, которые порождает Claude Code (инструмент Bash и PowerShell, сессии tmux, команды [hook](/ru/hooks), команды [строки состояния](/ru/statusline), подпроцессы [MCP server](/ru/mcp) stdio). Используйте для обнаружения, когда скрипт выполняется внутри подпроцесса, порождённого Claude Code |147| `CLAUDECODE` | Установите на `1` в подпроцессах, которые порождает Claude Code (инструмент Bash и PowerShell, сессии tmux, команды [hook](/ru/hooks), команды [строки состояния](/ru/statusline), подпроцессы [MCP server](/ru/mcp) stdio). IDE extensions также устанавливают это в их встроенных терминалах. Используйте для обнаружения, когда скрипт выполняется внутри подпроцесса, порождённого Claude Code. Чтобы проверить, был ли текущий процесс порождён непосредственно вызовом инструмента или hook, а не внутри stdio MCP server, который запустил Claude Code, используйте вместо этого `CLAUDE_CODE_CHILD_SESSION` |

143| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите на `1`, чтобы отключить все встроенные типы [subagent](/ru/sub-agents), такие как Explore и Plan. Применяется только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которые хотят чистый лист |148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите на `1`, чтобы отключить все встроенные типы [subagent](/ru/sub-agents), такие как Explore и Plan. Применяется только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которые хотят чистый лист |

144| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Установите на `1`, чтобы пропустить префикс `mcp__<server>__` на именах инструментов из MCP серверов, созданных SDK. Инструменты используют свои исходные имена. Только для использования SDK |149| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Установите на `1`, чтобы пропустить префикс `mcp__<server>__` на именах инструментов из MCP серверов, созданных SDK. Инструменты используют свои исходные имена. Только для использования SDK |

145| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Тайм-аут зависания в миллисекундах для фоновых subagents. По умолчанию `600000` (10 минут). Таймер сбрасывается при каждом событии потоковой передачи прогресса; если прогресс не поступает в течение окна, subagent прерывается и задача отмечается как неудачная, выводя любой частичный результат родителю |150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Тайм-аут зависания в миллисекундах для фоновых subagents. По умолчанию `600000` (10 минут). Таймер сбрасывается при каждом событии потоковой передачи прогресса; если прогресс не поступает в течение окна, subagent прерывается и задача отмечается как неудачная, выводя любой частичный результат родителю |

146| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент ёмкости контекста (1-100), при котором срабатывает auto-compaction. По умолчанию auto-compaction срабатывает при примерно 95% ёмкости. Используйте меньшие значения, такие как `50`, для более раннего сжатия. Значения выше порога по умолчанию не имеют эффекта. Применяется как к основным разговорам, так и к subagents. Этот процент соответствует полю `context_window.used_percentage`, доступному в [строке состояния](/ru/statusline) |151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент (1-100) окна auto-compaction, при котором срабатывает auto-compaction. Используйте меньшие значения, такие как `50`, для более раннего сжатия. Эта переменная вызывает более раннее сжатие только когда Claude Code сжимает упреждающе: когда установлен `CLAUDE_CODE_AUTO_COMPACT_WINDOW`, в [облачных сессиях](/ru/claude-code-on-the-web), в сессиях [Remote Control](/ru/remote-control) и на Sonnet 4.6 и Opus 4.6 без [расширенного контекста](/ru/model-config#extended-context), которые сжимаются на границе 200K по умолчанию. В других случаях, таких как сессия по умолчанию локально на Opus 4.8 или любой модели с расширенным контекстом, auto-compaction срабатывает, когда разговор достигает лимита контекста модели. Переопределение может только снизить порог, поэтому значения выше значения по умолчанию не имеют эффекта. Применяется как к основным разговорам, так и к subagents |

147| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите на `1`, чтобы принудительно включить автоматическое фоновое выполнение долгоживущих задач агента. При включении subagents перемещаются в фон после выполнения примерно две минуты |152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите на `1`, чтобы принудительно включить автоматическое фоновое выполнение долгоживущих задач агента. При включении subagents перемещаются в фон после выполнения примерно две минуты |

148| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Вернуться в исходный рабочий каталог после каждой команды Bash или PowerShell в основной сессии |153| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Вернуться в исходный рабочий каталог после каждой команды Bash или PowerShell в основной сессии |

149| `CLAUDE_CODE_ACCESSIBILITY` | Установите на `1`, чтобы сохранить видимость собственного курсора терминала и отключить индикатор курсора с инвертированным текстом. Позволяет увеличителям экрана, таким как macOS Zoom, отслеживать позицию курсора |154| `CLAUDE_CODE_ACCESSIBILITY` | Установите на `1`, чтобы сохранить видимость собственного курсора терминала и отключить индикатор курсора с инвертированным текстом. Позволяет увеличителям экрана, таким как macOS Zoom, отслеживать позицию курсора |

150| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Установите на `1`, чтобы загружать файлы памяти из каталогов, указанных с помощью `--add-dir`. Загружает `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md`. По умолчанию дополнительные каталоги не загружают файлы памяти |155| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Установите на `1`, чтобы загружать файлы памяти из каталогов, указанных с помощью `--add-dir`. Загружает `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md`. По умолчанию дополнительные каталоги не загружают файлы памяти |

151| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Установите на `1`, чтобы перерисовать весь экран на каждом кадре в [полноэкранном режиме](/ru/fullscreen) вместо отправки дополнительных обновлений. Используйте это, если полноэкранный режим показывает устаревшие или неправильно размещённые фрагменты текста. Claude Code включает это автоматически для фоновых сессий и [представления агента](/ru/agent-view) на Windows |156| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Установите на `1`, чтобы перерисовать весь экран на каждом кадре в [полноэкранном режиме](/ru/fullscreen) вместо отправки дополнительных обновлений. Используйте это, если полноэкранный режим показывает устаревшие или неправильно размещённые фрагменты текста. Claude Code включает это автоматически для фоновых сессий и [представления агента](/ru/agent-view) на Windows |

157| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Установите на `1`, чтобы отправлять параметр [effort](/ru/model-config#adjust-effort-level) с каждым запросом, даже когда Claude Code не распознаёт ID модели как поддерживающий усилия. Используйте это при маршрутизации через [шлюз LLM](/ru/llm-gateway) или поставщика третьей стороны, который обслуживает модели под пользовательскими идентификаторами. Модели, которые отклоняют параметр усилий в API, включая модели Claude 3, Sonnet 4.0 и 4.5, Opus 4.0 и 4.1 и Haiku 4.5, по-прежнему исключены, поэтому запросы не будут отклонены |

152| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Интервал в миллисекундах, при котором должны быть обновлены учётные данные (при использовании [`apiKeyHelper`](/ru/settings#available-settings)) |158| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Интервал в миллисекундах, при котором должны быть обновлены учётные данные (при использовании [`apiKeyHelper`](/ru/settings#available-settings)) |

153| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите на `0`, чтобы опустить блок атрибуции (версия клиента и отпечаток приглашения) с начала системного приглашения. Отключение его улучшает коэффициент попадания кэша приглашений при маршрутизации через [шлюз LLM](/ru/llm-gateway). Кэширование Anthropic API не затронуто |159| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите на `0`, чтобы опустить блок атрибуции (версия клиента и отпечаток приглашения) с начала системного приглашения. Отключение его улучшает коэффициент попадания кэша приглашений при маршрутизации через [шлюз LLM](/ru/llm-gateway). Кэширование Anthropic API не затронуто |

154| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Установите ёмкость контекста в токенах, используемую для расчётов auto-compaction. По умолчанию используется контекстное окно модели: 200K для стандартных моделей или 1M для моделей с [расширенным контекстом](/ru/model-config#extended-context). Используйте меньшее значение, такое как `500000`, на модели 1M, чтобы рассматривать окно как 500K для целей сжатия. Значение ограничено фактическим контекстным окном модели. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` применяется как процент от этого значения. Установка этой переменной отделяет порог сжатия от `used_percentage` в строке состояния, который всегда использует полное контекстное окно модели |160| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Установите ёмкость контекста в токенах, используемую для расчётов auto-compaction. По умолчанию используется контекстное окно модели: 200K для стандартных моделей или 1M для моделей с [расширенным контекстом](/ru/model-config#extended-context). Используйте меньшее значение, такое как `500000`, на модели 1M, чтобы рассматривать окно как 500K для целей сжатия. Значение ограничено фактическим контекстным окном модели. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` применяется как процент от этого значения. Установка этой переменной отделяет порог сжатия от `used_percentage` в строке состояния, который всегда использует полное контекстное окно модели |

155| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Переопределить автоматическое [подключение IDE](/ru/vs-code). По умолчанию Claude Code подключается автоматически при запуске внутри встроенного терминала поддерживаемой IDE. Установите на `false`, чтобы предотвратить это. Установите на `true`, чтобы принудительно попытаться подключиться, когда автоматическое обнаружение не удаётся, например, когда tmux скрывает родительский терминал. Имеет приоритет над параметром [`autoConnectIde`](/ru/settings#global-config-settings) глобальной конфигурации |161| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Переопределить автоматическое [подключение IDE](/ru/vs-code). По умолчанию Claude Code подключается автоматически при запуске внутри встроенного терминала поддерживаемой IDE. Установите на `false`, чтобы предотвратить это. Установите на `true`, чтобы принудительно попытаться подключиться, когда автоматическое обнаружение не удаётся, например, когда tmux скрывает родительский терминал. Имеет приоритет над параметром [`autoConnectIde`](/ru/settings#global-config-settings) глобальной конфигурации |

156| `CLAUDE_CODE_CERT_STORE` | Разделённый запятыми список источников сертификатов CA для TLS соединений. `bundled` — это набор Mozilla CA, поставляемый с Claude Code. `system` — это хранилище доверия операционной системы. По умолчанию `bundled,system` |162| `CLAUDE_CODE_CERT_STORE` | Разделённый запятыми список источников сертификатов CA для TLS соединений. `bundled` — это набор Mozilla CA, поставляемый с Claude Code. `system` — это хранилище доверия операционной системы. По умолчанию `bundled,system` |

163| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Установите на `1` в подпроцессах, которые Claude Code порождает через инструменты Bash, PowerShell и Monitor, команды [hook](/ru/hooks) и команды [строки состояния](/ru/statusline). Не установлено для подпроцессов stdio [MCP server](/ru/mcp), которые долгоживущие и пережидают сессию, которая их порождала. В отличие от `CLAUDECODE`, это устанавливается только путём собственного порождения Claude Code, а не IDE extensions, поэтому надёжно различает вложенную сессию от верхнего уровня `claude`, запущенного в встроенном терминале IDE. Вложенный интерактивный `claude` TUI, запущенный таким образом, автоматически исключается из `--resume`, `--continue`, истории стрелок вверх и списка `claude agents`. Сессии `claude -p` без интерактивности по-прежнему сохраняются. Установите `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`, чтобы переопределить это исключение. Требуется Claude Code v2.1.172 или более поздняя версия |

157| `CLAUDE_CODE_CLIENT_CERT` | Путь к файлу сертификата клиента для аутентификации mTLS |164| `CLAUDE_CODE_CLIENT_CERT` | Путь к файлу сертификата клиента для аутентификации mTLS |

158| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу приватного ключа клиента для аутентификации mTLS |165| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу приватного ключа клиента для аутентификации mTLS |

159| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Парольная фраза для зашифрованного CLAUDE\_CODE\_CLIENT\_KEY (опционально) |166| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Парольная фраза для зашифрованного CLAUDE\_CODE\_CLIENT\_KEY (опционально) |

160| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Переопределить путь к файлу журнала отладки. Несмотря на название, это путь к файлу, а не к каталогу. Требует, чтобы режим отладки был включен отдельно через `--debug`, `/debug` или переменную окружения `DEBUG`: установка только этой переменной не включает логирование. Флаг [`--debug-file`](/ru/cli-reference#cli-flags) делает оба сразу. По умолчанию `~/.claude/debug/<session-id>.txt` |167| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Переопределить путь к файлу журнала отладки. Несмотря на название, это путь к файлу, а не к каталогу. Требует, чтобы режим отладки был включен отдельно через `--debug`, `/debug` или переменную окружения `DEBUG`: установка только этой переменной не включает логирование. Флаг [`--debug-file`](/ru/cli-reference#cli-flags) делает оба сразу. По умолчанию `~/.claude/debug/<session-id>.txt` |

161| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Минимальный уровень логирования, записываемый в файл журнала отладки. Значения: `verbose`, `debug` (по умолчанию), `info`, `warn`, `error`. Установите на `verbose`, чтобы включить высокообъёмную диагностику, такую как полный вывод команды строки состояния, или повысьте до `error`, чтобы снизить шум |168| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Минимальный уровень логирования, записываемый в файл журнала отладки. Значения: `verbose`, `debug` (по умолчанию), `info`, `warn`, `error`. Установите на `verbose`, чтобы включить высокообъёмную диагностику, такую как полный вывод команды строки состояния, или повысьте до `error`, чтобы снизить шум |

162| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите на `1`, чтобы отключить поддержку [контекстного окна 1M](/ru/model-config#extended-context). При установке варианты модели 1M недоступны в средстве выбора модели. Полезно для корпоративных сред с требованиями соответствия |169| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите на `1`, чтобы отключить поддержку [контекстного окна 1M](/ru/model-config#extended-context). При установке варианты модели 1M недоступны в средстве выбора модели. Полезно для корпоративных сред с требованиями соответствия |

163| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Установите на `1`, чтобы отключить [адаптивное рассуждение](/ru/model-config#adjust-effort-level) на Opus 4.6 и Sonnet 4.6 и вернуться к фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Не влияет на Opus 4.7 и более поздние версии, которые всегда используют адаптивное рассуждение |170| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Установите на `1`, чтобы отключить [адаптивное рассуждение](/ru/model-config#adjust-effort-level) на Opus 4.6 и Sonnet 4.6 и вернуться к фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Начиная с v2.1.111, не влияет на Fable 5 или на Opus 4.7 и более поздние версии, которые всегда используют адаптивное рассуждение |

171| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Установите на `1`, чтобы отключить [инструмент advisor](/ru/advisor). Команда `/advisor` и флаг `--advisor` становятся недоступными и любой настроенный `advisorModel` игнорируется. Требуется Claude Code v2.1.98 или более поздняя версия |

164| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Установите на `1`, чтобы отключить [фоновых агентов и представление агентов](/ru/agent-view): `claude agents`, `--bg`, `/background` и супервизор по требованию. Эквивалент параметра [`disableAgentView`](/ru/settings#available-settings) |172| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Установите на `1`, чтобы отключить [фоновых агентов и представление агентов](/ru/agent-view): `claude agents`, `--bg`, `/background` и супервизор по требованию. Эквивалент параметра [`disableAgentView`](/ru/settings#available-settings) |

165| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Установите на `1`, чтобы отключить [полноэкранный режим](/ru/fullscreen) и использовать классический рендерер основного экрана. Разговор остаётся в собственной прокрутке вашего терминала, поэтому `Cmd+f` и режим копирования tmux работают как обычно. Имеет приоритет над `CLAUDE_CODE_NO_FLICKER` и параметром [`tui`](/ru/settings#available-settings). Вы также можете переключаться с помощью `/tui default` |173| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Установите на `1`, чтобы отключить [полноэкранный режим](/ru/fullscreen) и использовать классический рендерер основного экрана. Разговор остаётся в собственной прокрутке вашего терминала, поэтому `Cmd+f` и режим копирования tmux работают как обычно. Имеет приоритет над `CLAUDE_CODE_NO_FLICKER` и параметром [`tui`](/ru/settings#available-settings). Вы также можете переключаться с помощью `/tui default`. Не применяется к фоновым сессиям, открытым из [представления агента](/ru/agent-view), которые всегда используют полноэкранный режим |

166| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите на `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |174| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите на `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |

167| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Установите на `1`, чтобы отключить [автоматическую память](/ru/memory#auto-memory). Установите на `0`, чтобы принудительно включить автоматическую память даже когда режим `--bare` или [`autoMemoryEnabled: false`](/ru/settings#available-settings) в противном случае отключили бы её. При отключении Claude не создаёт и не загружает файлы автоматической памяти |175| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Установите на `1`, чтобы отключить [автоматическую память](/ru/memory#auto-memory). Установите на `0`, чтобы принудительно включить автоматическую память даже когда режим `--bare` или [`autoMemoryEnabled: false`](/ru/settings#available-settings) в противном случае отключили бы её. При отключении Claude не создаёт и не загружает файлы автоматической памяти |

168| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Установите на `1`, чтобы отключить всю функциональность фоновых задач, включая параметр `run_in_background` на инструментах Bash и subagent, автоматическое фоновое выполнение и сочетание клавиш Ctrl+B |176| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Установите на `1`, чтобы отключить всю функциональность фоновых задач, включая параметр `run_in_background` на инструментах Bash и subagent, автоматическое фоновое выполнение и сочетание клавиш Ctrl+B |

177| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Установите на `1`, чтобы отключить [skills](/ru/skills) и workflows, которые поставляются с Claude Code: встроенные skills и workflows полностью удаляются, в то время как встроенные slash commands, такие как `/init`, остаются доступными для ввода, но скрыты от модели. Skills из plugins, `.claude/skills/` и `.claude/commands/` не затронуты. Эквивалент параметра [`disableBundledSkills`](/ru/settings#available-settings); `0` не переопределяет его |

169| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Установите на `1`, чтобы предотвратить загрузку любых файлов памяти CLAUDE.md в контекст, включая файлы пользователя, проекта и автоматической памяти |178| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Установите на `1`, чтобы предотвратить загрузку любых файлов памяти CLAUDE.md в контекст, включая файлы пользователя, проекта и автоматической памяти |

170| `CLAUDE_CODE_DISABLE_CRON` | Установите на `1`, чтобы отключить [запланированные задачи](/ru/scheduled-tasks). Skill `/loop` и инструменты cron становятся недоступными, и все уже запланированные задачи перестают срабатывать, включая задачи, которые уже выполняются в середине сессии |179| `CLAUDE_CODE_DISABLE_CRON` | Установите на `1`, чтобы отключить [запланированные задачи](/ru/scheduled-tasks). Skill `/loop` и инструменты cron становятся недоступными и все уже запланированные задачи перестают срабатывать, включая задачи, которые уже выполняются в середине сессии |

171| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите на `1`, чтобы удалить заголовки запроса `anthropic-beta` для Anthropic и поля схемы инструментов beta (такие как `defer_loading` и `eager_input_streaming`) из запросов API. Используйте это, когда шлюз прокси отклоняет запросы с ошибками типа "Unexpected value(s) for the `anthropic-beta` header" или "Extra inputs are not permitted". Стандартные поля (`name`, `description`, `input_schema`, `cache_control`) сохраняются. |180| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите на `1`, чтобы удалить заголовки запроса `anthropic-beta` для Anthropic и поля схемы инструментов beta (такие как `defer_loading` и `eager_input_streaming`) из запросов API. Используйте это, когда шлюз прокси отклоняет запросы с ошибками типа "Unexpected value(s) for the `anthropic-beta` header" или "Extra inputs are not permitted". Стандартные поля (`name`, `description`, `input_schema`, `cache_control`) сохраняются. |

172| `CLAUDE_CODE_DISABLE_FAST_MODE` | Установите на `1`, чтобы отключить [быстрый режим](/ru/fast-mode) |181| `CLAUDE_CODE_DISABLE_FAST_MODE` | Установите на `1`, чтобы отключить [быстрый режим](/ru/fast-mode) |

173| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Установите на `1`, чтобы отключить опросы качества сессии "How is Claude doing?". Опросы также отключаются, когда установлена переменная `DISABLE_TELEMETRY`, `DO_NOT_TRACK` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, если только `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` не согласится вернуться. Чтобы установить частоту выборки вместо полного отключения, используйте параметр [`feedbackSurveyRate`](/ru/settings#available-settings). См. [Опросы качества сессии](/ru/data-usage#session-quality-surveys) |182| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Установите на `1`, чтобы отключить опросы качества сессии "How is Claude doing?". Опросы также отключаются, когда установлена переменная `DISABLE_TELEMETRY`, `DO_NOT_TRACK` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, если только `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` не согласится вернуться. Чтобы установить частоту выборки вместо полного отключения, используйте параметр [`feedbackSurveyRate`](/ru/settings#available-settings). См. [Опросы качества сессии](/ru/data-usage#session-quality-surveys) |


180| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Установите на `1`, чтобы пропустить автоматическое добавление официального marketplace plugin при первом запуске |189| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Установите на `1`, чтобы пропустить автоматическое добавление официального marketplace plugin при первом запуске |

181| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Установите на `1`, чтобы пропустить загрузку skills из системного каталога управляемых skills. Полезно для сессий контейнера или CI, которые не должны загружать skills, предоставленные оператором |190| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Установите на `1`, чтобы пропустить загрузку skills из системного каталога управляемых skills. Полезно для сессий контейнера или CI, которые не должны загружать skills, предоставленные оператором |

182| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Установите на `1`, чтобы отключить автоматическое обновление заголовка терминала на основе контекста разговора. В сессиях Agent SDK и `claude -p` это также пропускает фоновый запрос Haiku, который генерирует заголовок сессии |191| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Установите на `1`, чтобы отключить автоматическое обновление заголовка терминала на основе контекста разговора. В сессиях Agent SDK и `claude -p` это также пропускает фоновый запрос Haiku, который генерирует заголовок сессии |

183| `CLAUDE_CODE_DISABLE_THINKING` | Установите на `1`, чтобы принудительно отключить [расширенное мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) независимо от поддержки модели или других параметров. Более прямой, чем `MAX_THINKING_TOKENS=0` |192| `CLAUDE_CODE_DISABLE_THINKING` | Установите на `1`, чтобы полностью опустить параметр `thinking` из запросов API. Это опция совместимости для прокси и шлюзов, которые отклоняют параметр. Поведение переменной не изменилось с более ранних версий; на моделях, которые думают по умолчанию, опущение параметра означает, что модель может всё ещё думать. Чтобы явно отключить [расширенное мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) на Anthropic API, используйте вместо этого `MAX_THINKING_TOKENS=0`, что также неэффективно на Fable 5, так как оно не может отключить мышление. На [сторонних поставщиках](/ru/third-party-integrations), `0` аналогично опускает параметр, поэтому две переменные ведут себя одинаково там |

184| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Установите на `1`, чтобы отключить виртуальную прокрутку в [полноэкранном режиме](/ru/fullscreen) и отрендерить каждое сообщение в транскрипте. Используйте это, если прокрутка в полноэкранном режиме показывает пустые области, где должны появляться сообщения |193| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Установите на `1`, чтобы отключить виртуальную прокрутку в [полноэкранном режиме](/ru/fullscreen) и отрендерить каждое сообщение в транскрипте. Используйте это, если прокрутка в полноэкранном режиме показывает пустые области, где должны появляться сообщения |

185| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Установите на `1`, чтобы отключить [workflows](/ru/workflows#turn-workflows-off). Эквивалент параметра [`disableWorkflows`](/ru/settings#available-settings) |194| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Установите на `1`, чтобы отключить [workflows](/ru/workflows#turn-workflows-off). Эквивалент параметра [`disableWorkflows`](/ru/settings#available-settings) |

186| `CLAUDE_CODE_EFFORT_LEVEL` | Установите уровень усилий для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto` для использования значения по умолчанию модели. Доступные уровни зависят от модели. Имеет приоритет над `/effort` и параметром `effortLevel`. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) |195| `CLAUDE_CODE_EFFORT_LEVEL` | Установите уровень усилий для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto` для использования значения по умолчанию модели. Доступные уровни зависят от модели. Имеет приоритет над `/effort` и параметром `effortLevel`. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) |


198| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Установите на `1`, чтобы включить [команды агентов](/ru/agent-teams). Команды агентов являются экспериментальными и отключены по умолчанию |207| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Установите на `1`, чтобы включить [команды агентов](/ru/agent-teams). Команды агентов являются экспериментальными и отключены по умолчанию |

199| `CLAUDE_CODE_EXTRA_BODY` | JSON объект для объединения на верхний уровень каждого тела запроса API. Полезно для передачи параметров, специфичных для поставщика, которые Claude Code не раскрывает напрямую |208| `CLAUDE_CODE_EXTRA_BODY` | JSON объект для объединения на верхний уровень каждого тела запроса API. Полезно для передачи параметров, специфичных для поставщика, которые Claude Code не раскрывает напрямую |

200| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Переопределить ограничение токенов по умолчанию для чтения файлов. Полезно, когда вам нужно полностью прочитать большие файлы |209| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Переопределить ограничение токенов по умолчанию для чтения файлов. Полезно, когда вам нужно полностью прочитать большие файлы |

210| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}Установите на `1`, чтобы принудительно включить сохранение транскрипта, истории приглашений и регистрацию `claude agents` даже когда этот `claude` был запущен изнутри другой сессии Claude Code. Используйте, когда унаследованное значение `CLAUDE_CODE_CHILD_SESSION`, например из сервера tmux, впервые запущенного инструментом Bash Claude Code, вызывает неправильную классификацию подлинной сессии верхнего уровня как вложенной. Также соблюдается на v2.1.169 и более ранних версиях; не имеет эффекта на v2.1.170 и v2.1.171, где обнаружение вложенной сессии, которое оно переопределяет, было удалено |

201| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Установите на `1`, чтобы принудительно включить режим DEC private 2026 [синхронизированный вывод](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036), когда ваш терминал его поддерживает, но не автоматически обнаруживается. Полезно для эмуляторов, таких как Emacs `eat`, которые реализуют BSU/ESU, но не отвечают на зонд возможностей. Не влияет на tmux |211| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Установите на `1`, чтобы принудительно включить режим DEC private 2026 [синхронизированный вывод](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036), когда ваш терминал его поддерживает, но не автоматически обнаруживается. Полезно для эмуляторов, таких как Emacs `eat`, которые реализуют BSU/ESU, но не отвечают на зонд возможностей. Не влияет на tmux |

202| `CLAUDE_CODE_FORK_SUBAGENT` | Установите на `1`, чтобы сделать [разветвлённые subagents](/ru/sub-agents#fork-the-current-conversation) моделью по умолчанию: Claude порождает разветвление, subagent, который наследует полный контекст разговора вместо начала с нуля, всякий раз, когда он в противном случае использовал бы общего назначения subagent, и все порождения subagent выполняются в фоне. Явная команда [`/fork`](/ru/commands) работает без этой переменной. Работает в интерактивном режиме и через SDK или `claude -p` |212| `CLAUDE_CODE_FORK_SUBAGENT` | Установите на `1`, чтобы позволить Claude порождать [разветвлённые subagents](/ru/sub-agents#fork-the-current-conversation), или на `0`, чтобы отключить их, переопределяя любое развёртывание на стороне сервера. При включении Claude может запросить тип subagent `fork` для порождения разветвления, subagent, который наследует полный контекст разговора вместо начала с нуля. Порождения без типа subagent по-прежнему используют общего назначения subagent, и все порождения subagent выполняются в фоне. Явная команда [`/fork`](/ru/commands) работает без этой переменной. Работает в интерактивном режиме и через SDK или `claude -p` |

203| `CLAUDE_CODE_GIT_BASH_PATH` | Только Windows: путь к исполняемому файлу Git Bash (`bash.exe`). Используйте, когда Git Bash установлен, но не в вашем PATH. См. [Настройка Windows](/ru/setup#set-up-on-windows) |213| `CLAUDE_CODE_GIT_BASH_PATH` | Только Windows: путь к исполняемому файлу Git Bash (`bash.exe`). Используйте, когда Git Bash установлен, но не в вашем PATH. См. [Настройка Windows](/ru/setup#set-up-on-windows) |

204| `CLAUDE_CODE_GLOB_HIDDEN` | Установите на `false`, чтобы исключить скрытые файлы из результатов, когда Claude вызывает [инструмент Glob](/ru/tools-reference#glob-tool-behavior). Включено по умолчанию. Не влияет на автодополнение файлов `@`, `ls`, Grep или Read |214| `CLAUDE_CODE_GLOB_HIDDEN` | Установите на `false`, чтобы исключить скрытые файлы из результатов, когда Claude вызывает [инструмент Glob](/ru/tools-reference#glob-tool-behavior). Включено по умолчанию. Не влияет на автодополнение файлов `@`, `ls`, Grep или Read |

205| `CLAUDE_CODE_GLOB_NO_IGNORE` | Установите на `false`, чтобы заставить [инструмент Glob](/ru/tools-reference#glob-tool-behavior) соблюдать шаблоны `.gitignore`. По умолчанию Glob возвращает все совпадающие файлы, включая игнорируемые git. Не влияет на автодополнение файлов `@`, которое имеет свой собственный [параметр `respectGitignore`](/ru/settings#available-settings) |215| `CLAUDE_CODE_GLOB_NO_IGNORE` | Установите на `false`, чтобы заставить [инструмент Glob](/ru/tools-reference#glob-tool-behavior) соблюдать шаблоны `.gitignore`. По умолчанию Glob возвращает все совпадающие файлы, включая игнорируемые git. Не влияет на автодополнение файлов `@`, которое имеет свой собственный [параметр `respectGitignore`](/ru/settings#available-settings) |


239| `CLAUDE_CODE_REMOTE_SESSION_ID` | Установите автоматически в [облачных сессиях](/ru/claude-code-on-the-web) на ID текущей сессии. Прочитайте это, чтобы построить ссылку обратно на транскрипт сессии. См. [Ссылка артефактов обратно на сессию](/ru/claude-code-on-the-web#link-artifacts-back-to-the-session) |249| `CLAUDE_CODE_REMOTE_SESSION_ID` | Установите автоматически в [облачных сессиях](/ru/claude-code-on-the-web) на ID текущей сессии. Прочитайте это, чтобы построить ссылку обратно на транскрипт сессии. См. [Ссылка артефактов обратно на сессию](/ru/claude-code-on-the-web#link-artifacts-back-to-the-session) |

240| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Установите на `1`, чтобы автоматически возобновить, если предыдущая сессия закончилась в середине хода. Используется в режиме SDK, чтобы модель продолжала работу без необходимости повторной отправки приглашения SDK |250| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Установите на `1`, чтобы автоматически возобновить, если предыдущая сессия закончилась в середине хода. Используется в режиме SDK, чтобы модель продолжала работу без необходимости повторной отправки приглашения SDK |

241| `CLAUDE_CODE_RESUME_PROMPT` | Переопределить сообщение продолжения, внедрённое при возобновлении сессии, которая закончилась в середине хода. По умолчанию `Continue from where you left off.`. Скрипты порождения для долгоживущих агентов могут установить это на более директивное загрузочное сообщение. Пустая строка использует значение по умолчанию |251| `CLAUDE_CODE_RESUME_PROMPT` | Переопределить сообщение продолжения, внедрённое при возобновлении сессии, которая закончилась в середине хода. По умолчанию `Continue from where you left off.`. Скрипты порождения для долгоживущих агентов могут установить это на более директивное загрузочное сообщение. Пустая строка использует значение по умолчанию |

252| `CLAUDE_CODE_SAFE_MODE` | Установите на `1`, чтобы запустить в безопасном режиме: CLAUDE.md, skills, plugins, hooks, MCP servers, пользовательские команды и агенты, стили вывода, workflows, пользовательские темы, пользовательские сочетания клавиш, команды строки состояния и предложения файлов, LSP servers и автоматическая память не загружаются для устранения неполадок в сломанной конфигурации. Политика управляемых параметров по-прежнему применяется, включая hooks, настроенные политикой, строку состояния и команды предложения файлов; управляемые plugins, управляемые skills, управляемые CLAUDE.md и настроенные политикой MCP servers не применяются. Эквивалент передачи [`--safe-mode`](/ru/cli-reference#cli-flags). Непосредственно порождённые дочерние процессы наследуют переменную |

242| `CLAUDE_CODE_SCRIPT_CAPS` | JSON объект, ограничивающий, сколько раз конкретные скрипты могут быть вызваны за сессию, когда установлен `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — это подстроки, сопоставленные с текстом команды; значения — это ограничения целого числа вызовов. Например, `{"deploy.sh": 2}` позволяет `deploy.sh` быть вызванным максимум дважды. Сопоставление основано на подстроке, поэтому трюки расширения оболочки, такие как `./scripts/deploy.sh $(evil)`, по-прежнему учитываются в отношении лимита. Разветвление среды выполнения через `xargs` или `find -exec` не обнаруживается; это контроль защиты в глубину |253| `CLAUDE_CODE_SCRIPT_CAPS` | JSON объект, ограничивающий, сколько раз конкретные скрипты могут быть вызваны за сессию, когда установлен `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — это подстроки, сопоставленные с текстом команды; значения — это ограничения целого числа вызовов. Например, `{"deploy.sh": 2}` позволяет `deploy.sh` быть вызванным максимум дважды. Сопоставление основано на подстроке, поэтому трюки расширения оболочки, такие как `./scripts/deploy.sh $(evil)`, по-прежнему учитываются в отношении лимита. Разветвление среды выполнения через `xargs` или `find -exec` не обнаруживается; это контроль защиты в глубину |

243| `CLAUDE_CODE_SCROLL_SPEED` | Установите множитель прокрутки колеса мыши в [полноэкранном режиме](/ru/fullscreen#mouse-wheel-scrolling). Принимает значения от 1 до 20. Установите на `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колеса на зубец без усиления. Игнорируется в встроенном терминале JetBrains IDE, где Claude Code использует собственную обработку прокрутки |254| `CLAUDE_CODE_SCROLL_SPEED` | Установите множитель прокрутки колеса мыши в [полноэкранном режиме](/ru/fullscreen#mouse-wheel-scrolling). Принимает значения от 1 до 20, и дробные значения ниже 1, такие как `0.5`, чтобы замедлить ускоренную прокрутку трекпада и колеса в терминалах на собственном пути прокрутки. Установите на `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колеса на зубец без усиления. Игнорируется в встроенном терминале JetBrains IDE, где Claude Code использует собственную обработку прокрутки |

244| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределить бюджет времени в миллисекундах для [SessionEnd](/ru/hooks#sessionend) hooks. Применяется к выходу из сессии, `/clear` и переключению сессий через интерактивный `/resume`. По умолчанию бюджет составляет 1,5 секунды, автоматически повышается до наивысшего `timeout` для каждого hook, настроенного в файлах параметров, до 60 секунд. Тайм-ауты на hooks, предоставленные plugin, не повышают бюджет |255| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределить бюджет времени в миллисекундах для [SessionEnd](/ru/hooks#sessionend) hooks. Применяется к выходу из сессии, `/clear` и переключению сессий через интерактивный `/resume`. По умолчанию бюджет составляет 1,5 секунды, автоматически повышается до наивысшего `timeout` для каждого hook, настроенного в файлах параметров, до 60 секунд. Тайм-ауты на hooks, предоставленные plugin, не повышают бюджет |

245| `CLAUDE_CODE_SESSION_ID` | Установите автоматически в подпроцессах инструмента Bash и PowerShell, подпроцессах [команды hook](/ru/hooks) и подпроцессах stdio [MCP server](/ru/mcp) на ID текущей сессии. Совпадает с полем `session_id` в входных данных hook JSON и обновляется при `/clear`. Подпроцесс MCP server сохраняет ID, с которым он был порождён, и может получить начальный ID при запуске через `--resume` или `--continue`. Используйте для корреляции скриптов и внешних инструментов с сессией Claude Code, которая их запустила |256| `CLAUDE_CODE_SESSION_ID` | Установите автоматически в подпроцессах инструмента Bash и PowerShell, подпроцессах [команды hook](/ru/hooks) и подпроцессах stdio [MCP server](/ru/mcp) на ID текущей сессии. Совпадает с полем `session_id` в входных данных hook JSON и обновляется при `/clear`. Подпроцесс MCP server сохраняет ID, с которым он был порождён. На `--resume <session-id>` он получает возобновленный ID, совпадающий с hooks и Bash. На `--continue` или `--resume` без явного ID он может получить начальный ID при запуске вместо этого. Используйте для корреляции скриптов и внешних инструментов с сессией Claude Code, которая их запустила |

246| `CLAUDE_CODE_SHELL` | Переопределить автоматическое обнаружение оболочки. Полезно, когда ваша оболочка входа отличается от вашей предпочтительной рабочей оболочки (например, `bash` против `zsh`) |257| `CLAUDE_CODE_SHELL` | Переопределить автоматическое обнаружение оболочки. Полезно, когда ваша оболочка входа отличается от вашей предпочтительной рабочей оболочки (например, `bash` против `zsh`) |

247| `CLAUDE_CODE_SHELL_PREFIX` | Префикс команды для обёртывания команд bash, которые порождает Claude Code: вызовы инструмента Bash, команды [hook](/ru/hooks) и команды запуска stdio [MCP server](/ru/mcp). Полезно для логирования или аудита. Пример: установка `/path/to/logger.sh` запускает каждую команду как `/path/to/logger.sh <command>` |258| `CLAUDE_CODE_SHELL_PREFIX` | Префикс команды для обёртывания команд bash, которые порождает Claude Code: вызовы инструмента Bash, команды [hook](/ru/hooks), команды [строки состояния](/ru/statusline) и команды запуска stdio [MCP server](/ru/mcp). Hooks PowerShell и hooks в форме exec выполняются без префикса. Полезно для логирования или аудита. Установка пути к исполняемому файлу, такого как `/path/to/logger.sh`, запускает каждую команду как `/path/to/logger.sh '<command>'`. Обёртка получает командную строку как один аргумент, заключённый в кавычки оболочки в `$1`, поэтому обёртка должна повторно оценить `$1` с помощью оболочки, например `exec bash -c "$1"`. Обработка `$1` как пути к исполняемому файлу нарушает stdio MCP servers, которые передают аргументы, такие как `npx -y <package>`. Для вызовов инструмента Bash `$1` содержит полный вызов оболочки, который собирает Claude Code, включая настройку окружения, а не только команду, которую запустил Claude |

248| `CLAUDE_CODE_SIMPLE` | Установите на `1`, чтобы запустить с минимальным системным приглашением и только инструментами Bash, чтения файлов и редактирования файлов. MCP tools из `--mcp-config` по-прежнему доступны. Отключает автоматическое обнаружение hooks, skills, plugins, MCP servers, автоматическую память и CLAUDE.md. OAuth токены и учётные данные цепочки ключей не читаются, поэтому аутентификация Anthropic должна поступать из `ANTHROPIC_API_KEY` или `apiKeyHelper` в `--settings`. Эквивалент передачи [`--bare`](/ru/headless#start-faster-with-bare-mode) |259| `CLAUDE_CODE_SIMPLE` | Установите на `1`, чтобы запустить с минимальным системным приглашением и только инструментами Bash, чтения файлов и редактирования файлов. MCP tools из `--mcp-config` по-прежнему доступны. Отключает автоматическое обнаружение hooks, skills, plugins, MCP servers, автоматическую память и CLAUDE.md. OAuth токены и учётные данные цепочки ключей не читаются, поэтому аутентификация Anthropic должна поступать из `ANTHROPIC_API_KEY` или `apiKeyHelper` в `--settings`. Эквивалент передачи [`--bare`](/ru/headless#start-faster-with-bare-mode) |

249| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Установите на `1`, чтобы использовать минимальное системное приглашение и свёрнутые описания инструментов на любой модели. Установите на `0`, `false`, `no` или `off`, чтобы отказаться даже на моделях, где эксперимент или конфигурация сервера в противном случае включили бы это. Полный набор инструментов, hooks, MCP servers и обнаружение CLAUDE.md остаются включены |260| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Установите на `1`, чтобы использовать минимальное системное приглашение и свёрнутые описания инструментов на любой модели. Установите на `0`, `false`, `no` или `off`, чтобы отказаться даже на моделях, где эксперимент или конфигурация сервера в противном случае включили бы это. Полный набор инструментов, hooks, MCP servers и обнаружение CLAUDE.md остаются включены |

250| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Пропустить аутентификацию на стороне клиента для [Claude Platform on AWS](/ru/claude-platform-on-aws), для шлюзов, которые подписывают запросы сами |261| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Пропустить аутентификацию на стороне клиента для [Claude Platform on AWS](/ru/claude-platform-on-aws), для шлюзов, которые подписывают запросы сами |


258| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите на `1`, чтобы удалить учётные данные Anthropic и поставщика облачных услуг из сред подпроцессов (инструмент Bash, hooks, MCP stdio servers). Родительский процесс Claude сохраняет эти учётные данные для вызовов API, но дочерние процессы не могут их читать, снижая воздействие атак внедрения приглашений, которые пытаются экспортировать секреты через расширение оболочки. На Linux это также запускает подпроцессы Bash в изолированном пространстве имён PID, поэтому они не могут читать сред хост-процессов через `/proc`; как побочный эффект, `ps`, `pgrep` и `kill` не могут видеть или сигнализировать хост-процессам. `claude-code-action` устанавливает это автоматически, когда настроен `allowed_non_write_users` |269| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите на `1`, чтобы удалить учётные данные Anthropic и поставщика облачных услуг из сред подпроцессов (инструмент Bash, hooks, MCP stdio servers). Родительский процесс Claude сохраняет эти учётные данные для вызовов API, но дочерние процессы не могут их читать, снижая воздействие атак внедрения приглашений, которые пытаются экспортировать секреты через расширение оболочки. На Linux это также запускает подпроцессы Bash в изолированном пространстве имён PID, поэтому они не могут читать сред хост-процессов через `/proc`; как побочный эффект, `ps`, `pgrep` и `kill` не могут видеть или сигнализировать хост-процессам. `claude-code-action` устанавливает это автоматически, когда настроен `allowed_non_write_users` |

259| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Установите на `1` в неинтерактивном режиме (флаг `-p`), чтобы дождаться завершения установки plugin перед первым запросом. Без этого plugins устанавливаются в фоне и могут быть недоступны на первом ходу. Объедините с `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, чтобы ограничить ожидание |270| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Установите на `1` в неинтерактивном режиме (флаг `-p`), чтобы дождаться завершения установки plugin перед первым запросом. Без этого plugins устанавливаются в фоне и могут быть недоступны на первом ходу. Объедините с `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, чтобы ограничить ожидание |

260| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Тайм-аут в миллисекундах для синхронной установки plugin. При превышении Claude Code продолжает работу без plugins и логирует ошибку. Нет значения по умолчанию: без этой переменной синхронная установка ждёт до завершения |271| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Тайм-аут в миллисекундах для синхронной установки plugin. При превышении Claude Code продолжает работу без plugins и логирует ошибку. Нет значения по умолчанию: без этой переменной синхронная установка ждёт до завершения |

261| `CLAUDE_CODE_SYNC_SKILLS` | Установите на `1`, чтобы загружать ваши включённые claude.ai skills в `~/.claude/skills/` перед первым запросом и повторно синхронизировать каждые 10 минут. Применяется только в неинтерактивном режиме с флагом `-p`. Установите автоматически в сессиях [Claude Code on the web](/ru/claude-code-on-the-web). Требует аутентификацию claude.ai |272| `CLAUDE_CODE_SYNC_SKILLS` | Установите на `1`, чтобы загружать ваши включённые claude.ai skills в `~/.claude/skills/` перед первым запросом и повторно синхронизировать каждые 10 минут. Применяется только в неинтерактивном режиме с флагом `-p`. Требуется аутентификация claude.ai. [Claude Code on the web](/ru/claude-code-on-the-web) сессии получают ваши включённые claude.ai skills автоматически; вам не нужно устанавливать это там |

273| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Тайм-аут в миллисекундах для повторной синхронизации skills в середине сессии, когда установлен `CLAUDE_CODE_SYNC_SKILLS` (по умолчанию: 30000). Ограничивает загрузку, запущенную, когда хост запрашивает перезагрузку skill во время сессии. При превышении повторная синхронизация останавливается и оставшиеся загрузки продолжаются в фоне |

262| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Тайм-аут в миллисекундах для первого запроса, чтобы дождаться начальной синхронизации skills, когда установлен `CLAUDE_CODE_SYNC_SKILLS` (по умолчанию: 5000). При превышении запрос продолжает работу и оставшиеся загрузки skills продолжаются в фоне |274| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Тайм-аут в миллисекундах для первого запроса, чтобы дождаться начальной синхронизации skills, когда установлен `CLAUDE_CODE_SYNC_SKILLS` (по умолчанию: 5000). При превышении запрос продолжает работу и оставшиеся загрузки skills продолжаются в фоне |

263| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Установите на `false`, чтобы отключить подсветку синтаксиса в выводе diff. Полезно, когда цвета мешают вашей настройке терминала. Чтобы также отключить подсветку в блоках кода и предпросмотрах файлов, используйте параметр [`syntaxHighlightingDisabled`](/ru/settings) |275| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Установите на `false`, чтобы отключить подсветку синтаксиса в выводе diff. Полезно, когда цвета мешают вашей настройке терминала. Чтобы также отключить подсветку в блоках кода и предпросмотрах файлов, используйте параметр [`syntaxHighlightingDisabled`](/ru/settings) |

264| `CLAUDE_CODE_TASK_LIST_ID` | Поделитесь списком задач между сессиями. Установите один и тот же ID в нескольких экземплярах Claude Code для координации общего списка задач. См. [Список задач](/ru/interactive-mode#task-list) |276| `CLAUDE_CODE_TASK_LIST_ID` | Поделитесь списком задач между сессиями. Установите один и тот же ID в нескольких экземплярах Claude Code для координации общего списка задач. См. [Список задач](/ru/interactive-mode#task-list) |

265| `CLAUDE_CODE_TEAM_NAME` | Имя команды агентов, к которой принадлежит этот товарищ. Установите автоматически на членах [команды агентов](/ru/agent-teams) |277| `CLAUDE_CODE_TEAM_NAME` | Имя команды агентов, к которой принадлежит этот товарищ. Установите автоматически на членах [команды агентов](/ru/agent-teams) |

266| `CLAUDE_CODE_TMPDIR` | Переопределить временный каталог, используемый для внутренних временных файлов. Claude Code добавляет `/claude-{uid}/` на Unix или `/claude/` на Windows к этому пути. По умолчанию: `/tmp` на macOS, `os.tmpdir()` на Linux и Windows. {/* min-version: 2.1.161 */}Начиная с v2.1.161, на macOS и Linux подпроцессы Bash получают короткий резервный `$TMPDIR` в системном стандарте, когда ваше переопределение — это длинный путь, так как некоторые инструменты не работают, когда пути временных файлов становятся слишком длинными. Собственные временные файлы Claude Code всегда используют ваше переопределение |278| `CLAUDE_CODE_TMPDIR` | Переопределить временный каталог, используемый для внутренних временных файлов. Claude Code добавляет `/claude-{uid}/` на Unix или `/claude/` на Windows к этому пути. По умолчанию: `/tmp` на macOS, `os.tmpdir()` на Linux и Windows. {/* min-version: 2.1.161 */}Начиная с v2.1.161, на macOS и Linux [изолированные](/ru/sandboxing) подпроцессы Bash получают короткий резервный `$TMPDIR` в системном стандарте, когда ваше переопределение — это длинный путь, так как некоторые инструменты не работают, когда пути временных файлов становятся слишком длинными. Неизолированные команды Bash наследуют `$TMPDIR` вашей оболочки без изменений. Собственные временные файлы Claude Code всегда используют ваше переопределение |

267| `CLAUDE_CODE_TMUX_TRUECOLOR` | Установите на `1`, чтобы разрешить вывод 24-битного truecolor внутри tmux. По умолчанию Claude Code ограничивает 256 цветами, когда установлена `$TMUX`, потому что tmux не пропускает последовательности выхода truecolor, если не настроен. Установите это после добавления `set -ga terminal-overrides ',*:Tc'` в ваш `~/.tmux.conf`. См. [Конфигурация терминала](/ru/terminal-config) для других параметров tmux |279| `CLAUDE_CODE_TMUX_TRUECOLOR` | Установите на `1`, чтобы разрешить вывод 24-битного truecolor внутри tmux. По умолчанию Claude Code ограничивает 256 цветами, когда установлена `$TMUX`, потому что tmux не пропускает последовательности выхода truecolor, если не настроен. Установите это после добавления `set -ga terminal-overrides ',*:Tc'` в ваш `~/.tmux.conf`. См. [Конфигурация терминала](/ru/terminal-config) для других параметров tmux |

268| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Использовать [Claude Platform on AWS](/ru/claude-platform-on-aws) |280| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Использовать [Claude Platform on AWS](/ru/claude-platform-on-aws) |

269| `CLAUDE_CODE_USE_BEDROCK` | Использовать [Bedrock](/ru/amazon-bedrock) |281| `CLAUDE_CODE_USE_BEDROCK` | Использовать [Bedrock](/ru/amazon-bedrock) |


274| `CLAUDE_CODE_USE_VERTEX` | Использовать [Vertex](/ru/google-vertex-ai) |286| `CLAUDE_CODE_USE_VERTEX` | Использовать [Vertex](/ru/google-vertex-ai) |

275| `CLAUDE_CONFIG_DIR` | Переопределить каталог конфигурации (по умолчанию: `~/.claude`). Все параметры, учётные данные, история сессии и plugins хранятся под этим путём. Полезно для запуска нескольких учётных записей рядом: например, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |287| `CLAUDE_CONFIG_DIR` | Переопределить каталог конфигурации (по умолчанию: `~/.claude`). Все параметры, учётные данные, история сессии и plugins хранятся под этим путём. Полезно для запуска нескольких учётных записей рядом: например, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |

276| `CLAUDE_EFFORT` | Установите автоматически в подпроцессах инструмента Bash и командах hook на активный [уровень усилий](/ru/model-config#adjust-effort-level) для хода: `low`, `medium`, `high`, `xhigh` или `max`. Ultracode не является отдельным уровнем и сообщается как `xhigh`. Совпадает с полем `effort.level`, переданным в [hooks](/ru/hooks). Установлено только, когда текущая модель поддерживает параметр усилий |288| `CLAUDE_EFFORT` | Установите автоматически в подпроцессах инструмента Bash и командах hook на активный [уровень усилий](/ru/model-config#adjust-effort-level) для хода: `low`, `medium`, `high`, `xhigh` или `max`. Ultracode не является отдельным уровнем и сообщается как `xhigh`. Совпадает с полем `effort.level`, переданным в [hooks](/ru/hooks). Установлено только, когда текущая модель поддерживает параметр усилий |

277| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Установите на `1`, чтобы принудительно включить сторож простоя на уровне байтов, или установите на `0`, чтобы принудительно отключить его. Если не установлено, сторож включен по умолчанию для соединений Anthropic API. Сторож байтов прерывает соединение, когда на проводе не поступают байты в течение времени, установленного `CLAUDE_STREAM_IDLE_TIMEOUT_MS`, с минимумом 5 минут, независимо от сторожа на уровне событий |289| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Установите на `1`, чтобы принудительно включить сторож простоя на уровне байтов, или установите на `0`, чтобы принудительно отключить его. Когда не установлено, сторож включен по умолчанию для соединений Anthropic API и [Claude Platform on AWS](/ru/claude-platform-on-aws). Сторож байтов прерывает соединение, когда на проводе не поступают байты в течение 180 секунд по умолчанию на соединениях прямого Anthropic API, 300 секунд на Claude Platform on AWS и когда включен на Bedrock, или для значения `CLAUDE_STREAM_IDLE_TIMEOUT_MS`, когда это установлено, которое ограничено минимумом 5 минут, независимо от сторожа на уровне событий |

278| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Установите на `1`, чтобы включить сторож простоя на уровне байтов на ответах Amazon Bedrock `vnd.amazon.eventstream`. Отключено по умолчанию. Настройте тайм-аут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |290| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Установите на `1`, чтобы включить сторож простоя на уровне байтов на ответах Amazon Bedrock `vnd.amazon.eventstream`. Отключено по умолчанию. Настройте тайм-аут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

279| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Установите на `1`, чтобы включить сторож простоя потока на уровне событий. Отключено по умолчанию. Применяется ко всем поставщикам, включая Bedrock. Для Vertex и Foundry это единственный доступный сторож простоя. На Bedrock вы также можете включить независимый сторож на уровне байтов с помощью `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`; оба работают вместе, когда оба установлены. Настройте тайм-аут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |291| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Установите на `1`, чтобы принудительно включить сторож простоя потока на уровне событий, или установите на `0`, чтобы принудительно отключить его. Когда не установлено, значение по умолчанию контролируется сервером на прямом Anthropic API и отключено на других поставщиках. {/* min-version: 2.1.169 */}Начиная с v2.1.169, поставщики, отличные от прямого Anthropic API и Claude Platform on AWS, также имеют тайм-аут простоя тела в 5 минут по умолчанию, независимый от этой переменной; см. `API_FORCE_IDLE_TIMEOUT`. На Bedrock вы также можете включить независимый сторож на уровне байтов с помощью `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`; оба работают вместе, когда оба установлены. Настройте тайм-аут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

280| `CLAUDE_ENV_FILE` | Путь к скрипту оболочки, содержимое которого Claude Code запускает перед каждой командой Bash в том же процессе оболочки, поэтому экспорты в файле видны команде. Используйте для сохранения активации virtualenv или conda между командами. Также динамически заполняется [SessionStart](/ru/hooks#persist-environment-variables), [Setup](/ru/hooks#setup), [CwdChanged](/ru/hooks#cwdchanged) и [FileChanged](/ru/hooks#filechanged) hooks |292| `CLAUDE_ENV_FILE` | Путь к скрипту оболочки, содержимое которого Claude Code запускает перед каждой командой Bash в том же процессе оболочки, поэтому экспорты в файле видны команде. Используйте для сохранения активации virtualenv или conda между командами. Также динамически заполняется [SessionStart](/ru/hooks#persist-environment-variables), [Setup](/ru/hooks#setup), [CwdChanged](/ru/hooks#cwdchanged) и [FileChanged](/ru/hooks#filechanged) hooks |

281| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Префикс для автоматически сгенерированных имён сессий [Remote Control](/ru/remote-control), когда явное имя не предоставлено. По умолчанию имя хоста вашей машины, создавая имена, такие как `myhost-graceful-unicorn`. Флаг CLI `--remote-control-session-name-prefix` устанавливает то же значение для одного вызова |293| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Префикс для автоматически сгенерированных имён сессий [Remote Control](/ru/remote-control), когда явное имя не предоставлено. По умолчанию имя хоста вашей машины, создавая имена, такие как `myhost-graceful-unicorn`. Флаг CLI `--remote-control-session-name-prefix` устанавливает то же значение для одного вызова |

282| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Тайм-аут в миллисекундах перед тем, как сторож простоя потока закроет зависшее соединение. По умолчанию и минимум `300000` (5 минут) для сторожа на уровне байтов в Anthropic API; более низкие значения молча ограничиваются, чтобы поглотить паузы расширенного мышления и буферизацию прокси. Для сторожа на уровне событий: по умолчанию `90000` (90 секунд), нет минимума. Для сторонних поставщиков требуется `CLAUDE_ENABLE_STREAM_WATCHDOG=1`. На Bedrock также применяется, когда `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |294| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Тайм-аут в миллисекундах перед тем, как сторож простоя потока закроет зависшее соединение. Когда вы устанавливаете эту переменную явно, минимум составляет `300000` (5 минут); более низкие значения молча ограничиваются, чтобы поглотить паузы расширенного мышления и буферизацию прокси. Когда не установлено, сторож на уровне событий по умолчанию составляет 300 секунд, а сторож на уровне байтов по умолчанию составляет 180 секунд на соединениях прямого Anthropic API (300 секунд на Claude Platform on AWS и других поставщиках). Неустановленное значение по умолчанию сторожа на уровне байтов в 180 секунд — это отдельное значение и не подлежит ограничению в 5 минут. Для сторожа на уровне событий на сторонних поставщиках требуется `CLAUDE_ENABLE_STREAM_WATCHDOG=1`; тайм-аут простоя тела, описанный в `API_FORCE_IDLE_TIMEOUT`, применяется независимо. На Bedrock также применяется, когда `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |

283| `DEBUG` | Установите на `1`, чтобы включить режим отладки, эквивалент запуска с [`--debug`](/ru/cli-reference#cli-flags). Журналы отладки записываются в `~/.claude/debug/<session-id>.txt`, или в путь, установленный `CLAUDE_CODE_DEBUG_LOGS_DIR`. Только истинные значения `1`, `true`, `yes` и `on` включают режим отладки, поэтому шаблоны пространства имён, такие как `DEBUG=express:*`, установленные для других инструментов, не запускают его |295| `DEBUG` | Установите на `1`, чтобы включить режим отладки, эквивалент запуска с [`--debug`](/ru/cli-reference#cli-flags). Журналы отладки записываются в `~/.claude/debug/<session-id>.txt`, или в путь, установленный `CLAUDE_CODE_DEBUG_LOGS_DIR`. Только истинные значения `1`, `true`, `yes` и `on` включают режим отладки, поэтому шаблоны пространства имён, такие как `DEBUG=express:*`, установленные для других инструментов, не запускают его |

284| `DISABLE_AUTOUPDATER` | Установите на `1`, чтобы отключить автоматические обновления в фоне. Ручная команда `claude update` по-прежнему работает. Используйте `DISABLE_UPDATES`, чтобы заблокировать оба |296| `DISABLE_AUTOUPDATER` | Установите на `1`, чтобы отключить автоматические обновления в фоне. Ручная команда `claude update` по-прежнему работает. Используйте `DISABLE_UPDATES`, чтобы заблокировать оба |

285| `DISABLE_AUTO_COMPACT` | Установите на `1`, чтобы отключить автоматическое сжатие при приближении к лимиту контекста. Команда `/compact` остаётся доступной. Используйте, когда вы хотите явный контроль над тем, когда происходит сжатие |297| `DISABLE_AUTO_COMPACT` | Установите на `1`, чтобы отключить автоматическое сжатие при приближении к лимиту контекста. Команда `/compact` остаётся доступной. Используйте, когда вы хотите явный контроль над тем, когда происходит сжатие |


296| `DISABLE_LOGIN_COMMAND` | Установите на `1`, чтобы скрыть команду `/login`. Полезно, когда аутентификация обрабатывается внешне через ключи API или `apiKeyHelper` |308| `DISABLE_LOGIN_COMMAND` | Установите на `1`, чтобы скрыть команду `/login`. Полезно, когда аутентификация обрабатывается внешне через ключи API или `apiKeyHelper` |

297| `DISABLE_LOGOUT_COMMAND` | Установите на `1`, чтобы скрыть команду `/logout` |309| `DISABLE_LOGOUT_COMMAND` | Установите на `1`, чтобы скрыть команду `/logout` |

298| `DISABLE_PROMPT_CACHING` | Установите на `1`, чтобы отключить [кэширование приглашений](/ru/prompt-caching#disable-prompt-caching) для всех моделей (имеет приоритет над параметрами для отдельных моделей) |310| `DISABLE_PROMPT_CACHING` | Установите на `1`, чтобы отключить [кэширование приглашений](/ru/prompt-caching#disable-prompt-caching) для всех моделей (имеет приоритет над параметрами для отдельных моделей) |

311| `DISABLE_PROMPT_CACHING_FABLE` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Fable |

299| `DISABLE_PROMPT_CACHING_HAIKU` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Haiku |312| `DISABLE_PROMPT_CACHING_HAIKU` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Haiku |

300| `DISABLE_PROMPT_CACHING_OPUS` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Opus |313| `DISABLE_PROMPT_CACHING_OPUS` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Opus |

301| `DISABLE_PROMPT_CACHING_SONNET` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Sonnet |314| `DISABLE_PROMPT_CACHING_SONNET` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Sonnet |


307| `ENABLE_PROMPT_CACHING_1H` | Установите на `1`, чтобы запросить TTL кэша приглашений в 1 час вместо стандартных 5 минут. Предназначено для пользователей ключа API, [Bedrock](/ru/amazon-bedrock), [Vertex](/ru/google-vertex-ai), [Foundry](/ru/microsoft-foundry) и [Claude Platform on AWS](/ru/claude-platform-on-aws). Пользователи подписки получают TTL в 1 час автоматически. Записи кэша в 1 час выставляются по более высокой ставке |320| `ENABLE_PROMPT_CACHING_1H` | Установите на `1`, чтобы запросить TTL кэша приглашений в 1 час вместо стандартных 5 минут. Предназначено для пользователей ключа API, [Bedrock](/ru/amazon-bedrock), [Vertex](/ru/google-vertex-ai), [Foundry](/ru/microsoft-foundry) и [Claude Platform on AWS](/ru/claude-platform-on-aws). Пользователи подписки получают TTL в 1 час автоматически. Записи кэша в 1 час выставляются по более высокой ставке |

308| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Устарело. Используйте `ENABLE_PROMPT_CACHING_1H` вместо этого |321| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Устарело. Используйте `ENABLE_PROMPT_CACHING_1H` вместо этого |

309| `ENABLE_TOOL_SEARCH` | Управляет [поиском инструментов MCP](/ru/mcp#scale-with-mcp-tool-search). Не установлено: все инструменты MCP отложены по умолчанию, но загружены заранее на Vertex AI или когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся хостом первой стороны. Значения: `true` (всегда откладывать и отправлять заголовок beta, запросы не удаются на моделях Vertex AI ранее Sonnet 4.5 или Opus 4.5, или на прокси, которые не поддерживают `tool_reference`), `auto` (режим порога: загружать заранее, если инструменты подходят в пределах 10% контекста), `auto:N` (пользовательский порог, например, `auto:5` для 5%), `false` (загружать все заранее) |322| `ENABLE_TOOL_SEARCH` | Управляет [поиском инструментов MCP](/ru/mcp#scale-with-mcp-tool-search). Не установлено: все инструменты MCP отложены по умолчанию, но загружены заранее на Vertex AI или когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся хостом первой стороны. Значения: `true` (всегда откладывать и отправлять заголовок beta, запросы не удаются на моделях Vertex AI ранее Sonnet 4.5 или Opus 4.5, или на прокси, которые не поддерживают `tool_reference`), `auto` (режим порога: загружать заранее, если инструменты подходят в пределах 10% контекста), `auto:N` (пользовательский порог, например, `auto:5` для 5%), `false` (загружать все заранее) |

310| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Установите на любое непустое значение, чтобы запустить резервный вариант на [`--fallback-model`](/ru/cli-reference#cli-flags) после повторных ошибок перегрузки на любой основной модели. По умолчанию только модели Opus запускают резервный вариант |323| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Установите на любое непустое значение, чтобы все модели, а не только Opus, перестали повторять попытки с повторной ошибкой перегрузки, когда резервная модель не настроена. {/* min-version: 2.1.160 */}Начиная с v2.1.160, настроенная [цепь резервных моделей](/ru/model-config#fallback-model-chains) срабатывает при повторных ошибках перегрузки для любой основной модели, поэтому эта переменная не влияет на переключение на резервную модель |

311| `FORCE_AUTOUPDATE_PLUGINS` | Установите на `1`, чтобы принудительно обновлять plugins автоматически, даже если основной автоматический обновитель отключен через `DISABLE_AUTOUPDATER` |324| `FORCE_AUTOUPDATE_PLUGINS` | Установите на `1`, чтобы принудительно обновлять plugins автоматически, даже если основной автоматический обновитель отключен через `DISABLE_AUTOUPDATER` |

312| `FORCE_PROMPT_CACHING_5M` | Установите на `1`, чтобы принудительно использовать TTL кэша приглашений в 5 минут, даже когда в противном случае применялся бы TTL в 1 час. Переопределяет `ENABLE_PROMPT_CACHING_1H` |325| `FORCE_PROMPT_CACHING_5M` | Установите на `1`, чтобы принудительно использовать TTL кэша приглашений в 5 минут, даже когда в противном случае применялся бы TTL в 1 час. Переопределяет `ENABLE_PROMPT_CACHING_1H` |

313| `HTTP_PROXY` | Укажите HTTP прокси-сервер для сетевых соединений |326| `HTTP_PROXY` | Укажите HTTP прокси-сервер для сетевых соединений |


315| `IS_DEMO` | Установите на `1`, чтобы включить режим демонстрации: скрывает вашу электронную почту и имя организации из заголовка и вывода `/status`, и пропускает адаптацию. Полезно при потоковой передаче или записи сессии |328| `IS_DEMO` | Установите на `1`, чтобы включить режим демонстрации: скрывает вашу электронную почту и имя организации из заголовка и вывода `/status`, и пропускает адаптацию. Полезно при потоковой передаче или записи сессии |

316| `MAX_MCP_OUTPUT_TOKENS` | Максимальное количество токенов, разрешённых в ответах инструментов MCP. Claude Code отображает предупреждение, когда вывод превышает 10 000 токенов. Инструменты, которые объявляют [`anthropic/maxResultSizeChars`](/ru/mcp#raise-the-limit-for-a-specific-tool), используют это ограничение символов для текстового содержимого вместо этого, но содержимое изображения из этих инструментов по-прежнему подлежит этой переменной (по умолчанию: 25000) |329| `MAX_MCP_OUTPUT_TOKENS` | Максимальное количество токенов, разрешённых в ответах инструментов MCP. Claude Code отображает предупреждение, когда вывод превышает 10 000 токенов. Инструменты, которые объявляют [`anthropic/maxResultSizeChars`](/ru/mcp#raise-the-limit-for-a-specific-tool), используют это ограничение символов для текстового содержимого вместо этого, но содержимое изображения из этих инструментов по-прежнему подлежит этой переменной (по умолчанию: 25000) |

317| `MAX_STRUCTURED_OUTPUT_RETRIES` | Количество попыток повтора, когда ответ модели не проходит проверку по [`--json-schema`](/ru/cli-reference#cli-flags) в неинтерактивном режиме (флаг `-p`). По умолчанию 5 |330| `MAX_STRUCTURED_OUTPUT_RETRIES` | Количество попыток повтора, когда ответ модели не проходит проверку по [`--json-schema`](/ru/cli-reference#cli-flags) в неинтерактивном режиме (флаг `-p`). По умолчанию 5 |

318| `MAX_THINKING_TOKENS` | Переопределить бюджет токенов [расширенного мышления](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Потолок — это [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) модели минус один. Установите на `0`, чтобы полностью отключить мышление. На моделях с [адаптивным рассуждением](/ru/model-config#adjust-effort-level) бюджет игнорируется, если адаптивное рассуждение не отключено через `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` |331| `MAX_THINKING_TOKENS` | Переопределить бюджет токенов [расширенного мышления](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Потолок — это [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) модели минус один. Установите на `0`, чтобы отключить мышление на Anthropic API, кроме Fable 5, которое не может отключить мышление. На [сторонних поставщиках](/ru/third-party-integrations), `0` аналогично опускает параметр, и модели с [адаптивным рассуждением](/ru/model-config#adjust-effort-level) могут всё ещё думать. Для ненулевых значений на моделях адаптивного рассуждения бюджет игнорируется, если адаптивное рассуждение не отключено через `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` |

319| `MCP_CLIENT_SECRET` | Секрет клиента OAuth для MCP servers, которые требуют [предварительно настроенные учётные данные](/ru/mcp#use-pre-configured-oauth-credentials). Избегает интерактивного приглашения при добавлении сервера с `--client-secret` |332| `MCP_CLIENT_SECRET` | Секрет клиента OAuth для MCP servers, которые требуют [предварительно настроенные учётные данные](/ru/mcp#use-pre-configured-oauth-credentials). Избегает интерактивного приглашения при добавлении сервера с `--client-secret` |

320| `MCP_CONNECTION_NONBLOCKING` | Управляет тем, ждёт ли запуск подключения MCP servers перед первым запросом. {/* min-version: 2.1.142 */}Начиная с Claude Code v2.1.142, запуск MCP является неблокирующим по умолчанию: серверы подключаются в фоне и их инструменты становятся доступными по мере завершения. Установите на `0`, чтобы восстановить блокирующее ожидание в 5 секунд. Серверы, настроенные с [`alwaysLoad: true`](/ru/mcp#exempt-a-server-from-deferral), всегда блокируют запуск независимо, так как их инструменты должны присутствовать при построении первого приглашения |333| `MCP_CONNECTION_NONBLOCKING` | Управляет тем, ждёт ли запуск подключения MCP servers перед первым запросом. {/* min-version: 2.1.142 */}Начиная с Claude Code v2.1.142, запуск MCP является неблокирующим по умолчанию: серверы подключаются в фоне и их инструменты становятся доступными по мере завершения. Установите на `0`, чтобы восстановить блокирующее ожидание в 5 секунд. Серверы, настроенные с [`alwaysLoad: true`](/ru/mcp#exempt-a-server-from-deferral), всегда блокируют запуск независимо, так как их инструменты должны присутствовать при построении первого приглашения |

321| `MCP_CONNECT_TIMEOUT_MS` | Как долго блокирующий запуск MCP ждёт, в миллисекундах, для пакета подключения перед снимком списка инструментов (по умолчанию: 5000). Применяется, когда `MCP_CONNECTION_NONBLOCKING=0` или для серверов, отмеченных [`alwaysLoad: true`](/ru/mcp#exempt-a-server-from-deferral). Серверы, всё ещё ожидающие на крайнем сроке, продолжают подключаться в фоне, но не будут видны до следующего запроса. Отличается от `MCP_TIMEOUT`, который ограничивает попытку подключения отдельного сервера |334| `MCP_CONNECT_TIMEOUT_MS` | Как долго блокирующий запуск MCP ждёт, в миллисекундах, для пакета подключения перед снимком списка инструментов (по умолчанию: 5000). Применяется, когда `MCP_CONNECTION_NONBLOCKING=0` или для серверов, отмеченных [`alwaysLoad: true`](/ru/mcp#exempt-a-server-from-deferral). Серверы, всё ещё ожидающие на крайнем сроке, продолжают подключаться в фоне, но не будут видны до следующего запроса. Отличается от `MCP_TIMEOUT`, который ограничивает попытку подключения отдельного сервера |


323| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество удалённых MCP servers (HTTP/SSE) для подключения параллельно при запуске (по умолчанию: 20) |336| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество удалённых MCP servers (HTTP/SSE) для подключения параллельно при запуске (по умолчанию: 20) |

324| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество локальных MCP servers (stdio) для подключения параллельно при запуске (по умолчанию: 3) |337| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество локальных MCP servers (stdio) для подключения параллельно при запуске (по умолчанию: 3) |

325| `MCP_TIMEOUT` | Тайм-аут в миллисекундах для запуска MCP server (по умолчанию: 30000, или 30 секунд) |338| `MCP_TIMEOUT` | Тайм-аут в миллисекундах для запуска MCP server (по умолчанию: 30000, или 30 секунд) |

326| `MCP_TOOL_TIMEOUT` | Тайм-аут в миллисекундах для выполнения инструмента MCP (по умолчанию: 100000000, примерно 28 часов). Поле `timeout` для каждого сервера в `.mcp.json` переопределяет это для этого сервера. Значения ниже 1000 ограничиваются одной секундой |339| `MCP_TOOL_TIMEOUT` | Тайм-аут в миллисекундах для выполнения инструмента MCP (по умолчанию: 100000000, примерно 28 часов). Поле `timeout` для каждого сервера в `.mcp.json` переопределяет это для этого сервера. Для переменной окружения значения ниже 1000 ограничиваются одной секундой; для поля для каждого сервера значения ниже 1000 игнорируются |

327| `NO_PROXY` | Список доменов и IP-адресов, на которые запросы будут отправляться напрямую, обходя прокси |340| `NO_PROXY` | Список доменов и IP-адресов, на которые запросы будут отправляться напрямую, обходя прокси |

328| `OTEL_LOG_RAW_API_BODIES` | Выдавать JSON запроса и ответа Anthropic Messages API как события логирования `api_request_body` / `api_response_body`. Установите на `1` для встроенных тел, усечённых на 60 КБ, или `file:<dir>` для записи неусечённых тел на диск и выдачи пути `body_ref` вместо этого. Отключено по умолчанию; тела включают всю историю разговора. См. [Мониторинг](/ru/monitoring-usage#api-request-body-event) |341| `OTEL_LOG_RAW_API_BODIES` | Выдавать JSON запроса и ответа Anthropic Messages API как события логирования `api_request_body` / `api_response_body`. Установите на `1` для встроенных тел, усечённых на 60 КБ, или `file:<dir>` для записи неусечённых тел на диск и выдачи пути `body_ref` вместо этого. Отключено по умолчанию; тела включают всю историю разговора. См. [Мониторинг](/ru/monitoring-usage#api-request-body-event) |

329| `OTEL_LOG_TOOL_CONTENT` | Установите на `1`, чтобы включить содержимое входных и выходных данных инструмента в события span OpenTelemetry. Отключено по умолчанию для защиты конфиденциальных данных. См. [Мониторинг](/ru/monitoring-usage) |342| `OTEL_LOG_TOOL_CONTENT` | Установите на `1`, чтобы включить содержимое входных и выходных данных инструмента в события span OpenTelemetry. Отключено по умолчанию для защиты конфиденциальных данных. См. [Мониторинг](/ru/monitoring-usage) |


348| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Переопределить регион для Claude Opus 4.6 при использовании Vertex AI |361| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Переопределить регион для Claude Opus 4.6 при использовании Vertex AI |

349| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Переопределить регион для Claude Sonnet 4.6 при использовании Vertex AI |362| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Переопределить регион для Claude Sonnet 4.6 при использовании Vertex AI |

350| `VERTEX_REGION_CLAUDE_4_7_OPUS` | {/* min-version: 2.1.111 */}Переопределить регион для Claude Opus 4.7 при использовании Vertex AI. Добавлено в v2.1.111 |363| `VERTEX_REGION_CLAUDE_4_7_OPUS` | {/* min-version: 2.1.111 */}Переопределить регион для Claude Opus 4.7 при использовании Vertex AI. Добавлено в v2.1.111 |

364| `VERTEX_REGION_CLAUDE_4_8_OPUS` | {/* min-version: 2.1.154 */}Переопределить регион для Claude Opus 4.8 при использовании Vertex AI. Добавлено в v2.1.154 |

365| `VERTEX_REGION_CLAUDE_FABLE_5` | {/* min-version: 2.1.170 */}Переопределить регион для Claude Fable 5 при использовании Vertex AI. Добавлено в v2.1.170 |

351| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Переопределить регион для Claude Haiku 4.5 при использовании Vertex AI |366| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Переопределить регион для Claude Haiku 4.5 при использовании Vertex AI |

352 367 

353Также поддерживаются стандартные переменные экспортёра OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` и варианты для конкретных сигналов). См. [Мониторинг](/ru/monitoring-usage) для деталей конфигурации.368Также поддерживаются стандартные переменные экспортёра OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` и варианты для конкретных сигналов). См. [Мониторинг](/ru/monitoring-usage) для деталей конфигурации.

errors.md +200 −49

Details

14 Claude Code вызывает Claude API для получения ответов модели, поэтому большинство ошибок runtime соответствуют базовому коду ошибки API. На этой странице описано, что каждая ошибка означает в Claude Code и как восстановиться. Для определений кодов состояния HTTP в исходном виде см. [Claude Platform error reference](https://platform.claude.com/docs/en/api/errors).14 Claude Code вызывает Claude API для получения ответов модели, поэтому большинство ошибок runtime соответствуют базовому коду ошибки API. На этой странице описано, что каждая ошибка означает в Claude Code и как восстановиться. Для определений кодов состояния HTTP в исходном виде см. [Claude Platform error reference](https://platform.claude.com/docs/en/api/errors).

15</Note>15</Note>

16 16 

17## Найдите вашу ошибку17<h2 id="find-your-error">

18 Найдите вашу ошибку

19</h2>

18 20 

19Сопоставьте сообщение, которое вы видите в терминале, с разделом ниже.21Сопоставьте сообщение, которое вы видите в терминале, с разделом ниже.

20 22 


26| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |28| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |

27| `Auto mode could not evaluate this action and is blocking it for safety` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |29| `Auto mode could not evaluate this action and is blocking it for safety` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |

28| `Auto mode classifier transcript exceeded context window` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |30| `Auto mode classifier transcript exceeded context window` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |

29| `You've hit your session limit` / `You've hit your weekly limit` | [Usage limits](#youve-hit-your-session-limit) |31| `You've hit your session limit` / `You've hit your weekly limit` | [Usage limits](#you%E2%80%99ve-hit-your-session-limit) |

32| `Usage credits required for 1M context` | [Usage limits](#usage-credits-required-for-1m-context) |

30| `Server is temporarily limiting requests` | [Usage limits](#server-is-temporarily-limiting-requests) |33| `Server is temporarily limiting requests` | [Usage limits](#server-is-temporarily-limiting-requests) |

31| `Request rejected (429)` | [Usage limits](#request-rejected-429) |34| `Request rejected (429)` | [Usage limits](#request-rejected-429) |

32| `Credit balance is too low` | [Usage limits](#credit-balance-is-too-low) |35| `Credit balance is too low` | [Usage limits](#credit-balance-is-too-low) |

33| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |36| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |

37| `Could not resolve authentication method` | [Authentication](#could-not-resolve-authentication-method) |

34| `Invalid API key` | [Authentication](#invalid-api-key) |38| `Invalid API key` | [Authentication](#invalid-api-key) |

35| `This organization has been disabled` | [Authentication](#this-organization-has-been-disabled) |39| `This organization has been disabled` | [Authentication](#this-organization-has-been-disabled) |

40| `Your organization has disabled API key authentication` | [Authentication](#your-organization-has-disabled-api-key-authentication) |

36| `Your organization has disabled Claude subscription access` | [Authentication](#your-organization-has-disabled-claude-subscription-access) |41| `Your organization has disabled Claude subscription access` | [Authentication](#your-organization-has-disabled-claude-subscription-access) |

37| `Routines are disabled by your organization's policy` | [Authentication](#routines-are-disabled-by-your-organizations-policy) |42| `Routines are disabled by your organization's policy` | [Authentication](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |

38| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |43| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |

39| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |44| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |

40| `Unable to connect to API` | [Network](#unable-to-connect-to-api) |45| `Unable to connect to API` | [Network](#unable-to-connect-to-api) |


47| `Unable to resize image` | [Request errors](#unable-to-resize-image) |52| `Unable to resize image` | [Request errors](#unable-to-resize-image) |

48| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |53| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |

49| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |54| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |

50| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |55| `There's an issue with the selected model` | [Request errors](#there%E2%80%99s-an-issue-with-the-selected-model) |

51| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |56| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |

52| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |57| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |

53| `max_tokens must be greater than thinking.budget_tokens` | [Request errors](#thinking-budget-exceeds-output-limit) |58| `max_tokens must be greater than thinking.budget_tokens` | [Request errors](#thinking-budget-exceeds-output-limit) |


55| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Request errors](#usage-policy-refusal) |60| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Request errors](#usage-policy-refusal) |

56| Responses seem lower quality than usual | [Response quality](#responses-seem-lower-quality-than-usual) |61| Responses seem lower quality than usual | [Response quality](#responses-seem-lower-quality-than-usual) |

57 62 

58## Автоматические повторные попытки63<h2 id="automatic-retries">

64 Автоматические повторные попытки

65</h2>

59 66 

60Claude Code повторяет попытки при временных сбоях перед отображением ошибки. Ошибки сервера, перегруженные ответы, тайм-ауты запросов, временные дроссели 429 и разорванные соединения повторяются до 10 раз с экспоненциальной задержкой. Во время повторных попыток спиннер показывает обратный отсчет `Retrying in Ns · attempt x/y`.67Claude Code повторяет попытки при временных сбоях перед отображением ошибки. Ошибки сервера, перегруженные ответы, тайм-ауты запросов, временные дроссели 429 и разорванные соединения повторяются до 10 раз с экспоненциальной задержкой. Во время повторных попыток спиннер показывает обратный отсчет `Retrying in Ns · attempt x/y`.

61 68 


66| [`CLAUDE_CODE_MAX_RETRIES`](/ru/env-vars) | 10 | Количество попыток повтора. Снизьте его, чтобы быстрее выявлять сбои в скриптах; повысьте его, чтобы ждать более длительных инцидентов. |73| [`CLAUDE_CODE_MAX_RETRIES`](/ru/env-vars) | 10 | Количество попыток повтора. Снизьте его, чтобы быстрее выявлять сбои в скриптах; повысьте его, чтобы ждать более длительных инцидентов. |

67| [`API_TIMEOUT_MS`](/ru/env-vars) | 600000 | Тайм-аут для каждого запроса в миллисекундах. Повысьте его для медленных сетей или прокси. |74| [`API_TIMEOUT_MS`](/ru/env-vars) | 600000 | Тайм-аут для каждого запроса в миллисекундах. Повысьте его для медленных сетей или прокси. |

68 75 

69## Ошибки сервера76<h2 id="server-errors">

77 Ошибки сервера

78</h2>

70 79 

71Эти ошибки исходят от поставщика услуг вывода, а не от вашей учетной записи или запроса. На Anthropic API это означает инфраструктуру Anthropic. На Bedrock, Vertex AI, Foundry или пользовательском шлюзе это означает инфраструктуру этого поставщика.80Эти ошибки исходят от поставщика услуг вывода, а не от вашей учетной записи или запроса. На Anthropic API это означает инфраструктуру Anthropic. На Bedrock, Vertex AI, Foundry или пользовательском шлюзе это означает инфраструктуру этого поставщика.

72 81 

73### API Error: 500 Internal server error82<h3 id="api-error-500-internal-server-error">

83 API Error: 500 Internal server error

84</h3>

74 85 

75Claude Code отображает код статуса и сообщение об ошибке API для любого ответа 5xx. Пример ниже показывает ответ 500 на Anthropic API:86Claude Code отображает код статуса и сообщение об ошибке API для любого ответа 5xx. Пример ниже показывает ответ 500 на Anthropic API:

76 87 


88* Подождите минуту, затем отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в разговоре, поэтому для длинного запроса вы можете ввести `try again` вместо вставки всего текста.99* Подождите минуту, затем отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в разговоре, поэтому для длинного запроса вы можете ввести `try again` вместо вставки всего текста.

89* Если ошибка сохраняется без опубликованного инцидента, запустите `/feedback`, чтобы Anthropic могла расследовать детали вашего запроса. См. [Сообщить об ошибке](#report-an-error), если `/feedback` недоступна в вашей среде.100* Если ошибка сохраняется без опубликованного инцидента, запустите `/feedback`, чтобы Anthropic могла расследовать детали вашего запроса. См. [Сообщить об ошибке](#report-an-error), если `/feedback` недоступна в вашей среде.

90 101 

91### API Error: Repeated 529 Overloaded errors102<h3 id="api-error-repeated-529-overloaded-errors">

103 API Error: Repeated 529 Overloaded errors

104</h3>

92 105 

93API временно работает на полную мощность для всех пользователей. Claude Code уже несколько раз повторила попытку перед отображением этого сообщения:106API временно работает на полную мощность для всех пользователей. Claude Code уже несколько раз повторила попытку перед отображением этого сообщения:

94 107 


104* Попробуйте еще раз через несколько минут117* Попробуйте еще раз через несколько минут

105* Запустите `/model` и переключитесь на другую модель, чтобы продолжить работу, так как емкость отслеживается для каждой модели. Claude Code предлагает вам это сделать, когда одна модель испытывает особенно высокую нагрузку, например `Opus is experiencing high load, please use /model to switch to Sonnet`.118* Запустите `/model` и переключитесь на другую модель, чтобы продолжить работу, так как емкость отслеживается для каждой модели. Claude Code предлагает вам это сделать, когда одна модель испытывает особенно высокую нагрузку, например `Opus is experiencing high load, please use /model to switch to Sonnet`.

106 119 

107### Request timed out120<h3 id="request-timed-out">

121 Request timed out

122</h3>

108 123 

109API не ответила до истечения срока соединения.124API не ответила до истечения срока соединения.

110 125 


121* Если причина в медленной сети или прокси, повысьте `API_TIMEOUT_MS`, как описано в [Automatic retries](#automatic-retries)136* Если причина в медленной сети или прокси, повысьте `API_TIMEOUT_MS`, как описано в [Automatic retries](#automatic-retries)

122* Если тайм-ауты частые и ваша сеть в остальном здорова, см. [Network and connection errors](#network-and-connection-errors) ниже137* Если тайм-ауты частые и ваша сеть в остальном здорова, см. [Network and connection errors](#network-and-connection-errors) ниже

123 138 

124### Auto mode cannot determine the safety of an action139<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">

140 Auto mode cannot determine the safety of an action

141</h3>

125 142 

126Модель, которую [auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) использует для классификации действий, не смогла принять решение, поэтому auto mode не одобрила действие автоматически. Сообщение, которое вы видите, зависит от того, почему классификатор не сработал.143Модель, которую [auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) использует для классификации действий, не смогла принять решение, поэтому auto mode не одобрила действие автоматически. Сообщение, которое вы видите, зависит от того, почему классификатор не сработал.

127 144 


163* Одобрите или отклоните действие в появившемся запросе180* Одобрите или отклоните действие в появившемся запросе

164* Запустите `/compact`, чтобы уменьшить размер разговора, чтобы последующие действия снова поместились в окне классификатора181* Запустите `/compact`, чтобы уменьшить размер разговора, чтобы последующие действия снова поместились в окне классификатора

165 182 

166## Лимиты использования183<h2 id="usage-limits">

184 Лимиты использования

185</h2>

167 186 

168Эти ошибки означают, что квота, привязанная к вашей учетной записи или плану, была достигнута. Они отличаются от [server errors](#server-errors), которые влияют на всех.187Эти ошибки означают, что квота, привязанная к вашей учетной записи или плану, была достигнута. Они отличаются от [server errors](#server-errors), которые влияют на всех.

169 188 

170### You've hit your session limit189<h3 id="you’ve-hit-your-session-limit">

190 You've hit your session limit

191</h3>

171 192 

172Планы подписки включают скользящий лимит использования. Когда он заканчивается, вы видите одно из этих сообщений:193Планы подписки включают скользящий лимит использования. Когда он заканчивается, вы видите одно из этих сообщений:

173 194 


188 209 

189Чтобы отслеживать оставшийся лимит перед его достижением, добавьте поля `rate_limits` в [custom status line](/ru/statusline#rate-limit-usage), или в Desktop app нажмите [usage ring](/ru/desktop#check-usage) рядом с выбором модели.210Чтобы отслеживать оставшийся лимит перед его достижением, добавьте поля `rate_limits` в [custom status line](/ru/statusline#rate-limit-usage), или в Desktop app нажмите [usage ring](/ru/desktop#check-usage) рядом с выбором модели.

190 211 

191### Server is temporarily limiting requests212<h3 id="usage-credits-required-for-1m-context">

213 Usage credits required for 1M context

214</h3>

215 

216Выбранная модель использует расширенное окно контекста с 1M токенами, и ваш план включает его только через usage credits.

217 

218```text theme={null}

219API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context

220```

221 

222Это проверка прав доступа, а не исчерпание квоты. Она срабатывает даже когда у вас остается емкость в лимитах сеанса и недельного использования. См. [Extended context](/ru/model-config#extended-context) для информации о том, какие планы включают 1M контекст напрямую и какие требуют usage credits.

223 

224{/* min-version: 2.1.172 */}Когда эта ошибка появляется в середине разговора, потому что контекст вырос более чем на 200K токенов, Claude Code автоматически сжимает разговор обратно под стандартный лимит контекста и сохраняет сеанс на этом уровне впоследствии, поэтому никаких действий не требуется. На версиях до v2.1.172 ошибка повторялась при каждом последующем запросе, включая `/compact`; запустите `/clear` на этих версиях для восстановления. Приведенные ниже шаги применяются, когда вы явно выбрали модель `[1m]`.

225 

226**Что делать:**

227 

228* Запустите `/model` и выберите вариант без суффикса `[1m]`, чтобы вернуться к стандартному окну контекста

229* Запустите `/usage-credits`, чтобы включить поэтапное выставление счетов для варианта 1M на Pro и Max, или запросить его у администратора на Team и Enterprise

230* Если ошибка сохраняется после `/model`, ID модели 1M может быть установлен в другом месте. См. [There's an issue with the selected model](#there%E2%80%99s-an-issue-with-the-selected-model) для проверки мест конфигурации в порядке приоритета.

231* Чтобы полностью удалить варианты 1M из выбора модели, установите [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/ru/env-vars)

232 

233<h3 id="server-is-temporarily-limiting-requests">

234 Server is temporarily limiting requests

235</h3>

192 236 

193API применила краткосрочный дроссель, который не связан с квотой вашего плана.237API применила краткосрочный дроссель, который не связан с квотой вашего плана.

194 238 


203* Подождите немного и попробуйте еще раз247* Подождите немного и попробуйте еще раз

204* Проверьте [status.claude.com](https://status.claude.com), если это сохраняется248* Проверьте [status.claude.com](https://status.claude.com), если это сохраняется

205 249 

206### Request rejected (429)250<h3 id="request-rejected-429">

251 Request rejected (429)

252</h3>

207 253 

208Вы достигли лимита скорости, настроенного для вашего ключа API, проекта Amazon Bedrock или проекта Google Vertex AI.254Вы достигли лимита скорости, настроенного для вашего ключа API, проекта Amazon Bedrock или проекта Google Vertex AI.

209 255 


220* Для ключей Anthropic API см. [rate limits reference](https://platform.claude.com/docs/ru/api/rate-limits) для информации о том, как работают уровни и как установить лимиты для каждого рабочего пространства266* Для ключей Anthropic API см. [rate limits reference](https://platform.claude.com/docs/ru/api/rate-limits) для информации о том, как работают уровни и как установить лимиты для каждого рабочего пространства

221* Снизьте параллелизм: понизьте [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/ru/env-vars), избегайте запуска множества параллельных подагентов или переключитесь на меньшую модель с `/model` для высокообъемных скриптовых запусков267* Снизьте параллелизм: понизьте [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/ru/env-vars), избегайте запуска множества параллельных подагентов или переключитесь на меньшую модель с `/model` для высокообъемных скриптовых запусков

222 268 

223### Credit balance is too low269<h3 id="credit-balance-is-too-low">

270 Credit balance is too low

271</h3>

224 272 

225Ваша организация Console исчерпала предоплаченные кредиты.273Ваша организация Console исчерпала предоплаченные кредиты.

226 274 


234* Переключитесь на аутентификацию подписки с помощью `/login`, если у вас есть план Pro, Max, Team или Enterprise282* Переключитесь на аутентификацию подписки с помощью `/login`, если у вас есть план Pro, Max, Team или Enterprise

235* Установите лимиты расходов для каждого рабочего пространства в Console, чтобы предотвратить истощение баланса организации одним проектом. См. [Manage costs effectively](/ru/costs).283* Установите лимиты расходов для каждого рабочего пространства в Console, чтобы предотвратить истощение баланса организации одним проектом. См. [Manage costs effectively](/ru/costs).

236 284 

237## Ошибки аутентификации285<h2 id="authentication-errors">

286 Ошибки аутентификации

287</h2>

238 288 

239Эти ошибки означают, что Claude Code не может доказать вашу личность API. Запустите `/status` в любое время, чтобы увидеть, какие учетные данные в настоящее время активны.289Эти ошибки означают, что Claude Code не может доказать вашу личность API. Запустите `/status` в любое время, чтобы увидеть, какие учетные данные в настоящее время активны.

240 290 

241### Not logged in291<h3 id="not-logged-in">

292 Not logged in

293</h3>

242 294 

243Для этого сеанса нет доступных действительных учетных данных.295Для этого сеанса нет доступных действительных учетных данных.

244 296 


255 307 

256Если вас просят войти повторно, см. [Not logged in or token expired](/ru/troubleshoot-install#not-logged-in-or-token-expired) для исправлений системных часов и macOS Keychain.308Если вас просят войти повторно, см. [Not logged in or token expired](/ru/troubleshoot-install#not-logged-in-or-token-expired) для исправлений системных часов и macOS Keychain.

257 309 

258### Invalid API key310<h3 id="could-not-resolve-authentication-method">

311 Could not resolve authentication method

312</h3>

313 

314Сеанс достиг клиента API без каких-либо учетных данных. Это появляется в [фоновых сеансах](/ru/agent-view), облачных сеансах и контекстах Agent SDK, где проверка интерактивного входа не выполняется перед первым запросом.

315 

316```text theme={null}

317Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted

318```

319 

320{/* min-version: 2.1.174 */}До версии 2.1.174 фоновый или облачный сеанс, назначенный неактивному предварительно инициализированному рабочему процессу, мог завершиться ошибкой таким образом, даже если были настроены действительные учетные данные. Обновитесь для восстановления. В текущих версиях ошибка означает, что рабочему процессу не было доступно никаких учетных данных.

321 

322**Что делать:**

323 

324* Обновитесь до версии 2.1.174 или более поздней, если это появляется в фоновом или облачном сеансе и ваши учетные данные уже настроены

325* Подтвердите, что `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` или учетные данные вашего облачного провайдера установлены в окружении, которое запускает рабочий процесс, а не только в вашей интерактивной оболочке

326* Для Agent SDK см. [authentication setup](/ru/agent-sdk/overview#get-started)

327* Запустите `/status` в интерактивном сеансе в том же окружении, чтобы подтвердить, какой источник учетных данных разрешается

328 

329<h3 id="invalid-api-key">

330 Invalid API key

331</h3>

259 332 

260Переменная окружения `ANTHROPIC_API_KEY` или скрипт `apiKeyHelper` вернули ключ, который API отклонила.333Переменная окружения `ANTHROPIC_API_KEY` или скрипт `apiKeyHelper` вернули ключ, который API отклонила.

261 334 


271* Если ключ поступает из скрипта [`apiKeyHelper`](/ru/settings#available-settings), запустите скрипт напрямую, чтобы подтвердить, что он выводит действительный ключ на stdout344* Если ключ поступает из скрипта [`apiKeyHelper`](/ru/settings#available-settings), запустите скрипт напрямую, чтобы подтвердить, что он выводит действительный ключ на stdout

272* Запустите `/status`, чтобы подтвердить, какой источник учетных данных Claude Code фактически использует345* Запустите `/status`, чтобы подтвердить, какой источник учетных данных Claude Code фактически использует

273 346 

274### This organization has been disabled347<h3 id="this-organization-has-been-disabled">

348 This organization has been disabled

349</h3>

275 350 

276Устаревший `ANTHROPIC_API_KEY` из отключенной организации Console переопределяет вашу подписку входа.351Устаревший `ANTHROPIC_API_KEY` из отключенной организации Console переопределяет вашу подписку входа.

277 352 


288* Запустите `/status` после этого, чтобы подтвердить, что активные учетные данные — это ваша подписка363* Запустите `/status` после этого, чтобы подтвердить, что активные учетные данные — это ваша подписка

289* Если переменная окружения не установлена и ошибка сохраняется, отключенная организация — это та, которая привязана к вашему `/login`. Свяжитесь с поддержкой или войдите с другой учетной записью.364* Если переменная окружения не установлена и ошибка сохраняется, отключенная организация — это та, которая привязана к вашему `/login`. Свяжитесь с поддержкой или войдите с другой учетной записью.

290 365 

291### Your organization has disabled Claude subscription access366<h3 id="your-organization-has-disabled-api-key-authentication">

367 Your organization has disabled API key authentication

368</h3>

369 

370Администратор вашей организации Console отключил аутентификацию по ключу API, поэтому API отклоняет ключ, который отправляет Claude Code. Подсказка восстановления после `·` варьируется в зависимости от того, откуда поступил ключ:

371 

372```text theme={null}

373Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account

374Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead

375Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account

376Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account

377```

378 

379Переменные окружения и `apiKeyHelper` имеют приоритет над `/login`, поэтому просто запуск `/login` не помогает, пока один из них все еще предоставляет ключ. См. [Authentication precedence](/ru/authentication#authentication-precedence).

380 

381**Что делать:**

382 

383* Если сообщение указывает на `ANTHROPIC_API_KEY`, отмените его установку в текущей оболочке и удалите его из профиля вашей оболочки или файла `.env`, затем перезапустите `claude`

384* Если сообщение указывает на `apiKeyHelper`, удалите параметр [`apiKeyHelper`](/ru/settings#available-settings) из вашего `settings.json`

385* Запустите `/login`, чтобы войти с помощью вашей учетной записи claude.ai

386* Запустите `/status` после этого, чтобы подтвердить, что активные учетные данные — это ваша подписка, а не ключ API

387* Если вам нужна аутентификация по ключу API для автоматизации, попросите администратора вашей организации повторно включить ее в Console

388 

389<h3 id="your-organization-has-disabled-claude-subscription-access">

390 Your organization has disabled Claude subscription access

391</h3>

292 392 

293Ваша организация Claude не позволяет входить в Claude Code с помощью входа по подписке. Повторный запуск `/login` с той же учетной записью возвращает ту же ошибку.393Ваша организация Claude не позволяет входить в Claude Code с помощью входа по подписке. Повторный запуск `/login` с той же учетной записью возвращает ту же ошибку.

294 394 


304* Аутентифицируйтесь с помощью ключа API Console вместо вашей подписки. См. [Claude Console authentication](/ru/authentication#claude-console-authentication) для настройки.404* Аутентифицируйтесь с помощью ключа API Console вместо вашей подписки. См. [Claude Console authentication](/ru/authentication#claude-console-authentication) для настройки.

305* Если вы администратор и не видите опцию для включения доступа, свяжитесь с [поддержкой Anthropic](https://support.claude.com)405* Если вы администратор и не видите опцию для включения доступа, свяжитесь с [поддержкой Anthropic](https://support.claude.com)

306 406 

307### Routines are disabled by your organization's policy407<h3 id="routines-are-disabled-by-your-organizations-policy">

408 Routines are disabled by your organization's policy

409</h3>

308 410 

309Ваш администратор Team или Enterprise отключил routines на уровне организации. Ошибка появляется при попытке создать или запустить routine, включая из `/schedule` и пользовательского интерфейса [Routines](/ru/routines) на claude.ai/code.411Ваш администратор Team или Enterprise отключил routines на уровне организации. Ошибка появляется при попытке создать или запустить routine, включая из `/schedule` и пользовательского интерфейса [Routines](/ru/routines) на claude.ai/code.

310 412 


319* Попросите вашего администратора включить переключатель **Routines** на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)421* Попросите вашего администратора включить переключатель **Routines** на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

320* Для одноразовой запланированной работы, которая не требует routines на уровне организации, см. [scheduled tasks](/ru/scheduled-tasks)422* Для одноразовой запланированной работы, которая не требует routines на уровне организации, см. [scheduled tasks](/ru/scheduled-tasks)

321 423 

322### OAuth token revoked or expired424<h3 id="oauth-token-revoked-or-expired">

425 OAuth token revoked or expired

426</h3>

323 427 

324Ваш сохраненный вход больше не действителен. Отозванный токен означает, что вы вышли везде или администратор удалил доступ; истекший токен означает, что автоматическое обновление не удалось в середине сеанса.428Ваш сохраненный вход больше не действителен. Отозванный токен означает, что вы вышли везде или администратор удалил доступ; истекший токен означает, что автоматическое обновление не удалось в середине сеанса.

325 429 


336* Для повторных запросов на вход между запусками см. проверки системных часов и macOS Keychain в [Troubleshooting](/ru/troubleshoot-install#not-logged-in-or-token-expired)440* Для повторных запросов на вход между запусками см. проверки системных часов и macOS Keychain в [Troubleshooting](/ru/troubleshoot-install#not-logged-in-or-token-expired)

337* Для других сбоев, включая `403 Forbidden` и проблемы с браузером OAuth, см. [Login and authentication](/ru/troubleshoot-install#login-and-authentication)441* Для других сбоев, включая `403 Forbidden` и проблемы с браузером OAuth, см. [Login and authentication](/ru/troubleshoot-install#login-and-authentication)

338 442 

339### OAuth scope requirement443<h3 id="oauth-scope-requirement">

444 OAuth scope requirement

445</h3>

340 446 

341Сохраненный токен предшествует требованию области разрешений, которое требует более новая функция. Вы видите это чаще всего из `/usage` и индикатора использования строки состояния:447Сохраненный токен предшествует требованию области разрешений, которое требует более новая функция. Вы видите это чаще всего из `/usage` и индикатора использования строки состояния:

342 448 


348 454 

349* Запустите `/login`, чтобы создать новый токен с текущими областями. Вам не нужно сначала выходить.455* Запустите `/login`, чтобы создать новый токен с текущими областями. Вам не нужно сначала выходить.

350 456 

351## Ошибки сети и соединения457<h2 id="network-and-connection-errors">

458 Ошибки сети и соединения

459</h2>

352 460 

353Эти ошибки означают, что сетевой запрос от Claude Code не смог достичь пункта назначения. Они обычно исходят из вашей локальной сети, прокси или брандмауэра, или из политики сети облачной среды.461Эти ошибки означают, что сетевой запрос от Claude Code не смог достичь пункта назначения. Они обычно исходят из вашей локальной сети, прокси или брандмауэра, или из политики сети облачной среды.

354 462 

355### Unable to connect to API463<h3 id="unable-to-connect-to-api">

464 Unable to connect to API

465</h3>

356 466 

357Соединение TCP с API не удалось или никогда не завершилось.467Соединение TCP с API не удалось или никогда не завершилось.

358 468 


381* На macOS клиент VPN, который был отключен или удален, может оставить интерфейс туннеля или правило маршрутизации. Проверьте `ifconfig` на устаревшие интерфейсы `utun` и удалите расширение сети VPN в System Settings.491* На macOS клиент VPN, который был отключен или удален, может оставить интерфейс туннеля или правило маршрутизации. Проверьте `ifconfig` на устаревшие интерфейсы `utun` и удалите расширение сети VPN в System Settings.

382* Docker Desktop и аналогичные среды выполнения контейнеров могут перехватывать исходящий трафик. Закройте их и повторите попытку, чтобы исключить это.492* Docker Desktop и аналогичные среды выполнения контейнеров могут перехватывать исходящий трафик. Закройте их и повторите попытку, чтобы исключить это.

383 493 

384### SSL certificate errors494<h3 id="ssl-certificate-errors">

495 SSL certificate errors

496</h3>

385 497 

386Прокси или устройство безопасности в вашей сети перехватывает трафик TLS с собственным сертификатом, и Claude Code ему не доверяет.498Прокси или устройство безопасности в вашей сети перехватывает трафик TLS с собственным сертификатом, и Claude Code ему не доверяет.

387 499 


396* См. [Network configuration](/ru/network-config#custom-ca-certificates) для полных инструкций по настройке508* См. [Network configuration](/ru/network-config#custom-ca-certificates) для полных инструкций по настройке

397* Не устанавливайте `NODE_TLS_REJECT_UNAUTHORIZED=0`, что полностью отключает проверку сертификата509* Не устанавливайте `NODE_TLS_REJECT_UNAUTHORIZED=0`, что полностью отключает проверку сертификата

398 510 

399### Host not allowed in a cloud session511<h3 id="host-not-allowed-in-a-cloud-session">

512 Host not allowed in a cloud session

513</h3>

400 514 

401Исходящий HTTP-запрос из облачной сессии или процедуры был заблокирован политикой сети среды.515Исходящий HTTP-запрос из облачной сессии или процедуры был заблокирован политикой сети среды.

402 516 


417 531 

418См. [Network access](/ru/claude-code-on-the-web#network-access) для уровней доступа и списка разрешений по умолчанию. Локальные сессии CLI не затронуты этой политикой.532См. [Network access](/ru/claude-code-on-the-web#network-access) для уровней доступа и списка разрешений по умолчанию. Локальные сессии CLI не затронуты этой политикой.

419 533 

420## Ошибки запроса534<h2 id="request-errors">

535 Ошибки запроса

536</h2>

421 537 

422Эти ошибки означают, что API получила ваш запрос, но отклонила его содержимое.538Эти ошибки означают, что API получила ваш запрос, но отклонила его содержимое.

423 539 

424### Prompt is too long540<h3 id="prompt-is-too-long">

541 Prompt is too long

542</h3>

425 543 

426Разговор плюс прикрепленные файлы превышают контекстное окно модели.544Разговор плюс прикрепленные файлы превышают контекстное окно модели.

427 545 


440 558 

441См. [Explore the context window](/ru/context-window) для интерактивного просмотра того, как заполняется контекст.559См. [Explore the context window](/ru/context-window) для интерактивного просмотра того, как заполняется контекст.

442 560 

443### Error during compaction: Conversation too long561<h3 id="error-during-compaction-conversation-too-long">

562 Error during compaction: Conversation too long

563</h3>

444 564 

445`/compact` сама не удалась, потому что недостаточно свободного контекста для хранения создаваемого ею резюме.565`/compact` сама не удалась, потому что недостаточно свободного контекста для хранения создаваемого ею резюме.

446 566 


455* Нажмите Esc дважды, чтобы открыть список сообщений и вернуться на несколько ходов назад. Это удаляет самые последние сообщения из контекста. Затем запустите `/compact` снова.575* Нажмите Esc дважды, чтобы открыть список сообщений и вернуться на несколько ходов назад. Это удаляет самые последние сообщения из контекста. Затем запустите `/compact` снова.

456* Если отступление не освобождает достаточно места, запустите `/clear`, чтобы начать свежий сеанс. Ваш предыдущий разговор сохраняется и может быть переоткрыт с помощью `/resume`.576* Если отступление не освобождает достаточно места, запустите `/clear`, чтобы начать свежий сеанс. Ваш предыдущий разговор сохраняется и может быть переоткрыт с помощью `/resume`.

457 577 

458### Request too large578<h3 id="request-too-large">

579 Request too large

580</h3>

459 581 

460Исходное тело запроса превысило лимит байтов API перед токенизацией, обычно из-за большого вставленного файла или вложения.582Исходное тело запроса превысило лимит байтов API перед токенизацией, обычно из-за большого вставленного файла или вложения.

461 583 


471* Ссылайтесь на большие файлы по пути вместо вставки их содержимого, чтобы Claude могла читать их по частям593* Ссылайтесь на большие файлы по пути вместо вставки их содержимого, чтобы Claude могла читать их по частям

472* Для изображений см. [Image was too large](#image-was-too-large) ниже594* Для изображений см. [Image was too large](#image-was-too-large) ниже

473 595 

474### Image was too large596<h3 id="image-was-too-large">

597 Image was too large

598</h3>

475 599 

476Вставленное или прикрепленное изображение превышает лимиты размера или размеров API.600Вставленное или прикрепленное изображение превышает лимиты размера или размеров API.

477 601 


480API Error: 400 ... image dimensions exceed max allowed size604API Error: 400 ... image dimensions exceed max allowed size

481```605```

482 606 

483Изображение остается в истории разговора после ошибки, поэтому каждое последующее сообщение не удается с той же ошибкой, пока вы его не удалите.607{/* min-version: 2.1.142 */}Claude Code заменяет необработанное изображение текстовым заполнителем и повторяет попытку, поэтому последующие сообщения успешны. В версиях до 2.1.142 вставленное изображение могло остаться в разговоре и повторить ту же ошибку при каждом последующем сообщении. Чтобы восстановиться в этих версиях, нажмите Esc дважды и вернитесь назад перед ходом, где было добавлено изображение.

484 608 

485**Что делать:**609**Что делать:**

486 610 

487* Нажмите Esc дважды и вернитесь назад перед ходом, где было добавлено изображение

488* Измените размер изображения перед вставкой. API принимает изображения до 8000 пикселей на самой длинной стороне для одного изображения или 2000 пикселей, когда в контексте много изображений.611* Измените размер изображения перед вставкой. API принимает изображения до 8000 пикселей на самой длинной стороне для одного изображения или 2000 пикселей, когда в контексте много изображений.

489* Сделайте более плотный скриншот соответствующего региона вместо полного экрана612* Сделайте более плотный скриншот соответствующего региона вместо полного экрана

490 613 

491### Unable to resize image614<h3 id="unable-to-resize-image">

615 Unable to resize image

616</h3>

492 617 

493Claude Code не смог уменьшить масштаб прикрепленного изображения перед отправкой его в API.618Claude Code не смог уменьшить масштаб прикрепленного изображения перед отправкой его в API.

494 619 


506* Если сообщение просит вас преобразовать изображение, преобразуйте его в PNG, JPEG, GIF или WebP и прикрепите его снова. Claude Code может проверить размеры для этих форматов без обработчика изображений.631* Если сообщение просит вас преобразовать изображение, преобразуйте его в PNG, JPEG, GIF или WebP и прикрепите его снова. Claude Code может проверить размеры для этих форматов без обработчика изображений.

507* Если сообщение сообщает о лимите размера или размеров, измените размер или перекомпрессируйте изображение ниже этого лимита перед прикреплением.632* Если сообщение сообщает о лимите размера или размеров, измените размер или перекомпрессируйте изображение ниже этого лимита перед прикреплением.

508 633 

509### PDF errors634<h3 id="pdf-errors">

635 PDF errors

636</h3>

510 637 

511PDF, который вы прикрепили, не удалось обработать.638PDF, который вы прикрепили, не удалось обработать.

512 639 


521* Для больших PDF-файлов попросите Claude прочитать диапазон страниц с помощью инструмента Read вместо прикрепления всего файла, или извлеките текст с помощью инструмента, такого как `pdftotext`, и ссылайтесь на выходной файл по пути648* Для больших PDF-файлов попросите Claude прочитать диапазон страниц с помощью инструмента Read вместо прикрепления всего файла, или извлеките текст с помощью инструмента, такого как `pdftotext`, и ссылайтесь на выходной файл по пути

522* Для защищенных или недействительных PDF-файлов удалите пароль или повторно экспортируйте файл из исходного приложения, затем попробуйте еще раз649* Для защищенных или недействительных PDF-файлов удалите пароль или повторно экспортируйте файл из исходного приложения, затем попробуйте еще раз

523 650 

524### Extra inputs are not permitted651<h3 id="extra-inputs-are-not-permitted">

652 Extra inputs are not permitted

653</h3>

525 654 

526Прокси или шлюз LLM между Claude Code и API удалили заголовок запроса `anthropic-beta`, поэтому API отклонила поля, которые от него зависят.655Прокси или шлюз LLM между Claude Code и API удалили заголовок запроса `anthropic-beta`, поэтому API отклонила поля, которые от него зависят.

527 656 


538* Настройте ваш шлюз для пересылки заголовка `anthropic-beta`. См. [LLM gateway configuration](/ru/llm-gateway).667* Настройте ваш шлюз для пересылки заголовка `anthropic-beta`. См. [LLM gateway configuration](/ru/llm-gateway).

539* В качестве резервного варианта установите [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/ru/env-vars) перед запуском. Это отключает функции, требующие заголовка бета-версии, чтобы запросы успешно проходили через шлюз, который не может его пересылать.668* В качестве резервного варианта установите [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/ru/env-vars) перед запуском. Это отключает функции, требующие заголовка бета-версии, чтобы запросы успешно проходили через шлюз, который не может его пересылать.

540 669 

541### There's an issue with the selected model670<h3 id="there’s-an-issue-with-the-selected-model">

671 There's an issue with the selected model

672</h3>

542 673 

543Настроенное имя модели не было распознано или ваша учетная запись не имеет доступа к ней. Начиная с v2.1.160 подсказка в конце, показанная здесь в интерактивной форме, варьируется в зависимости от поверхности.674Настроенное имя модели не было распознано или ваша учетная запись не имеет доступа к ней. Начиная с v2.1.160 подсказка в конце, показанная здесь в интерактивной форме, варьируется в зависимости от поверхности.

544 675 


555* Если неправильная модель продолжает возвращаться в CLI, где-то установлен устаревший ID. Проверьте в [порядке приоритета](/ru/model-config#setting-your-model): флаг `--model`, переменная окружения `ANTHROPIC_MODEL`, затем поле `model` в `.claude/settings.local.json`, файл `.claude/settings.json` вашего проекта и `~/.claude/settings.json`. Удалите устаревшее значение, и Claude Code вернется к стандартной модели вашей учетной записи.686* Если неправильная модель продолжает возвращаться в CLI, где-то установлен устаревший ID. Проверьте в [порядке приоритета](/ru/model-config#setting-your-model): флаг `--model`, переменная окружения `ANTHROPIC_MODEL`, затем поле `model` в `.claude/settings.local.json`, файл `.claude/settings.json` вашего проекта и `~/.claude/settings.json`. Удалите устаревшее значение, и Claude Code вернется к стандартной модели вашей учетной записи.

556* Для развертываний Vertex AI см. [Vertex AI troubleshooting](/ru/google-vertex-ai#troubleshooting).687* Для развертываний Vertex AI см. [Vertex AI troubleshooting](/ru/google-vertex-ai#troubleshooting).

557 688 

558### Claude Opus is not available with the Claude Pro plan689<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">

690 Claude Opus is not available with the Claude Pro plan

691</h3>

559 692 

560Ваш активный план подписки не включает выбранную модель.693Ваш активный план подписки не включает выбранную модель.

561 694 


569* Если вы недавно обновили свой план и все еще видите это, запустите `/logout`, затем `/login`. Сохраненный токен отражает ваш план на момент входа, поэтому обновление в Интернете не вступает в силу в существующем сеансе, пока вы не повторно аутентифицируетесь.702* Если вы недавно обновили свой план и все еще видите это, запустите `/logout`, затем `/login`. Сохраненный токен отражает ваш план на момент входа, поэтому обновление в Интернете не вступает в силу в существующем сеансе, пока вы не повторно аутентифицируетесь.

570* См. [claude.com/pricing](https://claude.com/pricing) для информации о том, какие модели включает каждый план703* См. [claude.com/pricing](https://claude.com/pricing) для информации о том, какие модели включает каждый план

571 704 

572### thinking.type.enabled is not supported for this model705<h3 id="thinking-type-enabled-is-not-supported-for-this-model">

706 thinking.type.enabled is not supported for this model

707</h3>

573 708 

574Ваша версия Claude Code старше минимальной для Opus 4.7 или Opus 4.8. CLI отправила конфигурацию thinking, которую модель больше не принимает.709Ваша версия Claude Code старше минимальной для Opus 4.7 или Opus 4.8. CLI отправила конфигурацию thinking, которую модель больше не принимает.

575 710 


583* Если вы не можете обновиться, запустите `/model` и выберите Opus 4.6 или Sonnet вместо этого718* Если вы не можете обновиться, запустите `/model` и выберите Opus 4.6 или Sonnet вместо этого

584* Если вы столкнулись с этим в Agent SDK, см. [SDK troubleshooting](/ru/agent-sdk/quickstart#troubleshooting)719* Если вы столкнулись с этим в Agent SDK, см. [SDK troubleshooting](/ru/agent-sdk/quickstart#troubleshooting)

585 720 

586### Thinking budget exceeds output limit721<h3 id="thinking-budget-exceeds-output-limit">

722 Thinking budget exceeds output limit

723</h3>

587 724 

588Настроенный бюджет расширенного thinking превышает максимальную длину ответа, поэтому для фактического ответа не осталось места.725Настроенный бюджет расширенного thinking превышает максимальную длину ответа, поэтому для фактического ответа не осталось места.

589 726 


598* Понизьте `MAX_THINKING_TOKENS`, или повысьте [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/ru/env-vars) выше бюджета thinking735* Понизьте `MAX_THINKING_TOKENS`, или повысьте [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/ru/env-vars) выше бюджета thinking

599* См. [Extended thinking](/ru/model-config#extended-thinking) для информации о том, как бюджет взаимодействует с длиной вывода736* См. [Extended thinking](/ru/model-config#extended-thinking) для информации о том, как бюджет взаимодействует с длиной вывода

600 737 

601### Tool use or thinking block mismatch738<h3 id="tool-use-or-thinking-block-mismatch">

739 Tool use or thinking block mismatch

740</h3>

602 741 

603История разговора достигла API в несогласованном состоянии, обычно после того, как вызов инструмента был прерван или ход был отредактирован в середине потока.742История разговора достигла API в несогласованном состоянии, обычно после того, как вызов инструмента был прерван или ход был отредактирован в середине потока.

604 743 


615* {/* max-version: 2.1.155 */}Если вы используете Opus 4.7 или Opus 4.8, сначала запустите `claude update`. Версии до v2.1.156 могут вызвать эту ошибку при обычном использовании инструментов, и `/rewind` не очищает ее.754* {/* max-version: 2.1.155 */}Если вы используете Opus 4.7 или Opus 4.8, сначала запустите `claude update`. Версии до v2.1.156 могут вызвать эту ошибку при обычном использовании инструментов, и `/rewind` не очищает ее.

616* Запустите `/rewind`, или нажмите Esc дважды, чтобы вернуться к контрольной точке перед поврежденным ходом и продолжить оттуда. См. [Checkpointing](/ru/checkpointing) для информации о том, как создаются и восстанавливаются контрольные точки.755* Запустите `/rewind`, или нажмите Esc дважды, чтобы вернуться к контрольной точке перед поврежденным ходом и продолжить оттуда. См. [Checkpointing](/ru/checkpointing) для информации о том, как создаются и восстанавливаются контрольные точки.

617 756 

618### Usage Policy refusal757<h3 id="usage-policy-refusal">

758 Usage Policy refusal

759</h3>

619 760 

620API отказалась отвечать, потому что содержимое в разговоре вызвало проверку [Usage Policy](https://www.anthropic.com/legal/aup). Сообщение включает Request ID, который вы можете привести в поддержку, если считаете, что отказ неправильный.761API отказалась отвечать, потому что содержимое в разговоре вызвало проверку [Usage Policy](https://www.anthropic.com/legal/aup). Сообщение включает Request ID, который вы можете привести в поддержку, если считаете, что отказ неправильный.

621 762 


629 770 

630* Нажмите Esc дважды или запустите `/rewind`, чтобы вернуться к контрольной точке перед ходом, который вызвал отказ, затем переформулируйте или примите другой подход. См. [Checkpointing](/ru/checkpointing).771* Нажмите Esc дважды или запустите `/rewind`, чтобы вернуться к контрольной точке перед ходом, который вызвал отказ, затем переформулируйте или примите другой подход. См. [Checkpointing](/ru/checkpointing).

631* Если вы не можете определить, какой ход вызвал это, запустите `/clear`, чтобы начать свежий разговор в том же проекте. Ваш предыдущий разговор сохраняется на диске и остается доступным в `/resume`.772* Если вы не можете определить, какой ход вызвал это, запустите `/clear`, чтобы начать свежий разговор в том же проекте. Ваш предыдущий разговор сохраняется на диске и остается доступным в `/resume`.

632* В [non-interactive mode](/ru/headless) (`-p`), где перемотка недоступна, повторите попытку с переформулированным запросом или начните новый сеанс без `--continue`.773* В [non-interactive mode](/ru/headless) (`-p`), где перемотка недоступна, повторите попытку с переформулированным запросом в новом сеансе без `--continue`. Проверки политики варьируются в зависимости от модели, поэтому переключение на другую модель с помощью `--model` также может разрешить отказ в некоторых случаях.

774 

775<h2 id="responses-seem-lower-quality-than-usual">

776 Responses seem lower quality than usual

777</h2>

778 

779Если ответы Claude кажутся менее способными, чем вы ожидаете, но ошибка не отображается, причина обычно в состоянии разговора, а не в самой модели. Claude Code не молча меняет версии моделей. Она может переключиться на резервную модель в трёх конкретных случаях:

633 780 

634## Responses seem lower quality than usual781* Настроенный [`--fallback-model`](/ru/cli-reference#cli-flags) берёт на себя управление после ошибки доступности, только для этого хода, с уведомлением в стенограмме

782* Проверка запуска Bedrock или Vertex AI обнаруживает, что ваша модель по умолчанию недоступна

783* [Automatic model fallback](/ru/model-config#automatic-model-fallback) на Fable 5 перемещает сеанс на модель Opus по умолчанию и показывает уведомление в стенограмме

635 784 

636Если ответы Claude кажутся менее способными, чем вы ожидаете, но ошибка не отображается, причина обычно в состоянии разговора, а не в самой модели. Claude Code не молча меняет версии моделей. Она может переключиться на резервную модель в конкретных случаях, таких как достижение квоты Opus или отсутствие вашей модели в регионе Bedrock или Vertex AI; проверка Model selection ниже ловит оба, и [Model configuration](/ru/model-config) объясняет, когда применяется резервная версия.785Проверка Model selection ниже ловит второй и третий случаи; первый появляется как уведомление в стенограмме, а не как изменение `/model`. [Model configuration](/ru/model-config) объясняет, когда применяется каждая резервная версия.

637 786 

638Сначала проверьте эти пункты:787Сначала проверьте эти пункты:

639 788 

640* **Model selection**: запустите `/model`, чтобы подтвердить, что вы находитесь на модели, которую ожидаете. Предыдущий выбор `/model` или переменная окружения `ANTHROPIC_MODEL` могут поместить вас на меньшую модель, чем вы предполагали.789* **Model selection**: запустите `/model`, чтобы подтвердить, что вы находитесь на модели, которую ожидаете. Предыдущий выбор `/model` или переменная окружения `ANTHROPIC_MODEL` могут поместить вас на меньшую модель, чем вы предполагали.

641* **Effort level**: запустите `/effort`, чтобы проверить текущий уровень рассуждений и повысить его для сложной отладки или работы по дизайну. Значения по умолчанию варьируются в зависимости от модели, поэтому проверьте перед предположением, что вы ниже максимума. См. [Adjust effort level](/ru/model-config#adjust-effort-level) для значений по умолчанию для каждой модели и ярлыка `ultrathink`.790* **Effort level**: запустите `/effort`, чтобы проверить текущий уровень рассуждений и повысить его для сложной отладки или работы по дизайну. Значения по умолчанию варьируются в зависимости от модели, поэтому проверьте перед предположением, что вы ниже максимума. См. [Adjust effort level](/ru/model-config#adjust-effort-level) для значений по умолчанию для каждой модели и ярлыка `ultrathink`.

642* **Context pressure**: запустите `/context`, чтобы увидеть, насколько полно окно. Если оно близко к емкости, запустите `/compact` в естественной точке разрыва или `/clear`, чтобы начать заново. См. [Explore the context window](/ru/context-window) для информации о том, как auto-compact влияет на более ранние ходы.791* **Context pressure**: запустите `/context`, чтобы увидеть, насколько полно окно. Если оно близко к ёмкости, запустите `/compact` в естественной точке разрыва или `/clear`, чтобы начать заново. См. [Explore the context window](/ru/context-window) для информации о том, как auto-compact влияет на более ранние ходы.

643* **Stale instructions**: большие или устаревшие файлы `CLAUDE.md` и определения инструментов MCP потребляют контекст и могут направлять ответы. `/doctor` отмечает переразмеренные файлы памяти и определения подагентов; `/context` показывает использование токенов инструментов MCP.792* **Stale instructions**: большие или устаревшие файлы `CLAUDE.md` и определения инструментов MCP потребляют контекст и могут направлять ответы. `/doctor` отмечает переразмеренные файлы памяти и определения подагентов; `/context` показывает использование токенов инструментов MCP.

644 793 

645Когда ответ идет неправильно, откат обычно работает лучше, чем ответ с исправлениями. Нажмите Esc дважды или запустите `/rewind`, чтобы вернуться перед плохим ходом, затем переформулируйте запрос с большей конкретикой. Исправление в потоке сохраняет неправильную попытку в контексте, что может привязать более поздние ответы к ней. См. [Checkpointing](/ru/checkpointing).794Когда ответ идет неправильно, откат обычно работает лучше, чем ответ с исправлениями. Нажмите Esc дважды или запустите `/rewind`, чтобы вернуться перед плохим ходом, затем переформулируйте запрос с большей конкретикой. Исправление в потоке сохраняет неправильную попытку в контексте, что может привязать более поздние ответы к ней. См. [Checkpointing](/ru/checkpointing).

646 795 

647Если качество все еще кажется неправильным после проверки вышеуказанного, запустите `/feedback` и опишите, что вы ожидали в сравнении с тем, что вы получили. Обратная связь, отправленная таким образом, включает стенограмму разговора, что является самым быстрым способом для Anthropic диагностировать реальную регрессию. См. [Report an error](#report-an-error), если `/feedback` недоступна в вашей среде.796Если качество все ещё кажется неправильным после проверки вышеуказанного, запустите `/feedback` и опишите, что вы ожидали в сравнении с тем, что вы получили. Обратная связь, отправленная таким образом, включает стенограмму разговора, что является самым быстрым способом для Anthropic диагностировать реальную регрессию. См. [Report an error](#report-an-error), если `/feedback` недоступна в вашей среде.

648 797 

649## Сообщить об ошибке798<h2 id="report-an-error">

799 Сообщить об ошибке

800</h2>

650 801 

651На этой странице рассматриваются ошибки из Claude API. Для ошибок из других компонентов Claude Code см. соответствующее руководство:802На этой странице рассматриваются ошибки из Claude API. Для ошибок из других компонентов Claude Code см. соответствующее руководство:

652 803 

fast-mode.md +1 −1

Details

115* **Включение администратором для Team и Enterprise**: быстрый режим отключен по умолчанию для организаций Team и Enterprise. Администратор должен явно [включить быстрый режим](#enable-fast-mode-for-your-organization) перед тем, как пользователи смогут получить к нему доступ.115* **Включение администратором для Team и Enterprise**: быстрый режим отключен по умолчанию для организаций Team и Enterprise. Администратор должен явно [включить быстрый режим](#enable-fast-mode-for-your-organization) перед тем, как пользователи смогут получить к нему доступ.

116 116 

117<Note>117<Note>

118 Если ваш администратор не включил быстрый режим для вашей организации, команда `/fast` покажет "Fast mode has been disabled by your organization."118 Если ваш администратор не включил быстрый режим для вашей организации, команда `/fast` покажет "Fast mode has been disabled by your organization." Если список разрешенных моделей вашей организации [`availableModels`](/ru/model-config#restrict-model-selection) исключает модель быстрого режима Opus, `/fast` отклоняется с сообщением "is not in your organization's allowed models".

119</Note>119</Note>

120 120 

121<h3 id="enable-fast-mode-for-your-organization">121<h3 id="enable-fast-mode-for-your-organization">

Details

109 109 

110 **Поместите в skill**, если это справочный материал, который Claude иногда нужен (документация API, руководства по стилю) или рабочий процесс, который вы запускаете с помощью `/<name>` (развёртывание, рецензирование, выпуск).110 **Поместите в skill**, если это справочный материал, который Claude иногда нужен (документация API, руководства по стилю) или рабочий процесс, который вы запускаете с помощью `/<name>` (развёртывание, рецензирование, выпуск).

111 111 

112 **Практическое правило:** Держите CLAUDE.md под 200 строк. Если он растёт, переместите справочный контент в skills или разделите на файлы [`.claude/rules/`](/ru/memory#organize-rules-with-clauderules).112 **Практическое правило:** Держите CLAUDE.md под 200 строк. Если он растёт, переместите справочный контент в skills или разделите на файлы [`.claude/rules/`](/ru/memory#organize-rules-with-claude%2Frules%2F).

113 </Tab>113 </Tab>

114 114 

115 <Tab title="CLAUDE.md vs Rules vs Skills">115 <Tab title="CLAUDE.md vs Rules vs Skills">


198 198 

199Функции могут быть определены на нескольких уровнях: для всех пользователей, для каждого проекта, через plugins или через управляемые политики. Вы также можете вложить файлы CLAUDE.md в подкаталоги или разместить skills в определённых пакетах monorepo. Когда одна и та же функция существует на нескольких уровнях, вот как они слоятся:199Функции могут быть определены на нескольких уровнях: для всех пользователей, для каждого проекта, через plugins или через управляемые политики. Вы также можете вложить файлы CLAUDE.md в подкаталоги или разместить skills в определённых пакетах monorepo. Когда одна и та же функция существует на нескольких уровнях, вот как они слоятся:

200 200 

201* **Файлы CLAUDE.md** являются аддитивными: все уровни одновременно вносят контент в контекст Claude. Файлы из вашего рабочего каталога и выше загружаются при запуске; подкаталоги загружаются по мере работы в них. Когда инструкции конфликтуют, Claude использует суждение для их согласования, при этом более специфичные инструкции обычно имеют приоритет. Подробнее см. в разделе [как загружаются файлы CLAUDE.md](/ru/memory#how-claudemd-files-load).201* **Файлы CLAUDE.md** являются аддитивными: все уровни одновременно вносят контент в контекст Claude. Файлы из вашего рабочего каталога и выше загружаются при запуске; подкаталоги загружаются по мере работы в них. Когда инструкции конфликтуют, Claude использует суждение для их согласования, при этом более специфичные инструкции обычно имеют приоритет. Подробнее см. в разделе [как загружаются файлы CLAUDE.md](/ru/memory#how-claude-md-files-load).

202* **Skills и subagents** переопределяют по имени: когда одно и то же имя существует на нескольких уровнях, одно определение побеждает на основе приоритета (управляемый > пользователь > проект для skills; управляемый > флаг CLI > проект > пользователь > plugin для subagents). Plugin skills имеют [пространство имён](/ru/plugins#add-skills-to-your-plugin) для избежания конфликтов. Подробнее см. в разделах [обнаружение skills](/ru/skills#where-skills-live) и [область subagent](/ru/sub-agents#choose-the-subagent-scope).202* **Skills и subagents** переопределяют по имени: когда одно и то же имя существует на нескольких уровнях, одно определение побеждает на основе приоритета (управляемый > пользователь > проект для skills; управляемый > флаг CLI > проект > пользователь > plugin для subagents). Plugin skills имеют [пространство имён](/ru/plugins#add-skills-to-your-plugin) для избежания конфликтов. Подробнее см. в разделах [обнаружение skills](/ru/skills#where-skills-live) и [область subagent](/ru/sub-agents#choose-the-subagent-scope).

203* **MCP servers** переопределяют по имени: локальный > проект > пользователь. Подробнее см. в разделе [область MCP](/ru/mcp#scope-hierarchy-and-precedence).203* **MCP servers** переопределяют по имени: локальный > проект > пользователь. Подробнее см. в разделе [область MCP](/ru/mcp#scope-hierarchy-and-precedence).

204* **Hooks** объединяются: все зарегистрированные hooks срабатывают для своих соответствующих событий независимо от источника. Подробнее см. в разделе [Hooks](/ru/hooks).204* **Hooks** объединяются: все зарегистрированные hooks срабатывают для своих соответствующих событий независимо от источника. Подробнее см. в разделе [Hooks](/ru/hooks).


255 255 

256 **Что загружается:** Полный контент всех файлов CLAUDE.md (управляемые, пользовательские и уровни проекта).256 **Что загружается:** Полный контент всех файлов CLAUDE.md (управляемые, пользовательские и уровни проекта).

257 257 

258 **Наследование:** Claude читает файлы CLAUDE.md из вашего рабочего каталога вверх до корня и обнаруживает вложенные в подкаталогах по мере доступа к этим файлам. Подробнее см. в разделе [How CLAUDE.md files load](/ru/memory#how-claudemd-files-load).258 **Наследование:** Claude читает файлы CLAUDE.md из вашего рабочего каталога вверх до корня и обнаруживает вложенные в подкаталогах по мере доступа к этим файлам. Подробнее см. в разделе [How CLAUDE.md files load](/ru/memory#how-claude-md-files-load).

259 259 

260 <Tip>Держите CLAUDE.md под 200 строк. Переместите справочный материал в skills, которые загружаются по требованию.</Tip>260 <Tip>Держите CLAUDE.md под 200 строк. Переместите справочный материал в skills, которые загружаются по требованию.</Tip>

261 </Tab>261 </Tab>

fullscreen.md +22 −3

Details

104export CLAUDE_CODE_SCROLL_SPEED=3104export CLAUDE_CODE_SCROLL_SPEED=3

105```105```

106 106 

107Значение `3` соответствует значению по умолчанию в `vim` и аналогичных приложениях. Параметр принимает значения от 1 до 20.107Значение `3` соответствует значению по умолчанию в `vim` и аналогичных приложениях. Параметр принимает значения от 1 до 20, а также дробные значения ниже 1, такие как `0.5`, для замедления ускоренной прокрутки трекпада и колеса в терминалах, которые уже усиливают события колеса.

108 108 

109Чтобы отрегулировать скорость прокрутки интерактивно, запустите `/scroll-speed`. Диалог показывает линейку, по которой вы можете прокручивать, пока он открыт, чтобы вы могли почувствовать изменение немедленно. Нажимайте `←` и `→` для регулировки, `r` для сброса на автоматически обнаруженное значение по умолчанию, и `Enter` для сохранения. Команда записывает то же значение, которое устанавливает переменная окружения `CLAUDE_CODE_SCROLL_SPEED`, сохраняемое в `~/.claude/settings.json`. Команда недоступна в терминале IDE JetBrains.109Чтобы отрегулировать скорость прокрутки интерактивно, запустите `/scroll-speed`. Диалог показывает линейку, по которой вы можете прокручивать, пока он открыт, чтобы вы могли почувствовать изменение немедленно. Нажимайте `←` и `→` для регулировки, `r` для сброса на автоматически обнаруженное значение по умолчанию, и `Enter` для сохранения. Команда записывает то же значение, которое устанавливает переменная окружения `CLAUDE_CODE_SCROLL_SPEED`, сохраняемое в `~/.claude/settings.json`. Команда недоступна в терминале IDE JetBrains.

110 110 

111Отдельно от базовой скорости Claude Code ускоряет скорость прокрутки, когда вы быстро крутите колесо, поэтому быстрое вращение охватывает большее расстояние, чем то же количество медленных щелчков. Чтобы отключить ускорение и сохранить постоянную скорость на щелчок, установите `wheelScrollAccelerationEnabled` на `false` в [`settings.json`](/ru/settings#available-settings). Этот параметр требует Claude Code v2.1.174 или более поздней версии.

112 

111<h3 id="scroll-in-the-jetbrains-ide-terminal">113<h3 id="scroll-in-the-jetbrains-ide-terminal">

112 Прокрутка в терминале IDE JetBrains114 Прокрутка в терминале IDE JetBrains

113</h3>115</h3>


171 173 

172Захват мыши — наиболее частая точка трения, особенно по SSH или внутри tmux. Когда Claude Code захватывает события мыши, встроенное копирование при выделении вашего терминала перестаёт работать. Выделение, которое вы делаете с помощью нажатия и перетаскивания, существует внутри Claude Code, а не в буфере выделения вашего терминала, поэтому режим копирования tmux, подсказки Kitty и аналогичные инструменты его не видят.174Захват мыши — наиболее частая точка трения, особенно по SSH или внутри tmux. Когда Claude Code захватывает события мыши, встроенное копирование при выделении вашего терминала перестаёт работать. Выделение, которое вы делаете с помощью нажатия и перетаскивания, существует внутри Claude Code, а не в буфере выделения вашего терминала, поэтому режим копирования tmux, подсказки Kitty и аналогичные инструменты его не видят.

173 175 

174Claude Code пытается записать выделение в буфер обмена, но путь, который он использует, зависит от вашей установки. Внутри tmux он записывает в буфер вставки tmux. По SSH он возвращается к последовательностям escape OSC 52, которые некоторые терминалы блокируют по умолчанию. iTerm2 блокирует их до тех пор, пока вы не включите Settings → General → Selection → Applications in terminal may access clipboard. Запуск [`/terminal-setup`](/ru/terminal-config) в iTerm2 включает это для вас. Claude Code выводит уведомление после каждого копирования, сообщая вам, какой путь он использовал.176Claude Code записывает выделение в буфер обмена вашей системы, и путь, который он использует, зависит от вашей установки. В локальном сеансе он запускает встроенный инструмент буфера обмена:

177 

178* **macOS**: `pbcopy`

179* **Linux**: `wl-copy` на Wayland или `xclip` или `xsel` на X11, в зависимости от того, что установлено. Claude Code записывает как буфер обмена, так и первичное выделение, поэтому вставка средней кнопкой мыши работает.

180* **Windows и WSL**: PowerShell `Set-Clipboard`

181 

182Внутри tmux он также записывает в буфер вставки tmux. По SSH он возвращается к последовательностям escape OSC 52. Claude Code выводит уведомление после каждого копирования, сообщая вам, какой путь он использовал.

183 

184Некоторые терминалы блокируют OSC 52 по умолчанию. iTerm2 блокирует его до тех пор, пока вы не включите Settings → General → Selection → Applications in terminal may access clipboard; запуск [`/terminal-setup`](/ru/terminal-config) в iTerm2 включает это для вас.

185 

186Для одноразового встроенного выделения клавиша, которую нужно использовать, зависит от вашего терминала:

187 

188* **Terminal.app**: `Fn`

189* **iTerm2**: `Option`

190* **VS Code, Cursor и Devin Desktop**: `Shift` или `Option` на macOS с включённой настройкой `terminal.integrated.macOptionClickForcesSelection`

191* **Большинство других терминалов**: `Shift`

192 

193Удерживайте эту клавишу во время нажатия и перетаскивания. Ваш терминал обрабатывает выделение самостоятельно вместо передачи его в Claude Code, поэтому сочетания клавиш копирования, такие как `Cmd+C`, работают на том, что вы выбираете. Claude Code также показывает правильную клавишу в своей подсказке на экране.

175 194 

176Для одноразового встроенного выделения удерживайте модификатор обхода вашего терминала во время нажатия и перетаскивания: `Option` в iTerm2 или `Shift` в большинстве терминалов Linux и Windows. Модификатор указывает вашему терминалу обрабатывать выделение самостоятельно вместо передачи событий мыши в Claude Code, поэтому `Cmd+C` и другие сочетания клавиш копирования вашего терминала работают на нём.195По SSH или внутри tmux Claude Code не всегда может определить терминал, с которого вы подключаетесь, поэтому подсказка перечисляет возможные клавиши.

177 196 

178Если вы полагаетесь на встроенное выделение всё время, установите `CLAUDE_CODE_DISABLE_MOUSE=1` для отказа от захвата мыши, сохраняя визуализацию без мерцания и плоскую память:197Если вы полагаетесь на встроенное выделение всё время, установите `CLAUDE_CODE_DISABLE_MOUSE=1` для отказа от захвата мыши, сохраняя визуализацию без мерцания и плоскую память:

179 198 

github-actions.md +105 −41

Details

12 Claude Code GitHub Actions построен на основе [Claude Agent SDK](/ru/agent-sdk/overview), который обеспечивает программную интеграцию Claude Code в ваши приложения. Вы можете использовать SDK для создания пользовательских рабочих процессов автоматизации за пределами GitHub Actions.12 Claude Code GitHub Actions построен на основе [Claude Agent SDK](/ru/agent-sdk/overview), который обеспечивает программную интеграцию Claude Code в ваши приложения. Вы можете использовать SDK для создания пользовательских рабочих процессов автоматизации за пределами GitHub Actions.

13</Note>13</Note>

14 14 

15<Info>15<h2 id="why-use-claude-code-github-actions">

16 **Claude Opus 4.8 теперь доступен.** Claude Code GitHub Actions по умолчанию используют Sonnet. Для использования Opus 4.8 настройте [параметр модели](#breaking-changes-reference) на использование `claude-opus-4-8`.16 Зачем использовать Claude Code GitHub Actions?

17</Info>17</h2>

18 

19## Зачем использовать Claude Code GitHub Actions?

20 18 

21* **Мгновенное создание PR**: Опишите, что вам нужно, и Claude создаст полный PR со всеми необходимыми изменениями19* **Мгновенное создание PR**: Опишите, что вам нужно, и Claude создаст полный PR со всеми необходимыми изменениями

22* **Автоматизированная реализация кода**: Превратите issues в рабочий код одной командой20* **Автоматизированная реализация кода**: Превратите issues в рабочий код одной командой


24* **Простая настройка**: Начните работу за несколько минут с нашим установщиком и API ключом22* **Простая настройка**: Начните работу за несколько минут с нашим установщиком и API ключом

25* **Безопасность по умолчанию**: Ваш код остаётся на серверах Github23* **Безопасность по умолчанию**: Ваш код остаётся на серверах Github

26 24 

27## Что может делать Claude?25<h2 id="what-can-claude-do">

26 Что может делать Claude?

27</h2>

28 28 

29Claude Code предоставляет мощный GitHub Action, который преобразует способ работы с кодом:29Claude Code предоставляет мощный GitHub Action, который преобразует способ работы с кодом:

30 30 

31### Claude Code Action31<h3 id="claude-code-action">

32 Claude Code Action

33</h3>

32 34 

33Этот GitHub Action позволяет вам запускать Claude Code в ваших рабочих процессах GitHub Actions. Вы можете использовать это для создания любого пользовательского рабочего процесса на основе Claude Code.35Этот GitHub Action позволяет вам запускать Claude Code в ваших рабочих процессах GitHub Actions. Вы можете использовать это для создания любого пользовательского рабочего процесса на основе Claude Code.

34 36 

35[Просмотреть репозиторий →](https://github.com/anthropics/claude-code-action)37[Просмотреть репозиторий →](https://github.com/anthropics/claude-code-action)

36 38 

37## Настройка39<h2 id="setup">

40 Настройка

41</h2>

38 42 

39## Быстрая настройка43<h2 id="quick-setup">

44 Быстрая настройка

45</h2>

40 46 

41Самый простой способ настроить это действие — через Claude Code в терминале. Просто откройте claude и запустите `/install-github-app`.47Самый простой способ настроить это действие — через Claude Code в терминале. Просто откройте claude и запустите `/install-github-app`.

42 48 


48 * Этот метод быстрого старта доступен только для прямых пользователей Claude API. Если вы используете Amazon Bedrock или Google Vertex AI, см. раздел [Использование с Amazon Bedrock и Google Vertex AI](#using-with-amazon-bedrock-%26-google-vertex-ai).54 * Этот метод быстрого старта доступен только для прямых пользователей Claude API. Если вы используете Amazon Bedrock или Google Vertex AI, см. раздел [Использование с Amazon Bedrock и Google Vertex AI](#using-with-amazon-bedrock-%26-google-vertex-ai).

49</Note>55</Note>

50 56 

51## Ручная настройка57<h2 id="manual-setup">

58 Ручная настройка

59</h2>

52 60 

53Если команда `/install-github-app` не сработала или вы предпочитаете ручную настройку, следуйте этим инструкциям ручной настройки:61Если команда `/install-github-app` не сработала или вы предпочитаете ручную настройку, следуйте этим инструкциям ручной настройки:

54 62 


68 После завершения быстрой настройки или ручной настройки протестируйте действие, отметив `@claude` в комментарии issue или PR.76 После завершения быстрой настройки или ручной настройки протестируйте действие, отметив `@claude` в комментарии issue или PR.

69</Tip>77</Tip>

70 78 

71## Обновление с бета-версии79<h2 id="upgrading-from-beta">

80 Обновление с бета-версии

81</h2>

72 82 

73<Warning>83<Warning>

74 Claude Code GitHub Actions v1.0 вводит критические изменения, которые требуют обновления ваших файлов рабочего процесса для обновления с бета-версии на v1.0.84 Claude Code GitHub Actions v1.0 вводит критические изменения, которые требуют обновления ваших файлов рабочего процесса для обновления с бета-версии на v1.0.


76 86 

77Если вы в настоящее время используете бета-версию Claude Code GitHub Actions, мы рекомендуем обновить ваши рабочие процессы для использования версии GA. Новая версия упрощает конфигурацию, добавляя мощные новые функции, такие как автоматическое обнаружение режима.87Если вы в настоящее время используете бета-версию Claude Code GitHub Actions, мы рекомендуем обновить ваши рабочие процессы для использования версии GA. Новая версия упрощает конфигурацию, добавляя мощные новые функции, такие как автоматическое обнаружение режима.

78 88 

79### Существенные изменения89<h3 id="essential-changes">

90 Существенные изменения

91</h3>

80 92 

81Все пользователи бета-версии должны внести эти изменения в свои файлы рабочего процесса для обновления:93Все пользователи бета-версии должны внести эти изменения в свои файлы рабочего процесса для обновления:

82 94 


853. **Обновите входные данные prompt**: Замените `direct_prompt` на `prompt`973. **Обновите входные данные prompt**: Замените `direct_prompt` на `prompt`

864. **Переместите параметры CLI**: Преобразуйте `max_turns`, `model`, `custom_instructions` и т.д. в `claude_args`984. **Переместите параметры CLI**: Преобразуйте `max_turns`, `model`, `custom_instructions` и т.д. в `claude_args`

87 99 

88### Справочник критических изменений100<h3 id="breaking-changes-reference">

101 Справочник критических изменений

102</h3>

89 103 

90| Старый вход бета-версии | Новый вход v1.0 |104| Старый вход бета-версии | Новый вход v1.0 |

91| ----------------------- | ------------------------------------------ |105| ----------------------- | ------------------------------------------ |


99| `disallowed_tools` | `claude_args: --disallowedTools` |113| `disallowed_tools` | `claude_args: --disallowedTools` |

100| `claude_env` | `settings` формат JSON |114| `claude_env` | `settings` формат JSON |

101 115 

102### Пример до и после116<h3 id="before-and-after-example">

117 Пример до и после

118</h3>

103 119 

104**Бета-версия:**120**Бета-версия:**

105 121 


131 Действие теперь автоматически обнаруживает, следует ли запускать в интерактивном режиме (отвечает на упоминания `@claude`) или в режиме автоматизации (запускается немедленно с prompt) на основе вашей конфигурации.147 Действие теперь автоматически обнаруживает, следует ли запускать в интерактивном режиме (отвечает на упоминания `@claude`) или в режиме автоматизации (запускается немедленно с prompt) на основе вашей конфигурации.

132</Tip>148</Tip>

133 149 

134## Примеры использования150<h2 id="example-use-cases">

151 Примеры использования

152</h2>

135 153 

136Claude Code GitHub Actions может помочь вам с различными задачами. [Каталог примеров](https://github.com/anthropics/claude-code-action/tree/main/examples) содержит готовые к использованию рабочие процессы для различных сценариев.154Claude Code GitHub Actions может помочь вам с различными задачами. [Каталог примеров](https://github.com/anthropics/claude-code-action/tree/main/examples) содержит готовые к использованию рабочие процессы для различных сценариев.

137 155 

138### Базовый рабочий процесс156<h3 id="basic-workflow">

157 Базовый рабочий процесс

158</h3>

139 159 

140```yaml theme={null}160```yaml theme={null}

141name: Claude Code161name: Claude Code


154 # Responds to @claude mentions in comments174 # Responds to @claude mentions in comments

155```175```

156 176 

157### Использование skills177<h3 id="using-skills">

178 Использование skills

179</h3>

158 180 

159Входной параметр `prompt` принимает как [вызов skill](/ru/skills), так и простой текст:181Входной параметр `prompt` принимает как [вызов skill](/ru/skills), так и простой текст:

160 182 


180 prompt: "/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"202 prompt: "/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"

181```203```

182 204 

183### Пользовательская автоматизация с prompts205<h3 id="custom-automation-with-prompts">

206 Пользовательская автоматизация с prompts

207</h3>

184 208 

185```yaml theme={null}209```yaml theme={null}

186name: Daily Report210name: Daily Report


198 claude_args: "--model opus"222 claude_args: "--model opus"

199```223```

200 224 

201### Распространённые случаи использования225<h3 id="common-use-cases">

226 Распространённые случаи использования

227</h3>

202 228 

203В комментариях issue или PR:229В комментариях issue или PR:

204 230 


210 236 

211Claude автоматически проанализирует контекст и ответит соответствующим образом.237Claude автоматически проанализирует контекст и ответит соответствующим образом.

212 238 

213## Лучшие практики239<h2 id="best-practices">

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

241</h2>

214 242 

215### Конфигурация CLAUDE.md243<h3 id="claude-md-configuration">

244 Конфигурация CLAUDE.md

245</h3>

216 246 

217Создайте файл `CLAUDE.md` в корне вашего репозитория для определения рекомендаций по стилю кода, критериев проверки, правил, специфичных для проекта, и предпочитаемых паттернов. Этот файл направляет понимание Claude стандартов вашего проекта.247Создайте файл `CLAUDE.md` в корне вашего репозитория для определения рекомендаций по стилю кода, критериев проверки, правил, специфичных для проекта, и предпочитаемых паттернов. Этот файл направляет понимание Claude стандартов вашего проекта.

218 248 

219### Соображения безопасности249<h3 id="security-considerations">

250 Соображения безопасности

251</h3>

220 252 

221<Warning>Никогда не коммитьте API ключи непосредственно в ваш репозиторий.</Warning>253<Warning>Никогда не коммитьте API ключи непосредственно в ваш репозиторий.</Warning>

222 254 


231 263 

232Всегда используйте GitHub Secrets (например, `${{ secrets.ANTHROPIC_API_KEY }}`) вместо жёсткого кодирования API ключей непосредственно в ваши файлы рабочего процесса.264Всегда используйте GitHub Secrets (например, `${{ secrets.ANTHROPIC_API_KEY }}`) вместо жёсткого кодирования API ключей непосредственно в ваши файлы рабочего процесса.

233 265 

234### Оптимизация производительности266<h3 id="optimizing-performance">

267 Оптимизация производительности

268</h3>

235 269 

236Используйте шаблоны issues для предоставления контекста, держите ваш `CLAUDE.md` кратким и сосредоточенным, и настройте соответствующие тайм-ауты для ваших рабочих процессов.270Используйте шаблоны issues для предоставления контекста, держите ваш `CLAUDE.md` кратким и сосредоточенным, и настройте соответствующие тайм-ауты для ваших рабочих процессов.

237 271 

238### Затраты CI272<h3 id="ci-costs">

273 Затраты CI

274</h3>

239 275 

240При использовании Claude Code GitHub Actions помните о связанных затратах:276При использовании Claude Code GitHub Actions помните о связанных затратах:

241 277 


257* Установите тайм-ауты на уровне рабочего процесса, чтобы избежать неконтролируемых заданий293* Установите тайм-ауты на уровне рабочего процесса, чтобы избежать неконтролируемых заданий

258* Рассмотрите использование элементов управления параллелизмом GitHub для ограничения параллельных запусков294* Рассмотрите использование элементов управления параллелизмом GitHub для ограничения параллельных запусков

259 295 

260## Примеры конфигурации296<h2 id="configuration-examples">

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

298</h2>

261 299 

262Claude Code Action v1 упрощает конфигурацию с унифицированными параметрами:300Claude Code Action v1 упрощает конфигурацию с унифицированными параметрами:

263 301 


282 При ответе на комментарии issue или PR, Claude автоматически отвечает на упоминания @claude. Для других событий используйте параметр `prompt` для предоставления инструкций.320 При ответе на комментарии issue или PR, Claude автоматически отвечает на упоминания @claude. Для других событий используйте параметр `prompt` для предоставления инструкций.

283</Tip>321</Tip>

284 322 

285## Использование с Amazon Bedrock и Google Vertex AI323<h2 id="using-with-amazon-bedrock--google-vertex-ai">

324 Использование с Amazon Bedrock и Google Vertex AI

325</h2>

286 326 

287Для корпоративных сред вы можете использовать Claude Code GitHub Actions с вашей собственной облачной инфраструктурой. Этот подход даёт вам контроль над местоположением данных и выставлением счётов при сохранении той же функциональности.327Для корпоративных сред вы можете использовать Claude Code GitHub Actions с вашей собственной облачной инфраструктурой. Этот подход даёт вам контроль над местоположением данных и выставлением счётов при сохранении той же функциональности.

288 328 

289### Предварительные требования329<h3 id="prerequisites">

330 Предварительные требования

331</h3>

290 332 

291Перед настройкой Claude Code GitHub Actions с облачными провайдерами вам нужно:333Перед настройкой Claude Code GitHub Actions с облачными провайдерами вам нужно:

292 334 

293#### Для Google Cloud Vertex AI:335<h4 id="for-google-cloud-vertex-ai">

336 Для Google Cloud Vertex AI:

337</h4>

294 338 

2951. Проект Google Cloud с включённым Vertex AI3391. Проект Google Cloud с включённым Vertex AI

2962. Workload Identity Federation, настроенный для GitHub Actions3402. Workload Identity Federation, настроенный для GitHub Actions

2973. Сервисный аккаунт с необходимыми разрешениями3413. Сервисный аккаунт с необходимыми разрешениями

2984. GitHub App (рекомендуется) или использование стандартного GITHUB\_TOKEN3424. GitHub App (рекомендуется) или использование стандартного GITHUB\_TOKEN

299 343 

300#### Для AWS Bedrock:344<h4 id="for-amazon-bedrock">

345 Для Amazon Bedrock:

346</h4>

301 347 

3021. Аккаунт AWS с включённым Amazon Bedrock3481. Аккаунт AWS с включённым Amazon Bedrock

3032. GitHub OIDC Identity Provider, настроенный в AWS3492. GitHub OIDC Identity Provider, настроенный в AWS


458 </Step>504 </Step>

459 505 

460 <Step title="Создайте файлы рабочего процесса">506 <Step title="Создайте файлы рабочего процесса">

461 Создайте файлы рабочего процесса GitHub Actions, которые интегрируются с вашим облачным провайдером. Примеры ниже показывают полные конфигурации как для AWS Bedrock, так и для Google Vertex AI:507 Создайте файлы рабочего процесса GitHub Actions, которые интегрируются с вашим облачным провайдером. Примеры ниже показывают полные конфигурации как для Amazon Bedrock, так и для Google Vertex AI:

462 508 

463 <AccordionGroup>509 <AccordionGroup>

464 <Accordion title="AWS Bedrock workflow">510 <Accordion title="Amazon Bedrock workflow">

465 **Предварительные требования:**511 **Предварительные требования:**

466 512 

467 * Доступ AWS Bedrock включён с разрешениями модели Claude513 * Доступ Amazon Bedrock включён с разрешениями модели Claude

468 * GitHub настроен как OIDC поставщик идентификации в AWS514 * GitHub настроен как OIDC поставщик идентификации в AWS

469 * IAM роль с разрешениями Bedrock, которая доверяет GitHub Actions515 * IAM роль с разрешениями Bedrock, которая доверяет GitHub Actions

470 516 


609 </Step>655 </Step>

610</Steps>656</Steps>

611 657 

612## Troubleshooting658<h2 id="troubleshooting">

659 Troubleshooting

660</h2>

613 661 

614### Claude не отвечает на команды @claude662<h3 id="claude-not-responding-to-claude-commands">

663 Claude не отвечает на команды @claude

664</h3>

615 665 

616Проверьте, что GitHub App установлен правильно, убедитесь, что рабочие процессы включены, убедитесь, что API ключ установлен в секретах репозитория, и подтвердите, что комментарий содержит `@claude` (не `/claude`).666Проверьте, что GitHub App установлен правильно, убедитесь, что рабочие процессы включены, убедитесь, что API ключ установлен в секретах репозитория, и подтвердите, что комментарий содержит `@claude` (не `/claude`).

617 667 

618### CI не запускается на коммитах Claude668<h3 id="ci-not-running-on-claude’s-commits">

669 CI не запускается на коммитах Claude

670</h3>

619 671 

620Убедитесь, что вы используете GitHub App или пользовательское приложение (не пользователя Actions), проверьте, что триггеры рабочего процесса включают необходимые события, и проверьте, что разрешения приложения включают триггеры CI.672Убедитесь, что вы используете GitHub App или пользовательское приложение (не пользователя Actions), проверьте, что триггеры рабочего процесса включают необходимые события, и проверьте, что разрешения приложения включают триггеры CI.

621 673 

622### Ошибки аутентификации674<h3 id="authentication-errors">

675 Ошибки аутентификации

676</h3>

623 677 

624Подтвердите, что API ключ действителен и имеет достаточные разрешения. Для Bedrock/Vertex проверьте конфигурацию учётных данных и убедитесь, что секреты правильно названы в рабочих процессах.678Подтвердите, что API ключ действителен и имеет достаточные разрешения. Для Bedrock/Vertex проверьте конфигурацию учётных данных и убедитесь, что секреты правильно названы в рабочих процессах.

625 679 

626## Расширенная конфигурация680<h2 id="advanced-configuration">

681 Расширенная конфигурация

682</h2>

627 683 

628### Параметры действия684<h3 id="action-parameters">

685 Параметры действия

686</h3>

629 687 

630Claude Code Action v1 использует упрощённую конфигурацию:688Claude Code Action v1 использует упрощённую конфигурацию:

631 689 


644\*Prompt опционален — при пропуске для комментариев issue/PR, Claude отвечает на фразу триггера\702\*Prompt опционален — при пропуске для комментариев issue/PR, Claude отвечает на фразу триггера\

645\*\*Требуется для прямого Claude API, не требуется для Bedrock/Vertex703\*\*Требуется для прямого Claude API, не требуется для Bedrock/Vertex

646 704 

647#### Передайте аргументы CLI705<h4 id="pass-cli-arguments">

706 Передайте аргументы CLI

707</h4>

648 708 

649Параметр `claude_args` принимает любые аргументы Claude Code CLI:709Параметр `claude_args` принимает любые аргументы Claude Code CLI:

650 710 


660* `--allowedTools`: Список разрешённых инструментов, разделённый запятыми. Также работает псевдоним `--allowed-tools`.720* `--allowedTools`: Список разрешённых инструментов, разделённый запятыми. Также работает псевдоним `--allowed-tools`.

661* `--debug`: Включить вывод отладки721* `--debug`: Включить вывод отладки

662 722 

663### Альтернативные методы интеграции723<h3 id="alternative-integration-methods">

724 Альтернативные методы интеграции

725</h3>

664 726 

665Хотя команда `/install-github-app` является рекомендуемым подходом, вы также можете:727Хотя команда `/install-github-app` является рекомендуемым подходом, вы также можете:

666 728 


670 732 

671См. [документацию Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs) для получения подробных руководств по аутентификации, безопасности и расширенной конфигурации.733См. [документацию Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs) для получения подробных руководств по аутентификации, безопасности и расширенной конфигурации.

672 734 

673### Настройка поведения Claude735<h3 id="customizing-claude’s-behavior">

736 Настройка поведения Claude

737</h3>

674 738 

675Вы можете настроить поведение Claude двумя способами:739Вы можете настроить поведение Claude двумя способами:

676 740 

gitlab-ci-cd.md +85 −29

Details

16 Эта интеграция построена на основе [Claude Code CLI и Agent SDK](/ru/agent-sdk/overview), обеспечивая программное использование Claude в ваших заданиях CI/CD и пользовательских рабочих процессах автоматизации.16 Эта интеграция построена на основе [Claude Code CLI и Agent SDK](/ru/agent-sdk/overview), обеспечивая программное использование Claude в ваших заданиях CI/CD и пользовательских рабочих процессах автоматизации.

17</Note>17</Note>

18 18 

19## Почему использовать Claude Code с GitLab?19<h2 id="why-use-claude-code-with-gitlab">

20 Почему использовать Claude Code с GitLab?

21</h2>

20 22 

21* **Мгновенное создание MR**: Опишите, что вам нужно, и Claude предложит полный MR с изменениями и объяснением23* **Мгновенное создание MR**: Опишите, что вам нужно, и Claude предложит полный MR с изменениями и объяснением

22* **Автоматизированная реализация**: Превратите проблемы в рабочий код с помощью одной команды или упоминания24* **Автоматизированная реализация**: Превратите проблемы в рабочий код с помощью одной команды или упоминания


25* **Готово для предприятия**: Выберите Claude API, Amazon Bedrock или Google Vertex AI для соответствия требованиям к месторасположению данных и закупкам27* **Готово для предприятия**: Выберите Claude API, Amazon Bedrock или Google Vertex AI для соответствия требованиям к месторасположению данных и закупкам

26* **Безопасно по умолчанию**: Работает на ваших GitLab runners с вашей защитой ветвей и утверждениями28* **Безопасно по умолчанию**: Работает на ваших GitLab runners с вашей защитой ветвей и утверждениями

27 29 

28## Как это работает30<h2 id="how-it-works">

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

32</h2>

29 33 

30Claude Code использует GitLab CI/CD для запуска задач AI в изолированных заданиях и фиксации результатов обратно через MR:34Claude Code использует GitLab CI/CD для запуска задач AI в изолированных заданиях и фиксации результатов обратно через MR:

31 35 


40 44 

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

42 46 

43## Что может делать Claude?47<h2 id="what-can-claude-do">

48 Что может делать Claude?

49</h2>

44 50 

45Claude Code обеспечивает мощные рабочие процессы CI/CD, которые преобразуют способ работы с кодом:51Claude Code обеспечивает мощные рабочие процессы CI/CD, которые преобразуют способ работы с кодом:

46 52 


50* Исправление ошибок и регрессий, выявленных тестами или комментариями56* Исправление ошибок и регрессий, выявленных тестами или комментариями

51* Ответ на последующие комментарии для итерации по запрошенным изменениям57* Ответ на последующие комментарии для итерации по запрошенным изменениям

52 58 

53## Настройка59<h2 id="setup">

60 Настройка

61</h2>

54 62 

55### Быстрая настройка63<h3 id="quick-setup">

64 Быстрая настройка

65</h3>

56 66 

57Самый быстрый способ начать работу — добавить минимальное задание в ваш `.gitlab-ci.yml` и установить ваш ключ API как замаскированную переменную.67Самый быстрый способ начать работу — добавить минимальное задание в ваш `.gitlab-ci.yml` и установить ваш ключ API как замаскированную переменную.

58 68 


98После добавления задания и переменной `ANTHROPIC_API_KEY` протестируйте, запустив задание вручную из **CI/CD** → **Pipelines**, или запустите его из MR, чтобы позволить Claude предложить обновления в ветви и открыть MR при необходимости.108После добавления задания и переменной `ANTHROPIC_API_KEY` протестируйте, запустив задание вручную из **CI/CD** → **Pipelines**, или запустите его из MR, чтобы позволить Claude предложить обновления в ветви и открыть MR при необходимости.

99 109 

100<Note>110<Note>

101 Для запуска на Amazon Bedrock или Google Vertex AI вместо Claude API см. раздел [Использование с Amazon Bedrock и Google Vertex AI](#using-with-amazon-bedrock--google-vertex-ai) ниже для настройки аутентификации и окружения.111 Для запуска на Amazon Bedrock или Google Vertex AI вместо Claude API см. раздел [Использование с Amazon Bedrock и Google Vertex AI](#using-with-amazon-bedrock-%26-google-vertex-ai) ниже для настройки аутентификации и окружения.

102</Note>112</Note>

103 113 

104### Ручная настройка (рекомендуется для производства)114<h3 id="manual-setup-recommended-for-production">

115 Ручная настройка (рекомендуется для производства)

116</h3>

105 117 

106Если вы предпочитаете более контролируемую настройку или вам нужны поставщики для предприятия:118Если вы предпочитаете более контролируемую настройку или вам нужны поставщики для предприятия:

107 119 


120 * Добавьте webhook проекта для "Comments (notes)" к вашему прослушивателю событий (если вы его используете)132 * Добавьте webhook проекта для "Comments (notes)" к вашему прослушивателю событий (если вы его используете)

121 * Попросите прослушиватель вызвать API триггера конвейера с переменными, такими как `AI_FLOW_INPUT` и `AI_FLOW_CONTEXT`, когда комментарий содержит `@claude`133 * Попросите прослушиватель вызвать API триггера конвейера с переменными, такими как `AI_FLOW_INPUT` и `AI_FLOW_CONTEXT`, когда комментарий содержит `@claude`

122 134 

123## Примеры использования135<h2 id="example-use-cases">

136 Примеры использования

137</h2>

124 138 

125### Превратите проблемы в MR139<h3 id="turn-issues-into-mrs">

140 Превратите проблемы в MR

141</h3>

126 142 

127В комментарии проблемы:143В комментарии проблемы:

128 144 


132 148 

133Claude анализирует проблему и кодовую базу, записывает изменения в ветви и открывает MR для рецензирования.149Claude анализирует проблему и кодовую базу, записывает изменения в ветви и открывает MR для рецензирования.

134 150 

135### Получите помощь в реализации151<h3 id="get-implementation-help">

152 Получите помощь в реализации

153</h3>

136 154 

137В обсуждении MR:155В обсуждении MR:

138 156 


142 160 

143Claude предлагает изменения, добавляет код с соответствующим кешированием и обновляет MR.161Claude предлагает изменения, добавляет код с соответствующим кешированием и обновляет MR.

144 162 

145### Быстро исправляйте ошибки163<h3 id="fix-bugs-quickly">

164 Быстро исправляйте ошибки

165</h3>

146 166 

147В комментарии проблемы или MR:167В комментарии проблемы или MR:

148 168 


152 172 

153Claude находит ошибку, реализует исправление и обновляет ветвь или открывает новый MR.173Claude находит ошибку, реализует исправление и обновляет ветвь или открывает новый MR.

154 174 

155## Использование с Amazon Bedrock и Google Vertex AI175<h2 id="using-with-amazon-bedrock--google-vertex-ai">

176 Использование с Amazon Bedrock и Google Vertex AI

177</h2>

156 178 

157Для корпоративных сред вы можете запустить Claude Code полностью на вашей облачной инфраструктуре с тем же опытом разработчика.179Для корпоративных сред вы можете запустить Claude Code полностью на вашей облачной инфраструктуре с тем же опытом разработчика.

158 180 


238 </Tab>260 </Tab>

239</Tabs>261</Tabs>

240 262 

241## Примеры конфигурации263<h2 id="configuration-examples">

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

265</h2>

242 266 

243Ниже приведены готовые к использованию фрагменты, которые вы можете адаптировать к вашему конвейеру.267Ниже приведены готовые к использованию фрагменты, которые вы можете адаптировать к вашему конвейеру.

244 268 

245### Базовый .gitlab-ci.yml (Claude API)269<h3 id="basic-gitlab-ci-yml-claude-api">

270 Базовый .gitlab-ci.yml (Claude API)

271</h3>

246 272 

247```yaml theme={null}273```yaml theme={null}

248stages:274stages:


271 # Claude Code будет использовать ANTHROPIC_API_KEY из переменных CI/CD297 # Claude Code будет использовать ANTHROPIC_API_KEY из переменных CI/CD

272```298```

273 299 

274### Пример задания Amazon Bedrock (OIDC)300<h3 id="amazon-bedrock-job-example-oidc">

301 Пример задания Amazon Bedrock (OIDC)

302</h3>

275 303 

276**Предварительные требования:**304**Предварительные требования:**

277 305 


322 Идентификаторы моделей для Bedrock включают префиксы, специфичные для региона (например, `us.anthropic.claude-sonnet-4-6`). Передайте желаемую модель через конфигурацию задания или подсказку, если ваш рабочий процесс это поддерживает.350 Идентификаторы моделей для Bedrock включают префиксы, специфичные для региона (например, `us.anthropic.claude-sonnet-4-6`). Передайте желаемую модель через конфигурацию задания или подсказку, если ваш рабочий процесс это поддерживает.

323</Note>351</Note>

324 352 

325### Пример задания Google Vertex AI (Workload Identity Federation)353<h3 id="google-vertex-ai-job-example-workload-identity-federation">

354 Пример задания Google Vertex AI (Workload Identity Federation)

355</h3>

326 356 

327**Предварительные требования:**357**Предварительные требования:**

328 358 


375 С Workload Identity Federation вам не нужно сохранять ключи учетной записи сервиса. Используйте условия доверия, специфичные для репозитория, и учетные записи сервиса с наименьшими привилегиями.405 С Workload Identity Federation вам не нужно сохранять ключи учетной записи сервиса. Используйте условия доверия, специфичные для репозитория, и учетные записи сервиса с наименьшими привилегиями.

376</Note>406</Note>

377 407 

378## Лучшие практики408<h2 id="best-practices">

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

410</h2>

379 411 

380### Конфигурация CLAUDE.md412<h3 id="claude-md-configuration">

413 Конфигурация CLAUDE.md

414</h3>

381 415 

382Создайте файл `CLAUDE.md` в корне репозитория, чтобы определить стандарты кодирования, критерии рецензирования и правила, специфичные для проекта. Claude читает этот файл во время запусков и следует вашим соглашениям при предложении изменений.416Создайте файл `CLAUDE.md` в корне репозитория, чтобы определить стандарты кодирования, критерии рецензирования и правила, специфичные для проекта. Claude читает этот файл во время запусков и следует вашим соглашениям при предложении изменений.

383 417 

384### Соображения безопасности418<h3 id="security-considerations">

419 Соображения безопасности

420</h3>

385 421 

386**Никогда не фиксируйте ключи API или учетные данные облака в вашем репозитории**. Всегда используйте переменные GitLab CI/CD:422**Никогда не фиксируйте ключи API или учетные данные облака в вашем репозитории**. Всегда используйте переменные GitLab CI/CD:

387 423 


390* Ограничьте разрешения задания и исходящий трафик сети426* Ограничьте разрешения задания и исходящий трафик сети

391* Рецензируйте MR Claude, как любого другого участника427* Рецензируйте MR Claude, как любого другого участника

392 428 

393### Оптимизация производительности429<h3 id="optimizing-performance">

430 Оптимизация производительности

431</h3>

394 432 

395* Держите `CLAUDE.md` сосредоточенным и кратким433* Держите `CLAUDE.md` сосредоточенным и кратким

396* Предоставляйте четкие описания проблем/MR, чтобы снизить количество итераций434* Предоставляйте четкие описания проблем/MR, чтобы снизить количество итераций

397* Настройте разумные тайм-ауты заданий, чтобы избежать неконтролируемых запусков435* Настройте разумные тайм-ауты заданий, чтобы избежать неконтролируемых запусков

398* Кешируйте npm и установки пакетов на runners, где возможно436* Кешируйте npm и установки пакетов на runners, где возможно

399 437 

400### Затраты CI438<h3 id="ci-costs">

439 Затраты CI

440</h3>

401 441 

402При использовании Claude Code с GitLab CI/CD помните о связанных затратах:442При использовании Claude Code с GitLab CI/CD помните о связанных затратах:

403 443 


415 * Установите соответствующие значения `max_turns` и тайм-аут задания455 * Установите соответствующие значения `max_turns` и тайм-аут задания

416 * Ограничьте параллелизм для управления параллельными запусками456 * Ограничьте параллелизм для управления параллельными запусками

417 457 

418## Безопасность и управление458<h2 id="security-and-governance">

459 Безопасность и управление

460</h2>

419 461 

420* Каждое задание выполняется в изолированном контейнере с ограниченным доступом в сеть462* Каждое задание выполняется в изолированном контейнере с ограниченным доступом в сеть

421* Изменения Claude проходят через MR, чтобы рецензенты видели каждый diff463* Изменения Claude проходят через MR, чтобы рецензенты видели каждый diff


423* Claude Code использует разрешения с областью действия рабочего пространства для ограничения записей465* Claude Code использует разрешения с областью действия рабочего пространства для ограничения записей

424* Затраты остаются под вашим контролем, потому что вы приносите свои собственные учетные данные поставщика466* Затраты остаются под вашим контролем, потому что вы приносите свои собственные учетные данные поставщика

425 467 

426## Устранение неполадок468<h2 id="troubleshooting">

469 Устранение неполадок

470</h2>

427 471 

428### Claude не отвечает на команды @claude472<h3 id="claude-not-responding-to-claude-commands">

473 Claude не отвечает на команды @claude

474</h3>

429 475 

430* Убедитесь, что ваш конвейер запускается (вручную, событие MR или через прослушиватель событий/webhook примечания)476* Убедитесь, что ваш конвейер запускается (вручную, событие MR или через прослушиватель событий/webhook примечания)

431* Убедитесь, что переменные CI/CD (`ANTHROPIC_API_KEY` или параметры облачного поставщика) присутствуют и не замаскированы477* Убедитесь, что переменные CI/CD (`ANTHROPIC_API_KEY` или параметры облачного поставщика) присутствуют и не замаскированы

432* Проверьте, что комментарий содержит `@claude` (не `/claude`) и что ваш триггер упоминания настроен478* Проверьте, что комментарий содержит `@claude` (не `/claude`) и что ваш триггер упоминания настроен

433 479 

434### Задание не может писать комментарии или открывать MR480<h3 id="job-can’t-write-comments-or-open-mrs">

481 Задание не может писать комментарии или открывать MR

482</h3>

435 483 

436* Убедитесь, что `CI_JOB_TOKEN` имеет достаточные разрешения для проекта, или используйте Project Access Token с областью `api`484* Убедитесь, что `CI_JOB_TOKEN` имеет достаточные разрешения для проекта, или используйте Project Access Token с областью `api`

437* Проверьте, что инструмент `mcp__gitlab` включен в `--allowedTools`485* Проверьте, что инструмент `mcp__gitlab` включен в `--allowedTools`

438* Подтвердите, что задание выполняется в контексте MR или имеет достаточный контекст через переменные `AI_FLOW_*`486* Подтвердите, что задание выполняется в контексте MR или имеет достаточный контекст через переменные `AI_FLOW_*`

439 487 

440### Ошибки аутентификации488<h3 id="authentication-errors">

489 Ошибки аутентификации

490</h3>

441 491 

442* **Для Claude API**: Подтвердите, что `ANTHROPIC_API_KEY` действителен и не истек492* **Для Claude API**: Подтвердите, что `ANTHROPIC_API_KEY` действителен и не истек

443* **Для Bedrock/Vertex**: Проверьте конфигурацию OIDC/WIF, олицетворение роли и имена секретов; подтвердите доступность региона и модели493* **Для Bedrock/Vertex**: Проверьте конфигурацию OIDC/WIF, олицетворение роли и имена секретов; подтвердите доступность региона и модели

444 494 

445## Расширенная конфигурация495<h2 id="advanced-configuration">

496 Расширенная конфигурация

497</h2>

446 498 

447### Общие параметры и переменные499<h3 id="common-parameters-and-variables">

500 Общие параметры и переменные

501</h3>

448 502 

449Claude Code поддерживает эти часто используемые входные данные:503Claude Code поддерживает эти часто используемые входные данные:

450 504 


458 Точные флаги и параметры могут варьироваться в зависимости от версии `@anthropic-ai/claude-code`. Запустите `claude --help` в вашем задании, чтобы увидеть поддерживаемые опции.512 Точные флаги и параметры могут варьироваться в зависимости от версии `@anthropic-ai/claude-code`. Запустите `claude --help` в вашем задании, чтобы увидеть поддерживаемые опции.

459</Note>513</Note>

460 514 

461### Настройка поведения Claude515<h3 id="customizing-claude’s-behavior">

516 Настройка поведения Claude

517</h3>

462 518 

463Вы можете направлять Claude двумя основными способами:519Вы можете направлять Claude двумя основными способами:

464 520 

glossary.md +9 −9

Details

162 Effort level162 Effort level

163</h3>163</h3>

164 164 

165Параметр, который управляет тем, сколько адаптивного бюджета thinking Claude использует на каждый ход. Более высокий effort означает больше thinking tokens и более глубокое рассуждение; более низкий effort быстрее и дешевле. Effort поддерживается на Opus 4.6 и более поздних версиях, а также на Sonnet 4.6.165Параметр, который управляет тем, сколько адаптивного бюджета thinking Claude использует на каждый ход. Более высокий effort означает больше thinking tokens и более глубокое рассуждение; более низкий effort быстрее и дешевле. Effort поддерживается на Fable 5, на Opus 4.6 и более поздних версиях, а также на Sonnet 4.6.

166 166 

167Подробнее: [Adjust effort level](/ru/model-config#adjust-effort-level)167Подробнее: [Adjust effort level](/ru/model-config#adjust-effort-level)

168 168 


170 Extended thinking170 Extended thinking

171</h3>171</h3>

172 172 

173Видимое пошаговое рассуждение, которое модель выполняет перед ответом. Вы можете ограничить thinking tokens с помощью `MAX_THINKING_TOKENS` или отрегулировать [effort level](#effort-level). Thinking появляется серым курсивным текстом в терминале.173Видимое пошаговое рассуждение, которое модель выполняет перед ответом. Вы можете отрегулировать его с помощью [effort level](#effort-level), или ограничить thinking tokens с помощью `MAX_THINKING_TOKENS` на моделях с фиксированным бюджетом thinking. Thinking появляется серым курсивным текстом в терминале.

174 174 

175Подробнее: [Use extended thinking](/ru/model-config#extended-thinking)175Подробнее: [Use extended thinking](/ru/model-config#extended-thinking)

176 176 


254 254 

255Базовое поведение одобрения для сеанса. Переключайтесь с `Shift+Tab` в CLI или используйте селектор режима в VS Code, Desktop и claude.ai. Доступные режимы: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk` и `bypassPermissions`.255Базовое поведение одобрения для сеанса. Переключайтесь с `Shift+Tab` в CLI или используйте селектор режима в VS Code, Desktop и claude.ai. Доступные режимы: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk` и `bypassPermissions`.

256 256 

257Подробнее: [Choose a permission mode](/ru/permission-modes)257Подробнее: [Выберите режим разрешений](/ru/permission-modes)

258 258 

259<h3 id="permission-rule">259<h3 id="permission-rule">

260 Permission rule260 Permission rule


262 262 

263Запись settings, которая разрешает, спрашивает или отрицает вызов tool на основе имени tool и шаблона аргумента. Правила оцениваются deny→ask→allow, первое совпадение побеждает. Permission rules — это детальные элементы управления, наложенные на более широкий [permission mode](#permission-mode).263Запись settings, которая разрешает, спрашивает или отрицает вызов tool на основе имени tool и шаблона аргумента. Правила оцениваются deny→ask→allow, первое совпадение побеждает. Permission rules — это детальные элементы управления, наложенные на более широкий [permission mode](#permission-mode).

264 264 

265Подробнее: [Configure permissions](/ru/permissions)265Подробнее: [Настройте разрешения](/ru/permissions)

266 266 

267<h3 id="plan-mode">267<h3 id="plan-mode">

268 Plan mode268 Plan mode


270 270 

271[permission mode](#permission-mode), где Claude исследует и предлагает изменения без редактирования ваших исходных файлов. Он может читать, искать и выполнять команды исследования, затем представляет план для одобрения перед тем, как что-либо трогать. Войдите в plan mode с `/plan` или нажав `Shift+Tab`.271[permission mode](#permission-mode), где Claude исследует и предлагает изменения без редактирования ваших исходных файлов. Он может читать, искать и выполнять команды исследования, затем представляет план для одобрения перед тем, как что-либо трогать. Войдите в plan mode с `/plan` или нажав `Shift+Tab`.

272 272 

273Подробнее: [Analyze before you edit with plan mode](/ru/permission-modes#analyze-before-you-edit-with-plan-mode)273Подробнее: [Анализируйте перед редактированием с помощью plan mode](/ru/permission-modes#analyze-before-you-edit-with-plan-mode)

274 274 

275<h3 id="plugin">275<h3 id="plugin">

276 Plugin276 Plugin


286 286 

287Диалог принятия каталога перед загрузкой Claude Code его конфигурации. Принятие сохраняется для каждого каталога проекта, за исключением вашего домашнего каталога, где доверие сохраняется только для текущего сеанса и приглашение появляется снова при каждом запуске. Trust gates автоматическую установку marketplace plugins и выполнение определённых проектом hooks. Доверие к каталогу означает, что его `.claude/settings.json`, `.mcp.json` и другие файлы конфигурации вступают в силу.287Диалог принятия каталога перед загрузкой Claude Code его конфигурации. Принятие сохраняется для каждого каталога проекта, за исключением вашего домашнего каталога, где доверие сохраняется только для текущего сеанса и приглашение появляется снова при каждом запуске. Trust gates автоматическую установку marketplace plugins и выполнение определённых проектом hooks. Доверие к каталогу означает, что его `.claude/settings.json`, `.mcp.json` и другие файлы конфигурации вступают в силу.

288 288 

289Подробнее: [The `.claude` directory](/ru/claude-directory)289Подробнее: [Каталог `.claude`](/ru/claude-directory)

290 290 

291<h3 id="prompt-injection">291<h3 id="prompt-injection">

292 Prompt injection292 Prompt injection

293</h3>293</h3>

294 294 

295Враждебные инструкции, встроенные в файл, веб-страницу или результат tool, которые пытаются перенаправить Claude к действиям, которые вы никогда не просили. Защита Claude Code включает систему разрешений, чёрные списки команд и проверку доверия. [Auto mode](#auto-mode) добавляет зонд на стороне сервера, который сканирует результаты tool на предмет подозрительного содержимого, и классификатор, который никогда не видит результаты tool, поэтому внедрённый текст не может повлиять на его решения об одобрении.295Враждебные инструкции, встроенные в файл, веб-страницу или результат tool, которые пытаются перенаправить Claude к действиям, которые вы никогда не просили. Защита Claude Code включает систему разрешений, обнаружение инъекций команд и проверку доверия. [Auto mode](#auto-mode) добавляет зонд на стороне сервера, который сканирует результаты tool на предмет подозрительного содержимого, и классификатор, который никогда не видит результаты tool, поэтому внедрённый текст не может повлиять на его решения об одобрении.

296 296 

297Подробнее: [Protect against prompt injection](/ru/security#protect-against-prompt-injection)297Подробнее: [Защититесь от prompt injection](/ru/security#protect-against-prompt-injection)

298 298 

299<h2 id="r">299<h2 id="r">

300 R300 R


422 422 

423Режим изоляции, который запускает Claude в отдельном git worktree в `.claude/worktrees/`, включаемый флагом `-w` или `isolation: worktree` в конфигурации subagent. Изменения остаются на отдельной ветке в отдельном каталоге, поэтому параллельные агенты не перезаписывают файлы друг друга.423Режим изоляции, который запускает Claude в отдельном git worktree в `.claude/worktrees/`, включаемый флагом `-w` или `isolation: worktree` в конфигурации subagent. Изменения остаются на отдельной ветке в отдельном каталоге, поэтому параллельные агенты не перезаписывают файлы друг друга.

424 424 

425Подробнее: [Run parallel sessions with git worktrees](/ru/worktrees)425Подробнее: [Запуск параллельных сеансов с git worktrees](/ru/worktrees)

426 426 

427***427***

428 428 

goal.md +34 −12

Details

21 21 

22На этой странице рассматривается, как:22На этой странице рассматривается, как:

23 23 

24* [Сравнить подходы автономного рабочего процесса](#compare-to-other-autonomous-workflows): `/loop`, Stop hooks и автоматический режим24* [Сравнить подходы автономного рабочего процесса](#compare-ways-to-keep-a-session-running): `/loop`, Stop hooks и автоматический режим

25* [Установить цель](#set-a-goal) и [написать эффективное условие](#write-an-effective-condition)25* [Установить цель](#set-a-goal) и [написать эффективное условие](#write-an-effective-condition)

26* [Проверить статус](#check-status), [очистить раньше](#clear-a-goal) и [запустить неинтерактивно](#run-non-interactively)26* [Проверить статус](#check-status), [очистить раньше](#clear-a-goal) и [запустить неинтерактивно](#run-non-interactively)

27* Посмотреть [как работает оценка](#how-evaluation-works) и [требования](#requirements)27* Посмотреть [как работает оценка](#how-evaluation-works) и [требования](#requirements)

28 28 

29## Сравнение способов поддержания сеанса в работе29<h2 id="compare-ways-to-keep-a-session-running">

30 Сравнение способов поддержания сеанса в работе

31</h2>

30 32 

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

32 34 


44 Описанные выше подходы поддерживают текущий сеанс в работе. Вы также можете планировать работу, которая выполняется независимо от любого открытого сеанса, например ночные тесты или утреннюю сортировку. См. [варианты планирования](/ru/scheduled-tasks#compare-scheduling-options) для облачных процедур и запланированных задач на рабочем столе.46 Описанные выше подходы поддерживают текущий сеанс в работе. Вы также можете планировать работу, которая выполняется независимо от любого открытого сеанса, например ночные тесты или утреннюю сортировку. См. [варианты планирования](/ru/scheduled-tasks#compare-scheduling-options) для облачных процедур и запланированных задач на рабочем столе.

45</Tip>47</Tip>

46 48 

47## Использование `/goal`49<h2 id="use-/goal">

50 Использование `/goal`

51</h2>

48 52 

49За сеанс может быть активна одна цель. Одна и та же команда устанавливает, проверяет и очищает ее в зависимости от аргумента.53За сеанс может быть активна одна цель. Одна и та же команда устанавливает, проверяет и очищает ее в зависимости от аргумента.

50 54 

51### Установка цели55<h3 id="set-a-goal">

56 Установка цели

57</h3>

52 58 

53Запустите `/goal` с условием, которое вы хотите выполнить. Если цель уже активна, новая заменит ее.59Запустите `/goal` с условием, которое вы хотите выполнить. Если цель уже активна, новая заменит ее.

54 60 


64 Цель продолжает работать до тех пор, пока условие не будет выполнено или вы не запустите `/goal clear`. Запустите `/goal` без аргумента, чтобы увидеть ходы и потраченные токены до сих пор.70 Цель продолжает работать до тех пор, пока условие не будет выполнено или вы не запустите `/goal clear`. Запустите `/goal` без аргумента, чтобы увидеть ходы и потраченные токены до сих пор.

65</Note>71</Note>

66 72 

67### Написание эффективного условия73<h3 id="write-an-effective-condition">

74 Написание эффективного условия

75</h3>

68 76 

69[Оценщик](#how-evaluation-works) судит ваше условие по тому, что Claude выявил в разговоре. Он не запускает команды и не читает файлы независимо, поэтому напишите условие как что-то, что может продемонстрировать собственный результат Claude. "Все тесты в `test/auth` проходят" работает, потому что Claude запускает тесты и результат попадает в стенограмму для оценщика.77[Оценщик](#how-evaluation-works) судит ваше условие по тому, что Claude выявил в разговоре. Он не запускает команды и не читает файлы независимо, поэтому напишите условие как что-то, что может продемонстрировать собственный результат Claude. "Все тесты в `test/auth` проходят" работает, потому что Claude запускает тесты и результат попадает в стенограмму для оценщика.

70 78 


78 86 

79Чтобы ограничить, как долго работает цель, включите в условие пункт о ходе или времени, например `or stop after 20 turns`. Claude сообщает о прогрессе по этому пункту на каждом ходе, и оценщик судит его из разговора.87Чтобы ограничить, как долго работает цель, включите в условие пункт о ходе или времени, например `or stop after 20 turns`. Claude сообщает о прогрессе по этому пункту на каждом ходе, и оценщик судит его из разговора.

80 88 

81### Проверка статуса89<h3 id="check-status">

90 Проверка статуса

91</h3>

82 92 

83Запустите `/goal` без аргументов, чтобы увидеть текущее состояние.93Запустите `/goal` без аргументов, чтобы увидеть текущее состояние.

84 94 


96 106 

97Если цель не активна, но одна была достигнута ранее в сеансе, статус показывает достигнутое условие вместе с его продолжительностью, количеством ходов и затратами токенов.107Если цель не активна, но одна была достигнута ранее в сеансе, статус показывает достигнутое условие вместе с его продолжительностью, количеством ходов и затратами токенов.

98 108 

99### Очистка цели109<h3 id="clear-a-goal">

110 Очистка цели

111</h3>

100 112 

101Запустите `/goal clear`, чтобы удалить активную цель до выполнения ее условия.113Запустите `/goal clear`, чтобы удалить активную цель до выполнения ее условия.

102 114 


106 118 

107`stop`, `off`, `reset`, `none` и `cancel` принимаются как псевдонимы для `clear`. Запуск `/clear` для начала нового разговора также удаляет любую активную цель.119`stop`, `off`, `reset`, `none` и `cancel` принимаются как псевдонимы для `clear`. Запуск `/clear` для начала нового разговора также удаляет любую активную цель.

108 120 

109### Возобновление с активной целью121<h3 id="resume-with-an-active-goal">

122 Возобновление с активной целью

123</h3>

110 124 

111Цель, которая была еще активна при завершении сеанса, восстанавливается при возобновлении этого сеанса с помощью `--resume` или `--continue`. Условие переносится, но количество ходов, таймер и базовая линия затрат токенов все сбрасываются при возобновлении. Цель, которая уже была достигнута или очищена, не восстанавливается.125Цель, которая была еще активна при завершении сеанса, восстанавливается при возобновлении этого сеанса с помощью `--resume` или `--continue`. Условие переносится, но количество ходов, таймер и базовая линия затрат токенов все сбрасываются при возобновлении. Цель, которая уже была достигнута или очищена, не восстанавливается.

112 126 

113### Запуск неинтерактивно127<h3 id="run-non-interactively">

128 Запуск неинтерактивно

129</h3>

114 130 

115`/goal` работает в [неинтерактивном режиме](/ru/headless), в [приложении для рабочего стола](/ru/desktop) и через [Remote Control](/ru/remote-control). Установка цели с `-p` запускает цикл до завершения в одном вызове:131`/goal` работает в [неинтерактивном режиме](/ru/headless), в [приложении для рабочего стола](/ru/desktop) и через [Remote Control](/ru/remote-control). Установка цели с `-p` запускает цикл до завершения в одном вызове:

116 132 


120 136 

121Прервите процесс с помощью Ctrl+C, чтобы остановить неинтерактивную цель до выполнения условия.137Прервите процесс с помощью Ctrl+C, чтобы остановить неинтерактивную цель до выполнения условия.

122 138 

123## Как работает оценка139<h2 id="how-evaluation-works">

140 Как работает оценка

141</h2>

124 142 

125`/goal` — это оболочка вокруг [prompt-based Stop hook](/ru/hooks#prompt-based-hooks) в области сеанса. Каждый раз, когда Claude завершает ход, условие и разговор до сих пор отправляются на ваш настроенный [небольшой быстрый модель](/ru/model-config), который по умолчанию является Haiku. Модель возвращает решение да или нет и краткое объяснение. "Нет" говорит Claude продолжать работу и включает объяснение в качестве руководства для следующего хода. "Да" очищает цель и записывает достигнутую запись в стенограмму.143`/goal` — это оболочка вокруг [prompt-based Stop hook](/ru/hooks#prompt-based-hooks) в области сеанса. Каждый раз, когда Claude завершает ход, условие и разговор до сих пор отправляются на ваш настроенный [небольшой быстрый модель](/ru/model-config), который по умолчанию является Haiku. Модель возвращает решение да или нет и краткое объяснение. "Нет" говорит Claude продолжать работу и включает объяснение в качестве руководства для следующего хода. "Да" очищает цель и записывает достигнутую запись в стенограмму.

126 144 


130 Токены оценки выставляются на счет небольшой быстрой модели, настроенной для вашего поставщика, и обычно незначительны по сравнению с основными затратами хода.148 Токены оценки выставляются на счет небольшой быстрой модели, настроенной для вашего поставщика, и обычно незначительны по сравнению с основными затратами хода.

131</Note>149</Note>

132 150 

133## Требования151<h2 id="requirements">

152 Требования

153</h2>

134 154 

135`/goal` работает только в рабочих пространствах, где вы приняли диалог доверия, потому что оценщик является частью системы hooks. `/goal` также недоступен, когда [`disableAllHooks`](/ru/hooks#disable-or-remove-hooks) установлен на любом уровне параметров или когда [`allowManagedHooksOnly`](/ru/settings#hook-configuration) установлен в управляемых параметрах. В каждом случае команда говорит вам почему вместо того, чтобы молча ничего не делать.155`/goal` работает только в рабочих пространствах, где вы приняли диалог доверия, потому что оценщик является частью системы hooks. `/goal` также недоступен, когда [`disableAllHooks`](/ru/hooks#disable-or-remove-hooks) установлен на любом уровне параметров или когда [`allowManagedHooksOnly`](/ru/settings#hook-configuration) установлен в управляемых параметрах. В каждом случае команда говорит вам почему вместо того, чтобы молча ничего не делать.

136 156 

137## См. также157<h2 id="see-also">

158 См. также

159</h2>

138 160 

139* [Запуск подсказки повторно с помощью `/loop`](/ru/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop): повторный запуск с временным интервалом вместо выполнения условия161* [Запуск подсказки повторно с помощью `/loop`](/ru/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop): повторный запуск с временным интервалом вместо выполнения условия

140* [Prompt-based hooks](/ru/hooks-guide#prompt-based-hooks): напишите свой собственный Stop hook, когда вам нужна пользовательская логика оценки162* [Prompt-based hooks](/ru/hooks-guide#prompt-based-hooks): напишите свой собственный Stop hook, когда вам нужна пользовательская логика оценки

Details

6 6 

7> Узнайте о настройке Claude Code через Google Vertex AI, включая установку, конфигурацию IAM и устранение неполадок.7> Узнайте о настройке Claude Code через Google Vertex AI, включая установку, конфигурацию IAM и устранение неполадок.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79<ContactSalesCard surface="vertex" />

80 

9<h2 id="prerequisites">81<h2 id="prerequisites">

10 Предварительные требования82 Предварительные требования

11</h2>83</h2>


50 Конфигурация региона122 Конфигурация региона

51</h2>123</h2>

52 124 

53Claude Code поддерживает [глобальные](https://cloud.google.com/blog/products/ai-machine-learning/global-endpoint-for-claude-models-generally-available-on-vertex-ai), многорегиональные и региональные конечные точки Vertex AI. Установите `CLOUD_ML_REGION` на `global`, многорегиональное местоположение, такое как `eu` или `us`, или конкретный регион, такой как `us-east5`. Claude Code выбирает правильное имя хоста Vertex AI для каждой формы, включая хосты `aiplatform.eu.rep.googleapis.com` и `aiplatform.us.rep.googleapis.com` для многорегиональных местоположений.125Claude Code поддерживает Vertex AI [глобальные](https://cloud.google.com/blog/products/ai-machine-learning/global-endpoint-for-claude-models-generally-available-on-vertex-ai), многорегиональные и региональные конечные точки. Установите `CLOUD_ML_REGION` на `global`, многорегиональное местоположение, такое как `eu` или `us`, или конкретный регион, такой как `us-east5`. Claude Code выбирает правильное имя хоста Vertex AI для каждой формы, включая хосты `aiplatform.eu.rep.googleapis.com` и `aiplatform.us.rep.googleapis.com` для многорегиональных местоположений.

54 126 

55<Note>127<Note>

56 Vertex AI может не поддерживать модели Claude Code по умолчанию на каждом типе конечной точки. Доступность моделей варьируется в зависимости от [конкретных регионов](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations#genai-partner-models), многорегиональных местоположений и [глобальных конечных точек](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#supported_models). Вам может потребоваться переключиться на поддерживаемое местоположение или указать поддерживаемую модель.128 Vertex AI может не поддерживать модели Claude Code по умолчанию на каждом типе конечной точки. Доступность моделей варьируется в зависимости от [конкретных регионов](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations#genai-partner-models), многорегиональных местоположений и [глобальных конечных точек](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#supported_models). Вам может потребоваться переключиться на поддерживаемое местоположение или указать поддерживаемую модель.

headless.md +9 −1

Details

62 `--bare` — это рекомендуемый режим для скриптовых и SDK вызовов, и он станет режимом по умолчанию для `-p` в будущем выпуске.62 `--bare` — это рекомендуемый режим для скриптовых и SDK вызовов, и он станет режимом по умолчанию для `-p` в будущем выпуске.

63</Note>63</Note>

64 64 

65<h3 id="background-tasks-at-exit">

66 Фоновые задачи при выходе

67</h3>

68 

69Если Claude запускает [фоновую задачу Bash](/ru/tools-reference#bash-tool-behavior) во время выполнения `claude -p`, например сервер разработки или сборку с отслеживанием, эта задача завершается примерно через пять секунд после того, как Claude вернул свой окончательный результат и stdin закрыт. Период ожидания позволяет задаче, которая завершается сразу после результата, всё ещё доставить свой вывод. До версии v2.1.163 никогда не завершающийся фоновый процесс держал бы вызов `claude -p` открытым неопределённо долго.

70 

65<h2 id="examples">71<h2 id="examples">

66 Примеры72 Примеры

67</h2>73</h2>


226Флаг `--allowedTools` использует [синтаксис правил разрешений](/ru/settings#permission-rule-syntax). Завершающий ` *` включает сопоставление префиксов, поэтому `Bash(git diff *)` разрешает любую команду, начинающуюся с `git diff`. Пробел перед `*` важен: без него `Bash(git diff*)` также совпадал бы с `git diff-index`.232Флаг `--allowedTools` использует [синтаксис правил разрешений](/ru/settings#permission-rule-syntax). Завершающий ` *` включает сопоставление префиксов, поэтому `Bash(git diff *)` разрешает любую команду, начинающуюся с `git diff`. Пробел перед `*` важен: без него `Bash(git diff*)` также совпадал бы с `git diff-index`.

227 233 

228<Note>234<Note>

229 Вызываемые пользователем [skills](/ru/skills) вроде `/code-review` и [встроенные команды](/ru/commands) доступны только в интерактивном режиме. В режиме `-p` опишите задачу, которую вы хотите выполнить.235 Вызываемые пользователем [skills](/ru/skills) и пользовательские команды работают в режиме `-p`: включите `/skill-name` в строку запроса, и Claude Code развернёт её перед запуском. Встроенные команды, которые открывают интерактивный диалог, такие как `/config` и `/login`, недоступны в режиме `-p`.

230</Note>236</Note>

231 237 

232<h3 id="customize-the-system-prompt">238<h3 id="customize-the-system-prompt">


265claude -p "Continue that review" --resume "$session_id"271claude -p "Continue that review" --resume "$session_id"

266```272```

267 273 

274Запустите обе команды из одного каталога: поиск ID сессии ограничен текущим каталогом проекта и его git worktrees. См. [Resume a session](/ru/sessions#resume-a-session) для полного набора правил области видимости.

275 

268<h2 id="next-steps">276<h2 id="next-steps">

269 Следующие шаги277 Следующие шаги

270</h2>278</h2>

hooks.md +66 −27

Details

108Теперь предположим, что Claude Code решает запустить `Bash "rm -rf /tmp/build"`. Вот что происходит:108Теперь предположим, что Claude Code решает запустить `Bash "rm -rf /tmp/build"`. Вот что происходит:

109 109 

110<Frame>110<Frame>

111 <img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/hook-resolution.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=be0bf3053550c26de5f54cd64674c197" alt="Поток разрешения hook: срабатывает событие PreToolUse, фильтр проверяет совпадение Bash, условие if проверяет совпадение Bash(rm *), запускается обработчик hook, результат возвращается в Claude Code" width="930" height="270" data-path="images/hook-resolution.svg" />111 <img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/hook-resolution.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=be0bf3053550c26de5f54cd64674c197" alt="Диаграмма разрешения hook: срабатывает событие PreToolUse, фильтр проверяет совпадение Bash, затем условие if проверяет совпадение Bash(rm *). Если оба совпадают, команда hook запускается и возвращает permissionDecision deny, поэтому вызов инструмента блокируется и Claude Code продолжает работу. Если одна из проверок не совпадает, hook пропускается и вызов инструмента может продолжить работу." width="930" height="270" data-path="images/hook-resolution.svg" />

112</Frame>112</Frame>

113 113 

114<Steps>114<Steps>


174Место, где вы определяете hook, определяет его область действия:174Место, где вы определяете hook, определяет его область действия:

175 175 

176| Расположение | Область действия | Общий доступ |176| Расположение | Область действия | Общий доступ |

177| :---------------------------------------------------------- | :--------------------- | :------------------------------------ |177| :---------------------------------------------------------- | :--------------------- | :-------------------------------------------------- |

178| `~/.claude/settings.json` | Все ваши проекты | Нет, локально на вашей машине |178| `~/.claude/settings.json` | Все ваши проекты | Нет, локально на вашей машине |

179| `.claude/settings.json` | Один проект | Да, можно зафиксировать в репозитории |179| `.claude/settings.json` | Один проект | Да, можно зафиксировать в репозитории |

180| `.claude/settings.local.json` | Один проект | Нет, игнорируется git |180| `.claude/settings.local.json` | Один проект | Нет, игнорируется git когда Claude Code создаёт его |

181| Управляемые параметры политики | Организация | Да, контролируется администратором |181| Управляемые параметры политики | Организация | Да, контролируется администратором |

182| [Plugin](/ru/plugins) `hooks/hooks.json` | Когда плагин включен | Да, поставляется с плагином |182| [Plugin](/ru/plugins) `hooks/hooks.json` | Когда плагин включен | Да, поставляется с плагином |

183| [Skill](/ru/skills) или [agent](/ru/sub-agents) frontmatter | Пока компонент активен | Да, определено в файле компонента |183| [Skill](/ru/skills) или [agent](/ru/sub-agents) frontmatter | Пока компонент активен | Да, определено в файле компонента |


311Эти поля применяются ко всем типам hooks:311Эти поля применяются ко всем типам hooks:

312 312 

313| Поле | Обязательно | Описание |313| Поле | Обязательно | Описание |

314| :-------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |314| :-------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

315| `type` | да | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` или `"agent"` |315| `type` | да | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` или `"agent"` |

316| `if` | нет | Синтаксис правила разрешения для фильтрации срабатывания этого hook, такой как `"Bash(git *)"` или `"Edit(*.ts)"`. Hook запускается только если вызов инструмента совпадает с шаблоном, или если команда Bash слишком сложна для анализа. Оценивается только на событиях инструмента: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` и `PermissionDenied`. На других событиях hook с установленным `if` никогда не запускается. Использует тот же синтаксис, что и [правила разрешения](/ru/permissions) |316| `if` | нет | Синтаксис правила разрешения для фильтрации срабатывания этого hook, такой как `"Bash(git *)"` или `"Edit(*.ts)"`. Hook запускается только если вызов инструмента совпадает с шаблоном. См. таблицу [Bash matching table](#bash-if-matching) ниже для того, как Bash шаблоны оцениваются против подкоманд, `$()` и обратных кавычек. Оценивается только на событиях инструмента: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` и `PermissionDenied`. На других событиях hook с установленным `if` никогда не запускается. Использует тот же синтаксис, что и [правила разрешения](/ru/permissions) |

317| `timeout` | нет | Секунды перед отменой. Значения по умолчанию: 600 для `command`, `http` и `mcp_tool`; 30 для `prompt`; 60 для `agent`. [`UserPromptSubmit`](#userpromptsubmit) снижает значение по умолчанию для `command`, `http` и `mcp_tool` до 30, и [`MessageDisplay`](#messagedisplay) снижает его до 10 |317| `timeout` | нет | Секунды перед отменой. Значения по умолчанию: 600 для `command`, `http` и `mcp_tool`; 30 для `prompt`; 60 для `agent`. [`UserPromptSubmit`](#userpromptsubmit) снижает значение по умолчанию для `command`, `http` и `mcp_tool` до 30, и [`MessageDisplay`](#messagedisplay) снижает его до 10 |

318| `statusMessage` | нет | Пользовательское сообщение спиннера, отображаемое во время выполнения hook |318| `statusMessage` | нет | Пользовательское сообщение спиннера, отображаемое во время выполнения hook |

319| `once` | нет | Если `true`, запускается один раз за сеанс, затем удаляется. Только для hooks, объявленных в [skill frontmatter](#hooks-in-skills-and-agents); игнорируется в файлах настроек и agent frontmatter |319| `once` | нет | Если `true`, запускается один раз за сеанс затем удаляется. Только для hooks, объявленных в [skill frontmatter](#hooks-in-skills-and-agents); игнорируется в файлах настроек и agent frontmatter |

320 320 

321Поле `if` содержит ровно одно правило разрешения. Нет синтаксиса `&&`, `||` или списка для объединения правил; чтобы применить несколько условий, определите отдельный обработчик hook для каждого. Для Bash правило сравнивается с каждой подкомандой входа инструмента после удаления ведущих присваиваний `VAR=value`, поэтому `if: "Bash(git push *)"` совпадает как с `FOO=bar git push`, так и с `npm test && git push`. Hook запускается если любая подкоманда совпадает, и всегда запускается когда команда слишком сложна для анализа.321Поле `if` содержит ровно одно правило разрешения. Нет синтаксиса `&&`, `||` или списка для объединения правил; чтобы применить несколько условий, определите отдельный обработчик hook для каждого.

322 

323<span id="bash-if-matching" />Для Bash шаблонов, запускается ли ваша команда hook зависит от формы шаблона и команды Bash, которую вызывает Claude. Ведущие присваивания `VAR=value` удаляются перед совпадением.

324 

325| `if` шаблон | Bash команда | Hook запускается? | Почему |

326| :----------------- | :--------------------- | :---------------- | :---------------------------------------------------------------------------------------------------------------------- |

327| `Bash(git *)` | `FOO=bar git push` | да | ведущие присваивания удаляются; `git push` совпадает |

328| `Bash(git *)` | `npm test && git push` | да | каждая подкоманда проверяется; `git push` совпадает |

329| `Bash(rm *)` | `echo $(rm -rf /)` | да | команды внутри `$()` и обратных кавычек проверяются; `rm -rf /` совпадает |

330| `Bash(rm *)` | `echo $(date)` | нет | ни одна подкоманда не совпадает с `rm *` |

331| `Bash(git push *)` | `echo $(date)` | да | шаблоны, которые указывают больше чем имя команды, запускают hook в любом случае на `$()`, обратных кавычках или `$VAR` |

332 

333Фильтр также открывается с ошибкой, запуская ваш hook независимо от шаблона, когда команда Bash не может быть проанализирована. Поскольку фильтр `if` является лучшим усилием, используйте [систему разрешений](/ru/permissions) вместо hook для обеспечения жёсткого разрешения или отказа.

322 334 

323<h4 id="command-hook-fields">335<h4 id="command-hook-fields">

324 Command hook fields336 Command hook fields


461В дополнение к [общим полям](#common-fields), prompt и agent hooks принимают эти поля:473В дополнение к [общим полям](#common-fields), prompt и agent hooks принимают эти поля:

462 474 

463| Поле | Обязательно | Описание |475| Поле | Обязательно | Описание |

464| :------- | :---------- | :------------------------------------------------------------------------------------------------ |476| :------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

465| `prompt` | да | Текст подсказки для отправки модели. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook |477| `prompt` | да | Текст подсказки для отправки модели. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook. Экранируйте обратной косой чертой для включения буквального текста: `\$1.00` отображается как `$1.00` |

466| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |478| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |

467 479 

468Все совпадающие hooks запускаются параллельно, и идентичные обработчики автоматически дедублируются. Command hooks дедублируются по строке команды и `args`, а HTTP hooks дедублируются по URL. Обработчики запускаются в текущем каталоге с окружением Claude Code. Переменная окружения `$CLAUDE_CODE_REMOTE` устанавливается на `"true"` в удалённых веб-окружениях и не устанавливается в локальном CLI.480Все совпадающие hooks запускаются параллельно, и идентичные обработчики автоматически дедублируются. Command hooks дедублируются по строке команды и `args`, а HTTP hooks дедублируются по URL. Обработчики запускаются в текущем каталоге с окружением Claude Code. Переменная окружения `$CLAUDE_CODE_REMOTE` устанавливается на `"true"` в удалённых веб-окружениях и не устанавливается в локальном CLI.


474Используйте эти заполнители для ссылки на скрипты hook относительно корня проекта или плагина, независимо от рабочего каталога при запуске hook:486Используйте эти заполнители для ссылки на скрипты hook относительно корня проекта или плагина, независимо от рабочего каталога при запуске hook:

475 487 

476* `${CLAUDE_PROJECT_DIR}`: корень проекта. Claude Code также устанавливает эту переменную в окружении [stdio MCP серверов](/ru/mcp#option-3-add-a-local-stdio-server) и plugin LSP серверов.488* `${CLAUDE_PROJECT_DIR}`: корень проекта. Claude Code также устанавливает эту переменную в окружении [stdio MCP серверов](/ru/mcp#option-3-add-a-local-stdio-server) и plugin LSP серверов.

477* `${CLAUDE_PLUGIN_ROOT}`: каталог установки плагина для скриптов, поставляемых с [плагином](/ru/plugins). Изменяется при каждом обновлении плагина.489* `${CLAUDE_PLUGIN_ROOT}`: каталог установки плагина, для скриптов, поставляемых с [плагином](/ru/plugins). Изменяется при каждом обновлении плагина.

478* `${CLAUDE_PLUGIN_DATA}`: [каталог постоянных данных](/ru/plugins-reference#persistent-data-directory) плагина для зависимостей и состояния, которые должны пережить обновления плагина.490* `${CLAUDE_PLUGIN_DATA}`: [каталог постоянных данных](/ru/plugins-reference#persistent-data-directory) плагина, для зависимостей и состояния, которые должны пережить обновления плагина.

479 491 

480Предпочитайте [exec form](#exec-form-and-shell-form) для любого hook, который ссылается на path placeholder. Exec form передаёт каждый элемент `args` как один аргумент без токенизации оболочки, поэтому пути с пробелами или специальными символами не нуждаются в кавычках. В shell form оберните каждый заполнитель в двойные кавычки.492Предпочитайте [exec form](#exec-form-and-shell-form) для любого hook, который ссылается на path placeholder. Exec form передаёт каждый элемент `args` как один аргумент без токенизации оболочки, поэтому пути с пробелами или специальными символами не нуждаются в кавычках. В shell form оберните каждый заполнитель в двойные кавычки.

481 493 


619| `agent_id` | Уникальный идентификатор для subagent. Присутствует только когда hook срабатывает внутри вызова subagent. Используйте это для различения вызовов hook subagent от вызовов основного потока. |631| `agent_id` | Уникальный идентификатор для subagent. Присутствует только когда hook срабатывает внутри вызова subagent. Используйте это для различения вызовов hook subagent от вызовов основного потока. |

620| `agent_type` | Имя агента (например, `"Explore"` или `"security-reviewer"`). Присутствует когда сеанс использует `--agent` или hook срабатывает внутри subagent. Для subagents тип subagent имеет приоритет над значением `--agent` сеанса. Для [пользовательских subagents](/ru/sub-agents) это поле `name` из frontmatter агента, а не имя файла. |632| `agent_type` | Имя агента (например, `"Explore"` или `"security-reviewer"`). Присутствует когда сеанс использует `--agent` или hook срабатывает внутри subagent. Для subagents тип subagent имеет приоритет над значением `--agent` сеанса. Для [пользовательских subagents](/ru/sub-agents) это поле `name` из frontmatter агента, а не имя файла. |

621 633 

622Только hooks [`SessionStart`](#sessionstart) получают поле `model`. Нет переменной окружения `$CLAUDE_MODEL`. Процесс hook наследует родительское окружение, поэтому он может читать `$ANTHROPIC_MODEL`, если вы установили её в вашей оболочке, но это значение не меняется при переключении моделей с `/model` во время сеанса.634Только hooks [`SessionStart`](#sessionstart) могут получать поле `model`, и его присутствие не гарантировано. Нет переменной окружения `$CLAUDE_MODEL`. Процесс hook наследует родительское окружение, поэтому он может читать `$ANTHROPIC_MODEL`, если вы установили её в вашей оболочке, но это значение не меняется при переключении моделей с `/model` во время сеанса.

623 635 

624Например, hook `PreToolUse` для команды Bash получает это на stdin:636Например, hook `PreToolUse` для команды Bash получает это на stdin:

625 637 


815* [SessionStart](#sessionstart), [Setup](#setup) и [SubagentStart](#subagentstart): в начале разговора, перед первой подсказкой827* [SessionStart](#sessionstart), [Setup](#setup) и [SubagentStart](#subagentstart): в начале разговора, перед первой подсказкой

816* [UserPromptSubmit](#userpromptsubmit) и [UserPromptExpansion](#userpromptexpansion): рядом с отправленной подсказкой828* [UserPromptSubmit](#userpromptsubmit) и [UserPromptExpansion](#userpromptexpansion): рядом с отправленной подсказкой

817* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) и [PostToolBatch](#posttoolbatch): рядом с результатом инструмента829* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) и [PostToolBatch](#posttoolbatch): рядом с результатом инструмента

830* [Stop](#stop) и [SubagentStop](#subagentstop): в конце хода. Разговор продолжается, поэтому Claude может действовать на основе обратной связи. См. [Stop decision control](#stop-decision-control)

818 831 

819Когда несколько hooks возвращают `additionalContext` для одного события, Claude получает все значения. Если значение превышает 10 000 символов, Claude Code записывает полный текст в файл в каталоге сеанса и передаёт Claude путь к файлу с кратким предпросмотром вместо этого.832Когда несколько hooks возвращают `additionalContext` для одного события, Claude получает все значения. Если значение превышает 10 000 символов, Claude Code записывает полный текст в файл в каталоге сеанса и передаёт Claude путь к файлу с кратким предпросмотром вместо этого.

820 833 


838 851 

839| События | Шаблон решения | Ключевые поля |852| События | Шаблон решения | Ключевые поля |

840| :---------------------------------------------------------------------------------------------------------------------------------- | :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |853| :---------------------------------------------------------------------------------------------------------------------------------- | :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

841| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Верхнеуровневое `decision` | `decision: "block"`, `reason` |854| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Верхнеуровневое `decision` | `decision: "block"`, `reason`. Stop и SubagentStop также принимают `hookSpecificOutput.additionalContext` для [неошибочной обратной связи, которая продолжает разговор](#stop-decision-control) |

842| TeammateIdle, TaskCreated, TaskCompleted | Exit code или `continue: false` | Exit code 2 блокирует действие с обратной связью stderr. JSON `{"continue": false, "stopReason": "..."}` также полностью останавливает товарища, соответствуя поведению hook `Stop` |855| TeammateIdle, TaskCreated, TaskCompleted | Exit code или `continue: false` | Exit code 2 блокирует действие с обратной связью stderr. JSON `{"continue": false, "stopReason": "..."}` также полностью останавливает товарища, соответствуя поведению hook `Stop` |

843| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |856| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |

844| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |857| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |


850| SessionStart, Setup, SubagentStart | Только контекст | `hookSpecificOutput.additionalContext` добавляет контекст для Claude. SessionStart также принимает [`initialUserMessage`, `watchPaths`, `sessionTitle` и `reloadSkills`](#sessionstart-decision-control). Нет блокировки или управления решением |863| SessionStart, Setup, SubagentStart | Только контекст | `hookSpecificOutput.additionalContext` добавляет контекст для Claude. SessionStart также принимает [`initialUserMessage`, `watchPaths`, `sessionTitle` и `reloadSkills`](#sessionstart-decision-control). Нет блокировки или управления решением |

851| WorktreeRemove, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, FileChanged | Нет | Нет управления решением. Используется для побочных эффектов, таких как логирование или очистка |864| WorktreeRemove, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, FileChanged | Нет | Нет управления решением. Используется для побочных эффектов, таких как логирование или очистка |

852 865 

866Несколько событий также могут переписывать содержимое, а не только разрешать или блокировать его:

867 

868* `PreToolUse` — `updatedInput` непосредственно под `hookSpecificOutput` заменяет аргументы инструмента перед его запуском ([детали](#pretooluse-decision-control))

869* `PermissionRequest` — `updatedInput` внутри объекта `decision` ([детали](#permissionrequest-decision-control))

870* `PostToolUse` — `updatedToolOutput` заменяет результат инструмента ([детали](#posttooluse-decision-control))

871* `UserPromptSubmit` — не может заменить подсказку; только внедряет `additionalContext` рядом с ней

872 

873Для редактирования или трансформации используйте перехват на `PreToolUse` для исходящих входных данных инструмента и `PostToolUse` для входящих результатов инструмента.

874 

853Вот примеры каждого шаблона в действии:875Вот примеры каждого шаблона в действии:

854 876 

855<Tabs>877<Tabs>


926 SessionStart input948 SessionStart input

927</h4>949</h4>

928 950 

929В дополнение к [общим полям входа](#common-input-fields), SessionStart hooks получают `source`, `model` и опционально `agent_type` и `session_title`. Поле `source` указывает, как был запущен сеанс: `"startup"` для новых сеансов, `"resume"` для возобновлённых сеансов, `"clear"` после `/clear` или `"compact"` после компактирования. Поле `model` содержит идентификатор модели. Если вы запустите Claude Code с `claude --agent <name>`, поле `agent_type` содержит имя агента. Поле `session_title` содержит текущее название сеанса, если оно уже установлено, например через `--name` или `/rename`. Hook, который выдаёт `sessionTitle`, может сначала проверить `session_title`, чтобы избежать перезаписи названия, которое пользователь установил явно.951В дополнение к [общим полям входа](#common-input-fields), SessionStart hooks получают `source` и опционально `model`, `agent_type` и `session_title`. Поле `source` указывает, как был запущен сеанс: `"startup"` для новых сеансов, `"resume"` для возобновлённых сеансов, `"clear"` после `/clear` или `"compact"` после компактирования. Поле `model` содержит идентификатор активной модели. Оно может быть опущено, например после `/clear` или когда сеанс восстанавливается через восстановление разговора, поэтому проверьте поле перед его чтением. Если вы запустите Claude Code с `claude --agent <name>`, поле `agent_type` содержит имя агента. Поле `session_title` содержит текущее название сеанса, если оно уже установлено, например через `--name` или `/rename`. Hook, который выдаёт `sessionTitle`, может сначала проверить `session_title`, чтобы избежать перезаписи названия, которое пользователь установил явно.

930 952 

931```json theme={null}953```json theme={null}

932{954{


1502В `PostToolUse`, `tool_response` для завершённого вызова Agent содержит финальный текст subagent вместе с телеметрией использования. Читайте эти поля для записи затрат для каждого subagent из hook:1524В `PostToolUse`, `tool_response` для завершённого вызова Agent содержит финальный текст subagent вместе с телеметрией использования. Читайте эти поля для записи затрат для каждого subagent из hook:

1503 1525 

1504| Поле | Тип | Пример | Описание |1526| Поле | Тип | Пример | Описание |

1505| :------------------ | :----- | :---------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |1527| :------------------ | :----- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |

1506| `status` | string | `"completed"` | `"completed"` для синхронных вызовов, `"async_launched"` для `run_in_background: true` |1528| `status` | string | `"completed"` | `"completed"` для синхронных вызовов, `"async_launched"` для `run_in_background: true` |

1507| `agentId` | string | `"a4d2c8f1e0b3a297"` | Идентификатор для запуска subagent |1529| `agentId` | string | `"a4d2c8f1e0b3a297"` | Идентификатор для запуска subagent |

1508| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Финальные текстовые блоки subagent |1530| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Финальные текстовые блоки subagent |

1531| `resolvedModel` | string | `"claude-sonnet-4-5"` | Модель, на которой запустился subagent, которая может отличаться от запрошенной модели. {/* min-version: 2.1.174 */}Требует Claude Code v2.1.174 или позже |

1509| `totalTokens` | number | `12450` | Всего токенов, выставленных счётом по ходам subagent |1532| `totalTokens` | number | `12450` | Всего токенов, выставленных счётом по ходам subagent |

1510| `totalDurationMs` | number | `48211` | Реальная длительность запуска subagent |1533| `totalDurationMs` | number | `48211` | Реальная длительность запуска subagent |

1511| `totalToolUseCount` | number | `7` | Количество вызовов инструментов, которые сделал subagent |1534| `totalToolUseCount` | number | `7` | Количество вызовов инструментов, которые сделал subagent |

1512| `usage` | object | `{"input_tokens": 8320, ...}` | Разбор токенов по типам: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1535| `usage` | object | `{"input_tokens": 8320, ...}` | Разбор токенов по типам: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1513 1536 

1514Для вызовов `run_in_background: true`, инструмент возвращается сразу после запуска subagent, поэтому `tool_response` не содержит полей использования. Он имеет `status: "async_launched"`, `agentId`, `description`, `prompt` и `outputFile` вместо этого.1537Для вызовов `run_in_background: true`, инструмент возвращается сразу после запуска subagent, поэтому `tool_response` не содержит полей использования. Он имеет `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` и `resolvedModel` вместо этого.

1538 

1539Поле `resolvedModel` называет модель, на которой subagent фактически запустился, что может отличаться от значения `model` в `tool_input`. Оно требует Claude Code v2.1.174 или позже.

1540 

1541<a id="askuserquestion" />

1515 1542 

1516<h5 id="askuserquestion">1543<h5 id="askuserquestion">

1517 AskUserQuestion1544 AskUserQuestion


2088}2115}

2089```2116```

2090 2117 

2091SubagentStop hooks используют тот же формат управления решением, что и [Stop hooks](#stop-decision-control). Они не поддерживают `additionalContext`. Возврат `decision: "block"` с `reason` держит subagent работающим и доставляет `reason` subagent как его следующую инструкцию. Чтобы внедрить контекст в родительский сеанс после возврата subagent, используйте hook [`PostToolUse`](#posttooluse) на инструменте `Agent` вместо этого.2118SubagentStop hooks используют тот же формат управления решением, что и [Stop hooks](#stop-decision-control), включая `hookSpecificOutput.additionalContext` с `hookEventName`, установленным на `"SubagentStop"`, для ненаправленной обратной связи, которая держит subagent работающим. Возврат `decision: "block"` с `reason` держит subagent работающим и доставляет `reason` subagent как его следующую инструкцию. Чтобы внедрить контекст в родительский сеанс после возврата subagent, используйте hook [`PostToolUse`](#posttooluse) на инструменте `Agent` вместо этого.

2092 2119 

2093<h3 id="taskcreated">2120<h3 id="taskcreated">

2094 TaskCreated2121 TaskCreated


2115 "task_subject": "Implement user authentication",2142 "task_subject": "Implement user authentication",

2116 "task_description": "Add login and signup endpoints",2143 "task_description": "Add login and signup endpoints",

2117 "teammate_name": "implementer",2144 "teammate_name": "implementer",

2118 "team_name": "my-project"2145 "team_name": "session-a1b2c3d4"

2119}2146}

2120```2147```

2121 2148 

2122| Поле | Описание |2149| Поле | Описание |

2123| :----------------- | :--------------------------------------------------- |2150| :----------------- | :----------------------------------------------------------------- |

2124| `task_id` | Идентификатор создаваемой задачи |2151| `task_id` | Идентификатор создаваемой задачи |

2125| `task_subject` | Название задачи |2152| `task_subject` | Название задачи |

2126| `task_description` | Подробное описание задачи. Может отсутствовать |2153| `task_description` | Подробное описание задачи. Может отсутствовать |

2127| `teammate_name` | Имя товарища, создающего задачу. Может отсутствовать |2154| `teammate_name` | Имя товарища, создающего задачу. Может отсутствовать |

2128| `team_name` | Имя команды. Может отсутствовать |2155| `team_name` | Имя команды, полученное из сеанса; будет удалено в будущем выпуске |

2129 2156 

2130<h4 id="taskcreated-decision-control">2157<h4 id="taskcreated-decision-control">

2131 TaskCreated decision control2158 TaskCreated decision control


2176 "task_subject": "Implement user authentication",2203 "task_subject": "Implement user authentication",

2177 "task_description": "Add login and signup endpoints",2204 "task_description": "Add login and signup endpoints",

2178 "teammate_name": "implementer",2205 "teammate_name": "implementer",

2179 "team_name": "my-project"2206 "team_name": "session-a1b2c3d4"

2180}2207}

2181```2208```

2182 2209 

2183| Поле | Описание |2210| Поле | Описание |

2184| :----------------- | :----------------------------------------------------- |2211| :----------------- | :----------------------------------------------------------------- |

2185| `task_id` | Идентификатор завершаемой задачи |2212| `task_id` | Идентификатор завершаемой задачи |

2186| `task_subject` | Название задачи |2213| `task_subject` | Название задачи |

2187| `task_description` | Подробное описание задачи. Может отсутствовать |2214| `task_description` | Подробное описание задачи. Может отсутствовать |

2188| `teammate_name` | Имя товарища, завершающего задачу. Может отсутствовать |2215| `teammate_name` | Имя товарища, завершающего задачу. Может отсутствовать |

2189| `team_name` | Имя команды. Может отсутствовать |2216| `team_name` | Имя команды, полученное из сеанса; будет удалено в будущем выпуске |

2190 2217 

2191<h4 id="taskcompleted-decision-control">2218<h4 id="taskcompleted-decision-control">

2192 TaskCompleted decision control2219 TaskCompleted decision control


2294Hooks `Stop` и `SubagentStop` могут управлять тем, продолжает ли Claude. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:2321Hooks `Stop` и `SubagentStop` могут управлять тем, продолжает ли Claude. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:

2295 2322 

2296| Поле | Описание |2323| Поле | Описание |

2297| :--------- | :-------------------------------------------------------------------------------------- |2324| :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2298| `decision` | `"block"` предотвращает остановку Claude. Опустите, чтобы разрешить Claude остановиться |2325| `decision` | `"block"` предотвращает остановку Claude. Опустите, чтобы разрешить Claude остановиться |

2299| `reason` | Требуется при `decision` равном `"block"`. Говорит Claude, почему оно должно продолжить |2326| `reason` | Требуется при `decision` равном `"block"`. Говорит Claude, почему оно должно продолжить |

2327| `hookSpecificOutput.additionalContext` | Ненаправленная обратная связь для Claude. Разговор продолжается, чтобы Claude мог действовать на основе этого, но в отличие от `decision: "block"` это показывается в транскрипте как обратная связь hook, а не ошибка hook |

2300 2328 

2301```json theme={null}2329```json theme={null}

2302{2330{


2305}2333}

2306```2334```

2307 2335 

2336Используйте `additionalContext`, когда hook работает как задумано и даёт Claude руководство, такое как "запустите набор тестов перед завершением". Это держит разговор идущим через те же защиты цикла, что и `decision: "block"`, а именно вход `stop_hook_active` и ограничение 8 последовательных продолжений, но транскрипт помечает его как `Stop hook feedback` и уведомление об ошибке hook не показывается:

2337 

2338```json theme={null}

2339{

2340 "hookSpecificOutput": {

2341 "hookEventName": "Stop",

2342 "additionalContext": "Please run the test suite before finishing"

2343 }

2344}

2345```

2346 

2308<h3 id="stopfailure">2347<h3 id="stopfailure">

2309 StopFailure2348 StopFailure

2310</h3>2349</h3>


2359 "permission_mode": "default",2398 "permission_mode": "default",

2360 "hook_event_name": "TeammateIdle",2399 "hook_event_name": "TeammateIdle",

2361 "teammate_name": "researcher",2400 "teammate_name": "researcher",

2362 "team_name": "my-project"2401 "team_name": "session-a1b2c3d4"

2363}2402}

2364```2403```

2365 2404 

2366| Поле | Описание |2405| Поле | Описание |

2367| :-------------- | :-------------------------------------------------------- |2406| :-------------- | :----------------------------------------------------------------- |

2368| `teammate_name` | Имя товарища, который собирается перейти в режим ожидания |2407| `teammate_name` | Имя товарища, который собирается перейти в режим ожидания |

2369| `team_name` | Имя команды |2408| `team_name` | Имя команды, полученное из сеанса; будет удалено в будущем выпуске |

2370 2409 

2371<h4 id="teammateidle-decision-control">2410<h4 id="teammateidle-decision-control">

2372 TeammateIdle decision control2411 TeammateIdle decision control

hooks-guide.md +22 −10

Details

506 506 

507Когда несколько hooks совпадают с одним и тем же событием, каждая команда hook выполняется до завершения, прежде чем Claude Code объединит результаты. Один hook, возвращающий `deny`, не останавливает выполнение родственных hooks. Не полагайтесь на `deny` одного hook для подавления побочных эффектов в другом hook.507Когда несколько hooks совпадают с одним и тем же событием, каждая команда hook выполняется до завершения, прежде чем Claude Code объединит результаты. Один hook, возвращающий `deny`, не останавливает выполнение родственных hooks. Не полагайтесь на `deny` одного hook для подавления побочных эффектов в другом hook.

508 508 

509После завершения всех соответствующих hooks Claude Code объединяет их выходные данные. Для решений о разрешениях `PreToolUse` побеждает наиболее ограничивающий ответ: `deny` переопределяет `ask`, который переопределяет `allow`. Текст из `additionalContext` сохраняется от каждого hook и передаётся Claude вместе.509После завершения всех соответствующих hooks Claude Code объединяет их выходные данные. Для решений о разрешениях `PreToolUse` побеждает наиболее ограничивающий ответ в порядке `deny`, `defer`, `ask`, `allow`. Текст из `additionalContext` сохраняется от каждого hook и передаётся Claude вместе.

510 510 

511Пример ниже регистрирует два hook `PreToolUse` на `Bash`. Первый добавляет каждую команду в файл журнала и выходит с 0. Второй запускает скрипт, который выходит с 2, чтобы отклонить, когда команда содержит `rm -rf`:511Пример ниже регистрирует два hook `PreToolUse` на `Bash`. Первый добавляет каждую команду в файл журнала и выходит с 0. Второй запускает скрипт, который выходит с 2, чтобы отклонить, когда команда содержит `rm -rf`:

512 512 


572COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command')572COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command')

573 573 

574if echo "$COMMAND" | grep -q "drop table"; then574if echo "$COMMAND" | grep -q "drop table"; then

575 echo "Blocked: dropping tables is not allowed" >&2 # stderr становится обратной связью Claude575 echo "Blocked: dropping tables is not allowed" >&2 // stderr становится обратной связью Claude

576 exit 2 # exit 2 = блокировать действие576 exit 2 // exit 2 = блокировать действие

577fi577fi

578 578 

579exit 0 # exit 0 = нет возражений; нормальный поток разрешений применяется579exit 0 // exit 0 = нет возражений; нормальный поток разрешений применяется

580```580```

581 581 

582Код выхода определяет, что происходит дальше:582Код выхода определяет, что происходит дальше:


748</h4>748</h4>

749 749 

750<Note>750<Note>

751 Поле `if` требует Claude Code v2.1.85 или позже. Более ранние версии игнорируют его и запускают hook при каждом совпадении.751 Поле `if` требует Claude Code v2.1.85 или позже. Более ранние версии игнорируют его и запускают hook при каждом совпадении вызова.

752</Note>752</Note>

753 753 

754Поле `if` использует [permission rule syntax](/ru/permissions) для фильтрации hooks по имени инструмента и аргументам вместе, поэтому процесс hook порождается только когда вызов инструмента совпадает, или когда команда Bash слишком сложна для анализа. Это выходит за рамки `matcher`, который фильтрует на уровне группы только по имени инструмента.754Поле `if` использует [permission rule syntax](/ru/permissions) для фильтрации hooks по имени инструмента и аргументам вместе, поэтому процесс hook порождается только когда вызов инструмента совпадает. Это выходит за рамки `matcher`, который фильтрует на уровне группы только по имени инструмента.

755 755 

756Например, чтобы запустить hook только когда Claude использует команды `git` вместо всех команд Bash:756Например, чтобы запустить hook только когда Claude использует команды `git` вместо всех команд Bash:

757 757 


774}774}

775```775```

776 776 

777Процесс hook порождается только когда подкоманда команды Bash совпадает с `git *`, или когда команда слишком сложна для анализа в подкоманды. Для составных команд, таких как `npm test && git push`, Claude Code оценивает каждую подкоманду и запускает hook, потому что `git push` совпадает. Поле `if` принимает те же шаблоны, что и правила разрешений: `"Bash(git *)"`, `"Edit(*.ts)"` и так далее. Для соответствия нескольким именам инструментов используйте отдельные обработчики каждый со своим значением `if`, или соответствуйте на уровне `matcher`, где поддерживается чередование трубой.777Запускается ли процесс hook команды зависит от формы вашего шаблона `if` и команды Bash, которую Claude вызывает:

778 

779| Шаблон `if` | Команда Bash | Hook запускается? | Почему |

780| :----------------- | :--------------------- | :---------------- | :----------------------------------------------------------------------------------------------------------------------- |

781| `Bash(git *)` | `git push` | да | имя команды совпадает |

782| `Bash(git *)` | `npm test && git push` | да | каждая подкоманда проверяется; `git push` совпадает |

783| `Bash(git *)` | `echo $(git log)` | да | команды внутри `$()` и обратных кавычек проверяются; `git log` совпадает |

784| `Bash(git *)` | `echo $(date)` | нет | ни одна подкоманда не совпадает с `git *` |

785| `Bash(git push *)` | `echo $(date)` | да | шаблоны, которые указывают больше, чем имя команды, запускают hook в любом случае на `$()`, обратных кавычках или `$VAR` |

786 

787Фильтр также открывается с ошибкой, запуская ваш hook независимо от шаблона, когда команда Bash не может быть проанализирована. Поскольку фильтр работает по принципу лучшего усилия, используйте [permission system](/ru/permissions) вместо hook для обеспечения жёсткого разрешения или отказа.

788 

789Поле `if` принимает те же шаблоны, что и правила разрешений: `"Bash(git *)"`, `"Edit(*.ts)"` и так далее. Для соответствия нескольким именам инструментов используйте отдельные обработчики каждый со своим значением `if`, или соответствуйте на уровне `matcher`, где поддерживается чередование трубой.

778 790 

779`if` работает только на событиях инструментов: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` и `PermissionDenied`. Добавление его к любому другому событию предотвращает запуск hook.791`if` работает только на событиях инструментов: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` и `PermissionDenied`. Добавление его к любому другому событию предотвращает запуск hook.

780 792 


785Где вы добавляете hook, определяет его область:797Где вы добавляете hook, определяет его область:

786 798 

787| Местоположение | Область | Общий доступ |799| Местоположение | Область | Общий доступ |

788| :---------------------------------------------------------- | :--------------------------- | :--------------------------------- |800| :---------------------------------------------------------- | :--------------------------- | :-------------------------------------------- |

789| `~/.claude/settings.json` | Все ваши проекты | Нет, локально на вашей машине |801| `~/.claude/settings.json` | Все ваши проекты | Нет, локально на вашей машине |

790| `.claude/settings.json` | Один проект | Да, можно зафиксировать в репо |802| `.claude/settings.json` | Один проект | Да, можно зафиксировать в репо |

791| `.claude/settings.local.json` | Один проект | Нет, gitignored |803| `.claude/settings.local.json` | Один проект | Нет, gitignored когда Claude Code создаёт его |

792| Managed policy settings | Организация | Да, контролируется администратором |804| Managed policy settings | Организация | Да, контролируется администратором |

793| [Plugin](/ru/plugins) `hooks/hooks.json` | Когда плагин включен | Да, упакован с плагином |805| [Plugin](/ru/plugins) `hooks/hooks.json` | Когда плагин включен | Да, упакован с плагином |

794| [Skill](/ru/skills) или [agent](/ru/sub-agents) frontmatter | Пока skill или agent активны | Да, определено в файле компонента |806| [Skill](/ru/skills) или [agent](/ru/sub-agents) frontmatter | Пока skill или agent активны | Да, определено в файле компонента |

795 807 

796Запустите [`/hooks`](/ru/hooks#the-hooks-menu) в Claude Code для просмотра всех настроенных hooks, сгруппированных по событиям. Чтобы отключить hooks, установите `"disableAllHooks": true` в вашем файле параметров. Hooks, настроенные в управляемых параметрах, по-прежнему запускаются, если `disableAllHooks` также не установлен там.808Запустите [`/hooks`](/ru/hooks#the-%2Fhooks-menu) в Claude Code для просмотра всех настроенных hooks, сгруппированных по событиям. Чтобы отключить hooks, установите `"disableAllHooks": true` в вашем файле параметров. Hooks, настроенные в управляемых параметрах, по-прежнему запускаются, если `disableAllHooks` также не установлен там.

797 809 

798Если вы редактируете файлы параметров напрямую во время работы Claude Code, наблюдатель файлов обычно автоматически подхватывает изменения hook.810Если вы редактируете файлы параметров напрямую во время работы Claude Code, наблюдатель файлов обычно автоматически подхватывает изменения hook.

799 811 

Details

16 16 

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

18 18 

19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agentic-loop.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=4a30fb7ce2815012a9f27c955e2c6bb0" alt="Агентивный цикл: ваш запрос приводит к тому, что Claude собирает контекст, выполняет действия, проверяет результаты и повторяет процесс до завершения задачи. Вы можете прервать процесс в любой момент." width="720" height="280" data-path="images/agentic-loop.svg" />19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agentic-loop.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=4a30fb7ce2815012a9f27c955e2c6bb0" alt="Диаграмма агентивного цикла: ваш запрос приводит к тому, что Claude собирает контекст, выполняет действия, проверяет результаты и повторяет процесс до завершения задачи. Вы можете прервать процесс в любой момент." width="720" height="280" data-path="images/agentic-loop.svg" />

20 20 

21Цикл адаптируется к тому, что вы просите. Вопрос о вашей кодовой базе может потребовать только сбора контекста. Исправление ошибки проходит через все три фазы повторно. Рефакторинг может включать обширную проверку. Claude решает, что требуется на каждом этапе, на основе того, что он узнал на предыдущем этапе, объединяя десятки действий вместе и корректируя курс по ходу дела.21Цикл адаптируется к тому, что вы просите. Вопрос о вашей кодовой базе может потребовать только сбора контекста. Исправление ошибки проходит через все три фазы повторно. Рефакторинг может включать обширную проверку. Claude решает, что требуется на каждом этапе, на основе того, что он узнал на предыдущем этапе, объединяя десятки действий вместе и корректируя курс по ходу дела.

22 22 


188 188 

189* **По умолчанию**: Claude спрашивает перед редактированием файлов и командами shell189* **По умолчанию**: Claude спрашивает перед редактированием файлов и командами shell

190* **Автоматическое принятие редактирования**: Claude редактирует файлы и запускает общие команды файловой системы, такие как `mkdir` и `mv`, без запроса, всё ещё спрашивает для других команд190* **Автоматическое принятие редактирования**: Claude редактирует файлы и запускает общие команды файловой системы, такие как `mkdir` и `mv`, без запроса, всё ещё спрашивает для других команд

191* **Plan Mode**: Claude использует только инструменты только для чтения, создавая план, который вы можете одобрить перед выполнением191* **Plan Mode**: Claude исследует и предлагает план без редактирования ваших исходных файлов; запросы разрешений по-прежнему применяются, как в режиме по умолчанию

192* **Auto mode**: Claude оценивает все действия с проверками безопасности в фоновом режиме. В настоящее время это исследовательский предпросмотр192* **Auto mode**: Claude оценивает все действия с проверками безопасности в фоновом режиме. В настоящее время это исследовательский предпросмотр

193 193 

194Вы также можете разрешить определённые команды в `.claude/settings.json`, чтобы Claude не спрашивал каждый раз. Это полезно для доверенных команд, таких как `npm test` или `git status`. Параметры могут быть ограничены от политик на уровне организации до личных предпочтений. Подробности см. в разделе [Разрешения](/ru/permissions).194Вы также можете разрешить определённые команды в `.claude/settings.json`, чтобы Claude не спрашивал каждый раз. Это полезно для доверенных команд, таких как `npm test` или `git status`. Параметры могут быть ограничены от политик на уровне организации до личных предпочтений. Подробности см. в разделе [Разрешения](/ru/permissions).


213* `/agents` помогает вам настроить пользовательские subagents213* `/agents` помогает вам настроить пользовательские subagents

214* `/doctor` диагностирует распространённые проблемы с вашей установкой214* `/doctor` диагностирует распространённые проблемы с вашей установкой

215 215 

216<h3 id="it-s-a-conversation">216<h3 id="its-a-conversation">

217 Это беседа217 Это беседа

218</h3>218</h3>

219 219 


282 282 

283Просмотрите план, уточните его через беседу, затем позвольте Claude реализовать. Этот двухфазный подход даёт лучшие результаты, чем прямой переход к коду.283Просмотрите план, уточните его через беседу, затем позвольте Claude реализовать. Этот двухфазный подход даёт лучшие результаты, чем прямой переход к коду.

284 284 

285<h3 id="delegate-don-t-dictate">285<h3 id="delegate-dont-dictate">

286 Делегируйте, не диктуйте286 Делегируйте, не диктуйте

287</h3>287</h3>

288 288 


295 295 

296Вам не нужно указывать, какие файлы читать или какие команды запускать. Claude это выясняет.296Вам не нужно указывать, какие файлы читать или какие команды запускать. Claude это выясняет.

297 297 

298<h2 id="what-s-next">298<h2 id="whats-next">

299 Что дальше299 Что дальше

300</h2>300</h2>

301 301 

Details

27</h3>27</h3>

28 28 

29| Сочетание клавиш | Описание | Контекст |29| Сочетание клавиш | Описание | Контекст |

30| :-------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |30| :-------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

31| `Ctrl+C` | Прервать или очистить ввод | Прерывает выполняемую операцию. Если ничего не выполняется, первое нажатие очищает ввод запроса, а второе нажатие выходит из Claude Code |31| `Ctrl+C` | Прервать или очистить ввод | Прерывает выполняемую операцию. Если ничего не выполняется, первое нажатие очищает ввод запроса, а второе нажатие выходит из Claude Code |

32| `Ctrl+X Ctrl+K` | Завершить всех выполняющихся [фоновых подагентов](/ru/sub-agents#run-subagents-in-foreground-or-background) в этом сеансе. Нажмите дважды в течение 3 секунд для подтверждения | Управление подагентами |32| `Ctrl+X Ctrl+K` | Завершить всех выполняющихся [фоновых подагентов](/ru/sub-agents#run-subagents-in-foreground-or-background) в этом сеансе. Нажмите дважды в течение 3 секунд для подтверждения | Управление подагентами |

33| `Ctrl+D` | Выход из сеанса Claude Code | Сигнал EOF |33| `Ctrl+D` | Выход из сеанса Claude Code | Сигнал EOF |


39| `Ctrl+B` | Фоновое выполнение задач | Переводит bash команды и агентов в фоновый режим. Пользователи Tmux нажимают дважды |39| `Ctrl+B` | Фоновое выполнение задач | Переводит bash команды и агентов в фоновый режим. Пользователи Tmux нажимают дважды |

40| `Ctrl+T` | Переключить список задач | Показать или скрыть [список задач](#task-list) в области статуса терминала |40| `Ctrl+T` | Переключить список задач | Показать или скрыть [список задач](#task-list) в области статуса терминала |

41| `Left/Right arrows` | Переключение между вкладками диалога | Навигация между вкладками в диалогах разрешений и меню |41| `Left/Right arrows` | Переключение между вкладками диалога | Навигация между вкладками в диалогах разрешений и меню |

42| `Up/Down arrows` или `Ctrl+P`/`Ctrl+N` | Переместить курсор или навигировать по истории команд | В многострочном вводе сначала перемещает курсор внутри запроса. Когда курсор уже находится на верхнем или нижнем краю, повторное нажатие навигирует по истории команд |42| `Up/Down arrows` или `Ctrl+P`/`Ctrl+N` | Переместить курсор или навигировать по истории команд | Когда ввод занимает более одной визуальной строки, будь то обернутый или многострочный, сначала перемещает курсор внутри запроса. Когда курсор находится на первой или последней визуальной строке, повторное нажатие навигирует по истории команд. {/* min-version: 2.1.169 */}Начиная с версии 2.1.169, обернутый однострочный ввод ведет себя так же, как многострочный |

43| `Esc` | Прервать Claude | Остановите текущий ответ или вызов инструмента в середине хода, чтобы вы могли перенаправить. Claude сохраняет выполненную работу |43| `Esc` | Прервать Claude | Остановите текущий ответ или вызов инструмента в середине хода, чтобы вы могли перенаправить. Claude сохраняет выполненную работу |

44| `Esc` + `Esc` | Очистить черновик ввода или перемотать | Когда ввод запроса содержит текст, двойное нажатие `Esc` очищает его и сохраняет черновик в историю, чтобы `Up` мог его вспомнить. Когда ввод пуст, двойное нажатие `Esc` открывает [меню перемотки](/ru/checkpointing) для восстановления или резюме кода и разговора из предыдущей точки |44| `Esc` + `Esc` | Очистить черновик ввода или перемотать | Когда ввод запроса содержит текст, двойное нажатие `Esc` очищает его и сохраняет черновик в историю, чтобы `Up` мог его вспомнить. Когда ввод пуст, двойное нажатие `Esc` открывает [меню перемотки](/ru/checkpointing) для восстановления или резюме кода и разговора из предыдущей точки |

45| `Shift+Tab` или `Alt+M` (некоторые конфигурации) | Переключить режимы разрешений | Переключайтесь между `default`, `acceptEdits`, `plan` и любыми включенными вами режимами, такими как `auto` или `bypassPermissions`. См. [режимы разрешений](/ru/permission-modes). |45| `Shift+Tab` или `Alt+M` (некоторые конфигурации) | Переключить режимы разрешений | Переключайтесь между `default`, `acceptEdits`, `plan` и любыми включенными вами режимами, такими как `auto` или `bypassPermissions`. См. [режимы разрешений](/ru/permission-modes). |

46| `Option+P` (macOS) или `Alt+P` (Windows/Linux) | Переключить модель | Переключайте модели без очистки вашего запроса |46| `Option+P` (macOS) или `Alt+P` (Windows/Linux) | Переключить модель | Переключайте модели без очистки вашего запроса |

47| `Option+T` (macOS) или `Alt+T` (Windows/Linux) | Переключить расширенное мышление | Включите или отключите режим расширенного мышления. {/* min-version: 2.1.132 */}Начиная с версии 2.1.132 это сочетание клавиш работает на macOS без настройки Option как Meta |47| `Option+T` (macOS) или `Alt+T` (Windows/Linux) | Переключить расширенное мышление | Включите или отключите режим расширенного мышления. Не влияет на Fable 5, который всегда использует расширенное мышление. {/* min-version: 2.1.132 */}Начиная с версии 2.1.132 это сочетание клавиш работает на macOS без настройки Option как Meta |

48| `Option+O` (macOS) или `Alt+O` (Windows/Linux) | Переключить быстрый режим | Включите или отключите [быстрый режим](/ru/fast-mode) |48| `Option+O` (macOS) или `Alt+O` (Windows/Linux) | Переключить быстрый режим | Включите или отключите [быстрый режим](/ru/fast-mode) |

49 49 

50<h3 id="text-editing">50<h3 id="text-editing">


372| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |372| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

373| `Space`, `Enter`, `Escape` | Отклонить ответ и вернуться к запросу |373| `Space`, `Enter`, `Escape` | Отклонить ответ и вернуться к запросу |

374| `Up` / `Down` | Прокрутить ответ |374| `Up` / `Down` | Прокрутить ответ |

375| `c` | Скопировать ответ в буфер обмена как исходный Markdown. Используйте это вместо выделения мышью, которое захватывает жесткий перенос терминала, а не исходный текст |

375| `f` | Разветвить в новый сеанс. Разветвление наследует родительский разговор плюс этот вопрос и ответ как реальные ходы транскрипта, поэтому вы можете продолжить с полным доступом к инструментам. Исходный сеанс сохраняется под [`/resume`](/ru/commands). Доступно только в локальных сеансах |376| `f` | Разветвить в новый сеанс. Разветвление наследует родительский разговор плюс этот вопрос и ответ как реальные ходы транскрипта, поэтому вы можете продолжить с полным доступом к инструментам. Исходный сеанс сохраняется под [`/resume`](/ru/commands). Доступно только в локальных сеансах |

376| `x` | Очистить список более ранних обменов `/btw`, показанный выше текущего ответа |377| `x` | Очистить список более ранних обменов `/btw`, показанный выше текущего ответа |

377 378 

jetbrains.md +77 −25

Details

8 8 

9Claude Code интегрируется с JetBrains IDEs через специальный плагин, предоставляя функции, такие как интерактивный просмотр различий, совместное использование контекста выделения и многое другое.9Claude Code интегрируется с JetBrains IDEs через специальный плагин, предоставляя функции, такие как интерактивный просмотр различий, совместное использование контекста выделения и многое другое.

10 10 

11## Поддерживаемые IDE11<h2 id="supported-ides">

12 Поддерживаемые IDE

13</h2>

12 14 

13Плагин Claude Code работает с большинством JetBrains IDE, включая:15Плагин Claude Code работает с большинством JetBrains IDE, включая:

14 16 


19* PhpStorm21* PhpStorm

20* GoLand22* GoLand

21 23 

22## Функции24<h2 id="features">

25 Функции

26</h2>

23 27 

24* **Быстрый запуск**: используйте `Cmd+Esc` (Mac) или `Ctrl+Esc` (Windows/Linux) для открытия Claude Code непосредственно из редактора, или нажмите кнопку Claude Code в интерфейсе28* **Быстрый запуск**: используйте `Cmd+Esc` (Mac) или `Ctrl+Esc` (Windows/Linux) для открытия Claude Code непосредственно из редактора, или нажмите кнопку Claude Code в интерфейсе

25* **Просмотр различий**: изменения кода могут отображаться непосредственно в средстве просмотра различий IDE вместо терминала29* **Просмотр различий**: изменения кода могут отображаться непосредственно в средстве просмотра различий IDE вместо терминала


27* **Ярлыки ссылок на файлы**: используйте `Cmd+Option+K` (Mac) или `Alt+Ctrl+K` (Linux/Windows) для вставки ссылок на файлы, такие как `@src/auth.ts#L1-99`31* **Ярлыки ссылок на файлы**: используйте `Cmd+Option+K` (Mac) или `Alt+Ctrl+K` (Linux/Windows) для вставки ссылок на файлы, такие как `@src/auth.ts#L1-99`

28* **Совместное использование диагностики**: диагностические ошибки из IDE, такие как ошибки lint и синтаксиса, автоматически передаются в Claude по мере работы32* **Совместное использование диагностики**: диагностические ошибки из IDE, такие как ошибки lint и синтаксиса, автоматически передаются в Claude по мере работы

29 33 

30## Установка34<h2 id="installation">

35 Установка

36</h2>

31 37 

32### Установка из Marketplace38Плагин запускает команду `claude` в интегрированном терминале вашей IDE и подключается к ней. Он не включает собственную копию CLI, поэтому установите обе части:

33 39 

34Найдите и установите [плагин Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) из marketplace JetBrains и перезагрузите вашу IDE.40<Steps>

41 <Step title="Установите Claude Code CLI">

42 Следуйте [руководству по быстрому старту](/ru/quickstart) для установки CLI, если вы еще этого не сделали. Плагин показывает уведомление "Cannot launch Claude Code" (Не удается запустить Claude Code), когда `claude` отсутствует в вашем PATH.

43 </Step>

44 

45 <Step title="Установите плагин JetBrains">

46 Установите [плагин Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) из JetBrains Marketplace и перезагрузите вашу IDE.

47 </Step>

48</Steps>

49 

50Если `claude` установлен в месте, которое ваша IDE не может найти, установите полный путь в [параметре Claude command](#general-settings) плагина.

35 51 

36Если вы еще не установили Claude Code, см. [руководство по быстрому старту](/ru/quickstart) для получения инструкций по установке.52Claude Code работает с любой платной подпиской Claude (Pro, Max, Team или Enterprise) или с учетной записью Claude Console, и API ключ не требуется. Вам будет предложено [войти](/ru/authentication#log-in-to-claude-code) при первом запуске `claude`.

37 53 

38<Note>54<Note>

39 После установки плагина может потребоваться полностью перезагрузить IDE, чтобы он вступил в силу.55 После установки плагина может потребоваться полностью перезагрузить IDE, чтобы он вступил в силу.

40</Note>56</Note>

41 57 

42## Использование58<h2 id="usage">

59 Использование

60</h2>

43 61 

44### Из вашей IDE62<h3 id="from-your-ide">

63 Из вашей IDE

64</h3>

45 65 

46Запустите `claude` из встроенного терминала вашей IDE, и все функции интеграции будут активны.66Запустите `claude` из встроенного терминала вашей IDE, и все функции интеграции будут активны.

47 67 

48### Из внешних терминалов68<h3 id="from-external-terminals">

69 Из внешних терминалов

70</h3>

49 71 

50Используйте команду `/ide` в любом внешнем терминале для подключения Claude Code к вашей JetBrains IDE и активации всех функций:72Используйте команду `/ide` в любом внешнем терминале для подключения Claude Code к вашей JetBrains IDE и активации всех функций:

51 73 


59 81 

60Если вы хотите, чтобы Claude имел доступ к тем же файлам, что и ваша IDE, запустите Claude Code из того же каталога, что и корень проекта вашей IDE.82Если вы хотите, чтобы Claude имел доступ к тем же файлам, что и ваша IDE, запустите Claude Code из того же каталога, что и корень проекта вашей IDE.

61 83 

62## Конфигурация84<h2 id="configuration">

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

86</h2>

63 87 

64### Параметры Claude Code88<h3 id="claude-code-settings">

89 Параметры Claude Code

90</h3>

65 91 

66Настройте интеграцию IDE через параметры Claude Code:92Настройте интеграцию IDE через параметры Claude Code:

67 93 


692. Введите команду `/config`952. Введите команду `/config`

703. Установите инструмент diff на `auto` для отображения различий в IDE, или `terminal` для сохранения их в терминале963. Установите инструмент diff на `auto` для отображения различий в IDE, или `terminal` для сохранения их в терминале

71 97 

72### Параметры плагина98<h3 id="plugin-settings">

99 Параметры плагина

100</h3>

73 101 

74Настройте плагин Claude Code, перейдя в **Settings → Tools → Claude Code \[Beta]**:102Настройте плагин Claude Code, перейдя в **Settings → Tools → Claude Code \[Beta]**:

75 103 

76#### Общие параметры104<h4 id="general-settings">

105 Общие параметры

106</h4>

77 107 

78* **Claude command**: укажите пользовательскую команду для запуска Claude, например `claude`, `/usr/local/bin/claude` или `npx @anthropic-ai/claude-code`108* **Claude command**: укажите пользовательскую команду для запуска Claude, например `claude`, `/usr/local/bin/claude` или `npx @anthropic-ai/claude-code`

79* **Suppress notification for Claude command not found**: пропустить уведомления об отсутствии команды Claude109* **Suppress notification for Claude command not found**: пропустить уведомления об отсутствии команды Claude


84 Для пользователей WSL: установите `wsl -d Ubuntu -- bash -lic "claude"` в качестве команды Claude (замените `Ubuntu` на имя вашего дистрибутива WSL)114 Для пользователей WSL: установите `wsl -d Ubuntu -- bash -lic "claude"` в качестве команды Claude (замените `Ubuntu` на имя вашего дистрибутива WSL)

85</Tip>115</Tip>

86 116 

87#### Конфигурация клавиши ESC117<h4 id="esc-key-configuration">

118 Конфигурация клавиши ESC

119</h4>

88 120 

89Если клавиша ESC не прерывает операции Claude Code в терминалах JetBrains:121Если клавиша ESC не прерывает операции Claude Code в терминалах JetBrains:

90 122 


96 128 

97Это позволит клавише ESC правильно прерывать операции Claude Code.129Это позволит клавише ESC правильно прерывать операции Claude Code.

98 130 

99## Специальные конфигурации131<h2 id="special-configurations">

132 Специальные конфигурации

133</h2>

100 134 

101### Удаленная разработка135<h3 id="remote-development">

136 Удаленная разработка

137</h3>

102 138 

103<Warning>139<Warning>

104 При использовании JetBrains Remote Development необходимо установить плагин на удаленном хосте через **Settings → Plugin (Host)**.140 При использовании JetBrains Remote Development необходимо установить плагин на удаленном хосте через **Settings → Plugin (Host)**.


106 142 

107Плагин должен быть установлен на удаленном хосте, а не на вашей локальной клиентской машине.143Плагин должен быть установлен на удаленном хосте, а не на вашей локальной клиентской машине.

108 144 

109### Конфигурация WSL145<h3 id="wsl-configuration">

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

147</h3>

110 148 

111Если вы используете Claude Code на WSL2 с JetBrains IDE и видите "No available IDEs detected", причина обычно заключается в NAT-сетевом взаимодействии WSL2 или брандмауэре Windows, блокирующем соединение между WSL2 и IDE, работающей на хосте Windows. WSL1 использует сеть хоста напрямую и не подвержена этой проблеме.149Если вы используете Claude Code на WSL2 с JetBrains IDE и видите "No available IDEs detected", причина обычно заключается в NAT-сетевом взаимодействии WSL2 или брандмауэре Windows, блокирующем соединение между WSL2 и IDE, работающей на хосте Windows. WSL1 использует сеть хоста напрямую и не подвержена этой проблеме.

112 150 

113#### Разрешить трафик WSL2 через брандмауэр Windows151<h4 id="allow-wsl2-traffic-through-windows-firewall">

152 Разрешить трафик WSL2 через брандмауэр Windows

153</h4>

114 154 

115Это рекомендуемое исправление, так как оно сохраняет ваш существующий режим сетевого взаимодействия WSL2.155Это рекомендуемое исправление, так как оно сохраняет ваш существующий режим сетевого взаимодействия WSL2.

116 156 


138 </Step>178 </Step>

139</Steps>179</Steps>

140 180 

141#### Переключите WSL2 на зеркальное сетевое взаимодействие181<h4 id="switch-wsl2-to-mirrored-networking">

182 Переключите WSL2 на зеркальное сетевое взаимодействие

183</h4>

142 184 

143Зеркальное сетевое взаимодействие требует Windows 11 22H2 или более поздней версии. Если вы используете Windows 10, используйте вместо этого правило брандмауэра выше.185Зеркальное сетевое взаимодействие требует Windows 11 22H2 или более поздней версии. Если вы используете Windows 10, используйте вместо этого правило брандмауэра выше.

144 186 


151 193 

152Затем перезагрузите WSL с помощью `wsl --shutdown` из PowerShell.194Затем перезагрузите WSL с помощью `wsl --shutdown` из PowerShell.

153 195 

154## Устранение неполадок196<h2 id="troubleshooting">

197 Устранение неполадок

198</h2>

155 199 

156### Плагин не работает200<h3 id="plugin-not-working">

201 Плагин не работает

202</h3>

157 203 

158Если плагин установлен, но функции Claude Code не отображаются в вашей IDE:204Если плагин установлен, но функции Claude Code не отображаются в вашей IDE:

159 205 


162* Полностью перезагрузите IDE (может потребоваться сделать это несколько раз)208* Полностью перезагрузите IDE (может потребоваться сделать это несколько раз)

163* Для Remote Development убедитесь, что плагин установлен на удаленном хосте209* Для Remote Development убедитесь, что плагин установлен на удаленном хосте

164 210 

165### IDE не обнаружена211<h3 id="ide-not-detected">

212 IDE не обнаружена

213</h3>

166 214 

167Если запуск `claude` показывает "No available IDEs detected":215Если запуск `claude` показывает "No available IDEs detected":

168 216 

169* Проверьте, что плагин установлен и включен217* Проверьте, что плагин установлен и включен

170* Полностью перезагрузите IDE218* Полностью перезагрузите IDE

171* Проверьте, что вы запускаете Claude Code из встроенного терминала219* Проверьте, что вы запускаете Claude Code из встроенного терминала

172* Для пользователей WSL см. [конфигурацию WSL](#конфигурация-wsl) выше220* Для пользователей WSL см. [конфигурацию WSL](#wsl-configuration) выше

173 221 

174### Команда не найдена222<h3 id="command-not-found">

223 Команда не найдена

224</h3>

175 225 

176Если нажатие на значок Claude показывает "command not found":226Если нажатие на значок Claude показывает "command not found":

177 227 


1792. Настройте путь команды Claude в параметрах плагина2292. Настройте путь команды Claude в параметрах плагина

1803. Для пользователей WSL используйте формат команды WSL, упомянутый в разделе конфигурации2303. Для пользователей WSL используйте формат команды WSL, упомянутый в разделе конфигурации

181 231 

182## Соображения безопасности232<h2 id="security-considerations">

233 Соображения безопасности

234</h2>

183 235 

184Когда Claude Code работает в JetBrains IDE с включенными разрешениями на автоматическое редактирование, он может быть в состоянии изменять файлы конфигурации IDE, которые могут быть автоматически выполнены вашей IDE. Это может увеличить риск запуска Claude Code в режиме автоматического редактирования и позволить обойти подсказки разрешений Claude Code для выполнения bash.236Когда Claude Code работает в JetBrains IDE с включенными разрешениями на автоматическое редактирование, он может быть в состоянии изменять файлы конфигурации IDE, которые могут быть автоматически выполнены вашей IDE. Это может увеличить риск запуска Claude Code в режиме автоматического редактирования и позволить обойти подсказки разрешений Claude Code для выполнения bash.

185 237 

keybindings.md +9 −9

Details

16 Файл конфигурации16 Файл конфигурации

17</h2>17</h2>

18 18 

19Файл конфигурации keybindings — это объект с массивом `bindings`. Каждый блок указывает контекст и карту нажатий клавиш на действия.19Файл конфигурации сочетаний клавиш — это объект с массивом `bindings`. Каждый блок указывает контекст и карту нажатий клавиш на действия.

20 20 

21<Note>Изменения в файле keybindings автоматически обнаруживаются и применяются без перезагрузки Claude Code.</Note>21<Note>Изменения в файле сочетаний клавиш автоматически обнаруживаются и применяются без перезагрузки Claude Code.</Note>

22 22 

23| Поле | Описание |23| Поле | Описание |

24| :--------- | :---------------------------------------------------------- |24| :--------- | :---------------------------------------------------------- |


203Действия, доступные в контексте `Task`:203Действия, доступные в контексте `Task`:

204 204 

205| Действие | По умолчанию | Описание |205| Действие | По умолчанию | Описание |

206| :---------------- | :----------- | :------------------------------- |206| :---------------- | :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

207| `task:background` | Ctrl+B | Переместить текущую задачу в фон |207| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | Переместить текущую задачу в фон. {/* min-version: 2.1.169 */}Сочетание клавиш Ctrl+X Ctrl+B требует v2.1.169 или более позднюю версию и избегает конфликта с префиксом tmux |

208 208 

209<h3 id="theme-actions">209<h3 id="theme-actions">

210 Действия темы210 Действия темы


512 Конфликты терминала512 Конфликты терминала

513</h2>513</h2>

514 514 

515Некоторые сочетания могут конфликтовать с мультиплексорами терминала:515Некоторые сочетания клавиш могут конфликтовать с мультиплексорами терминала:

516 516 

517| Сочетание | Конфликт |517| Сочетание клавиш | Конфликт |

518| :-------- | :----------------------------------------- |518| :--------------- | :----------------------------------------- |

519| Ctrl+B | Префикс tmux (нажмите дважды для отправки) |519| Ctrl+B | Префикс tmux (нажмите дважды для отправки) |

520| Ctrl+A | Префикс GNU screen |520| Ctrl+A | Префикс GNU screen |

521| Ctrl+Z | Приостановка процесса Unix (SIGTSTP) |521| Ctrl+Z | Приостановка процесса Unix (SIGTSTP) |


537 Валидация537 Валидация

538</h2>538</h2>

539 539 

540Claude Code проверяет ваши keybindings и показывает предупреждения для:540Claude Code проверяет ваши сочетания клавиш и показывает предупреждения для:

541 541 

542* Ошибок разбора (неверный JSON или структура)542* Ошибок разбора (неверный JSON или структура)

543* Неверных имён контекстов543* Неверных имён контекстов


545* Конфликтов мультиплексоров терминала545* Конфликтов мультиплексоров терминала

546* Дублирующихся привязок в одном контексте546* Дублирующихся привязок в одном контексте

547 547 

548Запустите `/doctor` для просмотра любых предупреждений keybindings.548Запустите `/doctor` для просмотра любых предупреждений сочетаний клавиш.

Details

148 148 

149Используйте это для каталогов, в которых вы никогда не работаете, таких как пакеты других команд, устаревший код или зависимости поставщика. Список исключений статичен, а не переключатель для каждой задачи. Чтобы сосредоточиться на одном пакете сегодня и другом завтра, [запустите Claude из каталога этого пакета](#choose-where-to-start-claude) вместо редактирования исключений.149Используйте это для каталогов, в которых вы никогда не работаете, таких как пакеты других команд, устаревший код или зависимости поставщика. Список исключений статичен, а не переключатель для каждой задачи. Чтобы сосредоточиться на одном пакете сегодня и другом завтра, [запустите Claude из каталога этого пакета](#choose-where-to-start-claude) вместо редактирования исключений.

150 150 

151Если вы хотите эти исключения только для себя, поместите параметр в `.claude/settings.local.json`, который игнорируется git и не зафиксирован. Паттерны используют синтаксис glob, сопоставленный с абсолютными путями файлов, поэтому начните паттерны в стиле relative с `**/`, чтобы совпадать в любом месте дерева. Пример ниже исключает пакеты, принадлежащие другим командам:151Если вы хотите эти исключения только для себя, поместите параметр в `.claude/settings.local.json`. Claude Code игнорирует этот файл, когда его создаёт; поскольку вы создаёте его вручную здесь, добавьте его в ваш gitignore. Паттерны используют синтаксис glob, сопоставленный с абсолютными путями файлов, поэтому начните паттерны в стиле relative с `**/`, чтобы совпадать в любом месте дерева. Пример ниже исключает пакеты, принадлежащие другим командам:

152 152 

153```json .claude/settings.local.json theme={null}153```json .claude/settings.local.json theme={null}

154{154{


422 422 

423Объединённая конфигурация ниже использует макет монорепозитория. Те же файлы работают для любого подкаталога в большом однодеревном. Параметры проекта загружаются только из каталога, из которого вы запускаете Claude, поэтому `.claude/settings.json` каждого подкаталога должен быть самодостаточным, а не слоистым на корневом файле.423Объединённая конфигурация ниже использует макет монорепозитория. Те же файлы работают для любого подкаталога в большом однодеревном. Параметры проекта загружаются только из каталога, из которого вы запускаете Claude, поэтому `.claude/settings.json` каждого подкаталога должен быть самодостаточным, а не слоистым на корневом файле.

424 424 

425Пример зафиксирует `worktree`, `additionalDirectories` и `Read` deny правила в `.claude/settings.json`, чтобы каждый разработчик в `packages/api/` получил одинаковый доступ к соседям, разреженные пути и исключения. Файл ниже — это зафиксированные параметры для каждой области для `packages/api/`:425Пример фиксирует `worktree`, `additionalDirectories` и `Read` deny правила в `.claude/settings.json`, чтобы каждый разработчик в `packages/api/` получил одинаковый доступ к соседям, разреженные пути и исключения. Файл ниже — это зафиксированные параметры для каждой области для `packages/api/`:

426 426 

427```json packages/api/.claude/settings.json theme={null}427```json packages/api/.claude/settings.json theme={null}

428{428{


507Как только эта конфигурация на месте, вы можете её уточнить:507Как только эта конфигурация на месте, вы можете её уточнить:

508 508 

509* Используйте [hooks](/ru/hooks-guide) для запуска per-directory linters или type-checkers после редактирования Claude файлов509* Используйте [hooks](/ru/hooks-guide) для запуска per-directory linters или type-checkers после редактирования Claude файлов

510* Проверьте [Manage costs effectively](/ru/costs) для понимания того, как размер кодовой базы влияет на использование токенов и как установить лимиты расходов перед более широким развёртыванием510* Проверьте [Управление затратами эффективно](/ru/costs) для понимания того, как размер кодовой базы влияет на использование токенов и как установить лимиты расходов перед более широким развёртыванием

511* Прочитайте [How Claude Code works in large codebases](https://claude.com/blog/how-claude-code-works-in-large-codebases-best-practices-and-where-to-start) в блоге Claude для паттернов развёртывания организации и моделей владения, которые находятся выше per-repository конфигурации на этой странице511* Прочитайте [How Claude Code works in large codebases](https://claude.com/blog/how-claude-code-works-in-large-codebases-best-practices-and-where-to-start) в блоге Claude для паттернов развёртывания организации и моделей владения, которые находятся выше per-repository конфигурации на этой странице

llm-gateway.md +2 −0

Details

14* **Логирование аудита** - Отслеживание всех взаимодействий с моделью для соответствия требованиям14* **Логирование аудита** - Отслеживание всех взаимодействий с моделью для соответствия требованиям

15* **Маршрутизация моделей** - Переключение между поставщиками без изменения кода15* **Маршрутизация моделей** - Переключение между поставщиками без изменения кода

16 16 

17На этой странице рассматриваются требования к шлюзу и конфигурация для Claude Code CLI. Развертывания Enterprise Desktop могут настраивать поставщиков шлюза через [управляемые параметры](https://support.claude.com/ru/articles/12622667-enterprise-configuration). Приложение Claude Desktop также может работать с самостоятельно размещенным шлюзом через [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/gateway), который использует свои собственные ключи конфигурации.

18 

17<h2 id="gateway-requirements">19<h2 id="gateway-requirements">

18 Требования к шлюзу20 Требования к шлюзу

19</h2>21</h2>

managed-mcp.md +1 −1

Details

135 135 

136Списки разрешений и запретов фильтруют, какие настроенные серверы разрешены для загрузки. Это не реестр: сервер все еще должен быть добавлен пользователем, плагином или `managed-mcp.json` перед тем, как список разрешений или запретов применится к нему. Чтобы развернуть серверы для пользователей, используйте [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json).136Списки разрешений и запретов фильтруют, какие настроенные серверы разрешены для загрузки. Это не реестр: сервер все еще должен быть добавлен пользователем, плагином или `managed-mcp.json` перед тем, как список разрешений или запретов применится к нему. Чтобы развернуть серверы для пользователей, используйте [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json).

137 137 

138Чтобы сделать список разрешений авторитетным, установите `allowedMcpServers` и `allowManagedMcpServersOnly: true` вместе в [источник управляемых настроек](/ru/admin-setup#decide-how-settings-reach-devices), такой как server-managed settings или развернутый файл `managed-settings.json`. [Restrict the allowlist to managed settings only](#restrict-the-allowlist-to-managed-settings-only) показывает конфигурацию. Без `allowManagedMcpServersOnly` списки разрешений из каждого источника настроек объединяются, включая собственный `~/.claude/settings.json` пользователя, поэтому пользователь может расширить то, что разрешает ваш список разрешений. Списки запретов объединяются из каждого источника независимо.138Чтобы сделать список разрешений авторитетным, установите `allowedMcpServers` и `allowManagedMcpServersOnly: true` вместе в [источник управляемых настроек](/ru/admin-setup#decide-how-settings-reach-devices), такой как server-managed settings или развернутый файл `managed-settings.json`. [Ограничение списка разрешений только управляемыми настройками](#restrict-the-allowlist-to-managed-settings-only) показывает конфигурацию. Без `allowManagedMcpServersOnly` списки разрешений из каждого источника настроек объединяются, включая собственный `~/.claude/settings.json` пользователя, поэтому пользователь может расширить то, что разрешает ваш список разрешений. Списки запретов объединяются из каждого источника независимо.

139 139 

140<Note>140<Note>

141 `allowManagedMcpServersOnly` отличается от `allowManagedPermissionRulesOnly`, который блокирует только [правила разрешений](/ru/permissions#managed-settings). Установка этого флага не применяет список разрешений MCP.141 `allowManagedMcpServersOnly` отличается от `allowManagedPermissionRulesOnly`, который блокирует только [правила разрешений](/ru/permissions#managed-settings). Установка этого флага не применяет список разрешений MCP.

mcp.md +158 −72

Details

12 12 

13Если вы подключаете свой первый server, начните с [MCP quickstart](/ru/mcp-quickstart) для пошагового руководства. Эта страница является полным справочником.13Если вы подключаете свой первый server, начните с [MCP quickstart](/ru/mcp-quickstart) для пошагового руководства. Эта страница является полным справочником.

14 14 

15## Что вы можете делать с MCP15<h2 id="what-you-can-do-with-mcp">

16 Что вы можете делать с MCP

17</h2>

16 18 

17С подключенными MCP servers вы можете попросить Claude Code:19С подключенными MCP servers вы можете попросить Claude Code:

18 20 


23* **Автоматизировать рабочие процессы**: "Создайте черновики Gmail, приглашающие этих 10 пользователей на сеанс обратной связи о новой функции."25* **Автоматизировать рабочие процессы**: "Создайте черновики Gmail, приглашающие этих 10 пользователей на сеанс обратной связи о новой функции."

24* **Реагировать на внешние события**: MCP server также может действовать как [канал](/ru/channels), который отправляет сообщения в вашу сессию, поэтому Claude реагирует на сообщения Telegram, чаты Discord или события webhook, пока вас нет.26* **Реагировать на внешние события**: MCP server также может действовать как [канал](/ru/channels), который отправляет сообщения в вашу сессию, поэтому Claude реагирует на сообщения Telegram, чаты Discord или события webhook, пока вас нет.

25 27 

26## Поиск и создание MCP servers28<h2 id="find-and-build-mcp-servers">

29 Поиск и создание MCP servers

30</h2>

27 31 

28Просмотрите проверенные коннекторы в [Anthropic Directory](https://claude.ai/directory). Коннекторы Directory используют ту же инфраструктуру MCP, что и Claude Code, поэтому вы можете добавить любой удаленный server из списка с помощью `claude mcp add`.32Просмотрите проверенные коннекторы в [Anthropic Directory](https://claude.ai/directory). Коннекторы Directory используют ту же инфраструктуру MCP, что и Claude Code, поэтому вы можете добавить любой удаленный server из списка с помощью `claude mcp add`.

29 33 


55 </Step>59 </Step>

56</Steps>60</Steps>

57 61 

58## Установка MCP servers62<h2 id="installing-mcp-servers">

63 Установка MCP servers

64</h2>

59 65 

60MCP servers можно настроить несколькими способами в зависимости от ваших потребностей:66MCP servers можно настроить несколькими способами в зависимости от ваших потребностей:

61 67 

62### Вариант 1: Добавьте удаленный HTTP server68<h3 id="option-1-add-a-remote-http-server">

69 Вариант 1: Добавьте удаленный HTTP server

70</h3>

63 71 

64HTTP servers — это рекомендуемый вариант для подключения к удаленным MCP servers. Это наиболее широко поддерживаемый транспорт для облачных сервисов.72HTTP servers — это рекомендуемый вариант для подключения к удаленным MCP servers. Это наиболее широко поддерживаемый транспорт для облачных сервисов.

65 73 


77 85 

78При настройке MCP servers через JSON в `.mcp.json`, `~/.claude.json` или `claude mcp add-json`, поле `type` принимает `streamable-http` как псевдоним для `http`. Спецификация MCP использует имя `streamable-http` для этого транспорта, поэтому конфигурации, скопированные из документации server, работают без изменений.86При настройке MCP servers через JSON в `.mcp.json`, `~/.claude.json` или `claude mcp add-json`, поле `type` принимает `streamable-http` как псевдоним для `http`. Спецификация MCP использует имя `streamable-http` для этого транспорта, поэтому конфигурации, скопированные из документации server, работают без изменений.

79 87 

80### Вариант 2: Добавьте удаленный SSE server88<h3 id="option-2-add-a-remote-sse-server">

89 Вариант 2: Добавьте удаленный SSE server

90</h3>

81 91 

82<Warning>92<Warning>

83 Транспорт SSE (Server-Sent Events) устарел. Используйте вместо этого HTTP servers, где они доступны.93 Транспорт SSE (Server-Sent Events) устарел. Используйте вместо этого HTTP servers, где они доступны.


95 --header "X-API-Key: your-key-here"105 --header "X-API-Key: your-key-here"

96```106```

97 107 

98### Вариант 3: Добавьте локальный stdio server108<h3 id="option-3-add-a-local-stdio-server">

109 Вариант 3: Добавьте локальный stdio server

110</h3>

99 111 

100Stdio servers работают как локальные процессы на вашей машине. Они идеальны для инструментов, которым требуется прямой доступ к системе или пользовательские скрипты.112Stdio servers работают как локальные процессы на вашей машине. Они идеальны для инструментов, которым требуется прямой доступ к системе или пользовательские скрипты.

101 113 


108claude mcp add [options] <name> -- <command> [args...]120claude mcp add [options] <name> -- <command> [args...]

109 121 

110# Реальный пример: добавление Airtable server122# Реальный пример: добавление Airtable server

111claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \123claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \

112 -- npx -y airtable-mcp-server124 -- npx -y airtable-mcp-server

113```125```

114 126 

115<Note>127<Note>

116 **Важно: порядок опций**128 **Важно: разделение аргументов server с помощью `--`**

117 129 

118 Все опции (`--transport`, `--env`, `--scope`, `--header`) должны идти **перед** именем server. Затем `--` (двойной дефис) отделяет имя server от команды и аргументов, которые передаются MCP server.130 Для stdio servers `--` (двойной дефис) разделяет собственные опции Claude, такие как `--transport`, `--env` и `--scope`, от команды и аргументов, которые запускают server. Все, что идет после `--`, передается server без изменений.

119 131 

120 Например:132 Например:

121 133 

122 * `claude mcp add --transport stdio myserver -- npx server` → запускает `npx server`134 * `claude mcp add --transport stdio myserver -- npx server` → запускает `npx server`

123 * `claude mcp add --transport stdio --env KEY=value myserver -- python server.py --port 8080` → запускает `python server.py --port 8080` с `KEY=value` в окружении135 * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → запускает `python server.py --port 8080` с `KEY=value` в окружении

124 136 

125 Это предотвращает конфликты между флагами Claude и флагами server.137 Без `--` Claude Code попытался бы разобрать флаги server, такие как `--port` выше, как свои собственные опции.

138 

139 `--env` принимает несколько пар `KEY=value`. Если имя server идет сразу после `--env`, CLI читает имя как еще одну пару и отклоняет его, поэтому поместите хотя бы одну другую опцию между `--env` и именем server, как в примерах выше.

126</Note>140</Note>

127 141 

128### Вариант 4: Добавьте удаленный WebSocket server142<h3 id="option-4-add-a-remote-websocket-server">

143 Вариант 4: Добавьте удаленный WebSocket server

144</h3>

129 145 

130WebSocket servers поддерживают постоянное двусторонее соединение, которое подходит для удаленных MCP servers, которые отправляют события в Claude без запроса. Используйте HTTP вместо этого, когда ваш server только отвечает на запросы, так как HTTP поддерживает OAuth и флаг `claude mcp add --transport`, в то время как WebSocket не поддерживает ни то, ни другое.146WebSocket servers поддерживают постоянное двусторонее соединение, которое подходит для удаленных MCP servers, которые отправляют события в Claude без запроса. Используйте HTTP вместо этого, когда ваш server только отвечает на запросы, так как HTTP поддерживает OAuth и флаг `claude mcp add --transport`, в то время как WebSocket не поддерживает ни то, ни другое.

131 147 


138 154 

139Запись `type: "ws"` принимает те же поля `url`, `headers`, `headersHelper`, `timeout` и `alwaysLoad`, что и `http`. Аутентификация только через заголовки, поэтому передайте статический токен в `headers` или сгенерируйте его во время подключения с помощью [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Флаг `claude mcp add --transport` не принимает `ws`.155Запись `type: "ws"` принимает те же поля `url`, `headers`, `headersHelper`, `timeout` и `alwaysLoad`, что и `http`. Аутентификация только через заголовки, поэтому передайте статический токен в `headers` или сгенерируйте его во время подключения с помощью [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Флаг `claude mcp add --transport` не принимает `ws`.

140 156 

141### Управление вашими servers157<h3 id="managing-your-servers">

158 Управление вашими servers

159</h3>

142 160 

143После настройки вы можете управлять своими MCP servers с помощью этих команд:161После настройки вы можете управлять своими MCP servers с помощью этих команд:

144 162 


164 182 

165Имя server `workspace` зарезервировано для внутреннего использования. Если ваша конфигурация определяет server с этим именем, Claude Code пропускает его при загрузке и показывает предупреждение с просьбой переименовать его.183Имя server `workspace` зарезервировано для внутреннего использования. Если ваша конфигурация определяет server с этим именем, Claude Code пропускает его при загрузке и показывает предупреждение с просьбой переименовать его.

166 184 

167### Динамические обновления инструментов185<h3 id="dynamic-tool-updates">

186 Динамические обновления инструментов

187</h3>

168 188 

169Claude Code поддерживает MCP `list_changed` уведомления, позволяя MCP servers динамически обновлять свои доступные инструменты, подсказки и ресурсы без необходимости отключения и переподключения. Когда MCP server отправляет уведомление `list_changed`, Claude Code автоматически обновляет доступные возможности от этого server.189Claude Code поддерживает MCP `list_changed` уведомления, позволяя MCP servers динамически обновлять свои доступные инструменты, подсказки и ресурсы без необходимости отключения и переподключения. Когда MCP server отправляет уведомление `list_changed`, Claude Code автоматически обновляет доступные возможности от этого server.

170 190 

171### Автоматическое переподключение191<h3 id="automatic-reconnection">

192 Автоматическое переподключение

193</h3>

172 194 

173Если HTTP или SSE server отключится во время сеанса, Claude Code автоматически переподключится с экспоненциальной задержкой: до пяти попыток, начиная с задержки в одну секунду и удваивая каждый раз. Server отображается как ожидающий в `/mcp` во время переподключения. После пяти неудачных попыток server помечается как неудачный, и вы можете повторить попытку вручную из `/mcp`. Stdio servers — это локальные процессы и не переподключаются автоматически.195Если HTTP или SSE server отключится во время сеанса, Claude Code автоматически переподключится с экспоненциальной задержкой: до пяти попыток, начиная с задержки в одну секунду и удваивая каждый раз. Server отображается как ожидающий в `/mcp` во время переподключения. После пяти неудачных попыток server помечается как неудачный, и вы можете повторить попытку вручную из `/mcp`. Stdio servers — это локальные процессы и не переподключаются автоматически.

174 196 

175Та же задержка применяется, когда HTTP или SSE server не может подключиться при запуске. Начиная с версии 2.1.121, Claude Code повторяет попытку начального подключения до трех раз при временных ошибках, таких как ответ 5xx, отказ в соединении или timeout, а затем помечает server как неудачный, если он все еще не может подключиться. Ошибки аутентификации и ошибки не найдено не повторяются, так как они требуют изменения конфигурации для разрешения.197Та же задержка применяется, когда HTTP или SSE server не может подключиться при запуске. Начиная с версии 2.1.121, Claude Code повторяет попытку начального подключения до трех раз при временных ошибках, таких как ответ 5xx, отказ в соединении или timeout, а затем помечает server как неудачный, если он все еще не может подключиться. Ошибки аутентификации и ошибки не найдено не повторяются, так как они требуют изменения конфигурации для разрешения.

176 198 

177### Отправка сообщений через каналы199<h3 id="push-messages-with-channels">

200 Отправка сообщений через каналы

201</h3>

178 202 

179MCP server также может отправлять сообщения непосредственно в вашу сессию, чтобы Claude мог реагировать на внешние события, такие как результаты CI, оповещения мониторинга или сообщения чата. Чтобы включить это, ваш server объявляет возможность `claude/channel` и вы включаете ее с флагом `--channels` при запуске. См. [Каналы](/ru/channels) для использования официально поддерживаемого канала или [Справочник каналов](/ru/channels-reference) для создания собственного.203MCP server также может отправлять сообщения непосредственно в вашу сессию, чтобы Claude мог реагировать на внешние события, такие как результаты CI, оповещения мониторинга или сообщения чата. Чтобы включить это, ваш server объявляет возможность `claude/channel` и вы включаете ее с флагом `--channels` при запуске. См. [Каналы](/ru/channels) для использования официально поддерживаемого канала или [Справочник каналов](/ru/channels-reference) для создания собственного.

180 204 


192 * Используйте `/mcp` для аутентификации с удаленными servers, которые требуют аутентификацию OAuth 2.0216 * Используйте `/mcp` для аутентификации с удаленными servers, которые требуют аутентификацию OAuth 2.0

193</Tip>217</Tip>

194 218 

195Timeout для каждого server — это жесткий лимит реального времени для каждого вызова инструмента, и уведомления о прогрессе от server не продлевают его. Значения ниже 1000 округляются до одной секунды. Для HTTP и SSE servers бюджет первого байта для каждого запроса fetch имеет минимум 60 секунд независимо от этого значения, поэтому только watchdog вызова инструмента соблюдает меньшие значения.219Timeout для каждого server — это жесткий лимит реального времени для каждого вызова инструмента, и уведомления о прогрессе от server не продлевают его. Значения ниже 1000 игнорируются и переходят к `MCP_TOOL_TIMEOUT`, или к его значению по умолчанию примерно 28 часов, когда эта переменная не установлена. {/* min-version: 2.1.162 */}До версии 2.1.162 значения ниже 1000 округлялись до одной секунды. Для HTTP и SSE servers бюджет первого байта для каждого запроса fetch имеет минимум 60 секунд.

196 220 

197### MCP servers, предоставляемые плагинами221<h3 id="plugin-provided-mcp-servers">

222 MCP servers, предоставляемые плагинами

223</h3>

198 224 

199[Плагины](/ru/plugins) могут включать MCP servers, автоматически предоставляя инструменты и интеграции при включении плагина. Plugin MCP servers работают идентично пользовательским настроенным servers.225[Плагины](/ru/plugins) могут включать MCP servers, автоматически предоставляя инструменты и интеграции при включении плагина. Plugin MCP servers работают идентично пользовательским настроенным servers.

200 226 


253 279 

254Plugin servers отображаются в списке с индикаторами, показывающими, что они поступают из плагинов.280Plugin servers отображаются в списке с индикаторами, показывающими, что они поступают из плагинов.

255 281 

282**Имена plugin MCP tools**:

283 

284Инструменты из MCP server, включенного в плагин, содержат как имя плагина, так и ключ server в их вызываемом имени. Полная форма — `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, где любой символ вне `A-Z`, `a-z`, `0-9`, `_` и `-` заменяется на `_`. Для server `database-tools`, включенного в плагин с именем `my-plugin`, инструмент `query` вызывается как:

285 

286```

287mcp__plugin_my-plugin_database-tools__query

288```

289 

290Используйте это полное имя при ссылке на инструмент в [правилах разрешений](/ru/permissions), в списке `allowed-tools` skill или в [поле `tools` subagent](/ru/sub-agents#available-tools).

291 

256**Преимущества plugin MCP servers**:292**Преимущества plugin MCP servers**:

257 293 

258* **Упакованное распределение**: инструменты и servers упакованы вместе294* **Упакованное распределение**: инструменты и servers упакованы вместе


261 297 

262См. [справочник компонентов плагина](/ru/plugins-reference#mcp-servers) для получения подробной информации о включении MCP servers в плагины.298См. [справочник компонентов плагина](/ru/plugins-reference#mcp-servers) для получения подробной информации о включении MCP servers в плагины.

263 299 

264## Области установки MCP300<h2 id="mcp-installation-scopes">

301 Области установки MCP

302</h2>

265 303 

266MCP servers можно настроить на трех различных уровнях области. Область, которую вы выбираете, контролирует, в каких проектах загружается server и является ли конфигурация общей с вашей командой. Администраторы также могут развертывать servers на уровне предприятия через [управляемую конфигурацию](#managed-mcp-configuration).304MCP servers можно настроить на трех различных уровнях области. Область, которую вы выбираете, контролирует, в каких проектах загружается server и является ли конфигурация общей с вашей командой. Администраторы также могут развертывать servers на уровне предприятия через [управляемую конфигурацию](#managed-mcp-configuration).

267 305 


271| [Проект](#project-scope) | Только текущий проект | Да, через контроль версий | `.mcp.json` в корне проекта |309| [Проект](#project-scope) | Только текущий проект | Да, через контроль версий | `.mcp.json` в корне проекта |

272| [Пользователь](#user-scope) | Все ваши проекты | Нет | `~/.claude.json` |310| [Пользователь](#user-scope) | Все ваши проекты | Нет | `~/.claude.json` |

273 311 

274### Локальная область312<h3 id="local-scope">

313 Локальная область

314</h3>

275 315 

276Локальная область — это область по умолчанию. Server с локальной областью загружается только в проекте, где вы его добавили, и остается приватным для вас. Claude Code хранит его в `~/.claude.json` в пути вашего проекта, поэтому один и тот же server не будет отображаться в ваших других проектах. Используйте локальную область для личных development servers, экспериментальных конфигураций или servers с учетными данными, которые вы не хотите в контроле версий.316Локальная область — это область по умолчанию. Server с локальной областью загружается только в проекте, где вы его добавили, и остается приватным для вас. Claude Code хранит его в `~/.claude.json` в пути вашего проекта, поэтому один и тот же server не будет отображаться в ваших других проектах. Используйте локальную область для личных development servers, экспериментальных конфигураций или servers с учетными данными, которые вы не хотите в контроле версий.

277 317 


304}344}

305```345```

306 346 

307### Область проекта347<h3 id="project-scope">

348 Область проекта

349</h3>

308 350 

309Servers с областью проекта позволяют командной работе, сохраняя конфигурации в файле `.mcp.json` в корневом каталоге вашего проекта. Этот файл предназначен для проверки в систему контроля версий, обеспечивая всем членам команды доступ к одним и тем же MCP tools и сервисам. Когда вы добавляете server с областью проекта, Claude Code автоматически создает или обновляет этот файл с соответствующей структурой конфигурации.351Servers с областью проекта позволяют командной работе, сохраняя конфигурации в файле `.mcp.json` в корневом каталоге вашего проекта. Этот файл предназначен для проверки в систему контроля версий, обеспечивая всем членам команды доступ к одним и тем же MCP tools и сервисам. Когда вы добавляете server с областью проекта, Claude Code автоматически создает или обновляет этот файл с соответствующей структурой конфигурации.

310 352 


329 371 

330По соображениям безопасности Claude Code запрашивает одобрение перед использованием servers с областью проекта из файлов `.mcp.json`. Если вам нужно сбросить эти выборы одобрения, используйте команду `claude mcp reset-project-choices`.372По соображениям безопасности Claude Code запрашивает одобрение перед использованием servers с областью проекта из файлов `.mcp.json`. Если вам нужно сбросить эти выборы одобрения, используйте команду `claude mcp reset-project-choices`.

331 373 

332### Область пользователя374<h3 id="user-scope">

375 Область пользователя

376</h3>

333 377 

334Servers с областью пользователя хранятся в `~/.claude.json` и обеспечивают доступность между проектами, делая их доступными во всех проектах на вашей машине, оставаясь приватными для вашей учетной записи пользователя. Эта область хорошо работает для личных utility servers, инструментов разработки или сервисов, которые вы часто используете в разных проектах.378Servers с областью пользователя хранятся в `~/.claude.json` и обеспечивают доступность между проектами, делая их доступными во всех проектах на вашей машине, оставаясь приватными для вашей учетной записи пользователя. Эта область хорошо работает для личных utility servers, инструментов разработки или сервисов, которые вы часто используете в разных проектах.

335 379 


338claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic382claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

339```383```

340 384 

341### Иерархия области и приоритет385<h3 id="scope-hierarchy-and-precedence">

386 Иерархия области и приоритет

387</h3>

342 388 

343Когда один и тот же server определен в более чем одном месте, Claude Code подключается к нему один раз, используя определение из источника с наивысшим приоритетом. Вся запись server из этого источника используется; поля не объединяются между областями.389Когда один и тот же server определен в более чем одном месте, Claude Code подключается к нему один раз, используя определение из источника с наивысшим приоритетом. Вся запись server из этого источника используется; поля не объединяются между областями.

344 390 


350 396 

351Три области совпадают дубликаты по имени. Плагины и соединители совпадают по конечной точке, поэтому тот, который указывает на тот же URL или команду, что и server выше, рассматривается как дубликат.397Три области совпадают дубликаты по имени. Плагины и соединители совпадают по конечной точке, поэтому тот, который указывает на тот же URL или команду, что и server выше, рассматривается как дубликат.

352 398 

353### Расширение переменных окружения в `.mcp.json`399<h3 id="environment-variable-expansion-in-mcp-json">

400 Расширение переменных окружения в `.mcp.json`

401</h3>

354 402 

355Claude Code поддерживает расширение переменных окружения в файлах `.mcp.json`, позволяя командам делиться конфигурациями, сохраняя гибкость для путей, специфичных для машины, и чувствительных значений, таких как ключи API.403Claude Code поддерживает расширение переменных окружения в файлах `.mcp.json`, позволяя командам делиться конфигурациями, сохраняя гибкость для путей, специфичных для машины, и чувствительных значений, таких как ключи API.

356 404 


386 434 

387Если требуемая переменная окружения не установлена и не имеет значения по умолчанию, Claude Code не сможет разобрать конфигурацию.435Если требуемая переменная окружения не установлена и не имеет значения по умолчанию, Claude Code не сможет разобрать конфигурацию.

388 436 

389## Практические примеры437<h2 id="practical-examples">

438 Практические примеры

439</h2>

390 440 

391{/* ### Пример: автоматизация тестирования браузера с помощью Playwright441<h3 id="example-monitor-errors-with-sentry">

392 442 Пример: мониторинг ошибок с помощью Sentry

393```bash443</h3>

394claude mcp add --transport stdio playwright -- npx -y @playwright/mcp@latest

395```

396 

397Затем напишите и запустите тесты браузера:

398 

399```text

400Проверьте, работает ли поток входа с test@example.com

401```

402```text

403Сделайте снимок экрана страницы оформления заказа на мобильном устройстве

404```

405```text

406Убедитесь, что функция поиска возвращает результаты

407``` */}

408 

409### Пример: мониторинг ошибок с помощью Sentry

410 444 

411```bash theme={null}445```bash theme={null}

412claude mcp add --transport http sentry https://mcp.sentry.dev/mcp446claude mcp add --transport http sentry https://mcp.sentry.dev/mcp


432Какое развертывание внесло эти новые ошибки?466Какое развертывание внесло эти новые ошибки?

433```467```

434 468 

435### Пример: подключение к GitHub для проверки кода469<h3 id="example-connect-to-github-for-code-reviews">

470 Пример: подключение к GitHub для проверки кода

471</h3>

436 472 

437GitHub's remote MCP server аутентифицируется с помощью токена личного доступа GitHub, переданного как заголовок. Чтобы получить его, откройте [параметры токена GitHub](https://github.com/settings/personal-access-tokens), создайте новый детальный токен с доступом к репозиториям, с которыми вы хотите, чтобы Claude работал, затем добавьте server:473GitHub's remote MCP server аутентифицируется с помощью токена личного доступа GitHub, переданного как заголовок. Чтобы получить его, откройте [параметры токена GitHub](https://github.com/settings/personal-access-tokens), создайте новый детальный токен с доступом к репозиториям, с которыми вы хотите, чтобы Claude работал, затем добавьте server:

438 474 


455Покажите мне все открытые PR, назначенные мне491Покажите мне все открытые PR, назначенные мне

456```492```

457 493 

458### Пример: запрос к базе данных PostgreSQL494<h3 id="example-query-your-postgresql-database">

495 Пример: запрос к базе данных PostgreSQL

496</h3>

459 497 

460```bash theme={null}498```bash theme={null}

461claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \499claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \


476Найдите клиентов, которые не совершали покупку в течение 90 дней514Найдите клиентов, которые не совершали покупку в течение 90 дней

477```515```

478 516 

479## Аутентификация с удаленными MCP servers517<h2 id="authenticate-with-remote-mcp-servers">

518 Аутентификация с удаленными MCP servers

519</h2>

480 520 

481Многие облачные MCP servers требуют аутентификации. Claude Code поддерживает OAuth 2.0 для безопасных соединений.521Многие облачные MCP servers требуют аутентификации. Claude Code поддерживает OAuth 2.0 для безопасных соединений.

482 522 


514 * Аутентификация OAuth работает с HTTP servers554 * Аутентификация OAuth работает с HTTP servers

515</Tip>555</Tip>

516 556 

517### Используйте фиксированный порт обратного вызова OAuth557<h3 id="use-a-fixed-oauth-callback-port">

558 Используйте фиксированный порт обратного вызова OAuth

559</h3>

518 560 

519Некоторые MCP servers требуют конкретный URI перенаправления, зарегистрированный заранее. По умолчанию Claude Code выбирает случайный доступный порт для обратного вызова OAuth. Используйте `--callback-port` для фиксации порта, чтобы он соответствовал предварительно зарегистрированному URI перенаправления формы `http://localhost:PORT/callback`.561Некоторые MCP servers требуют конкретный URI перенаправления, зарегистрированный заранее. По умолчанию Claude Code выбирает случайный доступный порт для обратного вызова OAuth. Используйте `--callback-port` для фиксации порта, чтобы он соответствовал предварительно зарегистрированному URI перенаправления формы `http://localhost:PORT/callback`.

520 562 


527 my-server https://mcp.example.com/mcp569 my-server https://mcp.example.com/mcp

528```570```

529 571 

530### Используйте предварительно настроенные учетные данные OAuth572<h3 id="use-pre-configured-oauth-credentials">

573 Используйте предварительно настроенные учетные данные OAuth

574</h3>

531 575 

532Некоторые MCP servers не поддерживают автоматическую настройку OAuth через Dynamic Client Registration. Если вы видите ошибку типа "Incompatible auth server: does not support dynamic client registration", server требует предварительно настроенные учетные данные. Claude Code также поддерживает servers, которые используют Client ID Metadata Document (CIMD) вместо Dynamic Client Registration, и обнаруживает их автоматически. Если автоматическое обнаружение не удается, сначала зарегистрируйте приложение OAuth через портал разработчика server, затем предоставьте учетные данные при добавлении server.576Некоторые MCP servers не поддерживают автоматическую настройку OAuth через Dynamic Client Registration. Если вы видите ошибку типа "Incompatible auth server: does not support dynamic client registration", server требует предварительно настроенные учетные данные. Claude Code также поддерживает servers, которые используют Client ID Metadata Document (CIMD) вместо Dynamic Client Registration, и обнаруживает их автоматически. Если автоматическое обнаружение не удается, сначала зарегистрируйте приложение OAuth через портал разработчика server, затем предоставьте учетные данные при добавлении server.

533 577 


598 * Используйте `claude mcp get <name>` для проверки того, что учетные данные OAuth настроены для server642 * Используйте `claude mcp get <name>` для проверки того, что учетные данные OAuth настроены для server

599</Tip>643</Tip>

600 644 

601### Переопределите обнаружение метаданных OAuth645<h3 id="override-oauth-metadata-discovery">

646 Переопределите обнаружение метаданных OAuth

647</h3>

602 648 

603Укажите Claude Code на конкретный URL метаданных сервера авторизации OAuth, чтобы обойти цепочку обнаружения по умолчанию. Установите `authServerMetadataUrl`, когда стандартные конечные точки MCP server выдают ошибку, или когда вы хотите направить обнаружение через внутренний прокси. По умолчанию Claude Code сначала проверяет метаданные защищенного ресурса RFC 9728 на `/.well-known/oauth-protected-resource`, затем возвращается к метаданным сервера авторизации RFC 8414 на `/.well-known/oauth-authorization-server`.649Укажите Claude Code на конкретный URL метаданных сервера авторизации OAuth, чтобы обойти цепочку обнаружения по умолчанию. Установите `authServerMetadataUrl`, когда стандартные конечные точки MCP server выдают ошибку, или когда вы хотите направить обнаружение через внутренний прокси. По умолчанию Claude Code сначала проверяет метаданные защищенного ресурса RFC 9728 на `/.well-known/oauth-protected-resource`, затем возвращается к метаданным сервера авторизации RFC 8414 на `/.well-known/oauth-authorization-server`.

604 650 


620 666 

621URL должен использовать `https://`. `authServerMetadataUrl` требует Claude Code v2.1.64 или позже. `scopes_supported` URL метаданных переопределяет области, которые объявляет upstream server.667URL должен использовать `https://`. `authServerMetadataUrl` требует Claude Code v2.1.64 или позже. `scopes_supported` URL метаданных переопределяет области, которые объявляет upstream server.

622 668 

623### Ограничьте области OAuth669<h3 id="restrict-oauth-scopes">

670 Ограничьте области OAuth

671</h3>

624 672 

625Установите `oauth.scopes` для фиксации областей, которые Claude Code запрашивает во время потока авторизации. Это поддерживаемый способ ограничить MCP server подмножеством, одобренным командой безопасности, когда upstream сервер авторизации объявляет больше областей, чем вы хотите предоставить. Значение — это одна строка, разделенная пробелами, соответствующая формату параметра `scope` в RFC 6749 §3.3.673Установите `oauth.scopes` для фиксации областей, которые Claude Code запрашивает во время потока авторизации. Это поддерживаемый способ ограничить MCP server подмножеством, одобренным командой безопасности, когда upstream сервер авторизации объявляет больше областей, чем вы хотите предоставить. Значение — это одна строка, разделенная пробелами, соответствующая формату параметра `scope` в RFC 6749 §3.3.

626 674 


644 692 

645Если server позже возвращает 403 `insufficient_scope` для вызова инструмента, Claude Code переаутентифицируется с теми же фиксированными областями. Расширьте `oauth.scopes`, когда инструмент, который вам нужен, требует область вне фиксации.693Если server позже возвращает 403 `insufficient_scope` для вызова инструмента, Claude Code переаутентифицируется с теми же фиксированными областями. Расширьте `oauth.scopes`, когда инструмент, который вам нужен, требует область вне фиксации.

646 694 

647### Используйте динамические заголовки для пользовательской аутентификации695<h3 id="use-dynamic-headers-for-custom-authentication">

696 Используйте динамические заголовки для пользовательской аутентификации

697</h3>

648 698 

649Если ваш MCP server использует схему аутентификации, отличную от OAuth (такую как Kerberos, краткосрочные токены или внутреннее SSO), используйте `headersHelper` для генерации заголовков запроса во время подключения. Claude Code запускает команду и объединяет ее выход в заголовки подключения.699Если ваш MCP server использует схему аутентификации, отличную от OAuth (такую как Kerberos, краткосрочные токены или внутреннее SSO), используйте `headersHelper` для генерации заголовков запроса во время подключения. Claude Code запускает команду и объединяет ее выход в заголовки подключения.

650 700 


695 `headersHelper` выполняет произвольные команды оболочки. Когда определено в области проекта или локальной области, он запускается только после того, как вы примете диалог доверия рабочей области.745 `headersHelper` выполняет произвольные команды оболочки. Когда определено в области проекта или локальной области, он запускается только после того, как вы примете диалог доверия рабочей области.

696</Note>746</Note>

697 747 

698## Добавьте MCP servers из конфигурации JSON748<h2 id="add-mcp-servers-from-json-configuration">

749 Добавьте MCP servers из конфигурации JSON

750</h2>

699 751 

700Если у вас есть конфигурация JSON для MCP server, вы можете добавить ее напрямую:752Если у вас есть конфигурация JSON для MCP server, вы можете добавить ее напрямую:

701 753 


731 * Вы можете использовать `--scope user` для добавления server в вашу конфигурацию пользователя вместо конфигурации, специфичной для проекта783 * Вы можете использовать `--scope user` для добавления server в вашу конфигурацию пользователя вместо конфигурации, специфичной для проекта

732</Tip>784</Tip>

733 785 

734## Импортируйте MCP servers из Claude Desktop786<h2 id="import-mcp-servers-from-claude-desktop">

787 Импортируйте MCP servers из Claude Desktop

788</h2>

735 789 

736Если вы уже настроили MCP servers в Claude Desktop, вы можете их импортировать:790Если вы уже настроили MCP servers в Claude Desktop, вы можете их импортировать:

737 791 


764 * Если servers с одинаковыми именами уже существуют, они получат числовой суффикс (например, `server_1`)818 * Если servers с одинаковыми именами уже существуют, они получат числовой суффикс (например, `server_1`)

765</Tip>819</Tip>

766 820 

767## Используйте MCP servers из Claude.ai821<h2 id="use-mcp-servers-from-claude-ai">

822 Используйте MCP servers из Claude.ai

823</h2>

768 824 

769Если вы вошли в Claude Code с учетной записью [Claude.ai](https://claude.ai), MCP servers, которые вы добавили в Claude.ai, автоматически доступны в Claude Code:825Если вы вошли в Claude Code с учетной записью [Claude.ai](https://claude.ai), MCP servers, которые вы добавили в Claude.ai, автоматически доступны в Claude Code:

770 826 


794 850 

795Server, который вы добавили в Claude Code, имеет [приоритет](#scope-hierarchy-and-precedence) над коннектором claude.ai, который указывает на тот же URL. Когда это происходит, `/mcp` отображает коннектор как скрытый и показывает, как удалить дубликат, если вы предпочитаете использовать коннектор.851Server, который вы добавили в Claude Code, имеет [приоритет](#scope-hierarchy-and-precedence) над коннектором claude.ai, который указывает на тот же URL. Когда это происходит, `/mcp` отображает коннектор как скрытый и показывает, как удалить дубликат, если вы предпочитаете использовать коннектор.

796 852 

853Некоторые размещенные Anthropic коннекторы, такие как Microsoft 365, Gmail и Google Calendar, не поддерживают локальный OAuth из Claude Code, потому что поставщик идентификации вышестоящего уровня принимает только URL перенаправления, который зарегистрировала claude.ai. Начиная с версии 2.1.162, аутентификация одного из этих хостов в `/mcp` показывает сообщение, направляющее вас подключить его в Settings → Connectors на claude.ai. После подключения там коннектор автоматически появляется в Claude Code.

854 

797Чтобы отключить MCP servers claude.ai в Claude Code, установите переменную окружения `ENABLE_CLAUDEAI_MCP_SERVERS` на `false`:855Чтобы отключить MCP servers claude.ai в Claude Code, установите переменную окружения `ENABLE_CLAUDEAI_MCP_SERVERS` на `false`:

798 856 

799```bash theme={null}857```bash theme={null}

800ENABLE_CLAUDEAI_MCP_SERVERS=false claude858ENABLE_CLAUDEAI_MCP_SERVERS=false claude

801```859```

802 860 

803## Используйте Claude Code как MCP server861<h2 id="use-claude-code-as-an-mcp-server">

862 Используйте Claude Code как MCP server

863</h2>

804 864 

805Вы можете использовать сам Claude Code как MCP server, к которому могут подключаться другие приложения:865Вы можете использовать сам Claude Code как MCP server, к которому могут подключаться другие приложения:

806 866 


859 * Обратите внимание, что этот MCP server только предоставляет инструменты Claude Code вашему MCP клиенту, поэтому ваш собственный клиент отвечает за реализацию подтверждения пользователя для отдельных вызовов инструментов.919 * Обратите внимание, что этот MCP server только предоставляет инструменты Claude Code вашему MCP клиенту, поэтому ваш собственный клиент отвечает за реализацию подтверждения пользователя для отдельных вызовов инструментов.

860</Tip>920</Tip>

861 921 

862## Лимиты выхода MCP и предупреждения922<h2 id="mcp-output-limits-and-warnings">

923 Лимиты выхода MCP и предупреждения

924</h2>

863 925 

864Когда инструменты MCP производят большие выходы, Claude Code помогает управлять использованием токенов, чтобы предотвратить перегрузку контекста вашего разговора:926Когда инструменты MCP производят большие выходы, Claude Code помогает управлять использованием токенов, чтобы предотвратить перегрузку контекста вашего разговора:

865 927 


881* генерируют подробные отчеты или документацию943* генерируют подробные отчеты или документацию

882* обрабатывают обширные файлы журналов или информацию отладки944* обрабатывают обширные файлы журналов или информацию отладки

883 945 

884### Повысьте лимит для конкретного инструмента946<h3 id="raise-the-limit-for-a-specific-tool">

947 Повысьте лимит для конкретного инструмента

948</h3>

885 949 

886Если вы создаете MCP server, вы можете позволить отдельным инструментам возвращать результаты больше, чем порог сохранения на диск по умолчанию, установив `_meta["anthropic/maxResultSizeChars"]` в записи инструмента в ответе `tools/list`. Claude Code повышает порог этого инструмента до аннотированного значения, вплоть до жесткого потолка в 500 000 символов.950Если вы создаете MCP server, вы можете позволить отдельным инструментам возвращать результаты больше, чем порог сохранения на диск по умолчанию, установив `_meta["anthropic/maxResultSizeChars"]` в записи инструмента в ответе `tools/list`. Claude Code повышает порог этого инструмента до аннотированного значения, вплоть до жесткого потолка в 500 000 символов.

887 951 


903 Если вы часто сталкиваетесь с предупреждениями выхода с конкретными MCP servers, которые вы не контролируете, рассмотрите возможность увеличения лимита `MAX_MCP_OUTPUT_TOKENS`. Вы также можете попросить автора server добавить аннотацию `anthropic/maxResultSizeChars` или разбить на страницы свои ответы. Аннотация не влияет на инструменты, которые возвращают содержимое изображения; для них повышение `MAX_MCP_OUTPUT_TOKENS` — единственный вариант.967 Если вы часто сталкиваетесь с предупреждениями выхода с конкретными MCP servers, которые вы не контролируете, рассмотрите возможность увеличения лимита `MAX_MCP_OUTPUT_TOKENS`. Вы также можете попросить автора server добавить аннотацию `anthropic/maxResultSizeChars` или разбить на страницы свои ответы. Аннотация не влияет на инструменты, которые возвращают содержимое изображения; для них повышение `MAX_MCP_OUTPUT_TOKENS` — единственный вариант.

904</Warning>968</Warning>

905 969 

906## Ответьте на запросы MCP elicitation970<h2 id="respond-to-mcp-elicitation-requests">

971 Ответьте на запросы MCP elicitation

972</h2>

907 973 

908MCP servers могут запрашивать структурированный ввод от вас во время выполнения задачи, используя elicitation. Когда server нуждается в информации, которую он не может получить самостоятельно, Claude Code отображает интерактивный диалог и передает ваш ответ обратно server. На вашей стороне не требуется никакой конфигурации: диалоги elicitation появляются автоматически, когда server их запрашивает.974MCP servers могут запрашивать структурированный ввод от вас во время выполнения задачи, используя elicitation. Когда server нуждается в информации, которую он не может получить самостоятельно, Claude Code отображает интерактивный диалог и передает ваш ответ обратно server. На вашей стороне не требуется никакой конфигурации: диалоги elicitation появляются автоматически, когда server их запрашивает.

909 975 


912* **Режим формы**: Claude Code показывает диалог с полями формы, определенными server (например, приглашение имени пользователя и пароля). Заполните поля и отправьте.978* **Режим формы**: Claude Code показывает диалог с полями формы, определенными server (например, приглашение имени пользователя и пароля). Заполните поля и отправьте.

913* **Режим URL**: Claude Code открывает URL браузера для аутентификации или одобрения. Завершите процесс в браузере, затем подтвердите в CLI.979* **Режим URL**: Claude Code открывает URL браузера для аутентификации или одобрения. Завершите процесс в браузере, затем подтвердите в CLI.

914 980 

915Чтобы автоматически ответить на запросы elicitation без отображения диалога, используйте [`Elicitation` hook](/ru/hooks#Elicitation).981Чтобы автоматически ответить на запросы elicitation без отображения диалога, используйте [`Elicitation` hook](/ru/hooks#elicitation).

916 982 

917Если вы создаете MCP server, который использует elicitation, см. [спецификацию MCP elicitation](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) для деталей протокола и примеров схемы.983Если вы создаете MCP server, который использует elicitation, см. [спецификацию MCP elicitation](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) для деталей протокола и примеров схемы.

918 984 

919## Используйте MCP ресурсы985<h2 id="use-mcp-resources">

986 Используйте MCP ресурсы

987</h2>

920 988 

921MCP servers могут предоставлять ресурсы, на которые вы можете ссылаться, используя упоминания @, аналогично тому, как вы ссылаетесь на файлы.989MCP servers могут предоставлять ресурсы, на которые вы можете ссылаться, используя упоминания @, аналогично тому, как вы ссылаетесь на файлы.

922 990 

923### Ссылка на MCP ресурсы991<h3 id="reference-mcp-resources">

992 Ссылка на MCP ресурсы

993</h3>

924 994 

925<Steps>995<Steps>

926 <Step title="Список доступных ресурсов">996 <Step title="Список доступных ресурсов">


957 * Ресурсы могут содержать любой тип контента, который предоставляет MCP server (текст, JSON, структурированные данные и т. д.)1027 * Ресурсы могут содержать любой тип контента, который предоставляет MCP server (текст, JSON, структурированные данные и т. д.)

958</Tip>1028</Tip>

959 1029 

960## Масштабирование с помощью MCP Tool Search1030<h2 id="scale-with-mcp-tool-search">

1031 Масштабирование с помощью MCP Tool Search

1032</h2>

961 1033 

962Tool search сохраняет использование контекста MCP низким, откладывая определения инструментов до тех пор, пока Claude их не потребует. Только имена инструментов и инструкции сервера загружаются при запуске сеанса, поэтому добавление большего количества MCP servers имеет минимальное влияние на ваше окно контекста.1034Tool search сохраняет использование контекста MCP низким, откладывая определения инструментов до тех пор, пока Claude их не потребует. Только имена инструментов и инструкции сервера загружаются при запуске сеанса, поэтому добавление большего количества MCP servers имеет минимальное влияние на ваше окно контекста. Claude Code не налагает фиксированное ограничение на количество инструментов на сервер; практический предел — это ваш бюджет окна контекста.

963 1035 

964### Как это работает1036<h3 id="how-it-works">

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

1038</h3>

965 1039 

966Tool search включен по умолчанию. Инструменты MCP откладываются, а не загружаются в контекст заранее, и Claude использует инструмент поиска для обнаружения релевантных инструментов, когда задача их требует. Только инструменты, которые Claude действительно использует, входят в контекст. С вашей точки зрения инструменты MCP работают точно так же, как раньше.1040Tool search включен по умолчанию. Инструменты MCP откладываются, а не загружаются в контекст заранее, и Claude использует инструмент поиска для обнаружения релевантных инструментов, когда задача их требует. Только инструменты, которые Claude действительно использует, входят в контекст. С вашей точки зрения инструменты MCP работают точно так же, как раньше.

967 1041 

968Если вы предпочитаете загрузку на основе порога, установите `ENABLE_TOOL_SEARCH=auto` для загрузки схем заранее, когда они подходят в пределах 10% окна контекста, и откладывайте только переполнение. См. [Настройте tool search](#configure-tool-search) для всех опций.1042Если вы предпочитаете загрузку на основе порога, установите `ENABLE_TOOL_SEARCH=auto` для загрузки схем заранее, когда они подходят в пределах 10% окна контекста, и откладывайте только переполнение. См. [Настройте tool search](#configure-tool-search) для всех опций.

969 1043 

970### Для авторов MCP server1044<h3 id="for-mcp-server-authors">

1045 Для авторов MCP server

1046</h3>

971 1047 

972Если вы создаете MCP server, поле инструкций server становится более полезным с включенным Tool Search. Инструкции server помогают Claude понять, когда искать ваши инструменты, аналогично тому, как работают [skills](/ru/skills).1048Если вы создаете MCP server, поле инструкций server становится более полезным с включенным Tool Search. Инструкции server помогают Claude понять, когда искать ваши инструменты, аналогично тому, как работают [skills](/ru/skills).

973 1049 


979 1055 

980Claude Code усекает описания инструментов и инструкции server на 2KB каждое. Держите их краткими, чтобы избежать усечения, и поместите критические детали в начало.1056Claude Code усекает описания инструментов и инструкции server на 2KB каждое. Держите их краткими, чтобы избежать усечения, и поместите критические детали в начало.

981 1057 

982### Настройте tool search1058<h3 id="configure-tool-search">

1059 Настройте tool search

1060</h3>

983 1061 

984Tool search включен по умолчанию: инструменты MCP откладываются и обнаруживаются по требованию. Claude Code отключает его по умолчанию на Vertex AI. Он также отключен, когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся первой стороной, так как большинство прокси не пересылают блоки `tool_reference`. Установите `ENABLE_TOOL_SEARCH` явно, чтобы переопределить любой резервный вариант.1062Tool search включен по умолчанию: инструменты MCP откладываются и обнаруживаются по требованию. Claude Code отключает его по умолчанию на Vertex AI. Он также отключен, когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся первой стороной, так как большинство прокси не пересылают блоки `tool_reference`. Установите `ENABLE_TOOL_SEARCH` явно, чтобы переопределить любой резервный вариант.

985 1063 

986Tool search требует модель, которая поддерживает блоки `tool_reference`: Sonnet 4 и позже, или Opus 4 и позже. Модели Haiku не поддерживают это. На Vertex AI tool search поддерживается для Claude Sonnet 4.5 и позже и Claude Opus 4.5 и позже.1064Tool search требует модель, которая поддерживает блоки `tool_reference`. Модели Haiku не поддерживают это. На Vertex AI tool search поддерживается для Claude Sonnet 4.5 и позже и Claude Opus 4.5 и позже.

987 1065 

988Управляйте поведением tool search с помощью переменной окружения `ENABLE_TOOL_SEARCH`:1066Управляйте поведением tool search с помощью переменной окружения `ENABLE_TOOL_SEARCH`:

989 1067 


1015}1093}

1016```1094```

1017 1095 

1018### Исключите server из откладывания1096<h3 id="exempt-a-server-from-deferral">

1097 Исключите server из откладывания

1098</h3>

1019 1099 

1020Если инструменты server должны всегда быть видны Claude без этапа поиска, установите `alwaysLoad` в значение `true` в конфигурации этого server. Каждый инструмент из этого server затем загружается в контекст при запуске сеанса независимо от параметра `ENABLE_TOOL_SEARCH`. Используйте это для небольшого количества инструментов, которые Claude требуются на каждом ходу, так как каждый предварительно загруженный инструмент потребляет контекст, который в противном случае был бы доступен для вашего разговора.1100Если инструменты server должны всегда быть видны Claude без этапа поиска, установите `alwaysLoad` в значение `true` в конфигурации этого server. Каждый инструмент из этого server затем загружается в контекст при запуске сеанса независимо от параметра `ENABLE_TOOL_SEARCH`. Используйте это для небольшого количества инструментов, которые Claude требуются на каждом ходу, так как каждый предварительно загруженный инструмент потребляет контекст, который в противном случае был бы доступен для вашего разговора.

1021 1101 


1037 1117 

1038Установка `alwaysLoad: true` также блокирует запуск до подключения server, ограничено стандартным тайм-аутом подключения в 5 секунд. Это применяется даже когда MCP startup является [неблокирующим по умолчанию](/ru/env-vars), так как инструменты должны присутствовать при построении первого приглашения. Другие servers продолжают подключаться в фоновом режиме.1118Установка `alwaysLoad: true` также блокирует запуск до подключения server, ограничено стандартным тайм-аутом подключения в 5 секунд. Это применяется даже когда MCP startup является [неблокирующим по умолчанию](/ru/env-vars), так как инструменты должны присутствовать при построении первого приглашения. Другие servers продолжают подключаться в фоновом режиме.

1039 1119 

1040## Используйте MCP подсказки как команды1120<h2 id="use-mcp-prompts-as-commands">

1121 Используйте MCP подсказки как команды

1122</h2>

1041 1123 

1042MCP servers могут предоставлять подсказки, которые становятся доступными как команды в Claude Code.1124MCP servers могут предоставлять подсказки, которые становятся доступными как команды в Claude Code.

1043 1125 

1044### Выполните MCP подсказки1126<h3 id="execute-mcp-prompts">

1127 Выполните MCP подсказки

1128</h3>

1045 1129 

1046<Steps>1130<Steps>

1047 <Step title="Откройте доступные подсказки">1131 <Step title="Откройте доступные подсказки">


1076 * Имена server и подсказки нормализуются (пробелы становятся подчеркиваниями)1160 * Имена server и подсказки нормализуются (пробелы становятся подчеркиваниями)

1077</Tip>1161</Tip>

1078 1162 

1079## Управляемая конфигурация MCP1163<h2 id="managed-mcp-configuration">

1164 Управляемая конфигурация MCP

1165</h2>

1080 1166 

1081Для организаций, которым требуется централизованный контроль над тем, какие MCP servers пользователи могут подключать, см. [Managed MCP configuration](/ru/managed-mcp). Это охватывает развертывание фиксированного набора servers с помощью `managed-mcp.json`, ограничение servers с помощью `allowedMcpServers` и `deniedMcpServers`, а также то, что видят пользователи, когда server заблокирован.1167Для организаций, которым требуется централизованный контроль над тем, какие MCP servers пользователи могут подключать, см. [Managed MCP configuration](/ru/managed-mcp). Это охватывает развертывание фиксированного набора servers с помощью `managed-mcp.json`, ограничение servers с помощью `allowedMcpServers` и `deniedMcpServers`, а также то, что видят пользователи, когда server заблокирован.

memory.md +92 −32

Details

18* [Настраивать auto memory](#auto-memory) так, чтобы Claude автоматически делал заметки18* [Настраивать auto memory](#auto-memory) так, чтобы Claude автоматически делал заметки

19* [Устранять неполадки](#troubleshoot-memory-issues) когда инструкции не соблюдаются19* [Устранять неполадки](#troubleshoot-memory-issues) когда инструкции не соблюдаются

20 20 

21## CLAUDE.md и auto memory21<h2 id="claude-md-vs-auto-memory">

22 CLAUDE.md и auto memory

23</h2>

22 24 

23Claude Code имеет две дополняющие друг друга системы памяти. Обе загружаются в начале каждого разговора. Claude рассматривает их как контекст, а не как принудительную конфигурацию. Чтобы заблокировать действие независимо от того, что решит Claude, используйте [PreToolUse hook](/ru/hooks-guide) вместо этого. Чем более конкретны и лаконичны ваши инструкции, тем последовательнее Claude их соблюдает.25Claude Code имеет две дополняющие друг друга системы памяти. Обе загружаются в начале каждого разговора. Claude рассматривает их как контекст, а не как принудительную конфигурацию. Чтобы заблокировать действие независимо от того, что решит Claude, используйте [PreToolUse hook](/ru/hooks-guide) вместо этого. Чем более конкретны и лаконичны ваши инструкции, тем последовательнее Claude их соблюдает.

24 26 


34 36 

35Subagents также могут поддерживать собственную auto memory. Подробнее см. в разделе [конфигурация subagent](/ru/sub-agents#enable-persistent-memory).37Subagents также могут поддерживать собственную auto memory. Подробнее см. в разделе [конфигурация subagent](/ru/sub-agents#enable-persistent-memory).

36 38 

37## Файлы CLAUDE.md39<h2 id="claude-md-files">

40 Файлы CLAUDE.md

41</h2>

38 42 

39Файлы CLAUDE.md — это файлы markdown, которые дают Claude постоянные инструкции для проекта, вашего личного рабочего процесса или всей организации. Вы пишете эти файлы в виде простого текста; Claude читает их в начале каждого сеанса.43Файлы CLAUDE.md — это файлы markdown, которые дают Claude постоянные инструкции для проекта, вашего личного рабочего процесса или всей организации. Вы пишете эти файлы в виде простого текста; Claude читает их в начале каждого сеанса.

40 44 

41### Когда добавлять в CLAUDE.md45<h3 id="when-to-add-to-claude-md">

46 Когда добавлять в CLAUDE.md

47</h3>

42 48 

43Рассматривайте CLAUDE.md как место, где вы записываете то, что иначе пришлось бы переобъяснять. Добавляйте в него, когда:49Рассматривайте CLAUDE.md как место, где вы записываете то, что иначе пришлось бы переобъяснять. Добавляйте в него, когда:

44 50 


49 55 

50Ограничивайте это фактами, которые Claude должен помнить в каждом сеансе: команды сборки, соглашения, макет проекта, правила "всегда делай X". Если запись — это многошаговая процедура или имеет значение только для одной части кодовой базы, переместите её в [skill](/ru/skills) или [правило с ограничением по пути](#organize-rules-with-claude/rules/) вместо этого. [Обзор расширений](/ru/features-overview#build-your-setup-over-time) охватывает, когда использовать каждый механизм.56Ограничивайте это фактами, которые Claude должен помнить в каждом сеансе: команды сборки, соглашения, макет проекта, правила "всегда делай X". Если запись — это многошаговая процедура или имеет значение только для одной части кодовой базы, переместите её в [skill](/ru/skills) или [правило с ограничением по пути](#organize-rules-with-claude/rules/) вместо этого. [Обзор расширений](/ru/features-overview#build-your-setup-over-time) охватывает, когда использовать каждый механизм.

51 57 

52### Выберите, где разместить файлы CLAUDE.md58<h3 id="choose-where-to-put-claude-md-files">

59 Выберите, где разместить файлы CLAUDE.md

60</h3>

53 61 

54Файлы CLAUDE.md могут находиться в нескольких местах, каждое с разной областью действия. Таблица ниже перечисляет их в порядке загрузки, от самой широкой области действия к наиболее специфичной, поэтому инструкция проекта появляется в контексте после инструкции пользователя.62Файлы CLAUDE.md могут находиться в нескольких местах, каждое с разной областью действия. Таблица ниже перечисляет их в порядке загрузки, от самой широкой области действия к наиболее специфичной, поэтому инструкция проекта появляется в контексте после инструкции пользователя.

55 63 


64 72 

65Для больших проектов вы можете разбить инструкции на файлы, специфичные для темы, используя [правила проекта](#organize-rules-with-claude/rules/). Правила позволяют ограничить инструкции определёнными типами файлов или подкаталогами.73Для больших проектов вы можете разбить инструкции на файлы, специфичные для темы, используя [правила проекта](#organize-rules-with-claude/rules/). Правила позволяют ограничить инструкции определёнными типами файлов или подкаталогами.

66 74 

67### Установите CLAUDE.md проекта75<h3 id="set-up-a-project-claude-md">

76 Установите CLAUDE.md проекта

77</h3>

68 78 

69CLAUDE.md проекта может быть сохранён либо в `./CLAUDE.md`, либо в `./.claude/CLAUDE.md`. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через систему контроля версий, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях.79CLAUDE.md проекта может быть сохранён либо в `./CLAUDE.md`, либо в `./.claude/CLAUDE.md`. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через систему контроля версий, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях.

70 80 


74 Установите `CLAUDE_CODE_NEW_INIT=1` для включения интерактивного многофазного потока. `/init` спрашивает, какие артефакты настроить: файлы CLAUDE.md, skills и hooks. Затем он исследует вашу кодовую базу с помощью subagent, заполняет пробелы через дополнительные вопросы и представляет проверяемое предложение перед написанием каких-либо файлов.84 Установите `CLAUDE_CODE_NEW_INIT=1` для включения интерактивного многофазного потока. `/init` спрашивает, какие артефакты настроить: файлы CLAUDE.md, skills и hooks. Затем он исследует вашу кодовую базу с помощью subagent, заполняет пробелы через дополнительные вопросы и представляет проверяемое предложение перед написанием каких-либо файлов.

75</Tip>85</Tip>

76 86 

77### Пишите эффективные инструкции87<h3 id="write-effective-instructions">

88 Пишите эффективные инструкции

89</h3>

78 90 

79Файлы CLAUDE.md загружаются в context window в начале каждого сеанса, потребляя токены наряду с вашим разговором. [Визуализация context window](/ru/context-window) показывает, где загружается CLAUDE.md относительно остального контекста при запуске. Поскольку это контекст, а не принудительная конфигурация, то, как вы пишете инструкции, влияет на то, насколько надёжно Claude их соблюдает. Лучше всего работают конкретные, лаконичные, хорошо структурированные инструкции.91Файлы CLAUDE.md загружаются в context window в начале каждого сеанса, потребляя токены наряду с вашим разговором. [Визуализация context window](/ru/context-window) показывает, где загружается CLAUDE.md относительно остального контекста при запуске. Поскольку это контекст, а не принудительная конфигурация, то, как вы пишете инструкции, влияет на то, насколько надёжно Claude их соблюдает. Лучше всего работают конкретные, лаконичные, хорошо структурированные инструкции.

80 92 


90 102 

91**Согласованность**: если два правила противоречат друг другу, Claude может выбрать одно произвольно. Периодически проверяйте ваши файлы CLAUDE.md, вложенные файлы CLAUDE.md в подкаталогах и файлы [`.claude/rules/`](#organize-rules-with-claude/rules/), чтобы удалить устаревшие или конфликтующие инструкции. В монорепозиториях используйте [`claudeMdExcludes`](#exclude-specific-claude-md-files) для пропуска файлов CLAUDE.md от других команд, которые не имеют отношения к вашей работе.103**Согласованность**: если два правила противоречат друг другу, Claude может выбрать одно произвольно. Периодически проверяйте ваши файлы CLAUDE.md, вложенные файлы CLAUDE.md в подкаталогах и файлы [`.claude/rules/`](#organize-rules-with-claude/rules/), чтобы удалить устаревшие или конфликтующие инструкции. В монорепозиториях используйте [`claudeMdExcludes`](#exclude-specific-claude-md-files) для пропуска файлов CLAUDE.md от других команд, которые не имеют отношения к вашей работе.

92 104 

93### Импортируйте дополнительные файлы105<h3 id="import-additional-files">

106 Импортируйте дополнительные файлы

107</h3>

94 108 

95Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис `@path/to/import`. Импортированные файлы расширяются и загружаются в контекст при запуске вместе с CLAUDE.md, который их ссылается.109Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис `@path/to/import`. Импортированные файлы расширяются и загружаются в контекст при запуске вместе с CLAUDE.md, который их ссылается.

96 110 


120 134 

121Для более структурированного подхода к организации инструкций см. [`.claude/rules/`](#organize-rules-with-claude/rules/).135Для более структурированного подхода к организации инструкций см. [`.claude/rules/`](#organize-rules-with-claude/rules/).

122 136 

123### AGENTS.md137<h3 id="agents-md">

138 AGENTS.md

139</h3>

124 140 

125Claude Code читает `CLAUDE.md`, не `AGENTS.md`. Если ваш репозиторий уже использует `AGENTS.md` для других кодирующих агентов, создайте `CLAUDE.md`, который импортирует его, чтобы оба инструмента читали одни и те же инструкции без их дублирования. Вы также можете добавить инструкции, специфичные для Claude, ниже импорта. Claude загружает импортированный файл при запуске сеанса, затем добавляет остальное:141Claude Code читает `CLAUDE.md`, не `AGENTS.md`. Если ваш репозиторий уже использует `AGENTS.md` для других кодирующих агентов, создайте `CLAUDE.md`, который импортирует его, чтобы оба инструмента читали одни и те же инструкции без их дублирования. Вы также можете добавить инструкции, специфичные для Claude, ниже импорта. Claude загружает импортированный файл при запуске сеанса, затем добавляет остальное:

126 142 


140 156 

141На Windows создание symlink требует привилегий администратора или режима разработчика, поэтому используйте импорт `@AGENTS.md` вместо этого.157На Windows создание symlink требует привилегий администратора или режима разработчика, поэтому используйте импорт `@AGENTS.md` вместо этого.

142 158 

143Запуск [`/init`](/ru/commands) в репозитории, который уже имеет `AGENTS.md`, читает его и включает соответствующие части в созданный `CLAUDE.md`. Он также читает другие конфигурации инструментов, такие как `.cursorrules` и `.windsurfrules`.159Запуск [`/init`](/ru/commands) в репозитории, который уже имеет `AGENTS.md`, читает его и включает соответствующие части в созданный `CLAUDE.md`. Он также читает другие конфигурации инструментов, такие как `.cursorrules`, `.devin/rules/` и `.windsurfrules`.

144 160 

145### Как загружаются файлы CLAUDE.md161<h3 id="how-claude-md-files-load">

162 Как загружаются файлы CLAUDE.md

163</h3>

146 164 

147Claude Code читает файлы CLAUDE.md, проходя вверх по дереву каталогов из вашего текущего рабочего каталога, проверяя каждый каталог на пути для файлов `CLAUDE.md` и `CLAUDE.local.md`. Это означает, что если вы запустите Claude Code в `foo/bar/`, он загружает инструкции из `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` и любых файлов `CLAUDE.local.md` рядом с ними.165Claude Code читает файлы CLAUDE.md, проходя вверх по дереву каталогов из вашего текущего рабочего каталога, проверяя каждый каталог на пути для файлов `CLAUDE.md` и `CLAUDE.local.md`. Это означает, что если вы запустите Claude Code в `foo/bar/`, он загружает инструкции из `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` и любых файлов `CLAUDE.local.md` рядом с ними.

148 166 


154 172 

155Блочные HTML-комментарии (`<!-- maintainer notes -->`) в файлах CLAUDE.md удаляются перед внедрением содержимого в контекст Claude. Используйте их для оставления заметок для человеческих разработчиков без траты токенов контекста на них. Комментарии внутри блоков кода сохраняются. Когда вы открываете файл CLAUDE.md напрямую с помощью инструмента Read, комментарии остаются видимыми.173Блочные HTML-комментарии (`<!-- maintainer notes -->`) в файлах CLAUDE.md удаляются перед внедрением содержимого в контекст Claude. Используйте их для оставления заметок для человеческих разработчиков без траты токенов контекста на них. Комментарии внутри блоков кода сохраняются. Когда вы открываете файл CLAUDE.md напрямую с помощью инструмента Read, комментарии остаются видимыми.

156 174 

157#### Загрузка из дополнительных каталогов175<h4 id="load-from-additional-directories">

176 Загрузка из дополнительных каталогов

177</h4>

158 178 

159Флаг `--add-dir` дает Claude доступ к дополнительным каталогам вне вашего основного рабочего каталога. По умолчанию файлы CLAUDE.md из этих каталогов не загружаются.179Флаг `--add-dir` дает Claude доступ к дополнительным каталогам вне вашего основного рабочего каталога. По умолчанию файлы CLAUDE.md из этих каталогов не загружаются.

160 180 


166 186 

167Это загружает `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md` из дополнительного каталога. `CLAUDE.local.md` пропускается, если вы исключите `local` из [`--setting-sources`](/ru/cli-reference).187Это загружает `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md` из дополнительного каталога. `CLAUDE.local.md` пропускается, если вы исключите `local` из [`--setting-sources`](/ru/cli-reference).

168 188 

169### Организуйте правила с помощью `.claude/rules/`189<h3 id="organize-rules-with-claude/rules/">

190 Организуйте правила с помощью `.claude/rules/`

191</h3>

170 192 

171Для больших проектов вы можете организовать инструкции в несколько файлов, используя каталог `.claude/rules/`. Это делает инструкции модульными и облегчает их поддержку командами. Правила также могут быть [ограничены определёнными путями файлов](#path-specific-rules), поэтому они загружаются в контекст только когда Claude работает с соответствующими файлами, снижая шум и экономя пространство контекста.193Для больших проектов вы можете организовать инструкции в несколько файлов, используя каталог `.claude/rules/`. Это делает инструкции модульными и облегчает их поддержку командами. Правила также могут быть [ограничены определёнными путями файлов](#path-specific-rules), поэтому они загружаются в контекст только когда Claude работает с соответствующими файлами, снижая шум и экономя пространство контекста.

172 194 


174 Правила загружаются в контекст каждый сеанс или когда открываются соответствующие файлы. Для инструкций, специфичных для задачи, которые не нужны в контексте всё время, используйте [skills](/ru/skills), которые загружаются только при их вызове или когда Claude определяет, что они имеют отношение к вашему запросу.196 Правила загружаются в контекст каждый сеанс или когда открываются соответствующие файлы. Для инструкций, специфичных для задачи, которые не нужны в контексте всё время, используйте [skills](/ru/skills), которые загружаются только при их вызове или когда Claude определяет, что они имеют отношение к вашему запросу.

175</Note>197</Note>

176 198 

177#### Установите правила199<h4 id="set-up-rules">

200 Установите правила

201</h4>

178 202 

179Поместите файлы markdown в каталог `.claude/rules/` вашего проекта. Каждый файл должен охватывать одну тему с описательным именем файла, например `testing.md` или `api-design.md`. Все файлы `.md` обнаруживаются рекурсивно, поэтому вы можете организовать правила в подкаталоги, такие как `frontend/` или `backend/`:203Поместите файлы markdown в каталог `.claude/rules/` вашего проекта. Каждый файл должен охватывать одну тему с описательным именем файла, например `testing.md` или `api-design.md`. Все файлы `.md` обнаруживаются рекурсивно, поэтому вы можете организовать правила в подкаталоги, такие как `frontend/` или `backend/`:

180 204 


190 214 

191Правила без [frontmatter `paths`](#path-specific-rules) загружаются при запуске с тем же приоритетом, что и `.claude/CLAUDE.md`.215Правила без [frontmatter `paths`](#path-specific-rules) загружаются при запуске с тем же приоритетом, что и `.claude/CLAUDE.md`.

192 216 

193#### Правила, специфичные для пути217<h4 id="path-specific-rules">

218 Правила, специфичные для пути

219</h4>

194 220 

195Правила могут быть ограничены определёнными файлами с помощью YAML frontmatter с полем `paths`. Эти условные правила применяются только когда Claude работает с файлами, соответствующими указанным шаблонам.221Правила могут быть ограничены определёнными файлами с помощью YAML frontmatter с полем `paths`. Эти условные правила применяются только когда Claude работает с файлами, соответствующими указанным шаблонам.

196 222 


229---255---

230```256```

231 257 

232#### Делитесь правилами между проектами с помощью symlinks258<h4 id="share-rules-across-projects-with-symlinks">

259 Делитесь правилами между проектами с помощью symlinks

260</h4>

233 261 

234Каталог `.claude/rules/` поддерживает symlinks, поэтому вы можете поддерживать общий набор правил и связывать их с несколькими проектами. Symlinks разрешаются и загружаются нормально, а циклические symlinks обнаруживаются и обрабатываются корректно.262Каталог `.claude/rules/` поддерживает symlinks, поэтому вы можете поддерживать общий набор правил и связывать их с несколькими проектами. Symlinks разрешаются и загружаются нормально, а циклические symlinks обнаруживаются и обрабатываются корректно.

235 263 


240ln -s ~/company-standards/security.md .claude/rules/security.md268ln -s ~/company-standards/security.md .claude/rules/security.md

241```269```

242 270 

243#### Правила на уровне пользователя271<h4 id="user-level-rules">

272 Правила на уровне пользователя

273</h4>

244 274 

245Личные правила в `~/.claude/rules/` применяются к каждому проекту на вашей машине. Используйте их для предпочтений, которые не зависят от проекта:275Личные правила в `~/.claude/rules/` применяются к каждому проекту на вашей машине. Используйте их для предпочтений, которые не зависят от проекта:

246 276 


252 282 

253Правила на уровне пользователя загружаются перед правилами проекта, что даёт правилам проекта более высокий приоритет.283Правила на уровне пользователя загружаются перед правилами проекта, что даёт правилам проекта более высокий приоритет.

254 284 

255### Управляйте CLAUDE.md для больших команд285<h3 id="manage-claude-md-for-large-teams">

286 Управляйте CLAUDE.md для больших команд

287</h3>

256 288 

257Для организаций, развёртывающих Claude Code в командах, вы можете централизовать инструкции и контролировать, какие файлы CLAUDE.md загружаются.289Для организаций, развёртывающих Claude Code в командах, вы можете централизовать инструкции и контролировать, какие файлы CLAUDE.md загружаются.

258 290 

259#### Развёртывание CLAUDE.md на уровне организации291<h4 id="deploy-organization-wide-claude-md">

292 Развёртывание CLAUDE.md на уровне организации

293</h4>

260 294 

261Организации могут развернуть централизованно управляемый CLAUDE.md, который применяется ко всем пользователям на машине. Этот файл не может быть исключён индивидуальными настройками.295Организации могут развернуть централизованно управляемый CLAUDE.md, который применяется ко всем пользователям на машине. Этот файл не может быть исключён индивидуальными настройками.

262 296 


302 336 

303Правила настроек принудительно применяются клиентом независимо от того, что решит делать Claude. Инструкции CLAUDE.md формируют поведение Claude, но не являются жёстким уровнем принуждения.337Правила настроек принудительно применяются клиентом независимо от того, что решит делать Claude. Инструкции CLAUDE.md формируют поведение Claude, но не являются жёстким уровнем принуждения.

304 338 

305#### Исключите определённые файлы CLAUDE.md339<h4 id="exclude-specific-claude-md-files">

340 Исключите определённые файлы CLAUDE.md

341</h4>

306 342 

307В больших монорепозиториях файлы CLAUDE.md предков могут содержать инструкции, которые не имеют отношения к вашей работе. Параметр `claudeMdExcludes` позволяет пропустить определённые файлы по пути или glob-шаблону.343В больших монорепозиториях файлы CLAUDE.md предков могут содержать инструкции, которые не имеют отношения к вашей работе. Параметр `claudeMdExcludes` позволяет пропустить определённые файлы по пути или glob-шаблону.

308 344 


321 357 

322Файлы CLAUDE.md управляемой политики не могут быть исключены. Это гарантирует, что инструкции на уровне организации всегда применяются независимо от индивидуальных настроек.358Файлы CLAUDE.md управляемой политики не могут быть исключены. Это гарантирует, что инструкции на уровне организации всегда применяются независимо от индивидуальных настроек.

323 359 

324## Auto memory360<h2 id="auto-memory">

361 Auto memory

362</h2>

325 363 

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

327 365 


329 Auto memory требует Claude Code v2.1.59 или позже. Проверьте вашу версию с помощью `claude --version`.367 Auto memory требует Claude Code v2.1.59 или позже. Проверьте вашу версию с помощью `claude --version`.

330</Note>368</Note>

331 369 

332### Включите или отключите auto memory370<h3 id="enable-or-disable-auto-memory">

371 Включите или отключите auto memory

372</h3>

333 373 

334Auto memory включена по умолчанию. Чтобы переключить её, откройте `/memory` в сеансе и используйте переключатель auto memory, или установите `autoMemoryEnabled` в настройках вашего проекта:374Auto memory включена по умолчанию. Чтобы переключить её, откройте `/memory` в сеансе и используйте переключатель auto memory, или установите `autoMemoryEnabled` в настройках вашего проекта:

335 375 


341 381 

342Чтобы отключить auto memory через переменную окружения, установите `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`.382Чтобы отключить auto memory через переменную окружения, установите `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`.

343 383 

344### Местоположение хранилища384<h3 id="storage-location">

385 Местоположение хранилища

386</h3>

345 387 

346Каждый проект получает свой собственный каталог памяти в `~/.claude/projects/<project>/memory/`. Путь `<project>` получается из репозитория git, поэтому все worktrees и подкаталоги в одном репозитории используют один каталог auto memory. Вне репозитория git вместо этого используется корень проекта.388Каждый проект получает свой собственный каталог памяти в `~/.claude/projects/<project>/memory/`. Путь `<project>` получается из репозитория git, поэтому все worktrees и подкаталоги в одном репозитории используют один каталог auto memory. Вне репозитория git вместо этого используется корень проекта.

347 389 


369 411 

370Auto memory зависит от машины. Все worktrees и подкаталоги в одном репозитории git используют один каталог auto memory. Файлы не общие между машинами или облачными окружениями.412Auto memory зависит от машины. Все worktrees и подкаталоги в одном репозитории git используют один каталог auto memory. Файлы не общие между машинами или облачными окружениями.

371 413 

372### Как это работает414<h3 id="how-it-works">

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

416</h3>

373 417 

374Первые 200 строк `MEMORY.md`, или первые 25KB, в зависимости от того, что наступит раньше, загружаются в начале каждого разговора. Содержимое после этого порога не загружается при запуске сеанса. Claude держит `MEMORY.md` лаконичным, перемещая подробные заметки в отдельные файлы по темам.418Первые 200 строк `MEMORY.md`, или первые 25KB, в зависимости от того, что наступит раньше, загружаются в начале каждого разговора. Содержимое после этого порога не загружается при запуске сеанса. Claude держит `MEMORY.md` лаконичным, перемещая подробные заметки в отдельные файлы по темам.

375 419 


379 423 

380Claude читает и пишет файлы памяти во время вашего сеанса. Когда вы видите "Writing memory" или "Recalled memory" в интерфейсе Claude Code, Claude активно обновляет или читает из `~/.claude/projects/<project>/memory/`.424Claude читает и пишет файлы памяти во время вашего сеанса. Когда вы видите "Writing memory" или "Recalled memory" в интерфейсе Claude Code, Claude активно обновляет или читает из `~/.claude/projects/<project>/memory/`.

381 425 

382### Проверьте и отредактируйте вашу память426<h3 id="audit-and-edit-your-memory">

427 Проверьте и отредактируйте вашу память

428</h3>

383 429 

384Файлы auto memory — это простой markdown, который вы можете редактировать или удалять в любое время. Запустите [`/memory`](#view-and-edit-with-memory) для просмотра и открытия файлов памяти из сеанса.430Файлы auto memory — это простой markdown, который вы можете редактировать или удалять в любое время. Запустите [`/memory`](#view-and-edit-with-%2Fmemory) для просмотра и открытия файлов памяти из сеанса.

385 431 

386## Просмотр и редактирование с помощью `/memory`432<h2 id="view-and-edit-with-/memory">

433 Просмотр и редактирование с помощью `/memory`

434</h2>

387 435 

388Команда `/memory` перечисляет все файлы CLAUDE.md, CLAUDE.local.md и правила, загруженные в вашем текущем сеансе, позволяет переключать auto memory включена или отключена, и предоставляет ссылку для открытия папки auto memory. Выберите любой файл для открытия его в вашем редакторе.436Команда `/memory` перечисляет все файлы CLAUDE.md, CLAUDE.local.md и правила, загруженные в вашем текущем сеансе, позволяет переключать auto memory включена или отключена, и предоставляет ссылку для открытия папки auto memory. Выберите любой файл для открытия его в вашем редакторе.

389 437 

390Когда вы просите Claude что-то запомнить, например "всегда используйте pnpm, а не npm" или "помните, что тесты API требуют локального экземпляра Redis", Claude сохраняет это в auto memory. Чтобы добавить инструкции в CLAUDE.md, попросите Claude напрямую, например "добавьте это в CLAUDE.md", или отредактируйте файл самостоятельно через `/memory`.438Когда вы просите Claude что-то запомнить, например "всегда используйте pnpm, а не npm" или "помните, что тесты API требуют локального экземпляра Redis", Claude сохраняет это в auto memory. Чтобы добавить инструкции в CLAUDE.md, попросите Claude напрямую, например "добавьте это в CLAUDE.md", или отредактируйте файл самостоятельно через `/memory`.

391 439 

392## Устранение неполадок с памятью440<h2 id="troubleshoot-memory-issues">

441 Устранение неполадок с памятью

442</h2>

393 443 

394Это наиболее распространённые проблемы с CLAUDE.md и auto memory, а также шаги для их отладки.444Это наиболее распространённые проблемы с CLAUDE.md и auto memory, а также шаги для их отладки.

395 445 

396### Claude не следует моему CLAUDE.md446<h3 id="claude-isn’t-following-my-claude-md">

447 Claude не следует моему CLAUDE.md

448</h3>

397 449 

398Содержимое CLAUDE.md доставляется как пользовательское сообщение после системного запроса, а не как часть самого системного запроса. Claude читает его и пытается следовать ему, но нет гарантии строгого соответствия, особенно для расплывчатых или конфликтующих инструкций.450Содержимое CLAUDE.md доставляется как пользовательское сообщение после системного запроса, а не как часть самого системного запроса. Claude читает его и пытается следовать ему, но нет гарантии строгого соответствия, особенно для расплывчатых или конфликтующих инструкций.

399 451 


412 Используйте hook [`InstructionsLoaded`](/ru/hooks#instructionsloaded) для логирования точно того, какие файлы инструкций загружены, когда они загружаются и почему. Это полезно для отладки правил, специфичных для пути, или ленивых загруженных файлов в подкаталогах.464 Используйте hook [`InstructionsLoaded`](/ru/hooks#instructionsloaded) для логирования точно того, какие файлы инструкций загружены, когда они загружаются и почему. Это полезно для отладки правил, специфичных для пути, или ленивых загруженных файлов в подкаталогах.

413</Tip>465</Tip>

414 466 

415### Я не знаю, что сохранила auto memory467<h3 id="i-don’t-know-what-auto-memory-saved">

468 Я не знаю, что сохранила auto memory

469</h3>

416 470 

417Запустите `/memory` и выберите папку auto memory для просмотра того, что Claude сохранил. Всё это простой markdown, который вы можете читать, редактировать или удалять.471Запустите `/memory` и выберите папку auto memory для просмотра того, что Claude сохранил. Всё это простой markdown, который вы можете читать, редактировать или удалять.

418 472 

419### Мой CLAUDE.md слишком большой473<h3 id="my-claude-md-is-too-large">

474 Мой CLAUDE.md слишком большой

475</h3>

420 476 

421Файлы более 200 строк потребляют больше контекста и могут снизить соблюдение. Используйте [правила с областью действия пути](#path-specific-rules) для загрузки инструкций только когда Claude работает с соответствующими файлами, или сократите содержимое, которое не требуется в каждом сеансе. Разделение на [`@path` импорты](#import-additional-files) помогает организации, но не снижает контекст, так как импортированные файлы загружаются при запуске.477Файлы более 200 строк потребляют больше контекста и могут снизить соблюдение. Используйте [правила с областью действия пути](#path-specific-rules) для загрузки инструкций только когда Claude работает с соответствующими файлами, или сократите содержимое, которое не требуется в каждом сеансе. Разделение на [`@path` импорты](#import-additional-files) помогает организации, но не снижает контекст, так как импортированные файлы загружаются при запуске.

422 478 

423### Инструкции кажутся потерянными после `/compact`479<h3 id="instructions-seem-lost-after-/compact">

480 Инструкции кажутся потерянными после `/compact`

481</h3>

424 482 

425CLAUDE.md в корне проекта выживает при сжатии: после `/compact` Claude повторно читает его с диска и повторно вводит его в сеанс. Вложенные файлы CLAUDE.md в подкаталогах не повторно вводятся автоматически; они перезагружаются в следующий раз, когда Claude читает файл в этом подкаталоге.483CLAUDE.md в корне проекта выживает при сжатии: после `/compact` Claude повторно читает его с диска и повторно вводит его в сеанс. Вложенные файлы CLAUDE.md в подкаталогах не повторно вводятся автоматически; они перезагружаются в следующий раз, когда Claude читает файл в этом подкаталоге.

426 484 


428 486 

429Подробнее см. в разделе [Пишите эффективные инструкции](#write-effective-instructions) для рекомендаций по размеру, структуре и конкретности.487Подробнее см. в разделе [Пишите эффективные инструкции](#write-effective-instructions) для рекомендаций по размеру, структуре и конкретности.

430 488 

431## Связанные ресурсы489<h2 id="related-resources">

490 Связанные ресурсы

491</h2>

432 492 

433* [Отладка вашей конфигурации](/ru/debug-your-config): диагностируйте, почему CLAUDE.md или настройки не вступают в силу493* [Отладка вашей конфигурации](/ru/debug-your-config): диагностируйте, почему CLAUDE.md или настройки не вступают в силу

434* [Skills](/ru/skills): упакуйте повторяемые рабочие процессы, которые загружаются по требованию494* [Skills](/ru/skills): упакуйте повторяемые рабочие процессы, которые загружаются по требованию

Details

6 6 

7> Узнайте о настройке Claude Code через Microsoft Foundry, включая установку, конфигурацию и устранение неполадок.7> Узнайте о настройке Claude Code через Microsoft Foundry, включая установку, конфигурацию и устранение неполадок.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79<ContactSalesCard surface="foundry" />

80 

9<h2 id="prerequisites">81<h2 id="prerequisites">

10 Предварительные требования82 Предварительные требования

11</h2>83</h2>


17* Azure CLI установлен и настроен (опционально - требуется только если у вас нет другого механизма для получения учетных данных)89* Azure CLI установлен и настроен (опционально - требуется только если у вас нет другого механизма для получения учетных данных)

18 90 

19<Note>91<Note>

20 Если вы развертываете Claude Code для нескольких пользователей, [закрепите версии вашей модели](#4-pin-model-versions), чтобы предотвратить сбои при выпуске Anthropic новых моделей.92 Если вы развертываете Claude Code для нескольких пользователей, [закрепите версии вашей модели](#4-pin-model-versions) перед развертыванием.

21</Note>93</Note>

22 94 

23<h2 id="setup">95<h2 id="setup">


90</h3>162</h3>

91 163 

92<Warning>164<Warning>

93 Закрепите конкретные версии моделей для каждого развертывания. Если вы используете псевдонимы моделей (`sonnet`, `opus`, `haiku`) без закрепления, Claude Code может попытаться использовать более новую версию модели, которая недоступна в вашей учетной записи Foundry, что приведет к сбою существующих пользователей при выпуске обновлений Anthropic. При создании развертываний Azure выберите конкретную версию модели вместо "автоматического обновления до последней версии".165 Закрепите конкретные версии моделей для каждого развертывания. Без закрепления псевдонимы моделей, такие как `sonnet` и `opus`, разрешаются в встроенное значение Claude Code по умолчанию для Foundry, которое может отставать от последнего выпуска и может быть недоступно в вашей учетной записи. Foundry не имеет проверки модели при запуске, поэтому запросы завершаются ошибкой, когда значение по умолчанию недоступно. При создании развертываний Azure выберите конкретную версию модели вместо "автоматического обновления до последней версии".

94</Warning>166</Warning>

95 167 

96Установите переменные модели в соответствии с именами развертываний, которые вы создали на шаге 1.168Установите переменные модели в соответствии с именами развертываний, которые вы создали на шаге 1.

model-config.md +149 −27

Details

32| Псевдоним модели | Поведение |32| Псевдоним модели | Поведение |

33| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |33| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

34| **`default`** | Специальное значение, которое очищает любое переопределение модели и возвращается к рекомендуемой модели для типа вашей учетной записи. Сам по себе не является псевдонимом модели |34| **`default`** | Специальное значение, которое очищает любое переопределение модели и возвращается к рекомендуемой модели для типа вашей учетной записи. Сам по себе не является псевдонимом модели |

35| **`best`** | Использует наиболее мощную доступную модель, в настоящее время эквивалентную `opus` |35| **`best`** | Использует Fable 5, где ваша организация имеет к нему доступ, в противном случае последнюю модель Opus |

36| **`fable`** | Использует Claude Fable 5 для ваших самых сложных и долгоживущих задач |

36| **`sonnet`** | Использует последнюю модель Sonnet для ежедневных задач кодирования |37| **`sonnet`** | Использует последнюю модель Sonnet для ежедневных задач кодирования |

37| **`opus`** | Использует последнюю модель Opus для сложных задач рассуждения |38| **`opus`** | Использует последнюю модель Opus для сложных задач рассуждения |

38| **`haiku`** | Использует быструю и эффективную модель Haiku для простых задач |39| **`haiku`** | Использует быструю и эффективную модель Haiku для простых задач |


48 Opus 4.8 требует Claude Code v2.1.154 или более поздней версии. Запустите `claude update` для обновления.49 Opus 4.8 требует Claude Code v2.1.154 или более поздней версии. Запустите `claude update` для обновления.

49</Note>50</Note>

50 51 

52<h3 id="work-with-fable-5">

53 Работа с Fable 5

54</h3>

55 

56[Claude Fable 5](https://platform.claude.com/docs/ru/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) — это наиболее мощная модель в Claude Code, подходящая для задач, которые занимают больше одного сеанса. Она поддерживает длительные автономные сеансы, проводит исследования перед действием и проверяет свою работу чаще, чем меньшие модели.

57 

58Fable 5 не является моделью по умолчанию. Выберите её с помощью `/model fable`. Запросы, которые её классификаторы безопасности помечают, чаще всего в областях кибербезопасности и биологии, запускают [автоматический откат модели](#automatic-model-fallback).

59 

60Чтобы получить максимум от Fable 5:

61 

62* **Описывайте результат, а не шаги**: передайте ей результат, который вы хотите, и позвольте ей спланировать путь. Чтобы она продолжала работать до тех пор, пока этот результат не будет достигнут, [установите цель](/ru/goal).

63* **Передавайте ей неоднозначные проблемы**: исследования первопричин, отладка сбоев и решения по архитектуре — это то, где дополнительное исследование и проверка окупаются.

64* **Пропускайте напоминания о проверке**: она проверяет свою собственную работу с меньшим количеством подсказок, поэтому напоминания о тестировании или проверке обычно не требуются.

65* **Масштабируйте более крупные задачи**: дайте ей работу, которую вы обычно разбиваете на части. Она выдерживает длительные сеансы без потери нити.

66 

67<Note>

68 Fable 5 требует Claude Code v2.1.170 или более поздней версии. Более старые версии не показывают Fable 5 в средстве выбора модели и не могут её выбрать. Запустите `claude update` для обновления. Fable 5 недоступна при [нулевом сохранении данных](/ru/zero-data-retention), где средство выбора `/model` либо её опускает, либо показывает её отключённой.

69</Note>

70 

51<h3 id="setting-your-model">71<h3 id="setting-your-model">

52 Установка вашей модели72 Установка вашей модели

53</h3>73</h3>


101 121 

102Администраторы предприятия могут использовать `availableModels` в [управляемых или политических параметрах](/ru/settings#settings-files) для ограничения того, какие модели могут выбирать пользователи.122Администраторы предприятия могут использовать `availableModels` в [управляемых или политических параметрах](/ru/settings#settings-files) для ограничения того, какие модели могут выбирать пользователи.

103 123 

104Когда установлен `availableModels`, пользователи не могут переключаться на модели, отсутствующие в списке, через `/model`, флаг `--model` или переменную окружения `ANTHROPIC_MODEL`.124Когда установлен `availableModels`, список разрешений применяется к каждой поверхности, где пользователь может назвать модель:

125 

126* **Модель основного сеанса**: `/model`, флаг `--model` и переменная окружения `ANTHROPIC_MODEL`

127* **Разрешение псевдонимов**: {/* min-version: 2.1.176 */}переменные окружения `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` и `ANTHROPIC_DEFAULT_FABLE_MODEL` не могут перенаправить разрешённый псевдоним на модель вне списка

128* **Быстрый режим**: {/* min-version: 2.1.176 */}`/fast` отказывает переключаться, когда это неявно переключилось бы на модель Opus вне списка, с сообщением "is not in your organization's allowed models"

129* **Модели подагентов**: поле `model` в [подагенте](/ru/sub-agents#choose-a-model) frontmatter, параметр `model` инструмента Agent, средство выбора модели в `/agents` и `CLAUDE_CODE_SUBAGENT_MODEL`

130* **Модель советника**: настроенный параметр [`advisorModel`](/ru/advisor)

131* **Цепочки резервных моделей**: элементы [цепочки резервной модели](#fallback-model-chains) вне списка удаляются

132 

133Переключение на заблокированную модель с помощью `/model` отклоняется с ошибкой, в то время как заблокированный флаг `--model` или значение `ANTHROPIC_MODEL` заменяются при запуске с предупреждением, в котором указаны как запрошенная, так и подставленная модели, и сеанс начинается с моделью по умолчанию. Заблокированное переопределение подагента или советника возвращается к унаследованной или модели по умолчанию, а не к отказу в запросе.

105 134 

106```json theme={null}135```json theme={null}

107{136{


113 Поведение модели по умолчанию142 Поведение модели по умолчанию

114</h3>143</h3>

115 144 

116Опция Default в средстве выбора модели не затрагивается `availableModels`. Она всегда остается доступной и представляет системное значение по умолчанию во время выполнения [на основе уровня подписки пользователя](#default-model-setting).145По умолчанию опция Default в средстве выбора модели не затрагивается `availableModels`. Она остается доступной и представляет системное значение по умолчанию во время выполнения [на основе уровня подписки пользователя](#default-model-setting).

117 146 

118Даже с `availableModels: []` пользователи все еще могут использовать Claude Code с моделью Default для своего уровня.147Чтобы расширить список разрешений на опцию Default, установите `enforceAvailableModels` в значение `true` в управляемых или политических параметрах вместе с непустым списком `availableModels`. Когда значение по умолчанию для уровня не находится в списке разрешений, Default разрешается на первую разрешённую запись вместо значения по умолчанию для уровня. Это требует Claude Code v2.1.175 или более поздней версии.

148 

149Пустой массив `availableModels` никогда не включает принудительное применение. Даже с `availableModels: []` пользователи все ещё могут использовать Claude Code с моделью Default для своего уровня независимо от `enforceAvailableModels`.

119 150 

120<h3 id="control-the-model-users-run-on">151<h3 id="control-the-model-users-run-on">

121 Управление моделью, на которой работают пользователи152 Управление моделью, на которой работают пользователи

122</h3>153</h3>

123 154 

124Параметр `model` является начальным выбором, а не принудительным. Он устанавливает, какая модель активна при запуске сеанса, но пользователи все еще могут открыть `/model` и выбрать Default, который разрешается в системное значение по умолчанию для их уровня независимо от того, что установлено в `model`.155Параметр `model` является начальным выбором, а не принудительным. Он устанавливает, какая модель активна при запуске сеанса, но пользователи все ещё могут открыть `/model` и выбрать Default, который разрешается в системное значение по умолчанию для их уровня независимо от того, что установлено в `model`.

125 156 

126Для полного управления опытом работы с моделью объедините три параметра:157Для полного управления опытом работы с моделью объедините эти параметры:

127 158 

128* **`availableModels`**: ограничивает, на какие именованные модели пользователи могут переключаться159* **`availableModels`**: ограничивает, на какие именованные модели пользователи могут переключаться

160* **`enforceAvailableModels`**: расширяет список разрешений `availableModels` на опцию Default, поэтому Default не может разрешиться на модель вне списка

129* **`model`**: устанавливает начальный выбор модели при запуске сеанса161* **`model`**: устанавливает начальный выбор модели при запуске сеанса

130* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`**: управляют тем, на что разрешаются опция Default и псевдонимы `sonnet`, `opus` и `haiku`162* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`** / **`ANTHROPIC_DEFAULT_FABLE_MODEL`**: управляют тем, на что разрешаются опция Default и псевдонимы `sonnet`, `opus`, `haiku` и `fable`

131 163 

132Этот пример запускает пользователей на Sonnet 4.5, ограничивает средство выбора Sonnet и Haiku, и закрепляет Default для разрешения на Sonnet 4.5 вместо последнего выпуска:164Этот пример запускает пользователей на Sonnet 4.5, ограничивает средство выбора Sonnet и Haiku, и гарантирует, что Default разрешается на модель из списка разрешений, а не на значение по умолчанию для уровня:

133 165 

134```json theme={null}166```json theme={null}

135{167{

136 "model": "claude-sonnet-4-5",168 "model": "claude-sonnet-4-5",

137 "availableModels": ["claude-sonnet-4-5", "haiku"],169 "availableModels": ["claude-sonnet-4-5", "haiku"],

170 "enforceAvailableModels": true,

138 "env": {171 "env": {

139 "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"172 "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"

140 }173 }

141}174}

142```175```

143 176 

144Без блока `env` пользователь, который выбирает Default в средстве выбора, получит последний выпуск Sonnet, обходя закрепление версии в `model` и `availableModels`.177Без `enforceAvailableModels` или блока `env` пользователь, который выбирает Default в средстве выбора, получит последний выпуск для своего уровня, обходя закрепление версии в `model` и `availableModels`. Два параметра охватывают разные области: `enforceAvailableModels` заставляет Default соблюдать список разрешений, в то время как блок `env` закрепляет, на какую версию разрешается разрешённый псевдоним, такой как `sonnet`. Используйте `enforceAvailableModels` отдельно, когда ограничения семейств моделей достаточно; добавьте блок `env`, когда вам также нужно закрепить конкретную версию.

145 178 

146<h3 id="merge-behavior">179<h3 id="merge-behavior">

147 Поведение слияния180 Поведение слияния

148</h3>181</h3>

149 182 

150Когда `availableModels` установлен на нескольких уровнях, таких как параметры пользователя и параметры проекта, массивы объединяются и дедублицируются. Для обеспечения строгого списка разрешений установите `availableModels` в управляемых или политических параметрах, которые имеют наивысший приоритет.183Когда `availableModels` установлен в параметрах пользователя, проекта и локальных параметрах, массивы объединяются и дедублицируются на этих уровнях.

184 

185Когда `availableModels` установлен в управляемых или политических параметрах, управляемое или политическое значение полностью заменяет объединённый результат: записи, добавленные в параметры пользователя или проекта, не могут расширить его. Управляемые и политические параметры заменяют значения с более низким приоритетом для `enforceAvailableModels` таким же образом. Начиная с Claude Code v2.1.175, это единственный способ обеспечить строгий список разрешений; более ранние версии объединяют управляемый список с записями с более низким приоритетом.

151 186 

152<h3 id="mantle-model-ids">187<h3 id="mantle-model-ids">

153 Идентификаторы моделей Mantle188 Идентификаторы моделей Mantle

154</h3>189</h3>

155 190 

156Когда включена [конечная точка Bedrock Mantle](/ru/amazon-bedrock#use-the-mantle-endpoint), записи в `availableModels`, начинающиеся с `anthropic.`, добавляются в средство выбора `/model` как пользовательские опции и маршрутизируются на конечную точку Mantle. Это исключение из сопоставления только псевдонимов, описанного в [Закрепление моделей для развертываний третьих сторон](#pin-models-for-third-party-deployments). Параметр все еще ограничивает средство выбора перечисленными записями, поэтому включите стандартные псевдонимы вместе с любыми идентификаторами Mantle.191Когда включена [конечная точка Bedrock Mantle](/ru/amazon-bedrock#use-the-mantle-endpoint), записи в `availableModels`, начинающиеся с `anthropic.`, добавляются в средство выбора `/model` как пользовательские опции и маршрутизируются на конечную точку Mantle. Параметр всё ещё ограничивает средство выбора перечисленными записями, поэтому включите стандартные псевдонимы вместе с любыми идентификаторами Mantle.

157 192 

158<h2 id="special-model-behavior">193<h2 id="special-model-behavior">

159 Специальное поведение модели194 Специальное поведение модели


172 207 

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

174 209 

175Claude Code может автоматически вернуться к Sonnet, если вы достигнете порога использования с Opus.210Fable 5 не является моделью по умолчанию ни для одного типа учетной записи. Сеансы используют Fable 5 только после того, как вы выберете его с помощью `/model fable`, параметра `model` или псевдонима `best`, где доступна Fable 5. Выбор его с помощью `/model` сохраняет его как выбранную модель в параметрах пользователя, поэтому более поздние сеансы начинаются с Fable 5, пока вы не измените модели.

176 211 

177<h3 id="opusplan-model-setting">212<h3 id="opusplan-model-setting">

178 Параметр модели `opusplan`213 Параметр модели `opusplan`


185 220 

186Это дает вам лучшее из обоих миров: превосходное рассуждение Opus для планирования и эффективность Sonnet для выполнения.221Это дает вам лучшее из обоих миров: превосходное рассуждение Opus для планирования и эффективность Sonnet для выполнения.

187 222 

188Фаза Opus в режиме плана работает со стандартным контекстным окном 200K. Автоматическое обновление 1M, описанное в [Расширенный контекст](#extended-context), применяется к параметру модели `opus` и не распространяется на `opusplan`.223Фаза Opus в режиме плана использует то же контекстное окно, что и параметр модели `opus`. На уровнях подписки, где Opus [автоматически обновляется до контекста 1M](#extended-context), `opusplan` получает обновление и в режиме плана. Чтобы принудительно установить контекст 1M для обеих фаз, когда вы не находитесь на уровне с автоматическим обновлением, установите модель на `opusplan[1m]`.

224 

225Когда [`availableModels`](#restrict-model-selection) исключает Opus, `opusplan` остается на Sonnet в режиме плана вместо переключения. Аналогично, сеанс Haiku, который обычно обновляется до Sonnet в режиме плана, остается на Haiku, когда Sonnet исключен.

226 

227Для гибридного подхода, при котором Claude решает в середине задачи, когда обратиться ко второй модели, а не переключаться на границе плана, см. [инструмент advisor](/ru/advisor).

228 

229<h3 id="fallback-model-chains">

230 Цепочки резервных моделей

231</h3>

232 

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

234 

235Настройте одну или несколько резервных моделей, и Claude Code попробует их по порядку, показывая уведомление при переключении. Переключение длится только для текущего хода, поэтому ваше следующее сообщение сначала попробует основную модель снова. Цепочки ограничены тремя моделями после удаления дубликатов, и дополнительные записи игнорируются.

236 

237Установите цепочку для одного сеанса с флагом `--fallback-model`, который принимает список, разделенный запятыми:

238 

239```bash theme={null}

240claude --fallback-model sonnet,haiku

241```

242 

243Чтобы сохранить цепочку между сеансами, установите `fallbackModel` в [параметрах](/ru/settings) как массив:

244 

245```json theme={null}

246{

247 "fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]

248}

249```

250 

251Флаг `--fallback-model` имеет приоритет над параметром `fallbackModel`. Каждый элемент принимает имя модели или псевдоним, и `"default"` расширяется до модели по умолчанию.

252 

253Два случая вызывают пропуск элемента:

254 

255* **Недоступная модель**: модель, которая не может быть достигнута, такая как снятая с производства модель, закрепленная в параметрах, пропускается, и Claude Code продолжает со следующего элемента.

256* **Вне списка разрешений**: элемент, не разрешенный [`availableModels`](#restrict-model-selection), удаляется при чтении цепочки и никогда не пробуется.

257 

258<h3 id="automatic-model-fallback">

259 Автоматический резервный вариант модели

260</h3>

261 

262Этот раздел охватывает резервный вариант на основе содержимого из Fable 5. Для резервного варианта на основе доступности, когда модель перегружена или недоступна, см. [Цепочки резервных моделей](#fallback-model-chains).

263 

264Fable 5 работает с классификаторами безопасности для содержимого кибербезопасности и биологии. Когда классификатор помечает запрос, Claude Code повторно запускает этот запрос на модели Opus по умолчанию и показывает уведомление в стенограмме: Opus 4.8 на Anthropic API и развертываниях [LLM gateway](/ru/llm-gateway), или Opus 4.7 на [Claude Platform на AWS](/ru/claude-platform-on-aws).

265 

266Сеанс затем продолжается на этой модели Opus. Чтобы вернуться к Fable 5, запустите `/model fable`.

267 

268<h4 id="check-what-triggered-fallback">

269 Проверка того, что вызвало резервный вариант

270</h4>

271 

272Резервный вариант может быть вызван на первом запросе сеанса, прежде чем вы отправите что-либо необычное, потому что первый запрос содержит контекст рабочей области, такой как содержимое вашего CLAUDE.md и статус git. Репозиторий, содержащий материал по безопасности или биологии, может активировать классификатор только на этом контексте.

273 

274Чтобы проверить, являются ли настройки триггером, запустите сеанс с `claude --safe-mode`, который отключает настройки, такие как CLAUDE.md, skills, MCP серверы и hooks. Статус Git и имена каталогов не являются настройками и по-прежнему включены.

275 

276<h4 id="ask-before-switching">

277 Спросить перед переключением

278</h4>

279 

280Чтобы решить, что происходит каждый раз, когда запрос помечается, вместо автоматического переключения, запустите `/config` и отключите "switch models when a message is flagged". Помеченный запрос затем приостанавливает сеанс с двумя вариантами: переключиться на модель Opus или отредактировать подсказку и повторить попытку на Fable 5.

281 

282Некоторые случаи ведут себя иначе:

283 

284* Если обе модели помечают один и тот же запрос, вы можете отредактировать подсказку и повторить попытку, или начать новый сеанс.

285* На мобильных сеансах [Claude Code в веб-браузере](/ru/claude-code-on-the-web) редактирование и повторная попытка не поддерживаются. Переключите модели или продолжите сеанс из браузера рабочего стола или приложения рабочего стола.

286* В [неинтерактивном режиме](/ru/cli-reference#cli-flags) и интеграциях SDK, которые не могут показать подсказку, помеченный запрос завершает ход с отказом вместо этого.

287 

288<h4 id="enable-fallback-on-bedrock-vertex-ai-and-foundry">

289 Включение резервного варианта на Bedrock, Vertex AI и Foundry

290</h4>

291 

292На [Amazon Bedrock](/ru/amazon-bedrock), [Google Vertex AI](/ru/google-vertex-ai) и [Microsoft Foundry](/ru/microsoft-foundry) идентификаторы моделей зависят от поставщика, поэтому автоматический резервный вариант работает только, когда Claude Code может идентифицировать обе задействованные модели:

293 

294* Claude Code должен распознавать текущую модель как Fable 5: идентификатор модели содержит `claude-fable-5`, соответствует значению `ANTHROPIC_DEFAULT_FABLE_MODEL` или сопоставляется с [`modelOverrides`](#override-model-ids-per-version).

295* Цель резервного варианта должна разрешаться в модель Opus: значение `ANTHROPIC_DEFAULT_OPUS_MODEL`, если установлено, в противном случае запись Opus 4.8 в списке моделей поставщика.

296 

297Если одна из моделей не может быть идентифицирована, Claude Code не переключается автоматически. Помеченный запрос завершается с сообщением об отказе, и вы можете переключить модели с помощью [`/model`](#setting-your-model) и повторить попытку. Чтобы включить автоматический резервный вариант на этих поставщиках, установите `ANTHROPIC_DEFAULT_FABLE_MODEL` на идентификатор вашей модели Fable 5 и `ANTHROPIC_DEFAULT_OPUS_MODEL` на идентификатор вашей модели Opus 4.8.

298 

299<h4 id="security-research-and-biology-workloads">

300 Рабочие нагрузки исследования безопасности и биологии

301</h4>

302 

303Рабочие нагрузки в наступательной безопасности или биологии, включая тестирование на проникновение, упражнения Capture the Flag (CTF) и кодовые базы, смежные с биологией, часто вызывают резервный вариант, часто на первом запросе. Для существенной работы в области биологии ожидайте, что почти все запросы будут перенаправлены.

304 

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

189 306 

190<h3 id="adjust-effort-level">307<h3 id="adjust-effort-level">

191 Регулировка уровня усилий308 Регулировка уровня усилий


197 314 

198| Модель | Уровни |315| Модель | Уровни |

199| :-------------------- | :-------------------------------------- |316| :-------------------- | :-------------------------------------- |

317| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

200| Opus 4.8 и Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |318| Opus 4.8 и Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

201| Opus 4.6 и Sonnet 4.6 | `low`, `medium`, `high`, `max` |319| Opus 4.6 и Sonnet 4.6 | `low`, `medium`, `high`, `max` |

202 320 

203Если вы установите уровень, который активная модель не поддерживает, Claude Code вернется к наивысшему поддерживаемому уровню на или ниже установленного вами. Например, `xhigh` работает как `high` на Opus 4.6.321Если вы установите уровень, который активная модель не поддерживает, Claude Code вернется к наивысшему поддерживаемому уровню на или ниже установленного вами. Например, `xhigh` работает как `high` на Opus 4.6.

204 322 

205Усилие по умолчанию составляет `high` на Opus 4.8, Opus 4.6 и Sonnet 4.6, и `xhigh` на Opus 4.7.323Усилие по умолчанию составляет `high` на Fable 5, Opus 4.8, Opus 4.6 и Sonnet 4.6, и `xhigh` на Opus 4.7.

206 324 

207Когда вы впервые запускаете Opus 4.8 или Opus 4.7, Claude Code применяет усилие по умолчанию этой модели, даже если вы ранее установили другой уровень для другой модели: `high` на Opus 4.8 и `xhigh` на Opus 4.7. Запустите `/effort` снова, чтобы выбрать другой уровень после переключения.325Когда вы впервые запускаете Fable 5, Opus 4.8 или Opus 4.7, Claude Code применяет усилие по умолчанию этой модели, даже если вы ранее установили другой уровень для другой модели: `high` на Fable 5 и Opus 4.8, и `xhigh` на Opus 4.7. Запустите `/effort` снова, чтобы выбрать другой уровень после переключения.

208 326 

209`low`, `medium`, `high` и `xhigh` сохраняются между сеансами. `max` обеспечивает самое глубокое рассуждение без ограничений на расходование токенов и применяется только к текущему сеансу, кроме случаев, когда установлено через переменную окружения `CLAUDE_CODE_EFFORT_LEVEL`.327`low`, `medium`, `high` и `xhigh` сохраняются между сеансами. `max` обеспечивает самое глубокое рассуждение без ограничений на расходование токенов и применяется только к текущему сеансу, кроме случаев, когда установлено через переменную окружения `CLAUDE_CODE_EFFORT_LEVEL`.

210 328 


220| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |338| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

221| `low` | Зарезервируйте для коротких, ограниченных, чувствительных к задержкам задач, которые не требуют высокого интеллекта |339| `low` | Зарезервируйте для коротких, ограниченных, чувствительных к задержкам задач, которые не требуют высокого интеллекта |

222| `medium` | Снижает использование токенов для работы, чувствительной к затратам, которая может пожертвовать некоторым интеллектом |340| `medium` | Снижает использование токенов для работы, чувствительной к затратам, которая может пожертвовать некоторым интеллектом |

223| `high` | Балансирует использование токенов и интеллект. По умолчанию на Opus 4.8, Opus 4.6 и Sonnet 4.6 |341| `high` | Балансирует использование токенов и интеллект. По умолчанию на Fable 5, Opus 4.8, Opus 4.6 и Sonnet 4.6 |

224| `xhigh` | Более глубокое рассуждение при более высоком расходовании токенов. По умолчанию на Opus 4.7 |342| `xhigh` | Более глубокое рассуждение при более высоком расходовании токенов. По умолчанию на Opus 4.7 |

225| `max` | Может улучшить производительность на сложных задачах, но может показать убывающую отдачу и склонен к переосмыслению. Протестируйте перед широким внедрением |343| `max` | Может улучшить производительность на сложных задачах, но может показать убывающую отдачу и склонен к переосмыслению. Протестируйте перед широким внедрением |

226| `ultracode` | Параметр Claude Code, который планирует [динамический рабочий процесс](/ru/workflows) для каждой существенной задачи с рассуждением `xhigh` для каждого сообщения. Только для сеанса |344| `ultracode` | Параметр Claude Code, который планирует [динамический рабочий процесс](/ru/workflows) для каждой существенной задачи с рассуждением `xhigh` для каждого сообщения. Только для сеанса |


256 374 

257Адаптивное рассуждение делает мышление необязательным на каждом шаге, поэтому Claude может быстрее реагировать на рутинные подсказки и зарезервировать более глубокое мышление для шагов, которые от него выигрывают. Если вы хотите, чтобы Claude думал чаще или реже, чем производит текущий уровень, вы можете сказать об этом прямо в вашей подсказке или в `CLAUDE.md`; модель реагирует на это руководство в рамках своего параметра усилий.375Адаптивное рассуждение делает мышление необязательным на каждом шаге, поэтому Claude может быстрее реагировать на рутинные подсказки и зарезервировать более глубокое мышление для шагов, которые от него выигрывают. Если вы хотите, чтобы Claude думал чаще или реже, чем производит текущий уровень, вы можете сказать об этом прямо в вашей подсказке или в `CLAUDE.md`; модель реагирует на это руководство в рамках своего параметра усилий.

258 376 

259Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение. Режим фиксированного бюджета мышления и `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` не применяются к ним.377Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение, как и Fable 5. Режим фиксированного бюджета мышления и `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` не применяются к ним.

260 378 

261На Opus 4.6 и Sonnet 4.6 вы можете установить `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` для возврата к предыдущему фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. См. [переменные окружения](/ru/env-vars).379На Opus 4.6 и Sonnet 4.6 вы можете установить `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` для возврата к предыдущему фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. См. [переменные окружения](/ru/env-vars).

262 380 


267Расширенное мышление — это рассуждение, которое Claude выдает перед ответом. На моделях, поддерживающих [адаптивное рассуждение](#adjust-effort-level), уровень усилий является основным управлением тем, сколько мышления происходит; параметры ниже включают или отключают мышление и управляют его отображением.385Расширенное мышление — это рассуждение, которое Claude выдает перед ответом. На моделях, поддерживающих [адаптивное рассуждение](#adjust-effort-level), уровень усилий является основным управлением тем, сколько мышления происходит; параметры ниже включают или отключают мышление и управляют его отображением.

268 386 

269| Управление | Как его установить |387| Управление | Как его установить |

270| :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |388| :------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

271| Переключение для текущего сеанса | Нажмите `Option+T` на macOS или `Alt+T` на Windows и Linux |389| Переключение для текущего сеанса | Нажмите `Option+T` на macOS или `Alt+T` на Windows и Linux |

272| Установка глобального значения по умолчанию | Запустите `/config` и переключите режим мышления. Сохраняется как `alwaysThinkingEnabled` в `~/.claude/settings.json` |390| Установка глобального значения по умолчанию | Запустите `/config` и переключите режим мышления. Сохраняется как `alwaysThinkingEnabled` в `~/.claude/settings.json` |

273| Отключение независимо от усилий | Установите [`MAX_THINKING_TOKENS=0`](/ru/env-vars). Другие значения применяются только с [фиксированным бюджетом мышления](#adaptive-reasoning-and-fixed-thinking-budgets) |391| Отключение независимо от усилий | Установите [`MAX_THINKING_TOKENS=0`](/ru/env-vars), что отключает мышление на Anthropic API, кроме Fable 5. На [поставщиках третьих сторон](/ru/third-party-integrations) это опускает параметр `thinking` вместо этого, и модели адаптивного рассуждения могут все еще думать. Другие значения применяются только с [фиксированным бюджетом мышления](#adaptive-reasoning-and-fixed-thinking-budgets) |

392 

393Мышление не может быть отключено на Fable 5. Переключение сеанса, `alwaysThinkingEnabled` и `MAX_THINKING_TOKENS=0` не имеют там никакого эффекта, и Fable 5 решает на каждом шаге, сколько думать на основе уровня усилий.

274 394 

275Вывод мышления свернут по умолчанию. Нажмите `Ctrl+O` для переключения режима подробности и просмотра рассуждения как серого курсивного текста. Интерактивные сеансы на Anthropic API получают отредактированные блоки мышления по умолчанию, поэтому установите `showThinkingSummaries: true` в [параметрах](/ru/settings), если вы хотите, чтобы полные резюме были доступны при развертывании. Вам выставляется счет за все сгенерированные токены мышления, даже если они свернуты или отредактированы.395Вывод мышления свернут по умолчанию. Нажмите `Ctrl+O` для переключения режима подробности и просмотра рассуждения как серого курсивного текста. Интерактивные сеансы на Anthropic API получают отредактированные блоки мышления по умолчанию, поэтому установите `showThinkingSummaries: true` в [параметрах](/ru/settings), если вы хотите, чтобы полные резюме были доступны при развертывании. Вам выставляется счет за все сгенерированные токены мышления, даже если они свернуты или отредактированы.

276 396 


278 Расширенный контекст398 Расширенный контекст

279</h3>399</h3>

280 400 

281Opus 4.6 и более поздние версии, а также Sonnet 4.6, поддерживают [контекстное окно в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов с большими кодовыми базами.401Fable 5, Opus 4.6 и более поздние версии, а также Sonnet 4.6, поддерживают [контекстное окно в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов с большими кодовыми базами.

282 402 

283Доступность варьируется в зависимости от модели и плана. На планах Max, Team и Enterprise Opus автоматически обновляется до контекста 1M без дополнительной конфигурации. Это применяется как к местам Team Standard, так и к Team Premium. Sonnet с контекстом 1M не входит в автоматическое обновление и требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) на каждом плане подписки, включая Max.403Доступность варьируется в зависимости от модели и плана. На планах Max, Team и Enterprise Opus автоматически обновляется до контекста 1M без дополнительной конфигурации. Это применяется как к местам Team Standard, так и к Team Premium. На Anthropic API Fable 5, Opus 4.8 и Opus 4.7 всегда работают с окном 1M. Sonnet с контекстом 1M не входит в автоматическое обновление и требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) на каждом плане подписки, включая Max.

284 404 

285| План | Opus с контекстом 1M | Sonnet с контекстом 1M |405| План | Opus с контекстом 1M | Sonnet с контекстом 1M |

286| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |406| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |


340 460 

341| Переменная окружения | Описание |461| Переменная окружения | Описание |

342| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |462| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

463| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Модель для использования для `fable`, и идентификатор модели, который Claude Code распознает как Fable 5 для [автоматического переключения модели](#automatic-model-fallback) у поставщиков третьих сторон |

343| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Модель для использования для `opus`, или для `opusplan` при активном Plan Mode. |464| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Модель для использования для `opus`, или для `opusplan` при активном Plan Mode. |

344| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Модель для использования для `sonnet`, или для `opusplan` при неактивном Plan Mode. |465| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Модель для использования для `sonnet`, или для `opusplan` при неактивном Plan Mode. |

345| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Модель для использования для `haiku`, или [фоновой функциональности](/ru/costs#background-token-usage) |466| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Модель для использования для `haiku`, или [фоновой функциональности](/ru/costs#background-token-usage) |


353 474 

354При развертывании Claude Code через [Bedrock](/ru/amazon-bedrock), [Vertex AI](/ru/google-vertex-ai), [Foundry](/ru/microsoft-foundry) или [Claude Platform on AWS](/ru/claude-platform-on-aws) закрепите версии моделей перед развертыванием для пользователей.475При развертывании Claude Code через [Bedrock](/ru/amazon-bedrock), [Vertex AI](/ru/google-vertex-ai), [Foundry](/ru/microsoft-foundry) или [Claude Platform on AWS](/ru/claude-platform-on-aws) закрепите версии моделей перед развертыванием для пользователей.

355 476 

356Без закрепления Claude Code использует псевдонимы моделей (`sonnet`, `opus`, `haiku`), которые разрешаются в последнюю версию. Когда Anthropic выпускает новую модель, которая еще не включена в учетную запись пользователя, пользователи Bedrock и Vertex AI видят уведомление и возвращаются к предыдущей версии для этого сеанса, в то время как пользователи Foundry видят ошибки, потому что Foundry не имеет эквивалентной проверки при запуске.477Без закрепления Claude Code использует псевдонимы моделей, такие как `fable`, `opus`, `sonnet` и `haiku`, которые разрешаются в встроенный идентификатор модели по умолчанию для каждого поставщика. Это значение по умолчанию может отставать от последнего выпуска Anthropic, и модель, на которую оно указывает, может быть еще не включена в учетную запись пользователя. Когда значение по умолчанию недоступно, пользователи Bedrock и Vertex AI видят уведомление и возвращаются к предыдущей версии для этого сеанса, в то время как пользователи Foundry видят ошибки, потому что Foundry не имеет эквивалентной проверки при запуске.

357 478 

358<Warning>479<Warning>

359 Установите все три переменные окружения модели на конкретные идентификаторы версий как часть вашей начальной настройки. Закрепление позволяет вам контролировать, когда ваши пользователи переходят на новую модель.480 Установите переменные окружения модели на конкретные идентификаторы версий как часть вашей начальной настройки. Закрепление позволяет вам контролировать, когда ваши пользователи переходят на новую модель.

360</Warning>481</Warning>

361 482 

362Используйте следующие переменные окружения с идентификаторами моделей, специфичными для версии, для вашего поставщика:483Используйте следующие переменные окружения с идентификаторами моделей, специфичными для версии, для вашего поставщика:


367| Vertex AI | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |488| Vertex AI | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |

368| Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |489| Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |

369 490 

370Применяйте тот же шаблон для `ANTHROPIC_DEFAULT_SONNET_MODEL` и `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Для текущих и устаревших идентификаторов моделей во всех поставщиках см. [Обзор моделей](https://platform.claude.com/docs/en/about-claude/models/overview). Чтобы обновить пользователей до новой версии модели, обновите эти переменные окружения и переразверните.491Применяйте тот же шаблон для `ANTHROPIC_DEFAULT_FABLE_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` и `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Для текущих и устаревших идентификаторов моделей во всех поставщиках см. [Обзор моделей](https://platform.claude.com/docs/en/about-claude/models/overview). Чтобы обновить пользователей до новой версии модели, обновите эти переменные окружения и переразверните.

371 492 

372Чтобы включить [расширенный контекст](#extended-context) для закрепленной модели, добавьте `[1m]` к идентификатору модели в `ANTHROPIC_DEFAULT_OPUS_MODEL` или `ANTHROPIC_DEFAULT_SONNET_MODEL`:493Чтобы включить [расширенный контекст](#extended-context) для закрепленной модели, добавьте `[1m]` к идентификатору модели в `ANTHROPIC_DEFAULT_OPUS_MODEL` или `ANTHROPIC_DEFAULT_SONNET_MODEL`:

373 494 


375export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'496export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'

376```497```

377 498 

378Суффикс `[1m]` применяет контекстное окно 1M ко всему использованию псевдонимов `opus` и `sonnet`. Он не расширяет фазу Opus в режиме плана `opusplan`, которая [остается ограниченной на уровне 200K](#opusplan-model-setting).499Суффикс `[1m]` применяет контекстное окно 1M ко всему использованию псевдонимов `opus` и `sonnet`, включая фазу Opus в режиме плана [`opusplan`](#opusplan-model-setting).

379 500 

380* Claude Code удаляет суффикс перед отправкой идентификатора модели вашему поставщику.501* Claude Code удаляет суффикс перед отправкой идентификатора модели вашему поставщику.

381* Добавляйте `[1m]` только когда базовая модель [поддерживает контекст 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).502* Добавляйте `[1m]` только когда базовая модель [поддерживает контекст 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).

382* Суффикс читается для каждой переменной, а не для каждой модели. На Bedrock, Vertex и Foundry идентификатор модели без `[1m]` в одной переменной использует контекст 200K, даже если другая переменная устанавливает ту же модель с суффиксом.503* Суффикс читается для каждой переменной, а не для каждой модели. На Bedrock, Vertex и Foundry идентификатор модели без `[1m]` в одной переменной использует контекст 200K, даже если другая переменная устанавливает ту же модель с суффиксом.

383 504 

384<Note>505<Note>

385 Список разрешений `settings.availableModels` все еще применяется при использовании поставщиков третьих сторон. Фильтрация соответствует псевдониму модели (`opus`, `sonnet`, `haiku`), а не идентификатору модели, специфичному для поставщика.506 Список разрешений `settings.availableModels` все еще применяется при использовании поставщиков третьих сторон. Фильтрация соответствует псевдониму модели, такому как `opus`, префиксу версии, такому как `claude-opus-4-8`, или полному идентификатору модели. Любой суффикс `[1m]` удаляется как из записи списка разрешений, так и из запрашиваемой модели перед сопоставлением, поэтому запись `claude-opus-4-8` разрешает как стандартные, так и строки Opus с контекстом 1M. Префиксы, специфичные для поставщика, такие как `us.anthropic.`, не удаляются: укажите ту же форму в `availableModels`, которую показывает средство выбора, или отобразите ее через [`modelOverrides`](#override-model-ids-per-version).

386</Note>507</Note>

387 508 

388<h3 id="customize-pinned-model-display-and-capabilities">509<h3 id="customize-pinned-model-display-and-capabilities">


399| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Отображаемое описание для закрепленной модели Opus в средстве выбора `/model`. По умолчанию используется `Custom Opus model`, если не установлено |520| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Отображаемое описание для закрепленной модели Opus в средстве выбора `/model`. По умолчанию используется `Custom Opus model`, если не установлено |

400| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список возможностей, которые поддерживает закрепленная модель Opus |521| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список возможностей, которые поддерживает закрепленная модель Opus |

401 522 

402Те же суффиксы `_NAME`, `_DESCRIPTION` и `_SUPPORTED_CAPABILITIES` доступны для `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` и `ANTHROPIC_CUSTOM_MODEL_OPTION`.523Те же суффиксы `_NAME`, `_DESCRIPTION` и `_SUPPORTED_CAPABILITIES` доступны для `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL`, `ANTHROPIC_DEFAULT_FABLE_MODEL` и `ANTHROPIC_CUSTOM_MODEL_OPTION`.

403 524 

404Claude Code включает функции, такие как [уровни усилий](#adjust-effort-level) и [расширенное мышление](#extended-thinking), путем сопоставления идентификатора модели с известными шаблонами. Идентификаторы, специфичные для поставщика, такие как ARN Bedrock или пользовательские имена развертывания, часто не соответствуют этим шаблонам, оставляя поддерживаемые функции отключенными. Установите `_SUPPORTED_CAPABILITIES`, чтобы сообщить Claude Code, какие функции фактически поддерживает модель:525Claude Code включает функции, такие как [уровни усилий](#adjust-effort-level) и [расширенное мышление](#extended-thinking), путем сопоставления идентификатора модели с известными шаблонами. Идентификаторы, специфичные для поставщика, такие как ARN Bedrock или пользовательские имена развертывания, часто не соответствуют этим шаблонам, оставляя поддерживаемые функции отключенными. Установите `_SUPPORTED_CAPABILITIES`, чтобы сообщить Claude Code, какие функции фактически поддерживает модель:

405 526 


463| `DISABLE_PROMPT_CACHING_HAIKU` | Установите на `1` для отключения кэширования подсказок только для моделей Haiku |584| `DISABLE_PROMPT_CACHING_HAIKU` | Установите на `1` для отключения кэширования подсказок только для моделей Haiku |

464| `DISABLE_PROMPT_CACHING_SONNET` | Установите на `1` для отключения кэширования подсказок только для моделей Sonnet |585| `DISABLE_PROMPT_CACHING_SONNET` | Установите на `1` для отключения кэширования подсказок только для моделей Sonnet |

465| `DISABLE_PROMPT_CACHING_OPUS` | Установите на `1` для отключения кэширования подсказок только для моделей Opus |586| `DISABLE_PROMPT_CACHING_OPUS` | Установите на `1` для отключения кэширования подсказок только для моделей Opus |

587| `DISABLE_PROMPT_CACHING_FABLE` | Установите на `1` для отключения кэширования подсказок только для моделей Fable |

466 588 

467Чтобы изменить TTL кэша или узнать, что вызывает промах кэша, см. [Как Claude Code использует кэширование подсказок](/ru/prompt-caching).589Чтобы изменить TTL кэша или узнать, что вызывает промах кэша, см. [Как Claude Code использует кэширование подсказок](/ru/prompt-caching).

Details

221**`claude_code.tool`**221**`claude_code.tool`**

222 222 

223| Атрибут | Описание | Управляется |223| Атрибут | Описание | Управляется |

224| ----------------- | ------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |224| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |

225| `tool_name` | Имя инструмента | |225| `tool_name` | Имя инструмента | |

226| `duration_ms` | Длительность в реальном времени, включая ожидание разрешения и выполнение | |226| `duration_ms` | Длительность в реальном времени, включая ожидание разрешения и выполнение | |

227| `result_tokens` | Приблизительный размер токена результата инструмента | |227| `result_tokens` | Приблизительный размер токена результата инструмента | |

228| `agent_id` | Идентификатор подагента или товарища, который запустил инструмент. Отсутствует в основном сеансе | |228| `agent_id` | Идентификатор подагента или товарища, который запустил инструмент. Отсутствует в основном сеансе | |

229| `parent_agent_id` | Идентификатор агента, который породил этот. Отсутствует для основного сеанса и для агентов, порожденных непосредственно из него | |229| `parent_agent_id` | Идентификатор агента, который породил этот. Отсутствует для основного сеанса и для агентов, порожденных непосредственно из него | |

230| `tool_use_id` | ID блока `tool_use` модели для этого вызова. Совпадает с `tool_use_id` на событиях [tool\_result](#tool-result-event) и [tool\_decision](#tool-decision-event) и в полезных нагрузках hook, поэтому вы можете присоединить span к этим записям | |

231| `gen_ai.tool.call.id` | То же значение, что и `tool_use_id`. Семантическое соглашение OpenTelemetry GenAI | |

230| `file_path` | Целевой путь файла для инструментов Read, Edit и Write | `OTEL_LOG_TOOL_DETAILS` |232| `file_path` | Целевой путь файла для инструментов Read, Edit и Write | `OTEL_LOG_TOOL_DETAILS` |

231| `full_command` | Строка команды для инструмента Bash | `OTEL_LOG_TOOL_DETAILS` |233| `full_command` | Строка команды для инструмента Bash | `OTEL_LOG_TOOL_DETAILS` |

232| `skill_name` | Имя навыка для инструмента Skill | `OTEL_LOG_TOOL_DETAILS` |234| `skill_name` | Имя навыка для инструмента Skill | `OTEL_LOG_TOOL_DETAILS` |


245**`claude_code.tool.execution`**247**`claude_code.tool.execution`**

246 248 

247| Атрибут | Описание | Управляется |249| Атрибут | Описание | Управляется |

248| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |250| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |

249| `duration_ms` | Время, потраченное на запуск тела инструмента | |251| `duration_ms` | Время, потраченное на запуск тела инструмента | |

252| `tool_use_id` | То же значение, что и на родительском span `claude_code.tool` | |

253| `gen_ai.tool.call.id` | То же значение, что и `tool_use_id`. Семантическое соглашение OpenTelemetry GenAI | |

250| `success` | `true` или `false` | |254| `success` | `true` или `false` | |

251| `error` | Строка категории ошибки при сбое выполнения, такая как `Error:ENOENT` или `ShellError`. Содержит полное сообщение об ошибке вместо этого, когда gate установлен | `OTEL_LOG_TOOL_DETAILS` |255| `error` | Строка категории ошибки при сбое выполнения, такая как `Error:ENOENT` или `ShellError`. Содержит полное сообщение об ошибке вместо этого, когда gate установлен | `OTEL_LOG_TOOL_DETAILS` |

252 256 


423Все метрики и события имеют эти стандартные атрибуты:427Все метрики и события имеют эти стандартные атрибуты:

424 428 

425| Атрибут | Описание | Управляется |429| Атрибут | Описание | Управляется |

426| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |430| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- |

427| `session.id` | Уникальный идентификатор сеанса | `OTEL_METRICS_INCLUDE_SESSION_ID` (по умолчанию: true) |431| `session.id` | Уникальный идентификатор сеанса | `OTEL_METRICS_INCLUDE_SESSION_ID` (по умолчанию: true) |

428| `app.version` | Текущая версия Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (по умолчанию: false) |432| `app.version` | Текущая версия Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (по умолчанию: false) |

429| `app.entrypoint` | Как был запущен сеанс, такой как `cli`, `sdk-cli`, `sdk-ts`, `sdk-py` или `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (по умолчанию: false) |433| `app.entrypoint` | Как был запущен сеанс, такой как `cli`, `sdk-cli`, `sdk-ts`, `sdk-py` или `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (по умолчанию: false) |

430| `organization.id` | UUID организации (при аутентификации) | Всегда включается, когда доступно |434| `organization.id` | UUID организации (при аутентификации) | Всегда включается, когда доступно |

431| `user.account_uuid` | UUID учетной записи (при аутентификации) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |435| `user.account_uuid` | UUID учетной записи (при аутентификации) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |

432| `user.account_id` | ID учетной записи в формате с тегами, соответствующий API администратора Anthropic (при аутентификации), такой как `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |436| `user.account_id` | ID учетной записи в формате с тегами, соответствующий API администратора Anthropic (при аутентификации), такой как `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |

433| `user.id` | Анонимный идентификатор устройства/установки, генерируемый для каждой установки Claude Code | Всегда включается |437| `user.id` | Случайный анонимный идентификатор, генерируемый при первом запуске и сохраняемый в `~/.claude.json`. Он не содержит личной информации и не является производным от вашей учетной записи Claude. Удаление файла создает новое несвязанное значение при следующем запуске. | Всегда включается |

434| `user.email` | Адрес электронной почты пользователя (при аутентификации через OAuth) | Всегда включается, когда доступно |438| `user.email` | Адрес электронной почты пользователя (при аутентификации через OAuth) | Всегда включается, когда доступно |

435| `terminal.type` | Тип терминала, такой как `iTerm.app`, `vscode`, `cursor` или `tmux` | Всегда включается при обнаружении |439| `terminal.type` | Тип терминала, такой как `iTerm.app`, `vscode`, `cursor` или `tmux` | Всегда включается при обнаружении |

436| Ключи из `OTEL_RESOURCE_ATTRIBUTES` | Пользовательские атрибуты, которые вы установили, такие как `department` или `team.id`. См. [Поддержка многокомандной организации](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (по умолчанию: true) |440| Ключи из `OTEL_RESOURCE_ATTRIBUTES` | Пользовательские атрибуты, которые вы установили, такие как `department` или `team.id`. См. [Поддержка многокомандной организации](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (по умолчанию: true) |


484 488 

485* Все [стандартные атрибуты](#standard-attributes)489* Все [стандартные атрибуты](#standard-attributes)

486* `type`: (`"added"`, `"removed"`)490* `type`: (`"added"`, `"removed"`)

491* `model`: Идентификатор модели для модели, которая внесла изменение (например, "claude-sonnet-4-6"). Требует Claude Code v2.1.172 или позже

487 492 

488<h4 id="pull-request-counter">493<h4 id="pull-request-counter">

489 Счетчик pull request494 Счетчик pull request


692* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу. Отсутствует, когда модель не поддерживает усилия.697* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу. Отсутствует, когда модель не поддерживает усилия.

693* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. Определения и поведение редактирования см. в разделе [Счетчик затрат](#cost-counter).698* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. Определения и поведение редактирования см. в разделе [Счетчик затрат](#cost-counter).

694 699 

700<h4 id="api-refusal-event">

701 Событие отказа API

702</h4>

703 

704Логируется, когда запрос API возвращает `stop_reason: "refusal"`. Отказы поступают в успешном потоке ответов, а не как ошибка HTTP, поэтому событие `api_error` не срабатывает для них. Это событие позволяет отслеживать частоту отказов.

705 

706**Имя события**: `claude_code.api_refusal`

707 

708**Атрибуты**:

709 

710* Все [стандартные атрибуты](#standard-attributes)

711* `event.name`: `"api_refusal"`

712* `event.timestamp`: Временная метка ISO 8601

713* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе

714* `model`: Идентификатор модели из запроса

715* `request_id`: ID запроса Anthropic API из заголовка ответа `request-id`, такой как `"req_011..."`. Присутствует только, когда API возвращает его.

716 

695<h4 id="api-request-body-event">717<h4 id="api-request-body-event">

696 Событие тела запроса API718 Событие тела запроса API

697</h4>719</h4>


753* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.775* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.

754* `decision`: Либо `"accept"`, либо `"reject"`776* `decision`: Либо `"accept"`, либо `"reject"`

755* `source`: Источник решения:777* `source`: Источник решения:

756 * `"config"`: Решено автоматически без запроса, на основе параметров проекта, корпоративной управляемой политики, флагов `--allowedTools` или `--disallowedTools`, активного режима разрешений или потому что инструмент по своей природе безопасен. Событие не указывает, какой из этих источников совпал.778 * `"config"`: Решено автоматически без запроса, на основе параметров проекта, правил разрешения или запрета в личных параметрах пользователя, корпоративной управляемой политики, флагов `--allowedTools` или `--disallowedTools`, активного режима разрешений, разрешения в области сеанса из более ранней подсказки в том же интерактивном сеансе CLI, или потому что инструмент по своей природе безопасен. Событие не указывает, какой из этих источников совпал.

757 * `"hook"`: Hook `PreToolUse` или `PermissionRequest` вернул решение.779 * `"hook"`: Hook `PreToolUse` или `PermissionRequest` вернул решение.

758 * `"user_permanent"`: Выдается, когда пользователь выбрал "Да, и больше не спрашивать для ..." при запросе разрешения, что сохраняет правило разрешения в его личных параметрах. В интерактивном CLI это выдается только для самого этого выбора; более поздние вызовы, которые соответствуют сохраненному правилу, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` как начальный выбор, так и более поздние совпадения правил выдают `"user_permanent"`. Рассматривается как принятие.780 * `"user_permanent"`: Выдается, когда пользователь выбрал "Да, и больше не спрашивать для ..." при запросе разрешения, что сохраняет правило разрешения в его личных параметрах. В интерактивном CLI это выдается только для самого этого выбора; более поздние вызовы, которые соответствуют сохраненному правилу, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` как начальный выбор, так и более поздние совпадения правил выдают `"user_permanent"`. Рассматривается как принятие.

759 * `"user_temporary"`: Выдается, когда пользователь выбрал "Да" при запросе разрешения для одноразового одобрения, или выбрал один из вариантов "... во время этого сеанса" на запросе редактирования или чтения файла. В интерактивном CLI это выдается только для самого выбора; более поздние вызовы, разрешенные этим разрешением в области сеанса, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` как выбор, так и более поздние совпадения выдают `"user_temporary"`. Рассматривается как принятие.781 * `"user_temporary"`: Выдается, когда пользователь выбрал "Да" при запросе разрешения для одноразового одобрения, или выбрал один из вариантов "... во время этого сеанса" на запросе редактирования или чтения файла. В интерактивном CLI это выдается только для самого выбора; более поздние вызовы, разрешенные этим разрешением в области сеанса, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` как выбор, так и более поздние совпадения выдают `"user_temporary"`. Рассматривается как принятие.

760 * `"user_abort"`: Выдается, когда пользователь отклонил запрос разрешения без ответа. Рассматривается как отклонение.782 * `"user_abort"`: Выдается, когда пользователь отклонил запрос разрешения без ответа. Рассматривается как отклонение.

761 * `"user_reject"`: Выдается, когда пользователь выбрал "Нет" при запросе, или вызов соответствовал правилу отказа в их личных параметрах. Рассматривается как отклонение.783 * `"user_reject"`: Выдается, когда пользователь выбрал "Нет" при запросе. В интерактивном CLI это выдается только для самого этого выбора; вызовы, которые соответствуют правилу отказа в личных параметрах пользователя, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` вызовы, которые соответствуют правилу отказа в личных параметрах, выдают `"user_reject"`. Рассматривается как отклонение.

762* `tool_parameters` (когда `OTEL_LOG_TOOL_DETAILS=1`): JSON строка, содержащая параметры, специфичные для инструмента. Та же форма, что и [Событие результата инструмента](#tool-result-event), минус поля после выполнения, такие как `git_commit_id`. Значения могут отличаться от `tool_result` для принятого вызова, если решение о разрешении переписывает входные данные инструмента через `updatedInput`. Используйте этот атрибут, чтобы увидеть, какая команда была отклонена, когда `decision` это `"reject"`.784* `tool_parameters` (когда `OTEL_LOG_TOOL_DETAILS=1`): JSON строка, содержащая параметры, специфичные для инструмента. Та же форма, что и [Событие результата инструмента](#tool-result-event), минус поля после выполнения, такие как `git_commit_id`. Значения могут отличаться от `tool_result` для принятого вызова, если решение о разрешении переписывает входные данные инструмента через `updatedInput`. Используйте этот атрибут, чтобы увидеть, какая команда была отклонена, когда `decision` это `"reject"`.

763 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`785 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`

764 * Для инструмента WorkspaceBash: включает `bash_command`, `full_command`, `timeout`786 * Для инструмента WorkspaceBash: включает `bash_command`, `full_command`, `timeout`


823* `server_scope`: Область, в которой настроен сервер, такая как `"user"`, `"project"` или `"local"`845* `server_scope`: Область, в которой настроен сервер, такая как `"user"`, `"project"` или `"local"`

824* `duration_ms`: Длительность попытки подключения в миллисекундах846* `duration_ms`: Длительность попытки подключения в миллисекундах

825* `error_code`: Код ошибки при сбое подключения847* `error_code`: Код ошибки при сбое подключения

848* `is_plugin`: `true` когда сервер предоставляется плагином, `false` в противном случае

849* `plugin_id_hash` (когда `is_plugin` это `true`): Стабильный хеш имени плагина и маркетплейса для группировки событий по плагину без раскрытия имени

850* `plugin.name` (когда `is_plugin` это `true`): Имя плагина, который предоставляет сервер. Для плагинов третьих сторон это буквальная строка `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`; это защищает имена плагинов третьих сторон от появления в логах по умолчанию. Плагины из официальных источников Anthropic всегда идентифицируются по имени. Атрибуты `plugin_id_hash` и `plugin.name` поступают на ваш собственный бэкенд мониторинга и не отправляются в Anthropic

826* `server_name` (когда `OTEL_LOG_TOOL_DETAILS=1`): Настроенное имя сервера851* `server_name` (когда `OTEL_LOG_TOOL_DETAILS=1`): Настроенное имя сервера

827* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке при сбое подключения852* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке при сбое подключения

828 853 


885* `plugin_id_hash`: детерминированный хеш имени плагина и маркетплейса, отправляемый только на ваш настроенный экспортер. Позволяет вам подсчитать, сколько различных плагинов третьих сторон загружено в вашем парке, без записи их имен910* `plugin_id_hash`: детерминированный хеш имени плагина и маркетплейса, отправляемый только на ваш настроенный экспортер. Позволяет вам подсчитать, сколько различных плагинов третьих сторон загружено в вашем парке, без записи их имен

886* `has_hooks`: предоставляет ли плагин hooks911* `has_hooks`: предоставляет ли плагин hooks

887* `has_mcp`: предоставляет ли плагин MCP серверы912* `has_mcp`: предоставляет ли плагин MCP серверы

913* `host_owned_mcp`: `true` когда хост SDK управляет подключениями MCP этого плагина и Claude Code пропустил чтение конфигурации MCP сервера плагина, `false` в противном случае. Требует Claude Code v2.1.172 или позже

888* `skill_path_count`: количество каталогов навыков, которые объявляет плагин914* `skill_path_count`: количество каталогов навыков, которые объявляет плагин

889* `command_path_count`: количество каталогов команд, которые объявляет плагин915* `command_path_count`: количество каталогов команд, которые объявляет плагин

890* `agent_path_count`: количество каталогов агентов, которые объявляет плагин916* `agent_path_count`: количество каталогов агентов, которые объявляет плагин

917* `safe_mode`: `"true"` когда сеанс был запущен с [`--safe-mode`](/ru/cli-reference), `"false"` в противном случае. В безопасном режиме это событие сообщает только настроенный инвентарь; команды, навыки, hooks и MCP серверы плагина не загружаются. Требует Claude Code v2.1.169 или позже

891 918 

892<h4 id="skill-activated-event">919<h4 id="skill-activated-event">

893 Событие активации навыка920 Событие активации навыка


906* `skill.name`: Имя навыка. Для определяемых пользователем и сторонних плагин навыков значение является заполнителем `"custom_skill"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`933* `skill.name`: Имя навыка. Для определяемых пользователем и сторонних плагин навыков значение является заполнителем `"custom_skill"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`

907* `invocation_trigger`: Как был вызван навык (`"user-slash"`, `"claude-proactive"` или `"nested-skill"`)934* `invocation_trigger`: Как был вызван навык (`"user-slash"`, `"claude-proactive"` или `"nested-skill"`)

908* `skill.source`: Откуда был загружен навык (например, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)935* `skill.source`: Откуда был загружен навык (например, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)

936* `skill.kind`: `"workflow"` когда навык является навыком workflow. Отсутствует в противном случае

909* `plugin.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Имя владельца плагина, когда навык предоставляется плагином937* `plugin.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Имя владельца плагина, когда навык предоставляется плагином

910* `marketplace.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Маркетплейс владельца плагина, когда навык предоставляется плагином938* `marketplace.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Маркетплейс владельца плагина, когда навык предоставляется плагином

911 939 


964* `hook_event`: тип события hook, такой как `"PreToolUse"` или `"PostToolUse"`992* `hook_event`: тип события hook, такой как `"PreToolUse"` или `"PostToolUse"`

965* `hook_type`: тип реализации hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` или `"agent"`993* `hook_type`: тип реализации hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` или `"agent"`

966* `hook_source`: где определен hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` или `"pluginHook"`994* `hook_source`: где определен hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` или `"pluginHook"`

995* `safe_mode`: `"true"` когда сеанс был запущен с [`--safe-mode`](/ru/cli-reference), `"false"` в противном случае. Требует Claude Code v2.1.169 или позже

967* `hook_matcher` (когда `OTEL_LOG_TOOL_DETAILS=1`): строка matcher из конфигурации hook, когда она установлена996* `hook_matcher` (когда `OTEL_LOG_TOOL_DETAILS=1`): строка matcher из конфигурации hook, когда она установлена

968* `plugin.name` (когда `hook_source` это `"pluginHook"`): имя участвующего плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`997* `plugin.name` (когда `hook_source` это `"pluginHook"`): имя участвующего плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`

969* `plugin_id_hash` (когда `hook_source` это `"pluginHook"`): детерминированный хеш имени плагина и маркетплейса, отправляемый только на ваш настроенный экспортер. Позволяет вам подсчитать различные участвующие плагины без записи их имен998* `plugin_id_hash` (когда `hook_source` это `"pluginHook"`): детерминированный хеш имени плагина и маркетплейса, отправляемый только на ваш настроенный экспортер. Позволяет вам подсчитать различные участвующие плагины без записи их имен


987* `num_hooks`: Количество соответствующих команд hook1016* `num_hooks`: Количество соответствующих команд hook

988* `managed_only`: `"true"` когда разрешены только управляемые политики hooks1017* `managed_only`: `"true"` когда разрешены только управляемые политики hooks

989* `hook_source`: `"policySettings"` или `"merged"`1018* `hook_source`: `"policySettings"` или `"merged"`

1019* `safe_mode`: `"true"` когда сеанс был запущен с [`--safe-mode`](/ru/cli-reference), `"false"` в противном случае. Требует Claude Code v2.1.169 или позже

990* `hook_definitions`: JSON-сериализованная конфигурация hook. Включается только, когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`1020* `hook_definitions`: JSON-сериализованная конфигурация hook. Включается только, когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`

991 1021 

992<h4 id="hook-execution-complete-event">1022<h4 id="hook-execution-complete-event">


1013* `total_duration_ms`: Длительность в реальном времени всех соответствующих hooks1043* `total_duration_ms`: Длительность в реальном времени всех соответствующих hooks

1014* `managed_only`: `"true"` когда разрешены только управляемые политики hooks1044* `managed_only`: `"true"` когда разрешены только управляемые политики hooks

1015* `hook_source`: `"policySettings"` или `"merged"`1045* `hook_source`: `"policySettings"` или `"merged"`

1046* `safe_mode`: `"true"` когда сеанс был запущен с [`--safe-mode`](/ru/cli-reference), `"false"` в противном случае. Требует Claude Code v2.1.169 или позже

1016* `hook_definitions`: JSON-сериализованная конфигурация hook. Включается только, когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`1047* `hook_definitions`: JSON-сериализованная конфигурация hook. Включается только, когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`

1017 1048 

1018<h4 id="hook-plugin-metrics-event">1049<h4 id="hook-plugin-metrics-event">


1089| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |1120| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |

1090| `claude_code.token.usage` | Разбить по `type` (input/output), пользователю, команде, модели, `skill.name`, `plugin.name` или `agent.name` |1121| `claude_code.token.usage` | Разбить по `type` (input/output), пользователю, команде, модели, `skill.name`, `plugin.name` или `agent.name` |

1091| `claude_code.session.count` | Отслеживать принятие и вовлеченность с течением времени |1122| `claude_code.session.count` | Отслеживать принятие и вовлеченность с течением времени |

1092| `claude_code.lines_of_code.count` | Измерить производительность, отслеживая добавления/удаления кода |1123| `claude_code.lines_of_code.count` | Измерить производительность, отслеживая добавления и удаления кода, разбитые по моделям |

1093| `claude_code.commit.count` & `claude_code.pull_request.count` | Понять влияние на рабочие процессы разработки |1124| `claude_code.commit.count` & `claude_code.pull_request.count` | Понять влияние на рабочие процессы разработки |

1094 1125 

1095<h3 id="cost-monitoring">1126<h3 id="cost-monitoring">


1116* Необычное потребление токенов1147* Необычное потребление токенов

1117* Высокий объем сеансов от конкретных пользователей1148* Высокий объем сеансов от конкретных пользователей

1118 1149 

1119Все метрики можно сегментировать по `user.account_uuid`, `user.account_id`, `organization.id`, `session.id`, `model` и `app.version`.1150Все метрики можно сегментировать по [стандартным атрибутам](#standard-attributes). Атрибут `model` доступен на `claude_code.token.usage`, `claude_code.cost.usage` и {/* min-version: 2.1.172 */}начиная с версии 2.1.172, `claude_code.lines_of_code.count`. Разбивки по моделям для коммитов можно только приблизительно оценить, объединив данные с метриками токенов или затрат по `session.id`, поскольку один сеанс может охватывать несколько моделей.

1120 1151 

1121<h3 id="detect-retry-exhaustion">1152<h3 id="detect-retry-exhaustion">

1122 Обнаружение исчерпания повторных попыток1153 Обнаружение исчерпания повторных попыток


1179 1210 

1180* `tool_result`: сохраняет `tool_name` и `mcp_server_scope`, опускает `mcp_server_name`, `mcp_tool_name` и аргументы1211* `tool_result`: сохраняет `tool_name` и `mcp_server_scope`, опускает `mcp_server_name`, `mcp_tool_name` и аргументы

1181* `tool_decision`: сохраняет `tool_name`, опускает `tool_parameters`1212* `tool_decision`: сохраняет `tool_name`, опускает `tool_parameters`

1182* `mcp_server_connection`: опускает `server_name` и сообщение об ошибке1213* `mcp_server_connection`: опускает `server_name` и сообщение об ошибке, но сохраняет `is_plugin`, `plugin_id_hash` и `plugin.name`, с именами плагинов, не относящихся к Anthropic, отредактированными на буквальное значение `"third-party"`, поэтому серверы, предоставляемые плагинами, остаются различимыми без подробного логирования

1183 1214 

1184<h3 id="map-security-questions-to-events">1215<h3 id="map-security-questions-to-events">

1185 Сопоставление вопросов безопасности с событиями1216 Сопоставление вопросов безопасности с событиями


1193| Эскалация режима разрешений | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1224| Эскалация режима разрешений | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1194| Hook политики заблокировал действие | `hook_execution_complete` | `hook_event`, `num_blocking` |1225| Hook политики заблокировал действие | `hook_execution_complete` | `hook_event`, `num_blocking` |

1195| Вход, выход и сбой аутентификации | `auth` | `action`, `success`, `error_category` |1226| Вход, выход и сбой аутентификации | `auth` | `action`, `success`, `error_category` |

1196| Подключение MCP сервера или сбой | `mcp_server_connection` | `status`, `server_name`, `error_code` |1227| Подключение MCP сервера или сбой | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |

1197| Установленный плагин и его источник | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |1228| Установленный плагин и его источник | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |

1198| Запущенные команды и затронутые файлы | `tool_result` (выполнено) или `tool_decision` (отклонено) с `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`; `tool_input` (только `tool_result`) |1229| Запущенные команды и затронутые файлы | `tool_result` (выполнено) или `tool_decision` (отклонено) с `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`; `tool_input` (только `tool_result`) |

1199 1230 


1230 1261 

1231* **Базы данных временных рядов (например, Prometheus)**: Расчеты скорости, агрегированные метрики1262* **Базы данных временных рядов (например, Prometheus)**: Расчеты скорости, агрегированные метрики

1232* **Колончатые хранилища (например, ClickHouse)**: Сложные запросы, анализ уникальных пользователей1263* **Колончатые хранилища (например, ClickHouse)**: Сложные запросы, анализ уникальных пользователей

1233* **Полнофункциональные платформы наблюдаемости (например, Honeycomb, Datadog)**: Продвинутые запросы, визуализация, оповещения1264* **Полнофункциональные платформы наблюдаемости (например, Honeycomb, Datadog, Grafana Cloud)**: Продвинутые запросы, визуализация, оповещения

1234 1265 

1235<h3 id="for-events/logs">1266<h3 id="for-events/logs">

1236 Для событий/логов1267 Для событий/логов


1238 1269 

1239* **Системы агрегации логов (например, Elasticsearch, Loki)**: Полнотекстовый поиск, анализ логов1270* **Системы агрегации логов (например, Elasticsearch, Loki)**: Полнотекстовый поиск, анализ логов

1240* **Колончатые хранилища (например, ClickHouse)**: Анализ структурированных событий1271* **Колончатые хранилища (например, ClickHouse)**: Анализ структурированных событий

1241* **Полнофункциональные платформы наблюдаемости (например, Honeycomb, Datadog)**: Корреляция между метриками и событиями1272* **Полнофункциональные платформы наблюдаемости (например, Honeycomb, Datadog, Grafana Cloud)**: Корреляция между метриками и событиями

1242 1273 

1243<h3 id="for-traces">1274<h3 id="for-traces">

1244 Для трассировок1275 Для трассировок


1247Выберите бэкенд, поддерживающий хранилище распределенных трассировок и корреляцию span:1278Выберите бэкенд, поддерживающий хранилище распределенных трассировок и корреляцию span:

1248 1279 

1249* **Системы распределенной трассировки (например, Jaeger, Zipkin, Grafana Tempo)**: Визуализация span, водопады запросов, анализ задержки1280* **Системы распределенной трассировки (например, Jaeger, Zipkin, Grafana Tempo)**: Визуализация span, водопады запросов, анализ задержки

1250* **Полнофункциональные платформы наблюдаемости (например, Honeycomb, Datadog)**: Поиск трассировок и корреляция с метриками и логами1281* **Полнофункциональные платформы наблюдаемости (например, Honeycomb, Datadog, Grafana Cloud)**: Поиск трассировок и корреляция с метриками и логами

1251 1282 

1252Для организаций, требующих метрик Daily/Weekly/Monthly Active User (DAU/WAU/MAU), рассмотрите бэкенды, поддерживающие эффективные запросы уникальных значений.1283Для организаций, требующих метрик Daily/Weekly/Monthly Active User (DAU/WAU/MAU), рассмотрите бэкенды, поддерживающие эффективные запросы уникальных значений.

1253 1284 

Details

57 * Пользователь: `~/.claude/output-styles`57 * Пользователь: `~/.claude/output-styles`

58 * Проект: `.claude/output-styles`58 * Проект: `.claude/output-styles`

59 * Управляемая политика: `.claude/output-styles` внутри [управляемого каталога настроек](/ru/settings#settings-files)59 * Управляемая политика: `.claude/output-styles` внутри [управляемого каталога настроек](/ru/settings#settings-files)

60 

61 Output styles проекта загружаются из каждого `.claude/output-styles/` между рабочей директорией и корнем репозитория. {/* min-version: 2.1.178 */}Начиная с версии 2.1.178, когда несколько из этих вложенных директорий определяют стиль с одинаковым именем, Claude Code использует тот, который находится ближе всего к рабочей директории.

60 </Step>62 </Step>

61 63 

62 <Step title="Добавьте frontmatter и инструкции">64 <Step title="Добавьте frontmatter и инструкции">


107 109 

108* Все output styles имеют свои собственные пользовательские инструкции, добавленные в конец системного prompt.110* Все output styles имеют свои собственные пользовательские инструкции, добавленные в конец системного prompt.

109* Все output styles вызывают напоминания для Claude придерживаться инструкций output style во время разговора.111* Все output styles вызывают напоминания для Claude придерживаться инструкций output style во время разговора.

110* Пользовательские output styles исключают встроенные инструкции Claude Code по разработке программного обеспечения, такие как как определять область изменений, писать комментарии и проверять работу, если только `keep-coding-instructions` не установлен в `true`.112* Пользовательские output styles исключают встроенные инструкции Claude Code по разработке программного обеспечения, такие как определение области изменений, написание комментариев и проверка работы, если только `keep-coding-instructions` не установлен в `true`.

111 113 

112Использование токенов зависит от стиля. Добавление инструкций в системный prompt увеличивает входные токены, хотя prompt caching снижает эту стоимость после первого запроса в сеансе. Встроенные стили Explanatory и Learning по замыслу производят более длинные ответы, чем Default, что увеличивает выходные токены. Для пользовательских стилей использование выходных токенов зависит от того, что ваши инструкции говорят Claude производить.114Использование токенов зависит от стиля. Добавление инструкций в системный prompt увеличивает входные токены, хотя prompt caching снижает эту стоимость после первого запроса в сеансе. Встроенные стили Explanatory и Learning по замыслу производят более длинные ответы, чем Default, что увеличивает выходные токены. Для пользовательских стилей использование выходных токенов зависит от того, что ваши инструкции говорят Claude производить.

113 115 

overview.md +2 −2

Details

124 <Tab title="JetBrains">124 <Tab title="JetBrains">

125 Плагин для IntelliJ IDEA, PyCharm, WebStorm и других IDE JetBrains с интерактивным просмотром различий и совместным использованием контекста выделения.125 Плагин для IntelliJ IDEA, PyCharm, WebStorm и других IDE JetBrains с интерактивным просмотром различий и совместным использованием контекста выделения.

126 126 

127 Установите [плагин Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) из JetBrains Marketplace и перезагрузите вашу IDE.127 Установите [плагин Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) из JetBrains Marketplace и перезагрузите вашу IDE. Плагин требует Claude Code CLI, установленный отдельно; см. [шаги настройки JetBrains](/ru/jetbrains#installation).

128 128 

129 [Начните работу с JetBrains →](/ru/jetbrains)129 [Начните работу с JetBrains →](/ru/jetbrains)

130 </Tab>130 </Tab>


209 209 

210 * Отойдите от своего стола и продолжайте работать со своего телефона или любого браузера с помощью [Remote Control](/ru/remote-control)210 * Отойдите от своего стола и продолжайте работать со своего телефона или любого браузера с помощью [Remote Control](/ru/remote-control)

211 * Отправьте сообщение [Dispatch](/ru/desktop#sessions-from-dispatch) с задачей со своего телефона и откройте сеанс Desktop, который он создает211 * Отправьте сообщение [Dispatch](/ru/desktop#sessions-from-dispatch) с задачей со своего телефона и откройте сеанс Desktop, который он создает

212 * Запустите долгоживущую задачу в [веб-версии](/ru/claude-code-on-the-web) или [приложении iOS](https://apps.apple.com/app/claude-by-anthropic/id6473753684), затем перенесите ее в свой терминал с помощью `claude --teleport`212 * Запустите долгоживущую задачу в [веб-версии](/ru/claude-code-on-the-web) или [приложении iOS](https://apps.apple.com/app/claude-by-anthropic/id6473753684), затем перенесите ее в свой терминал с помощью `claude --teleport`. Teleport требует подписку claude.ai.

213 * Передайте сеанс терминала в [приложение Desktop](/ru/desktop) с помощью `/desktop` для визуального просмотра различий213 * Передайте сеанс терминала в [приложение Desktop](/ru/desktop) с помощью `/desktop` для визуального просмотра различий

214 * Маршрутизируйте задачи из командного чата: упомяните `@Claude` в [Slack](/ru/slack) с отчетом об ошибке и получите pull request обратно214 * Маршрутизируйте задачи из командного чата: упомяните `@Claude` в [Slack](/ru/slack) с отчетом об ошибке и получите pull request обратно

215 </Accordion>215 </Accordion>

Details

25 25 

26Во всех режимах, кроме `bypassPermissions`, записи в [защищённые пути](#protected-paths) никогда не одобряются автоматически, защищая состояние репозитория и собственную конфигурацию Claude от случайного повреждения.26Во всех режимах, кроме `bypassPermissions`, записи в [защищённые пути](#protected-paths) никогда не одобряются автоматически, защищая состояние репозитория и собственную конфигурацию Claude от случайного повреждения.

27 27 

28Режимы устанавливают базовое поведение. Наложите [правила разрешений](/ru/permissions#manage-permissions) сверху, чтобы предварительно одобрить или заблокировать определённые инструменты в любом режиме, кроме `bypassPermissions`, который полностью пропускает уровень разрешений.28Режимы устанавливают базовое поведение. Наложите [правила разрешений](/ru/permissions#manage-permissions) сверху, чтобы предварительно одобрить или заблокировать определённые инструменты. Правила отказа и явные правила запроса применяются в каждом режиме, включая `bypassPermissions`. Правила разрешения не имеют эффекта в этом режиме, потому что всё остальное уже одобрено.

29 29 

30<h2 id="switch-permission-modes">30<h2 id="switch-permission-modes">

31 Переключение режимов разрешений31 Переключение режимов разрешений


95 <Tab title="Web and mobile">95 <Tab title="Web and mobile">

96 Используйте раскрывающееся меню режима рядом с полем подсказки на [claude.ai/code](https://claude.ai/code) или в мобильном приложении. Запросы разрешений появляются в claude.ai для одобрения. Какие режимы появляются, зависит от того, где выполняется сеанс:96 Используйте раскрывающееся меню режима рядом с полем подсказки на [claude.ai/code](https://claude.ai/code) или в мобильном приложении. Запросы разрешений появляются в claude.ai для одобрения. Какие режимы появляются, зависит от того, где выполняется сеанс:

97 97 

98 * **Облачные сеансы** на [Claude Code в веб-версии](/ru/claude-code-on-the-web): Auto accept edits и Plan mode. Ask permissions, Auto и Bypass permissions недоступны.98 * **Облачные сеансы** на [Claude Code в веб-версии](/ru/claude-code-on-the-web): Accept edits, Plan mode и Auto mode. Accept edits соответствует режиму `default`: облачная среда предварительно одобряет редактирование файлов независимо от режима, поэтому раскрывающееся меню показывает Accept edits вместо Ask permissions. `defaultMode: "acceptEdits"` из настроек по-прежнему соблюдается. Auto mode появляется только когда ваша организация это разрешает и выбранная модель это поддерживает. Bypass permissions недоступен.

99 * **Сеансы [Remote Control](/ru/remote-control)** на вашем локальном компьютере: Ask permissions, Auto accept edits и Plan mode. Auto и Bypass permissions недоступны.99 * **Сеансы [Remote Control](/ru/remote-control)** на вашем локальном компьютере: Ask permissions, Auto accept edits и Plan mode. Auto и Bypass permissions недоступны.

100 100 

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


176 Режим auto требует Claude Code v2.1.83 или позже.176 Режим auto требует Claude Code v2.1.83 или позже.

177</Note>177</Note>

178 178 

179Режим auto позволяет Claude выполнять действия без запросов разрешений. Отдельная модель классификатора проверяет действия перед их выполнением, блокируя всё, что выходит за пределы вашего запроса, нацелено на неизвестную инфраструктуру или кажется вызванным враждебным содержимым, которое Claude прочитал.179Режим auto позволяет Claude выполнять действия без запросов разрешений. Отдельная модель классификатора проверяет действия перед их выполнением, блокируя всё, что выходит за пределы вашего запроса, нацелено на неизвестную инфраструктуру или кажется вызванным враждебным содержимым, которое Claude прочитал. Явные [правила запроса](/ru/permissions#manage-permissions) по-прежнему вызывают запрос.

180 180 

181Режим auto также инструктирует Claude выполнять действия немедленно и минимизировать уточняющие вопросы, хотя Claude всё ещё спрашивает, когда ваш запрос или навык явно на этом полагается. Для более сильного автономного поведения при сохранении запросов разрешений установите вместо этого [Proactive output style](/ru/output-styles).181Режим auto также побуждает Claude продолжать работу без остановки для уточняющих вопросов, хотя Claude всё ещё спрашивает, когда ваш запрос или навык явно на этом полагается. Для более сильного автономного поведения при сохранении запросов разрешений установите вместо этого [Proactive output style](/ru/output-styles).

182 182 

183<Warning>183<Warning>

184 Режим auto — это исследовательский предпросмотр. Он уменьшает запросы, но не гарантирует безопасность. Используйте его для задач, в которых вы доверяете общему направлению, а не как замену проверке чувствительных операций.184 Режим auto — это исследовательский предпросмотр. Он уменьшает запросы, но не гарантирует безопасность. Используйте его для задач, в которых вы доверяете общему направлению, а не как замену проверке чувствительных операций.


193 193 

194Если Claude Code сообщает, что режим auto недоступен, одно из этих требований не выполнено; это не временный сбой. Отдельное сообщение, которое называет модель и говорит, что режим auto "не может определить безопасность" действия, является временным сбоем классификатора; см. [справку по ошибкам](/ru/errors#auto-mode-cannot-determine-the-safety-of-an-action).194Если Claude Code сообщает, что режим auto недоступен, одно из этих требований не выполнено; это не временный сбой. Отдельное сообщение, которое называет модель и говорит, что режим auto "не может определить безопасность" действия, является временным сбоем классификатора; см. [справку по ошибкам](/ru/errors#auto-mode-cannot-determine-the-safety-of-an-action).

195 195 

196Если вы установили `defaultMode: "auto"` в [параметрах](/ru/settings#available-settings) и сеанс начинается в режиме `default` без ошибки, параметр, вероятно, находится в `.claude/settings.json` или `.claude/settings.local.json`. Claude Code игнорирует `auto` из этих файлов, поэтому репозиторий не может предоставить себе режим auto. Переместите его в `~/.claude/settings.json`.196Если вы установили `defaultMode: "auto"` в [параметрах](/ru/settings#available-settings) и сеанс начинается в режиме `default` без ошибки, параметр, вероятно, находится в `.claude/settings.json` или `.claude/settings.local.json`. Claude Code v2.1.142 и позже игнорируют `auto` из этих файлов, поэтому репозиторий не может предоставить себе режим auto. Переместите его в `~/.claude/settings.json`.

197 197 

198<h3 id="enable-auto-mode-on-bedrock-vertex-ai-or-foundry">198<h3 id="enable-auto-mode-on-bedrock-vertex-ai-or-foundry">

199 Включите режим auto на Bedrock, Vertex AI или Foundry199 Включите режим auto на Bedrock, Vertex AI или Foundry

200</h3>200</h3>

201 201 

202На [Amazon Bedrock](/ru/amazon-bedrock), [Google Cloud Vertex AI](/ru/google-vertex-ai) и [Microsoft Foundry](/ru/microsoft-foundry) режим auto не появляется в цикле `Shift+Tab` до тех пор, пока `CLAUDE_CODE_ENABLE_AUTO_MODE` не будет установлен на `1`. На этих поставщиках поддерживаются только Claude Opus 4.7 и Opus 4.8.202На [Amazon Bedrock](/ru/amazon-bedrock), [Google Cloud Vertex AI](/ru/google-vertex-ai) и [Microsoft Foundry](/ru/microsoft-foundry) режим auto не появляется в цикле `Shift+Tab` до тех пор, пока `CLAUDE_CODE_ENABLE_AUTO_MODE` не будет установлен на `1`. Переменная работает в Claude Code v2.1.158 и позже. На этих поставщиках поддерживаются только Claude Opus 4.7 и Opus 4.8.

203 203 

204Чтобы включить его для одного разработчика, добавьте переменную в блок `env` в `~/.claude/settings.json`:204Чтобы включить его для одного разработчика, добавьте переменную в блок `env` в `~/.claude/settings.json`:

205 205 


290 <Accordion title="Как режим auto обрабатывает подагентов">290 <Accordion title="Как режим auto обрабатывает подагентов">

291 Классификатор проверяет работу [подагента](/ru/sub-agents) в трёх точках:291 Классификатор проверяет работу [подагента](/ru/sub-agents) в трёх точках:

292 292 

293 1. Перед запуском подагента описание делегированной задачи оценивается, поэтому опасно выглядящая задача блокируется во время порождения.293 1. Перед запуском подагента описание делегированной задачи оценивается, так что опасно выглядящая задача блокируется во время порождения.

294 2. Пока подагент работает, каждое его действие проходит через классификатор с теми же правилами, что и родительский сеанс, и любой `permissionMode` в frontmatter подагента игнорируется.294 2. Пока подагент работает, каждое его действие проходит через классификатор с теми же правилами, что и родительский сеанс, и любой `permissionMode` в frontmatter подагента игнорируется.

295 3. Когда подагент завершается, классификатор проверяет полную историю его действий; если эта проверка возврата выявляет проблему, предупреждение безопасности добавляется к результатам подагента.295 3. Когда подагент завершается, классификатор проверяет полную историю его действий; если эта проверка возврата выявляет проблему, предупреждение безопасности добавляется к результатам подагента.

296 

297 Шаг 1 требует Claude Code v2.1.178 или позже. Более ранние версии применяли классификатор на шагах 2 и 3, но не оценивали описание задачи перед запуском подагента.

296 </Accordion>298 </Accordion>

297 299 

298 <Accordion title="Стоимость и задержка">300 <Accordion title="Стоимость и задержка">


304 Разрешить только предварительно одобренные инструменты с режимом dontAsk306 Разрешить только предварительно одобренные инструменты с режимом dontAsk

305</h2>307</h2>

306 308 

307Режим `dontAsk` автоматически отклоняет каждый вызов инструмента, который иначе требовал бы запроса. Только действия, соответствующие вашим правилам `permissions.allow` и [командам Bash только для чтения](/ru/permissions#read-only-commands), могут выполняться; явные правила `ask` отклоняются, а не запрашиваются. Это делает режим полностью неинтерактивным для конвейеров CI или ограниченных сред, где вы предварительно определяете ровно то, что Claude может делать.309Режим `dontAsk` автоматически отклоняет каждый вызов инструмента, который иначе требовал бы запроса. Только действия, соответствующие вашим правилам `permissions.allow` и [командам Bash только для чтения](/ru/permissions#read-only-commands), могут выполняться; явные правила [`ask`](/ru/permissions#manage-permissions) отклоняются, а не запрашиваются. Это делает режим полностью неинтерактивным для конвейеров CI или ограниченных сред, где вы предварительно определяете ровно то, что Claude может делать. Облачные сеансы на [Claude Code в веб-версии](/ru/claude-code-on-the-web) игнорируют `defaultMode: "dontAsk"`; см. [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) для получения подробной информации.

308 310 

309Установите его при запуске с флагом:311Установите его при запуске с флагом:

310 312 


316 Пропустить все проверки с режимом bypassPermissions318 Пропустить все проверки с режимом bypassPermissions

317</h2>319</h2>

318 320 

319Режим `bypassPermissions` отключает запросы разрешений и проверки безопасности, чтобы вызовы инструментов выполнялись немедленно. Начиная с версии 2.1.126, это включает записи в [защищённые пути](#protected-paths), на которые более ранние версии по-прежнему выдавали запросы. Удаления, нацеленные на корневой каталог файловой системы или домашний каталог, такие как `rm -rf /` и `rm -rf ~`, по-прежнему выдают запросы в качестве защиты от ошибок модели. Используйте этот режим только в изолированных средах, таких как контейнеры, виртуальные машины или dev containers без доступа в Интернет, где Claude Code не может повредить вашу хост-систему.321Режим `bypassPermissions` отключает запросы разрешений и проверки безопасности, чтобы вызовы инструментов выполнялись немедленно. Начиная с версии 2.1.126, это включает записи в [защищённые пути](#protected-paths), на которые более ранние версии по-прежнему выдавали запросы. Явные [правила ask](/ru/permissions#manage-permissions) по-прежнему принудительно выдают запрос в этом режиме, а удаления, нацеленные на корневой каталог файловой системы или домашний каталог, такие как `rm -rf /` и `rm -rf ~`, по-прежнему выдают запросы в качестве защиты от ошибок модели. Используйте этот режим только в изолированных средах, таких как контейнеры, виртуальные машины или dev containers без доступа в Интернет, где Claude Code не может повредить вашу хост-систему.

320 322 

321Вы не можете войти в `bypassPermissions` из сеанса, который был запущен без одного из включающих флагов; перезапустите с одним, чтобы включить его:323Вы не можете войти в `bypassPermissions` из сеанса, который был запущен без одного из включающих флагов; перезапустите с одним, чтобы включить его:

322 324 


334 336 

335Проверка пропускается автоматически внутри признанной песочницы. Для автономного запуска в контейнере используйте конфигурацию [dev container](/ru/devcontainer), которая запускает Claude Code от непривилегированного пользователя.337Проверка пропускается автоматически внутри признанной песочницы. Для автономного запуска в контейнере используйте конфигурацию [dev container](/ru/devcontainer), которая запускает Claude Code от непривилегированного пользователя.

336 338 

339[Claude Code в веб-версии](/ru/claude-code-on-the-web) не учитывает `defaultMode: "bypassPermissions"` или `"dontAsk"` из ваших файлов параметров, поэтому проверенные в репозитории параметры не могут запустить облачный сеанс в режиме bypass-permissions. Параметр игнорируется молча, и сеанс запускается в режиме, показанном в раскрывающемся списке режимов вместо этого. См. [Переключение режимов разрешений](#switch-permission-modes) для информации о том, какие режимы предлагают облачные сеансы.

340 

337<Warning>341<Warning>

338 `bypassPermissions` не обеспечивает защиту от инъекции подсказок или непредвиденных действий. Для фоновых проверок безопасности без запросов используйте [режим auto](#eliminate-prompts-with-auto-mode) вместо этого. Администраторы могут заблокировать этот режим, установив `permissions.disableBypassPermissionsMode` на `"disable"` в [управляемых параметрах](/ru/permissions#managed-settings).342 `bypassPermissions` не обеспечивает защиту от инъекции подсказок или непредвиденных действий. Для фоновых проверок безопасности с гораздо меньшим количеством запросов используйте [режим auto](#eliminate-prompts-with-auto-mode) вместо этого. Администраторы могут заблокировать этот режим, установив `permissions.disableBypassPermissionsMode` на `"disable"` в [управляемых параметрах](/ru/permissions#managed-settings).

339</Warning>343</Warning>

340 344 

341<h2 id="protected-paths">345<h2 id="protected-paths">


351| `dontAsk` | Отклоняются |355| `dontAsk` | Отклоняются |

352| `bypassPermissions` | Разрешены |356| `bypassPermissions` | Разрешены |

353 357 

358Правила [`permissions.allow`](/ru/permissions#manage-permissions) в файлах параметров не предварительно одобряют записи в защищённые пути. Проверка безопасности выполняется до того, как Claude Code оценивает правила allow из параметров, поэтому запись вроде `Edit(.claude/**)` в `~/.claude/settings.json` или `.claude/settings.json` не изменяет результат для каждого режима в таблице выше. В режимах, которые требуют подтверждения, подсказка для записи `.claude/` предлагает **Да, и разрешить Claude редактировать свои собственные параметры для этого сеанса**, что одобряет последующие записи `.claude/` в этом сеансе без повторного запроса.

359 

354Защищённые каталоги:360Защищённые каталоги:

355 361 

356* `.git`362* `.git`


362* `.devcontainer`368* `.devcontainer`

363* `.yarn`369* `.yarn`

364* `.mvn`370* `.mvn`

365* `.claude`, кроме `.claude/commands`, `.claude/agents`, `.claude/skills` и `.claude/worktrees`, где Claude регулярно создаёт содержимое371* `.claude`, кроме `.claude/worktrees`, где Claude хранит свои собственные git worktrees

366 372 

367Защищённые файлы:373Защищённые файлы:

368 374 

permissions.md +81 −9

Details

30* Правила **Ask** запрашивают подтверждение каждый раз, когда Claude Code пытается использовать указанный инструмент.30* Правила **Ask** запрашивают подтверждение каждый раз, когда Claude Code пытается использовать указанный инструмент.

31* Правила **Deny** предотвращают использование Claude Code указанного инструмента.31* Правила **Deny** предотвращают использование Claude Code указанного инструмента.

32 32 

33Правила оцениваются по порядку: **deny -> ask -> allow**. Первое совпадающее правило побеждает, поэтому правила deny всегда имеют приоритет.33Правила оцениваются по порядку: deny, затем ask, затем allow. Первое совпадающее правило в этом порядке определяет результат, и специфичность правила не изменяет порядок. Широкое правило deny, такое как `Bash(aws *)`, блокирует каждый совпадающий вызов, включая вызовы, которые также совпадают с более узким правилом allow, таким как `Bash(aws s3 ls)`, поэтому правило deny не может содержать исключения в списке разрешений. Тот же приоритет применяется между ask и allow: совпадающее правило ask выдает запрос даже когда более специфичное правило allow также совпадает с тем же вызовом.

34 34 

35Правила Deny ведут себя по-разному в зависимости от того, называют ли они инструмент или определяют область действия шаблона внутри него. Простое имя инструмента, такое как `Bash`, удаляет инструмент из контекста Claude полностью, поэтому Claude его никогда не видит. Правило с областью действия, такое как `Bash(rm *)`, оставляет инструмент доступным и блокирует совпадающие вызовы, когда Claude пытается их выполнить.35Правила Deny ведут себя по-разному в зависимости от того, называют ли они инструмент или определяют область действия шаблона внутри него. Простое имя инструмента, такое как `Bash`, удаляет инструмент из контекста Claude полностью, поэтому Claude его никогда не видит. Правило с областью действия, такое как `Bash(rm *)`, оставляет инструмент доступным и блокирует совпадающие вызовы, когда Claude пытается их выполнить.

36 36 


45Claude Code поддерживает несколько режимов разрешений, которые контролируют, как инструменты одобряются. См. [Permission modes](/ru/permission-modes) для определения того, когда использовать каждый из них. Установите `defaultMode` в ваших [файлах параметров](/ru/settings#settings-files):45Claude Code поддерживает несколько режимов разрешений, которые контролируют, как инструменты одобряются. См. [Permission modes](/ru/permission-modes) для определения того, когда использовать каждый из них. Установите `defaultMode` в ваших [файлах параметров](/ru/settings#settings-files):

46 46 

47| Режим | Описание |47| Режим | Описание |

48| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |48| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

49| `default` | Стандартное поведение: запрашивает разрешение при первом использовании каждого инструмента |49| `default` | Стандартное поведение: запрашивает разрешение при первом использовании каждого инструмента |

50| `acceptEdits` | Автоматически принимает редактирование файлов и общие команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т.д.) для путей в рабочем каталоге или `additionalDirectories` |50| `acceptEdits` | Автоматически принимает редактирование файлов и общие команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т.д.) для путей в рабочем каталоге или `additionalDirectories` |

51| `plan` | Plan Mode: Claude читает файлы и запускает команды оболочки только для чтения для исследования, но не редактирует ваши исходные файлы |51| `plan` | Plan Mode: Claude читает файлы и запускает команды оболочки только для чтения для исследования, но не редактирует ваши исходные файлы |

52| `auto` | Автоматически одобряет вызовы инструментов с проверками безопасности в фоне, которые проверяют, соответствуют ли действия вашему запросу. В настоящее время исследовательский предпросмотр |52| `auto` | Автоматически одобряет вызовы инструментов с проверками безопасности в фоне, которые проверяют, соответствуют ли действия вашему запросу. В настоящее время исследовательский предпросмотр |

53| `dontAsk` | Автоматически отклоняет инструменты, если они не предварительно одобрены через `/permissions` или правила `permissions.allow` |53| `dontAsk` | Автоматически отклоняет инструменты, если они не предварительно одобрены через `/permissions` или правила `permissions.allow` |

54| `bypassPermissions` | Пропускает все запросы разрешений. Удаления корневого каталога и домашнего каталога, такие как `rm -rf /`, по-прежнему запрашивают подтверждение в качестве защиты от ошибок модели |54| `bypassPermissions` | Пропускает запросы разрешений, за исключением тех, которые вынуждены явными правилами `ask`. Удаления корневого каталога и домашнего каталога, такие как `rm -rf /` и `rm -rf ~`, по-прежнему запрашивают подтверждение в качестве защиты от ошибок модели |

55 55 

56<Warning>56<Warning>

57 Режим `bypassPermissions` пропускает все запросы разрешений, включая записи в `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` и `.mvn`. Удаления, затрагивающие корневой каталог файловой системы или домашний каталог, такие как `rm -rf /` и `rm -rf ~`, по-прежнему запрашивают подтверждение в качестве защиты от ошибок модели. Используйте этот режим только в изолированных средах, таких как контейнеры или виртуальные машины, где Claude Code не может причинить вред. Администраторы могут предотвратить этот режим, установив `permissions.disableBypassPermissionsMode` на `"disable"` в [управляемых параметрах](#managed-settings).57 Режим `bypassPermissions` пропускает запросы разрешений, включая записи в `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` и `.mvn`. Явные правила `ask` по-прежнему вынуждают запрос, и удаления, затрагивающие корневой каталог файловой системы или домашний каталог, такие как `rm -rf /` и `rm -rf ~`, по-прежнему запрашивают подтверждение в качестве защиты от ошибок модели. Используйте этот режим только в изолированных средах, таких как контейнеры или виртуальные машины, где Claude Code не может причинить вред. Администраторы могут предотвратить этот режим, установив `permissions.disableBypassPermissionsMode` на `"disable"` в [управляемых параметрах](#managed-settings).

58</Warning>58</Warning>

59 59 

60Чтобы предотвратить использование режима `bypassPermissions` или `auto`, установите `permissions.disableBypassPermissionsMode` или `permissions.disableAutoMode` на `"disable"` в любом [файле параметров](/ru/settings#settings-files). Это наиболее полезно в [управляемых параметрах](#managed-settings), где они не могут быть переопределены.60Чтобы предотвратить использование режима `bypassPermissions` или `auto`, установите `permissions.disableBypassPermissionsMode` или `permissions.disableAutoMode` на `"disable"` в любом [файле параметров](/ru/settings#settings-files). Это наиболее полезно в [управляемых параметрах](#managed-settings), где они не могут быть переопределены.


91| `Read(./.env)` | Совпадает с чтением файла `.env` в текущем каталоге |91| `Read(./.env)` | Совпадает с чтением файла `.env` в текущем каталоге |

92| `WebFetch(domain:example.com)` | Совпадает с запросами выборки на example.com |92| `WebFetch(domain:example.com)` | Совпадает с запросами выборки на example.com |

93 93 

94<h3 id="match-by-input-parameter">

95 Совпадение по входному параметру

96</h3>

97 

98Правила отказа и запроса могут совпадать с параметром верхнего уровня на любом инструменте с помощью `Tool(param:value)`. Правило совпадает, когда Claude вызывает инструмент с этим параметром, установленным на это точное значение. Этот синтаксис предназначен для правил отказа и запроса; правило разрешения для одного значения параметра не установило бы, что вызов безопасен в целом, поэтому правила разрешения продолжают использовать собственный синтаксис спецификатора каждого инструмента. Это работает для любого скалярного параметра, который принимает инструмент:

99 

100| Правило | Совпадает |

101| :----------------------------- | :---------------------------------------------------- |

102| `Agent(model:opus)` | Вызовы Agent, которые запрашивают уровень модели Opus |

103| `Agent(isolation:worktree)` | Вызовы Agent, которые запрашивают git worktree |

104| `Bash(run_in_background:true)` | Вызовы Bash, которые выполняются в фоновом режиме |

105 

106Совпадение параметров следует этим правилам:

107 

108* Имя параметра должно быть прямым полем входа инструмента, таким как `model` на инструменте Agent. Поля, вложенные внутри объекта или массива, не совпадают

109* Каждое правило называет один параметр. Чтобы ограничить как `model`, так и `isolation`, напишите два правила, `Agent(model:opus)` и `Agent(isolation:worktree)`, вместо того чтобы объединять их в одно правило

110* Значение поддерживает `*` как подстановочный символ, который совпадает с любой последовательностью символов, поэтому `Agent(isolation:*)` совпадает с любым явным значением изоляции. Без `*` совпадение точное

111* Параметр, который модель опускает, никогда не совпадает, поэтому `Agent(model:*)` не совпадает с вызовом, который оставляет `model` неустановленным

112* Значение сравнивается с буквальным входом, который отправляет Claude, до любой нормализации. `Agent(model:opus)` совпадает с псевдонимом `opus`, но не с полным ID модели. Запустите с [`--verbose`](/ru/cli-reference), чтобы увидеть точные имена параметров и значения в каждом вызове инструмента

113* Пробелы вокруг двоеточия игнорируются

114 

115Поля, которые инструмент уже совпадает со своими собственными правилами канонизации, не совпадают таким образом: `command` для Bash и PowerShell, `file_path` для Read, Edit и Write, `path` для Grep и Glob, `notebook_path` для NotebookEdit и `url` для WebFetch. Правило, такое как `Bash(command:rm *)`, можно было бы обойти составной командой, поэтому Claude Code игнорирует его и выдает предупреждение при запуске. Используйте `Bash(rm *)`, `Read(./path)` или `WebFetch(domain:host)` вместо этого.

116 

94<h3 id="wildcard-patterns">117<h3 id="wildcard-patterns">

95 Шаблоны подстановочных символов118 Шаблоны подстановочных символов

96</h3>119</h3>


118 141 

119Диалог разрешений записывает форму, разделенную пробелами, когда вы выбираете "Да, не спрашивать снова" для префикса команды. Форма `:*` распознается только в конце шаблона. В шаблоне, таком как `Bash(git:* push)`, двоеточие рассматривается как буквальный символ и не будет совпадать с git командами.142Диалог разрешений записывает форму, разделенную пробелами, когда вы выбираете "Да, не спрашивать снова" для префикса команды. Форма `:*` распознается только в конце шаблона. В шаблоне, таком как `Bash(git:* push)`, двоеточие рассматривается как буквальный символ и не будет совпадать с git командами.

120 143 

144<h3 id="tool-name-wildcards">

145 Подстановочные символы имён инструментов

146</h3>

147 

148Правила отказа и запроса также принимают glob-шаблоны в позиции имени инструмента. Шаблон должен совпадать с полным именем инструмента: `"*"` совпадает с каждым инструментом, и `"mcp__*"` совпадает с каждым MCP инструментом на всех серверах. Инструмент, совпадающий с правилом отказа с простым именем glob, удаляется из контекста Claude, так же как и простое имя инструмента. Эта конфигурация отрицает каждый MCP инструмент:

149 

150```json theme={null}

151{

152 "permissions": {

153 "deny": [

154 "mcp__*"

155 ]

156 }

157}

158```

159 

160Правила разрешения принимают glob-шаблоны имён инструментов только после буквального префикса `mcp__<server>__`. Сегмент сервера должен быть свободен от glob, поэтому правило называет конкретный сервер, который вы настроили. `mcp__puppeteer__*` совпадает с каждым инструментом с сервера `puppeteer`, и `mcp__github__get_*` совпадает с его инструментами `get_`. Неякорированный glob разрешения, такой как `"*"`, `"B*"` или `"mcp__*"`, пропускается с предупреждением и не одобряет ничего автоматически.

161 

162Правило отказа или запроса, имя инструмента которого не совпадает ни с одним известным инструментом, выдает предупреждение при запуске, чтобы поймать опечатки. Имена инструментов, содержащие `_` или `*`, освобождаются от проверки.

163 

164Метка, отображаемая для инструмента в стенограмме и диалоге разрешений, может отличаться от его канонического имени. Например, инструмент с меткой `Stop Task` в стенограмме имеет каноническое имя `TaskStop`. Правила разрешений и [матчеры hook](/ru/hooks) совпадают только с каноническим именем, поэтому правило, написанное как `Stop Task`, не совпадает. Для правил отказа и запроса предупреждение при запуске выше ловит несоответствие. Используйте канонические имена, указанные в [справочнике инструментов](/ru/tools-reference).

165 

121<h2 id="tool-specific-permission-rules">166<h2 id="tool-specific-permission-rules">

122 Правила разрешений для конкретных инструментов167 Правила разрешений для конкретных инструментов

123</h2>168</h2>


252| `Read(//**/.env)` | любой `.env` в любом месте файловой системы | ничего; правило привязано к корню файловой системы |297| `Read(//**/.env)` | любой `.env` в любом месте файловой системы | ничего; правило привязано к корню файловой системы |

253 298 

254<Note>299<Note>

255 В шаблонах gitignore `*` совпадает с файлами в одном каталоге, а `**` совпадает рекурсивно по каталогам. Чтобы разрешить весь доступ к файлам, используйте только имя инструмента без скобок: `Read`, `Edit` или `Write`.300 В шаблонах gitignore `*` совпадает в одном сегменте пути и может появляться в любой позиции в шаблоне, в то время как `**` совпадает по каталогам. Чтобы разрешить весь доступ к файлам, используйте только имя инструмента без скобок: `Read`, `Edit` или `Write`.

256</Note>301</Note>

257 302 

258Когда Claude получает доступ к символической ссылке, правила разрешений проверяют два пути: саму символическую ссылку и файл, на который она указывает. Правила allow и deny обрабатывают эту пару по-разному: правила allow возвращаются к запросу вас, в то время как правила deny блокируют полностью.303Когда Claude получает доступ к символической ссылке, правила разрешений проверяют два пути: саму символическую ссылку и файл, на который она указывает. Правила allow и deny обрабатывают эту пару по-разному: правила allow возвращаются к запросу вас, в то время как правила deny блокируют полностью.


266 WebFetch311 WebFetch

267</h3>312</h3>

268 313 

269* `WebFetch(domain:example.com)` совпадает с запросами выборки на example.com314Правила WebFetch используют префикс `domain:` и совпадают с именем хоста запрашиваемого URL. Сопоставление не чувствительно к регистру, поддерживает подстановочные символы `*` и удаляет конечную точку из правила и имени хоста, поэтому `example.com.` и `example.com` рассматриваются одинаково.

315 

316* `WebFetch(domain:example.com)` совпадает с запросами на `example.com`

317* `WebFetch(domain:*.example.com)` совпадает с любым поддоменом на любой глубине, таким как `api.example.com` или `a.b.example.com`, но не с самим `example.com`

318* `WebFetch(domain:*)` совпадает с каждым доменом и эквивалентен голому правилу `WebFetch`

319 

320В любой позиции, отличной от ведущего `*.` или голого `*`, подстановочный символ совпадает только с текстом между двумя точками. `WebFetch(domain:example.*)` совпадает с `example.org`, где `*` становится `org`, но не с `example.evil.com`, где `*` должен был бы стать `evil.com` и пересечь точку. Это предотвращает совпадение конечного подстановочного символа с доменами, которые может зарегистрировать злоумышленник.

270 321 

271<h3 id="mcp">322<h3 id="mcp">

272 MCP323 MCP


296}347}

297```348```

298 349 

350<h3 id="cd">

351 Cd

352</h3>

353 

354Правила `Cd` контролируют, в какие каталоги команда [`/cd`](/ru/commands) может переместить сеанс. `Cd` не является инструментом, вызываемым моделью: Claude не может его вызвать, и правила применяются только когда вы сами запускаете `/cd`.

355 

356Голое правило `Cd` deny отключает `/cd` полностью. Правило `Cd(<path-pattern>)` deny блокирует совпадающие цели. Правила deny проверяют каждое написание цели, включая каждый переход символической ссылки, через который она разрешается, поэтому правило, написанное для одного пути, также блокирует цели, которые разрешаются в него.

357 

358Добавление любого правила `Cd` allow переключает `/cd` в режим списка разрешений: разрешенный целевой каталог должен совпадать с одним из ваших правил allow, или `/cd` отказывает. Без настроенных правил `Cd`, `/cd` сохраняет свое поведение по умолчанию и запрашивает вас доверять незнакомому каталогу.

359 

360Шаблоны путей используют якоря `//`, `~/` и `/` из [правил Read и Edit](#read-and-edit), но сопоставление привязано ко всему пути каталога, а не в стиле gitignore. `*` совпадает ровно с одним сегментом пути и `**` совпадает по сегментам. Конечный `/**` также совпадает с его названным корнем.

361 

362| Правило | Совпадает | Не совпадает |

363| --------------------- | --------------------------------------------- | -------------------------- |

364| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |

365| `Cd(~/code/**)` | `~/code` и любой каталог под ним | каталоги вне `~/code` |

366| `Cd(**/node_modules)` | любой каталог `node_modules` на любой глубине | `node_modules/pkg` |

367 

299<h2 id="extend-permissions-with-hooks">368<h2 id="extend-permissions-with-hooks">

300 Расширение разрешений с помощью hooks369 Расширение разрешений с помощью hooks

301</h2>370</h2>


304 373 

305Решения hook не обходят правила разрешений. Правила deny и ask оцениваются независимо от того, что возвращает PreToolUse hook, поэтому совпадающее правило deny блокирует вызов и совпадающее правило ask по-прежнему запрашивает даже когда hook вернул `"allow"` или `"ask"`. Это сохраняет приоритет deny-first, описанный в [Управление разрешениями](#manage-permissions), включая правила deny, установленные в управляемых параметрах.374Решения hook не обходят правила разрешений. Правила deny и ask оцениваются независимо от того, что возвращает PreToolUse hook, поэтому совпадающее правило deny блокирует вызов и совпадающее правило ask по-прежнему запрашивает даже когда hook вернул `"allow"` или `"ask"`. Это сохраняет приоритет deny-first, описанный в [Управление разрешениями](#manage-permissions), включая правила deny, установленные в управляемых параметрах.

306 375 

307Блокирующий hook также имеет приоритет над правилами allow. Hook, который выходит с кодом 2, останавливает вызов инструмента перед оценкой правил разрешений, поэтому блокировка применяется даже когда правило allow иначе позволило бы вызову продолжиться. Чтобы запустить все Bash команды без запросов, кроме нескольких, которые вы хотите заблокировать, добавьте `"Bash"` в список allow и зарегистрируйте PreToolUse hook, который отклоняет эти конкретные команды. См. [Block edits to protected files](/ru/hooks-guide#block-edits-to-protected-files) для скрипта hook, который вы можете адаптировать.376Блокирующий hook также имеет приоритет над правилами allow. Hook, который выходит с кодом 2, останавливает вызов инструмента перед оценкой правил разрешений, поэтому блокировка применяется даже когда правило allow иначе позволило бы вызову продолжиться. Чтобы запустить все Bash команды без запросов, кроме нескольких, которые вы хотите заблокировать, добавьте `"Bash"` в список allow и зарегистрируйте PreToolUse hook, который отклоняет эти конкретные команды. См. [Блокировка редактирования защищённых файлов](/ru/hooks-guide#block-edits-to-protected-files) для скрипта hook, который вы можете адаптировать.

308 377 

309<h2 id="working-directories">378<h2 id="working-directories">

310 Рабочие каталоги379 Рабочие каталоги


318 387 

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

320 389 

390Чтобы изменить основной рабочий каталог сеанса вместо добавления другого, используйте [`/cd`](/ru/commands). Команда `/cd` требует Claude Code версии 2.1.169 или позже. В отличие от `/add-dir`, она перемещает сеанс: загружается `CLAUDE.md` нового каталога и `--resume` находит сеанс оттуда.

391 

321<h3 id="additional-directories-grant-file-access-not-configuration">392<h3 id="additional-directories-grant-file-access-not-configuration">

322 Дополнительные каталоги предоставляют доступ к файлам, а не конфигурацию393 Дополнительные каталоги предоставляют доступ к файлам, а не конфигурацию

323</h3>394</h3>


331| Конфигурация | Загружается из `--add-dir` |402| Конфигурация | Загружается из `--add-dir` |

332| :------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |403| :------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

333| [Skills](/ru/skills) в `.claude/skills/` | Да, с live reload |404| [Skills](/ru/skills) в `.claude/skills/` | Да, с live reload |

405| [Subagents](/ru/sub-agents) в `.claude/agents/` | Да |

334| Параметры плагина в `.claude/settings.json` | Только `enabledPlugins` и `extraKnownMarketplaces` |406| Параметры плагина в `.claude/settings.json` | Только `enabledPlugins` и `extraKnownMarketplaces` |

335| [CLAUDE.md](/ru/memory) файлы, `.claude/rules/` и `CLAUDE.local.md` | Только когда установлено `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1`. `CLAUDE.local.md` дополнительно требует источник параметра `local`, который включен по умолчанию |407| [CLAUDE.md](/ru/memory) файлы, `.claude/rules/` и `CLAUDE.local.md` | Только когда установлено `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1`. `CLAUDE.local.md` дополнительно требует источник параметра `local`, который включен по умолчанию |

336 408 

337Subagents, commands и output styles обнаруживаются из текущего рабочего каталога и его родителей, вашего пользовательского каталога в `~/.claude/` и управляемых параметров. Hooks и другие ключи `settings.json` загружаются из папки `.claude/` текущего рабочего каталога без резервного варианта для родительского каталога, наряду с вашим пользовательским файлом `~/.claude/settings.json` и управляемыми параметрами. Чтобы поделиться этой конфигурацией между проектами, используйте один из этих подходов:409Команды и стили вывода обнаруживаются из текущего рабочего каталога и его родителей, вашего пользовательского каталога в `~/.claude/` и управляемых параметров. Hooks и другие ключи `settings.json` загружаются из папки `.claude/` текущего рабочего каталога без резервного варианта для родительского каталога, наряду с вашим пользовательским файлом `~/.claude/settings.json` и управляемыми параметрами. Чтобы поделиться этой конфигурацией между проектами, используйте один из этих подходов:

338 410 

339* **Конфигурация на уровне пользователя**: поместите файлы в `~/.claude/agents/`, `~/.claude/output-styles/` или `~/.claude/settings.json`, чтобы сделать их доступными в каждом проекте411* **Конфигурация на уровне пользователя**: поместите файлы в `~/.claude/agents/`, `~/.claude/output-styles/` или `~/.claude/settings.json`, чтобы сделать их доступными в каждом проекте

340* **Плагины**: упакуйте и распространяйте конфигурацию как [плагин](/ru/plugins), который команды могут установить412* **Плагины**: упакуйте и распространяйте конфигурацию как [плагин](/ru/plugins), который команды могут установить


356* Ограничения файловой системы в sandbox объединяют параметры [`sandbox.filesystem`](/ru/sandboxing) с правилами deny для Read и Edit; оба объединяются в финальную границу sandbox428* Ограничения файловой системы в sandbox объединяют параметры [`sandbox.filesystem`](/ru/sandboxing) с правилами deny для Read и Edit; оба объединяются в финальную границу sandbox

357* Ограничения сети объединяют правила разрешений WebFetch со списками `allowedDomains` и `deniedDomains` sandbox429* Ограничения сети объединяют правила разрешений WebFetch со списками `allowedDomains` и `deniedDomains` sandbox

358 430 

359Когда sandboxing включен с `autoAllowBashIfSandboxed: true`, что является значением по умолчанию, sandboxed Bash команды запускаются без запроса даже если ваши разрешения включают `ask: Bash(*)`. Граница sandbox заменяет запрос для каждой команды. Явные правила deny по-прежнему применяются, и команды `rm` или `rmdir`, которые нацелены на `/`, ваш домашний каталог или другие критические пути системы, по-прежнему вызывают запрос. См. [sandbox modes](/ru/sandboxing#sandbox-modes) для изменения этого поведения.431Когда sandboxing включен с `autoAllowBashIfSandboxed: true`, что является значением по умолчанию, sandboxed Bash команды запускаются без запроса даже если ваши разрешения включают простое правило ask `Bash`, или эквивалентную форму `Bash(*)`(#match-all-uses-of-a-tool): граница sandbox заменяет этот запрос для всего инструмента. Правила ask с областью действия контента, такие как `Bash(git push *)`, по-прежнему вызывают запрос, явные правила deny по-прежнему применяются, и команды `rm` или `rmdir`, которые нацелены на `/`, ваш домашний каталог или другие критические пути системы, по-прежнему вызывают запрос. Команды, которые не будут запущены в sandboxed режиме, такие как исключенные команды, соблюдают простое правило ask `Bash` как обычно. См. [sandbox modes](/ru/sandboxing#sandbox-modes) для изменения этого поведения.

360 432 

361<h2 id="managed-settings">433<h2 id="managed-settings">

362 Управляемые параметры434 Управляемые параметры

platforms.md +1 −1

Details

23| [Web](/ru/claude-code-on-the-web) | Долгосрочные задачи, которые не требуют большого управления, или работа, которая должна продолжаться, когда вы в сети | Облако, управляемое Anthropic, продолжается после отключения |23| [Web](/ru/claude-code-on-the-web) | Долгосрочные задачи, которые не требуют большого управления, или работа, которая должна продолжаться, когда вы в сети | Облако, управляемое Anthropic, продолжается после отключения |

24| Mobile | Запуск и мониторинг задач вдали от вашего компьютера | Облачные сеансы из приложения Claude для iOS и Android, [Remote Control](/ru/remote-control) для локальных сеансов, [Dispatch](/ru/desktop#sessions-from-dispatch) на Desktop на Pro и Max |24| Mobile | Запуск и мониторинг задач вдали от вашего компьютера | Облачные сеансы из приложения Claude для iOS и Android, [Remote Control](/ru/remote-control) для локальных сеансов, [Dispatch](/ru/desktop#sessions-from-dispatch) на Desktop на Pro и Max |

25 25 

26CLI — это наиболее полная поверхность для работы, ориентированной на терминал: скриптинг и Agent SDK доступны только в CLI. Сторонние поставщики также работают в [VS Code](/ru/vs-code#use-third-party-providers). Корпоративные развёртывания [Desktop](/ru/desktop) поддерживают Vertex AI и поставщиков шлюза; для Bedrock или Foundry используйте вместо Desktop CLI или VS Code. Desktop и расширения IDE обменивают некоторые функции, доступные только в CLI, на визуальный просмотр и более тесную интеграцию с редактором. Веб работает в облаке Anthropic, поэтому задачи продолжают выполняться после отключения. Mobile — это тонкий клиент для этих же облачных сеансов или для локального сеанса через Remote Control, и может отправлять задачи на Desktop с помощью Dispatch.26CLI — это наиболее полная поверхность для работы, ориентированной на терминал: скриптинг и Agent SDK доступны только в CLI. Сторонние поставщики также работают в [VS Code](/ru/vs-code#use-third-party-providers). Корпоративные развёртывания [Desktop](/ru/desktop) поддерживают Vertex AI и поставщиков шлюза; для Bedrock или Foundry используйте CLI или VS Code, или [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview), который запускает вкладку Code на этих поставщиках. Desktop и расширения IDE обменивают некоторые функции, доступные только в CLI, на визуальный просмотр и более тесную интеграцию с редактором. Веб работает в облаке Anthropic, поэтому задачи продолжают выполняться после отключения. Mobile — это тонкий клиент для этих же облачных сеансов или для локального сеанса через Remote Control, и может отправлять задачи на Desktop с помощью Dispatch.

27 27 

28Вы можете смешивать поверхности в одном проекте. Конфигурация, память проекта и MCP серверы совместно используются на локальных поверхностях.28Вы можете смешивать поверхности в одном проекте. Конфигурация, память проекта и MCP серверы совместно используются на локальных поверхностях.

29 29 

plugin-hints.md +7 −4

Details

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

17</h2>17</h2>

18 18 

19Claude Code устанавливает переменную окружения [`CLAUDECODE`](/ru/env-vars) в значение `1` для каждой команды, которую он запускает через инструменты Bash и PowerShell, а также для команд [hook](/ru/hooks). Когда ваш CLI видит эту переменную, он выводит самозакрывающийся тег `<claude-code-hint />` в stderr. В командах hook тег подсказки удаляется и игнорируется. Только вывод инструментов Bash и PowerShell запускает приглашение установки.19Claude Code устанавливает переменную окружения [`CLAUDECODE`](/ru/env-vars) в значение `1` для каждой команды, которую он запускает через инструменты Bash и PowerShell, а также для команд [hook](/ru/hooks). {/* min-version: 2.1.172 */}Начиная с версии 2.1.172, он также устанавливает [`CLAUDE_CODE_CHILD_SESSION`](/ru/env-vars) в значение `1` в этих же подпроцессах. Когда ваш CLI видит одну из этих переменных, он выводит самозакрывающийся тег `<claude-code-hint />` в stderr. В командах hook тег подсказки удаляется и игнорируется. Только вывод инструментов Bash и PowerShell запускает приглашение установки.

20 20 

21Когда Claude Code получает вывод команды, он:21Когда Claude Code получает вывод команды, он:

22 22 


31 Выведите подсказку31 Выведите подсказку

32</h2>32</h2>

33 33 

34Обусловьте вывод переменной окружения `CLAUDECODE`, чтобы маркер никогда не появлялся в терминале обычного пользователя. Затем выведите тег в stderr на отдельной строке.34Обусловьте вывод переменной окружения, чтобы маркер был маловероятен при прямом запуске вашего CLI пользователем, затем выведите тег в stderr на отдельной строке. Выберите, какую переменную проверять:

35 35 

36Следующие примеры выводят подсказку для плагина с именем `example-cli` в официальном маркетплейсе:36* `CLAUDECODE`: устанавливается в каждой версии Claude Code, поэтому достигает большинства сеансов. Она также устанавливается в tmux сеансах и подпроцессах stdio MCP сервера, которые запускает Claude Code. Расширения IDE также устанавливают её в своих интегрированных терминалах, где пользователь может запускать ваш CLI напрямую.

37* {/* min-version: 2.1.172 */}`CLAUDE_CODE_CHILD_SESSION`: устанавливается только в подпроцессах, которые сам Claude Code порождает, таких как вызовы инструментов, команды hook и команды [строки состояния](/ru/statusline), поэтому тег обычно не достигает терминала пользователя. Долгоживущий процесс, запущенный внутри сеанса, такой как tmux сервер, захватывает переменную, поэтому оболочки, позже запущенные из этого процесса, всё ещё показывают необработанный тег. Требует Claude Code v2.1.172 или позже, поэтому сеансы на более старых версиях пропускают подсказку.

38 

39Следующие примеры обусловливают `CLAUDECODE` для максимального охвата и выводят подсказку для плагина с именем `example-cli` в официальном маркетплейсе:

37 40 

38<CodeGroup>41<CodeGroup>

39 ```javascript Node.js theme={null}42 ```javascript Node.js theme={null}


147Остальные рекомендации рекомендуются, но не обязательны. Claude Code не может наблюдать, следует ли ваш CLI им:150Остальные рекомендации рекомендуются, но не обязательны. Claude Code не может наблюдать, следует ли ваш CLI им:

148 151 

149* **Выводите в stderr**: stderr держит тег вне конвейеров оболочки, таких как `example-cli deploy | jq`. Claude Code сканирует оба потока, поэтому stdout также работает.152* **Выводите в stderr**: stderr держит тег вне конвейеров оболочки, таких как `example-cli deploy | jq`. Claude Code сканирует оба потока, поэтому stdout также работает.

150* **Обусловьте на `CLAUDECODE`**: выводите только когда установлена переменная окружения `CLAUDECODE`. Это предотвращает появление маркера для пользователей, запускающих ваш CLI напрямую.153* **Обусловьте на переменной окружения**: выводите только когда установлена переменная окружения `CLAUDECODE` или `CLAUDE_CODE_CHILD_SESSION`. Смотрите [Выведите подсказку](#emit-the-hint), чтобы узнать, чем отличаются эти две переменные.

151 154 

152<h2 id="get-your-plugin-into-the-official-marketplace">155<h2 id="get-your-plugin-into-the-official-marketplace">

153 Добавьте ваш плагин в официальный маркетплейс156 Добавьте ваш плагин в официальный маркетплейс

Details

171| `plugins` | array | Список доступных плагинов | См. ниже |171| `plugins` | array | Список доступных плагинов | См. ниже |

172 172 

173<Note>173<Note>

174 **Зарезервированные имена**: Следующие имена marketplace зарезервированы для официального использования Anthropic и не могут использоваться сторонними marketplace: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`. Имена, которые выдают себя за официальные marketplace, такие как `official-claude-plugins` или `anthropic-tools-v2`, также заблокированы.174 **Зарезервированные имена**: Следующие имена marketplace зарезервированы для официального использования Anthropic и не могут использоваться сторонними marketplace: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`. Имена, которые выдают себя за официальные marketplace, такие как `official-claude-plugins` или `anthropic-tools-v2`, также заблокированы.

175</Note>175</Note>

176 176 

177<h3 id="owner-fields">177<h3 id="owner-fields">


203 203 

204Каждая запись плагина в массиве `plugins` описывает плагин и где его найти. Вы можете включить любое поле из [схемы манифеста плагина](/ru/plugins-reference#plugin-manifest-schema) (например, `description`, `version`, `author`, `commands`, `hooks` и т. д.), плюс эти поля, специфичные для marketplace: `source`, `category`, `tags` и `strict`.204Каждая запись плагина в массиве `plugins` описывает плагин и где его найти. Вы можете включить любое поле из [схемы манифеста плагина](/ru/plugins-reference#plugin-manifest-schema) (например, `description`, `version`, `author`, `commands`, `hooks` и т. д.), плюс эти поля, специфичные для marketplace: `source`, `category`, `tags` и `strict`.

205 205 

206<h3 id="required-fields">206<h3 id="required-fields-1">

207 Обязательные поля207 Обязательные поля

208</h3>208</h3>

209 209 


254 254 

255| Источник | Тип | Поля | Примечания |255| Источник | Тип | Поля | Примечания |

256| ------------------ | ------------------------------------ | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |256| ------------------ | ------------------------------------ | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |

257| Относительный путь | `string` (например, `"./my-plugin"`) | | Локальный каталог в репозитории marketplace. Должен начинаться с `./`. Разрешается относительно корня marketplace, а не каталога `.claude-plugin/` |257| Относительный путь | `string` (например, `"./my-plugin"`) | none | Локальный каталог в репозитории marketplace. Должен начинаться с `./`. Разрешается относительно корня marketplace, а не каталога `.claude-plugin/` |

258| `github` | object | `repo`, `ref?`, `sha?` | |258| `github` | object | `repo`, `ref?`, `sha?` | |

259| `url` | object | `url`, `ref?`, `sha?` | Источник URL Git |259| `url` | object | `url`, `ref?`, `sha?` | Источник URL Git |

260| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Подкаталог в репозитории Git. Клонирует разреженно, чтобы минимизировать пропускную способность для монорепозиториев |260| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Подкаталог в репозитории Git. Клонирует разреженно, чтобы минимизировать пропускную способность для монорепозиториев |


269 Например, marketplace, размещенный в `acme-corp/plugin-catalog` (источник marketplace), может перечислять плагин, полученный из `acme-corp/code-formatter` (источник плагина). Источник marketplace и источник плагина указывают на разные репозитории и закреплены независимо.269 Например, marketplace, размещенный в `acme-corp/plugin-catalog` (источник marketplace), может перечислять плагин, полученный из `acme-corp/code-formatter` (источник плагина). Источник marketplace и источник плагина указывают на разные репозитории и закреплены независимо.

270</Note>270</Note>

271 271 

272Типы источников на основе Git ниже — это `github`, `url` и `git-subdir`. Когда оба `ref` и `sha` установлены на любом из них, `sha` является эффективным закреплением. Claude Code получает и проверяет закрепленный коммит напрямую, поэтому установка успешна даже если ветка или тег, названные `ref`, были удалены выше по течению, при условии, что коммит все еще доступен из репозитория.

273 

272<h3 id="relative-paths">274<h3 id="relative-paths">

273 Относительные пути275 Относительные пути

274</h3>276</h3>


505* **`${CLAUDE_PLUGIN_ROOT}`**: Используйте эту переменную в hooks и конфигурациях MCP server для ссылки на файлы в каталоге установки плагина. Это необходимо, потому что плагины копируются в место кэша при установке. Для зависимостей или состояния, которое должно сохраняться при обновлениях плагина, используйте [`${CLAUDE_PLUGIN_DATA}`](/ru/plugins-reference#persistent-data-directory) вместо этого.507* **`${CLAUDE_PLUGIN_ROOT}`**: Используйте эту переменную в hooks и конфигурациях MCP server для ссылки на файлы в каталоге установки плагина. Это необходимо, потому что плагины копируются в место кэша при установке. Для зависимостей или состояния, которое должно сохраняться при обновлениях плагина, используйте [`${CLAUDE_PLUGIN_DATA}`](/ru/plugins-reference#persistent-data-directory) вместо этого.

506* **`strict: false`**: Поскольку это установлено на false, плагину не нужен собственный `plugin.json`. Запись marketplace определяет все. См. [Strict mode](#strict-mode) ниже.508* **`strict: false`**: Поскольку это установлено на false, плагину не нужен собственный `plugin.json`. Запись marketplace определяет все. См. [Strict mode](#strict-mode) ниже.

507 509 

510По умолчанию skills плагина загружаются из каталога `skills/` в его `source`, и любые пути, указанные в `skills`, добавляются к этому сканированию. Исключением является источник в корне marketplace, такой как `source: "./"`, где несколько записей плагинов совместно используют один каталог `skills/`. В этом случае указание конкретных подкаталогов в `skills` делает этот список полным набором для записи, и другие каталоги в `skills/` не загружаются. Указание самого каталога `skills/` или корня плагина сохраняет полное сканирование. Если ни один из указанных путей не существует, вместо этого запускается сканирование по умолчанию.

511 

508<h3 id="strict-mode">512<h3 id="strict-mode">

509 Strict mode513 Strict mode

510</h3>514</h3>


1074* Убедитесь, что каталоги плагинов содержат необходимые файлы1078* Убедитесь, что каталоги плагинов содержат необходимые файлы

1075* Для источников GitHub убедитесь, что репозитории являются общедоступными или у вас есть доступ1079* Для источников GitHub убедитесь, что репозитории являются общедоступными или у вас есть доступ

1076* Протестируйте источники плагинов вручную, клонируя/загружая их1080* Протестируйте источники плагинов вручную, клонируя/загружая их

1081* Если источник закрепляет как `ref`, так и `sha`, удаленная ветвь или тег не блокируют установку. Если установка все еще не удается, подтвердите, что закрепленный коммит все еще существует в репозитории

1077 1082 

1078<h3 id="private-repository-authentication-fails">1083<h3 id="private-repository-authentication-fails">

1079 Ошибка аутентификации частного репозитория1084 Ошибка аутентификации частного репозитория

plugins.md +7 −3

Details

216| `bin/` | Корень plugin | Исполняемые файлы, добавленные в `PATH` инструмента Bash во время включения plugin |216| `bin/` | Корень plugin | Исполняемые файлы, добавленные в `PATH` инструмента Bash во время включения plugin |

217| `settings.json` | Корень plugin | Параметры по умолчанию [settings](/ru/settings), применяемые при включении plugin |217| `settings.json` | Корень plugin | Параметры по умолчанию [settings](/ru/settings), применяемые при включении plugin |

218 218 

219Plugin, который поставляется ровно с одним skill, может поместить `SKILL.md` непосредственно в корень plugin вместо создания директории `skills/`. Claude Code загружает его как один skill и использует поле frontmatter `name` для имени вызова. Используйте макет `skills/` для plugins, которые могут расширяться до более чем одного skill.

220 

219<Note>221<Note>

220 **Следующие шаги**: Готовы добавить больше функций? Перейдите к [Разработка более сложных plugins](#develop-more-complex-plugins) для добавления agents, hooks, MCP servers и LSP servers. Для полных технических спецификаций всех компонентов plugin см. [Справочник plugins](/ru/plugins-reference).222 **Следующие шаги**: Готовы добавить больше функций? Перейдите к [Разработка более сложных plugins](#develop-more-complex-plugins) для добавления agents, hooks, MCP servers и LSP servers. Для полных технических спецификаций всех компонентов plugin см. [Справочник plugins](/ru/plugins-reference).

221</Note>223</Note>


402 404 

403Anthropic поддерживает два публичных marketplace для plugins Claude Code:405Anthropic поддерживает два публичных marketplace для plugins Claude Code:

404 406 

405* **`claude-plugins-official`**: курируемый набор plugins, поддерживаемый Anthropic. Доступен автоматически в каждой установке Claude Code.407* **`claude-plugins-official`**: курируемый набор plugins, поддерживаемый Anthropic. Зарегистрирован автоматически при первом запуске Claude Code в интерактивном режиме. Неинтерактивный скрипт, который запускается перед этим первым запуском, должен добавить его явно с помощью `claude plugin marketplace add anthropics/claude-plugins-official`.

406* **`claude-community`**: публичный marketplace сообщества, где размещаются сторонние отправки после проверки. Пользователи добавляют его с помощью `/plugin marketplace add anthropics/claude-plugins-community` и устанавливают из него как `@claude-community`.408* **`claude-community`**: публичный marketplace сообщества, где размещаются сторонние отправки после проверки. Пользователи добавляют его с помощью `/plugin marketplace add anthropics/claude-plugins-community` и устанавливают из него как `@claude-community`.

407 409 

408Чтобы отправить ваш plugin на проверку в marketplace сообщества, используйте одну из встроенных форм:410Чтобы отправить ваш plugin на проверку в marketplace сообщества, используйте одну из встроенных форм:

409 411 

410* **Claude.ai**: [claude.ai/settings/plugins/submit](https://claude.ai/settings/plugins/submit)412* **claude.ai**: [claude.ai/admin-settings/directory/submissions/plugins/new](https://claude.ai/admin-settings/directory/submissions/plugins/new)

411* **Console**: [platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)413* **Console**: [platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)

412 414 

415Форма claude.ai требует организацию Team или Enterprise и доступ к управлению директорией; владельцы организации имеют этот доступ по умолчанию. Отдельные авторы, которые не являются частью организации Team или Enterprise, могут использовать форму Console вместо этого.

416 

413Запустите `claude plugin validate` локально перед отправкой. Конвейер проверки запускает ту же проверку для каждой отправки, а также автоматизированный скрининг безопасности.417Запустите `claude plugin validate` локально перед отправкой. Конвейер проверки запускает ту же проверку для каждой отправки, а также автоматизированный скрининг безопасности.

414 418 

415Одобренные plugins закреплены на определённом коммите SHA в каталоге [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community), и CI автоматически обновляет закрепление по мере того, как вы отправляете новые коммиты в ваш репозиторий. Публичный каталог синхронизируется ночью из конвейера проверки, поэтому может быть задержка между одобрением и появлением вашего plugin в `marketplace.json`. Чтобы проверить, установлен ли ваш plugin, выполните поиск его имени в [каталоге сообщества](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json).419Одобренные plugins закреплены на определённом коммите SHA в каталоге [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community), и CI автоматически обновляет закрепление по мере того, как вы отправляете новые коммиты в ваш репозиторий. Публичный каталог синхронизируется ночью из конвейера проверки, поэтому может быть задержка между одобрением и появлением вашего plugin в `marketplace.json`. Чтобы проверить, установлен ли ваш plugin, выполните поиск его имени в [каталоге сообщества](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json).


512| Необходимо вручную копировать для совместного использования | Установить с `/plugin install` |516| Необходимо вручную копировать для совместного использования | Установить с `/plugin install` |

513 517 

514<Note>518<Note>

515 После миграции вы можете удалить исходные файлы из `.claude/` для избежания дубликатов. Версия plugin будет иметь приоритет при загрузке.519 После миграции удалите исходные файлы из `.claude/` для избежания дубликатов. Определения project и user `.claude/agents/` переопределяют agents plugin с тем же именем, поэтому версия plugin вступает в силу только после удаления исходных файлов.

516</Note>520</Note>

517 521 

518<h2 id="next-steps">522<h2 id="next-steps">

Details

46* Claude может вызывать их автоматически на основе контекста задачи46* Claude может вызывать их автоматически на основе контекста задачи

47* Skills могут включать вспомогательные файлы рядом с SKILL.md47* Skills могут включать вспомогательные файлы рядом с SKILL.md

48 48 

49Если плагин не имеет каталога `skills/` и не имеет поля манифеста `skills`, то `SKILL.md` в корне плагина загружается как один skill. Установите поле frontmatter `name` для управления именем вызова skill. Без него Claude Code возвращается к имени каталога установки, которое для плагинов, установленных из маркетплейса, является строкой версии, которая меняется при каждом обновлении. Для плагинов, которые поставляют более одного skill, используйте макет каталога `skills/`, показанный выше.

50 

49Для полной информации смотрите [Skills](/ru/skills).51Для полной информации смотрите [Skills](/ru/skills).

50 52 

51<h3 id="agents">53<h3 id="agents">


256**Опциональные поля:**258**Опциональные поля:**

257 259 

258| Поле | Описание |260| Поле | Описание |

259| :---------------------- | :--------------------------------------------------------------- |261| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

260| `args` | Аргументы командной строки для сервера LSP |262| `args` | Аргументы командной строки для сервера LSP |

261| `transport` | Транспорт связи: `stdio` (по умолчанию) или `socket` |263| `transport` | Транспорт связи: `stdio` (по умолчанию) или `socket` |

262| `env` | Переменные окружения для установки при запуске сервера |264| `env` | Переменные окружения для установки при запуске сервера |


265| `workspaceFolder` | Путь папки рабочей области для сервера |267| `workspaceFolder` | Путь папки рабочей области для сервера |

266| `startupTimeout` | Максимальное время ожидания запуска сервера (миллисекунды) |268| `startupTimeout` | Максимальное время ожидания запуска сервера (миллисекунды) |

267| `maxRestarts` | Максимальное количество попыток перезапуска перед отказом |269| `maxRestarts` | Максимальное количество попыток перезапуска перед отказом |

270| `diagnostics` | Следует ли отправлять диагностику в контекст Claude после редактирования (по умолчанию `true`). Установите значение `false`, чтобы сохранить навигацию по коду, но подавить автоматическое внедрение диагностики. |

268 271 

269<Warning>272<Warning>

270 **Вы должны установить двоичный файл языкового сервера отдельно.** Плагины LSP настраивают способ подключения Claude Code к языковому серверу, но они не включают сам сервер. Если вы видите `Executable not found in $PATH` на вкладке Errors в `/plugin`, установите требуемый двоичный файл для вашего языка.273 **Вы должны установить двоичный файл языкового сервера отдельно.** Плагины LSP настраивают способ подключения Claude Code к языковому серверу, но они не включают сам сервер. Если вы видите `Executable not found in $PATH` на вкладке Errors в `/plugin`, установите требуемый двоичный файл для вашего языка.


398 401 

399Плагин области проекта проверяется в репозитории и достигает каждого сотрудника, который его клонирует. Поскольку это содержимое поступает из репозитория, а не от вас, оно загружается только после того же шлюза доверия, который управляет `.claude/settings.json`, и компоненты, которые запускают код, дополнительно ограничены:402Плагин области проекта проверяется в репозитории и достигает каждого сотрудника, который его клонирует. Поскольку это содержимое поступает из репозитория, а не от вас, оно загружается только после того же шлюза доверия, который управляет `.claude/settings.json`, и компоненты, которые запускают код, дополнительно ограничены:

400 403 

401* Серверы MCP, которые он объявляет, проходят через [то же одобрение для каждого сервера](/ru/mcp), что и проект `.mcp.json`404* Серверы MCP, которые он объявляет, проходят через [то же одобрение для каждого сервера](/ru/mcp) что и проект `.mcp.json`

402* Серверы LSP запускаются только после того, как вы доверяете рабочей области405* Серверы LSP запускаются только после того, как вы доверяете рабочей области

403* [Фоновые monitors](#monitors) не загружаются406* [Фоновые monitors](#monitors) не загружаются

404 407 


530</h3>533</h3>

531 534 

532| Поле | Тип | Описание | Пример |535| Поле | Тип | Описание | Пример |

533| :---------------------- | :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |536| :---------------------- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

534| `skills` | string\|array | Пользовательские каталоги skills, содержащие `<name>/SKILL.md` дополнение к по умолчанию `skills/`) | `"./custom/skills/"` |537| `skills` | string\|array | Пользовательские каталоги skills, содержащие `<name>/SKILL.md`. Добавляет к по умолчанию `skills/`. Смотрите [Правила поведения пути](#path-behavior-rules) для исключения корня маркетплейса | `"./custom/skills/"` |

535| `commands` | string\|array | Пользовательские плоские файлы `.md` skill или каталоги (заменяет по умолчанию `commands/`) | `"./custom/cmd.md"` или `["./cmd1.md"]` |538| `commands` | string\|array | Пользовательские плоские файлы `.md` skill или каталоги (заменяет по умолчанию `commands/`) | `"./custom/cmd.md"` или `["./cmd1.md"]` |

536| `agents` | string\|array | Пользовательские файлы агентов (заменяет по умолчанию `agents/`) | `"./custom/agents/reviewer.md"` |539| `agents` | string\|array | Пользовательские файлы агентов (заменяет по умолчанию `agents/`) | `"./custom/agents/reviewer.md"` |

537| `hooks` | string\|array\|object | Пути конфигурации hooks или встроенная конфигурация | `"./my-extra-hooks.json"` |540| `hooks` | string\|array\|object | Пути конфигурации hooks или встроенная конфигурация | `"./my-extra-hooks.json"` |


629Замена ли пользовательский путь или расширяет каталог по умолчанию плагина, зависит от поля:632Замена ли пользовательский путь или расширяет каталог по умолчанию плагина, зависит от поля:

630 633 

631* **Заменяет по умолчанию**: `commands`, `agents`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Например, когда манифест указывает `commands`, каталог по умолчанию `commands/` не сканируется. Чтобы сохранить по умолчанию и добавить больше, перечислите его явно: `"commands": ["./commands/", "./extras/"]`634* **Заменяет по умолчанию**: `commands`, `agents`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Например, когда манифест указывает `commands`, каталог по умолчанию `commands/` не сканируется. Чтобы сохранить по умолчанию и добавить больше, перечислите его явно: `"commands": ["./commands/", "./extras/"]`

632* **Добавляет к по умолчанию**: `skills`. Каталог по умолчанию `skills/` всегда сканируется, и каталоги, перечисленные в `skills`, загружаются вместе с ним635* **Добавляет к по умолчанию**: `skills`. Каталог по умолчанию `skills/` всегда сканируется, и каталоги, перечисленные в `skills`, загружаются вместе с ним. Исключение: для [записи маркетплейса, чей `source` разрешается в корень маркетплейса](/ru/plugin-marketplaces#advanced-plugin-entries), объявление конкретных подкаталогов заменяет сканирование

633* **Собственные правила слияния**: [hooks](#hooks), [MCP servers](#mcp-servers) и [LSP servers](#lsp-servers). Смотрите каждый раздел для того, как несколько источников объединяются636* **Собственные правила слияния**: [hooks](#hooks), [MCP servers](#mcp-servers) и [LSP servers](#lsp-servers). Смотрите каждый раздел для того, как несколько источников объединяются

634 637 

635Когда плагин имеет как папку по умолчанию, так и соответствующий ключ манифеста, Claude Code v2.1.140 и более поздние версии отмечают игнорируемую папку в `/doctor`, `claude plugin list` и представлении деталей `/plugin`. Плагин всё ещё загружается с использованием путей манифеста. Предупреждение не показывается, когда ключ манифеста указывает на папку по умолчанию, например `"commands": ["./commands/deploy.md"]`, потому что папка явно адресуется в этом случае.638Когда плагин имеет как папку по умолчанию, так и соответствующий ключ манифеста, Claude Code v2.1.140 и более поздние версии отмечают игнорируемую папку в `/doctor`, `claude plugin list` и представлении деталей `/plugin`. Плагин всё ещё загружается с использованием путей манифеста. Предупреждение не показывается, когда ключ манифеста указывает на папку по умолчанию, например `"commands": ["./commands/deploy.md"]`, потому что папка явно адресуется в этом случае.


1093| `--available` | Включить доступные плагины из маркетплейсов. Требует `--json` | |1096| `--available` | Включить доступные плагины из маркетплейсов. Требует `--json` | |

1094| `-h, --help` | Отобразить справку для команды | |1097| `-h, --help` | Отобразить справку для команды | |

1095 1098 

1099В интерактивном сеансе `/plugin list` выводит тот же список встроенным образом. Интерактивная форма принимает `--enabled` или `--disabled` для отображения только плагинов в этом состоянии, и `ls` как сокращение для `list`.

1100 

1096<h3 id="plugin-details">1101<h3 id="plugin-details">

1097 plugin details1102 plugin details

1098</h3>1103</h3>

Details

79 79 

80Параметр модели [`opusplan`](/ru/model-config#opusplan-model-setting) разрешается в Opus во время режима плана и Sonnet во время выполнения, поэтому каждое переключение режима плана — это переключение модели и запускает свежий кэш.80Параметр модели [`opusplan`](/ru/model-config#opusplan-model-setting) разрешается в Opus во время режима плана и Sonnet во время выполнения, поэтому каждое переключение режима плана — это переключение модели и запускает свежий кэш.

81 81 

82[Автоматический откат модели](/ru/model-config#automatic-model-fallback) на Fable 5 также является переключением модели. Когда классификатор безопасности помечает запрос, Claude Code повторно запускает его на модели Opus по умолчанию и сеанс продолжается там.

83 

82<h3 id="changing-effort-level">84<h3 id="changing-effort-level">

83 Изменение уровня усилий85 Изменение уровня усилий

84</h3>86</h3>


101 Подключение или отключение MCP сервера103 Подключение или отключение MCP сервера

102</h3>104</h3>

103 105 

104Определения инструментов находятся в слое системного запроса, поэтому кэш инвалидируется, когда набор определений инструментов в запросе изменяется между ходами. Зависит ли [изменение MCP сервера](/ru/mcp) от этого, зависит от того, отложены ли его инструменты [поиском инструментов](/ru/mcp#scale-with-mcp-tool-search) или загружены в префикс:106Определения инструментов находятся в слое системного запроса, поэтому кэш инвалидируется, когда набор определений инструментов в запросе изменяется между ходами. Переключение [инструмента advisor](/ru/advisor) является исключением: его определение находится после точки разрыва кэша, поэтому включение или отключение `/advisor` сохраняет кэшированный префикс нетронутым. Зависит ли [изменение MCP сервера](/ru/mcp) от этого, зависит от того, отложены ли его инструменты [поиском инструментов](/ru/mcp#scale-with-mcp-tool-search) или загружены в префикс:

105 107 

106* **Отложенные инструменты**, по умолчанию на поддерживаемых моделях: подключение, отключение сервера или изменение его списка инструментов только добавляет новое содержимое и не нарушает ничего, что уже кэшировано.108* **Отложенные инструменты**, по умолчанию на поддерживаемых моделях: подключение, отключение сервера или изменение его списка инструментов только добавляет новое содержимое и не нарушает ничего, что уже кэшировано.

107* **Инструменты, загруженные в префикс**: любое изменение их инвалидирует кэш. Это происходит, когда [поиск инструментов недоступен или отключен](/ru/mcp#configure-tool-search), например на моделях Haiku, на Vertex AI или с пользовательским шлюзом `ANTHROPIC_BASE_URL`. Это также происходит для сервера или инструмента, отмеченного [`alwaysLoad`](/ru/mcp#exempt-a-server-from-deferral), и для определений, сохраняемых впереди [загрузкой на основе порога](/ru/mcp#configure-tool-search).109* **Инструменты, загруженные в префикс**: любое изменение их инвалидирует кэш. Это происходит, когда [поиск инструментов недоступен или отключен](/ru/mcp#configure-tool-search), например на моделях Haiku, на Vertex AI или с пользовательским шлюзом `ANTHROPIC_BASE_URL`. Это также происходит для сервера или инструмента, отмеченного [`alwaysLoad`](/ru/mcp#exempt-a-server-from-deferral), и для определений, сохраняемых впереди [загрузкой на основе порога](/ru/mcp#configure-tool-search).


118 120 

119Исключение — это плагин, который предоставляет [MCP серверы](/ru/plugins-reference#mcp-servers). Включение или отключение одного следует тем же правилам, что и [подключение или отключение MCP сервера](#connecting-or-disconnecting-an-mcp-server): кэш сохраняется, когда инструменты сервера отложены, и следующий запрос повторно читает весь разговор, когда они загружаются в префикс.121Исключение — это плагин, который предоставляет [MCP серверы](/ru/plugins-reference#mcp-servers). Включение или отключение одного следует тем же правилам, что и [подключение или отключение MCP сервера](#connecting-or-disconnecting-an-mcp-server): кэш сохраняется, когда инструменты сервера отложены, и следующий запрос повторно читает весь разговор, когда они загружаются в префикс.

120 122 

121Изменения плагина применяются при запуске [`/reload-plugins`](/ru/discover-plugins#apply-plugin-changes-without-restarting) или при запуске нового сеанса. Стоимость, будь то добавленные объявления или полное повторное чтение, отображается на первом ходе после перезагрузки, а не когда вы запускаете `/plugin install`, `/plugin enable` или `/plugin disable`.123Изменения плагина применяются при запуске [`/reload-plugins`](/ru/discover-plugins#apply-plugin-changes-without-restarting) или при запуске нового сеанса. Стоимость, будь то добавленные объявления или полное повторное чтение, отображается на первом ходе после перезагрузки, а не когда вы запускаете `/plugin install`, `/plugin enable` или `/plugin disable`. {/* min-version: 2.1.163 */}Начиная с v2.1.163, когда перезагрузка вызовет полное повторное чтение, `/reload-plugins` показывает предупреждение и не применяет перезагрузку. Передайте `--force` для применения в любом случае.

122 124 

123Отключение плагина, который вы включили ранее в сеансе, восстанавливает предыдущую форму запроса. Если этот префикс все еще находится в пределах своего [времени жизни кэша](#cache-lifetime), следующий запрос читает более старую запись кэша вместо перестроения.125Отключение плагина, который вы включили ранее в сеансе, восстанавливает предыдущую форму запроса. Если этот префикс все еще находится в пределах своего [времени жизни кэша](#cache-lifetime), следующий запрос читает более старую запись кэша вместо перестроения.

124 126 


128 130 

129Добавление простого имени инструмента, такого как `Bash` или `WebFetch`, в качестве [правила отказа](/ru/permissions#manage-permissions) удаляет этот инструмент из контекста Claude полностью. Встроенные определения инструментов загружаются в слой системного запроса, поэтому добавление или удаление одного из этих правил в середине сеанса инвалидирует кэш. Изменение вступает в силу в следующем ходе, добавляете ли вы его через `/permissions` или путём [прямого редактирования файла параметров](/ru/settings#when-edits-take-effect).131Добавление простого имени инструмента, такого как `Bash` или `WebFetch`, в качестве [правила отказа](/ru/permissions#manage-permissions) удаляет этот инструмент из контекста Claude полностью. Встроенные определения инструментов загружаются в слой системного запроса, поэтому добавление или удаление одного из этих правил в середине сеанса инвалидирует кэш. Изменение вступает в силу в следующем ходе, добавляете ли вы его через `/permissions` или путём [прямого редактирования файла параметров](/ru/settings#when-edits-take-effect).

130 132 

131Только простое имя инструмента или эквивалентная форма `Bash(*)` имеет этот эффект. Правила отказа с областью действия, такие как `Bash(rm *)`, и все правила разрешения и запроса, не изменяют, какие инструменты видит Claude. Claude Code проверяет их, когда Claude пытается выполнить вызов, оставляя префикс нетронутым.133Только правило отказа, которое совпадает в позиции имени инструмента, имеет этот эффект: простое имя инструмента, эквивалентная форма `Bash(*)` или [глоб имени инструмента](/ru/permissions#tool-name-wildcards) как `"*"`. Глоб, который совпадает только с инструментами MCP, такой как `"mcp__*"`, удаляет эти инструменты так же, но оставляет кэш нетронутым, когда совпадающие инструменты [отложены](#connecting-or-disconnecting-an-mcp-server), по умолчанию, поскольку отложенные определения никогда не были в кэшированном префиксе. Правила отказа с областью действия, такие как `Bash(rm *)`, и все правила разрешения и запроса, не изменяют, какие инструменты видит Claude. Claude Code проверяет их, когда Claude пытается выполнить вызов, оставляя префикс нетронутым.

132 134 

133<h3 id="compacting-the-conversation">135<h3 id="compacting-the-conversation">

134 Сжатие разговора136 Сжатие разговора


219 221 

220Кэшированные префиксы истекают после периода неактивности. Каждый запрос, который попадает в кэш, сбрасывает таймер, поэтому кэш остаётся в тепле, пока вы продолжаете работать. После достаточно длительного перерыва следующий запрос пересчитывает полный ввод и повторно устанавливает кэш, что является причиной того, почему первый ход после отсутствия может быть заметно медленнее.222Кэшированные префиксы истекают после периода неактивности. Каждый запрос, который попадает в кэш, сбрасывает таймер, поэтому кэш остаётся в тепле, пока вы продолжаете работать. После достаточно длительного перерыва следующий запрос пересчитывает полный ввод и повторно устанавливает кэш, что является причиной того, почему первый ход после отсутствия может быть заметно медленнее.

221 223 

222Время жизни (TTL) контролирует, как долго перерыв кэш выживает. API предлагает два: пятиминутный TTL и [одночасовой TTL](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#1-hour-cache-duration), который держит кэш в тепле через более длительные перерывы, но [выставляет счёт за записи кэша по более высокой ставке](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Claude Code выбирает TTL для вас на основе того, как вы аутентифицируетесь, и вы можете переопределить его переменными окружения.224Время жизни (TTL) контролирует, как долго перерыв кэш выживает. API предлагает два: пятиминутный TTL и [одночасовой TTL](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#1-hour-cache-duration), который держит кэш в тепле через более длительные перерывы, но [выставляет счёт за записи кэша по более высокой ставке](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#pricing). Claude Code выбирает TTL для вас на основе того, как вы аутентифицируетесь, и вы можете переопределить его переменными окружения.

223 225 

224<h3 id="on-a-claude-subscription">226<h3 id="on-a-claude-subscription">

225 На подписке Claude227 На подписке Claude


233 На API ключе или стороннем провайдере235 На API ключе или стороннем провайдере

234</h3>236</h3>

235 237 

236На API ключе, Bedrock, Vertex, Foundry или Claude Platform on AWS, вы платите по ставкам за токен, поэтому TTL остаётся по умолчанию дешевле пять минут. Чтобы выбрать [одночасовой TTL](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#1-hour-cache-duration), установите `ENABLE_PROMPT_CACHING_1H=1`.238На API ключе, Bedrock, Vertex, Foundry или Claude Platform on AWS, вы платите по ставкам за токен, поэтому TTL остаётся по умолчанию дешевле пять минут. Чтобы выбрать [одночасовой TTL](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#1-hour-cache-duration), установите `ENABLE_PROMPT_CACHING_1H=1`.

237 239 

238На Bedrock, поддержка prompt caching, минимальная длина кэшируемого префикса и доступность одночасового TTL варьируются по модели. Если счётчики токенов кэша остаются на нуле, проверьте [поддерживаемые модели, регионы и лимиты](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html#prompt-caching-models) в документации Bedrock.240На Bedrock, поддержка prompt caching, минимальная длина кэшируемого префикса и доступность одночасового TTL варьируются по модели. Если счётчики токенов кэша остаются на нуле, проверьте [поддерживаемые модели, регионы и лимиты](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html#prompt-caching-models) в документации Bedrock.

239 241 


251 253 

252Сеансы, которые вы запускаете параллельно в одном каталоге, строят совпадающие префиксы и читают кэш друг друга. Последовательные сеансы совпадают с префиксом только когда снимок статуса git при запуске совпадает, поскольку системный запрос также захватывает ветвь и недавние коммиты.254Сеансы, которые вы запускаете параллельно в одном каталоге, строят совпадающие префиксы и читают кэш друг друга. Последовательные сеансы совпадают с префиксом только когда снимок статуса git при запуске совпадает, поскольку системный запрос также захватывает ветвь и недавние коммиты.

253 255 

254Базовый кэш API шире. Кэши изолированы между организациями и на некоторых провайдерах [между рабочими пространствами в организации](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-storage-and-sharing). В этих границах любые два запроса с одной и той же моделью и префиксом читают один и тот же кэш. Для вызывающих Agent SDK, запускающих флоты автоматизированных процессов, см. [улучшение prompt caching между пользователями и машинами](/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) для подавления разделов системного запроса для каждой машины и совместного использования кэша между машинами.256Базовый кэш API шире. Кэши изолированы между организациями и на некоторых провайдерах [между рабочими пространствами в организации](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#cache-storage-and-sharing). В этих границах любые два запроса с одной и той же моделью и префиксом читают один и тот же кэш. Для вызывающих Agent SDK, запускающих флоты автоматизированных процессов, см. [улучшение prompt caching между пользователями и машинами](/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) для подавления разделов системного запроса для каждой машины и совместного использования кэша между машинами.

255 257 

256<h2 id="check-cache-performance">258<h2 id="check-cache-performance">

257 Проверка производительности кэша259 Проверка производительности кэша


290| `DISABLE_PROMPT_CACHING_HAIKU` | Отключить для Haiku только |292| `DISABLE_PROMPT_CACHING_HAIKU` | Отключить для Haiku только |

291| `DISABLE_PROMPT_CACHING_SONNET` | Отключить для Sonnet только |293| `DISABLE_PROMPT_CACHING_SONNET` | Отключить для Sonnet только |

292| `DISABLE_PROMPT_CACHING_OPUS` | Отключить для Opus только |294| `DISABLE_PROMPT_CACHING_OPUS` | Отключить для Opus только |

295| `DISABLE_PROMPT_CACHING_FABLE` | Отключить для Fable только |

293 296 

294Чтобы установить политику кэширования по организации, поместите любую из этих или [переменных TTL](#cache-lifetime) в блок `env` [управляемых параметров](/ru/settings#settings-files). Для нормального использования оставьте кэширование включённым.297Чтобы установить политику кэширования по организации, поместите любую из этих или [переменных TTL](#cache-lifetime) в блок `env` [управляемых параметров](/ru/settings#settings-files). Для нормального использования оставьте кэширование включённым.

295 298 

quickstart.md +12 −5

Details

118claude118claude

119```119```

120 120 

121Вы увидите экран приветствия Claude Code с информацией о вашем сеансе, недавними разговорами и последними обновлениями. Введите `/help` для доступных команд или `/resume` для продолжения предыдущего разговора.121Вы увидите приглашение Claude Code с версией, текущей моделью и рабочим каталогом, показанными выше. Введите `/help` для доступных команд или `/resume` для продолжения предыдущего разговора.

122 122 

123<Tip>123<Tip>

124 После входа (Шаг 2) ваши учётные данные сохраняются на вашей системе. Узнайте больше в [Управлении учётными данными](/ru/authentication#credential-management).124 После входа (Шаг 2) ваши учётные данные сохраняются на вашей системе. Узнайте больше в [Управлении учётными данными](/ru/authentication#credential-management).


278 Основные команды278 Основные команды

279</h2>279</h2>

280 280 

281Вот наиболее важные команды для ежедневного использования:281Вот наиболее важные команды для ежедневного использования. Команды оболочки запускаются из вашего терминала для запуска или возобновления Claude Code. Команды сеанса запускаются внутри Claude Code после его запуска.

282 

283**Команды оболочки**

282 284 

283| Команда | Что она делает | Пример |285| Команда | Что она делает | Пример |

284| ------------------- | ------------------------------------------------------ | ----------------------------------- |286| ------------------- | ------------------------------------------------------ | ----------------------------------- |


287| `claude -p "query"` | Запустить одноразовый запрос, затем выйти | `claude -p "explain this function"` |289| `claude -p "query"` | Запустить одноразовый запрос, затем выйти | `claude -p "explain this function"` |

288| `claude -c` | Продолжить самый последний разговор в текущем каталоге | `claude -c` |290| `claude -c` | Продолжить самый последний разговор в текущем каталоге | `claude -c` |

289| `claude -r` | Возобновить предыдущий разговор | `claude -r` |291| `claude -r` | Возобновить предыдущий разговор | `claude -r` |

292 

293**Команды сеанса**

294 

295| Команда | Что она делает | Пример |

296| ------------------ | -------------------------- | -------- |

290| `/clear` | Очистить историю разговора | `/clear` |297| `/clear` | Очистить историю разговора | `/clear` |

291| `/help` | Показать доступные команды | `/help` |298| `/help` | Показать доступные команды | `/help` |

292| `exit` или Ctrl+D | Выйти из Claude Code | `exit` |299| `/exit` или Ctrl+D | Выйти из Claude Code | `/exit` |

293 300 

294Смотрите [справочник CLI](/ru/cli-reference) для полного списка команд.301Смотрите [справочник CLI](/ru/cli-reference) для полного списка команд оболочки и [справочник команд](/ru/commands) для полного списка команд сеанса.

295 302 

296<h2 id="pro-tips-for-beginners">303<h2 id="pro-tips-for-beginners">

297 Советы для начинающих304 Советы для начинающих


336 </Accordion>343 </Accordion>

337</AccordionGroup>344</AccordionGroup>

338 345 

339<h2 id="what-s-next">346<h2 id="whats-next">

340 Что дальше?347 Что дальше?

341</h2>348</h2>

342 349 

remote-control.md +74 −29

Details

26 26 

27На этой странице рассматриваются настройка, способы запуска и подключения к сеансам, а также сравнение Remote Control с Claude Code в веб-версии.27На этой странице рассматриваются настройка, способы запуска и подключения к сеансам, а также сравнение Remote Control с Claude Code в веб-версии.

28 28 

29## Требования29<h2 id="requirements">

30 Требования

31</h2>

30 32 

31Перед использованием Remote Control убедитесь, что ваша среда соответствует этим условиям:33Перед использованием Remote Control убедитесь, что ваша среда соответствует этим условиям:

32 34 


34* **Аутентификация**: запустите `claude` и используйте `/login` для входа через claude.ai, если вы ещё этого не сделали.36* **Аутентификация**: запустите `claude` и используйте `/login` для входа через claude.ai, если вы ещё этого не сделали.

35* **Доверие рабочей области**: запустите `claude` в каталоге вашего проекта хотя бы один раз, чтобы принять диалог доверия рабочей области.37* **Доверие рабочей области**: запустите `claude` в каталоге вашего проекта хотя бы один раз, чтобы принять диалог доверия рабочей области.

36 38 

37## Запуск сеанса Remote Control39<h2 id="start-a-remote-control-session">

40 Запуск сеанса Remote Control

41</h2>

38 42 

39Вы можете запустить сеанс Remote Control из CLI или расширения VS Code. CLI предлагает три режима вызова; VS Code использует команду `/remote-control`.43Вы можете запустить сеанс Remote Control из CLI или расширения VS Code. CLI предлагает три режима вызова; VS Code использует команду `/remote-control`.

40 44 


89 /remote-control My Project93 /remote-control My Project

90 ```94 ```

91 95 

92 Это запускает сеанс Remote Control, который переносит историю вашей текущей беседы и отображает URL сеанса и QR-код, которые вы можете использовать для [подключения с другого устройства](#connect-from-another-device). Флаги `--verbose`, `--sandbox` и `--no-sandbox` недоступны с этой командой.96 Это запускает сеанс Remote Control, который переносит историю вашей текущей беседы.

97 

98 Флаги `--verbose`, `--sandbox` и `--no-sandbox` недоступны с этой командой.

93 </Tab>99 </Tab>

94 100 

95 <Tab title="VS Code">101 <Tab title="VS Code">


107 </Tab>113 </Tab>

108</Tabs>114</Tabs>

109 115 

110### Подключение с другого устройства116<h3 id="check-connection-status">

117 Проверка статуса подключения

118</h3>

119 

120В интерактивном сеансе терминала индикатор `/rc active` находится в нижнем колонтитуле под полем ввода, пока соединение активно, и скрывается, если терминал слишком узкий, чтобы его вместить. Текст индикатора является ссылкой на сеанс на claude.ai. Выберите его клавишей со стрелкой вниз и нажмите Enter, или запустите `/remote-control` снова, чтобы открыть панель статуса с URL сеанса и QR-кодом, который вы можете использовать для [подключения с другого устройства](#connect-from-another-device).

121 

122Если подключение не удаётся, индикатор становится красным и отображает `/rc failed`. Выберите его клавишей со стрелкой вниз и нажмите Enter, чтобы увидеть причину сбоя и опцию отклонения, или запустите `/remote-control` снова, чтобы повторить попытку.

123 

124<h3 id="connect-from-another-device">

125 Подключение с другого устройства

126</h3>

111 127 

112После активации сеанса Remote Control у вас есть несколько способов подключиться с другого устройства:128После активации сеанса Remote Control у вас есть несколько способов подключиться с другого устройства:

113 129 


1223. Последнее значимое сообщение в существующей истории беседы1383. Последнее значимое сообщение в существующей истории беседы

1234. Автоматически сгенерированное имя вроде `myhost-graceful-unicorn`, где `myhost` — это имя хоста вашего компьютера или префикс, который вы установили с помощью `--remote-control-session-name-prefix`1394. Автоматически сгенерированное имя вроде `myhost-graceful-unicorn`, где `myhost` — это имя хоста вашего компьютера или префикс, который вы установили с помощью `--remote-control-session-name-prefix`

124 140 

125Если вы не установили явное имя, название обновляется, чтобы отразить вашу подсказку после её отправки. Переименование сеанса из claude.ai или приложения Claude также обновляет локальное название, показанное в `claude --resume`.141Если вы не установили явное имя, название обновляется, чтобы отразить вашу подсказку после её отправки. {/* min-version: 2.1.176 */}Начиная с Claude Code версии 2.1.176, автоматически сгенерированные названия соответствуют языку вашей беседы или параметру [`language`](/ru/settings#available-settings), если он настроен. Переименование сеанса из claude.ai или приложения Claude также обновляет локальное название, показанное в `claude --resume`.

126 142 

127Если в среде уже есть активный сеанс, вас спросят, продолжить ли его или начать новый.143Если в среде уже есть активный сеанс, вас спросят, продолжить ли его или начать новый.

128 144 

129Если у вас ещё нет приложения Claude, используйте команду `/mobile` внутри Claude Code, чтобы отобразить QR-код загрузки для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) или [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude).145Если у вас ещё нет приложения Claude, используйте команду `/mobile` внутри Claude Code, чтобы отобразить QR-код загрузки для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) или [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude).

130 146 

131### Включение Remote Control для всех сеансов147<h3 id="enable-remote-control-for-all-sessions">

148 Включение Remote Control для всех сеансов

149</h3>

132 150 

133По умолчанию Remote Control активируется только при явном запуске `claude remote-control`, `claude --remote-control` или `/remote-control`. Чтобы включить его автоматически для каждого интерактивного сеанса, запустите `/config` внутри Claude Code и установите **Enable Remote Control for all sessions** на `true`. Установите обратно на `false`, чтобы отключить. В приложении Desktop вы также можете переключить это в **Settings → Claude Code → Enable remote control by default**.151По умолчанию Remote Control активируется только при явном запуске `claude remote-control`, `claude --remote-control` или `/remote-control`. Чтобы включить его автоматически для каждого интерактивного сеанса, запустите `/config` внутри Claude Code и установите **Enable Remote Control for all sessions** на `true`. Установите обратно на `false`, чтобы отключить. В приложении Desktop вы также можете переключить это в **Settings → Claude Code → Enable remote control by default**.

134 152 

135С этой настройкой каждый интерактивный процесс Claude Code регистрирует один удалённый сеанс. Если вы запустите несколько экземпляров, каждый получит свою собственную среду и сеанс. Чтобы запустить несколько одновременных сеансов из одного процесса, используйте [режим сервера](#start-a-remote-control-session) вместо этого.153С этой настройкой каждый интерактивный процесс Claude Code регистрирует один удалённый сеанс. Если вы запустите несколько экземпляров, каждый получит свою собственную среду и сеанс. Чтобы запустить несколько одновременных сеансов из одного процесса, используйте [режим сервера](#start-a-remote-control-session) вместо этого.

136 154 

137## Подключение и безопасность155<h2 id="connection-and-security">

156 Подключение и безопасность

157</h2>

138 158 

139Ваш локальный сеанс Claude Code выполняет только исходящие HTTPS запросы и никогда не открывает входящие порты на вашем компьютере. Когда вы запускаете Remote Control, он регистрируется в API Anthropic и опрашивает работу. Когда вы подключаетесь с другого устройства, сервер маршрутизирует сообщения между веб-клиентом или мобильным клиентом и вашим локальным сеансом через потоковое соединение.159Ваш локальный сеанс Claude Code выполняет только исходящие HTTPS запросы и никогда не открывает входящие порты на вашем компьютере. Когда вы запускаете Remote Control, он регистрируется в API Anthropic и опрашивает работу. Когда вы подключаетесь с другого устройства, сервер маршрутизирует сообщения между веб-клиентом или мобильным клиентом и вашим локальным сеансом через потоковое соединение.

140 160 

141Весь трафик проходит через API Anthropic через TLS, тот же транспортный протокол безопасности, что и любой сеанс Claude Code. Соединение использует несколько краткосрочных учётных данных, каждое из которых ограничено одной целью и истекает независимо.161Весь трафик проходит через API Anthropic через TLS, тот же транспортный протокол безопасности, что и любой сеанс Claude Code. Соединение использует несколько краткосрочных учётных данных, каждое из которых ограничено одной целью и истекает независимо.

142 162 

143## Remote Control в сравнении с Claude Code в веб-версии163<h2 id="remote-control-vs-claude-code-on-the-web">

164 Remote Control в сравнении с Claude Code в веб-версии

165</h2>

144 166 

145Remote Control и [Claude Code в веб-версии](/ru/claude-code-on-the-web) оба используют интерфейс claude.ai/code. Ключевое различие заключается в том, где работает сеанс: Remote Control выполняется на вашем компьютере, поэтому ваши локальные MCP servers, инструменты и конфигурация проекта остаются доступными. Claude Code в веб-версии выполняется в управляемой Anthropic облачной инфраструктуре.167Remote Control и [Claude Code в веб-версии](/ru/claude-code-on-the-web) оба используют интерфейс claude.ai/code. Ключевое различие заключается в том, где работает сеанс: Remote Control выполняется на вашем компьютере, поэтому ваши локальные MCP servers, инструменты и конфигурация проекта остаются доступными. Claude Code в веб-версии выполняется в управляемой Anthropic облачной инфраструктуре.

146 168 

147Используйте Remote Control, когда вы находитесь в процессе локальной работы и хотите продолжить с другого устройства. Используйте Claude Code в веб-версии, когда вы хотите начать задачу без какой-либо локальной настройки, работать с репозиторием, который у вас не клонирован, или запустить несколько задач параллельно.169Используйте Remote Control, когда вы находитесь в процессе локальной работы и хотите продолжить с другого устройства. Используйте Claude Code в веб-версии, когда вы хотите начать задачу без какой-либо локальной настройки, работать с репозиторием, который у вас не клонирован, или запустить несколько задач параллельно.

148 170 

149## Мобильные push-уведомления171<h2 id="mobile-push-notifications">

172 Мобильные push-уведомления

173</h2>

150 174 

151Когда Remote Control активен, Claude может отправлять push-уведомления на ваш телефон.175Когда Remote Control активен, Claude может отправлять push-уведомления на ваш телефон.

152 176 

153Claude решает, когда отправить уведомление. Обычно он отправляет одно, когда завершается долгоживущая задача или когда ему нужно решение от вас для продолжения. Вы также можете запросить push в своей подсказке, например `notify me when the tests finish`. Помимо переключателя включения/отключения ниже, нет конфигурации для каждого события.177Claude решает, когда отправить уведомление. Обычно он отправляет одно, когда завершается долгоживущая задача или когда ему нужно решение от вас для продолжения. Вы также можете запросить push в своей подсказке, например `notify me when the tests finish`. Помимо двух переключателей включения/отключения ниже, нет конфигурации для каждого события.

154 178 

155<Note>179<Note>

156 Мобильные push-уведомления требуют Claude Code версии 2.1.110 или позже.180 Мобильные push-уведомления требуют Claude Code версии 2.1.110 или позже.


172 </Step>196 </Step>

173 197 

174 <Step title="Включите push в Claude Code">198 <Step title="Включите push в Claude Code">

175 В вашем терминале запустите `/config` и включите **Push when Claude decides**.199 В вашем терминале запустите `/config` и включите **Push when Claude decides** для проактивных уведомлений, **Push when actions required** для запросов разрешений и вопросов или оба варианта.

176 </Step>200 </Step>

177</Steps>201</Steps>

178 202 


182* На iOS режимы Focus и сводки уведомлений могут подавлять или задерживать push-уведомления. Проверьте Settings → Notifications → Claude.206* На iOS режимы Focus и сводки уведомлений могут подавлять или задерживать push-уведомления. Проверьте Settings → Notifications → Claude.

183* На Android агрессивная оптимизация батареи может задержать доставку. Исключите приложение Claude из оптимизации батареи в системных параметрах.207* На Android агрессивная оптимизация батареи может задержать доставку. Исключите приложение Claude из оптимизации батареи в системных параметрах.

184 208 

185## Ограничения209<h2 id="limitations">

210 Ограничения

211</h2>

186 212 

187* **Один удалённый сеанс на интерактивный процесс**: вне режима сервера каждый экземпляр Claude Code поддерживает один удалённый сеанс одновременно. Используйте [режим сервера](#start-a-remote-control-session) для запуска нескольких одновременных сеансов из одного процесса.213* **Один удалённый сеанс на интерактивный процесс**: вне режима сервера каждый экземпляр Claude Code поддерживает один удалённый сеанс одновременно. Используйте [режим сервера](#start-a-remote-control-session) для запуска нескольких одновременных сеансов из одного процесса.

188* **Локальный процесс должен продолжать работать**: Remote Control работает как локальный процесс. Если вы закроете терминал, выйдете из VS Code или иным образом остановите процесс `claude`, сеанс завершится.214* **Локальный процесс должен продолжать работать**: Remote Control работает как локальный процесс. Если вы закроете терминал, выйдете из VS Code или иным образом остановите процесс `claude`, сеанс завершится.

189* **Продолжительный сбой сети**: если ваш компьютер включен, но не может достичь сеть более чем примерно на 10 минут, сеанс истекает и процесс завершается. Запустите `claude remote-control` снова, чтобы начать новый сеанс.215* **Продолжительный сбой сети**: если ваш компьютер включен, но не может достичь сеть более чем примерно на 10 минут, сеанс истекает и процесс завершается. Запустите `claude remote-control` снова, чтобы начать новый сеанс.

190* **Ultraplan отключает Remote Control**: запуск сеанса [ultraplan](/ru/ultraplan) отключает любой активный сеанс Remote Control, потому что обе функции занимают интерфейс claude.ai/code и одновременно может быть подключена только одна.216* **Ultraplan отключает Remote Control**: запуск сеанса [ultraplan](/ru/ultraplan) отключает любой активный сеанс Remote Control, потому что обе функции занимают интерфейс claude.ai/code и одновременно может быть подключена только одна.

191* **Некоторые команды работают только локально**: команды, которые открывают интерактивный выбор в терминале, такие как `/mcp`, `/plugin` или `/resume`, работают только из локального CLI. Команды, которые выводят текстовый результат, включая `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` и `/reload-plugins`, работают с мобильных устройств и веб-браузеров.217* **Некоторые команды работают только локально**: команды, которые открывают интерактивный выбор в терминале, такие как `/plugin` или `/resume`, работают только из локального CLI. Команды, которые выводят текстовый результат, включая `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` и `/reload-plugins`, работают с мобильных устройств и веб-браузеров. {/* min-version: 2.1.166 */}Начиная с версии 2.1.166, `/mcp` также работает с мобильных устройств и веб-браузеров: он возвращает текстовое резюме статуса сервера вместо открытия выбора и принимает те же [подкоманды](/ru/commands#all-commands) `reconnect`, `enable` и `disable`, что и локальный CLI, с одним отличием: с мобильных устройств и веб-браузеров `/mcp reconnect` без имени сервера переподключает каждый сервер, который не работает или требует аутентификации, в то время как локальный CLI требует имя сервера для `reconnect`.

192 218 

193## Устранение неполадок219<h2 id="troubleshooting">

220 Устранение неполадок

221</h2>

194 222 

195### "Remote Control requires a claude.ai subscription"223<h3 id="remote-control-requires-a-claude-ai-subscription">

224 "Remote Control requires a claude.ai subscription"

225</h3>

196 226 

197Вы не аутентифицированы с помощью учётной записи claude.ai. Запустите `claude auth login` и выберите опцию claude.ai. Если в вашей среде установлена переменная `ANTHROPIC_API_KEY`, отключите её сначала.227Вы не аутентифицированы с помощью учётной записи claude.ai. Запустите `claude auth login` и выберите опцию claude.ai. Если в вашей среде установлена переменная `ANTHROPIC_API_KEY`, отключите её сначала.

198 228 

199### "Remote Control requires a full-scope login token"229<h3 id="remote-control-requires-a-full-scope-login-token">

230 "Remote Control requires a full-scope login token"

231</h3>

200 232 

201Вы аутентифицированы с помощью долгоживущего токена из `claude setup-token` или переменной окружения `CLAUDE_CODE_OAUTH_TOKEN`. Эти токены ограничены только выводом и не могут устанавливать сеансы Remote Control. Запустите `claude auth login` для аутентификации с помощью полнофункционального токена сеанса вместо этого.233Вы аутентифицированы с помощью долгоживущего токена из `claude setup-token` или переменной окружения `CLAUDE_CODE_OAUTH_TOKEN`. Эти токены ограничены только выводом и не могут устанавливать сеансы Remote Control. Запустите `claude auth login` для аутентификации с помощью полнофункционального токена сеанса вместо этого.

202 234 

203### "Unable to determine your organization for Remote Control eligibility"235<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">

236 "Unable to determine your organization for Remote Control eligibility"

237</h3>

204 238 

205Ваша кэшированная информация об учётной записи устарела или неполна. Запустите `claude auth login` для обновления.239Ваша кэшированная информация об учётной записи устарела или неполна. Запустите `claude auth login` для обновления.

206 240 

207### "Remote Control is not yet enabled for your account"241<h3 id="remote-control-is-not-yet-enabled-for-your-account">

242 "Remote Control is not yet enabled for your account"

243</h3>

208 244 

209Проверка приемлемости может не пройти при наличии определённых переменных окружения:245Развёртывание Remote Control ещё не достигло вашей учётной записи, или ваши кэшированные права доступа устарели. Если вы недавно изменили план, запустите `claude auth logout`, а затем `claude auth login` для их обновления. Запустите `claude doctor` для просмотра того, какая проверка приемлемости не прошла. Конфликты переменных окружения, недостижимые проверки и политика организации каждая производят свои собственные сообщения, поэтому эта ошибка означает сам вентиль развёртывания.

210 246 

211* `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` или `DISABLE_TELEMETRY`: отключите их и попробуйте снова.247<h3 id="couldn’t-verify-remote-control-eligibility">

212* `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` или `CLAUDE_CODE_USE_FOUNDRY`: Remote Control требует аутентификации claude.ai и не работает с поставщиками третьих сторон.248 "Couldn't verify Remote Control eligibility"

249</h3>

213 250 

214Если ничего из этого не установлено, запустите `/logout`, а затем `/login` для обновления.251Claude Code не смог достичь сервиса флагов функций для проверки того, включен ли Remote Control для вашей учётной записи, обычно потому что вы находитесь в автономном режиме или прокси блокирует запрос. Повторите попытку, когда у вас будет доступ в сеть, или запустите `claude doctor` для получения подробностей. Связанное сообщение "Couldn't verify your organization's Remote Control policy" имеет ту же причину и то же решение. Оба сообщения были добавлены в v2.1.178.

215 252 

216### "Remote Control is disabled by your organization's policy"253<h3 id="remote-control-is-disabled-by-your-organizations-policy">

254 "Remote Control is disabled by your organization's policy"

255</h3>

217 256 

218Эта ошибка имеет четыре различные причины. Сначала запустите `/status`, чтобы увидеть, какой метод входа и подписку вы используете.257Эта ошибка имеет четыре различные причины. Запустите `/status` сначала для просмотра того, какой метод входа и подписку вы используете.

219 258 

220* **Вы аутентифицированы с помощью API ключа или учётной записи Console**: Remote Control требует OAuth claude.ai. Запустите `/login` и выберите опцию claude.ai. Если в вашей среде установлена переменная `ANTHROPIC_API_KEY`, отключите её.259* **Вы аутентифицированы с помощью API ключа или учётной записи Console**: Remote Control требует OAuth claude.ai. Запустите `/login` и выберите опцию claude.ai. Если в вашей среде установлена переменная `ANTHROPIC_API_KEY`, отключите её.

221* **Ваш администратор Team или Enterprise не включил это**: Remote Control отключен по умолчанию на этих планах. Администратор может включить его на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code), включив переключатель **Remote Control**. Этот переключатель является параметром организации на стороне сервера.260* **Ваш администратор Team или Enterprise не включил это**: Remote Control отключен по умолчанию на этих планах. Администратор может включить его на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code), включив переключатель **Remote Control**. Этот переключатель является параметром организации на стороне сервера.

222* **Переключатель администратора неактивен**: ваша организация имеет конфигурацию хранения данных или соответствия, которая несовместима с Remote Control. Это не может быть изменено из панели администратора. Свяжитесь с поддержкой Anthropic, чтобы обсудить варианты.261* **Переключатель администратора неактивен**: ваша организация имеет конфигурацию хранения данных или соответствия, которая несовместима с Remote Control. Это не может быть изменено из панели администратора. Свяжитесь с поддержкой Anthropic для обсуждения вариантов.

223* **Ошибка упоминает `disableRemoteControl`**: ваш IT администратор отключил Remote Control на этом устройстве через [управляемые параметры](/ru/settings#settings-files), независимо от переключателя на уровне организации.262* **Ошибка упоминает `disableRemoteControl`**: ваш IT администратор отключил Remote Control на этом устройстве через [управляемые параметры](/ru/settings#settings-files), независимо от переключателя на уровне организации.

224 263 

225### "Remote credentials fetch failed"264<h3 id="remote-credentials-fetch-failed">

265 "Remote credentials fetch failed"

266</h3>

226 267 

227Claude Code не смог получить краткосрочные учётные данные из API Anthropic для установления соединения. Запустите снова с `--verbose`, чтобы увидеть полную ошибку:268Claude Code не смог получить краткосрочные учётные данные из API Anthropic для установления соединения. Запустите снова с `--verbose` для просмотра полной ошибки:

228 269 

229```bash theme={null}270```bash theme={null}

230claude remote-control --verbose271claude remote-control --verbose


236* Проблема с сетью или прокси: брандмауэр или прокси может блокировать исходящий HTTPS запрос. Remote Control требует доступа к API Anthropic на порту 443.277* Проблема с сетью или прокси: брандмауэр или прокси может блокировать исходящий HTTPS запрос. Remote Control требует доступа к API Anthropic на порту 443.

237* Ошибка создания сеанса: если вы также видите `Session creation failed — see debug log`, ошибка произошла ранее при настройке. Проверьте, что ваша подписка активна.278* Ошибка создания сеанса: если вы также видите `Session creation failed — see debug log`, ошибка произошла ранее при настройке. Проверьте, что ваша подписка активна.

238 279 

239## Выберите правильный подход280<h2 id="choose-the-right-approach">

281 Выберите правильный подход

282</h2>

240 283 

241Claude Code offers several ways to work when you're not at your terminal. They differ in what triggers the work, where Claude runs, and how much you need to set up.284Claude Code offers several ways to work when you're not at your terminal. They differ in what triggers the work, where Claude runs, and how much you need to set up.

242 285 


248| [Slack](/en/slack) | Mention `@Claude` in a team channel | Anthropic cloud | [Install the Slack app](/en/slack#setting-up-claude-code-in-slack) with [Claude Code on the web](/en/claude-code-on-the-web) enabled | PRs and reviews from team chat |291| [Slack](/en/slack) | Mention `@Claude` in a team channel | Anthropic cloud | [Install the Slack app](/en/slack#setting-up-claude-code-in-slack) with [Claude Code on the web](/en/claude-code-on-the-web) enabled | PRs and reviews from team chat |

249| [Scheduled tasks](/en/scheduled-tasks) | Set a schedule | [CLI](/en/scheduled-tasks), [Desktop](/en/desktop-scheduled-tasks), or [cloud](/en/routines) | Pick a frequency | Recurring automation like daily reviews |292| [Scheduled tasks](/en/scheduled-tasks) | Set a schedule | [CLI](/en/scheduled-tasks), [Desktop](/en/desktop-scheduled-tasks), or [cloud](/en/routines) | Pick a frequency | Recurring automation like daily reviews |

250 293 

251## Связанные ресурсы294<h2 id="related-resources">

295 Связанные ресурсы

296</h2>

252 297 

253* [Claude Code в веб-версии](/ru/claude-code-on-the-web): запускайте сеансы в управляемых Anthropic облачных средах вместо вашего компьютера298* [Claude Code в веб-версии](/ru/claude-code-on-the-web): запускайте сеансы в управляемых Anthropic облачных средах вместо вашего компьютера

254* [Ultraplan](/ru/ultraplan): запустите сеанс облачного планирования из вашего терминала и просмотрите план в вашем браузере299* [Ultraplan](/ru/ultraplan): запустите сеанс облачного планирования из вашего терминала и просмотрите план в вашем браузере

routines.md +76 −26

Details

26 26 

27На этой странице рассматривается создание рутины, настройка каждого типа триггера, управление запусками и применение ограничений использования.27На этой странице рассматривается создание рутины, настройка каждого типа триггера, управление запусками и применение ограничений использования.

28 28 

29## Примеры использования29<h2 id="example-use-cases">

30 Примеры использования

31</h2>

30 32 

31Каждый пример сочетает тип триггера с типом работы, для которой подходят рутины: без присмотра, повторяемая и связанная с четким результатом.33Каждый пример сочетает тип триггера с типом работы, для которой подходят рутины: без присмотра, повторяемая и связанная с четким результатом.

32 34 


44 46 

45Разделы ниже описывают создание рутины и настройку каждого из этих типов триггеров.47Разделы ниже описывают создание рутины и настройку каждого из этих типов триггеров.

46 48 

47## Создание рутины49<h2 id="create-a-routine">

50 Создание рутины

51</h2>

48 52 

49Создайте рутину из веб-версии на [claude.ai/code/routines](https://claude.ai/code/routines), из приложения Desktop или из CLI. Все три интерфейса записывают в один облачный аккаунт, поэтому рутина, которую вы создаете в одном, сразу же появляется в других. В приложении Desktop нажмите **Routines** на боковой панели, затем **New routine**, и выберите **Remote**; выбор **Local** вместо этого создает [локальную запланированную задачу Desktop](/ru/desktop-scheduled-tasks), которая запускается на вашей машине, а не в облаке.53Создайте рутину из веб-версии на [claude.ai/code/routines](https://claude.ai/code/routines), из приложения Desktop или из CLI. Все три интерфейса записывают в один облачный аккаунт, поэтому рутина, которую вы создаете в одном, сразу же появляется в других. В приложении Desktop нажмите **Routines** на боковой панели, затем **New routine**, и выберите **Remote**; выбор **Local** вместо этого создает [локальную запланированную задачу Desktop](/ru/desktop-scheduled-tasks), которая запускается на вашей машине, а не в облаке.

50 54 


54 58 

55Рутины принадлежат вашему индивидуальному аккаунту claude.ai. Они не совместно используются с товарищами по команде и учитываются в дневном лимите запусков вашего аккаунта. Все, что рутина делает через вашу подключенную идентификацию GitHub или коннекторы, отображается как вы: коммиты и pull request несут вашего пользователя GitHub, а сообщения Slack, задачи Linear или другие действия коннектора используют ваши связанные аккаунты для этих сервисов.59Рутины принадлежат вашему индивидуальному аккаунту claude.ai. Они не совместно используются с товарищами по команде и учитываются в дневном лимите запусков вашего аккаунта. Все, что рутина делает через вашу подключенную идентификацию GitHub или коннекторы, отображается как вы: коммиты и pull request несут вашего пользователя GitHub, а сообщения Slack, задачи Linear или другие действия коннектора используют ваши связанные аккаунты для этих сервисов.

56 60 

57### Создание из веб-версии61<h3 id="create-from-the-web">

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

63</h3>

58 64 

59<Steps>65<Steps>

60 <Step title="Откройте форму создания">66 <Step title="Откройте форму создания">


114 </Step>120 </Step>

115</Steps>121</Steps>

116 122 

117### Создание из CLI123<h3 id="create-from-the-cli">

124 Создание из CLI

125</h3>

118 126 

119Запустите `/schedule` в любом сеансе, чтобы создать запланированную рутину в диалоговом режиме. Вы также можете передать описание напрямую, например для повторяющейся рутины как `/schedule daily PR review at 9am` или одноразовой как `/schedule clean up feature flag in one week`. Claude проходит через ту же информацию, которую собирает веб-форма, затем сохраняет рутину в ваш аккаунт.127Запустите `/schedule` в любом сеансе, чтобы создать запланированную рутину в диалоговом режиме. Вы также можете передать описание напрямую, например для повторяющейся рутины как `/schedule daily PR review at 9am` или одноразовой как `/schedule clean up feature flag in one week`. Claude проходит через ту же информацию, которую собирает веб-форма, затем сохраняет рутину в ваш аккаунт.

120 128 


122 130 

123CLI также поддерживает управление существующими рутинами. Запустите `/schedule list`, чтобы увидеть все рутины, `/schedule update`, чтобы изменить одну, или `/schedule run`, чтобы запустить ее немедленно.131CLI также поддерживает управление существующими рутинами. Запустите `/schedule list`, чтобы увидеть все рутины, `/schedule update`, чтобы изменить одну, или `/schedule run`, чтобы запустить ее немедленно.

124 132 

125## Настройка триггеров133<h2 id="configure-triggers">

134 Настройка триггеров

135</h2>

126 136 

127Рутина запускается, когда один из ее триггеров совпадает. Вы можете присоединить любую комбинацию триггеров расписания, API и GitHub к одной рутине и добавлять или удалять их в любое время из раздела **Select a trigger** формы редактирования рутины.137Рутина запускается, когда один из ее триггеров совпадает. Вы можете присоединить любую комбинацию триггеров расписания, API и GitHub к одной рутине и добавлять или удалять их в любое время из раздела **Select a trigger** формы редактирования рутины.

128 138 

129### Добавление триггера расписания139<h3 id="add-a-schedule-trigger">

140 Добавление триггера расписания

141</h3>

130 142 

131Триггер расписания запускает рутину по повторяющемуся расписанию или один раз в определенное будущее время. Выберите предустановленную частоту в разделе **Select a trigger**: ежечасно, ежедневно, по рабочим дням или еженедельно. Времена вводятся в вашем локальном часовом поясе и преобразуются автоматически, поэтому рутина запускается в это время независимо от того, где находится облачная инфраструктура.143Триггер расписания запускает рутину по повторяющемуся расписанию или один раз в определенное будущее время. Выберите предустановленную частоту в разделе **Select a trigger**: ежечасно, ежедневно, по рабочим дням или еженедельно. Времена вводятся в вашем локальном часовом поясе и преобразуются автоматически, поэтому рутина запускается в это время независимо от того, где находится облачная инфраструктура.

132 144 


134 146 

135Для пользовательского интервала, такого как каждые два часа или первое число каждого месяца, выберите ближайшую предустановку в форме, затем запустите `/schedule update` в CLI, чтобы установить конкретное выражение cron. Минимальный интервал — один час; выражения, которые запускаются чаще, отклоняются.147Для пользовательского интервала, такого как каждые два часа или первое число каждого месяца, выберите ближайшую предустановку в форме, затем запустите `/schedule update` в CLI, чтобы установить конкретное выражение cron. Минимальный интервал — один час; выражения, которые запускаются чаще, отклоняются.

136 148 

137#### Планирование одноразового запуска149<h4 id="schedule-a-one-off-run">

150 Планирование одноразового запуска

151</h4>

138 152 

139Одноразовое расписание запускает рутину один раз в определенный момент времени. Используйте его, чтобы напомнить себе позже на неделе, открыть PR очистки после завершения развертывания или запустить последующую задачу, когда приходит изменение вышестоящего уровня. После запуска рутины она автоматически отключается, и веб-интерфейс отмечает ее как **Ran**. Чтобы запустить ее снова, отредактируйте рутину и установите новое одноразовое время.153Одноразовое расписание запускает рутину один раз в определенный момент времени. Используйте его, чтобы напомнить себе позже на неделе, открыть PR очистки после завершения развертывания или запустить последующую задачу, когда приходит изменение вышестоящего уровня. После запуска рутины она автоматически отключается, и веб-интерфейс отмечает ее как **Ran**. Чтобы запустить ее снова, отредактируйте рутину и установите новое одноразовое время.

140 154 


152 166 

153Одноразовые запуски не учитываются в дневном лимите запусков рутины. Они потребляют обычное использование подписки вашего плана, как и любой другой сеанс. Подробности см. в разделе [Usage and limits](#usage-and-limits).167Одноразовые запуски не учитываются в дневном лимите запусков рутины. Они потребляют обычное использование подписки вашего плана, как и любой другой сеанс. Подробности см. в разделе [Usage and limits](#usage-and-limits).

154 168 

155### Добавление триггера API169<h3 id="add-an-api-trigger">

170 Добавление триггера API

171</h3>

156 172 

157Триггер API дает рутине выделенную конечную точку HTTP. POST на конечную точку с токеном-носителем рутины запускает новый сеанс и возвращает URL сеанса. Используйте это для подключения Claude Code к системам оповещений, конвейерам развертывания, внутренним инструментам или везде, где вы можете сделать аутентифицированный HTTP запрос.173Триггер API дает рутине выделенную конечную точку HTTP. POST на конечную точку с токеном-носителем рутины запускает новый сеанс и возвращает URL сеанса. Используйте это для подключения Claude Code к системам оповещений, конвейерам развертывания, внутренним инструментам или везде, где вы можете сделать аутентифицированный HTTP запрос.

158 174 


178 194 

179Каждая рутина имеет свой токен, ограниченный только запуском этой рутины. Чтобы повернуть или отозвать его, вернитесь в то же модальное окно и нажмите **Regenerate** или **Revoke**.195Каждая рутина имеет свой токен, ограниченный только запуском этой рутины. Чтобы повернуть или отозвать его, вернитесь в то же модальное окно и нажмите **Regenerate** или **Revoke**.

180 196 

181#### Запуск рутины197<h4 id="trigger-a-routine">

198 Запуск рутины

199</h4>

182 200 

183Отправьте POST запрос на конечную точку `/fire` с токеном-носителем в заголовке `Authorization`. Тело запроса принимает дополнительное поле `text` для контекста, специфичного для запуска, такого как тело оповещения или неудачный журнал, переданное рутине вместе с ее сохраненной подсказкой. Значение — это свободный текст и не анализируется: если вы отправляете JSON или другую структурированную полезную нагрузку, рутина получает ее как буквальную строку.201Отправьте POST запрос на конечную точку `/fire` с токеном-носителем в заголовке `Authorization`. Тело запроса принимает дополнительное поле `text` для контекста, специфичного для запуска, такого как тело оповещения или неудачный журнал, переданное рутине вместе с ее сохраненной подсказкой. Значение — это свободный текст и не анализируется: если вы отправляете JSON или другую структурированную полезную нагрузку, рутина получает ее как буквальную строку.

184 202 


209 Конечная точка `/fire` поставляется под заголовком бета-версии `experimental-cc-routine-2026-04-01`. Формы запроса и ответа, ограничения скорости и семантика токенов могут измениться, пока функция находится в исследовательском предпросмотре. Критические изменения поставляются за новыми версиями заголовка бета-версии с датой, и две самые последние предыдущие версии заголовка продолжают работать, чтобы у вызывающих было время для миграции.227 Конечная точка `/fire` поставляется под заголовком бета-версии `experimental-cc-routine-2026-04-01`. Формы запроса и ответа, ограничения скорости и семантика токенов могут измениться, пока функция находится в исследовательском предпросмотре. Критические изменения поставляются за новыми версиями заголовка бета-версии с датой, и две самые последние предыдущие версии заголовка продолжают работать, чтобы у вызывающих было время для миграции.

210</Warning>228</Warning>

211 229 

212#### Справочник API230<h4 id="api-reference">

231 Справочник API

232</h4>

213 233 

214Для полного справочника API, включая все ответы об ошибках, правила валидации и ограничения полей, смотрите [Trigger a routine via API](https://platform.claude.com/docs/ru/api/claude-code/routines-fire) в документации Claude Platform.234Для полного справочника API, включая все ответы об ошибках, правила валидации и ограничения полей, смотрите [Trigger a routine via API](https://platform.claude.com/docs/ru/api/claude-code/routines-fire) в документации Claude Platform.

215 235 

216Конечная точка `/fire` доступна только пользователям claude.ai и не является частью поверхности Claude Platform API.236Конечная точка `/fire` доступна только пользователям claude.ai и не является частью поверхности Claude Platform API.

217 237 

218### Добавление триггера GitHub238<h3 id="add-a-github-trigger">

239 Добавление триггера GitHub

240</h3>

219 241 

220Триггер GitHub запускает новый сеанс автоматически, когда совпадающее событие происходит в подключенном репозитории. Каждое совпадающее событие запускает свой собственный сеанс.242Триггер GitHub запускает новый сеанс автоматически, когда совпадающее событие происходит в подключенном репозитории. Каждое совпадающее событие запускает свой собственный сеанс.

221 243 


247 </Step>269 </Step>

248</Steps>270</Steps>

249 271 

250#### Поддерживаемые события272<h4 id="supported-events">

273 Поддерживаемые события

274</h4>

251 275 

252Триггеры GitHub могут подписаться на одну из следующих категорий событий. В каждой категории вы можете выбрать конкретное действие, такое как `pull_request.opened`, или реагировать на все действия в категории.276Триггеры GitHub могут подписаться на одну из следующих категорий событий. В каждой категории вы можете выбрать конкретное действие, такое как `pull_request.opened`, или реагировать на все действия в категории.

253 277 


256| Pull request | PR открыт, закрыт, назначен, помечен, синхронизирован или иным образом обновлен |280| Pull request | PR открыт, закрыт, назначен, помечен, синхронизирован или иным образом обновлен |

257| Release | Релиз создан, опубликован, отредактирован или удален |281| Release | Релиз создан, опубликован, отредактирован или удален |

258 282 

259#### Фильтрация pull request283<h4 id="filter-pull-requests">

284 Фильтрация pull request

285</h4>

260 286 

261Используйте фильтры, чтобы сузить, какие pull request запускают новый сеанс. Все условия фильтра должны совпадать, чтобы рутина сработала. Доступные поля фильтра:287Используйте фильтры, чтобы сузить, какие pull request запускают новый сеанс. Все условия фильтра должны совпадать, чтобы рутина сработала. Доступные поля фильтра:

262 288 


281* **Ready-for-review only**: is draft is `false`. Пропускает черновики, поэтому рутина запускается только, когда PR готов к проверке.307* **Ready-for-review only**: is draft is `false`. Пропускает черновики, поэтому рутина запускается только, когда PR готов к проверке.

282* **Label-gated backport**: labels include `needs-backport`. Запускает рутину портирования в другую ветвь только, когда мейнтейнер помечает PR.308* **Label-gated backport**: labels include `needs-backport`. Запускает рутину портирования в другую ветвь только, когда мейнтейнер помечает PR.

283 309 

284#### Как сеансы соответствуют событиям310<h4 id="how-sessions-map-to-events">

311 Как сеансы соответствуют событиям

312</h4>

285 313 

286Каждое совпадающее событие GitHub запускает новый сеанс. Повторное использование сеанса между событиями недоступно для рутин, запускаемых GitHub, поэтому два обновления PR создают два независимых сеанса.314Каждое совпадающее событие GitHub запускает новый сеанс. Повторное использование сеанса между событиями недоступно для рутин, запускаемых GitHub, поэтому два обновления PR создают два независимых сеанса.

287 315 

288## Управление рутинами316<h2 id="manage-routines">

317 Управление рутинами

318</h2>

289 319 

290Нажмите рутину в списке, чтобы открыть ее страницу деталей. Страница деталей показывает репозитории рутины, коннекторы, подсказку, расписание, токены API, триггеры GitHub и список прошлых запусков.320Нажмите рутину в списке, чтобы открыть ее страницу деталей. Страница деталей показывает репозитории рутины, коннекторы, подсказку, расписание, токены API, триггеры GitHub и список прошлых запусков.

291 321 

292### Просмотр и взаимодействие с запусками322<h3 id="view-and-interact-with-runs">

323 Просмотр и взаимодействие с запусками

324</h3>

293 325 

294Нажмите любой запуск, чтобы открыть его как полный сеанс. Оттуда вы можете увидеть, что сделал Claude, проверить изменения, создать pull request или продолжить разговор. Каждый сеанс запуска работает как любой другой сеанс: используйте меню раскрывающегося списка рядом с заголовком сеанса, чтобы переименовать, архивировать или удалить его.326Нажмите любой запуск, чтобы открыть его как полный сеанс. Оттуда вы можете увидеть, что сделал Claude, проверить изменения, создать pull request или продолжить разговор. Каждый сеанс запуска работает как любой другой сеанс: используйте меню раскрывающегося списка рядом с заголовком сеанса, чтобы переименовать, архивировать или удалить его.

295 327 


297 Зеленый статус в списке запусков означает, что сеанс запустился и завершился без ошибки инфраструктуры. Это не означает, что задача в вашей подсказке выполнена успешно. Откройте запуск, чтобы прочитать стенограмму и подтвердить, что Claude действительно сделал. Заблокированные сетевые запросы, отсутствующие инструменты коннектора и сбои на уровне задачи отображаются там, а не в индикаторе статуса.329 Зеленый статус в списке запусков означает, что сеанс запустился и завершился без ошибки инфраструктуры. Это не означает, что задача в вашей подсказке выполнена успешно. Откройте запуск, чтобы прочитать стенограмму и подтвердить, что Claude действительно сделал. Заблокированные сетевые запросы, отсутствующие инструменты коннектора и сбои на уровне задачи отображаются там, а не в индикаторе статуса.

298</Note>330</Note>

299 331 

300### Редактирование и управление рутинами332<h3 id="edit-and-control-routines">

333 Редактирование и управление рутинами

334</h3>

301 335 

302Со страницы деталей рутины вы можете:336Со страницы деталей рутины вы можете:

303 337 


306* Нажать значок карандаша, чтобы открыть **Edit routine** и изменить имя, подсказку, репозитории, окружение, коннекторы или любые триггеры рутины. Раздел **Select a trigger** — это место, где вы добавляете или удаляете расписания, токены API и триггеры событий GitHub.340* Нажать значок карандаша, чтобы открыть **Edit routine** и изменить имя, подсказку, репозитории, окружение, коннекторы или любые триггеры рутины. Раздел **Select a trigger** — это место, где вы добавляете или удаляете расписания, токены API и триггеры событий GitHub.

307* Нажать значок удаления, чтобы удалить рутину. Прошлые сеансы, созданные рутиной, остаются в вашем списке сеансов.341* Нажать значок удаления, чтобы удалить рутину. Прошлые сеансы, созданные рутиной, остаются в вашем списке сеансов.

308 342 

309### Репозитории и разрешения ветвей343<h3 id="repositories-and-branch-permissions">

344 Репозитории и разрешения ветвей

345</h3>

310 346 

311Рутинам нужен доступ GitHub для клонирования репозиториев. Когда вы создаете рутину из CLI с `/schedule`, Claude проверяет, подключен ли ваш аккаунт к GitHub, и предлагает вам запустить `/web-setup`, если это не так. Смотрите [GitHub authentication options](/ru/claude-code-on-the-web#github-authentication-options) для двух способов предоставления доступа.347Рутинам нужен доступ GitHub для клонирования репозиториев. Когда вы создаете рутину из CLI с `/schedule`, Claude проверяет, подключен ли ваш аккаунт к GitHub, и предлагает вам запустить `/web-setup`, если это не так. Смотрите [GitHub authentication options](/ru/claude-code-on-the-web#github-authentication-options) для двух способов предоставления доступа.

312 348 


314 350 

315По умолчанию Claude может только push в ветви с префиксом `claude/`. Это предотвращает случайное изменение рутинами защищенных или долгоживущих ветвей. Чтобы удалить это ограничение для конкретного репозитория, включите **Allow unrestricted branch pushes** для этого репозитория при создании или редактировании рутины.351По умолчанию Claude может только push в ветви с префиксом `claude/`. Это предотвращает случайное изменение рутинами защищенных или долгоживущих ветвей. Чтобы удалить это ограничение для конкретного репозитория, включите **Allow unrestricted branch pushes** для этого репозитория при создании или редактировании рутины.

316 352 

317### Коннекторы353<h3 id="connectors">

354 Коннекторы

355</h3>

318 356 

319Рутины могут использовать ваши подключенные MCP коннекторы для чтения и записи во внешние сервисы во время каждого запуска. Например, рутина, которая сортирует запросы поддержки, может читать из канала Slack и создавать проблемы в Linear.357Рутины могут использовать ваши подключенные MCP коннекторы для чтения и записи во внешние сервисы во время каждого запуска. Например, рутина, которая сортирует запросы поддержки, может читать из канала Slack и создавать проблемы в Linear.

320 358 


324 362 

325Чтобы управлять или добавлять коннекторы вне формы рутины, посетите **Settings > Connectors** на claude.ai или используйте `/schedule update` в CLI.363Чтобы управлять или добавлять коннекторы вне формы рутины, посетите **Settings > Connectors** на claude.ai или используйте `/schedule update` в CLI.

326 364 

327### Окружения и сетевой доступ365<h3 id="environments-and-network-access">

366 Окружения и сетевой доступ

367</h3>

328 368 

329Каждая рутина запускается в [облачном окружении](/ru/claude-code-on-the-web#the-cloud-environment), которое контролирует сетевой доступ, переменные окружения и скрипты настройки. Рутина наследует политику сетевого доступа окружения при каждом запуске.369Каждая рутина запускается в [облачном окружении](/ru/claude-code-on-the-web#the-cloud-environment), которое контролирует сетевой доступ, переменные окружения и скрипты настройки. Рутина наследует политику сетевого доступа окружения при каждом запуске.

330 370 

331Окружение **Default** использует **Trusted** сетевой доступ: [список разрешений по умолчанию](/ru/claude-code-on-the-web#default-allowed-domains) реестров пакетов, API облачных провайдеров, реестров контейнеров и распространенных доменов разработки доступен, но произвольные домены недоступны. Исходящие запросы к другим хостам завершаются с ошибкой `403` и `x-deny-reason: host_not_allowed`. Трафик MCP коннектора маршрутизируется через серверы Anthropic, поэтому коннекторы, которые вы добавляете в рутину, работают без добавления их хостов в **Allowed domains**. Удалите все коннекторы, которые вам не нужны, в разделе [Коннекторы](#коннекторы).371Окружение **Default** использует **Trusted** сетевой доступ: [список разрешений по умолчанию](/ru/claude-code-on-the-web#default-allowed-domains) реестров пакетов, API облачных провайдеров, реестров контейнеров и распространенных доменов разработки доступен, но произвольные домены недоступны. Исходящие запросы к другим хостам завершаются с ошибкой `403` и `x-deny-reason: host_not_allowed`. Трафик MCP коннектора маршрутизируется через серверы Anthropic, поэтому коннекторы, которые вы добавляете в рутину, работают без добавления их хостов в **Allowed domains**. Удалите все коннекторы, которые вам не нужны, в разделе [Коннекторы](#connectors).

332 372 

333Чтобы разрешить дополнительные домены:373Чтобы разрешить дополнительные домены:

334 374 


356 396 

357Смотрите [Network access](/ru/claude-code-on-the-web#network-access) для подробной информации об уровнях доступа и списке разрешений по умолчанию.397Смотрите [Network access](/ru/claude-code-on-the-web#network-access) для подробной информации об уровнях доступа и списке разрешений по умолчанию.

358 398 

359## Использование и ограничения399<h2 id="usage-and-limits">

400 Использование и ограничения

401</h2>

360 402 

361Рутины снижают использование подписки так же, как интерактивные сеансы. В дополнение к стандартным ограничениям подписки, рутины имеют дневной лимит на количество запусков, которые могут начаться на аккаунт. Смотрите ваше текущее потребление и оставшиеся дневные запуски рутин на [claude.ai/code/routines](https://claude.ai/code/routines) или [claude.ai/settings/usage](https://claude.ai/settings/usage).403Рутины снижают использование подписки так же, как интерактивные сеансы. В дополнение к стандартным ограничениям подписки, рутины имеют дневной лимит на количество запусков, которые могут начаться на аккаунт. Смотрите ваше текущее потребление и оставшиеся дневные запуски рутин на [claude.ai/code/routines](https://claude.ai/code/routines) или [claude.ai/settings/usage](https://claude.ai/settings/usage).

362 404 


364 406 

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

366 408 

367## Troubleshooting409<h2 id="troubleshooting">

410 Troubleshooting

411</h2>

368 412 

369### `/schedule` возвращает "Unknown command"413<h3 id="/schedule-returns-unknown-command">

414 `/schedule` возвращает "Unknown command"

415</h3>

370 416 

371CLI скрывает `/schedule`, когда одно из его требований не выполнено. Причина обычно одна из следующих:417CLI скрывает `/schedule`, когда одно из его требований не выполнено. Причина обычно одна из следующих:

372 418 


377 423 

378Вы всегда можете создавать и управлять рутинами на [claude.ai/code/routines](https://claude.ai/code/routines) независимо от того, как настроен ваш CLI.424Вы всегда можете создавать и управлять рутинами на [claude.ai/code/routines](https://claude.ai/code/routines) независимо от того, как настроен ваш CLI.

379 425 

380### "Routines are disabled by your organization's policy"426<h3 id="routines-are-disabled-by-your-organizations-policy">

427 "Routines are disabled by your organization's policy"

428</h3>

381 429 

382Ваш администратор Team или Enterprise, вероятно, отключил переключатель **Routines** на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). Это параметр организации на стороне сервера, поэтому его нельзя переопределить из вашей локальной конфигурации. Свяжитесь с вашим администратором, чтобы запросить включение рутин для вашей организации.430Ваш администратор Team или Enterprise, вероятно, отключил переключатель **Routines** на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). Это параметр организации на стороне сервера, поэтому его нельзя переопределить из вашей локальной конфигурации. Свяжитесь с вашим администратором, чтобы запросить включение рутин для вашей организации.

383 431 

384## Связанные ресурсы432<h2 id="related-resources">

433 Связанные ресурсы

434</h2>

385 435 

386* [`/loop` and in-session scheduling](/ru/scheduled-tasks): запланируйте локальные задачи в открытом сеансе CLI436* [`/loop` and in-session scheduling](/ru/scheduled-tasks): запланируйте локальные задачи в открытом сеансе CLI

387* [Desktop scheduled tasks](/ru/desktop-scheduled-tasks): локальные запланированные задачи, которые запускаются на вашей машине с доступом к локальным файлам437* [Desktop scheduled tasks](/ru/desktop-scheduled-tasks): локальные запланированные задачи, которые запускаются на вашей машине с доступом к локальным файлам

Details

50 50 

51| Вы хотите | Начните с |51| Вы хотите | Начните с |

52| :------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |52| :------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |

53| Уменьшить запросы разрешений во время повседневной работы на собственной машине | [Sandboxed Bash tool](/ru/sandboxing), включенный с `/sandbox` |53| Уменьшить запросы разрешений во время повседневной работы на собственной машине | [sandboxed Bash tool](/ru/sandboxing), включенный с `/sandbox` |

54| Позволить Claude работать без присмотра с `--dangerously-skip-permissions` или в режиме auto | Предварительно настроенный [dev container](/ru/devcontainer), любой контейнер или VM, или [sandbox runtime](#sandbox-runtime) |54| Позволить Claude работать без присмотра с `--dangerously-skip-permissions` или в режиме auto | Предварительно настроенный [dev container](/ru/devcontainer), любой контейнер или VM, или [sandbox runtime](#sandbox-runtime) |

55| Изолировать серверы MCP и hooks, а также Bash, без Docker | Среда выполнения sandbox |55| Изолировать серверы MCP и hooks, а также Bash, без Docker | Среда выполнения sandbox |

56| Работать с ненадежным репозиторием | Выделенная виртуальная машина или [Claude Code on the web](/ru/claude-code-on-the-web), если у вас есть подписка Claude и подключенный аккаунт GitHub |56| Работать с ненадежным репозиторием | Выделенная виртуальная машина или [Claude Code on the web](/ru/claude-code-on-the-web), если у вас есть подписка Claude и подключенный аккаунт GitHub |


65 65 

66[Режимы разрешений](/ru/permission-modes) определяют, выполняется ли вызов инструмента и будете ли вы запрошены в первую очередь. Изоляция ограничивает то, что может получить доступ команда после ее выполнения. Эти два работают вместе: когда режим разрешений позволяет действиям выполняться без вашего запроса, граница изоляции ограничивает то, что эти действия могут достичь.66[Режимы разрешений](/ru/permission-modes) определяют, выполняется ли вызов инструмента и будете ли вы запрошены в первую очередь. Изоляция ограничивает то, что может получить доступ команда после ее выполнения. Эти два работают вместе: когда режим разрешений позволяет действиям выполняться без вашего запроса, граница изоляции ограничивает то, что эти действия могут достичь.

67 67 

68`--dangerously-skip-permissions` полностью удаляет проверку для каждого действия, поэтому граница изоляции — это единственное, что ограничивает то, что может сделать Claude. Всегда запускайте его внутри контейнера, VM или [sandbox runtime](#sandbox-runtime), чтобы инструменты файлов, серверы MCP и hooks также находились внутри границы.68`--dangerously-skip-permissions` удаляет проверку для каждого действия, кроме явных [ask rules](/ru/permissions#manage-permissions), поэтому граница изоляции — это единственное, что ограничивает то, что может сделать Claude. Всегда запускайте его внутри контейнера, VM или [sandbox runtime](#sandbox-runtime), чтобы инструменты файлов, серверы MCP и hooks также находились внутри границы.

69 69 

70[Auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) заменяет запрос классификатором, который проверяет действия и блокирует те, которые выходят за пределы запроса, нацеливаются на неизвестную инфраструктуру или кажутся вызванными враждебным контентом, который прочитал Claude. Классификатор — это контроль для каждого действия, а не граница изоляции, поэтому граница изоляции все еще добавляет защиту в глубину для автоматических запусков и не требуется так, как для `--dangerously-skip-permissions`.70[Auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) заменяет запрос классификатором, который проверяет действия и блокирует те, которые выходят за пределы запроса, нацеливаются на неизвестную инфраструктуру или кажутся вызванными враждебным контентом, который прочитал Claude. Классификатор — это контроль для каждого действия, а не граница изоляции, поэтому граница изоляции все еще добавляет защиту в глубину для автоматических запусков и не требуется так, как для `--dangerously-skip-permissions`.

71 71 

72[Sandboxed Bash tool](#sandboxed-bash-tool) сам по себе ограничивает только Bash, поэтому его недостаточно для полностью автоматических запусков в любом режиме. Вы можете комбинировать подходы: запуск sandboxed Bash tool внутри контейнера или VM дает вам ограничения команд на уровне ОС поверх внешней границы окружения. Для информации о том, как сам Bash sandbox взаимодействует с правилами разрешений и режимами разрешений, см. [How sandboxing relates to permissions and permission modes](/ru/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes).72[sandboxed Bash tool](#sandboxed-bash-tool) сам по себе ограничивает только Bash, поэтому его недостаточно для полностью автоматических запусков в любом режиме. Вы можете комбинировать подходы: запуск sandboxed Bash tool внутри контейнера или VM дает вам ограничения команд на уровне ОС поверх внешней границы окружения. Для информации о том, как сам Bash sandbox взаимодействует с правилами разрешений и режимами разрешений, см. [How sandboxing relates to permissions and permission modes](/ru/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes).

73 73 

74<h2 id="sandboxed-bash-tool">74<h2 id="sandboxed-bash-tool">

75 Sandboxed Bash tool75 Sandboxed Bash tool

sandboxing.md +10 −7

Details

6 6 

7> Узнайте, как изолированный инструмент Bash в Claude Code обеспечивает изоляцию файловой системы и сети для более безопасного и автономного выполнения агента.7> Узнайте, как изолированный инструмент Bash в Claude Code обеспечивает изоляцию файловой системы и сети для более безопасного и автономного выполнения агента.

8 8 

9Sandbox Bash позволяет Claude выполнять большинство команд оболочки без остановки для запроса разрешения. Вместо одобрения каждой команды вы определяете, какие файлы и сетевые домены могут использовать команды, и операционная система применяет эту границу для каждой команды Bash и её дочерних процессов.9Bash sandbox позволяет Claude выполнять большинство команд оболочки без остановки для запроса разрешения. Вместо одобрения каждой команды вы определяете, какие файлы и сетевые домены могут использовать команды, и операционная система применяет эту границу для каждой команды Bash и её дочерних процессов.

10 10 

11На этой странице рассматривается, как:11На этой странице рассматривается, как:

12 12 


49 </Step>49 </Step>

50 50 

51 <Step title="Выполните команду Bash">51 <Step title="Выполните команду Bash">

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

53 53 

54 Команды, которые не могут выполняться в sandbox, возвращаются к обычному потоку разрешений. Чтобы расширить или сузить эти границы, см. [Настройка sandboxing](#configure-sandboxing).54 Команды, которые не могут выполняться в sandbox, возвращаются к обычному потоку разрешений. Чтобы расширить или сузить эти границы, см. [Настройка sandboxing](#configure-sandboxing).

55 </Step>55 </Step>


134 134 

135* Явные [правила отказа](/ru/permissions) всегда соблюдаются135* Явные [правила отказа](/ru/permissions) всегда соблюдаются

136* Команды `rm` или `rmdir`, которые нацелены на `/`, ваш домашний каталог или другие критические пути системы, по-прежнему вызывают запрос разрешения136* Команды `rm` или `rmdir`, которые нацелены на `/`, ваш домашний каталог или другие критические пути системы, по-прежнему вызывают запрос разрешения

137* [Правила ask](/ru/permissions) применяются к командам, которые возвращаются к обычному потоку разрешений137* [Правила ask](/ru/permissions) с областью действия контента, такие как `Bash(git push *)`, по-прежнему требуют запроса даже для изолированных команд

138* Простое правило `Bash` ask, или эквивалентная форма `Bash(*)`, пропускается для команд, которые выполняются в изолированном режиме; оно по-прежнему применяется к командам, которые возвращаются к обычному потоку разрешений

138 139 

139**Режим обычных разрешений**: Все команды Bash проходят через обычный поток разрешений, даже когда они изолированы. Это обеспечивает больше контроля, но требует больше одобрений.140**Режим обычных разрешений**: Все команды Bash проходят через обычный поток разрешений, даже когда они изолированы. Это обеспечивает больше контроля, но требует больше одобрений.

140 141 

141В обоих режимах sandbox применяет одни и те же ограничения файловой системы и сети. Разница только в том, разрешены ли изолированные команды автоматически или требуют явного разрешения.142В обоих режимах sandbox применяет одни и те же ограничения файловой системы и сети. Разница только в том, разрешены ли изолированные команды автоматически или требуют явного разрешения.

142 143 

144Каталог временных файлов сеанса доступен для записи внутри sandbox по умолчанию, наряду с рабочим каталогом. Claude Code устанавливает `$TMPDIR` в этот каталог для изолированных команд, поэтому инструменты, которые записывают временные файлы, работают без дополнительной конфигурации. Неизолированные команды наследуют `$TMPDIR` вашей оболочки без изменений, что означает, что изолированные и неизолированные команды разрешают `$TMPDIR` в разные каталоги. Чтобы передавать временные файлы между ними, записывайте их в рабочий каталог вместо этого.

145 

143Некоторые команды вообще не могут выполняться внутри sandbox, такие как инструменты, несовместимые с ним, или те, которые требуют хоста, который вы не разрешили. Вместо того чтобы не выполнить задачу или потребовать отключения sandboxing, Claude Code включает механизм выхода: когда команда не выполняется из-за ограничений sandbox, Claude анализирует сбой и может повторить команду с параметром `dangerouslyDisableSandbox`. Повторная команда выполняется вне sandbox, поэтому она проходит через обычный поток разрешений и требует вашего одобрения.146Некоторые команды вообще не могут выполняться внутри sandbox, такие как инструменты, несовместимые с ним, или те, которые требуют хоста, который вы не разрешили. Вместо того чтобы не выполнить задачу или потребовать отключения sandboxing, Claude Code включает механизм выхода: когда команда не выполняется из-за ограничений sandbox, Claude анализирует сбой и может повторить команду с параметром `dangerouslyDisableSandbox`. Повторная команда выполняется вне sandbox, поэтому она проходит через обычный поток разрешений и требует вашего одобрения.

144 147 

145Вы можете отключить этот механизм выхода, установив `"allowUnsandboxedCommands": false` в ваши [параметры sandbox](/ru/settings#sandbox-settings). При отключении, что панель Overrides в `/sandbox` показывает как **Strict sandbox mode**, параметр `dangerouslyDisableSandbox` полностью игнорируется и все команды должны выполняться в sandbox или быть явно указаны в `excludedCommands`.148Вы можете отключить этот механизм выхода, установив `"allowUnsandboxedCommands": false` в ваши [параметры sandbox](/ru/settings#sandbox-settings). При отключении, что панель Overrides в `/sandbox` показывает как **Strict sandbox mode**, параметр `dangerouslyDisableSandbox` полностью игнорируется и все команды должны выполняться в sandbox или быть явно указаны в `excludedCommands`.


154 157 

155Настройте поведение sandbox через ваш файл `settings.json`. Полную справку по конфигурации см. в разделе [Settings](/ru/settings#sandbox-settings).158Настройте поведение sandbox через ваш файл `settings.json`. Полную справку по конфигурации см. в разделе [Settings](/ru/settings#sandbox-settings).

156 159 

157По умолчанию изолированные команды могут писать только в текущий рабочий каталог. Если команды подпроцесса, такие как `kubectl`, `terraform` или `npm`, должны писать вне каталога проекта, используйте `sandbox.filesystem.allowWrite` для предоставления доступа к определённым путям:160По умолчанию изолированные команды могут писать только в текущий рабочий каталог и временный каталог сеанса. Если команды подпроцесса, такие как `kubectl`, `terraform` или `npm`, должны писать вне этих каталогов, используйте `sandbox.filesystem.allowWrite` для предоставления доступа к определённым путям:

158 161 

159```json theme={null}162```json theme={null}

160{163{


209 212 

210Изолированный инструмент Bash ограничивает доступ к файловой системе определёнными каталогами:213Изолированный инструмент Bash ограничивает доступ к файловой системе определёнными каталогами:

211 214 

212* **Поведение записи по умолчанию**: доступ на чтение и запись к текущему рабочему каталогу и его подкаталогам215* **Поведение записи по умолчанию**: доступ на чтение и запись к текущему рабочему каталогу и его подкаталогам, а также к временному каталогу сеанса, на который указывает `$TMPDIR`

213* **Поведение чтения по умолчанию**: доступ на чтение ко всему компьютеру, кроме определённых запрещённых каталогов. Обратите внимание, что эта политика по умолчанию всё ещё разрешает чтение файлов учётных данных, таких как `~/.aws/credentials` и `~/.ssh/`. Добавьте их в `denyRead`, чтобы заблокировать их.216* **Поведение чтения по умолчанию**: доступ на чтение ко всему компьютеру, кроме определённых запрещённых каталогов. Обратите внимание, что эта политика по умолчанию всё ещё разрешает чтение файлов учётных данных, таких как `~/.aws/credentials` и `~/.ssh/`. Добавьте их в `denyRead`, чтобы заблокировать их.

214* **Заблокированный доступ**: невозможно изменять файлы вне текущего рабочего каталога без явного разрешения, включая файлы конфигурации оболочки, такие как `~/.bashrc`, и системные двоичные файлы в `/bin/`217* **Заблокированный доступ**: невозможно изменять файлы вне текущего рабочего каталога и временного каталога сеанса без явного разрешения, включая файлы конфигурации оболочки, такие как `~/.bashrc`, и системные двоичные файлы в `/bin/`

215* **Git worktrees**: когда рабочий каталог является [связанным git worktree](/ru/worktrees), sandbox также разрешает запись в общий каталог `.git` основного репозитория, чтобы команды, такие как `git commit`, могли обновлять ссылки и индекс. Запись в `hooks/` и `config` внутри этого каталога остаётся запрещённой.218* **Git worktrees**: когда рабочий каталог является [связанным git worktree](/ru/worktrees), sandbox также разрешает запись в общий каталог `.git` основного репозитория, чтобы команды, такие как `git commit`, могли обновлять ссылки и индекс. Запись в `hooks/` и `config` внутри этого каталога остаётся запрещённой.

216* **Настраиваемо**: определите пользовательские разрешённые и запрещённые пути через параметры219* **Настраиваемо**: определите пользовательские разрешённые и запрещённые пути через параметры

217 220 


416* **Subagents**: [subagents](/ru/sub-agents) работают в том же процессе, что и родительский сеанс, и используют ту же конфигурацию sandbox. Команды Bash внутри subagent изолированы, когда sandboxing включен в родительском сеансе.419* **Subagents**: [subagents](/ru/sub-agents) работают в том же процессе, что и родительский сеанс, и используют ту же конфигурацию sandbox. Команды Bash внутри subagent изолированы, когда sandboxing включен в родительском сеансе.

417 420 

418<Warning>421<Warning>

419 Эффективный sandboxing требует **как** изоляции файловой системы, **так и** сетевой изоляции. Без сетевой изоляции скомпрометированный агент может экспортировать конфиденциальные файлы, такие как ключи SSH. Без изоляции файловой системы скомпрометированный агент может установить бэкдор в системные ресурсы для получения сетевого доступа. Когда вы расширяете значения по умолчанию, проверьте, что путь `allowWrite`, широкая запись `allowedDomains` или исключение `excludedCommands` не отменяет ограничение на другой стороне.422 Эффективный sandboxing требует как изоляции файловой системы, так и сетевой изоляции. Без сетевой изоляции скомпрометированный агент может экспортировать конфиденциальные файлы, такие как ключи SSH. Без изоляции файловой системы скомпрометированный агент может установить бэкдор в системные ресурсы для получения сетевого доступа. Когда вы расширяете значения по умолчанию, проверьте, что путь `allowWrite`, широкая запись `allowedDomains` или исключение `excludedCommands` не отменяет ограничение на другой стороне.

420</Warning>423</Warning>

421 424 

422<h2 id="see-also">425<h2 id="see-also">

security.md +5 −5

Details

22 22 

23Claude Code использует строгие разрешения только для чтения по умолчанию. Когда требуются дополнительные действия (редактирование файлов, запуск тестов, выполнение команд), Claude Code запрашивает явное разрешение. Пользователи контролируют, одобрить ли действия один раз или разрешить их автоматически.23Claude Code использует строгие разрешения только для чтения по умолчанию. Когда требуются дополнительные действия (редактирование файлов, запуск тестов, выполнение команд), Claude Code запрашивает явное разрешение. Пользователи контролируют, одобрить ли действия один раз или разрешить их автоматически.

24 24 

25Мы разработали Claude Code так, чтобы он был прозрачным и безопасным. Например, мы требуем одобрения для bash команд перед их выполнением, давая вам прямой контроль. Этот подход позволяет пользователям и организациям настраивать разрешения напрямую.25Claude Code требует одобрения перед запуском команд Bash, которые могут изменять вашу систему. Встроенный набор команд только для чтения, таких как `ls`, `cat` и `git status`, выполняется без подсказки. Этот подход позволяет пользователям и организациям настраивать разрешения напрямую.

26 26 

27Для подробной конфигурации разрешений см. [Разрешения](/ru/permissions).27Для подробной конфигурации разрешений см. [Разрешения](/ru/permissions).

28 28 


32 32 

33Для снижения рисков в агентных системах:33Для снижения рисков в агентных системах:

34 34 

35* **Изолированный bash инструмент**: [Sandbox](/ru/sandboxing) bash команды с изоляцией файловой системы и сети, снижая количество запросов разрешений при сохранении безопасности. Включите с помощью `/sandbox` для определения границ, в которых Claude Code может работать автономно35* **Изолированный инструмент Bash**: [Sandbox](/ru/sandboxing) команды Bash с изоляцией файловой системы и сети, снижая количество запросов разрешений при сохранении безопасности. Включите с помощью `/sandbox` для определения границ, в которых Claude Code может работать автономно

36* **Ограничение доступа на запись**: Claude Code может писать только в папку, в которой он был запущен, и её подпапки — он не может изменять файлы в родительских директориях без явного разрешения. Хотя Claude Code может читать файлы вне рабочей директории (полезно для доступа к системным библиотекам и зависимостям), операции записи строго ограничены областью проекта, создавая четкую границу безопасности36* **Ограничение доступа на запись**: Claude Code может писать только в папку, в которой он был запущен, и её подпапки — он не может изменять файлы в родительских директориях без явного разрешения. Хотя Claude Code может читать файлы вне рабочей директории (полезно для доступа к системным библиотекам и зависимостям), операции записи строго ограничены областью проекта, создавая четкую границу безопасности

37* **Смягчение усталости от запросов**: Поддержка списков разрешений часто используемых безопасных команд для каждого пользователя, кодовой базы или организации37* **Смягчение усталости от запросов**: Поддержка списков разрешений часто используемых безопасных команд для каждого пользователя, кодовой базы или организации

38* **Режим Accept Edits**: Автоматически одобряет правки файлов и фиксированный набор команд Bash файловой системы, таких как `mkdir`, `touch`, `rm`, `mv`, `cp` и `sed` для путей в рабочей директории. Другие команды Bash и пути вне области действия по-прежнему запрашивают разрешение38* **Режим Accept Edits**: Автоматически одобряет правки файлов и фиксированный набор команд Bash файловой системы, таких как `mkdir`, `touch`, `rm`, `mv`, `cp` и `sed` для путей в рабочей директории. Другие команды Bash и пути вне области действия по-прежнему запрашивают разрешение


56* **Система разрешений**: Чувствительные операции требуют явного одобрения56* **Система разрешений**: Чувствительные операции требуют явного одобрения

57* **Анализ с учетом контекста**: Обнаруживает потенциально вредоносные инструкции путем анализа полного запроса57* **Анализ с учетом контекста**: Обнаруживает потенциально вредоносные инструкции путем анализа полного запроса

58* **Санитизация входных данных**: Предотвращает инъекции команд путем обработки пользовательских входных данных58* **Санитизация входных данных**: Предотвращает инъекции команд путем обработки пользовательских входных данных

59* **Черный список команд**: Блокирует рискованные команды, которые получают произвольный контент из веб-сети, такие как `curl` и `wget` по умолчанию. Когда явно разрешено, помните об [ограничениях шаблонов разрешений](/ru/permissions#tool-specific-permission-rules)59* **Одобрение команд сетевого доступа**: Команды, которые получают контент из веб-сети, такие как `curl` и `wget`, не одобряются автоматически по умолчанию. Они требуют одобрения, как и любая другая команда Bash, не предназначенная только для чтения, поэтому вы все еще можете одобрить их один раз или добавить явное правило разрешения, такое как `Bash(curl *)`. Чтобы заблокировать их полностью, добавьте их в [`permissions.deny`](/ru/permissions#tool-specific-permission-rules)

60 60 

61<h3 id="privacy-safeguards">61<h3 id="privacy-safeguards">

62 Защита конфиденциальности62 Защита конфиденциальности


77* **Одобрение сетевых запросов**: Инструменты, которые делают сетевые запросы, требуют одобрения пользователя по умолчанию77* **Одобрение сетевых запросов**: Инструменты, которые делают сетевые запросы, требуют одобрения пользователя по умолчанию

78* **Изолированные контекстные окна**: Web fetch использует отдельное контекстное окно, чтобы избежать инъекции потенциально вредоносных подсказок78* **Изолированные контекстные окна**: Web fetch использует отдельное контекстное окно, чтобы избежать инъекции потенциально вредоносных подсказок

79* **Проверка доверия**: Первые запуски кодовой базы и новые MCP servers требуют проверки доверия79* **Проверка доверия**: Первые запуски кодовой базы и новые MCP servers требуют проверки доверия

80 * Примечание: Проверка доверия отключена при неинтерактивном запуске с флагом `-p`. Исключением является [`--worktree`](/ru/worktrees), который по-прежнему требует, чтобы доверие было принято для каталога80 * Примечание: Проверка доверия отключена при неинтерактивном запуске с флагом `-p`

81 * Примечание: Когда вы запускаете Claude Code непосредственно в вашем домашнем каталоге, принятие доверия сохраняется только для текущего сеанса и не записывается на диск, поэтому подсказка появляется снова при каждом запуске. Нет никакого параметра для сохранения этого. Запустите Claude Code из подкаталога проекта вместо этого, где принятие доверия сохраняется для каждого каталога81 * Примечание: Когда вы запускаете Claude Code непосредственно в вашем домашнем каталоге, принятие доверия сохраняется только для текущего сеанса и не записывается на диск, поэтому подсказка появляется снова при каждом запуске. Нет никакого параметра для сохранения этого. Запустите Claude Code из подкаталога проекта вместо этого, где принятие доверия сохраняется для каждого каталога

82* **Обнаружение инъекций команд**: Подозрительные bash команды требуют ручного одобрения даже если они были ранее добавлены в список разрешений82* **Обнаружение инъекций команд**: Подозрительные bash команды требуют ручного одобрения даже если они были ранее добавлены в список разрешений

83* **Сопоставление с отказом по умолчанию**: Несопоставленные команды по умолчанию требуют ручного одобрения83* **Сопоставление с отказом по умолчанию**: Несопоставленные команды по умолчанию требуют ручного одобрения

84* **Описания на естественном языке**: Сложные bash команды включают объяснения для понимания пользователем84* **Описания на естественном языке**: Сложные bash команды включают объяснения для понимания пользователем

85* **Безопасное хранилище учетных данных**: API ключи и токены зашифрованы. См. [Управление учетными данными](/ru/authentication#credential-management)85* **Безопасное хранилище учетных данных**: API ключи и токены хранятся в macOS Keychain, когда это доступно, и защищены разрешениями файлов на Windows и Linux. См. [Управление учетными данными](/ru/authentication#credential-management)

86 86 

87<Warning>87<Warning>

88 **Риск безопасности Windows WebDAV**: При запуске Claude Code на Windows мы рекомендуем не включать WebDAV и не разрешать Claude Code доступ к путям, таким как `\\*`, которые могут содержать подпапки WebDAV. [WebDAV был объявлен устаревшим Microsoft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) из-за рисков безопасности. Включение WebDAV может позволить Claude Code инициировать сетевые запросы к удаленным хостам, обходя систему разрешений.88 **Риск безопасности Windows WebDAV**: При запуске Claude Code на Windows мы рекомендуем не включать WebDAV и не разрешать Claude Code доступ к путям, таким как `\\*`, которые могут содержать подпапки WebDAV. [WebDAV был объявлен устаревшим Microsoft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) из-за рисков безопасности. Включение WebDAV может позволить Claude Code инициировать сетевые запросы к удаленным хостам, обходя систему разрешений.

Details

10 10 

11После установки плагин работает автоматически. Нет ничего, что нужно вызывать, и нет отдельной команды, которую нужно помнить.11После установки плагин работает автоматически. Нет ничего, что нужно вызывать, и нет отдельной команды, которую нужно помнить.

12 12 

13Плагин является встроенным в сеанс компаньоном [Code Review](/ru/code-review), который работает на pull request. Этот плагин снижает объём того, что попадает в PR. Code Review ловит то, что остаётся. О том, как плагин работает вместе с проверкой по требованию и сканированием CI, см. [Как это работает с другими инструментами безопасности](#как-это-работает-с-другими-инструментами-безопасности).13Плагин является встроенным в сеанс компаньоном [Code Review](/ru/code-review), который работает на pull request. Этот плагин снижает объём того, что попадает в PR. Code Review ловит то, что остаётся. О том, как плагин работает вместе с проверкой по требованию и сканированием CI, см. [Как это работает с другими инструментами безопасности](#how-this-fits-with-other-security-tools).

14 14 

15## Предварительные требования15<h2 id="prerequisites">

16 Предварительные требования

17</h2>

16 18 

17* Claude Code CLI версии 2.1.144 или позже19* Claude Code CLI версии 2.1.144 или позже

18* Python 3.8 или позже в вашем `PATH`. Плагин пытается `python3`, `python` и `py -3` в этом порядке20* Python 3.8 или позже в вашем `PATH`. Плагин пытается `python3`, `python` и `py -3` в этом порядке


20 22 

21При первом запуске плагин создаёт виртуальное окружение под `~/.claude/security/` и устанавливает Claude Agent SDK в него, что требует `pip` и доступа в сеть. Если эта установка не удаётся, проверка коммита переходит на однократную проверку вместо агентивной. На Windows этап виртуального окружения пропускается, поэтому агентивная проверка коммита работает только если `claude-agent-sdk` уже импортируемый и в противном случае переходит на тот же способ.23При первом запуске плагин создаёт виртуальное окружение под `~/.claude/security/` и устанавливает Claude Agent SDK в него, что требует `pip` и доступа в сеть. Если эта установка не удаётся, проверка коммита переходит на однократную проверку вместо агентивной. На Windows этап виртуального окружения пропускается, поэтому агентивная проверка коммита работает только если `claude-agent-sdk` уже импортируемый и в противном случае переходит на тот же способ.

22 24 

23## Установка плагина25<h2 id="install-the-plugin">

26 Установка плагина

27</h2>

24 28 

25В сеансе Claude Code установите из [официального маркетплейса Anthropic](/ru/discover-plugins#official-anthropic-marketplace):29В сеансе Claude Code установите из [официального маркетплейса Anthropic](/ru/discover-plugins#official-anthropic-marketplace):

26 30 


36/reload-plugins40/reload-plugins

37```41```

38 42 

39### Включение в облачных сеансах и общих репозиториях43<h3 id="enable-in-cloud-sessions-and-shared-repositories">

44 Включение в облачных сеансах и общих репозиториях

45</h3>

40 46 

41Плагины с областью действия пользователя не переносятся в [Claude Code в веб-версии](/ru/claude-code-on-the-web), потому что эти сеансы работают на инфраструктуре Anthropic, а не на вашей машине. Чтобы включить плагин там или включить его для всех, кто клонирует репозиторий, объявите его в параметрах проекта, которые проверены:47Плагины с областью действия пользователя не переносятся в [Claude Code в веб-версии](/ru/claude-code-on-the-web), потому что эти сеансы работают на инфраструктуре Anthropic, а не на вашей машине. Чтобы включить плагин там или включить его для всех, кто клонирует репозиторий, объявите его в параметрах проекта, которые проверены:

42 48 


50 56 

51Администраторы могут включить плагин на уровне организации, установив [`enabledPlugins`](/ru/settings#plugin-settings) в [управляемых параметрах](/ru/admin-setup).57Администраторы могут включить плагин на уровне организации, установив [`enabledPlugins`](/ru/settings#plugin-settings) в [управляемых параметрах](/ru/admin-setup).

52 58 

53## Что проверяет плагин59<h2 id="what-the-plugin-checks">

60 Что проверяет плагин

61</h2>

54 62 

55Плагин проверяет работу Claude в трёх точках, каждая на разной глубине:63Плагин проверяет работу Claude в трёх точках, каждая на разной глубине:

56 64 

57* [При каждом редактировании файла](#при-каждом-редактировании-файла): быстрое сопоставление шаблонов для рискованных вызовов без вызова модели65* [При каждом редактировании файла](#on-each-file-edit): быстрое сопоставление шаблонов для рискованных вызовов без вызова модели

58* [В конце каждого хода](#в-конце-каждого-хода): фоновая проверка моделью всего, что изменилось в этом ходе66* [В конце каждого хода](#at-the-end-of-each-turn): фоновая проверка моделью всего, что изменилось в этом ходе

59* [При каждом коммите или push, который делает Claude](#при-каждом-коммите-или-push-который-делает-claude): более глубокая агентивная проверка, которая читает окружающий код67* [При каждом коммите или push, который делает Claude](#on-each-commit-or-push-claude-makes): более глубокая агентивная проверка, которая читает окружающий код

60 68 

61Вы можете расширить каждый слой, [добавив свои собственные правила](#добавьте-свои-собственные-правила). Встроенные проверки не могут быть удалены по отдельности, но вы можете [отключить каждый слой](#отключение-или-удаление) независимо.69Вы можете расширить каждый слой, [добавив свои собственные правила](#add-your-own-rules). Встроенные проверки не могут быть удалены по отдельности, но вы можете [отключить каждый слой](#disable-or-uninstall) независимо.

62 70 

63### При каждом редактировании файла71<h3 id="on-each-file-edit">

72 При каждом редактировании файла

73</h3>

64 74 

65Когда Claude пишет в файл, плагин сканирует новое содержимое на предмет известных рискованных шаблонов. Это сопоставление шаблонов без вызова модели, поэтому оно не добавляет затрат на использование.75Когда Claude пишет в файл, плагин сканирует новое содержимое на предмет известных рискованных шаблонов. Это сопоставление шаблонов без вызова модели, поэтому оно не добавляет затрат на использование.

66 76 


73 83 

74Проверка выполняется после того, как редактирование применяется, и добавляет предупреждение в контекст Claude для следующего шага. Каждое предупреждение срабатывает один раз за шаблон за файл за сеанс, поэтому повторные совпадения в одном файле не заполняют разговор.84Проверка выполняется после того, как редактирование применяется, и добавляет предупреждение в контекст Claude для следующего шага. Каждое предупреждение срабатывает один раз за шаблон за файл за сеанс, поэтому повторные совпадения в одном файле не заполняют разговор.

75 85 

76Вы можете [добавить свои собственные шаблоны](#добавьте-пользовательские-шаблоны-для-каждого-редактирования) в этот слой с помощью файла `security-patterns.yaml`.86Вы можете [добавить свои собственные шаблоны](#add-custom-per-edit-patterns) в этот слой с помощью файла `security-patterns.yaml`.

77 87 

78### В конце каждого хода88<h3 id="at-the-end-of-each-turn">

89 В конце каждого хода

90</h3>

79 91 

80Ход — это один раунд ответа Claude: вы отправляете сообщение, Claude работает и отвечает, и ход заканчивается. После каждого хода плагин вычисляет git diff всего, что изменилось в рабочем дереве во время хода, включая изменения из инструментов редактирования Claude, команд Bash и подагентов, и отправляет его отдельному Claude для проверки, сосредоточенной на безопасности. Проверка выполняется в фоне, поэтому ответ Claude не задерживается. Если проверка обнаруживает проблемы, Claude переспрашивается с результатами и решает их как продолжение.92Ход — это один раунд ответа Claude: вы отправляете сообщение, Claude работает и отвечает, и ход заканчивается. После каждого хода плагин вычисляет git diff всего, что изменилось в рабочем дереве во время хода, включая изменения из инструментов редактирования Claude, команд Bash и подагентов, и отправляет его отдельному Claude для проверки, сосредоточенной на безопасности. Проверка выполняется в фоне, поэтому ответ Claude не задерживается. Если проверка обнаруживает проблемы, Claude переспрашивается с результатами и решает их как продолжение.

81 93 


89 101 

90Вы видите как результат, так и решение Claude прямо в вашем сеансе. Проверка охватывает до 30 изменённых файлов за ход и срабатывает максимум три раза подряд, прежде чем вернуться к вам.102Вы видите как результат, так и решение Claude прямо в вашем сеансе. Проверка охватывает до 30 изменённых файлов за ход и срабатывает максимум три раза подряд, прежде чем вернуться к вам.

91 103 

92### При каждом коммите или push, который делает Claude104<h3 id="on-each-commit-or-push-claude-makes">

105 При каждом коммите или push, который делает Claude

106</h3>

93 107 

94Когда Claude запускает `git commit` или `git push` через свой инструмент Bash, плагин запускает более глубокую агентивную проверку изменения в фоне. Эта проверка читает окружающий код, включая вызывающие функции, санитайзеры и связанные файлы, чтобы решить, является ли результат реальным, прежде чем сообщить о нём. Дополнительный контекст снижает количество ложных срабатываний на шаблонах, которые выглядят опасно в изоляции, но безопасны в вашей кодовой базе.108Когда Claude запускает `git commit` или `git push` через свой инструмент Bash, плагин запускает более глубокую агентивную проверку изменения в фоне. Эта проверка читает окружающий код, включая вызывающие функции, санитайзеры и связанные файлы, чтобы решить, является ли результат реальным, прежде чем сообщить о нём. Дополнительный контекст снижает количество ложных срабатываний на шаблонах, которые выглядят опасно в изоляции, но безопасны в вашей кодовой базе.

95 109 

96Этот слой срабатывает только на коммитах и push, которые Claude делает через свой инструмент Bash. Коммиты, которые вы запускаете из собственной оболочки, включая экранирование оболочки `!` внутри сеанса, не проверяются. Проверки коммитов и push ограничены 20 в течение часа. Если результаты проверки коммита дублируют то, что уже сообщила проверка в конце хода, Claude не переспрашивается, поэтому чистый коммит не производит видимого вывода из этого слоя.110Этот слой срабатывает только на коммитах и push, которые Claude делает через свой инструмент Bash. Коммиты, которые вы запускаете из собственной оболочки, включая экранирование оболочки `!` внутри сеанса, не проверяются. Проверки коммитов и push ограничены 20 в течение часа. Если результаты проверки коммита дублируют то, что уже сообщила проверка в конце хода, Claude не переспрашивается, поэтому чистый коммит не производит видимого вывода из этого слоя.

97 111 

98### Независимость проверки и ограничения112<h3 id="review-independence-and-limits">

113 Независимость проверки и ограничения

114</h3>

99 115 

100Плагин не просит один и тот же экземпляр Claude, который написал код, оценить себя. Проверка при каждом редактировании — это детерминированное сопоставление строк без участия модели. Проверки в конце хода и при коммите выполняются как отдельный вызов Claude со свежим контекстом и сосредоточенным на безопасности приглашением: рецензент начинает с diff, не имеет инвестиций в исходный подход и инструктирован только находить проблемы.116Плагин не просит один и тот же экземпляр Claude, который написал код, оценить себя. Проверка при каждом редактировании — это детерминированное сопоставление строк без участия модели. Проверки в конце хода и при коммите выполняются как отдельный вызов Claude со свежим контекстом и сосредоточенным на безопасности приглашением: рецензент начинает с diff, не имеет инвестиций в исходный подход и инструктирован только находить проблемы.

101 117 

102Ни один из слоёв не блокирует записи или коммиты. Результаты достигают Claude, который пишет код, как инструкции, Claude решает их в разговоре, и модель проверки может пропустить проблемы. Рассматривайте плагин как один слой защиты в глубину, а не как полное решение безопасности. См. [Как это работает с другими инструментами безопасности](#как-это-работает-с-другими-инструментами-безопасности).118Ни один из слоёв не блокирует записи или коммиты. Результаты достигают Claude, который пишет код, как инструкции, Claude решает их в разговоре, и модель проверки может пропустить проблемы. Рассматривайте плагин как один слой защиты в глубину, а не как полное решение безопасности. См. [Как это работает с другими инструментами безопасности](#how-this-fits-with-other-security-tools).

103 119 

104## Добавьте свои собственные правила120<h2 id="add-your-own-rules">

121 Добавьте свои собственные правила

122</h2>

105 123 

106Плагин имеет две точки расширения: файл руководства Markdown для проверок на основе модели и файл шаблонов YAML или JSON для сопоставления строк при каждом редактировании. Оба являются дополнительными. Вы можете добавлять проверки, но не можете отключать встроенные из этих файлов.124Плагин имеет две точки расширения: файл руководства Markdown для проверок на основе модели и файл шаблонов YAML или JSON для сопоставления строк при каждом редактировании. Оба являются дополнительными. Вы можете добавлять проверки, но не можете отключать встроенные из этих файлов.

107 125 

108### Добавьте руководство для проверок на основе модели126<h3 id="add-guidance-for-the-model-backed-reviews">

127 Добавьте руководство для проверок на основе модели

128</h3>

109 129 

110Создайте `.claude/claude-security-guidance.md` в вашем проекте и опишите вашу модель угроз и контрольный список проверки на простом языке. Проверки на основе модели загружают его как дополнительный контекст наряду со встроенным контрольным списком уязвимостей.130Создайте `.claude/claude-security-guidance.md` в вашем проекте и опишите вашу модель угроз и контрольный список проверки на простом языке. Проверки на основе модели загружают его как дополнительный контекст наряду со встроенным контрольным списком уязвимостей.

111 131 


121 141 

122Эти правила — руководство для рецензента, а не детерминированные ограждения. Плагин выявляет нарушения как результаты для Claude, чтобы исправить, но он не блокирует записи и не гарантирует, что каждое нарушение будет выявлено. Руководство является дополнительным только: правило, которое говорит игнорировать класс уязвимостей, не подавляет эти результаты. Для жёсткого принудительного исполнения объедините плагин с [хуком, который блокирует редактирование](/ru/hooks-guide#block-edits-to-protected-files) или проверкой CI.142Эти правила — руководство для рецензента, а не детерминированные ограждения. Плагин выявляет нарушения как результаты для Claude, чтобы исправить, но он не блокирует записи и не гарантирует, что каждое нарушение будет выявлено. Руководство является дополнительным только: правило, которое говорит игнорировать класс уязвимостей, не подавляет эти результаты. Для жёсткого принудительного исполнения объедините плагин с [хуком, который блокирует редактирование](/ru/hooks-guide#block-edits-to-protected-files) или проверкой CI.

123 143 

124### Добавьте пользовательские шаблоны для каждого редактирования144<h3 id="add-custom-per-edit-patterns">

145 Добавьте пользовательские шаблоны для каждого редактирования

146</h3>

125 147 

126Создайте `.claude/security-patterns.yaml` для добавления правил regex или подстроки к [проверке шаблонов при каждом редактировании](#при-каждом-редактировании-файла). Они выполняются как детерминированные сопоставления строк наряду со встроенными шаблонами:148Создайте `.claude/security-patterns.yaml` для добавления правил regex или подстроки к [проверке шаблонов при каждом редактировании](#on-each-file-edit). Они выполняются как детерминированные сопоставления строк наряду со встроенными шаблонами:

127 149 

128```yaml .claude/security-patterns.yaml theme={null}150```yaml .claude/security-patterns.yaml theme={null}

129patterns:151patterns:


147 169 

148Плагин также читает `.claude/security-patterns.yml` и `.claude/security-patterns.json` с той же схемой. JSON работает на любой установке Python. Формы YAML требуют, чтобы PyYAML был импортируемым, который плагин не устанавливает для вас. Плагин загружает до 50 пользовательских правил и пропускает regex, которые выглядят подверженными катастрофическому возврату.170Плагин также читает `.claude/security-patterns.yml` и `.claude/security-patterns.json` с той же схемой. JSON работает на любой установке Python. Формы YAML требуют, чтобы PyYAML был импортируемым, который плагин не устанавливает для вас. Плагин загружает до 50 пользовательских правил и пропускает regex, которые выглядят подверженными катастрофическому возврату.

149 171 

150### Расположения поиска файлов правил172<h3 id="rule-file-lookup-locations">

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

174</h3>

151 175 

152Плагин ищет `claude-security-guidance.md` и `security-patterns.yaml` в одних и тех же местах, независимо от того, как был включен плагин:176Плагин ищет `claude-security-guidance.md` и `security-patterns.yaml` в одних и тех же местах, независимо от того, как был включен плагин:

153 177 


159 183 

160Плагин загружает все существующие местоположения и объединяет их с объединённым ограничением 8 КБ для файла руководства. Администраторы могут распространять правила на уровне организации, отправляя файл с областью действия пользователя в `~/.claude/` через управление устройствами. Те же пути применяются к `security-patterns.yaml`.184Плагин загружает все существующие местоположения и объединяет их с объединённым ограничением 8 КБ для файла руководства. Администраторы могут распространять правила на уровне организации, отправляя файл с областью действия пользователя в `~/.claude/` через управление устройствами. Те же пути применяются к `security-patterns.yaml`.

161 185 

162## Стоимость использования186<h2 id="usage-cost">

187 Стоимость использования

188</h2>

163 189 

164[Проверка шаблонов при каждом редактировании](#при-каждом-редактировании-файла) не делает вызов модели и не добавляет затрат. [Проверки в конце хода](#в-конце-каждого-хода) и [коммита](#при-каждом-коммите-или-push-который-делает-claude) каждая тратит дополнительное использование модели, которое считается в вашем [использовании](/ru/costs) как любой другой запрос Claude. Проверка коммита является агентивной и может занять несколько ходов модели за коммит, ограничено 20 проверками в течение часа. Ожидайте примерно один вызов проверки за ход, который изменяет файлы, и одну более глубокую проверку за коммит, оба подлежат ограничениям выше.190[Проверка шаблонов при каждом редактировании](#on-each-file-edit) не делает вызов модели и не добавляет затрат. [Проверки в конце хода](#at-the-end-of-each-turn) и [коммита](#on-each-commit-or-push-claude-makes) каждая тратит дополнительное использование модели, которое считается в вашем [использовании](/ru/costs) как любой другой запрос Claude. Проверка коммита является агентивной и может занять несколько ходов модели за коммит, ограничено 20 проверками в течение часа. Ожидайте примерно один вызов проверки за ход, который изменяет файлы, и одну более глубокую проверку за коммит, оба подлежат ограничениям выше.

165 191 

166Обе проверки на основе модели используют Claude Opus 4.7 по умолчанию. Установите `SECURITY_REVIEW_MODEL` для выбора другой модели для проверки в конце хода и `SG_AGENTIC_MODEL` для проверки коммита.192Обе проверки на основе модели используют Claude Opus 4.7 по умолчанию. Установите `SECURITY_REVIEW_MODEL` для выбора другой модели для проверки в конце хода и `SG_AGENTIC_MODEL` для проверки коммита.

167 193 

168Плагин доступен на всех планах.194Плагин доступен на всех планах.

169 195 

170## Отключение или удаление196<h2 id="disable-or-uninstall">

197 Отключение или удаление

198</h2>

171 199 

172Чтобы отключить отдельные слои, сохраняя остальные, установите соответствующую переменную окружения:200Чтобы отключить отдельные слои, сохраняя остальные, установите соответствующую переменную окружения:

173 201 

174| Переменная | Эффект |202| Переменная | Эффект |

175| :------------------------------ | :---------------------------------------------------------------------------------------- |203| :------------------------------ | :-------------------------------------------------------------------------- |

176| `ENABLE_PATTERN_RULES=0` | Отключить [проверку шаблонов при каждом редактировании](#при-каждом-редактировании-файла) |204| `ENABLE_PATTERN_RULES=0` | Отключить [проверку шаблонов при каждом редактировании](#on-each-file-edit) |

177| `ENABLE_STOP_REVIEW=0` | Отключить [проверку diff в конце хода](#в-конце-каждого-хода) |205| `ENABLE_STOP_REVIEW=0` | Отключить [проверку diff в конце хода](#at-the-end-of-each-turn) |

178| `ENABLE_COMMIT_REVIEW=0` | Отключить [проверку коммита и push](#при-каждом-коммите-или-push-который-делает-claude) |206| `ENABLE_COMMIT_REVIEW=0` | Отключить [проверку коммита и push](#on-each-commit-or-push-claude-makes) |

179| `ENABLE_CODE_SECURITY_REVIEW=0` | Отключить все проверки на основе модели сразу |207| `ENABLE_CODE_SECURITY_REVIEW=0` | Отключить все проверки на основе модели сразу |

180| `SECURITY_GUIDANCE_DISABLE=1` | Отключить плагин полностью без удаления |208| `SECURITY_GUIDANCE_DISABLE=1` | Отключить плагин полностью без удаления |

181 209 


193 221 

194Если плагин был включен через `.claude/settings.json` проекта, отключение его из `/plugin` записывает переопределение в ваш `.claude/settings.local.json` вместо редактирования проверенного файла, поэтому плагин остаётся отключённым для вас, а товарищи по команде не затронуты. Если он был включен через [управляемые параметры](/ru/admin-setup), только администратор может его отключить.222Если плагин был включен через `.claude/settings.json` проекта, отключение его из `/plugin` записывает переопределение в ваш `.claude/settings.local.json` вместо редактирования проверенного файла, поэтому плагин остаётся отключённым для вас, а товарищи по команде не затронуты. Если он был включен через [управляемые параметры](/ru/admin-setup), только администратор может его отключить.

195 223 

196## Как плагин интегрируется с Claude Code224<h2 id="how-the-plugin-integrates-with-claude-code">

225 Как плагин интегрируется с Claude Code

226</h2>

197 227 

198Плагин полностью построен на [hooks](/ru/hooks), механизме для запуска вашего собственного кода в определённых точках цикла Claude. Он регистрирует:228Плагин полностью построен на [hooks](/ru/hooks), механизме для запуска вашего собственного кода в определённых точках цикла Claude. Он регистрирует:

199 229 


207 237 

208Если вы создаёте свои собственные hooks, [исходный код плагина](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/security-guidance) является рабочим примером запуска отдельного вызова модели из hook и возврата результата в сеанс.238Если вы создаёте свои собственные hooks, [исходный код плагина](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/security-guidance) является рабочим примером запуска отдельного вызова модели из hook и возврата результата в сеанс.

209 239 

210## Как это работает с другими инструментами безопасности240<h2 id="how-this-fits-with-other-security-tools">

241 Как это работает с другими инструментами безопасности

242</h2>

211 243 

212Плагин — это один слой в подходе защиты в глубину. Он выявляет проблемы раньше всего, пока код ещё находится в редакторе, но это не гарантия и не заменяет более поздние проверки. Типичный стек:244Плагин — это один слой в подходе защиты в глубину. Он выявляет проблемы раньше всего, пока код ещё находится в редакторе, но это не гарантия и не заменяет более поздние проверки. Типичный стек:

213 245 

214| Этап | Инструмент | Что он охватывает |246| Этап | Инструмент | Что он охватывает |

215| :-------------- | :--------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |247| :-------------- | :--------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |

216| В сеансе | Плагин security guidance | Распространённые уязвимости в коде, который пишет Claude, исправлены в одном сеансе |248| В сеансе | Security guidance plugin | Распространённые уязвимости в коде, который пишет Claude, исправлены в одном сеансе |

217| По требованию | [`/security-review`](/ru/commands#all-commands) | Однократная проверка безопасности на текущей ветке, выполняется по вашему запросу |249| По требованию | [`/security-review`](/ru/commands#all-commands) | Однократная проверка безопасности на текущей ветке, выполняется по вашему запросу |

218| На pull request | [Code Review](/ru/code-review), планы Team и Enterprise | Многоагентная проверка корректности и безопасности с полным контекстом кодовой базы |250| На pull request | [Code Review](/ru/code-review), планы Team и Enterprise | Многоагентная проверка корректности и безопасности с полным контекстом кодовой базы |

219| В CI | Ваши существующие статические анализаторы и сканеры зависимостей | Правила, специфичные для языка, проверки цепочки поставок и принудительное исполнение политики, которые плагин не пытается выполнять |251| В CI | Ваши существующие статические анализаторы и сканеры зависимостей | Правила, специфичные для языка, проверки цепочки поставок и принудительное исполнение политики, которые плагин не пытается выполнять |

220 252 

221Каждый более поздний этап выявляет то, что пропустили более ранние. Ценность плагина в снижении объёма, который их достигает, а не в исключении необходимости в них.253Каждый более поздний этап выявляет то, что пропустили более ранние. Ценность плагина в снижении объёма, который их достигает, а не в исключении необходимости в них.

222 254 

223## Troubleshooting255<h2 id="troubleshooting">

256 Troubleshooting

257</h2>

224 258 

225Плагин записывает диагностику времени выполнения в `~/.claude/security/log.txt`. Проверьте там в первую очередь, если проверки не появляются.259Плагин записывает диагностику времени выполнения в `~/.claude/security/log.txt`. Проверьте там в первую очередь, если проверки не появляются.

226 260 


230* Сеанс не имеет аутентификации Anthropic: проверки на основе модели пропускаются и работает только проверка шаблонов при каждом редактировании264* Сеанс не имеет аутентификации Anthropic: проверки на основе модели пропускаются и работает только проверка шаблонов при каждом редактировании

231* Файл `security-patterns.yaml` присутствует, но PyYAML не импортируемый: файл игнорируется. Используйте `security-patterns.json` вместо этого265* Файл `security-patterns.yaml` присутствует, но PyYAML не импортируемый: файл игнорируется. Используйте `security-patterns.json` вместо этого

232 266 

233## Связанные ресурсы267<h2 id="related-resources">

268 Связанные ресурсы

269</h2>

234 270 

235Чтобы углубиться в части, которые эта страница затрагивает:271Чтобы углубиться в части, которые эта страница затрагивает:

236 272 

Details

174 174 

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

176 176 

177<h3 id="invalid-entries-in-delivered-settings">

178 Недопустимые записи в доставленных параметрах

179</h3>

180 

181Доставленные полезные нагрузки анализируются с допуском, используя те же правила, что и другие управляемые источники. Когда полезная нагрузка содержит запись, которая не проходит проверку схемы, Claude Code удаляет эту запись, выводит ошибку валидации и применяет все оставшиеся допустимые параметры. См. [Недопустимые записи в управляемых параметрах](/ru/settings#invalid-entries-in-managed-settings) для поведения на уровне полей, включая то, как обрабатываются поля принудительного применения безопасности. Требуется Claude Code v2.1.169 или более поздняя версия.

182 

183Доставка, управляемая сервером, добавляет следующие поведения:

184 

185* Кэш в `~/.claude/remote-settings.json` сохраняет спасенную полезную нагрузку с удаленными недопустимыми записями. Исходная недопустимая полезная нагрузка никогда не сохраняется.

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

187* [Диалог одобрения безопасности](#security-approval-dialogs) оценивает спасенную полезную нагрузку, поэтому удаленная недопустимая запись никогда не представляется для одобрения и никогда не выполняется.

188 

189Для отладки проблем доставки запустите `claude --debug-file <path>` и найдите в журнале `Remote settings`. Проверьте изменение полезной нагрузки с помощью `claude doctor` на тестовой машине перед развертыванием в организации.

190 

177<h3 id="enforce-fail-closed-startup">191<h3 id="enforce-fail-closed-startup">

178 Принудительное закрытие при запуске192 Принудительное закрытие при запуске

179</h3>193</h3>

sessions.md +2 −2

Details

30| `claude --from-pr <number>` | Возобновляет сеанс, связанный с этим pull request |30| `claude --from-pr <number>` | Возобновляет сеанс, связанный с этим pull request |

31| `/resume` | Переключается на другой диалог из активного сеанса |31| `/resume` | Переключается на другой диалог из активного сеанса |

32 32 

33Сеансы, созданные с помощью [`claude -p`](/ru/headless) или [Agent SDK](/ru/agent-sdk/overview), не отображаются в средстве выбора сеансов, но вы всё равно можете возобновить один, передав его ID сеанса в `claude --resume <session-id>`.33Сеансы, созданные с помощью [`claude -p`](/ru/headless) или [Agent SDK](/ru/agent-sdk/overview), не отображаются в средстве выбора сеансов, но вы всё равно можете возобновить один, передав его ID сеанса в `claude --resume <session-id>`. Запустите это из каталога, в котором был запущен сеанс: поиск ID сеанса ограничен текущим каталогом проекта и его git worktrees, поэтому сеанс, созданный в другом месте, сообщает `No conversation found with session ID: <session-id>`.

34 34 

35<h3 id="where-the-session-picker-looks">35<h3 id="where-the-session-picker-looks">

36 Где средство выбора сеансов ищет сеансы36 Где средство выбора сеансов ищет сеансы

37</h3>37</h3>

38 38 

39Сеансы хранятся для каждого каталога проекта. По умолчанию средство выбора сеансов показывает интерактивные сеансы из текущего worktree, а также сеансы, запущенные в других местах, которые добавили текущий каталог с помощью `/add-dir`. Используйте `Ctrl+W` для расширения на все worktrees репозитория или `Ctrl+A` для расширения на каждый проект на этой машине.39Сеансы хранятся для каждого каталога проекта. По умолчанию средство выбора сеансов показывает интерактивные сеансы из текущего worktree, а также сеансы, запущенные в других местах, которые добавили текущий каталог с помощью `/add-dir`. {/* min-version: 2.1.169 */}Начиная с версии 2.1.169, перемещение сеанса с помощью [`/cd`](/ru/commands) переносит его в хранилище проекта нового каталога, поэтому он появляется в средстве выбора этого каталога впоследствии. Используйте `Ctrl+W` для расширения на все worktrees репозитория или `Ctrl+A` для расширения на каждый проект на этой машине.

40 40 

41Выбор сеанса из другого worktree того же репозитория возобновляет его на месте. Выбор сеанса из несвязанного проекта копирует команду `cd` и команду возобновления в буфер обмена.41Выбор сеанса из другого worktree того же репозитория возобновляет его на месте. Выбор сеанса из несвязанного проекта копирует команду `cd` и команду возобновления в буфер обмена.

42 42 

settings.md +113 −26

Details

19</h3>19</h3>

20 20 

21| Область | Местоположение | На кого это влияет | Совместно используется с командой? |21| Область | Местоположение | На кого это влияет | Совместно используется с командой? |

22| :---------- | :-------------------------------------------------------------------------------------------- | :------------------------------- | :--------------------------------- |22| :---------- | :-------------------------------------------------------------------------------------------- | :------------------------------- | :---------------------------------------------------------- |

23| **Managed** | Параметры, управляемые сервером, plist / реестр или системный уровень `managed-settings.json` | Все пользователи на машине | Да (развернуто IT) |23| **Managed** | Параметры, управляемые сервером, plist / реестр или системный уровень `managed-settings.json` | Все пользователи на машине | Да (развернуто IT) |

24| **User** | Каталог `~/.claude/` | Вы, во всех проектах | Нет |24| **User** | Каталог `~/.claude/` | Вы, во всех проектах | Нет |

25| **Project** | `.claude/` в репозитории | Все сотрудники этого репозитория | Да (зафиксировано в git) |25| **Project** | `.claude/` в репозитории | Все сотрудники этого репозитория | Да (зафиксировано в git) |

26| **Local** | `.claude/settings.local.json` | Вы, только в этом репозитории | Нет (игнорируется gitignore) |26| **Local** | `.claude/settings.local.json` | Вы, только в этом репозитории | Нет (игнорируется gitignore, когда Claude Code его создает) |

27 27 

28<h3 id="when-to-use-each-scope">28<h3 id="when-to-use-each-scope">

29 Когда использовать каждую область29 Когда использовать каждую область


94* **Параметры пользователя** определяются в `~/.claude/settings.json` и применяются ко всем проектам.94* **Параметры пользователя** определяются в `~/.claude/settings.json` и применяются ко всем проектам.

95* **Параметры проекта** сохраняются в каталоге вашего проекта:95* **Параметры проекта** сохраняются в каталоге вашего проекта:

96 * `.claude/settings.json` для параметров, которые проверяются в системе управления версиями и совместно используются с вашей командой96 * `.claude/settings.json` для параметров, которые проверяются в системе управления версиями и совместно используются с вашей командой

97 * `.claude/settings.local.json` для параметров, которые не проверяются, полезны для личных предпочтений и экспериментов. Claude Code настроит git на игнорирование `.claude/settings.local.json` при его создании.97 * `.claude/settings.local.json` для параметров, которые не проверяются, полезны для личных предпочтений и экспериментов. Когда Claude Code создает `.claude/settings.local.json`, он настраивает git на игнорирование файла. Если вы создаете файл самостоятельно, добавьте его в gitignore вручную.

98* **Управляемые параметры**: Для организаций, которым требуется централизованное управление, Claude Code поддерживает несколько механизмов доставки управляемых параметров. Все используют один и тот же формат JSON и не могут быть переопределены параметрами пользователя или проекта:98* **Управляемые параметры**: Для организаций, которым требуется централизованное управление, Claude Code поддерживает несколько механизмов доставки управляемых параметров. Все используют один и тот же формат JSON и не могут быть переопределены параметрами пользователя или проекта:

99 99 

100 * **Параметры, управляемые сервером**: доставляются с серверов Anthropic через консоль администратора Claude.ai. См. [параметры, управляемые сервером](/ru/server-managed-settings).100 * **Параметры, управляемые сервером**: доставляются с серверов Anthropic через консоль администратора Claude.ai. См. [параметры, управляемые сервером](/ru/server-managed-settings).


174* `model`: используйте [`/model`](/ru/model-config#setting-your-model) для переключения в середине сеанса174* `model`: используйте [`/model`](/ru/model-config#setting-your-model) для переключения в середине сеанса

175* [`outputStyle`](/ru/output-styles): часть системного запроса, который перестраивается на `/clear` или перезагрузке175* [`outputStyle`](/ru/output-styles): часть системного запроса, который перестраивается на `/clear` или перезагрузке

176 176 

177<h3 id="invalid-entries-in-managed-settings">

178 Недействительные записи в управляемых параметрах

179</h3>

180 

181Управляемые параметры анализируются с допуском. Когда управляемая конфигурация содержит запись, которая не проходит валидацию схемы, Claude Code удаляет эту запись, записывает предупреждение и применяет каждую оставшуюся действительную политику. Одна опечатка не может отключить остальную политику вашей организации. Это поведение согласуется во всех трех механизмах доставки: [параметры, управляемые сервером](/ru/server-managed-settings), политики plist и реестра, развернутые через MDM, и файлы `managed-settings.json`. Требует Claude Code v2.1.169 или позже.

182 

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

184 

185| Поле | Поведение при наличии, но недействительности |

186| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

187| `allowedMcpServers` | Применяется как пустой список разрешений, поэтому MCP servers не допускаются до исправления значения. Отдельная недействительная запись удаляется и применяется действительное подмножество. |

188| `allowManagedMcpServersOnly` | Обрабатывается как `true`. |

189| `availableModels` | {/* min-version: 2.1.175 */}Применяется как пустой список разрешений, поэтому доступна только модель Default до исправления значения. Отдельная запись, не являющаяся строкой, удаляется и применяется действительное подмножество. Применяется в v2.1.175 и позже. |

190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Обрабатывается как `true`. Применяется в v2.1.175 и позже. |

191| `forceLoginOrgUUID` | Ни одна организация не может войти до исправления значения. |

192| `deniedMcpServers` | Отдельная недействительная запись удаляется и применяется действительное подмножество. Полностью недействительное значение отбрасывается с предупреждением, так как отрицание каждого server заблокировало бы servers, которые политика никогда не называла. |

193 

194`requiredMinimumVersion` и `requiredMaximumVersion` открываются по дизайну: недействительное значение удаляется, а не применяется, поэтому плохая политика не может предотвратить запуск Claude Code.

195 

196Ошибки валидации появляются в трех местах:

197 

198* Интерактивные сеансы показывают диалог при запуске, перечисляющий недействительные записи.

199* Headless запуски с `-p` выводят сводку в stderr.

200* [`claude doctor`](/ru/debug-your-config) перечисляет каждую недействительную запись с ее источником и полем.

201 

202Проверьте изменения политики, запустив `claude doctor` на тестовой машине перед развертыванием их по всему парку.

203 

204Этот допуск применяется только к управляемым параметрам. Файлы параметров пользователя, проекта и локальные остаются строгими: файл, который не проходит валидацию, отклоняется целиком и сообщается.

205 

177<h3 id="available-settings">206<h3 id="available-settings">

178 Доступные параметры207 Доступные параметры

179</h3>208</h3>


181`settings.json` поддерживает ряд опций:210`settings.json` поддерживает ряд опций:

182 211 

183| Ключ | Описание | Пример |212| Ключ | Описание | Пример |

184| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |213| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ |

214| `advisorModel` | {/* min-version: 2.1.98 */}Модель для серверного [инструмента advisor](/ru/advisor). Принимает псевдоним модели, такой как `"opus"`, `"sonnet"` или `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+), или полный ID модели. Записывается автоматически при запуске `/advisor`. Отключите, чтобы отключить advisor. Требует Claude Code v2.1.98 или позже | `"opus"` |

185| `agent` | Запустить основной поток как именованный subagent и установить агента по умолчанию для сеансов, отправленных из `claude agents`. Применяет системный запрос, ограничения инструментов и модель этого subagent. См. [Явно вызывать subagents](/ru/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |215| `agent` | Запустить основной поток как именованный subagent и установить агента по умолчанию для сеансов, отправленных из `claude agents`. Применяет системный запрос, ограничения инструментов и модель этого subagent. См. [Явно вызывать subagents](/ru/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |

216| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}Когда [Remote Control](/ru/remote-control) подключен, разрешить Claude отправлять проактивные push-уведомления на ваш телефон, например когда длительная задача завершается. По умолчанию: `false`. Появляется в `/config` как **Push when Claude decides**. См. [Mobile push notifications](/ru/remote-control#mobile-push-notifications). Требует Claude Code v2.1.119 или позже | `true` |

186| `allowAllClaudeAiMcps` | (Только управляемые параметры) Загружать разъемы claude.ai наряду с развернутым `managed-mcp.json`, который в противном случае берет исключительный контроль и подавляет их. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `true` |217| `allowAllClaudeAiMcps` | (Только управляемые параметры) Загружать разъемы claude.ai наряду с развернутым `managed-mcp.json`, который в противном случае берет исключительный контроль и подавляет их. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `true` |

187| `allowedChannelPlugins` | (Только управляемые параметры) Список разрешений channel plugins, которые могут отправлять сообщения. Заменяет список разрешений Anthropic по умолчанию при установке. Не определено = вернуться к значению по умолчанию, пустой массив = блокировать все channel plugins. Требует `channelsEnabled: true`. См. [Ограничить, какие channel plugins могут запускаться](/ru/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |218| `allowedChannelPlugins` | (Только управляемые параметры) Список разрешений channel plugins, которые могут отправлять сообщения. Заменяет список разрешений Anthropic по умолчанию при установке. Не определено = вернуться к значению по умолчанию, пустой массив = блокировать все channel plugins. Требует `channelsEnabled: true`. См. [Ограничить, какие channel plugins могут запускаться](/ru/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |

188| `allowedHttpHookUrls` | Список разрешенных URL-шаблонов, на которые могут быть направлены HTTP hooks. Поддерживает `*` как подстановочный знак. При установке hooks с несовпадающими URL-адресами блокируются. Не определено = без ограничений, пустой массив = блокировать все HTTP hooks. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["https://hooks.example.com/*"]` |219| `allowedHttpHookUrls` | Список разрешенных URL-шаблонов, на которые могут быть направлены HTTP hooks. Поддерживает `*` как подстановочный знак. При установке hooks с несовпадающими URL-адресами блокируются. Не определено = без ограничений, пустой массив = блокировать все HTTP hooks. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["https://hooks.example.com/*"]` |


190| `allowManagedHooksOnly` | (Только управляемые параметры) Загружаются только управляемые hooks, SDK hooks и hooks из plugins, принудительно включенных в управляемых параметрах `enabledPlugins`. Пользовательские, проектные и все остальные plugin hooks блокируются. См. [Конфигурация Hook](#hook-configuration) | `true` |221| `allowManagedHooksOnly` | (Только управляемые параметры) Загружаются только управляемые hooks, SDK hooks и hooks из plugins, принудительно включенных в управляемых параметрах `enabledPlugins`. Пользовательские, проектные и все остальные plugin hooks блокируются. См. [Конфигурация Hook](#hook-configuration) | `true` |

191| `allowManagedMcpServersOnly` | (Только управляемые параметры) Только `allowedMcpServers` из управляемых параметров учитываются. `deniedMcpServers` по-прежнему объединяется из всех источников. Пользователи по-прежнему могут добавлять MCP servers, но применяется только определенный администратором список разрешений. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `true` |222| `allowManagedMcpServersOnly` | (Только управляемые параметры) Только `allowedMcpServers` из управляемых параметров учитываются. `deniedMcpServers` по-прежнему объединяется из всех источников. Пользователи по-прежнему могут добавлять MCP servers, но применяется только определенный администратором список разрешений. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `true` |

192| `allowManagedPermissionRulesOnly` | (Только управляемые параметры) Предотвратить определение правил разрешений `allow`, `ask` или `deny` в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. См. [Параметры только для управляемых](/ru/permissions#managed-only-settings) | `true` |223| `allowManagedPermissionRulesOnly` | (Только управляемые параметры) Предотвратить определение правил разрешений `allow`, `ask` или `deny` в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. См. [Параметры только для управляемых](/ru/permissions#managed-only-settings) | `true` |

193| `alwaysThinkingEnabled` | Включить [расширенное мышление](/ru/model-config#extended-thinking) по умолчанию для всех сеансов. Обычно настраивается через команду `/config` вместо прямого редактирования. Чтобы принудительно отключить мышление независимо от этого параметра, установите [`CLAUDE_CODE_DISABLE_THINKING`](/ru/env-vars) в `env` | `true` |224| `alwaysThinkingEnabled` | Включить [расширенное мышление](/ru/model-config#extended-thinking) по умолчанию для всех сеансов. Обычно настраивается через команду `/config` вместо прямого редактирования. Чтобы принудительно отключить мышление независимо от этого параметра, установите [`MAX_THINKING_TOKENS=0`](/ru/env-vars) в `env`, что отключает мышление на Anthropic API, кроме Fable 5, которая не может отключить мышление. На [поставщиках третьих сторон](/ru/third-party-integrations) это опускает параметр `thinking` вместо этого, и модели адаптивного рассуждения все еще могут думать | `true` |

194| `apiKeyHelper` | Пользовательский скрипт, который будет выполнен в `/bin/sh`, для создания значения аутентификации. Это значение будет отправлено как заголовки `X-Api-Key` и `Authorization: Bearer` для запросов модели. Установите интервал обновления с помощью [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/ru/env-vars) | `/bin/generate_temp_api_key.sh` |225| `apiKeyHelper` | Пользовательский скрипт, который будет выполнен в `/bin/sh`, для создания значения аутентификации. Это значение будет отправлено как заголовки `X-Api-Key` и `Authorization: Bearer` для запросов модели. Установите интервал обновления с помощью [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/ru/env-vars) | `/bin/generate_temp_api_key.sh` |

195| `attribution` | Настройте атрибуцию для коммитов git и pull requests. См. [Параметры атрибуции](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |226| `attribution` | Настройте атрибуцию для коммитов git и pull requests. См. [Параметры атрибуции](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

227| `autoCompactEnabled` | {/* min-version: 2.1.119 */}Автоматически компактировать разговор, когда контекст приближается к лимиту. По умолчанию: `true`. Появляется в `/config` как **Auto-compact**. Чтобы отключить через переменную окружения, установите [`DISABLE_AUTO_COMPACT`](/ru/env-vars) в `env` | `false` |

196| `autoMemoryDirectory` | Пользовательский каталог для хранения [автоматической памяти](/ru/memory#storage-location). Принимает абсолютный путь или путь с префиксом `~/`. Из параметров проекта или локальных параметров это учитывается только после того, как вы примете диалог доверия рабочей области, так как клонированный репозиторий может предоставить этот файл | `"~/my-memory-dir"` |228| `autoMemoryDirectory` | Пользовательский каталог для хранения [автоматической памяти](/ru/memory#storage-location). Принимает абсолютный путь или путь с префиксом `~/`. Из параметров проекта или локальных параметров это учитывается только после того, как вы примете диалог доверия рабочей области, так как клонированный репозиторий может предоставить этот файл | `"~/my-memory-dir"` |

197| `autoMemoryEnabled` | Включить [автоматическую память](/ru/memory#enable-or-disable-auto-memory). Когда `false`, Claude не читает и не записывает в каталог автоматической памяти. По умолчанию: `true`. Вы также можете переключить это с помощью `/memory` во время сеанса. Чтобы отключить через переменную окружения, установите [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/ru/env-vars) в `env` | `false` |229| `autoMemoryEnabled` | Включить [автоматическую память](/ru/memory#enable-or-disable-auto-memory). Когда `false`, Claude не читает и не записывает в каталог автоматической памяти. По умолчанию: `true`. Вы также можете переключить это с помощью `/memory` во время сеанса. Чтобы отключить через переменную окружения, установите [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/ru/env-vars) в `env` | `false` |

198| `autoMode` | Настройте, что классификатор [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode) блокирует и разрешает. Содержит массивы `environment`, `allow`, `soft_deny` и `hard_deny` правил в виде текста. Включите буквальную строку `"$defaults"` в массив для наследования встроенных правил в этой позиции. См. [Настройте автоматический режим](/ru/auto-mode-config). Не читается из общих параметров проекта | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |230| `autoMode` | Настройте, что классификатор [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode) блокирует и разрешает. Содержит массивы `environment`, `allow`, `soft_deny` и `hard_deny` правил в виде текста. Включите буквальную строку `"$defaults"` в массив для наследования встроенных правил в этой позиции. См. [Настройте автоматический режим](/ru/auto-mode-config). Не читается из общих параметров проекта | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

199| `autoScrollEnabled` | В [fullscreen rendering](/ru/fullscreen), следить за новым выводом в конец разговора. По умолчанию: `true`. Появляется в `/config` как **Auto-scroll**. Запросы разрешений по-прежнему прокручиваются в поле зрения, когда это отключено | `false` |231| `autoScrollEnabled` | В [fullscreen rendering](/ru/fullscreen), следить за новым выводом в конец разговора. По умолчанию: `true`. Появляется в `/config` как **Auto-scroll**. Запросы разрешений по-прежнему прокручиваются в поле зрения, когда это отключено | `false` |

200| `autoUpdatesChannel` | Канал выпуска для отслеживания обновлений. Используйте `"stable"` для версии, которая обычно примерно на неделю старше и пропускает версии с серьезными регрессиями, или `"latest"` (по умолчанию) для самого последнего выпуска. Чтобы полностью отключить автоматические обновления, установите [`DISABLE_AUTOUPDATER`](/ru/setup#disable-auto-updates) в `env` | `"stable"` |232| `autoUpdatesChannel` | Канал выпуска для отслеживания обновлений. Используйте `"stable"` для версии, которая обычно примерно на неделю старше и пропускает версии с серьезными регрессиями, или `"latest"` (по умолчанию) для самого последнего выпуска. Чтобы полностью отключить автоматические обновления, установите [`DISABLE_AUTOUPDATER`](/ru/setup#disable-auto-updates) в `env` | `"stable"` |

201| `availableModels` | Ограничить, какие модели пользователи могут выбрать через `/model`, `--model` или `ANTHROPIC_MODEL`. Не влияет на опцию Default. См. [Ограничить выбор модели](/ru/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |233| `availableModels` | Ограничить, какие модели пользователи могут выбрать для основного сеанса, [subagents](/ru/sub-agents) и [advisor](/ru/advisor). См. [Ограничить выбор модели](/ru/model-config#restrict-model-selection). См. `enforceAvailableModels` для также ограничения Default | `["sonnet", "haiku"]` |

202| `awaySummaryEnabled` | Показать одностроковое резюме сеанса при возврате в терминал после нескольких минут отсутствия. Установите на `false` или отключите Session recap в `/config` для отключения. То же самое, что [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/ru/env-vars) | `true` |234| `awaySummaryEnabled` | Показать одностроковое резюме сеанса при возврате в терминал после нескольких минут отсутствия. Установите на `false` или отключите Session recap в `/config` для отключения. То же самое, что [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/ru/env-vars) | `true` |

203| `awsAuthRefresh` | Пользовательский скрипт, который изменяет каталог `.aws` (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |235| `awsAuthRefresh` | Пользовательский скрипт, который изменяет каталог `.aws` (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

204| `awsCredentialExport` | Пользовательский скрипт, который выводит JSON с учетными данными AWS (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |236| `awsCredentialExport` | Пользовательский скрипт, который выводит JSON с учетными данными AWS (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |


213| `disableAgentView` | Установите на `true`, чтобы отключить [фоновые агенты и представление агента](/ru/agent-view): `claude agents`, `--bg`, `/background` и супервизор по требованию. Обычно устанавливается в [управляемых параметрах](/ru/permissions#managed-settings). Эквивалентно установке `CLAUDE_CODE_DISABLE_AGENT_VIEW` на `1` | `true` |245| `disableAgentView` | Установите на `true`, чтобы отключить [фоновые агенты и представление агента](/ru/agent-view): `claude agents`, `--bg`, `/background` и супервизор по требованию. Обычно устанавливается в [управляемых параметрах](/ru/permissions#managed-settings). Эквивалентно установке `CLAUDE_CODE_DISABLE_AGENT_VIEW` на `1` | `true` |

214| `disableAllHooks` | Отключить все [hooks](/ru/hooks) и любую пользовательскую [строку состояния](/ru/statusline) | `true` |246| `disableAllHooks` | Отключить все [hooks](/ru/hooks) и любую пользовательскую [строку состояния](/ru/statusline) | `true` |

215| `disableAutoMode` | Установите на `"disable"`, чтобы предотвратить активацию [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode). Удаляет `auto` из цикла `Shift+Tab` и отклоняет `--permission-mode auto` при запуске. Наиболее полезно в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить | `"disable"` |247| `disableAutoMode` | Установите на `"disable"`, чтобы предотвратить активацию [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode). Удаляет `auto` из цикла `Shift+Tab` и отклоняет `--permission-mode auto` при запуске. Наиболее полезно в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить | `"disable"` |

248| `disableBundledSkills` | Установите на `true`, чтобы отключить [skills](/ru/skills) и workflows, которые поставляются с Claude Code: встроенные skills и workflows полностью удаляются, в то время как встроенные slash commands, такие как `/init`, остаются доступными для ввода, но скрыты от модели. Skills из plugins, `.claude/skills/` и `.claude/commands/` не затронуты. Эквивалентно установке `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` на `1` | `true` |

216| `disableDeepLinkRegistration` | Установите на `"disable"`, чтобы предотвратить регистрацию Claude Code обработчика протокола `claude-cli://` с операционной системой при запуске. Deep links позволяют внешним инструментам открыть сеанс Claude Code с предварительно заполненным запросом. Полезно в окружениях, где регистрация обработчика протокола ограничена или управляется отдельно | `"disable"` |249| `disableDeepLinkRegistration` | Установите на `"disable"`, чтобы предотвратить регистрацию Claude Code обработчика протокола `claude-cli://` с операционной системой при запуске. Deep links позволяют внешним инструментам открыть сеанс Claude Code с предварительно заполненным запросом. Полезно в окружениях, где регистрация обработчика протокола ограничена или управляется отдельно | `"disable"` |

217| `disabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для отклонения | `["filesystem"]` |250| `disabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для отклонения | `["filesystem"]` |

218| `disableRemoteControl` | {/* min-version: 2.1.128 */}Отключить [Remote Control](/ru/remote-control): блокирует `claude remote-control`, флаг `--remote-control`, автозапуск и переключение в сеансе. Обычно размещается в [управляемых параметрах](/ru/permissions#managed-settings) для применения MDM на каждом устройстве, но работает из любой области. Требует Claude Code v2.1.128 или позже | `true` |251| `disableRemoteControl` | {/* min-version: 2.1.128 */}Отключить [Remote Control](/ru/remote-control): блокирует `claude remote-control`, флаг `--remote-control`, автозапуск и переключение в сеансе. Обычно размещается в [управляемых параметрах](/ru/permissions#managed-settings) для применения MDM на каждом устройстве, но работает из любой области. Требует Claude Code v2.1.128 или позже | `true` |


222| `effortLevel` | Сохранить [уровень усилий](/ru/model-config#adjust-effort-level) между сеансами. Принимает `"low"`, `"medium"`, `"high"` или `"xhigh"`. Записывается автоматически при запуске `/effort` с одним из этих значений. `--effort` и [`CLAUDE_CODE_EFFORT_LEVEL`](/ru/env-vars) переопределяют это на один сеанс. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) для поддерживаемых моделей | `"xhigh"` |255| `effortLevel` | Сохранить [уровень усилий](/ru/model-config#adjust-effort-level) между сеансами. Принимает `"low"`, `"medium"`, `"high"` или `"xhigh"`. Записывается автоматически при запуске `/effort` с одним из этих значений. `--effort` и [`CLAUDE_CODE_EFFORT_LEVEL`](/ru/env-vars) переопределяют это на один сеанс. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) для поддерживаемых моделей | `"xhigh"` |

223| `enableAllProjectMcpServers` | Автоматически одобрить все MCP servers, определенные в файлах проекта `.mcp.json` | `true` |256| `enableAllProjectMcpServers` | Автоматически одобрить все MCP servers, определенные в файлах проекта `.mcp.json` | `true` |

224| `enabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для одобрения | `["memory", "github"]` |257| `enabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для одобрения | `["memory", "github"]` |

258| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Когда `true` и `availableModels` - это непустой список в управляемых или политических параметрах, модель Default также ограничена списком разрешений. См. [Ограничить выбор модели](/ru/model-config#restrict-model-selection) для деталей и [поведение объединения](/ru/model-config#merge-behavior) когда `availableModels` установлен на нескольких уровнях. Требует Claude Code v2.1.175 или позже | `true` |

225| `env` | Переменные окружения, применяемые к каждому сеансу и к подпроцессам, которые Claude Code порождает из него. {/* min-version: 2.1.143 */}Начиная с v2.1.143, `NO_COLOR` и `FORCE_COLOR`, установленные здесь, передаются подпроцессам, но не изменяют цвета собственного интерфейса Claude Code. Установите их в вашей оболочке перед запуском `claude`, чтобы изменить цвета интерфейса | `{"FOO": "bar"}` |259| `env` | Переменные окружения, применяемые к каждому сеансу и к подпроцессам, которые Claude Code порождает из него. {/* min-version: 2.1.143 */}Начиная с v2.1.143, `NO_COLOR` и `FORCE_COLOR`, установленные здесь, передаются подпроцессам, но не изменяют цвета собственного интерфейса Claude Code. Установите их в вашей оболочке перед запуском `claude`, чтобы изменить цвета интерфейса | `{"FOO": "bar"}` |

260| `fallbackModel` | Резервная модель(и) для попытки по порядку, когда основная модель перегружена или недоступна. Claude Code переключается на следующую доступную модель в цепи для остальной части хода и показывает уведомление. `"default"` расширяется до модели по умолчанию. Цепи ограничены тремя моделями; дополнительные записи игнорируются. В отличие от большинства параметров массива, этот ключ не объединяется в разных файлах параметров: файл с наивысшим приоритетом, который его определяет, предоставляет всю цепь. Флаг [`--fallback-model`](/ru/cli-reference#cli-flags) переопределяет это на один сеанс. См. [Цепи резервных моделей](/ru/model-config#fallback-model-chains) | `["claude-sonnet-4-6", "claude-haiku-4-5"]` |

226| `fastModePerSessionOptIn` | Когда `true`, быстрый режим не сохраняется между сеансами. Каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей включить его с помощью `/fast`. Предпочтение быстрого режима пользователя по-прежнему сохраняется. См. [Требовать согласие для каждого сеанса](/ru/fast-mode#require-per-session-opt-in) | `true` |261| `fastModePerSessionOptIn` | Когда `true`, быстрый режим не сохраняется между сеансами. Каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей включить его с помощью `/fast`. Предпочтение быстрого режима пользователя по-прежнему сохраняется. См. [Требовать согласие для каждого сеанса](/ru/fast-mode#require-per-session-opt-in) | `true` |

227| `feedbackSurveyRate` | Вероятность (0–1) того, что [опрос качества сеанса](/ru/data-usage#session-quality-surveys) появится при наличии условий. Установите на `0`, чтобы полностью подавить, или установите [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/ru/env-vars) в `env`. Полезно при использовании Bedrock, Vertex или Foundry, где частота выборки по умолчанию не применяется | `0.05` |262| `feedbackSurveyRate` | Вероятность (0–1) того, что [опрос качества сеанса](/ru/data-usage#session-quality-surveys) появится при наличии условий. Установите на `0`, чтобы полностью подавить, или установите [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/ru/env-vars) в `env`. Полезно при использовании Bedrock, Vertex или Foundry, где частота выборки по умолчанию не применяется | `0.05` |

263| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}Снимок файлов перед каждым редактированием, чтобы [`/rewind`](/ru/checkpointing) мог их восстановить. По умолчанию: `true`. Появляется в `/config` как **Rewind code (checkpoints)**. Чтобы отключить через переменную окружения, установите [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/ru/env-vars) в `env` | `false` |

228| `fileSuggestion` | Настройте пользовательский скрипт для автодополнения файлов `@`. См. [Параметры предложения файлов](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |264| `fileSuggestion` | Настройте пользовательский скрипт для автодополнения файлов `@`. См. [Параметры предложения файлов](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

229| `forceLoginMethod` | Используйте `claudeai` для ограничения входа учетными записями Claude.ai, `console` для ограничения входа учетными записями Claude Console. Когда установлено в управляемых параметрах, сеансы, аутентифицированные по ключу API, `apiKeyHelper` или сторонним поставщиком, блокируются при запуске, так как ни одно значение не может быть удовлетворено без первоначальной OAuth | `claudeai` |265| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Отображать дополнительные кликабельные значки в нижнем колонтитуле, когда регулярное выражение совпадает с выводом хода. Каждая запись имеет `pattern`, шаблон `url` с заполняемыми `{name}` плейсхолдерами из именованных групп захвата и необязательный `label`. Читается из параметров пользователя, флага `--settings` и управляемых параметров только. См. [Значки ссылок нижнего колонтитула](#footer-link-badges) для ограничений URL, списка разрешений схемы и лимитов. Требует Claude Code v2.1.176 или позже | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |

230| `forceLoginOrgUUID` | Требовать, чтобы вход принадлежал определенной организации Anthropic. Принимает одну строку UUID, которая также предварительно выбирает эту организацию во время входа, или массив UUID, где любая указанная организация принимается без предварительного выбора. При установке в управляемых параметрах вход не удается, если аутентифицированная учетная запись не принадлежит указанной организации, и сеансы, аутентифицированные по ключу API, `apiKeyHelper` или сторонним поставщиком, блокируются при запуске, так как членство в организации не может быть проверено для них. Сеансы поставщиков третьих сторон, такие как Bedrock, Vertex и Foundry, не блокируются: используйте IAM вашего облачного провайдера для ограничения того, какие облачные учетные записи могут быть использованы. Пустой массив не удается закрыто и блокирует вход с сообщением о неправильной конфигурации | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` или `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |266| `forceLoginMethod` | Используйте `claudeai` для ограничения входа учетными записями Claude.ai, `console` для ограничения входа учетными записями Claude Console. Когда установлено в управляемых параметрах, сеансы, аутентифицированные по `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, блокируются при запуске, так как ни одно значение не может быть удовлетворено без первоначальной OAuth. Сеансы поставщиков третьих сторон, такие как Bedrock, Vertex и Foundry, не блокируются: они аутентифицируются против вашего облачного провайдера, а не Anthropic | `claudeai` |

267| `forceLoginOrgUUID` | Требовать, чтобы вход принадлежал определенной организации Anthropic. Принимает одну строку UUID, которая также предварительно выбирает эту организацию во время входа, или массив UUID, где любая указанная организация принимается без предварительного выбора. При установке в управляемых параметрах вход не удается, если аутентифицированная учетная запись не принадлежит указанной организации, и сеансы, аутентифицированные по `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, блокируются при запуске, так как членство в организации не может быть проверено для них. Сеансы поставщиков третьих сторон, такие как Bedrock, Vertex и Foundry, не блокируются: используйте IAM вашего облачного провайдера для ограничения того, какие облачные учетные записи могут быть использованы. Пустой массив не удается закрыто и блокирует вход с сообщением о неправильной конфигурации | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` или `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

231| `forceRemoteSettingsRefresh` | (Только управляемые параметры) Блокировать запуск CLI до тех пор, пока удаленные управляемые параметры не будут свежо получены с сервера. Если получение не удается, CLI выходит вместо продолжения с кэшированными или отсутствующими параметрами. Когда не установлено, запуск продолжается без ожидания удаленных параметров. См. [fail-closed enforcement](/ru/server-managed-settings#enforce-fail-closed-startup) | `true` |268| `forceRemoteSettingsRefresh` | (Только управляемые параметры) Блокировать запуск CLI до тех пор, пока удаленные управляемые параметры не будут свежо получены с сервера. Если получение не удается, CLI выходит вместо продолжения с кэшированными или отсутствующими параметрами. Когда не установлено, запуск продолжается без ожидания удаленных параметров. См. [fail-closed enforcement](/ru/server-managed-settings#enforce-fail-closed-startup) | `true` |

232| `gcpAuthRefresh` | Пользовательский скрипт, который обновляет GCP Application Default Credentials при их истечении или невозможности загрузки. См. [расширенная конфигурация учетных данных](/ru/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |269| `gcpAuthRefresh` | Пользовательский скрипт, который обновляет GCP Application Default Credentials при их истечении или невозможности загрузки. См. [расширенная конфигурация учетных данных](/ru/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |

233| `hooks` | Настройте пользовательские команды для запуска при событиях жизненного цикла. См. [документацию hooks](/ru/hooks) для формата | См. [hooks](/ru/hooks) |270| `hooks` | Настройте пользовательские команды для запуска при событиях жизненного цикла. См. [документацию hooks](/ru/hooks) для формата | См. [hooks](/ru/hooks) |

234| `httpHookAllowedEnvVars` | Список разрешенных имен переменных окружения, которые HTTP hooks могут интерполировать в заголовки. При установке эффективный `allowedEnvVars` каждого hook является пересечением с этим списком. Не определено = без ограничений. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |271| `httpHookAllowedEnvVars` | Список разрешенных имен переменных окружения, которые HTTP hooks могут интерполировать в заголовки. При установке эффективный `allowedEnvVars` каждого hook является пересечением с этим списком. Не определено = без ограничений. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |

235| `includeCoAuthoredBy` | **Устарело**: Используйте `attribution` вместо этого. Включать ли строку `co-authored-by Claude` в коммиты git и pull requests (по умолчанию: `true`) | `false` |272| `includeCoAuthoredBy` | **Устарело**: Используйте `attribution` вместо этого. Включать ли строку `co-authored-by Claude` в коммиты git и pull requests (по умолчанию: `true`) | `false` |

236| `includeGitInstructions` | Включить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git в системный запрос Claude (по умолчанию: `true`). Установите на `false`, чтобы удалить оба, например при использовании собственных skills рабочего процесса git. Переменная окружения `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` имеет приоритет над этим параметром при установке | `false` |273| `includeGitInstructions` | Включить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git в системный запрос Claude (по умолчанию: `true`). Установите на `false`, чтобы удалить оба, например при использовании собственных skills рабочего процесса git. Переменная окружения `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` имеет приоритет над этим параметром при установке | `false` |

237| `language` | Настройте предпочитаемый язык ответов Claude (например, `"japanese"`, `"spanish"`, `"french"`). Claude будет отвечать на этом языке по умолчанию. Также устанавливает язык [голосового диктанта](/ru/voice-dictation#change-the-dictation-language) | `"japanese"` |274| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}Когда [Remote Control](/ru/remote-control) подключен, отправить push-уведомление на ваш телефон, когда запрос разрешения или вопрос ожидает вашего ввода. По умолчанию: `false`. Появляется в `/config` как **Push when actions required**. См. [Mobile push notifications](/ru/remote-control#mobile-push-notifications). Требует Claude Code v2.1.119 или позже | `true` |

275| `language` | Настройте предпочитаемый язык ответов Claude (например, `"japanese"`, `"spanish"`, `"french"`). Claude будет отвечать на этом языке по умолчанию. Также устанавливает язык [голосового диктанта](/ru/voice-dictation#change-the-dictation-language) и автоматически созданных названий сеансов. {/* min-version: 2.1.176 */}Начиная с v2.1.176, когда не установлено, названия сеансов соответствуют языку вашего разговора | `"japanese"` |

238| `maxSkillDescriptionChars` | {/* min-version: 2.1.105 */}Ограничение количества символов для каждого skill на объединенный текст `description` и `when_to_use` в [списке skills](/ru/skills#skill-descriptions-are-cut-short), который видит Claude каждый ход (по умолчанию: `1536`). Текст длиннее этого усекается. Увеличьте, чтобы сохранить длинные описания в целости за счет большего контекста за ход; уменьшьте, чтобы вместить больше skills в рамках [`skillListingBudgetFraction`](#available-settings). Требует Claude Code v2.1.105 или позже | `2048` |276| `maxSkillDescriptionChars` | {/* min-version: 2.1.105 */}Ограничение количества символов для каждого skill на объединенный текст `description` и `when_to_use` в [списке skills](/ru/skills#skill-descriptions-are-cut-short), который видит Claude каждый ход (по умолчанию: `1536`). Текст длиннее этого усекается. Увеличьте, чтобы сохранить длинные описания в целости за счет большего контекста за ход; уменьшьте, чтобы вместить больше skills в рамках [`skillListingBudgetFraction`](#available-settings). Требует Claude Code v2.1.105 или позже | `2048` |

239| `minimumVersion` | Предотвратить понижение версии автоматического обновления ниже определенной версии. Переключение с канала `"latest"` на `"stable"` через `/config` предлагает вам остаться на текущей версии или разрешить понижение. Выбор остаться устанавливает это значение. Также полезно в [управляемых параметрах](/ru/permissions#managed-settings) для закрепления организационного минимума | `"2.1.100"` |277| `minimumVersion` | Предотвратить понижение версии автоматического обновления ниже определенной версии. Переключение с канала `"latest"` на `"stable"` через `/config` предлагает вам остаться на текущей версии или разрешить понижение. Выбор остаться устанавливает это значение. Также полезно в [управляемых параметрах](/ru/permissions#managed-settings) для закрепления организационного минимума. Для жесткого предела, который блокирует запуск целиком, см. `requiredMinimumVersion` | `"2.1.100"` |

240| `model` | Переопределить модель по умолчанию для использования в Claude Code. `--model` и [`ANTHROPIC_MODEL`](/ru/model-config#environment-variables) переопределяют это на один сеанс | `"claude-sonnet-4-6"` |278| `model` | Переопределить модель по умолчанию для использования в Claude Code. `--model` и [`ANTHROPIC_MODEL`](/ru/model-config#environment-variables) переопределяют это на один сеанс | `"claude-sonnet-4-6"` |

241| `modelOverrides` | Сопоставить ID моделей Anthropic с ID моделей, специфичными для поставщика, такими как ARN профилей вывода Bedrock. Каждая запись средства выбора модели использует свое сопоставленное значение при вызове API поставщика. См. [Переопределить ID моделей для каждой версии](/ru/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |279| `modelOverrides` | Сопоставить ID моделей Anthropic с ID моделей, специфичными для поставщика, такими как ARN профилей вывода Bedrock. Каждая запись средства выбора модели использует свое сопоставленное значение при вызове API поставщика. См. [Переопределить ID моделей для каждой версии](/ru/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

242| `otelHeadersHelper` | Скрипт для создания динамических заголовков OpenTelemetry. Запускается при запуске и периодически. Установите интервал обновления с помощью [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/ru/env-vars). См. [Динамические заголовки](/ru/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |280| `otelHeadersHelper` | Скрипт для создания динамических заголовков OpenTelemetry. Запускается при запуске и периодически. Установите интервал обновления с помощью [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/ru/env-vars). См. [Динамические заголовки](/ru/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |


244| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Только управляемые параметры) Контролирует, применяются ли управляемые параметры, предоставленные программно процессом хоста встраивания, таким как Agent SDK или расширение IDE, когда также присутствует развернутый администратором управляемый уровень. `"first-wins"`: параметры, предоставленные родителем, отбрасываются и применяется только уровень администратора. `"merge"`: параметры, предоставленные родителем, применяются под уровнем администратора, отфильтрованные так, чтобы они могли ужесточить политику, но не ослабить ее. Не имеет эффекта, когда развернут администратором уровень. По умолчанию: `"first-wins"`. Требует Claude Code v2.1.133 или позже | `"merge"` |282| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Только управляемые параметры) Контролирует, применяются ли управляемые параметры, предоставленные программно процессом хоста встраивания, таким как Agent SDK или расширение IDE, когда также присутствует развернутый администратором управляемый уровень. `"first-wins"`: параметры, предоставленные родителем, отбрасываются и применяется только уровень администратора. `"merge"`: параметры, предоставленные родителем, применяются под уровнем администратора, отфильтрованные так, чтобы они могли ужесточить политику, но не ослабить ее. Не имеет эффекта, когда развернут администратором уровень. По умолчанию: `"first-wins"`. Требует Claude Code v2.1.133 или позже | `"merge"` |

245| `permissions` | См. таблицу ниже для структуры разрешений. | |283| `permissions` | См. таблицу ниже для структуры разрешений. | |

246| `plansDirectory` | Настройте, где хранятся файлы плана. Путь относительно корня проекта. По умолчанию: `~/.claude/plans` | `"./plans"` |284| `plansDirectory` | Настройте, где хранятся файлы плана. Путь относительно корня проекта. По умолчанию: `~/.claude/plans` | `"./plans"` |

247| `pluginSuggestionMarketplaces` | (Только управляемые параметры) Имена marketplace, чьи plugins могут появляться как контекстные предложения установки, в дополнение к официальному marketplace. Предложения поступают из объявления `relevance` каждого plugin в его записи marketplace. Имя вступает в силу только когда marketplace зарегистрирован на машине и его зарегистрированный источник также объявлен в управляемых параметрах, либо как запись `extraKnownMarketplaces` для этого имени, либо как запись `strictKnownMarketplaces`. Marketplace, зарегистрированный из другого источника под разрешенным именем, игнорируется. | `["acme-corp-plugins"]` |285| `pluginSuggestionMarketplaces` | (Только управляемые параметры) Имена marketplace, чьи plugins могут появляться как контекстные предложения установки. Ни одно предложение, объявленное marketplace, не появляется без этого списка разрешений; встроенный совет по дизайну первой стороны не затронут. Предложения поступают из объявления `relevance` каждого plugin в его записи marketplace. Имя вступает в силу только когда marketplace зарегистрирован на машине и его зарегистрированный источник также объявлен в управляемых параметрах, либо как запись `extraKnownMarketplaces` для этого имени, либо как запись `strictKnownMarketplaces`. Marketplace, зарегистрированный из другого источника под разрешенным именем, игнорируется. Официальный marketplace освобожден от требования источника: разрешение его имени одного достаточно, так как это имя может регистрироваться только из официального источника Anthropic. | `["acme-corp-plugins"]` |

248| `pluginTrustMessage` | (Только управляемые параметры) Пользовательское сообщение, добавленное к предупреждению о доверии plugin, показываемому перед установкой. Используйте это для добавления контекста, специфичного для организации, например для подтверждения того, что plugins из вашего внутреннего marketplace проверены. | `"All plugins from our marketplace are approved by IT"` |286| `pluginTrustMessage` | (Только управляемые параметры) Пользовательское сообщение, добавленное к предупреждению о доверии plugin, показываемому перед установкой. Используйте это для добавления контекста, специфичного для организации, например для подтверждения того, что plugins из вашего внутреннего marketplace проверены. | `"All plugins from our marketplace are approved by IT"` |

249| `policyHelper` | {/* min-version: 2.1.136 */}Развернутый администратором исполняемый файл, который вычисляет управляемые параметры динамически при запуске. Учитывается только из MDM или системного файла `managed-settings.json`. См. [Вычислить управляемые параметры с помощью помощника политики](#compute-managed-settings-with-a-policy-helper). Требует Claude Code v2.1.136 или позже | `{"path": "/usr/local/bin/claude-policy"}` |287| `policyHelper` | {/* min-version: 2.1.136 */}Развернутый администратором исполняемый файл, который вычисляет управляемые параметры динамически при запуске. Учитывается только из MDM или системного файла `managed-settings.json`. См. [Вычислить управляемые параметры с помощью помощника политики](#compute-managed-settings-with-a-policy-helper). Требует Claude Code v2.1.136 или позже | `{"path": "/usr/local/bin/claude-policy"}` |

250| `preferredNotifChannel` | Метод для уведомлений о завершении задачи и запросов разрешения: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"` или `"notifications_disabled"`. По умолчанию: `"auto"`, который отправляет уведомление рабочего стола в iTerm2, Ghostty и Kitty и ничего не делает в других терминалах. Установите `"terminal_bell"` для звонка в любом терминале. Появляется в `/config` как **Notifications**. См. [Получить звонок терминала или уведомление](/ru/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |288| `preferredNotifChannel` | Метод для уведомлений о завершении задачи и запросов разрешения: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"` или `"notifications_disabled"`. По умолчанию: `"auto"`, который отправляет уведомление рабочего стола в iTerm2, Ghostty и Kitty и ничего не делает в других терминалах. Установите `"terminal_bell"` для звонка в любом терминале. Появляется в `/config` как **Notifications**. См. [Получить звонок терминала или уведомление](/ru/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |

251| `prefersReducedMotion` | Уменьшить или отключить анимацию пользовательского интерфейса (спиннеры, shimmer, эффекты вспышки) для доступности | `true` |289| `prefersReducedMotion` | Уменьшить или отключить анимацию пользовательского интерфейса (спиннеры, shimmer, эффекты вспышки) для доступности | `true` |

252| `prUrlTemplate` | Шаблон URL для значка PR, показываемого в нижнем колонтитуле и в сводках результатов инструмента. Заменяет `{host}`, `{owner}`, `{repo}`, `{number}` и `{url}` из URL PR, сообщаемого `gh`. Используйте для указания ссылок PR на внутренний инструмент проверки кода вместо `github.com`. Не влияет на автоссылки `#123` в прозе Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |290| `prUrlTemplate` | Шаблон URL для значка PR, показываемого в нижнем колонтитуле и в сводках результатов инструмента. Заменяет `{host}`, `{owner}`, `{repo}`, `{number}` и `{url}` из URL PR, сообщаемого `gh`. Используйте для указания ссылок PR на внутренний инструмент проверки кода вместо `github.com`. Не влияет на автоссылки `#123` в прозе Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |

291| `requiredMaximumVersion` | Только управляемые параметры. Максимальная версия Claude Code, разрешенная для запуска. Если запущенная версия новее, Claude Code выходит при запуске и инструктирует пользователя установить одобренную версию через одобренный метод организации; `claude install <version>` также может работать. Фоновые автоматические обновления и `claude update` пропускают версии выше потолка, поэтому установка в диапазоне остается в диапазоне. `claude update`, `claude install` и `claude doctor` продолжают работать выше потолка, чтобы пользователи могли восстановиться. Версии, которые предшествуют этому параметру, игнорируют его | `"2.1.150"` |

292| `requiredMinimumVersion` | Только управляемые параметры. Минимальная версия Claude Code, требуемая для запуска. Если запущенная версия старше, Claude Code выходит при запуске и инструктирует пользователя обновить через одобренный метод организации. `claude update`, `claude install` и `claude doctor` продолжают работать ниже пола, чтобы пользователи могли восстановиться. Отличается от `minimumVersion`, который предотвращает понижение, но никогда не блокирует запуск. Версии, которые предшествуют этому параметру, игнорируют его | `"2.1.150"` |

253| `respectGitignore` | Контролировать, соблюдает ли средство выбора файлов `@` шаблоны `.gitignore`. Когда `true` (по умолчанию), файлы, соответствующие шаблонам `.gitignore`, исключаются из предложений | `false` |293| `respectGitignore` | Контролировать, соблюдает ли средство выбора файлов `@` шаблоны `.gitignore`. Когда `true` (по умолчанию), файлы, соответствующие шаблонам `.gitignore`, исключаются из предложений | `false` |

254| `showClearContextOnPlanAccept` | Показать опцию "очистить контекст" на экране принятия плана. По умолчанию: `false`. Установите на `true`, чтобы восстановить опцию | `true` |294| `showClearContextOnPlanAccept` | Показать опцию "очистить контекст" на экране принятия плана. По умолчанию: `false`. Установите на `true`, чтобы восстановить опцию | `true` |

255| `showThinkingSummaries` | Показать [расширенное мышление](/ru/model-config#extended-thinking) резюме в интерактивных сеансах. Когда не установлено или `false` (по умолчанию в интерактивном режиме), блоки мышления редактируются API и показываются как свернутая заглушка. Редактирование изменяет только то, что вы видите, а не то, что генерирует модель: чтобы снизить расходы на мышление, [снизьте бюджет или отключите мышление](/ru/model-config#extended-thinking) вместо этого. Этот параметр не имеет эффекта в неинтерактивном режиме (`-p`), Agent SDK или расширениях IDE, таких как VS Code | `true` |295| `showThinkingSummaries` | Показать [расширенное мышление](/ru/model-config#extended-thinking) резюме в интерактивных сеансах. Когда не установлено или `false` (по умолчанию в интерактивном режиме), блоки мышления редактируются API и показываются как свернутая заглушка. Редактирование изменяет только то, что вы видите, а не то, что генерирует модель: чтобы снизить расходы на мышление, [снизьте бюджет или отключите мышление](/ru/model-config#extended-thinking) вместо этого. Этот параметр не имеет эффекта в неинтерактивном режиме (`-p`), Agent SDK или расширениях IDE, таких как VS Code | `true` |


265| `strictKnownMarketplaces` | (Только управляемые параметры) Список разрешений источников marketplace plugins. Не определено = без ограничений, пустой массив = блокировка. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |305| `strictKnownMarketplaces` | (Только управляемые параметры) Список разрешений источников marketplace plugins. Не определено = без ограничений, пустой массив = блокировка. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

266| `strictPluginOnlyCustomization` | (Только управляемые параметры) Блокировать skills, agents, hooks и MCP servers из источников пользователя и проекта, поэтому они могут поступать только из plugins или управляемых параметров. `true` блокирует все четыре поверхности; массив блокирует только названные. См. [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |306| `strictPluginOnlyCustomization` | (Только управляемые параметры) Блокировать skills, agents, hooks и MCP servers из источников пользователя и проекта, поэтому они могут поступать только из plugins или управляемых параметров. `true` блокирует все четыре поверхности; массив блокирует только названные. См. [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |

267| `syntaxHighlightingDisabled` | Отключить подсветку синтаксиса в дифах, блоках кода и предпросмотрах файлов | `true` |307| `syntaxHighlightingDisabled` | Отключить подсветку синтаксиса в дифах, блоках кода и предпросмотрах файлов | `true` |

268| `teammateMode` | Как отображаются товарищи по [команде агентов](/ru/agent-teams): `auto` (выбирает разделенные панели в tmux или iTerm2, в процессе в противном случае), `in-process` или `tmux`. `--teammate-mode` переопределяет это на один сеанс. См. [выбрать режим отображения](/ru/agent-teams#choose-a-display-mode) | `"in-process"` |308| `teammateMode` | Как отображаются товарищи по [команде агентов](/ru/agent-teams): `auto` (выбирает разделенные панели в tmux или iTerm2, в процессе в противном случае), `in-process` или `tmux` (разделенные панели с использованием tmux или iTerm2, обнаруженные из вашего терминала). `--teammate-mode` переопределяет это на один сеанс. См. [выбрать режим отображения](/ru/agent-teams#choose-a-display-mode) | `"in-process"` |

269| `terminalProgressBarEnabled` | Показывать полосу прогресса терминала в поддерживаемых терминалах: ConEmu, Ghostty 1.2.0+ и iTerm2 3.6.6+. По умолчанию: `true`. Появляется в `/config` как **Terminal progress bar** | `false` |309| `terminalProgressBarEnabled` | Показывать полосу прогресса терминала в поддерживаемых терминалах: ConEmu, Ghostty 1.2.0+ и iTerm2 3.6.6+. По умолчанию: `true`. Появляется в `/config` как **Terminal progress bar** | `false` |

270| `tui` | Средство визуализации Terminal UI. Используйте `"fullscreen"` для безмерцающего [alt-screen renderer](/ru/fullscreen) с виртуализированной прокруткой. Используйте `"default"` для классического main-screen renderer. Установите через `/tui`. Вы также можете установить переменную окружения [`CLAUDE_CODE_NO_FLICKER`](/ru/env-vars) | `"fullscreen"` |310| `theme` | {/* min-version: 2.1.119 */}Цветовая тема для интерфейса: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"` или ссылка на пользовательскую тему, такая как `"custom:<slug>"` или `"custom:<plugin-name>:<slug>"`. По умолчанию: `"dark"`. См. [Создать пользовательскую тему](/ru/terminal-config#create-a-custom-theme). Появляется в `/config` как **Theme** | `"dark"` |

311| `tui` | Средство визуализации Terminal UI. Используйте `"fullscreen"` для безмерцающего [alt-screen renderer](/ru/fullscreen) с виртуализированной прокруткой. Используйте `"default"` для классического main-screen renderer. Установите через `/tui`. Вы также можете установить переменную окружения [`CLAUDE_CODE_NO_FLICKER`](/ru/env-vars). Фоновые сеансы, открытые из [представления агента](/ru/agent-view), всегда используют fullscreen renderer независимо от этого параметра | `"fullscreen"` |

271| `ultracode` | Включить [ultracode](/ru/workflows#let-claude-decide-with-ultracode) для сеанса. Только для сеанса и не читается из `settings.json`. Установите через `/effort ultracode`, `--settings` или запрос управления Agent SDK | `true` |312| `ultracode` | Включить [ultracode](/ru/workflows#let-claude-decide-with-ultracode) для сеанса. Только для сеанса и не читается из `settings.json`. Установите через `/effort ultracode`, `--settings` или запрос управления Agent SDK | `true` |

272| `useAutoModeDuringPlan` | Использует ли Plan Mode семантику автоматического режима, когда автоматический режим доступен. По умолчанию: `true`. Не читается из общих параметров проекта. Появляется в `/config` как "Use auto mode during plan" | `false` |313| `useAutoModeDuringPlan` | Использует ли Plan Mode семантику автоматического режима, когда автоматический режим доступен. По умолчанию: `true`. Не читается из общих параметров проекта. Появляется в `/config` как "Use auto mode during plan" | `false` |

314| `verbose` | {/* min-version: 2.1.119 */}Показать полный вывод инструмента вместо усеченных сводок. По умолчанию: `false`. Появляется в `/config` как **Verbose output**. Флаг `--verbose` переопределяет это на один сеанс | `true` |

273| `viewMode` | Режим просмотра стенограммы по умолчанию при запуске: `"default"`, `"verbose"` или `"focus"`. Переопределяет липкий выбор `/focus` при установке. Флаг `--verbose` переопределяет это на один сеанс | `"verbose"` |315| `viewMode` | Режим просмотра стенограммы по умолчанию при запуске: `"default"`, `"verbose"` или `"focus"`. Переопределяет липкий выбор `/focus` при установке. Флаг `--verbose` переопределяет это на один сеанс | `"verbose"` |

274| `voice` | Параметры [голосового диктанта](/ru/voice-dictation): `enabled` включает диктант, `mode` выбирает `"hold"` или `"tap"`, и `autoSubmit` отправляет запрос при отпускании клавиши в режиме hold. Записывается автоматически при запуске `/voice`. Требует учетную запись Claude.ai | `{ "enabled": true, "mode": "tap" }` |316| `voice` | Параметры [голосового диктанта](/ru/voice-dictation): `enabled` включает диктант, `mode` выбирает `"hold"` или `"tap"`, и `autoSubmit` отправляет запрос при отпускании клавиши в режиме hold. Записывается автоматически при запуске `/voice`. Требует учетную запись Claude.ai | `{ "enabled": true, "mode": "tap" }` |

275| `voiceEnabled` | Устаревший псевдоним для `voice.enabled`. Предпочитайте объект `voice` | `true` |317| `voiceEnabled` | Устаревший псевдоним для `voice.enabled`. Предпочитайте объект `voice` | `true` |

276| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}Вызывает ли слово `ultracode` в запросе [динамический workflow](/ru/workflows#ask-for-a-workflow-in-your-prompt). Установите на `false`, чтобы вводить слово без срабатывания. Ultracode, `/workflows` и сохраненные команды workflow не затронуты. По умолчанию: `true`. Появляется в `/config` как **Ultracode keyword trigger** | `false` |318| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}В [fullscreen rendering](/ru/fullscreen#mouse-wheel-scrolling), ускорить скорость прокрутки колеса мыши во время быстрой прокрутки. По умолчанию: `true`. Установите на `false` для постоянной скорости прокрутки за один оборот колеса. Требует Claude Code v2.1.174 или позже | `false` |

319| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}Вызывает ли слово `ultracode` в запросе [динамический workflow](/ru/workflows#ask-for-a-workflow-in-your-prompt). Установите на `false`, чтобы вводить слово без срабатывания. Ultracode, `/workflows` и сохраненные команды workflow не затронуты. По умолчанию: `true`. Появляется в `/config` как **Ultracode keyword trigger**. Добавлено в v2.1.157; до v2.1.160 ключевое слово триггера было `workflow` | `false` |

277| `wslInheritsWindowsSettings` | (Только управляемые параметры Windows) Когда `true`, Claude Code на WSL читает управляемые параметры из цепочки политик Windows в дополнение к `/etc/claude-code`, с приоритетом источников Windows. Учитывается только при установке в ключе реестра HKLM или `C:\Program Files\ClaudeCode\managed-settings.json`, оба из которых требуют администратора Windows для записи. Чтобы политика HKCU также применялась на WSL, флаг должен быть дополнительно установлен в самом HKCU. Не влияет на нативный Windows | `true` |320| `wslInheritsWindowsSettings` | (Только управляемые параметры Windows) Когда `true`, Claude Code на WSL читает управляемые параметры из цепочки политик Windows в дополнение к `/etc/claude-code`, с приоритетом источников Windows. Учитывается только при установке в ключе реестра HKLM или `C:\Program Files\ClaudeCode\managed-settings.json`, оба из которых требуют администратора Windows для записи. Чтобы политика HKCU также применялась на WSL, флаг должен быть дополнительно установлен в самом HKCU. Не влияет на нативный Windows | `true` |

278 321 

279<h3 id="global-config-settings">322<h3 id="global-config-settings">


283Эти параметры хранятся в `~/.claude.json` вместо `settings.json`. Добавление их в `settings.json` вызовет ошибку валидации схемы.326Эти параметры хранятся в `~/.claude.json` вместо `settings.json`. Добавление их в `settings.json` вызовет ошибку валидации схемы.

284 327 

285<Note>328<Note>

286 Версии до v2.1.119 также хранят `autoScrollEnabled`, `editorMode`, `showTurnDuration`, `teammateMode` и `terminalProgressBarEnabled` здесь вместо `settings.json`.329 Версии до v2.1.119 также хранят ряд ключей предпочтений `/config` здесь вместо `settings.json`, включая `theme`, `verbose`, `editorMode`, `autoCompactEnabled` и `preferredNotifChannel`.

287</Note>330</Note>

288 331 

289| Ключ | Описание | Пример |332| Ключ | Описание | Пример |


314 357 

315| Ключи | Описание | Пример |358| Ключи | Описание | Пример |

316| :---------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |359| :---------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |

317| `allow` | Массив правил разрешений для разрешения использования инструмента. См. [Синтаксис правила разрешения](#permission-rule-syntax) ниже для деталей сопоставления шаблонов | `[ "Bash(git diff *)" ]` |360| `allow` | Массив правил разрешений для разрешения использования инструмента. Глобусы имен инструментов поддерживаются только в позиции инструмента после буквального префикса `mcp__<server>__`, такого как `mcp__github__get_*`; сегмент сервера должен быть без глобусов. См. [Синтаксис правила разрешения](#permission-rule-syntax) ниже для деталей сопоставления шаблонов | `[ "Bash(git diff *)" ]` |

318| `ask` | Массив правил разрешений для запроса подтверждения при использовании инструмента. См. [Синтаксис правила разрешения](#permission-rule-syntax) ниже | `[ "Bash(git push *)" ]` |361| `ask` | Массив правил разрешений для запроса подтверждения при использовании инструмента. См. [Синтаксис правила разрешения](#permission-rule-syntax) ниже | `[ "Bash(git push *)" ]` |

319| `deny` | Массив правил разрешений для запрета использования инструмента. Используйте это для исключения чувствительных файлов из доступа Claude Code. См. [Синтаксис правила разрешения](#permission-rule-syntax) и [Ограничения разрешений Bash](/ru/permissions#tool-specific-permission-rules) | `[ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]` |362| `deny` | Массив правил разрешений для запрета использования инструмента. Используйте это для исключения чувствительных файлов из доступа Claude Code. Имена инструментов принимают глобусы: `"*"` запрещает каждый инструмент и `"mcp__*"` запрещает все MCP инструменты. См. [Синтаксис правила разрешения](#permission-rule-syntax) и [Ограничения разрешений Bash](/ru/permissions#tool-specific-permission-rules) | `[ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]` |

320| `additionalDirectories` | Дополнительные [рабочие каталоги](/ru/permissions#working-directories) для доступа к файлам. Большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из этих каталогов | `[ "../docs/" ]` |363| `additionalDirectories` | Дополнительные [рабочие каталоги](/ru/permissions#working-directories) для доступа к файлам. Большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из этих каталогов | `[ "../docs/" ]` |

321| `defaultMode` | Режим [разрешения](/ru/permission-modes) по умолчанию при открытии Claude Code. Допустимые значения: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`. {/* min-version: 2.1.142 */}Начиная с Claude Code v2.1.142, `auto` игнорируется при установке в параметрах проекта или локальных параметрах (`.claude/settings.json`, `.claude/settings.local.json`), поэтому репозиторий не может предоставить себе автоматический режим. Установите его в `~/.claude/settings.json` вместо этого. Флаг CLI `--permission-mode` переопределяет этот параметр для одного сеанса | `"acceptEdits"` |364| `defaultMode` | Режим [разрешения](/ru/permission-modes) по умолчанию при открытии Claude Code. Допустимые значения: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`. {/* min-version: 2.1.142 */}Начиная с Claude Code v2.1.142, `auto` игнорируется при установке в параметрах проекта или локальных параметрах (`.claude/settings.json`, `.claude/settings.local.json`), поэтому репозиторий не может предоставить себе автоматический режим. Установите его в `~/.claude/settings.json` вместо этого. Флаг CLI `--permission-mode` переопределяет этот параметр для одного сеанса | `"acceptEdits"` |

322| `disableBypassPermissionsMode` | Установите на `"disable"`, чтобы предотвратить активацию режима `bypassPermissions`. Это отключает флаг командной строки `--dangerously-skip-permissions`. Обычно размещается в [управляемых параметрах](/ru/permissions#managed-settings) для применения организационной политики, но работает из любой области | `"disable"` |365| `disableBypassPermissionsMode` | Установите на `"disable"`, чтобы предотвратить активацию режима `bypassPermissions`. Это отключает флаг командной строки `--dangerously-skip-permissions`. Обычно размещается в [управляемых параметрах](/ru/permissions#managed-settings) для применения организационной политики, но работает из любой области | `"disable"` |


326 Синтаксис правила разрешения369 Синтаксис правила разрешения

327</h3>370</h3>

328 371 

329Правила разрешения следуют формату `Tool` или `Tool(specifier)`. Правила оцениваются по порядку: сначала правила deny, затем ask, затем allow. Первое совпадающее правило побеждает.372Правила разрешения следуют формату `Tool` или `Tool(specifier)`. Правила оцениваются по порядку: сначала правила deny, затем ask, затем allow. Первое совпадающее правило определяет результат независимо от специфичности правила. См. [порядок оценки правила разрешения](/ru/permissions#manage-permissions) для деталей.

330 373 

331Быстрые примеры:374Быстрые примеры:

332 375 


431**Атрибуция коммита по умолчанию:**474**Атрибуция коммита по умолчанию:**

432 475 

433```text theme={null}476```text theme={null}

434🤖 Generated with [Claude Code](https://claude.com/claude-code)477Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

435 

436 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

437```478```

438 479 

480Имя модели в trailer отражает активную модель для сеанса.

481 

439**Атрибуция pull request по умолчанию:**482**Атрибуция pull request по умолчанию:**

440 483 

441```text theme={null}484```text theme={null}


491```bash theme={null}534```bash theme={null}

492#!/bin/bash535#!/bin/bash

493query=$(cat | jq -r '.query')536query=$(cat | jq -r '.query')

537# Замените your-repo-file-index на вашу собственную команду поиска файлов

494your-repo-file-index --query "$query" | head -20538your-repo-file-index --query "$query" | head -20

495```539```

496 540 

541<h3 id="footer-link-badges">

542 Значки ссылок нижнего колонтитула

543</h3>

544 

545Параметр `footerLinksRegexes` отображает дополнительные кликабельные значки в нижнем колонтитуле ниже поля ввода. Используйте его для преобразования ID, выводимых проектными CLI, такими как инструменты проверки и трекеры проблем, в ссылки сеанса.

546 

547Регулярное выражение `pattern` каждой записи сопоставляется с выводом хода: результаты инструментов, включая содержимое файлов и полученные страницы, и собственные ответы Claude. Плейсхолдеры `{name}` в `url` и `label` заполняются из именованных групп захвата в шаблоне.

548 

549Следующий пример отображает значок всякий раз, когда ключ проблемы, такой как `PROJ-1234`, появляется в выводе хода. Именованная группа `(?<key>...)` захватывает ключ, и `{key}` подставляет его в URL и метку:

550 

551```json ~/.claude/settings.json theme={null}

552{

553 "footerLinksRegexes": [

554 {

555 "type": "regex",

556 "pattern": "\\b(?<key>PROJ-\\d+)\\b",

557 "url": "https://issues.example.com/browse/{key}",

558 "label": "{key}"

559 }

560 ]

561}

562```

563 

564С этой конфигурацией, когда `PROJ-1234` появляется в результате инструмента или в ответе Claude, чип `PROJ-1234` появляется в нижнем колонтитуле, ссылаясь на `https://issues.example.com/browse/PROJ-1234`.

565 

566Следующие ограничения применяются к каждой записи:

567 

568| Ограничение | Поведение |

569| :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

570| Источник URL | Захваченные значения кодируются в URL, и построенный URL должен совместно использовать источник шаблона. Захват может заполнить сегмент пути или значение запроса, но не может изменить, на что указывает ссылка |

571| Длина URL | Построенные URL длиннее 2048 символов отбрасываются |

572| Схема URL | Должна быть `https`, `http` или признанная схема deep-link редактора или рабочей области: `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma` |

573| Метка | По умолчанию совпадает с текстом и усекается до 28 столбцов отображения |

574| Количество значков | Максимум 5 значков отображаются. Самый старый вытесняется новыми совпадениями и `/clear` удаляет их |

575| Область параметров | Читается из параметров пользователя, флага `--settings` и управляемых параметров только. Игнорируется в проекте `.claude/settings.json` и локальном `.claude/settings.local.json` |

576 

577Когда ход завершается, Claude Code сопоставляет регулярное выражение `pattern` каждой записи с выводом хода на основном потоке, поэтому медленное регулярное выражение блокирует пользовательский интерфейс до завершения. Вложенные квантификаторы, такие как `(a+)+$`, могут занимать экспоненциально долго против определенных входов и замораживать сеанс, поэтому держите каждый `pattern` линейным и избегайте вложения `+` или `*`.

578 

579Значки нижнего колонтитула отображаются рядом с [пользовательской строкой состояния](/ru/statusline), когда она настроена; ни один не заменяет другой. Используйте строку состояния для строки, управляемой скриптом, которая вычисляет свой собственный контент из данных сеанса, и значки нижнего колонтитула для преобразования ID из разговора в ссылки без скрипта.

580 

497<h3 id="hook-configuration">581<h3 id="hook-configuration">

498 Конфигурация Hook582 Конфигурация Hook

499</h3>583</h3>


564 * Политики, развернутые IT через доставку сервера, профили конфигурации MDM, политики реестра или файлы управляемых параметров648 * Политики, развернутые IT через доставку сервера, профили конфигурации MDM, политики реестра или файлы управляемых параметров

565 * Не могут быть переопределены никаким другим уровнем, включая аргументы командной строки649 * Не могут быть переопределены никаким другим уровнем, включая аргументы командной строки

566 * В пределах управляемого уровня приоритет: server-managed > политики MDM/OS-уровня > file-based (`managed-settings.d/*.json` + `managed-settings.json`) > реестр HKCU (только Windows). Используется только один управляемый источник; источники не объединяются в разных уровнях. В пределах file-based уровня, drop-in файлы и базовый файл объединяются вместе.650 * В пределах управляемого уровня приоритет: server-managed > политики MDM/OS-уровня > file-based (`managed-settings.d/*.json` + `managed-settings.json`) > реестр HKCU (только Windows). Используется только один управляемый источник; источники не объединяются в разных уровнях. В пределах file-based уровня, drop-in файлы и базовый файл объединяются вместе.

651 * Хосты встраивания, такие как Claude Desktop, могут предоставлять политику через опцию SDK `managedSettings`. По умолчанию это игнорируется, когда присутствует любой управляемый уровень. Администраторы могут согласиться, установив [`parentSettingsBehavior`](#available-settings) на `"merge"`. Значения встраивателя отфильтрованы, чтобы они могли ужесточить управляемую политику, но не ослабить ее.

567 652 

5682. **Аргументы командной строки**6532. **Аргументы командной строки**

569 * Временные переопределения для конкретного сеанса. JSON, переданный через `--settings <file-or-json>`, объединяется с параметрами на основе файлов, используя те же правила, что и другие уровни: ключ, установленный здесь, переопределяет тот же ключ в локальных, проектных или пользовательских параметрах, и пропуск ключа оставляет значение нижнего уровня на месте654 * Временные переопределения для конкретного сеанса. JSON, переданный через `--settings <file-or-json>`, объединяется с параметрами на основе файлов, используя те же правила, что и другие уровни: ключ, установленный здесь, переопределяет тот же ключ в локальных, проектных или пользовательских параметрах, и пропуск ключа оставляет значение нижнего уровня на месте


582Например, если ваши параметры пользователя установили `permissions.defaultMode` на `acceptEdits` и параметры проекта установили его на `default`, применяется значение проекта. Пример ниже охватывает, как вместо этого объединяются параметры со значениями массива, такие как правила разрешений.667Например, если ваши параметры пользователя установили `permissions.defaultMode` на `acceptEdits` и параметры проекта установили его на `default`, применяется значение проекта. Пример ниже охватывает, как вместо этого объединяются параметры со значениями массива, такие как правила разрешений.

583 668 

584<Note>669<Note>

585 **Параметры массива объединяются в разных областях.** Когда один и тот же параметр со значением массива (такой как `sandbox.filesystem.allowWrite` или `permissions.allow`) появляется в нескольких областях, массивы **объединяются и дедублицируются**, не заменяются. Это означает, что области с более низким приоритетом могут добавлять записи без переопределения установленных областями с более высоким приоритетом, и наоборот. Например, если управляемые параметры устанавливают `allowWrite` на `["/opt/company-tools"]` и пользователь добавляет `["~/.kube"]`, оба пути включены в окончательную конфигурацию.670 **Параметры массива объединяются в разных областях.** Когда один и тот же параметр со значением массива (такой как `sandbox.filesystem.allowWrite` или `permissions.allow`) появляется в нескольких областях, массивы **объединяются и дедублицируются**, не заменяются. Это означает, что области с более низким приоритетом могут добавлять записи без переопределения установленных областями с более высоким приоритетом, и наоборот. Например, если управляемые параметры устанавливают `allowWrite` на `["/opt/company-tools"]` и пользователь добавляет `["~/.kube"]`, оба пути включены в окончательную конфигурацию. Два исключения: [`fallbackModel`](#available-settings), упорядоченная цепь, где позиция имеет значение, поэтому файл с наивысшим приоритетом, который его определяет, предоставляет всю цепь, и {/* min-version: 2.1.175 */}начиная с v2.1.175, [`availableModels`](#available-settings), где управляемое или политическое значение полностью заменяет записи с более низким приоритетом. См. [Поведение объединения](/ru/model-config#merge-behavior).

586</Note>671</Note>

587 672 

588<h3 id="verify-active-settings">673<h3 id="verify-active-settings">

589 Проверить активные параметры674 Проверить активные параметры

590</h3>675</h3>

591 676 

592Запустите `/status` внутри Claude Code, чтобы увидеть, какие источники параметров активны. Вкладка Status включает строку `Setting sources`, которая перечисляет каждый уровень, который Claude Code загрузил для текущего сеанса, такой как `User settings` или `Project local settings`. Когда действуют [управляемые параметры](/ru/managed-settings), запись показывает канал доставки в скобках, например `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)` или `(file)`. Уровень появляется в списке только когда этот источник загружен с по крайней мере одним ключом, поэтому пустой список означает, что источники параметров не найдены.677Запустите `/status` внутри Claude Code, чтобы увидеть, какие источники параметров активны. Внутри меню вкладка **Status** включает строку `Setting sources`, которая перечисляет каждый уровень Claude Code, загруженный для текущего сеанса, такой как `User settings` или `Project local settings`. Когда действуют [управляемые параметры](/ru/admin-setup#decide-how-settings-reach-devices), запись показывает канал доставки в скобках, например `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)` или `(file)`. Уровень появляется в списке только когда этот источник загружается с по крайней мере одним ключом, поэтому пустой список означает, что источники параметров не были найдены.

678 

679Строка `Setting sources` подтверждает, какие источники читаются. Она не показывает, какой уровень предоставил каждый отдельный ключ. Вкладка **Config** в том же диалоге - это редактор для фиксированного набора переключателей, таких как тема и подробный вывод, а не представление содержимого вашего `settings.json`.

593 680 

594Строка `Setting sources` подтверждает, какие источники читаются. Она не показывает, какой уровень предоставил каждый отдельный ключ. Вкладка Config в том же диалоге - это редактор для фиксированного набора переключателей, таких как тема и подробный вывод, а не представление содержимого вашего `settings.json`. Если файл параметров содержит ошибки, такие как недействительный JSON или значение, которое не прошло валидацию, `/status` сообщает о проблеме, чтобы вы могли ее исправить.681Если файл параметров содержит ошибки, такие как недействительный JSON или значение, которое не прошло валидацию, Claude Code показывает уведомление о проблемах установки при запуске и `/status` перечисляет затронутые файлы. Запустите `/doctor` для деталей каждой ошибки.

595 682 

596<h3 id="key-points-about-the-configuration-system">683<h3 id="key-points-about-the-configuration-system">

597 Ключевые моменты о системе конфигурации684 Ключевые моменты о системе конфигурации


602* **Skills**: Пользовательские запросы, которые можно вызвать с помощью `/skill-name` или загружены Claude автоматически689* **Skills**: Пользовательские запросы, которые можно вызвать с помощью `/skill-name` или загружены Claude автоматически

603* **MCP servers**: Расширяют Claude Code дополнительными инструментами и интеграциями690* **MCP servers**: Расширяют Claude Code дополнительными инструментами и интеграциями

604* **Приоритет**: Конфигурации более высокого уровня (Managed) переопределяют конфигурации более низкого уровня (User/Project)691* **Приоритет**: Конфигурации более высокого уровня (Managed) переопределяют конфигурации более низкого уровня (User/Project)

605* **Наследование**: Параметры объединяются в разных областях; скалярные значения из областей с более высоким приоритетом переопределяют, и массивы объединяются692* **Наследование**: Параметры объединяются в разных областях; скалярные значения из областей с более высоким приоритетом переопределяют, и массивы объединяются. Исключения: `fallbackModel`, где файл с наивысшим приоритетом, который его определяет, предоставляет всю цепь, и `availableModels`, где управляемое или политическое значение полностью заменяет записи с более низким приоритетом

606 693 

607<h3 id="system-prompt">694<h3 id="system-prompt">

608 Системный запрос695 Системный запрос


683 770 

684* **Параметры пользователя** (`~/.claude/settings.json`): Личные предпочтения plugins771* **Параметры пользователя** (`~/.claude/settings.json`): Личные предпочтения plugins

685* **Параметры проекта** (`.claude/settings.json`): Plugins, специфичные для проекта, совместно используемые с командой772* **Параметры проекта** (`.claude/settings.json`): Plugins, специфичные для проекта, совместно используемые с командой

686* **Локальные параметры** (`.claude/settings.local.json`): Переопределения для каждой машины (не зафиксированы)773* **Локальные параметры** (`.claude/settings.local.json`): Переопределения для каждой машины, не зафиксированные, когда Claude Code их создает

687* **Управляемые параметры** (`managed-settings.json`): Переопределения организационной политики, которые блокируют установку на всех уровнях и скрывают plugin из marketplace774* **Управляемые параметры** (`managed-settings.json`): Переопределения организационной политики, которые блокируют установку на всех уровнях и скрывают plugin из marketplace

688 775 

689<Note>776<Note>

setup.md +27 −5

Details

174claude --version174claude --version

175```175```

176 176 

177Если это не сработает с ошибкой `command not found` или другой ошибкой, см. [Troubleshoot installation and login](/ru/troubleshoot-install).177Если это не сработает с ошибкой `command not found` или другой ошибкой, см. [Устранение неполадок при установке и входе](/ru/troubleshoot-install).

178 178 

179Для более подробной проверки установки и конфигурации выполните [`claude doctor`](/ru/troubleshooting#get-more-help):179Для более подробной проверки установки и конфигурации выполните [`claude doctor`](/ru/troubleshooting#get-more-help):

180 180 


258 258 

259В [управляемых параметрах](/ru/permissions#managed-settings) это обеспечивает минимум на уровне организации, который параметры пользователя и проекта не могут переопределить.259В [управляемых параметрах](/ru/permissions#managed-settings) это обеспечивает минимум на уровне организации, который параметры пользователя и проекта не могут переопределить.

260 260 

261Закрепление `minimumVersion` только ограничивает обновления. Чтобы заставить Claude Code отказаться запускаться вне диапазона версий, используйте вместо этого управляемые параметры `requiredMinimumVersion` и `requiredMaximumVersion`. Обновления также соблюдают потолок `requiredMaximumVersion`. См. [доступные параметры](/ru/settings#available-settings).

262 

261<h3 id="disable-auto-updates">263<h3 id="disable-auto-updates">

262 Отключение автоматических обновлений264 Отключение автоматических обновлений

263</h3>265</h3>


366 Установка с менеджерами пакетов Linux368 Установка с менеджерами пакетов Linux

367</h3>369</h3>

368 370 

369Claude Code публикует подписанные репозитории apt, dnf и apk. Замените `stable` на `latest` для канала rolling. Установки менеджеров пакетов не обновляются автоматически через Claude Code; обновления поступают через ваш обычный рабочий процесс обновления системы.371Claude Code публикует подписанные репозитории apt, dnf и apk. Каждый репозиторий предлагает два канала: `stable` предоставляет версию, которая обычно примерно на неделю старше, пропуская выпуски с серьезными регрессиями, и `latest` предоставляет каждый выпуск сразу же после его выхода. Приведенные ниже команды настраивают канал `stable`, который подходит большинству пользователей; каждая вкладка также показывает URL репозитория `latest`. Установки менеджеров пакетов не обновляются автоматически через Claude Code; обновления поступают через ваш обычный рабочий процесс обновления системы.

370 372 

371Все репозитории подписаны с помощью [ключа подписи выпуска Claude Code](#binary-integrity-and-code-signing). Перед доверием к ключу проверьте его, как описано в каждой вкладке.373Все репозитории подписаны с помощью [ключа подписи выпуска Claude Code](#binary-integrity-and-code-signing). Перед доверием к ключу проверьте его, как описано в каждой вкладке.

372 374 

373<Tabs>375<Tabs>

374 <Tab title="apt">376 <Tab title="apt">

375 Для Debian и Ubuntu. Чтобы использовать канал rolling, измените оба вхождения `stable` в строке `deb`: путь URL и имя suite.377 Для Debian и Ubuntu. Следующие команды настраивают канал `stable`:

376 378 

377 ```bash theme={null}379 ```bash theme={null}

378 sudo install -d -m 0755 /etc/apt/keyrings380 sudo install -d -m 0755 /etc/apt/keyrings


384 sudo apt install claude-code386 sudo apt install claude-code

385 ```387 ```

386 388 

389 Чтобы вместо этого использовать канал `latest`, оба пути URL и имя suite изменяются. Используйте эту строку `deb`:

390 

391 ```bash theme={null}

392 echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \

393 | sudo tee /etc/apt/sources.list.d/claude-code.list

394 ```

395 

387 Проверьте отпечаток ключа GPG перед доверием к нему: `gpg --show-keys /etc/apt/keyrings/claude-code.asc` должен сообщить `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE`.396 Проверьте отпечаток ключа GPG перед доверием к нему: `gpg --show-keys /etc/apt/keyrings/claude-code.asc` должен сообщить `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE`.

388 397 

389 Для обновления позже выполните `sudo apt update && sudo apt upgrade claude-code`.398 Для обновления позже выполните `sudo apt update && sudo apt upgrade claude-code`.

390 </Tab>399 </Tab>

391 400 

392 <Tab title="dnf">401 <Tab title="dnf">

393 Для Fedora и RHEL:402 Для Fedora и RHEL. Следующие команды настраивают канал `stable`:

394 403 

395 ```bash theme={null}404 ```bash theme={null}

396 sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'405 sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'


404 sudo dnf install claude-code413 sudo dnf install claude-code

405 ```414 ```

406 415 

416 Чтобы вместо этого использовать канал `latest`, установите `baseurl` на репозиторий `latest`:

417 

418 ```ini theme={null}

419 baseurl=https://downloads.claude.ai/claude-code/rpm/latest

420 ```

421 

407 dnf загружает ключ при первой установке и предлагает вам подтвердить отпечаток. Проверьте, что он совпадает с `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` перед принятием.422 dnf загружает ключ при первой установке и предлагает вам подтвердить отпечаток. Проверьте, что он совпадает с `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` перед принятием.

408 423 

409 Для обновления позже выполните `sudo dnf upgrade claude-code`.424 Для обновления позже выполните `sudo dnf upgrade claude-code`.

410 </Tab>425 </Tab>

411 426 

412 <Tab title="apk">427 <Tab title="apk">

413 Для Alpine Linux:428 Для Alpine Linux. Следующие команды настраивают канал `stable`:

414 429 

415 ```sh theme={null}430 ```sh theme={null}

416 wget -O /etc/apk/keys/claude-code.rsa.pub \431 wget -O /etc/apk/keys/claude-code.rsa.pub \


419 apk add claude-code434 apk add claude-code

420 ```435 ```

421 436 

437 Чтобы переключиться на канал `latest`, удалите строку репозитория `stable` и добавьте репозиторий `latest`:

438 

439 ```sh theme={null}

440 sed -i '\|downloads.claude.ai/claude-code/apk/stable|d' /etc/apk/repositories

441 echo "https://downloads.claude.ai/claude-code/apk/latest" >> /etc/apk/repositories

442 ```

443 

422 Проверьте загруженный ключ с помощью `sha256sum /etc/apk/keys/claude-code.rsa.pub`, который должен сообщить `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6`.444 Проверьте загруженный ключ с помощью `sha256sum /etc/apk/keys/claude-code.rsa.pub`, который должен сообщить `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6`.

423 445 

424 Для обновления позже выполните `apk update && apk upgrade claude-code`.446 Для обновления позже выполните `apk update && apk upgrade claude-code`.

skills.md +19 −6

Details

22 Встроенные skills22 Встроенные skills

23</h2>23</h2>

24 24 

25Claude Code включает набор встроенных skills, которые доступны в каждой сессии, включая `/code-review`, `/batch`, `/debug`, `/loop` и `/claude-api`. В отличие от большинства встроенных команд, которые выполняют фиксированную логику напрямую, встроенные skills основаны на подсказках: они дают Claude подробный сценарий и позволяют ему организовать работу, используя свои инструменты. Вы вызываете их так же, как любой другой skill, введя `/` и затем имя skill.25Claude Code включает набор встроенных skills, которые доступны в каждой сессии, если они не отключены с помощью параметра [`disableBundledSkills`](/ru/settings#available-settings), включая `/code-review`, `/batch`, `/debug`, `/loop` и `/claude-api`. В отличие от большинства встроенных команд, которые выполняют фиксированную логику напрямую, встроенные skills основаны на подсказках: они дают Claude подробные инструкции и позволяют ему организовать работу, используя свои инструменты. Вы вызываете их так же, как любой другой skill, введя `/` и затем имя skill.

26 26 

27Встроенные skills перечислены вместе со встроенными командами в [справочнике команд](/ru/commands), отмечены как **Skill** в столбце Purpose.27Встроенные skills перечислены вместе со встроенными командами в [справочнике команд](/ru/commands), отмечены как **Skill** в столбце Purpose.

28 28 


117| Project | `.claude/skills/<skill-name>/SKILL.md` | Только этот проект |117| Project | `.claude/skills/<skill-name>/SKILL.md` | Только этот проект |

118| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Где включен плагин |118| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Где включен плагин |

119 119 

120Когда skills имеют одинаковые имена на разных уровнях, enterprise переопределяет personal, а personal переопределяет project. Plugin skills используют пространство имён `plugin-name:skill-name`, поэтому они не могут конфликтовать с другими уровнями. Если у вас есть файлы в `.claude/commands/`, они работают так же, но если skill и команда имеют одинаковое имя, skill имеет приоритет.120Когда skills имеют одинаковые имена на разных уровнях, enterprise переопределяет personal, а personal переопределяет project. Skill на любом из этих уровней также переопределяет встроенный skill с тем же именем. Например, skill `code-review` в папке `.claude/skills/` вашего проекта заменяет встроенный `/code-review`. Plugin skills используют пространство имён `plugin-name:skill-name`, поэтому они не могут конфликтовать с другими уровнями. Если у вас есть файлы в `.claude/commands/`, они работают так же, но если skill и команда имеют одинаковое имя, skill имеет приоритет.

121 

122Skills также загружаются из вложенных каталогов `.claude/skills/` ниже вашего рабочего каталога. Когда Claude читает или редактирует файл в подкаталоге, skills из `.claude/skills/` этого подкаталога становятся доступными. Это позволяет пакету monorepo предоставлять свои собственные skills, которые применяются при работе с этим пакетом, даже если сессия началась в корне репозитория.

123 

124Если вложенный skill имеет одинаковое имя с другим skill, оба остаются доступными. Например, с skill `deploy` в корне проекта и другим в `apps/web/.claude/skills/`:

125 

126* Вложенный появляется под квалифицированным именем каталога, `apps/web:deploy`.

127* Его описание говорит, к какому каталогу он применяется.

128* Claude выбирает вариант, который соответствует файлам, с которыми он работает.

129 

130Ввод `/deploy` запускает skill корня проекта. Введите квалифицированное имя `/apps/web:deploy`, чтобы запустить вложенный вариант явно.

121 131 

122<Note>132<Note>

123 Добавьте `.claude-plugin/plugin.json` в папку skill, и она загружается как [плагин](/ru/plugins-reference#skills-directory-plugins) с именем `<name>@skills-dir`, поэтому он может объединять agents, hooks и MCP servers. В `.claude/skills/` проекта это требует предварительного принятия диалога доверия рабочей области.133 Добавьте `.claude-plugin/plugin.json` в папку skill, и она загружается как [плагин](/ru/plugins-reference#skills-directory-plugins) с именем `<name>@skills-dir`, поэтому он может объединять agents, hooks и MCP servers. В `.claude/skills/` проекта это требует предварительного принятия диалога доверия рабочей области.


262Таблица ниже показывает, откуда берётся имя команды для каждого макета:272Таблица ниже показывает, откуда берётся имя команды для каждого макета:

263 273 

264| Расположение skill | Источник имени команды | Пример |274| Расположение skill | Источник имени команды | Пример |

265| :-------------------------------------------------------- | :--------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |275| :---------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |

266| Каталог skill в `~/.claude/skills/` или `.claude/skills/` | Имя каталога | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |276| Каталог skill в `~/.claude/skills/` или `.claude/skills/` | Имя каталога | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |

277| [Вложенный](#where-skills-live) каталог `.claude/skills/`, когда имя конфликтует с другим skill | Путь подкаталога относительно рабочего каталога, затем имя каталога skill | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |

267| Файл в `.claude/commands/` | Имя файла без расширения | `.claude/commands/deploy.md` → `/deploy` |278| Файл в `.claude/commands/` | Имя файла без расширения | `.claude/commands/deploy.md` → `/deploy` |

268| Подкаталог `skills/` плагина | Имя каталога, с пространством имён по плагину | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review` |279| Подкаталог `skills/` плагина | Имя каталога, с пространством имён по плагину | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review` |

269| Корневой `SKILL.md` плагина | Frontmatter `name`, с именем каталога плагина в качестве резервного варианта | `my-plugin/SKILL.md` с `name: review` → `/my-plugin:review`. См. [Правила поведения пути](/ru/plugins-reference#path-behavior-rules) |280| Корневой `SKILL.md` плагина | Frontmatter `name`, с именем каталога плагина в качестве резервного варианта | `my-plugin/SKILL.md` с `name: review` → `/my-plugin:review`. См. [Правила поведения пути](/ru/plugins-reference#path-behavior-rules) |


288 299 

289Индексированные аргументы используют кавычки в стиле shell, поэтому оборачивайте многословные значения в кавычки, чтобы передать их как один аргумент. Например, `/my-skill "hello world" second` заменяет `$0` на `hello world` и `$1` на `second`. Заполнитель `$ARGUMENTS` всегда расширяется до полной строки аргумента в том виде, в котором она была введена.300Индексированные аргументы используют кавычки в стиле shell, поэтому оборачивайте многословные значения в кавычки, чтобы передать их как один аргумент. Например, `/my-skill "hello world" second` заменяет `$0` на `hello world` и `$1` на `second`. Заполнитель `$ARGUMENTS` всегда расширяется до полной строки аргумента в том виде, в котором она была введена.

290 301 

302Чтобы включить литеральный `$` перед цифрой, `ARGUMENTS` или объявленным именем аргумента, например `$1.00` в прозе, экранируйте его обратной косой чертой: `\$1.00`. Обратная косая черта перед любым другим `$` остаётся неизменной. Только одна обратная косая черта непосредственно перед токеном экранирует его. Удвоенная обратная косая черта, такая как `\\$1`, оставляет обе обратные косые черты на месте, и `$1` всё ещё расширяется до значения аргумента.

303 

291**Пример использования подстановок:**304**Пример использования подстановок:**

292 305 

293```yaml theme={null}306```yaml theme={null}


395---408---

396```409```

397 410 

398Чтобы заблокировать skill от использования определённых инструментов, добавьте правила отказа в ваши [параметры разрешений](/ru/permissions) вместо этого.411Чтобы удалить инструменты из доступного пула Claude, пока skill активен, перечислите их в `disallowed-tools` в frontmatter skill. Ограничение очищается при отправке вашего следующего сообщения. Чтобы заблокировать инструменты во всех skills и подсказках, добавьте правила отказа в ваши [параметры разрешений](/ru/permissions).

399 412 

400<h3 id="pass-arguments-to-skills">413<h3 id="pass-arguments-to-skills">

401 Передайте аргументы в skills414 Передайте аргументы в skills


557 570 

558Поле `agent` указывает, какую конфигурацию subagent использовать. Опции включают встроенные агенты (`Explore`, `Plan`, `general-purpose`) или любой пользовательский subagent из `.claude/agents/`. Если опущено, использует `general-purpose`.571Поле `agent` указывает, какую конфигурацию subagent использовать. Опции включают встроенные агенты (`Explore`, `Plan`, `general-purpose`) или любой пользовательский subagent из `.claude/agents/`. Если опущено, использует `general-purpose`.

559 572 

560<h3 id="restrict-claude-s-skill-access">573<h3 id="restrict-claudes-skill-access">

561 Ограничьте доступ Claude к skills574 Ограничьте доступ Claude к skills

562</h3>575</h3>

563 576 


850 Описания skills обрезаны863 Описания skills обрезаны

851</h3>864</h3>

852 865 

853Описания skills загружаются в контекст, чтобы Claude знал, что доступно. Все имена skills всегда включены, но если у вас много skills, описания сокращаются, чтобы соответствовать бюджету символов, что может удалить ключевые слова, которые Claude нужны для совпадения с вашим запросом. Бюджет масштабируется на 1% контекстного окна модели. Когда он переполняется, описания для skills, которые вы вызываете реже всего, удаляются в первую очередь, поэтому skills, которые вы фактически используете, сохраняют полный текст. Запустите `/doctor`, чтобы увидеть, переполняется ли бюджет и какие skills затронуты.866Описания skills загружаются в контекст, чтобы Claude знал, что доступно. Все имена skills всегда включены, но если у вас много skills, описания сокращаются, чтобы соответствовать бюджету символов, что может удалить ключевые слова, которые Claude нужны для совпадения с вашим запросом. Бюджет масштабируется на 1% контекстного окна модели. Когда он переполняется, описания для skills, которые вы вызываете реже всего, удаляются в первую очередь, поэтому skills, которые вы фактически используете, сохраняют полный текст. Запустите `/doctor`, чтобы увидеть, сколько описаний skills сокращаются или удаляются и какие skills затронуты.

854 867 

855Чтобы повысить бюджет, установите параметр [`skillListingBudgetFraction`](/ru/settings#available-settings) (например, `0.02` = 2%) или переменную окружения `SLASH_COMMAND_TOOL_CHAR_BUDGET` на фиксированное количество символов. Чтобы освободить бюджет для других skills, установите записи с низким приоритетом на `"name-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), чтобы они отображались без описания. Вы также можете обрезать текст `description` и `when_to_use` в источнике: поместите ключевой вариант использования в начало, так как комбинированный текст каждой записи ограничен 1 536 символами независимо от бюджета. Лимит настраивается с помощью [`maxSkillDescriptionChars`](/ru/settings#available-settings).868Чтобы повысить бюджет, установите параметр [`skillListingBudgetFraction`](/ru/settings#available-settings) (например, `0.02` = 2%) или переменную окружения `SLASH_COMMAND_TOOL_CHAR_BUDGET` на фиксированное количество символов. Чтобы освободить бюджет для других skills, установите записи с низким приоритетом на `"name-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), чтобы они отображались без описания. Вы также можете обрезать текст `description` и `when_to_use` в источнике: поместите ключевой вариант использования в начало, так как комбинированный текст каждой записи ограничен 1 536 символами независимо от бюджета. Лимит настраивается с помощью [`maxSkillDescriptionChars`](/ru/settings#available-settings).

856 869 

slack.md +3 −3

Details

182 182 

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

184 184 

185<h2 id="what-s-accessible-where">185<h2 id="whats-accessible-where">

186 Что доступно где186 Что доступно где

187</h2>187</h2>

188 188 

189**В Slack**: Вы увидите обновления статуса, резюме завершения и кнопки действия. Полная стенограмма сохраняется и всегда доступна.189**В Slack**: Вы увидите обновления статуса, резюме завершения и кнопки действия. Полная стенограмма сохраняется и всегда доступна.

190 190 

191**В веб-версии**: Полный сеанс Claude Code с полной историей беседы, все изменения кода, операции с файлами и возможность продолжить сеанс или создать запросы на слияние.191**На веб-сайте**: Полный сеанс Claude Code с полной историей беседы, все изменения кода, операции с файлами и возможность продолжить сеанс или создать запросы на слияние.

192 192 

193Для учетных записей Enterprise и Team сеансы, созданные из Claude в Slack, автоматически видны организации. Дополнительные сведения см. в разделе [Совместное использование сеансов Claude Code в веб-версии](/ru/claude-code-on-the-web#share-sessions).193Для учетных записей Enterprise и Team сеансы, созданные из Claude в Slack, автоматически видны организации. Дополнительные сведения см. в разделе [Совместное использование сеансов Claude Code на веб-сайте](/ru/claude-code-on-the-web#share-sessions).

194 194 

195<h2 id="best-practices">195<h2 id="best-practices">

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

statusline.md +63 −21

Details

15* Работаете в нескольких сеансах и нужно их различать15* Работаете в нескольких сеансах и нужно их различать

16* Хотите, чтобы ветка git и статус всегда были видны16* Хотите, чтобы ветка git и статус всегда были видны

17 17 

18Claude Code также может отображать [значки ссылок в нижнем колонтитуле](/ru/settings#footer-link-badges): интерактивные чипсы, которые появляются в нижнем колонтитуле, когда настроенное регулярное выражение совпадает с текстом в беседе. Они независимы от строки состояния и не взаимодействуют с вашим скриптом; настройте их с помощью параметра [`footerLinksRegexes`](/ru/settings#footer-link-badges).

19 

18Вот пример [многострочной строки состояния](#display-multiple-lines), которая отображает информацию git в первой строке и цветовую полосу контекста во второй.20Вот пример [многострочной строки состояния](#display-multiple-lines), которая отображает информацию git в первой строке и цветовую полосу контекста во второй.

19 21 

20<Frame>22<Frame>


23 25 

24На этой странице описано [настройка базовой строки состояния](#set-up-a-status-line), объясняется [как данные передаются](#how-status-lines-work) из Claude Code в ваш скрипт, перечисляются [все поля, которые вы можете отображать](#available-data), и предоставляются [готовые примеры](#examples) для распространённых паттернов, таких как статус git, отслеживание затрат и полосы прогресса.26На этой странице описано [настройка базовой строки состояния](#set-up-a-status-line), объясняется [как данные передаются](#how-status-lines-work) из Claude Code в ваш скрипт, перечисляются [все поля, которые вы можете отображать](#available-data), и предоставляются [готовые примеры](#examples) для распространённых паттернов, таких как статус git, отслеживание затрат и полосы прогресса.

25 27 

26## Настройка строки состояния28<h2 id="set-up-a-status-line">

29 Настройка строки состояния

30</h2>

27 31 

28Используйте [команду `/statusline`](#use-the-%2Fstatusline-command) для автоматического создания скрипта Claude Code, или [вручную создайте скрипт](#manually-configure-a-status-line) и добавьте его в ваши настройки.32Используйте [команду `/statusline`](#use-the-%2Fstatusline-command) для автоматического создания скрипта Claude Code, или [вручную создайте скрипт](#manually-configure-a-status-line) и добавьте его в ваши настройки.

29 33 

30### Использование команды /statusline34<h3 id="use-the-/statusline-command">

35 Использование команды /statusline

36</h3>

31 37 

32Команда `/statusline` принимает инструкции на естественном языке, описывающие то, что вы хотите отображать. Claude Code генерирует файл скрипта в `~/.claude/` и автоматически обновляет ваши настройки:38Команда `/statusline` принимает инструкции на естественном языке, описывающие то, что вы хотите отображать. Claude Code генерирует файл скрипта в `~/.claude/` и автоматически обновляет ваши настройки:

33 39 


35/statusline show model name and context percentage with a progress bar41/statusline show model name and context percentage with a progress bar

36```42```

37 43 

38### Ручная настройка строки состояния44<h3 id="manually-configure-a-status-line">

45 Ручная настройка строки состояния

46</h3>

39 47 

40Добавьте поле `statusLine` в ваши пользовательские настройки (`~/.claude/settings.json`, где `~` — это ваш домашний каталог) или [настройки проекта](/ru/settings#settings-files). Установите `type` на `"command"` и укажите `command` на путь скрипта или встроенную команду оболочки. Для полного пошагового руководства по созданию скрипта см. [Построение строки состояния пошагово](#build-a-status-line-step-by-step).48Добавьте поле `statusLine` в ваши пользовательские настройки (`~/.claude/settings.json`, где `~` — это ваш домашний каталог) или [настройки проекта](/ru/settings#settings-files). Установите `type` на `"command"` и укажите `command` на путь скрипта или встроенную команду оболочки. Для полного пошагового руководства по созданию скрипта см. [Построение строки состояния пошагово](#build-a-status-line-step-by-step).

41 49 


66 74 

67Необязательное поле `hideVimModeIndicator` подавляет встроенный текст `-- INSERT --` под приглашением. Установите это на `true`, когда ваш скрипт отображает [`vim.mode`](#available-data) самостоятельно, чтобы режим не отображался дважды.75Необязательное поле `hideVimModeIndicator` подавляет встроенный текст `-- INSERT --` под приглашением. Установите это на `true`, когда ваш скрипт отображает [`vim.mode`](#available-data) самостоятельно, чтобы режим не отображался дважды.

68 76 

69### Отключение строки состояния77<h3 id="disable-the-status-line">

78 Отключение строки состояния

79</h3>

70 80 

71Запустите `/statusline` и попросите её удалить или очистить вашу строку состояния (например, `/statusline delete`, `/statusline clear`, `/statusline remove it`). Вы также можете вручную удалить поле `statusLine` из вашего settings.json.81Запустите `/statusline` и попросите её удалить или очистить вашу строку состояния (например, `/statusline delete`, `/statusline clear`, `/statusline remove it`). Вы также можете вручную удалить поле `statusLine` из вашего settings.json.

72 82 

73## Построение строки состояния пошагово83<h2 id="build-a-status-line-step-by-step">

84 Построение строки состояния пошагово

85</h2>

74 86 

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

76 88 

77<Note>Запуск [`/statusline`](#use-the-statusline-command) с описанием того, что вы хотите, настраивает всё это автоматически.</Note>89<Note>Запуск [`/statusline`](#use-the-%2Fstatusline-command) с описанием того, что вы хотите, настраивает всё это автоматически.</Note>

78 90 

79Эти примеры используют скрипты Bash, которые работают на macOS и Linux. На Windows см. [Конфигурация Windows](#windows-configuration) для примеров PowerShell и Git Bash.91Эти примеры используют скрипты Bash, которые работают на macOS и Linux. На Windows см. [Конфигурация Windows](#windows-configuration) для примеров PowerShell и Git Bash.

80 92 


128 </Step>140 </Step>

129</Steps>141</Steps>

130 142 

131## Как работают строки состояния143<h2 id="how-status-lines-work">

144 Как работают строки состояния

145</h2>

132 146 

133Claude Code запускает ваш скрипт и передаёт [данные сеанса JSON](#available-data) в него через stdin. Ваш скрипт читает JSON, извлекает то, что ему нужно, и выводит текст в stdout. Claude Code отображает всё, что выводит ваш скрипт.147Claude Code запускает ваш скрипт и передаёт [данные сеанса JSON](#available-data) в него через stdin. Ваш скрипт читает JSON, извлекает то, что ему нужно, и выводит текст в stdout. Claude Code отображает всё, что выводит ваш скрипт.

134 148 


150 164 

151<Note>Строка состояния работает локально и не потребляет токены API. Она временно скрывается во время определённых взаимодействий с пользовательским интерфейсом, включая предложения автодополнения, меню справки и запросы разрешений.</Note>165<Note>Строка состояния работает локально и не потребляет токены API. Она временно скрывается во время определённых взаимодействий с пользовательским интерфейсом, включая предложения автодополнения, меню справки и запросы разрешений.</Note>

152 166 

153## Доступные данные167<h2 id="available-data">

168 Доступные данные

169</h2>

154 170 

155Claude Code отправляет следующие поля JSON в ваш скрипт через stdin:171Claude Code отправляет следующие поля JSON в ваш скрипт через stdin:

156 172 


297 Обрабатывайте отсутствующие поля с условным доступом и нулевые значения с резервными значениями по умолчанию в ваших скриптах.313 Обрабатывайте отсутствующие поля с условным доступом и нулевые значения с резервными значениями по умолчанию в ваших скриптах.

298</Accordion>314</Accordion>

299 315 

300### Поля контекстного окна316<h3 id="context-window-fields">

317 Поля контекстного окна

318</h3>

301 319 

302Объект `context_window` описывает живое контекстное окно из последнего ответа API. Начиная с версии 2.1.132, `total_input_tokens` и `total_output_tokens` отражают текущее использование контекста, а не совокупные итоги сеанса.320Объект `context_window` описывает живое контекстное окно из последнего ответа API. Начиная с версии 2.1.132, `total_input_tokens` и `total_output_tokens` отражают текущее использование контекста, а не совокупные итоги сеанса.

303 321 


319 337 

320Объект `current_usage` равен `null` перед первым вызовом API в сеансе и снова сразу после `/compact` до следующего вызова API, который его переполнит.338Объект `current_usage` равен `null` перед первым вызовом API в сеансе и снова сразу после `/compact` до следующего вызова API, который его переполнит.

321 339 

322## Примеры340<h2 id="examples">

341 Примеры

342</h2>

323 343 

324Эти примеры показывают распространённые паттерны строк состояния. Чтобы использовать любой пример:344Эти примеры показывают распространённые паттерны строк состояния. Чтобы использовать любой пример:

325 345 


329 349 

330Примеры Bash используют [`jq`](https://jqlang.github.io/jq/) для разбора JSON. Python и Node.js имеют встроенный разбор JSON.350Примеры Bash используют [`jq`](https://jqlang.github.io/jq/) для разбора JSON. Python и Node.js имеют встроенный разбор JSON.

331 351 

332### Использование контекстного окна352<h3 id="context-window-usage">

353 Использование контекстного окна

354</h3>

333 355 

334Отобразите текущую модель и использование контекстного окна с визуальной полосой прогресса. Каждый скрипт читает JSON из stdin, извлекает поле `used_percentage` и строит 10-символьную полосу, где заполненные блоки (▓) представляют использование:356Отобразите текущую модель и использование контекстного окна с визуальной полосой прогресса. Каждый скрипт читает JSON из stdin, извлекает поле `used_percentage` и строит 10-символьную полосу, где заполненные блоки (▓) представляют использование:

335 357 


396 ```418 ```

397</CodeGroup>419</CodeGroup>

398 420 

399### Статус git с цветами421<h3 id="git-status-with-colors">

422 Статус git с цветами

423</h3>

400 424 

401Показывает ветку git с цветовыми индикаторами для подготовленных и изменённых файлов. Этот скрипт использует [коды экранирования ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) для цветов терминала: `\033[32m` — зелёный, `\033[33m` — жёлтый и `\033[0m` — сброс на значение по умолчанию.425Показывает ветку git с цветовыми индикаторами для подготовленных и изменённых файлов. Этот скрипт использует [коды экранирования ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) для цветов терминала: `\033[32m` — зелёный, `\033[33m` — жёлтый и `\033[0m` — сброс на значение по умолчанию.

402 426 


490 ```514 ```

491</CodeGroup>515</CodeGroup>

492 516 

493### Отслеживание затрат и продолжительности517<h3 id="cost-and-duration-tracking">

518 Отслеживание затрат и продолжительности

519</h3>

494 520 

495Отслеживайте затраты API вашего сеанса и прошедшее время. Поле `cost.total_cost_usd` накапливает стоимость всех вызовов API в текущем сеансе. Поле `cost.total_duration_ms` измеряет общее прошедшее время с момента начала сеанса, а `cost.total_api_duration_ms` отслеживает только время, потраченное на ожидание ответов API.521Отслеживайте затраты API вашего сеанса и прошедшее время. Поле `cost.total_cost_usd` накапливает стоимость всех вызовов API в текущем сеансе. Поле `cost.total_duration_ms` измеряет общее прошедшее время с момента начала сеанса, а `cost.total_api_duration_ms` отслеживает только время, потраченное на ожидание ответов API.

496 522 


551 ```577 ```

552</CodeGroup>578</CodeGroup>

553 579 

554### Отображение нескольких строк580<h3 id="display-multiple-lines">

581 Отображение нескольких строк

582</h3>

555 583 

556Ваш скрипт может выводить несколько строк для создания более богатого отображения. Каждый оператор `echo` создаёт отдельную строку в области состояния.584Ваш скрипт может выводить несколько строк для создания более богатого отображения. Каждый оператор `echo` создаёт отдельную строку в области состояния.

557 585 


658 ```686 ```

659</CodeGroup>687</CodeGroup>

660 688 

661### Кликабельные ссылки689<h3 id="clickable-links">

690 Кликабельные ссылки

691</h3>

662 692 

663Этот пример создаёт кликабельную ссылку на ваш репозиторий GitHub. Он читает URL удалённого репозитория, преобразует формат SSH в HTTPS с помощью `sed` и оборачивает имя репозитория в коды экранирования OSC 8. Удерживайте Cmd (macOS) или Ctrl (Windows/Linux) и нажмите, чтобы открыть ссылку в браузере.693Этот пример создаёт кликабельную ссылку на ваш репозиторий GitHub. Он читает URL удалённого репозитория, преобразует формат SSH в HTTPS с помощью `sed` и оборачивает имя репозитория в коды экранирования OSC 8. Удерживайте Cmd (macOS) или Ctrl (Windows/Linux) и нажмите, чтобы открыть ссылку в браузере.

664 694 


738 ```768 ```

739</CodeGroup>769</CodeGroup>

740 770 

741### Использование лимита скорости771<h3 id="rate-limit-usage">

772 Использование лимита скорости

773</h3>

742 774 

743Отобразите использование лимита скорости подписки Claude.ai в строке состояния. Объект `rate_limits` содержит `five_hour` (5-часовое скользящее окно) и `seven_day` (еженедельное) окна. Каждое окно предоставляет `used_percentage` (0-100) и `resets_at` (секунды эпохи Unix, когда окно сбрасывается).775Отобразите использование лимита скорости подписки Claude.ai в строке состояния. Объект `rate_limits` содержит `five_hour` (5-часовое скользящее окно) и `seven_day` (еженедельное) окна. Каждое окно предоставляет `used_percentage` (0-100) и `resets_at` (секунды эпохи Unix, когда окно сбрасывается).

744 776 


804 ```836 ```

805</CodeGroup>837</CodeGroup>

806 838 

807### Кэширование дорогостоящих операций839<h3 id="cache-expensive-operations">

840 Кэширование дорогостоящих операций

841</h3>

808 842 

809Ваш скрипт строки состояния запускается часто во время активных сеансов. Команды, такие как `git status` или `git diff`, могут быть медленными, особенно в больших репозиториях. Этот пример кэширует информацию git во временный файл и обновляет её только каждые 5 секунд.843Ваш скрипт строки состояния запускается часто во время активных сеансов. Команды, такие как `git status` или `git diff`, могут быть медленными, особенно в больших репозиториях. Этот пример кэширует информацию git во временный файл и обновляет её только каждые 5 секунд.

810 844 


935 ```969 ```

936</CodeGroup>970</CodeGroup>

937 971 

938### Конфигурация Windows972<h3 id="windows-configuration">

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

974</h3>

939 975 

940На Windows Claude Code запускает команды строки состояния через Git Bash, когда Git Bash установлен, или через PowerShell, когда Git Bash отсутствует.976На Windows Claude Code запускает команды строки состояния через Git Bash, когда Git Bash установлен, или через PowerShell, когда Git Bash отсутствует.

941 977 


990 ```1026 ```

991</CodeGroup>1027</CodeGroup>

992 1028 

993## Строки состояния подагентов1029<h2 id="subagent-status-lines">

1030 Строки состояния подагентов

1031</h2>

994 1032 

995Параметр `subagentStatusLine` отображает пользовательское тело строки для каждого [подагента](/ru/sub-agents), показанного на панели агентов ниже приглашения. Используйте его для замены строки по умолчанию `name · description · token count` на ваше собственное форматирование.1033Параметр `subagentStatusLine` отображает пользовательское тело строки для каждого [подагента](/ru/sub-agents), показанного на панели агентов ниже приглашения. Используйте его для замены строки по умолчанию `name · description · token count` на ваше собственное форматирование.

996 1034 


1009 1047 

1010Те же ворота доверия и `disableAllHooks`, которые применяются к `statusLine`, применяются здесь. Плагины могут поставлять `subagentStatusLine` по умолчанию в своём [`settings.json`](/ru/plugins-reference#standard-plugin-layout).1048Те же ворота доверия и `disableAllHooks`, которые применяются к `statusLine`, применяются здесь. Плагины могут поставлять `subagentStatusLine` по умолчанию в своём [`settings.json`](/ru/plugins-reference#standard-plugin-layout).

1011 1049 

1012## Советы1050<h2 id="tips">

1051 Советы

1052</h2>

1013 1053 

1014* **Тестирование с макетными входными данными**: `echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`1054* **Тестирование с макетными входными данными**: `echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`

1015* **Сохраняйте вывод коротким**: строка состояния имеет ограниченную ширину, поэтому длинный вывод может быть обрезан или неправильно обёрнут1055* **Сохраняйте вывод коротким**: строка состояния имеет ограниченную ширину, поэтому длинный вывод может быть обрезан или неправильно обёрнут


1017 1057 

1018Проекты сообщества, такие как [ccstatusline](https://github.com/sirmalloc/ccstatusline) и [starship-claude](https://github.com/martinemde/starship-claude), предоставляют предварительно построенные конфигурации с темами и дополнительными функциями.1058Проекты сообщества, такие как [ccstatusline](https://github.com/sirmalloc/ccstatusline) и [starship-claude](https://github.com/martinemde/starship-claude), предоставляют предварительно построенные конфигурации с темами и дополнительными функциями.

1019 1059 

1020## Устранение неполадок1060<h2 id="troubleshooting">

1061 Устранение неполадок

1062</h2>

1021 1063 

1022**Строка состояния не отображается**1064**Строка состояния не отображается**

1023 1065 

sub-agents.md +50 −20

Details

61 * **Tools**: Инструменты только для чтения (запрещён доступ к инструментам Write и Edit)61 * **Tools**: Инструменты только для чтения (запрещён доступ к инструментам Write и Edit)

62 * **Purpose**: Исследование кодовой базы для планирования62 * **Purpose**: Исследование кодовой базы для планирования

63 63 

64 Когда вы находитесь в режиме плана и Claude нужно понять вашу кодовую базу, он делегирует исследование subagent Plan. Это предотвращает бесконечное вложение (subagents не могут порождать других subagents), при этом собирая необходимый контекст.64 Когда вы находитесь в режиме плана и Claude нужно понять вашу кодовую базу, он делегирует исследование subagent Plan, чтобы результаты исследования оставались в отдельном окне контекста, а основной разговор оставался доступным только для чтения.

65 </Tab>65 </Tab>

66 66 

67 <Tab title="General-purpose">67 <Tab title="General-purpose">


84 </Tab>84 </Tab>

85</Tabs>85</Tabs>

86 86 

87Встроенные subagents всегда регистрируются в интерактивных сессиях. Чтобы заблокировать определённый встроенный тип, добавьте его в `permissions.deny`, как показано в [Отключение определённых subagents](#disable-specific-subagents). Чтобы предотвратить делегирование Claude к любому subagent, запретите сам инструмент `Agent` с помощью [`permissions.deny`](/ru/permissions#tool-specific-permission-rules). В [неинтерактивном режиме](/ru/headless) и [Agent SDK](/ru/agent-sdk/overview) установите [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/ru/env-vars) для удаления всех встроенных типов и предоставления только ваших собственных.

88 

87Помимо этих встроенных subagents, вы можете создавать свои собственные с пользовательскими приглашениями, ограничениями инструментов, режимами разрешений, hooks и skills. В следующих разделах показано, как начать работу и настроить subagents.89Помимо этих встроенных subagents, вы можете создавать свои собственные с пользовательскими приглашениями, ограничениями инструментов, режимами разрешений, hooks и skills. В следующих разделах показано, как начать работу и настроить subagents.

88 90 

89<h2 id="quickstart-create-your-first-subagent">91<h2 id="quickstart-create-your-first-subagent">


158 Используйте команду /agents160 Используйте команду /agents

159</h3>161</h3>

160 162 

161Команда `/agents` открывает интерфейс с вкладками для управления subagents. Вкладка **Running** показывает активные subagents и позволяет вам открывать или останавливать их. Вкладка **Library** позволяет вам:163Команда `/agents` открывает интерфейс с вкладками для управления subagents. Вкладка **Running** показывает активные и недавно завершённые subagents и позволяет вам открывать или останавливать их. Вкладка **Library** позволяет вам:

162 164 

163* Просматривать все доступные subagents (встроенные, пользовательские, проектные и из plugins)165* Просматривать все доступные subagents (встроенные, пользовательские, проектные и из plugins)

164* Создавать новые subagents с помощью управляемой установки или генерации Claude166* Создавать новые subagents с помощью управляемой установки или генерации Claude


184 186 

185**Project subagents** (`.claude/agents/`) идеальны для subagents, специфичных для кодовой базы. Проверьте их в систему контроля версий, чтобы ваша команда могла использовать и улучшать их совместно.187**Project subagents** (`.claude/agents/`) идеальны для subagents, специфичных для кодовой базы. Проверьте их в систему контроля версий, чтобы ваша команда могла использовать и улучшать их совместно.

186 188 

187Project subagents обнаруживаются путём прохода вверх от текущей рабочей директории. Директории, добавленные с помощью `--add-dir`, [предоставляют доступ только к файлам](/ru/permissions#additional-directories-grant-file-access-not-configuration) и не сканируются на наличие subagents. Чтобы поделиться subagents в проектах, используйте `~/.claude/agents/` или [plugin](/ru/plugins).189Project subagents обнаруживаются путём прохода вверх от текущей рабочей директории, поэтому каждый `.claude/agents/` между ней и корнем репозитория сканируется. {/* min-version: 2.1.178 */}Начиная с версии 2.1.178, когда более одной из этих вложенных директорий определяет одно и то же `name`, Claude Code использует определение, ближайшее к рабочей директории.

190 

191Директории, добавленные с помощью `--add-dir`, также сканируются: папка `.claude/agents/` внутри добавленной директории загружается вместе с project subagents. См. [Additional directories](/ru/permissions#additional-directories-grant-file-access-not-configuration) для того, какие другие типы конфигурации загружаются из `--add-dir`. Чтобы поделиться subagents в проектах без `--add-dir`, используйте `~/.claude/agents/` или [plugin](/ru/plugins).

188 192 

189**User subagents** (`~/.claude/agents/`) — это личные subagents, доступные во всех ваших проектах.193**User subagents** (`~/.claude/agents/`) — это личные subagents, доступные во всех ваших проектах.

190 194 


282| `description` | Да | Когда Claude должен делегировать этому subagent |286| `description` | Да | Когда Claude должен делегировать этому subagent |

283| `tools` | Нет | [Инструменты](#available-tools), которые может использовать subagent. Наследует все инструменты, если опущено. Чтобы предварительно загрузить Skills в контекст, используйте поле `skills` вместо перечисления `Skill` здесь |287| `tools` | Нет | [Инструменты](#available-tools), которые может использовать subagent. Наследует все инструменты, если опущено. Чтобы предварительно загрузить Skills в контекст, используйте поле `skills` вместо перечисления `Skill` здесь |

284| `disallowedTools` | Нет | Инструменты для запрета, удалённые из унаследованного или указанного списка |288| `disallowedTools` | Нет | Инструменты для запрета, удалённые из унаследованного или указанного списка |

285| `model` | Нет | [Модель](#choose-a-model) для использования: `sonnet`, `opus`, `haiku`, полный ID модели (например, `claude-opus-4-8`), или `inherit`. По умолчанию `inherit` |289| `model` | Нет | [Модель](#choose-a-model) для использования: `sonnet`, `opus`, `haiku`, `fable`, полный ID модели (например, `claude-opus-4-8`), или `inherit`. По умолчанию `inherit` |

286| `permissionMode` | Нет | [Режим разрешений](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions` или `plan`. Игнорируется для [plugin subagents](#choose-the-subagent-scope) |290| `permissionMode` | Нет | [Режим разрешений](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions` или `plan`. Игнорируется для [plugin subagents](#choose-the-subagent-scope) |

287| `maxTurns` | Нет | Максимальное количество агентских ходов перед остановкой subagent |291| `maxTurns` | Нет | Максимальное количество агентских ходов перед остановкой subagent |

288| `skills` | Нет | [Skills](/ru/skills) для предварительной загрузки в контекст subagent при запуске. Полное содержимое skill инжектируется, а не просто описание. Subagents по-прежнему могут вызывать неперечисленные project, user и plugin skills через инструмент Skill |292| `skills` | Нет | [Skills](/ru/skills) для предварительной загрузки в контекст subagent при запуске. Полное содержимое skill инжектируется, а не просто описание. Subagents по-прежнему могут вызывать неперечисленные project, user и plugin skills через инструмент Skill |


301 305 

302Поле `model` контролирует, какую [AI модель](/ru/model-config) использует subagent:306Поле `model` контролирует, какую [AI модель](/ru/model-config) использует subagent:

303 307 

304* **Model alias**: Используйте один из доступных псевдонимов: `sonnet`, `opus` или `haiku`308* **Model alias**: Используйте один из доступных псевдонимов: `sonnet`, `opus`, `haiku` или `fable`

305* **Full model ID**: Используйте полный ID модели, такой как `claude-opus-4-8` или `claude-sonnet-4-6`. Принимает те же значения, что и флаг `--model`309* **Full model ID**: Используйте полный ID модели, такой как `claude-opus-4-8` или `claude-sonnet-4-6`. Принимает те же значения, что и флаг `--model`

306* **inherit**: Используйте ту же модель, что и основной разговор310* **inherit**: Используйте ту же модель, что и основной разговор

307* **Omitted**: Если не указано, по умолчанию `inherit` (использует ту же модель, что и основной разговор)311* **Omitted**: Если не указано, по умолчанию `inherit` (использует ту же модель, что и основной разговор)


325 329 

326Subagents наследуют [внутренние инструменты](/ru/tools-reference) и MCP инструменты, доступные в основном разговоре по умолчанию. Следующие инструменты зависят от пользовательского интерфейса основного разговора или состояния сессии и недоступны для subagents, даже если они указаны в поле `tools`:330Subagents наследуют [внутренние инструменты](/ru/tools-reference) и MCP инструменты, доступные в основном разговоре по умолчанию. Следующие инструменты зависят от пользовательского интерфейса основного разговора или состояния сессии и недоступны для subagents, даже если они указаны в поле `tools`:

327 331 

328* `Agent`

329* `AskUserQuestion`332* `AskUserQuestion`

330* `EnterPlanMode`333* `EnterPlanMode`

331* `ExitPlanMode`, если только [`permissionMode`](#permission-modes) subagent не является `plan`334* `ExitPlanMode`, если только [`permissionMode`](#permission-modes) subagent не является `plan`


354 357 

355Если оба установлены, `disallowedTools` применяется первым, затем `tools` разрешается против оставшегося пула. Инструмент, указанный в обоих, удаляется.358Если оба установлены, `disallowedTools` применяется первым, затем `tools` разрешается против оставшегося пула. Инструмент, указанный в обоих, удаляется.

356 359 

360Оба поля принимают паттерны уровня MCP сервера в дополнение к точным названиям инструментов: `mcp__<server>` или `mcp__<server>__*` предоставляет или удаляет каждый инструмент из названного сервера. В `disallowedTools`, `mcp__*` также удаляет каждый MCP инструмент из любого сервера. Этот пример удаляет каждый инструмент из MCP сервера `github`, сохраняя инструменты из других серверов и каждый встроенный инструмент:

361 

362```yaml theme={null}

363---

364name: local-only

365description: Inherits every tool except those from the github MCP server

366disallowedTools: mcp__github

367---

368```

369 

357<h4 id="restrict-which-subagents-can-be-spawned">370<h4 id="restrict-which-subagents-can-be-spawned">

358 Ограничьте, какие subagents могут быть порождены371 Ограничьте, какие subagents могут быть порождены

359</h4>372</h4>


378tools: Agent, Read, Bash391tools: Agent, Read, Bash

379```392```

380 393 

381Если `Agent` полностью опущен из списка `tools`, агент не может порождать никакие subagents. Это ограничение применяется только к агентам, работающим как основной поток с `claude --agent`. Subagents не могут порождать других subagents, поэтому `Agent(agent_type)` не имеет эффекта в определениях subagent.394Если `Agent` полностью опущен из списка `tools`, агент не может порождать никакие subagents.

395 

396Синтаксис списка разрешений `Agent(agent_type)` применяется только к агенту, работающему как основной поток с `claude --agent`. В определении subagent перечисление `Agent` в `tools` позволяет этому subagent [порождать вложенные subagents](#spawn-nested-subagents), но любой список типов внутри скобок игнорируется.

382 397 

383<h4 id="scope-mcp-servers-to-a-subagent">398<h4 id="scope-mcp-servers-to-a-subagent">

384 Область MCP servers для subagent399 Область MCP servers для subagent


444| `plan` | Режим плана (исследование только для чтения) |459| `plan` | Режим плана (исследование только для чтения) |

445 460 

446<Warning>461<Warning>

447 Используйте `bypassPermissions` с осторожностью. Это пропускает все проверки разрешений, позволяя subagent выполнять любую операцию без одобрения, включая записи в `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` и `.mvn`. Удаления корневого и домашнего каталога, такие как `rm -rf /`, по-прежнему требуют подтверждения в качестве защиты. См. [permission modes](/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) для деталей.462 Используйте `bypassPermissions` с осторожностью. Это пропускает все проверки разрешений, позволяя subagent выполнять любую операцию без одобрения, включая записи в `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` и `.mvn`. Явные правила [`ask`](/ru/permissions#manage-permissions) и удаления корневого и домашнего каталога, такие как `rm -rf /`, по-прежнему требуют подтверждения. См. [permission modes](/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) для деталей.

448</Warning>463</Warning>

449 464 

450Если родитель использует `bypassPermissions` или `acceptEdits`, это имеет приоритет и не может быть переопределено. Если родитель использует [auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode), subagent наследует auto mode и любой `permissionMode` в его frontmatter игнорируется: классификатор оценивает вызовы инструментов subagent с теми же правилами блокировки и разрешения, что и родительская сессия.465Если родитель использует `bypassPermissions` или `acceptEdits`, это имеет приоритет и не может быть переопределено. Если родитель использует [auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode), subagent наследует auto mode и любой `permissionMode` в его frontmatter игнорируется: классификатор оценивает вызовы инструментов subagent с теми же правилами блокировки и разрешения, что и родительская сессия.


761 776 

762Чтобы отключить всю функциональность фоновых задач, установите переменную окружения `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` на `1`. См. [Environment variables](/ru/env-vars).777Чтобы отключить всю функциональность фоновых задач, установите переменную окружения `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` на `1`. См. [Environment variables](/ru/env-vars).

763 778 

764Когда [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) установлена, каждый spawn subagent работает в фоне независимо от поля `background`. Forks по-прежнему выводят запросы разрешений в вашем терминале по мере их возникновения; именованные subagents автоматически отклоняют всё, что иначе потребовало бы запроса, как описано выше.779Когда [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) установлена на `1`, каждый spawn subagent работает в фоне независимо от поля `background`. Forks по-прежнему выводят запросы разрешений в вашем терминале по мере их возникновения; именованные subagents автоматически отклоняют всё, что иначе потребовало бы запроса, как описано выше.

765 780 

766<h3 id="common-patterns">781<h3 id="common-patterns">

767 Распространённые паттерны782 Распространённые паттерны


826 841 

827Для быстрого вопроса о чём-то уже в вашем разговоре используйте [`/btw`](/ru/interactive-mode#side-questions-with-%2Fbtw) вместо subagent. Он видит ваш полный контекст, но не имеет доступа к инструментам, и ответ отбрасывается, а не добавляется в историю.842Для быстрого вопроса о чём-то уже в вашем разговоре используйте [`/btw`](/ru/interactive-mode#side-questions-with-%2Fbtw) вместо subagent. Он видит ваш полный контекст, но не имеет доступа к инструментам, и ответ отбрасывается, а не добавляется в историю.

828 843 

829<Note>844<h3 id="spawn-nested-subagents">

830 Subagents не могут порождать других subagents. Если ваш рабочий процесс требует вложенного делегирования, используйте [Skills](/ru/skills) или [цепочку subagents](#chain-subagents) из основного разговора.845 Порождайте вложенные subagents

831</Note>846</h3>

847 

848{/* min-version: 2.1.172 */}Начиная с Claude Code v2.1.172, subagent может порождать собственные subagents. Используйте это, когда делегированная задача сама разбивается на параллельные подзадачи, например subagent-рецензент, который отправляет верификатор для каждого обнаружения, так что промежуточный выход никогда не достигает основного разговора. Только резюме subagent верхнего уровня возвращается вам.

849 

850Вложенный subagent конфигурируется так же, как subagent верхнего уровня и разрешается из тех же [областей видимости](#choose-the-subagent-scope). Панель subagent ниже ввода приглашения показывает полное дерево: каждая строка отображает счётчик `(+N)` потомков, и открытие строки показывает прямых потомков этого subagent с путём обратно к `main`. Вкладка Running в [`/agents`](#use-the-%2Fagents-command) перечисляет работающие subagents как плоский список.

851 

852Глубина считается количеством уровней subagent ниже основного разговора, независимо от того, работает ли каждый уровень в [переднем плане или фоне](#run-subagents-in-foreground-or-background):

853 

854* **Foreground subagents**: могут порождать на любой глубине. Каждый уровень блокирует своего родителя до возврата, поэтому цепь саморегулируется: основной разговор ждёт всей цепи.

855* **Background subagents**: фоновый subagent на глубине пять не получает инструмент Agent и не может порождать дальше. Лимит фиксирован и не конфигурируется, и существует для предотвращения неконтролируемых параллельных деревьев.

856 

857Чтобы предотвратить порождение других subagents конкретным subagent, опустите `Agent` из его списка [`tools`](#available-tools) или добавьте его в `disallowedTools`.

858 

859[Fork](#fork-the-current-conversation) по-прежнему не может порождать другой fork. Он может порождать другие типы subagent, и они считаются в сторону лимита глубины.

832 860 

833<h3 id="manage-subagent-context">861<h3 id="manage-subagent-context">

834 Управляйте контекстом subagent862 Управляйте контекстом subagent


860 888 

861Возобновлённые subagents сохраняют полную историю разговора, включая все предыдущие вызовы инструментов, результаты и рассуждения. Subagent продолжает ровно там, где он остановился, а не начинает с нуля.889Возобновлённые subagents сохраняют полную историю разговора, включая все предыдущие вызовы инструментов, результаты и рассуждения. Subagent продолжает ровно там, где он остановился, а не начинает с нуля.

862 890 

863Когда subagent завершается, Claude получает его ID агента. Claude использует инструмент `SendMessage` с ID агента в качестве поля `to` для возобновления его. Инструмент `SendMessage` доступен только при включении [agent teams](/ru/agent-teams) через `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`.891Когда subagent завершается, Claude получает его ID агента. Встроенные агенты Explore и Plan — это одноразовые и не возвращают ID агента, поэтому они не могут быть возобновлены; используйте `general-purpose` или пользовательский subagent, когда вам нужно продолжить работу. Claude использует инструмент `SendMessage` с ID агента в качестве поля `to` для возобновления его. Инструмент `SendMessage` доступен только при включении [agent teams](/ru/agent-teams) через `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`.

864 892 

865Чтобы возобновить subagent, попросите Claude продолжить предыдущую работу:893Чтобы возобновить subagent, попросите Claude продолжить предыдущую работу:

866 894 


883* **Автоматическая очистка**: Транскрипты очищаются на основе параметра `cleanupPeriodDays` (по умолчанию: 30 дней).911* **Автоматическая очистка**: Транскрипты очищаются на основе параметра `cleanupPeriodDays` (по умолчанию: 30 дней).

884 912 

885<h4 id="auto-compaction">913<h4 id="auto-compaction">

886 Auto-compact914 Auto-compaction

887</h4>915</h4>

888 916 

889Subagents поддерживают автоматическое компактирование, используя ту же логику, что и основной разговор. По умолчанию auto-compact срабатывает при приблизительно 95% ёмкости. Чтобы срабатывание компактирования произошло раньше, установите `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` на более низкий процент (например, `50`). См. [environment variables](/ru/env-vars) для деталей.917Subagents поддерживают автоматическое компактирование, используя ту же логику, что и основной разговор. Компактирование срабатывает при тех же условиях, и `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` применяется к subagents также. См. [environment variables](/ru/env-vars) для того, когда переопределение вступает в силу.

890 918 

891События компактирования регистрируются в файлах транскрипта subagent:919События компактирования регистрируются в файлах транскрипта subagent:

892 920 


908</h2>936</h2>

909 937 

910<Note>938<Note>

911 Разветвленные subagents требуют Claude Code v2.1.117 или позже. {/* min-version: 2.1.161 */}Начиная с v2.1.161 команда `/fork` включена по умолчанию; в более ранних версиях требуется установка переменной окружения [`CLAUDE_CODE_FORK_SUBAGENT`](/ru/env-vars) на `1`. Установка fork в качестве *стандартного* поведения порождения модели является экспериментальной и может измениться в будущих выпусках; включите это, установив ту же переменную. Переменная учитывается в интерактивном режиме и через SDK или `claude -p`.939 Разветвленные subagents требуют Claude Code v2.1.117 или позже. {/* min-version: 2.1.161 */}Начиная с v2.1.161 команда `/fork` включена по умолчанию; в более ранних версиях требуется установка переменной окружения [`CLAUDE_CODE_FORK_SUBAGENT`](/ru/env-vars) на `1`. Позволение Claude самому порождать разветвления является экспериментальным и может измениться в будущих выпусках. Эта возможность также может быть включена в интерактивных сессиях как часть поэтапного развертывания.

912</Note>940</Note>

913 941 

914Fork — это subagent, который наследует весь разговор до сих пор вместо начала с нуля. Это отбрасывает входную изоляцию, которую subagents иначе предоставляют: fork видит то же системное приглашение, инструменты, модель и историю сообщений, что и основная сессия, поэтому вы можете передать ему побочную задачу без переобъяснения ситуации. Вызовы инструментов fork по-прежнему остаются вне вашего разговора и только его окончательный результат возвращается, поэтому ваше основное контекстное окно остаётся чистым. Используйте fork, когда именованный subagent потребовал бы слишком много фона, чтобы быть полезным, или когда вы хотите попробовать несколько подходов параллельно с одной и той же отправной точки.942Fork — это subagent, который наследует весь разговор до сих пор вместо начала с нуля. Это отбрасывает входную изоляцию, которую subagents иначе предоставляют: fork видит то же системное приглашение, инструменты, модель и историю сообщений, что и основная сессия, поэтому вы можете передать ему побочную задачу без переобъяснения ситуации. Вызовы инструментов fork по-прежнему остаются вне вашего разговора и только его окончательный результат возвращается, поэтому ваше основное контекстное окно остаётся чистым. Используйте fork, когда именованный subagent потребовал бы слишком много фона, чтобы быть полезным, или когда вы хотите попробовать несколько подходов параллельно с одной и той же отправной точки.

915 943 

916Установка `CLAUDE_CODE_FORK_SUBAGENT` изменяет Claude Code двумя способами:944Чтобы управлять режимом fork независимо от поэтапного развертывания, установите [`CLAUDE_CODE_FORK_SUBAGENT`](/ru/env-vars) на `1`, чтобы явно включить его, или на `0`, чтобы отключить его. Переменная учитывается в интерактивном режиме и через SDK или `claude -p`.

945 

946Включение режима fork изменяет Claude Code двумя способами:

917 947 

918* Claude порождает fork всякий раз, когда он иначе использовал бы [general-purpose](#built-in-subagents) subagent. Именованные subagents, такие как Explore, по-прежнему порождаются как раньше.948* Claude может порождать fork, явно запрашивая тип subagent `fork`. Порождения без типа subagent по-прежнему используют [general-purpose](#built-in-subagents) subagent, и именованные subagents, такие как Explore, по-прежнему порождаются как раньше.

919* Каждый spawn subagent работает в [фоне](#run-subagents-in-foreground-or-background), будь то fork или именованный subagent. Установите `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` на `1`, чтобы сохранить spawns синхронными.949* Каждый spawn subagent работает в [фоне](#run-subagents-in-foreground-or-background), будь то fork или именованный subagent. Установите `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` на `1`, чтобы сохранить spawns синхронными.

920 950 

921Вы можете запустить fork самостоятельно с `/fork` за которым следует директива, с переменной или без неё. Claude Code называет fork из первых слов директивы. Следующий пример разветвляет разговор для черновика тестовых случаев, пока вы продолжаете с реализацией в основной сессии:951Вы можете запустить fork самостоятельно с `/fork` за которым следует директива, с переменной или без неё. Claude Code называет fork из первых слов директивы. Следующий пример разветвляет разговор для черновика тестовых случаев, пока вы продолжаете с реализацией в основной сессии:


953| Permissions | Запросы выводятся в вашем терминале | [Автоматически отклонены](#run-subagents-in-foreground-or-background) при запуске в фоне |983| Permissions | Запросы выводятся в вашем терминале | [Автоматически отклонены](#run-subagents-in-foreground-or-background) при запуске в фоне |

954| Prompt cache | Общий с основной сессией | Отдельный кэш |984| Prompt cache | Общий с основной сессией | Отдельный кэш |

955 985 

956Поскольку системное приглашение fork и определения инструментов идентичны родителю, его первый запрос повторно использует кэш приглашений родителя. Это делает forking дешевле, чем порождение свежего subagent для задач, которые нуждаются в том же контексте.986Поскольку системное приглашение fork и определения инструментов идентичны родителю, его первый запрос повторно использует кэш приглашений родителя [prompt cache](/ru/prompt-caching#subagents-and-the-cache). Это делает forking дешевле, чем порождение свежего subagent для задач, которые нуждаются в том же контексте.

957 987 

958Когда Claude порождает fork через инструмент Agent, он может передать `isolation: "worktree"`, чтобы редактирования файлов fork были написаны в отдельный git worktree вместо вашего checkout.988Когда Claude порождает fork через инструмент Agent, он может передать `isolation: "worktree"`, чтобы редактирования файлов fork были написаны в отдельный git worktree вместо вашего checkout.

959 989 


961 Ограничения991 Ограничения

962</h3>992</h3>

963 993 

964Установка `CLAUDE_CODE_FORK_SUBAGENT=1` включает fork mode в интерактивных сессиях, [non-interactive mode](/ru/headless) и Agent SDK. Fork не может порождать дальнейшие forks.994Установка `CLAUDE_CODE_FORK_SUBAGENT=1` включает режим fork в интерактивных сессиях, [non-interactive mode](/ru/headless) и Agent SDK; установка на `0` отключает режим fork везде, включая любое развертывание на стороне сервера. Fork не может порождать дальнейшие forks.

965 995 

966<h2 id="example-subagents">996<h2 id="example-subagents">

967 Примеры subagents997 Примеры subagents

Details

341* [Интерактивный режим](/ru/interactive-mode): полный справочник сочетаний клавиш и таблица клавиш Vim341* [Интерактивный режим](/ru/interactive-mode): полный справочник сочетаний клавиш и таблица клавиш Vim

342* [Сочетания клавиш](/ru/keybindings): переназначьте любое сочетание клавиш Claude Code, включая Enter и Shift+Enter342* [Сочетания клавиш](/ru/keybindings): переназначьте любое сочетание клавиш Claude Code, включая Enter и Shift+Enter

343* [Полноэкранный рендеринг](/ru/fullscreen): детали прокрутки, поиска и копирования в полноэкранном режиме343* [Полноэкранный рендеринг](/ru/fullscreen): детали прокрутки, поиска и копирования в полноэкранном режиме

344* [Руководство по хукам](/ru/hooks-guide): больше примеров хуков Notification для Linux и Windows344* [Руководство по hooks](/ru/hooks-guide): больше примеров хуков Notification для Linux и Windows

345* [Troubleshooting](/ru/troubleshooting): исправления для проблем вне конфигурации терминала345* [Troubleshooting](/ru/troubleshooting): исправления для проблем вне конфигурации терминала

Details

6 6 

7> Узнайте, как Claude Code может интегрироваться с различными сторонними сервисами и инфраструктурой для удовлетворения требований корпоративного развертывания.7> Узнайте, как Claude Code может интегрироваться с различными сторонними сервисами и инфраструктурой для удовлетворения требований корпоративного развертывания.

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

9Организации могут развертывать Claude Code непосредственно через Anthropic или через поставщика облачных услуг. Эта страница поможет вам выбрать правильную конфигурацию.79Организации могут развертывать Claude Code непосредственно через Anthropic или через поставщика облачных услуг. Эта страница поможет вам выбрать правильную конфигурацию.

10 80 

81<ContactSalesCard surface="third_party_overview" />

82 

11<h2 id="compare-deployment-options">83<h2 id="compare-deployment-options">

12 Сравнение вариантов развертывания84 Сравнение вариантов развертывания

13</h2>85</h2>


271 Закрепите версии моделей для поставщиков облачных услуг343 Закрепите версии моделей для поставщиков облачных услуг

272</h3>344</h3>

273 345 

274Если вы развертываете через [Bedrock](/ru/amazon-bedrock), [Vertex AI](/ru/google-vertex-ai), [Foundry](/ru/microsoft-foundry) или [Claude Platform on AWS](/ru/claude-platform-on-aws), закрепите конкретные версии моделей, используя `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` и `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Без закрепления, псевдонимы моделей разрешаются на последнюю версию, что может быть недоступно в вашей учетной записи, когда Anthropic выпускает обновление. Закрепление позволяет вам контролировать, когда ваши пользователи переходят на новую модель. См. раздел [Конфигурация модели](/ru/model-config#pin-models-for-third-party-deployments) для получения информации о том, что делает каждый поставщик, когда последняя версия недоступна.346Если вы развертываете через [Bedrock](/ru/amazon-bedrock), [Vertex AI](/ru/google-vertex-ai), [Foundry](/ru/microsoft-foundry) или [Claude Platform on AWS](/ru/claude-platform-on-aws), закрепите конкретные версии моделей, используя `ANTHROPIC_DEFAULT_FABLE_MODEL`, `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` и `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Без закрепления, псевдонимы моделей разрешаются на встроенное значение по умолчанию Claude Code для этого поставщика, что может отставать от последнего выпуска и может быть еще не включено в вашей учетной записи. Закрепление позволяет вам контролировать, когда ваши пользователи переходят на новую модель. См. раздел [Конфигурация модели](/ru/model-config#pin-models-for-third-party-deployments) для получения информации о том, что делает каждый поставщик, когда значение по умолчанию недоступно.

275 347 

276<h3 id="configure-security-policies">348<h3 id="configure-security-policies">

277 Настройте политики безопасности349 Настройте политики безопасности

Details

44| `TaskOutput` | (Устарело) Получает вывод из фоновой задачи. Предпочитайте `Read` на пути к файлу вывода задачи | Нет |44| `TaskOutput` | (Устарело) Получает вывод из фоновой задачи. Предпочитайте `Read` на пути к файлу вывода задачи | Нет |

45| `TaskStop` | Завершает выполняющуюся фоновую задачу по ID | Нет |45| `TaskStop` | Завершает выполняющуюся фоновую задачу по ID | Нет |

46| `TaskUpdate` | Обновляет статус задачи, зависимости, сведения или удаляет задачи | Нет |46| `TaskUpdate` | Обновляет статус задачи, зависимости, сведения или удаляет задачи | Нет |

47| `TeamCreate` | Создает [команду агентов](/ru/agent-teams) с несколькими товарищами по команде. Доступно только при установке `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` | Нет |

48| `TeamDelete` | Распускает команду агентов и очищает процессы товарищей по команде. Доступно только при установке `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` | Нет |

49| `TodoWrite` | {/* min-version: 2.1.142 */}Управляет контрольным списком задач сеанса. Отключено по умолчанию начиная с версии 2.1.142 в пользу `TaskCreate`, `TaskGet`, `TaskList` и `TaskUpdate`. Установите `CLAUDE_CODE_ENABLE_TASKS=0` для повторного включения | Нет |47| `TodoWrite` | {/* min-version: 2.1.142 */}Управляет контрольным списком задач сеанса. Отключено по умолчанию начиная с версии 2.1.142 в пользу `TaskCreate`, `TaskGet`, `TaskList` и `TaskUpdate`. Установите `CLAUDE_CODE_ENABLE_TASKS=0` для повторного включения | Нет |

50| `ToolSearch` | Ищет и загружает отложенные инструменты, когда включен [поиск инструментов](/ru/mcp#scale-with-mcp-tool-search) | Нет |48| `ToolSearch` | Ищет и загружает отложенные инструменты, когда включен [поиск инструментов](/ru/mcp#scale-with-mcp-tool-search) | Нет |

51| `WaitForMcpServers` | {/* min-version: 2.1.142 */}Ожидает один или несколько [MCP servers](/ru/mcp), которые все еще подключаются в фоне, чтобы запрос мог использовать их инструменты без перезагрузки сеанса. Claude вызывает его, когда требуемый сервер еще не подключен. Появляется только когда [поиск инструментов](/ru/mcp#scale-with-mcp-tool-search) отключен, так как `ToolSearch` обрабатывает ожидание, когда он включен | Нет |49| `WaitForMcpServers` | {/* min-version: 2.1.142 */}Ожидает один или несколько [MCP servers](/ru/mcp), которые все еще подключаются в фоне, чтобы запрос мог использовать их инструменты без перезагрузки сеанса. Claude вызывает его, когда требуемый сервер еще не подключен. Появляется только когда [поиск инструментов](/ru/mcp#scale-with-mcp-tool-search) отключен, так как `ToolSearch` обрабатывает ожидание, когда он включен | Нет |


70Все они принимают один и тот же формат правила, `ToolName(specifier)`. Спецификатор зависит от инструмента, и несколько инструментов используют один формат:68Все они принимают один и тот же формат правила, `ToolName(specifier)`. Спецификатор зависит от инструмента, и несколько инструментов используют один формат:

71 69 

72| Формат правила | Применяется к | Детали |70| Формат правила | Применяется к | Детали |

73| :----------------------------- | :------------------------ | :--------------------------------------------------------------------- |71| :----------------------------- | :------------------------ | :----------------------------------------------------------------------------- |

74| `Bash(npm run *)` | Bash, Monitor | [Сопоставление шаблонов команд](/ru/permissions#bash) |72| `Bash(npm run *)` | Bash, Monitor | [Сопоставление шаблонов команд](/ru/permissions#bash) |

75| `PowerShell(Get-ChildItem *)` | PowerShell | [Сопоставление шаблонов команд](/ru/permissions#powershell) |73| `PowerShell(Get-ChildItem *)` | PowerShell | [Сопоставление шаблонов команд](/ru/permissions#powershell) |

76| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Сопоставление шаблонов путей](/ru/permissions#read-and-edit) |74| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Сопоставление шаблонов путей](/ru/permissions#read-and-edit) |

77| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Сопоставление шаблонов путей](/ru/permissions#read-and-edit) |75| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Сопоставление шаблонов путей](/ru/permissions#read-and-edit) |

78| `Skill(deploy *)` | Skill | [Сопоставление имени skill](/ru/skills#restrict-claude's-skill-access) |76| `Skill(deploy *)` | Skill | [Сопоставление имени skill](/ru/skills#restrict-claude%E2%80%99s-skill-access) |

79| `Agent(Explore)` | Agent | [Сопоставление типа subagent](/ru/permissions#agent-subagents) |77| `Agent(Explore)` | Agent | [Сопоставление типа subagent](/ru/permissions#agent-subagents) |

80| `WebFetch(domain:example.com)` | WebFetch | [Сопоставление домена](/ru/permissions#webfetch) |78| `WebFetch(domain:example.com)` | WebFetch | [Сопоставление домена](/ru/permissions#webfetch) |

81| `WebSearch` | WebSearch | Без спецификатора; разрешить или запретить инструмент в целом |79| `WebSearch` | WebSearch | Без спецификатора; разрешить или запретить инструмент в целом |


186* Переход к определению символа184* Переход к определению символа

187* Поиск всех ссылок на символ185* Поиск всех ссылок на символ

188* Получение информации о типе в позиции186* Получение информации о типе в позиции

189* Список символов в файле или рабочей области187* Список символов в файле

188* Поиск символа по имени во всей рабочей области

190* Поиск реализаций интерфейса189* Поиск реализаций интерфейса

191* Трассировка иерархий вызовов190* Трассировка иерархий вызовов

192 191 


214Плагины могут объявлять мониторы, которые запускаются автоматически при активации плагина, вместо того чтобы просить Claude запустить их. См. [мониторы плагинов](/ru/plugins-reference#monitors).213Плагины могут объявлять мониторы, которые запускаются автоматически при активации плагина, вместо того чтобы просить Claude запустить их. См. [мониторы плагинов](/ru/plugins-reference#monitors).

215 214 

216<h2 id="notebookedit-tool-behavior">215<h2 id="notebookedit-tool-behavior">

217 Инструмент NotebookEdit216 Поведение инструмента NotebookEdit

218</h2>217</h2>

219 218 

220NotebookEdit изменяет Jupyter notebook по одной ячейке за раз, нацеливаясь на ячейки по их `cell_id`. Он не выполняет замену строк по всему notebook так, как [Edit](#edit-tool-behavior) делает на простых файлах.219NotebookEdit изменяет Jupyter notebook по одной ячейке за раз, нацеливаясь на ячейки по их `cell_id`. Он не выполняет замену строк по всему notebook так, как [Edit](#edit-tool-behavior) делает на простых файлах.


305* Ответы кэшируются на 15 минут, поэтому повторные выборки одного и того же URL возвращаются быстро.304* Ответы кэшируются на 15 минут, поэтому повторные выборки одного и того же URL возвращаются быстро.

306* Когда URL перенаправляется на другой хост, WebFetch возвращает текстовый результат, который называет исходный URL и цель перенаправления вместо его следования. Claude затем получает новый URL со вторым вызовом WebFetch.305* Когда URL перенаправляется на другой хост, WebFetch возвращает текстовый результат, который называет исходный URL и цель перенаправления вместо его следования. Claude затем получает новый URL со вторым вызовом WebFetch.

307 306 

308В режимах разрешений по умолчанию и `acceptEdits`, WebFetch запрашивает в первый раз, когда он достигает нового домена. Чтобы разрешить домен заранее без подсказки, добавьте правило разрешения, такое как `WebFetch(domain:example.com)`. Режимы разрешений `auto` и `bypassPermissions` [permission modes](/ru/permissions#permission-modes) полностью пропускают подсказку.307В режимах разрешений по умолчанию и `acceptEdits`, WebFetch запрашивает в первый раз, когда он достигает нового домена, за исключением встроенного набора предварительно одобренных доменов документации, которые получают без подсказки. Чтобы разрешить домен заранее без подсказки, добавьте правило разрешения, такое как `WebFetch(domain:example.com)`. Режимы разрешений `auto` и `bypassPermissions` [permission modes](/ru/permissions#permission-modes) полностью пропускают подсказку.

308 

309Явное правило `WebFetch(domain:...)` в `deny`, `ask` или `allow` имеет приоритет над предварительно одобренным набором, поэтому вы можете заблокировать предварительно одобренный домен или потребовать для него подсказку.

309 310 

310WebFetch устанавливает заголовок `User-Agent`, начинающийся с `Claude-User`, и заголовок `Accept`, который предпочитает Markdown перед HTML, чтобы серверы, поддерживающие согласование содержимого, могли возвращать Markdown напрямую. [Sandbox](/ru/sandboxing) правила сети настраиваются отдельно, поэтому домен, который вы хотите, чтобы процесс в песочнице достиг, по-прежнему нуждается в явном правиле разрешения песочницы.311WebFetch устанавливает заголовок `User-Agent`, начинающийся с `Claude-User`, и заголовок `Accept`, который предпочитает Markdown перед HTML, чтобы серверы, поддерживающие согласование содержимого, могли возвращать Markdown напрямую. [Sandbox](/ru/sandboxing) правила сети настраиваются отдельно, поэтому домен, который вы хотите, чтобы процесс в песочнице достиг, по-прежнему нуждается в явном правиле разрешения песочницы.

311 312 


349 350 

350Claude дает разговорное резюме. Для точных имен инструментов MCP запустите `/mcp`.351Claude дает разговорное резюме. Для точных имен инструментов MCP запустите `/mcp`.

351 352 

353<Note>

354 [Инструмент advisor](/ru/advisor) — это [серверный инструмент](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool), который запускает API, а не инструмент, который реализует Claude Code. Он не имеет имени, на которое вы можете ссылаться в правилах разрешений или сопоставителях hooks.

355</Note>

356 

352<h2 id="see-also">357<h2 id="see-also">

353 См. также358 См. также

354</h2>359</h2>

Details

24| `TLS connect error` или `SSL/TLS secure channel` | [Обновите сертификаты CA](#tls-or-ssl-connection-errors) |24| `TLS connect error` или `SSL/TLS secure channel` | [Обновите сертификаты CA](#tls-or-ssl-connection-errors) |

25| `Failed to fetch version` или невозможно достичь сервера загрузки | [Проверьте параметры сети и прокси](#check-network-connectivity) |25| `Failed to fetch version` или невозможно достичь сервера загрузки | [Проверьте параметры сети и прокси](#check-network-connectivity) |

26| `irm is not recognized` или `&& is not valid` | [Используйте правильную команду для вашей оболочки](#wrong-install-command-on-windows) |26| `irm is not recognized` или `&& is not valid` | [Используйте правильную команду для вашей оболочки](#wrong-install-command-on-windows) |

27| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Обновите Homebrew](#homebrew-cask-unavailable-or-outdated) |

27| `'bash' is not recognized as the name of a cmdlet` | [Используйте команду установщика Windows](#wrong-install-command-on-windows) |28| `'bash' is not recognized as the name of a cmdlet` | [Используйте команду установщика Windows](#wrong-install-command-on-windows) |

28| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Установите оболочку](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |29| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Установите оболочку](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |

29| `Claude Code does not support 32-bit Windows` | [Откройте Windows PowerShell, а не запись x86](#claude-code-does-not-support-32-bit-windows) |30| `Claude Code does not support 32-bit Windows` | [Откройте Windows PowerShell, а не запись x86](#claude-code-does-not-support-32-bit-windows) |


61curl -sI https://downloads.claude.ai/claude-code-releases/latest62curl -sI https://downloads.claude.ai/claude-code-releases/latest

62```63```

63 64 

65В PowerShell запустите `curl.exe -sI` вместо этого. PowerShell создаёт псевдоним `curl` на `Invoke-WebRequest`, который отклоняет флаги `-sI`.

66 

64Строка `HTTP/2 200` означает, что вы достигли сервера. Если вы видите отсутствие вывода, `Could not resolve host` или timeout соединения, ваша сеть блокирует соединение. Распространённые причины:67Строка `HTTP/2 200` означает, что вы достигли сервера. Если вы видите отсутствие вывода, `Could not resolve host` или timeout соединения, ваша сеть блокирует соединение. Распространённые причины:

65 68 

66* Корпоративные брандмауэры или прокси, блокирующие `downloads.claude.ai`69* Корпоративные брандмауэры или прокси, блокирующие `downloads.claude.ai`


95 98 

96Если установка прошла успешно, но вы получаете ошибку `command not found` или `not recognized` при запуске `claude`, директория установки не находится в вашем PATH. Ваша оболочка ищет программы в директориях, указанных в PATH, и установщик размещает `claude` в `~/.local/bin/claude` на macOS/Linux или `%USERPROFILE%\.local\bin\claude.exe` на Windows.99Если установка прошла успешно, но вы получаете ошибку `command not found` или `not recognized` при запуске `claude`, директория установки не находится в вашем PATH. Ваша оболочка ищет программы в директориях, указанных в PATH, и установщик размещает `claude` в `~/.local/bin/claude` на macOS/Linux или `%USERPROFILE%\.local\bin\claude.exe` на Windows.

97 100 

101<Note>

102 Расширение [VS Code](/ru/vs-code) не размещает `claude` в этом месте. Оно содержит приватную копию CLI внутри директории расширения для своей собственной панели чата и не добавляет её в PATH. Если вы установили только расширение, `~/.local/bin/claude` не будет существовать. Запустите [автономную установку](/ru/setup), чтобы использовать `claude` из терминала, а затем продолжите ниже.

103</Note>

104 

98Проверьте, находится ли директория установки в вашем PATH, перечислив записи PATH и фильтруя по `local/bin`:105Проверьте, находится ли директория установки в вашем PATH, перечислив записи PATH и фильтруя по `local/bin`:

99 106 

100<Tabs>107<Tabs>


188 ls -la ~/.local/bin/claude195 ls -la ~/.local/bin/claude

189 ```196 ```

190 197 

198 Если какая-либо команда `ls` выводит `No such file or directory`, это не ошибка. Это означает, что ничего не установлено в этом месте, поэтому переходите к следующей проверке.

199 

191 ```bash theme={null}200 ```bash theme={null}

192 ls -la ~/.claude/local/201 ls -la ~/.claude/local/

193 ```202 ```


390 winget install Anthropic.ClaudeCode399 winget install Anthropic.ClaudeCode

391 ```400 ```

392 401 

402<h3 id="homebrew-cask-unavailable-or-outdated">

403 Homebrew cask unavailable or outdated

404</h3>

405 

406Homebrew сообщает `Error: Cask 'claude-code' is unavailable: No Cask with this name exists`, когда ваша локальная копия индекса Homebrew cask предшествует публикации cask. Обновите индекс и повторите попытку:

407 

408```bash theme={null}

409brew update

410brew install --cask claude-code

411```

412 

413Если Homebrew устанавливает более старую версию Claude Code, чем вы ожидаете, обычно причина в том же устаревшем индексе. Cask `claude-code` отслеживает стабильный канал и обычно отстаёт на неделю от последнего выпуска; для самой новой версии запустите вместо этого `brew install --cask claude-code@latest`. См. [Configure release channel](/ru/setup#configure-release-channel) для различия между двумя cask.

414 

393<h3 id="tls-or-ssl-connection-errors">415<h3 id="tls-or-ssl-connection-errors">

394 TLS or SSL connection errors416 TLS or SSL connection errors

395</h3>417</h3>


592 614 

593Если ваш Git установлен где-то ещё, найдите путь, запустив `where.exe git` в PowerShell и используйте путь `bin\bash.exe` из этой директории.615Если ваш Git установлен где-то ещё, найдите путь, запустив `where.exe git` в PowerShell и используйте путь `bin\bash.exe` из этой директории.

594 616 

617**Если путь правильный и файл существует**, но Claude Code всё ещё сообщает, что он не найден, программное обеспечение безопасности конечной точки, такое как AppLocker, политики ограничения программного обеспечения Group Policy или агенты EDR, могут вмешиваться. На версиях до v2.1.116 Claude Code порождал дочерний процесс (`cmd.exe`) для проверки пути, который эти политики могут блокировать — распространённый сигнал заключается в том, что `cmd.exe /c dir "C:\Program Files\Git\bin\bash.exe"` работает, когда вы запускаете его непосредственно в PowerShell, но молча не удаётся при запуске `claude.exe`.

618 

619Claude Code v2.1.116 и позже проверяют файловую систему напрямую, поэтому сначала обновитесь. Если ошибка сохраняется на текущей версии, попросите вашу IT-команду добавить в список разрешений `claude.exe` и процессы, которые он порождает, включая `cmd.exe` и `bash.exe`, в вашей политике защиты конечной точки.

620 

595<h3 id="claude-code-does-not-support-32-bit-windows">621<h3 id="claude-code-does-not-support-32-bit-windows">

596 Claude Code does not support 32-bit Windows622 Claude Code does not support 32-bit Windows

597</h3>623</h3>

Details

361. Используйте `/compact` регулярно, чтобы уменьшить размер контекста361. Используйте `/compact` регулярно, чтобы уменьшить размер контекста

372. Закройте и перезагрузите Claude Code между основными задачами372. Закройте и перезагрузите Claude Code между основными задачами

383. Рассмотрите добавление больших директорий сборки в ваш файл `.gitignore`383. Рассмотрите добавление больших директорий сборки в ваш файл `.gitignore`

394. Перезагрузитесь с помощью [`claude --safe-mode`](/ru/cli-reference#cli-flags), чтобы проверить, является ли источником plugin, MCP server или hook. Это отключает все настройки на время сеанса; если использование снизится, см. [Debug your configuration](/ru/debug-your-config#test-against-a-clean-configuration), чтобы найти, какой именно

39 40 

40Если использование памяти остаётся высоким после этих шагов, запустите `/heapdump`, чтобы записать снимок кучи JavaScript и разбор памяти на `~/Desktop`. На Linux без папки Desktop файлы записываются в вашу домашнюю директорию.41Если использование памяти остаётся высоким после этих шагов, запустите `/heapdump`, чтобы записать снимок кучи JavaScript и разбор памяти на `~/Desktop`. На Linux без папки Desktop файлы записываются в вашу домашнюю директорию.

41 42 


65 66 

66Перезагрузка не теряет вашу беседу. Запустите `claude --resume` в той же директории, чтобы продолжить сеанс.67Перезагрузка не теряет вашу беседу. Запустите `claude --resume` в той же директории, чтобы продолжить сеанс.

67 68 

68<h3 id="garbled-or-corrupted-text-in-an-editor-s-integrated-terminal">69<h3 id="garbled-or-corrupted-text-in-an-editors-integrated-terminal">

69 Garbled or corrupted text in an editor's integrated terminal70 Garbled or corrupted text in an editor's integrated terminal

70</h3>71</h3>

71 72 


1303. **Используйте нативный Windows вместо этого**: рассмотрите запуск Claude Code нативно на Windows вместо WSL для лучшей производительности файловой системы.1313. **Используйте нативный Windows вместо этого**: рассмотрите запуск Claude Code нативно на Windows вместо WSL для лучшей производительности файловой системы.

131 132 

132<h2 id="get-more-help">133<h2 id="get-more-help">

133 Get more help134 Получить дополнительную помощь

134</h2>135</h2>

135 136 

136Если вы испытываете проблемы, не охватываемые здесь:137Если вы испытываете проблемы, не охватываемые здесь:

ultraplan.md +2 −2

Details

38 38 

39Пути команды и ключевого слова открывают диалог подтверждения перед запуском. Путь локального плана пропускает этот диалог, потому что этот выбор уже служит подтверждением. Если активен [Remote Control](/ru/remote-control), он отключится при запуске ultraplan, потому что обе функции занимают интерфейс claude.ai/code и одновременно может быть подключена только одна.39Пути команды и ключевого слова открывают диалог подтверждения перед запуском. Путь локального плана пропускает этот диалог, потому что этот выбор уже служит подтверждением. Если активен [Remote Control](/ru/remote-control), он отключится при запуске ultraplan, потому что обе функции занимают интерфейс claude.ai/code и одновременно может быть подключена только одна.

40 40 

41После запуска облачного сеанса ввод подсказки вашего CLI показывает индикатор статуса, пока работает удалённый сеанс:41После запуска облачного сеанса ввод подсказки вашего CLI показывает индикатор статуса, пока работает облачный сеанс:

42 42 

43| Статус | Значение |43| Статус | Значение |

44| :----------------------------- | :---------------------------------------------------------------- |44| :----------------------------- | :---------------------------------------------------------------- |


54 54 

55Когда статус изменится на `◆ ultraplan ready`, откройте ссылку сеанса, чтобы просмотреть план на claude.ai. План появляется в специальном представлении для проверки:55Когда статус изменится на `◆ ultraplan ready`, откройте ссылку сеанса, чтобы просмотреть план на claude.ai. План появляется в специальном представлении для проверки:

56 56 

57* **Встроенные комментарии**: выделите любой отрывок и оставьте комментарий для Claude57* **Встроенные комментарии**: выделите любой отрывок и оставьте комментарий для Claude, чтобы он его рассмотрел

58* **Реакции эмодзи**: реагируйте на раздел, чтобы сигнализировать об одобрении или озабоченности без написания полного комментария58* **Реакции эмодзи**: реагируйте на раздел, чтобы сигнализировать об одобрении или озабоченности без написания полного комментария

59* **Боковая панель структуры**: переходите между разделами плана59* **Боковая панель структуры**: переходите между разделами плана

60 60 

ultrareview.md +2 −2

Details

102Обе команды анализируют код, но они предназначены для разных этапов вашего рабочего процесса.102Обе команды анализируют код, но они предназначены для разных этапов вашего рабочего процесса.

103 103 

104| | `/review` | `/code-review ultra` |104| | `/review` | `/code-review ultra` |

105| ----------------- | ----------------------------------- | ------------------------------------------------------------------------------------------- |105| ----------------- | ----------------------------------- | ------------------------------------------------------------------------------------ |

106| Запуск | локально в вашей сессии | удаленно в облачной изолированной среде |106| Запуск | локально в вашей сессии | удаленно в облачной изолированной среде |

107| Глубина | однопроходный анализ | многоагентный флот с независимой проверкой |107| Глубина | однопроходный анализ | многоагентный флот с независимой проверкой |

108| Продолжительность | секунды до нескольких минут | примерно 5–10 минут |108| Продолжительность | секунды до нескольких минут | примерно 5–10 минут |

109| Стоимость | учитывается в обычном использовании | бесплатные запуски, затем примерно 5–20 долларов за анализ как дополнительное использование |109| Стоимость | учитывается в обычном использовании | бесплатные запуски, затем примерно $5–$20 за анализ как дополнительное использование |

110| Лучше всего для | быстрая обратная связь при итерации | уверенность перед слиянием при существенных изменениях |110| Лучше всего для | быстрая обратная связь при итерации | уверенность перед слиянием при существенных изменениях |

111 111 

112Используйте `/review` для быстрой обратной связи во время работы. Используйте `/code-review ultra` перед слиянием существенного изменения, когда вам нужен более глубокий анализ, который поймет проблемы, которые может пропустить однопроходный анализ.112Используйте `/review` для быстрой обратной связи во время работы. Используйте `/code-review ultra` перед слиянием существенного изменения, когда вам нужен более глубокий анализ, который поймет проблемы, которые может пропустить однопроходный анализ.

Details

67 67 

68Режим удержания — это push-to-talk: запись выполняется, пока вы удерживаете клавишу, и останавливается при отпускании. Это режим по умолчанию.68Режим удержания — это push-to-talk: запись выполняется, пока вы удерживаете клавишу, и останавливается при отпускании. Это режим по умолчанию.

69 69 

70Удерживайте `Space` для начала записи. Claude Code обнаруживает удерживаемую клавишу, отслеживая быстрые события повтора клавиш от вашего терминала, поэтому перед началом записи есть краткий период прогрева. Нижний колонтитул показывает `keep holding…` (продолжайте удерживать) во время прогрева, затем переключается на живую форму волны после активации записи.70Удерживайте `Space` для начала записи. Claude Code обнаруживает удерживаемую клавишу, отслеживая быстрые события повтора клавиш от вашего терминала, поэтому перед началом записи есть краткий период прогрева. Нижний колонтитул показывает `keep holding…` во время прогрева, затем переключается на живую форму волны после активации записи.

71 71 

72Первые несколько символов повтора клавиши печатаются в ввод во время прогрева и автоматически удаляются при активации записи. Одиночное нажатие `Space` все еще печатает пробел, так как обнаружение удержания срабатывает только при быстром повторении.72Первые несколько символов повтора клавиши печатаются в ввод во время прогрева и автоматически удаляются при активации записи. Одиночное нажатие `Space` все еще печатает пробел, так как обнаружение удержания срабатывает только при быстром повторении.

73 73 

vs-code.md +149 −45

Details

12 12 

13С расширением вы можете просматривать и редактировать планы Claude перед их принятием, автоматически принимать правки по мере их внесения, использовать @-упоминания файлов с определёнными диапазонами строк из вашего выделения, получать доступ к истории беседы и открывать несколько бесед в отдельных вкладках или окнах.13С расширением вы можете просматривать и редактировать планы Claude перед их принятием, автоматически принимать правки по мере их внесения, использовать @-упоминания файлов с определёнными диапазонами строк из вашего выделения, получать доступ к истории беседы и открывать несколько бесед в отдельных вкладках или окнах.

14 14 

15## Предварительные требования15<h2 id="prerequisites">

16 Предварительные требования

17</h2>

16 18 

17Перед установкой убедитесь, что у вас есть:19Перед установкой убедитесь, что у вас есть:

18 20 

19* VS Code версии 1.98.0 или выше21* VS Code версии 1.98.0 или выше

20* Учётная запись Anthropic (вы войдёте при первом открытии расширения). Если вы используете поставщика услуг третьей стороны, такого как Amazon Bedrock или Google Vertex AI, см. вместо этого [Использование поставщиков третьей стороны](#use-third-party-providers).22* Учётная запись Anthropic: подойдёт любая платная подписка Claude (Pro, Max, Team или Enterprise) или учётная запись Claude Console, API ключ не требуется. Вы [войдёте](/ru/authentication#log-in-to-claude-code) с помощью этой учётной записи при первом открытии расширения. Если вы получаете доступ к Claude через поставщика услуг третьей стороны, такого как Amazon Bedrock или Google Vertex AI, см. [Использование поставщиков третьей стороны](#use-third-party-providers) для инструкций по настройке.

21 23 

22<Tip>24<Tip>

23 Расширение включает CLI (интерфейс командной строки), к которому вы можете получить доступ из встроенного терминала VS Code для расширенных функций. Подробности см. в разделе [Расширение VS Code и Claude Code CLI](#vs-code-extension-vs-claude-code-cli).25 Расширение включает собственную копию CLI (интерфейс командной строки) для панели чата. Чтобы запустить `claude` во встроенном терминале VS Code, вам также нужна [автономная установка CLI](/ru/setup). Подробности см. в разделе [Расширение VS Code и Claude Code CLI](#vs-code-extension-vs-claude-code-cli).

24</Tip>26</Tip>

25 27 

26## Установка расширения28<h2 id="install-the-extension">

29 Установка расширения

30</h2>

27 31 

28Нажмите на ссылку для вашей IDE, чтобы установить напрямую:32Нажмите на ссылку для вашей IDE, чтобы установить напрямую:

29 33 


32 36 

33Или в VS Code нажмите `Cmd+Shift+X` (Mac) или `Ctrl+Shift+X` (Windows/Linux), чтобы открыть представление расширений, найдите "Claude Code" и нажмите **Установить**.37Или в VS Code нажмите `Cmd+Shift+X` (Mac) или `Ctrl+Shift+X` (Windows/Linux), чтобы открыть представление расширений, найдите "Claude Code" и нажмите **Установить**.

34 38 

35Расширение также устанавливается в других форках VS Code, таких как Devin Desktop или Kiro. Найдите "Claude Code" в представлении расширений вашего редактора или установите из [реестра Open VSX](https://open-vsx.org/extension/Anthropic/claude-code). Если ваш редактор не может установить расширение, запустите `claude` в его встроенном терминале. [CLI](/ru/quickstart) работает в любом терминале.39Расширение также устанавливается в других форках VS Code, таких как Devin Desktop или Kiro. Найдите "Claude Code" в представлении расширений вашего редактора или установите из [реестра Open VSX](https://open-vsx.org/extension/Anthropic/claude-code). Если ваш редактор не может установить расширение, [установите CLI](/ru/quickstart) и запустите `claude` в его встроенном терминале. CLI работает в любом терминале.

36 40 

37<Note>Если расширение не появляется после установки, перезагрузите VS Code или выполните "Developer: Reload Window" из палитры команд.</Note>41<Note>Если расширение не появляется после установки, перезагрузите VS Code или выполните "Developer: Reload Window" из палитры команд.</Note>

38 42 

39## Начало работы43<h2 id="get-started">

44 Начало работы

45</h2>

40 46 

41После установки вы можете начать использовать Claude Code через интерфейс VS Code:47После установки вы можете начать использовать Claude Code через интерфейс VS Code:

42 48 


90 Выполните "Claude Code: Open Walkthrough" из палитры команд для пошагового руководства по основам.96 Выполните "Claude Code: Open Walkthrough" из палитры команд для пошагового руководства по основам.

91</Tip>97</Tip>

92 98 

93## Использование поля ввода запроса99<h2 id="use-the-prompt-box">

100 Использование поля ввода запроса

101</h2>

94 102 

95Поле ввода запроса поддерживает несколько функций:103Поле ввода запроса поддерживает несколько функций:

96 104 


100* **Расширенное мышление**: позволяет Claude потратить больше времени на рассуждение о сложных проблемах. Включите его через меню команд (`/`). Рассуждение Claude появляется в беседе как свёрнутые блоки: нажмите на блок, чтобы прочитать его, или нажмите `Ctrl+O`, чтобы развернуть или свернуть каждый блок мышления в сеансе. Подробности см. в разделе [Расширенное мышление](/ru/model-config#extended-thinking).108* **Расширенное мышление**: позволяет Claude потратить больше времени на рассуждение о сложных проблемах. Включите его через меню команд (`/`). Рассуждение Claude появляется в беседе как свёрнутые блоки: нажмите на блок, чтобы прочитать его, или нажмите `Ctrl+O`, чтобы развернуть или свернуть каждый блок мышления в сеансе. Подробности см. в разделе [Расширенное мышление](/ru/model-config#extended-thinking).

101* **Многострочный ввод**: нажмите `Shift+Enter`, чтобы добавить новую строку без отправки. Это также работает в поле свободного текста "Other" диалогов вопросов.109* **Многострочный ввод**: нажмите `Shift+Enter`, чтобы добавить новую строку без отправки. Это также работает в поле свободного текста "Other" диалогов вопросов.

102 110 

103### Ссылка на файлы и папки111<h3 id="reference-files-and-folders">

112 Ссылка на файлы и папки

113</h3>

104 114 

105Используйте @-упоминания, чтобы дать Claude контекст о конкретных файлах или папках. Когда вы вводите `@` с последующим именем файла или папки, Claude читает это содержимое и может ответить на вопросы о нём или внести в него изменения. Claude Code поддерживает нечёткое совпадение, поэтому вы можете вводить частичные имена, чтобы найти то, что вам нужно:115Используйте @-упоминания, чтобы дать Claude контекст о конкретных файлах или папках. Когда вы вводите `@` с последующим именем файла или папки, Claude читает это содержимое и может ответить на вопросы о нём или внести в него изменения. Claude Code поддерживает нечёткое совпадение, поэтому вы можете вводить частичные имена, чтобы найти то, что вам нужно:

106 116 


115 125 

116Вы также можете удерживать `Shift` при перетаскивании файлов в поле ввода запроса, чтобы добавить их как вложения. Нажмите X на любом вложении, чтобы удалить его из контекста.126Вы также можете удерживать `Shift` при перетаскивании файлов в поле ввода запроса, чтобы добавить их как вложения. Нажмите X на любом вложении, чтобы удалить его из контекста.

117 127 

118### Возобновление прошлых бесед128<h3 id="resume-past-conversations">

129 Возобновление прошлых бесед

130</h3>

119 131 

120Нажмите на кнопку **Session history** в верхней части панели Claude Code, чтобы получить доступ к истории вашей беседы. Вы можете искать по ключевому слову или просматривать по времени (Today, Yesterday, Last 7 days и т. д.). Нажмите на любую беседу, чтобы возобновить её с полной историей сообщений. Новые сеансы получают названия, созданные AI, на основе вашего первого сообщения. Наведите указатель на сеанс, чтобы открыть действия переименования и удаления: переименуйте, чтобы дать ему описательное название, или удалите, чтобы удалить его из списка. Дополнительную информацию о возобновлении сеансов см. в разделе [Управление сеансами](/ru/sessions).132Нажмите на кнопку **Session history** в верхней части панели Claude Code, чтобы получить доступ к истории вашей беседы. Вы можете искать по ключевому слову или просматривать по времени (Today, Yesterday, Last 7 days и т. д.). Нажмите на любую беседу, чтобы возобновить её с полной историей сообщений. Новые сеансы получают названия, созданные AI, на основе вашего первого сообщения. Наведите указатель на сеанс, чтобы открыть действия переименования и удаления: переименуйте, чтобы дать ему описательное название, или удалите, чтобы удалить его из списка. Дополнительную информацию о возобновлении сеансов см. в разделе [Управление сеансами](/ru/sessions).

121 133 

122### Возобновление удалённых сеансов из Claude.ai134<h3 id="resume-cloud-sessions-from-claude-ai">

135 Возобновление удалённых сеансов из Claude.ai

136</h3>

123 137 

124Если вы используете [Claude Code в веб-версии](/ru/claude-code-on-the-web), вы можете возобновить эти удалённые сеансы непосредственно в VS Code. Это требует входа с помощью **Claude.ai Subscription**, а не Anthropic Console.138Если вы используете [Claude Code в веб-версии](/ru/claude-code-on-the-web), вы можете возобновить эти удалённые сеансы непосредственно в VS Code. Это требует входа с помощью **Claude.ai Subscription**, а не Anthropic Console.

125 139 


141 Только веб-сеансы, начатые с репозитория GitHub, появляются на вкладке Remote. Возобновление загружает историю беседы локально; изменения не синхронизируются обратно в claude.ai.155 Только веб-сеансы, начатые с репозитория GitHub, появляются на вкладке Remote. Возобновление загружает историю беседы локально; изменения не синхронизируются обратно в claude.ai.

142</Note>156</Note>

143 157 

144## Настройка вашего рабочего процесса158<h3 id="check-account-and-usage">

159 Проверка учётной записи и использования

160</h3>

161 

162Выполните `/usage` из меню команд, чтобы открыть диалог Account & usage. Он показывает вашу учётную запись, в которую вы вошли, план и полосы использования для текущего сеанса и недели с информацией о том, сколько времени осталось до сброса каждого лимита.

163 

164Диалог также разбивает то, что способствует вашим лимитам плана. Он отмечает поведение, которое составляет 10% или более недавнего использования, такое как промахи кэша, длинный контекст и сеансы с интенсивным использованием подагентов или высокой параллелизацией, каждый с советом по его снижению. Таблицы атрибуции показывают, сколько использования пришло из каждого skill, подагента, plugin и MCP server. Требуется Claude Code v2.1.174 или позже.

165 

166Используйте переключатель Day и Week для переключения между последними 24 часами и последними 7 днями. Цифры являются приблизительными и вычисляются из локальных сеансов на этом компьютере, поэтому использование с других устройств или claude.ai не включено. Дополнительную информацию об отслеживании и снижении использования см. в разделе [Отслеживание ваших затрат](/ru/costs#track-your-costs).

167 

168<h2 id="customize-your-workflow">

169 Настройка вашего рабочего процесса

170</h2>

145 171 

146После того как вы начнёте работать, вы можете переместить панель Claude, запустить несколько сеансов или переключиться на режим терминала.172После того как вы начнёте работать, вы можете переместить панель Claude, запустить несколько сеансов или переключиться на режим терминала.

147 173 

148### Выберите, где находится Claude174<h3 id="choose-where-claude-lives">

175 Выберите, где находится Claude

176</h3>

149 177 

150Вы можете перетащить панель Claude в любое место VS Code. Возьмите вкладку или заголовок панели и перетащите её в:178Вы можете перетащить панель Claude в любое место VS Code. Возьмите вкладку или заголовок панели и перетащите её в:

151 179 


157 Используйте боковую панель для вашего основного сеанса Claude и открывайте дополнительные вкладки для побочных задач. Claude запомнит ваше предпочтительное местоположение. Значок списка сеансов Activity Bar отделён от панели Claude: список сеансов всегда виден в Activity Bar, а значок панели Claude появляется там только при закреплении на левой боковой панели.185 Используйте боковую панель для вашего основного сеанса Claude и открывайте дополнительные вкладки для побочных задач. Claude запомнит ваше предпочтительное местоположение. Значок списка сеансов Activity Bar отделён от панели Claude: список сеансов всегда виден в Activity Bar, а значок панели Claude появляется там только при закреплении на левой боковой панели.

158</Tip>186</Tip>

159 187 

160### Запуск нескольких бесед188<h3 id="run-multiple-conversations">

189 Запуск нескольких бесед

190</h3>

161 191 

162Используйте **Open in New Tab** или **Open in New Window** из палитры команд, чтобы начать дополнительные беседы. Каждая беседа сохраняет свою собственную историю и контекст, позволяя вам работать над различными задачами параллельно.192Используйте **Open in New Tab** или **Open in New Window** из палитры команд, чтобы начать дополнительные беседы. Каждая беседа сохраняет свою собственную историю и контекст, позволяя вам работать над различными задачами параллельно.

163 193 

164При использовании вкладок небольшая цветная точка на значке spark указывает на статус: синий означает, что запрос разрешения ожидает, оранжевый означает, что Claude закончил, пока вкладка была скрыта.194При использовании вкладок небольшая цветная точка на значке spark указывает на статус: синий означает, что запрос разрешения ожидает, оранжевый означает, что Claude закончил, пока вкладка была скрыта.

165 195 

166### Переключение на режим терминала196<h3 id="switch-to-terminal-mode">

197 Переключение на режим терминала

198</h3>

167 199 

168По умолчанию расширение открывает графическую панель чата. Если вы предпочитаете интерфейс в стиле CLI, откройте [параметр Use Terminal](vscode://settings/claudeCode.useTerminal) и установите флажок.200По умолчанию расширение открывает графическую панель чата. Если вы предпочитаете интерфейс в стиле CLI, откройте [параметр Use Terminal](vscode://settings/claudeCode.useTerminal) и установите флажок.

169 201 

170Вы также можете открыть параметры VS Code (`Cmd+,` на Mac или `Ctrl+,` на Windows/Linux), перейти в Extensions → Claude Code и установить флажок **Use Terminal**.202Вы также можете открыть параметры VS Code (`Cmd+,` на Mac или `Ctrl+,` на Windows/Linux), перейти в Extensions → Claude Code и установить флажок **Use Terminal**.

171 203 

172## Управление plugins204<h2 id="manage-plugins">

205 Управление plugins

206</h2>

173 207 

174Расширение VS Code включает графический интерфейс для установки и управления [plugins](/ru/plugins). Введите `/plugins` в поле ввода запроса, чтобы открыть интерфейс **Manage plugins**.208Расширение VS Code включает графический интерфейс для установки и управления [plugins](/ru/plugins). Введите `/plugins` в поле ввода запроса, чтобы открыть интерфейс **Manage plugins**.

175 209 

176### Установка plugins210<h3 id="install-plugins">

211 Установка plugins

212</h3>

177 213 

178Диалог plugin показывает две вкладки: **Plugins** и **Marketplaces**.214Диалог plugin показывает две вкладки: **Plugins** и **Marketplaces**.

179 215 


190* **Install for this project**: общее использование с сотрудниками проекта (область проекта)226* **Install for this project**: общее использование с сотрудниками проекта (область проекта)

191* **Install locally**: только для вас, только в этом репозитории (локальная область)227* **Install locally**: только для вас, только в этом репозитории (локальная область)

192 228 

193### Управление marketplaces229<h3 id="manage-marketplaces">

230 Управление marketplaces

231</h3>

194 232 

195Переключитесь на вкладку **Marketplaces**, чтобы добавить или удалить источники plugins:233Переключитесь на вкладку **Marketplaces**, чтобы добавить или удалить источники plugins:

196 234 


206 244 

207Дополнительную информацию о системе plugins см. в разделах [Plugins](/ru/plugins) и [Plugin marketplaces](/ru/plugin-marketplaces).245Дополнительную информацию о системе plugins см. в разделах [Plugins](/ru/plugins) и [Plugin marketplaces](/ru/plugin-marketplaces).

208 246 

209## Автоматизация задач браузера с помощью Chrome247<h2 id="automate-browser-tasks-with-chrome">

248 Автоматизация задач браузера с помощью Chrome

249</h2>

210 250 

211Подключите Claude к вашему браузеру Chrome, чтобы тестировать веб-приложения, отлаживать с помощью логов консоли и автоматизировать рабочие процессы браузера, не выходя из VS Code. Это требует расширения [Claude in Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) версии 1.0.36 или выше.251Подключите Claude к вашему браузеру Chrome, чтобы тестировать веб-приложения, отлаживать с помощью логов консоли и автоматизировать рабочие процессы браузера, не выходя из VS Code. Это требует расширения [Claude in Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) версии 1.0.36 или выше.

212 252 


222 262 

223Инструкции по настройке, полный список возможностей и устранение неполадок см. в разделе [Использование Claude Code с Chrome](/ru/chrome).263Инструкции по настройке, полный список возможностей и устранение неполадок см. в разделе [Использование Claude Code с Chrome](/ru/chrome).

224 264 

225## Команды и сочетания клавиш VS Code265<h2 id="vs-code-commands-and-shortcuts">

266 Команды и сочетания клавиш VS Code

267</h2>

226 268 

227Откройте палитру команд (`Cmd+Shift+P` на Mac или `Ctrl+Shift+P` на Windows/Linux) и введите "Claude Code", чтобы увидеть все доступные команды VS Code для расширения Claude Code.269Откройте палитру команд (`Cmd+Shift+P` на Mac или `Ctrl+Shift+P` на Windows/Linux) и введите "Claude Code", чтобы увидеть все доступные команды VS Code для расширения Claude Code.

228 270 


245| Show Logs | - | Просмотр логов отладки расширения |287| Show Logs | - | Просмотр логов отладки расширения |

246| Logout | - | Выход из учётной записи Anthropic |288| Logout | - | Выход из учётной записи Anthropic |

247 289 

248### Запуск вкладки VS Code из других инструментов290<h3 id="launch-a-vs-code-tab-from-other-tools">

291 Запуск вкладки VS Code из других инструментов

292</h3>

249 293 

250Расширение регистрирует обработчик URI в `vscode://anthropic.claude-code/open`. Используйте его для открытия новой вкладки Claude Code из вашего собственного инструментария: псевдонима оболочки, букмарклета браузера или любого скрипта, который может открыть URL. Если VS Code ещё не запущен, открытие URL сначала запускает его. Если VS Code уже запущен, URL открывается в окне, которое в данный момент сфокусировано.294Расширение регистрирует обработчик URI в `vscode://anthropic.claude-code/open`. Используйте его для открытия новой вкладки Claude Code из вашего собственного инструментария: псевдонима оболочки, букмарклета браузера или любого скрипта, который может открыть URL. Если VS Code ещё не запущен, открытие URL сначала запускает его. Если VS Code уже запущен, URL открывается в окне, которое в данный момент сфокусировано.

251 295 


294 338 

295Чтобы запустить сеанс терминала вместо вкладки VS Code, используйте обработчик CLI `claude-cli://`. См. [Launch sessions from links](/ru/deep-links).339Чтобы запустить сеанс терминала вместо вкладки VS Code, используйте обработчик CLI `claude-cli://`. См. [Launch sessions from links](/ru/deep-links).

296 340 

297## Настройка параметров341<h2 id="configure-settings">

342 Настройка параметров

343</h2>

298 344 

299Расширение имеет два типа параметров:345Расширение имеет два типа параметров:

300 346 


305 Добавьте `"$schema": "https://json.schemastore.org/claude-code-settings.json"` в ваш `settings.json`, чтобы получить автодополнение и встроенную проверку для всех доступных параметров непосредственно в VS Code.351 Добавьте `"$schema": "https://json.schemastore.org/claude-code-settings.json"` в ваш `settings.json`, чтобы получить автодополнение и встроенную проверку для всех доступных параметров непосредственно в VS Code.

306</Tip>352</Tip>

307 353 

308### Параметры расширения354<h3 id="extension-settings">

355 Параметры расширения

356</h3>

309 357 

310| Параметр | По умолчанию | Описание |358| Параметр | По умолчанию | Описание |

311| ----------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |359| ----------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


324| `allowDangerouslySkipPermissions` | `false` | Добавляет Bypass permissions к селектору режимов. Используйте только в песочницах без доступа в интернет. |372| `allowDangerouslySkipPermissions` | `false` | Добавляет Bypass permissions к селектору режимов. Используйте только в песочницах без доступа в интернет. |

325| `claudeProcessWrapper` | - | Исполняемый файл, используемый для запуска процесса Claude. Путь к встроенному двоичному файлу передаётся в качестве аргумента при наличии. Установите это значение на отдельно установленный двоичный файл `claude`, если сборка расширения не включает его для вашей платформы. |373| `claudeProcessWrapper` | - | Исполняемый файл, используемый для запуска процесса Claude. Путь к встроенному двоичному файлу передаётся в качестве аргумента при наличии. Установите это значение на отдельно установленный двоичный файл `claude`, если сборка расширения не включает его для вашей платформы. |

326 374 

327## Расширение VS Code и Claude Code CLI375<h2 id="vs-code-extension-vs-claude-code-cli">

376 Расширение VS Code и Claude Code CLI

377</h2>

328 378 

329Claude Code доступен как расширение VS Code (графическая панель), так и CLI (интерфейс командной строки в терминале). Некоторые функции доступны только в CLI. Если вам нужна функция, доступная только в CLI, выполните `claude` во встроенном терминале VS Code.379Claude Code доступен как расширение VS Code (графическая панель), так и CLI (интерфейс командной строки в терминале). Некоторые функции доступны только в CLI. Если вам нужна функция, доступная только в CLI, выполните `claude` во встроенном терминале VS Code. Это требует [автономной установки CLI](/ru/setup): расширение не добавляет `claude` в ваш PATH. См. [Запуск CLI в VS Code](#run-cli-in-vs-code).

330 380 

331| Функция | CLI | Расширение VS Code |381| Функция | CLI | Расширение VS Code |

332| ------------------------- | ------------------- | --------------------------------------------------------------------------------------------------------- |382| ------------------------- | ------------------- | --------------------------------------------------------------------------------------------------------- |


336| Сочетание клавиш `!` bash | Да | Нет |386| Сочетание клавиш `!` bash | Да | Нет |

337| Автодополнение вкладок | Да | Нет |387| Автодополнение вкладок | Да | Нет |

338 388 

339### Перемотка с помощью checkpoints389<h3 id="rewind-with-checkpoints">

390 Перемотка с помощью checkpoints

391</h3>

340 392 

341Расширение VS Code поддерживает checkpoints, которые отслеживают правки файлов Claude и позволяют вам вернуться в предыдущее состояние. Наведите указатель на любое сообщение, чтобы открыть кнопку перемотки, затем выберите один из трёх вариантов:393Расширение VS Code поддерживает checkpoints, которые отслеживают правки файлов Claude и позволяют вам вернуться в предыдущее состояние. Наведите указатель на любое сообщение, чтобы открыть кнопку перемотки, затем выберите один из трёх вариантов:

342 394 


346 398 

347Полные подробности о том, как работают checkpoints и их ограничения, см. в разделе [Checkpointing](/ru/checkpointing).399Полные подробности о том, как работают checkpoints и их ограничения, см. в разделе [Checkpointing](/ru/checkpointing).

348 400 

349### Запуск CLI в VS Code401<h3 id="run-cli-in-vs-code">

402 Запуск CLI в VS Code

403</h3>

350 404 

351Чтобы использовать CLI, оставаясь в VS Code, откройте встроенный терминал (`` Ctrl+` `` на Windows/Linux или `` Cmd+` `` на Mac) и выполните `claude`. CLI автоматически интегрируется с вашей IDE для функций, таких как просмотр diff и обмен диагностикой.405Чтобы использовать CLI, оставаясь в VS Code, откройте встроенный терминал (`` Ctrl+` `` на Windows/Linux или `` Cmd+` `` на Mac) и выполните `claude`. CLI автоматически интегрируется с вашей IDE для функций, таких как просмотр diff и обмен диагностикой.

352 406 

407Установка расширения не добавляет `claude` в ваш PATH оболочки. Расширение содержит приватную копию CLI для своей панели чата, но ввод `claude` в терминал требует [автономной установки CLI](/ru/setup). Выполните установку один раз, и команды на этой странице, включая `claude mcp add` и `claude --resume`, будут работать в любом терминале. Если `claude` всё ещё не найден после установки, [проверьте ваш PATH](/ru/troubleshoot-install#verify-your-path).

408 

353Если вы используете внешний терминал, выполните `/ide` внутри Claude Code, чтобы подключить его к VS Code.409Если вы используете внешний терминал, выполните `/ide` внутри Claude Code, чтобы подключить его к VS Code.

354 410 

355### Переключение между расширением и CLI411<h3 id="switch-between-extension-and-cli">

412 Переключение между расширением и CLI

413</h3>

356 414 

357Расширение и CLI совместно используют одну и ту же историю беседы. Чтобы продолжить беседу расширения в CLI, выполните `claude --resume` в терминале. Это открывает интерактивный выбор, где вы можете искать и выбирать вашу беседу.415Расширение и CLI совместно используют одну и ту же историю беседы. Чтобы продолжить беседу расширения в CLI, выполните `claude --resume` в терминале. Это открывает интерактивный выбор, где вы можете искать и выбирать вашу беседу.

358 416 

359### Включение вывода терминала в запросы417<h3 id="include-terminal-output-in-prompts">

418 Включение вывода терминала в запросы

419</h3>

360 420 

361Ссылайтесь на вывод терминала в ваших запросах, используя `@terminal:name`, где `name` — это название терминала. Это позволяет Claude видеть вывод команды, сообщения об ошибках или логи без копирования и вставки.421Ссылайтесь на вывод терминала в ваших запросах, используя `@terminal:name`, где `name` — это название терминала. Это позволяет Claude видеть вывод команды, сообщения об ошибках или логи без копирования и вставки.

362 422 

363### Мониторинг фоновых процессов423<h3 id="monitor-background-processes">

424 Мониторинг фоновых процессов

425</h3>

364 426 

365Когда Claude запускает долгоживущие команды, расширение показывает прогресс в строке состояния. Однако видимость фоновых задач ограничена по сравнению с CLI. Для лучшей видимости попросите Claude вывести команду, чтобы вы могли запустить её во встроенном терминале VS Code.427Когда Claude запускает долгоживущие команды, расширение показывает прогресс в строке состояния. Однако видимость фоновых задач ограничена по сравнению с CLI. Для лучшей видимости попросите Claude вывести команду, чтобы вы могли запустить её во встроенном терминале VS Code.

366 428 

367### Подключение к внешним инструментам с помощью MCP429<h3 id="connect-to-external-tools-with-mcp">

430 Подключение к внешним инструментам с помощью MCP

431</h3>

368 432 

369MCP (Model Context Protocol) servers дают Claude доступ к внешним инструментам, базам данных и API.433MCP (Model Context Protocol) servers дают Claude доступ к внешним инструментам, базам данных и API.

370 434 


379 443 

380Чтобы управлять MCP servers, не выходя из VS Code, введите `/mcp` на панели чата. Диалог управления MCP позволяет вам включать или отключать серверы, переподключаться к серверу и управлять аутентификацией OAuth. Доступные серверы см. в [документации MCP](/ru/mcp).444Чтобы управлять MCP servers, не выходя из VS Code, введите `/mcp` на панели чата. Диалог управления MCP позволяет вам включать или отключать серверы, переподключаться к серверу и управлять аутентификацией OAuth. Доступные серверы см. в [документации MCP](/ru/mcp).

381 445 

382## Работа с git446<h2 id="work-with-git">

447 Работа с git

448</h2>

383 449 

384Claude Code интегрируется с git, чтобы помочь с рабочими процессами контроля версий непосредственно в VS Code. Попросите Claude совершить изменения, создать pull requests или работать между ветками.450Claude Code интегрируется с git, чтобы помочь с рабочими процессами контроля версий непосредственно в VS Code. Попросите Claude совершить изменения, создать pull requests или работать между ветками.

385 451 

386### Создание commits и pull requests452<h3 id="create-commits-and-pull-requests">

453 Создание commits и pull requests

454</h3>

387 455 

388Claude может подготавливать изменения, писать сообщения commit и создавать pull requests на основе вашей работы:456Claude может подготавливать изменения, писать сообщения commit и создавать pull requests на основе вашей работы:

389 457 


395 463 

396При создании pull requests Claude генерирует описания на основе фактических изменений кода и может добавлять контекст о тестировании или решениях по реализации.464При создании pull requests Claude генерирует описания на основе фактических изменений кода и может добавлять контекст о тестировании или решениях по реализации.

397 465 

398### Использование git worktrees для параллельных задач466<h3 id="use-git-worktrees-for-parallel-tasks">

467 Использование git worktrees для параллельных задач

468</h3>

399 469 

400Используйте флаг `--worktree` (`-w`) для запуска Claude в изолированном worktree с собственными файлами и веткой:470Используйте флаг `--worktree` (`-w`) для запуска Claude в изолированном worktree с собственными файлами и веткой:

401 471 


405 475 

406Каждый worktree сохраняет независимое состояние файлов при совместном использовании истории git. Это предотвращает помехи между экземплярами Claude при работе над различными задачами. Дополнительные подробности см. в разделе [Запуск параллельных сеансов с Git worktrees](/ru/worktrees).476Каждый worktree сохраняет независимое состояние файлов при совместном использовании истории git. Это предотвращает помехи между экземплярами Claude при работе над различными задачами. Дополнительные подробности см. в разделе [Запуск параллельных сеансов с Git worktrees](/ru/worktrees).

407 477 

408## Использование поставщиков третьей стороны478<h2 id="use-third-party-providers">

479 Использование поставщиков третьей стороны

480</h2>

409 481 

410По умолчанию Claude Code подключается непосредственно к API Anthropic. Если ваша организация использует Amazon Bedrock, Google Vertex AI или Microsoft Foundry для доступа к Claude, настройте расширение на использование вашего поставщика вместо этого:482По умолчанию Claude Code подключается непосредственно к API Anthropic. Если ваша организация использует Amazon Bedrock, Google Vertex AI или Microsoft Foundry для доступа к Claude, настройте расширение на использование вашего поставщика вместо этого:

411 483 


427 </Step>499 </Step>

428</Steps>500</Steps>

429 501 

430## Безопасность и конфиденциальность502<h2 id="security-and-privacy">

503 Безопасность и конфиденциальность

504</h2>

431 505 

432Ваш код остаётся приватным. Claude Code обрабатывает ваш код для предоставления помощи, но не использует его для обучения моделей. Подробности об обработке данных и о том, как отказаться от логирования, см. в разделе [Data and privacy](/ru/data-usage).506Ваш код остаётся приватным. Claude Code обрабатывает ваш код для предоставления помощи, но не использует его для обучения моделей. Подробности об обработке данных и о том, как отказаться от логирования, см. в разделе [Data and privacy](/ru/data-usage).

433 507 


437* Используйте режим ручного одобрения вместо автоматического принятия для правок511* Используйте режим ручного одобрения вместо автоматического принятия для правок

438* Тщательно проверяйте изменения перед их принятием512* Тщательно проверяйте изменения перед их принятием

439 513 

440### Встроенный IDE MCP server514<h3 id="the-built-in-ide-mcp-server">

515 Встроенный IDE MCP server

516</h3>

441 517 

442Когда расширение активно, оно запускает локальный MCP server, к которому CLI подключается автоматически. Это то, как CLI открывает diff в собственном средстве просмотра diff VS Code, читает ваше текущее выделение для `@`-упоминаний и — когда вы работаете в записной книжке Jupyter — просит VS Code выполнить ячейки.518Когда расширение активно, оно запускает локальный MCP server, к которому CLI подключается автоматически. Это то, как CLI открывает diff в собственном средстве просмотра diff VS Code, читает ваше текущее выделение для `@`-упоминаний и — когда вы работаете в записной книжке Jupyter — просит VS Code выполнить ячейки.

443 519 


462 538 

463<a id="troubleshooting" />539<a id="troubleshooting" />

464 540 

465## Исправление распространённых проблем541<h2 id="fix-common-issues">

542 Исправление распространённых проблем

543</h2>

466 544 

467### Расширение не устанавливается545<h3 id="extension-won’t-install">

546 Расширение не устанавливается

547</h3>

468 548 

469* Убедитесь, что у вас есть совместимая версия VS Code (1.98.0 или выше)549* Убедитесь, что у вас есть совместимая версия VS Code (1.98.0 или выше)

470* Проверьте, что VS Code имеет разрешение на установку расширений550* Проверьте, что VS Code имеет разрешение на установку расширений

471* Попробуйте установить непосредственно из [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)551* Попробуйте установить непосредственно из [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)

472 552 

473### Значок Spark не виден553<h3 id="spark-icon-not-visible">

554 Значок Spark не виден

555</h3>

474 556 

475Значок Spark появляется в **панели инструментов редактора** (верхний правый угол редактора) при открытом файле. Если вы его не видите:557Значок Spark появляется в **панели инструментов редактора** (верхний правый угол редактора) при открытом файле. Если вы его не видите:

476 558 


482 564 

483Альтернативно, нажмите "✱ Claude Code" в **Status Bar** (нижний правый угол). Это работает даже без открытого файла. Вы также можете использовать **Command Palette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) и ввести "Claude Code".565Альтернативно, нажмите "✱ Claude Code" в **Status Bar** (нижний правый угол). Это работает даже без открытого файла. Вы также можете использовать **Command Palette** (`Cmd+Shift+P` / `Ctrl+Shift+P`) и ввести "Claude Code".

484 566 

485### Cmd+Esc ничего не делает на macOS567<h3 id="cmd-esc-does-nothing-on-macos">

568 Cmd+Esc ничего не делает на macOS

569</h3>

486 570 

487На macOS Tahoe и более поздних версиях системный ярлык Game Overlay по умолчанию привязан к `Cmd+Esc` и перехватывает нажатие клавиши перед тем, как оно достигнет VS Code. Чтобы освободить ярлык:571На macOS Tahoe и более поздних версиях системный ярлык Game Overlay по умолчанию привязан к `Cmd+Esc` и перехватывает нажатие клавиши перед тем, как оно достигнет VS Code. Чтобы освободить ярлык:

488 572 


492 576 

493Альтернативно, переназначьте расширение на другую клавишу: откройте редактор [Keyboard Shortcuts](https://code.visualstudio.com/docs/configure/keybindings) в VS Code (`Cmd+K Cmd+S`), найдите `Claude Code: Focus input` и назначьте новое сочетание клавиш.577Альтернативно, переназначьте расширение на другую клавишу: откройте редактор [Keyboard Shortcuts](https://code.visualstudio.com/docs/configure/keybindings) в VS Code (`Cmd+K Cmd+S`), найдите `Claude Code: Focus input` и назначьте новое сочетание клавиш.

494 578 

495### Claude Code никогда не отвечает579<h3 id="claude-code-never-responds">

580 Claude Code никогда не отвечает

581</h3>

496 582 

497Если Claude Code не отвечает на ваши запросы:583Если Claude Code не отвечает на ваши запросы:

498 584 


502 588 

503Если проблемы сохраняются, [создайте issue на GitHub](https://github.com/anthropics/claude-code/issues) с подробностями об ошибке.589Если проблемы сохраняются, [создайте issue на GitHub](https://github.com/anthropics/claude-code/issues) с подробностями об ошибке.

504 590 

505## Удаление расширения591<h2 id="uninstall-the-extension">

592 Удаление расширения

593</h2>

506 594 

507Чтобы удалить расширение Claude Code:595Чтобы удалить расширение Claude Code:

508 596 


5102. Найдите "Claude Code"5982. Найдите "Claude Code"

5113. Нажмите **Uninstall**5993. Нажмите **Uninstall**

512 600 

513Чтобы также удалить данные расширения и сбросить все параметры:601Чтобы также удалить данные расширения и сбросить все параметры, удалите каталог хранилища расширения для вашей платформы.

602 

603На macOS:

514 604 

515```bash theme={null}605```bash theme={null}

516rm -rf ~/.vscode/globalStorage/anthropic.claude-code606rm -rf ~/Library/"Application Support"/Code/User/globalStorage/anthropic.claude-code

607```

608 

609На Linux:

610 

611```bash theme={null}

612rm -rf ~/.config/Code/User/globalStorage/anthropic.claude-code

613```

614 

615На Windows в PowerShell:

616 

617```powershell theme={null}

618Remove-Item -Recurse -Force "$env:APPDATA\Code\User\globalStorage\anthropic.claude-code"

517```619```

518 620 

519Для дополнительной помощи см. [руководство по устранению неполадок](/ru/troubleshooting).621Для дополнительной помощи см. [руководство по устранению неполадок](/ru/troubleshooting).

520 622 

521## Следующие шаги623<h2 id="next-steps">

624 Следующие шаги

625</h2>

522 626 

523Теперь, когда у вас есть Claude Code, установленный в VS Code:627Теперь, когда у вас есть Claude Code, установленный в VS Code:

524 628 

Details

129 </Step>129 </Step>

130 130 

131 <Step title="Выберите режим разрешений">131 <Step title="Выберите режим разрешений">

132 Раскрывающееся меню режима рядом с вводом по умолчанию установлено на **Auto accept edits**, где Claude вносит изменения и отправляет ветку без остановки для одобрения. Переключитесь на **Plan mode**, если вы хотите, чтобы Claude предложил подход и дождался вашего одобрения перед редактированием файлов. Облачные сеансы не предлагают разрешения Ask, режим Auto или разрешения Bypass. Смотрите [Режимы разрешений](/ru/permission-modes) для полного списка.132 Раскрывающееся меню режима рядом с вводом по умолчанию установлено на **Accept edits**, где Claude вносит изменения и отправляет ветку без остановки для одобрения. Переключитесь на **Plan mode**, если вы хотите, чтобы Claude предложил подход и дождался вашего одобрения перед редактированием файлов. Облачные сеансы не предлагают разрешения Ask или разрешения Bypass. Смотрите [Режимы разрешений](/ru/permission-modes) для полного списка.

133 </Step>133 </Step>

134 134 

135 <Step title="Опишите задачу и отправьте">135 <Step title="Опишите задачу и отправьте">

whats-new.md +16 −0

Details

8 8 

9Еженедельный дайджест для разработчиков выделяет функции, которые с наибольшей вероятностью изменят способ вашей работы. Каждая запись включает исполняемый код, краткую демонстрацию и ссылку на полную документацию. Для каждого исправления ошибок и незначительного улучшения см. [журнал изменений](/ru/changelog).9Еженедельный дайджест для разработчиков выделяет функции, которые с наибольшей вероятностью изменят способ вашей работы. Каждая запись включает исполняемый код, краткую демонстрацию и ссылку на полную документацию. Для каждого исправления ошибок и незначительного улучшения см. [журнал изменений](/ru/changelog).

10 10 

11<Update label="Week 24" description="June 8–12, 2026" tags={["v2.1.166–v2.1.176"]}>

12 **`/cd`**: переместите текущий сеанс в новый рабочий каталог в середине разговора без перестроения кэша подсказок.

13 

14 Также на этой неделе: **подагенты могут порождать собственных подагентов** (фоновые цепи ограничены пятью уровнями в глубину); **`--safe-mode`** запускает Claude Code со всеми отключенными настройками для устранения неполадок; и **`fallbackModel`** настраивает до трех резервных моделей, которые пробуются по порядку.

15 

16 [Прочитайте дайджест Week 24 →](/ru/whats-new/2026-w24)

17</Update>

18 

19<Update label="Week 23" description="June 1–5, 2026" tags={["v2.1.158–v2.1.165"]}>

20 **Auto mode на Bedrock, Vertex и Foundry**: auto mode теперь доступен на сторонних поставщиках для Opus 4.7 и Opus 4.8, заменяя запросы разрешений проверками безопасности в фоновом режиме.

21 

22 Также на этой неделе: **более безопасные автоматические правки** запрашивают перед записью файлов, которые могут выполнять код в режиме `acceptEdits`; **`/plugin list`** выводит установленные плагины встроенно; и **требования к версии** позволяют управляемым развертываниям требовать утвержденный диапазон версий Claude Code.

23 

24 [Прочитайте дайджест Week 23 →](/ru/whats-new/2026-w23)

25</Update>

26 

11<Update label="Week 22" description="May 25–29, 2026" tags={["v2.1.150–v2.1.157"]}>27<Update label="Week 22" description="May 25–29, 2026" tags={["v2.1.150–v2.1.157"]}>

12 **Claude Opus 4.8**: новая модель по умолчанию для Max, Team Premium, Enterprise с оплатой по мере использования и учетных записей Anthropic API с высоким усилием по умолчанию и `/effort xhigh` для самых сложных задач.28 **Claude Opus 4.8**: новая модель по умолчанию для Max, Team Premium, Enterprise с оплатой по мере использования и учетных записей Anthropic API с высоким усилием по умолчанию и `/effort xhigh` для самых сложных задач.

13 29 

whats-new/2026-w23.md +100 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Неделя 23 · 1–5 июня 2026

6 

7> Запуск режима auto на Bedrock, Vertex и Foundry, запрос перед записью файлов, которые могут выполнять код в режиме acceptEdits, список установленных плагинов с помощью /plugin list и требование утвержденного диапазона версий для управляемых развертываний.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/ru/docs/changelog#2-1-158">v2.1.158 → v2.1.165</a></span>

11 <span>4 функции · 1–5 июня</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Режим auto на Bedrock, Vertex и Foundry</span>

17 <span className="digest-feature-pill">v2.1.158</span>

18 </div>

19 

20 <p className="digest-feature-lede">Режим auto теперь доступен на Bedrock, Vertex и Foundry для Opus 4.7 и Opus 4.8, заменяя запросы разрешений проверками безопасности в фоновом режиме у сторонних поставщиков. Включите, установив <code>CLAUDE\_CODE\_ENABLE\_AUTO\_MODE=1</code>.</p>

21 

22 <p className="digest-feature-try">Включите на сторонних поставщиках, затем переключитесь в режим auto с помощью Shift+Tab:</p>

23 

24 ```bash terminal theme={null}

25 export CLAUDE_CODE_ENABLE_AUTO_MODE=1

26 ```

27 

28 <a className="digest-feature-link" href="/ru/docs/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry">Включить режим auto у сторонних поставщиков</a>

29</div>

30 

31<div className="digest-feature">

32 <div className="digest-feature-header">

33 <span className="digest-feature-title">Более безопасные автоматические правки</span>

34 <span className="digest-feature-pill">v2.1.160</span>

35 </div>

36 

37 <p className="digest-feature-lede">Claude Code теперь запрашивает разрешение перед записью файлов, которые могут выполнять код, даже в режиме <code>acceptEdits</code>. Защищенный набор включает файлы запуска оболочки, такие как <code>.zshenv</code> и <code>.bash\_login</code>, конфигурацию git в <code>\~/.config/git/</code> и конфигурации инструментов сборки, такие как <code>.npmrc</code>, <code>.bazelrc</code> и <code>.pre-commit-config.yaml</code>. Эти записи никогда не одобряются автоматически ни в каком режиме, кроме <code>bypassPermissions</code>.</p>

38 

39 <p className="digest-feature-try">Работайте в режиме acceptEdits; Claude теперь делает паузу перед записью этих файлов:</p>

40 

41 ```bash terminal theme={null}

42 claude --permission-mode acceptEdits

43 ```

44 

45 <a className="digest-feature-link" href="/ru/docs/permission-modes#protected-paths">Защищенные пути</a>

46</div>

47 

48<div className="digest-feature">

49 <div className="digest-feature-header">

50 <span className="digest-feature-title">Список установленных плагинов с /plugin list</span>

51 <span className="digest-feature-pill">v2.1.163</span>

52 </div>

53 

54 <p className="digest-feature-lede">Новая команда <code>/plugin list</code> выводит ваши установленные плагины встроенным образом, без открытия меню <code>/plugin</code>, и также доступна как <code>claude plugin list</code> из оболочки. В интерактивной форме добавьте `--enabled` или `--disabled` для отображения только плагинов в этом состоянии.</p>

55 

56 <p className="digest-feature-try">Список плагинов, которые в настоящее время включены:</p>

57 

58 ```text Claude Code theme={null}

59 > /plugin list --enabled

60 ```

61 

62 <a className="digest-feature-link" href="/ru/docs/plugins-reference#plugin-list">Команды плагинов</a>

63</div>

64 

65<div className="digest-feature">

66 <div className="digest-feature-header">

67 <span className="digest-feature-title">Требования к версиям для управляемых развертываний</span>

68 <span className="digest-feature-pill">v2.1.163</span>

69 </div>

70 

71 <p className="digest-feature-lede">Два управляемых параметра, <code>requiredMinimumVersion</code> и <code>requiredMaximumVersion</code>, позволяют вашей организации требовать утвержденный диапазон версий Claude Code. Клиент вне диапазона завершает работу при запуске и сообщает пользователю об обновлении через метод организации. <code>claude update</code>, <code>claude install</code> и <code>claude doctor</code> продолжают работать, чтобы пользователи могли восстановиться.</p>

72 

73 <p className="digest-feature-try">Добавьте минимальную версию в ваши управляемые параметры, чтобы старые клиенты отказались запускаться:</p>

74 

75 ```json managed-settings.json theme={null}

76 "requiredMinimumVersion": "2.1.163"

77 ```

78 

79 <a className="digest-feature-link" href="/ru/docs/admin-setup#decide-what-to-enforce">Решите, что нужно применять</a>

80</div>

81 

82<div className="digest-wins">

83 <p className="digest-wins-title">Другие улучшения</p>

84 

85 <div className="digest-wins-grid">

86 <div>Ключевое слово триггера для <a href="/ru/docs/workflows">динамических рабочих процессов</a> изменилось с <code>workflow</code> на <code>ultracode</code>; запрос рабочего процесса в ваших собственных словах по-прежнему работает, и ключевое слово выделено фиолетовым цветом в подсказке</div>

87 <div><a href="/ru/docs/hooks">Hooks Stop и SubagentStop</a> могут возвращать <code>hookSpecificOutput.additionalContext</code> для предоставления Claude обратной связи и продолжения хода вместо того, чтобы рассматриваться как ошибка</div>

88 <div><code>claude mcp</code> list, get и add больше не выводят секреты: ссылки на переменные окружения не расширяются, а заголовки учетных данных и секреты URL скрываются</div>

89 <div>Неудачная команда Bash в параллельном пакете инструментов больше не отменяет остальные; каждый инструмент возвращает свой собственный результат независимо</div>

90 <div>Редактирование файла больше не требует отдельного Read сначала, когда вы просмотрели его с помощью одного файла <code>grep</code>, <code>egrep</code> или <code>fgrep</code></div>

91 <div>Нажатие на команду в меню автодополнения теперь заполняет ее в вашу подсказку вместо немедленного выполнения; нажмите Enter для запуска</div>

92 <div>Перечисление <code>Grep</code> или <code>Glob</code> в `--tools` теперь предоставляет специализированные инструменты поиска на собственных сборках со встроенным поиском, вместо того чтобы молча игнорировать эти имена</div>

93 <div><code>/effort</code> теперь подтверждает, когда выбранный уровень будет сохранен как значение по умолчанию для новых сеансов</div>

94 <div>Значения <code>OTEL\_RESOURCE\_ATTRIBUTES</code> теперь прикрепляются как метки к точкам данных метрик, поэтому вы можете разделить метрики использования по пользовательским измерениям, таким как команда или репозиторий</div>

95 <div>Windsurf переименован в Devin Desktop в <code>/ide</code>, <code>/terminal-setup</code> и <code>/scroll-speed</code>, следуя переименованию редактора</div>

96 <div><code>/btw</code> получает сочетание клавиш <code>c to copy</code>, которое копирует необработанный ответ markdown в буфер обмена</div>

97 </div>

98</div>

99 

100[Полный журнал изменений для v2.1.158–v2.1.165 →](/ru/changelog#2-1-158)

whats-new/2026-w24.md +84 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Неделя 24 · 8–12 июня 2026

6 

7> Переместите сеанс в новый каталог с помощью /cd, позвольте подагентам создавать собственных подагентов и устраняйте неисправности в конфигурации с помощью безопасного режима.

8 

9<div className="digest-meta">

10 <span>Выпуски <a href="/ru/docs/changelog#2-1-166">v2.1.166 → v2.1.176</a></span>

11 <span>3 функции · 8–12 июня</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Переместите сеанс с помощью /cd</span>

17 <span className="digest-feature-pill">v2.1.169</span>

18 </div>

19 

20 <p className="digest-feature-lede">Новая команда <code>/cd</code> перемещает текущий сеанс в другой рабочий каталог без перестроения кэша подсказок: файл <code>CLAUDE.md</code> нового каталога добавляется в виде сообщения вместо замены системной подсказки. Сеанс переходит в хранилище проекта нового каталога, поэтому `--resume` и `--continue` находят его там. Claude предлагает вам доверять каталогу, если вы в нём раньше не работали.</p>

21 

22 <p className="digest-feature-try">Переместите сеанс в другой проект без перезагрузки:</p>

23 

24 ```text Claude Code theme={null}

25 > /cd ../other-project

26 ```

27 

28 <a className="digest-feature-link" href="/ru/docs/commands#all-commands">Справочник команд</a>

29</div>

30 

31<div className="digest-feature">

32 <div className="digest-feature-header">

33 <span className="digest-feature-title">Подагенты могут создавать подагентов</span>

34 <span className="digest-feature-pill">v2.1.172</span>

35 </div>

36 

37 <p className="digest-feature-lede">Подагенты теперь могут создавать собственных подагентов. Панель подагентов под подсказкой показывает полное дерево: каждая строка содержит количество её потомков и путь обратно к <code>main</code>. Фоновые подагенты ограничены пятью уровнями в глубину, чтобы предотвратить неконтролируемые одновременные деревья; цепочки переднего плана могут создаваться на любой глубине и саморегулируются.</p>

38 

39 <p className="digest-feature-try">Откройте представление агентов, чтобы наблюдать вложенное дерево по мере развёртывания работы:</p>

40 

41 ```text Claude Code theme={null}

42 > /agents

43 ```

44 

45 <a className="digest-feature-link" href="/ru/docs/sub-agents#spawn-nested-subagents">Создание вложенных подагентов</a>

46</div>

47 

48<div className="digest-feature">

49 <div className="digest-feature-header">

50 <span className="digest-feature-title">Устранение неисправностей с помощью безопасного режима</span>

51 <span className="digest-feature-pill">v2.1.169</span>

52 </div>

53 

54 <p className="digest-feature-lede">Запустите Claude Code с `--safe-mode` или установите <code>CLAUDE\_CODE\_SAFE\_MODE</code>, чтобы запустить со всеми отключёнными настройками: <code>CLAUDE.md</code>, skills, plugins, hooks, MCP серверы и пользовательские команды и агенты не загружаются. Аутентификация, выбор модели, встроенные инструменты и разрешения по-прежнему работают. Если проблема исчезает в безопасном режиме, одна из этих поверхностей является причиной.</p>

55 

56 <p className="digest-feature-try">Запустите чистый сеанс, чтобы изолировать неисправную конфигурацию:</p>

57 

58 ```bash terminal theme={null}

59 claude --safe-mode

60 ```

61 

62 <a className="digest-feature-link" href="/ru/docs/debug-your-config#test-against-a-clean-configuration">Тестирование с чистой конфигурацией</a>

63</div>

64 

65<div className="digest-wins">

66 <p className="digest-wins-title">Другие улучшения</p>

67 

68 <div className="digest-wins-grid">

69 <div><a href="/ru/docs/model-config#fallback-model-chains"><code>fallbackModel</code></a> настраивает до трёх резервных моделей, которые пробуются по порядку, когда основная перегружена или недоступна, и `--fallback-model` теперь применяется также к интерактивным сеансам</div>

70 <div>Названия сеансов теперь генерируются на языке вашего разговора; закрепите конкретное с помощью параметра <code>language</code></div>

71 <div>`claude agents --json` добавляет `--all` для включения завершённых сеансов плюс новые поля <code>id</code> и <code>state</code>, и больше не пропускает заблокированные или вновь отправленные сеансы</div>

72 <div>Просмотр плагинов маркетплейса в <code>/plugin</code> теперь имеет строку поиска</div>

73 <div>Новый параметр <code>disableBundledSkills</code> и <code>CLAUDE\_CODE\_DISABLE\_BUNDLED\_SKILLS</code> скрывают встроенные skills, workflows и встроенные команды от модели</div>

74 <div>Правила отказа принимают glob в позиции имени инструмента, поэтому <code>"\*"</code> отказывает всем инструментам, и неизвестные имена инструментов в правилах отказа теперь предупреждают при запуске</div>

75 <div>Обмен сообщениями между сеансами усилен: сообщения, переданные через <code>SendMessage</code> из других сеансов, больше не несут полномочия пользователя, и автоматический режим их блокирует</div>

76 <div>Amazon Bedrock читает регион AWS из файлов конфигурации `~/.aws`, когда <code>AWS\_REGION</code> не установлен, и `/status` показывает, откуда взялся регион</div>

77 <div>Новый управляемый параметр <code>enforceAvailableModels</code> делает список разрешений <code>availableModels</code> также ограничивающим модель по умолчанию</div>

78 <div>Claude в инструментах браузера Chrome теперь загружаются в одном пакетном вызове вместо одного на инструмент</div>

79 <div><code>claude update</code> объявляет целевую версию перед загрузкой вместо молчания</div>

80 <div>Новый параметр <code>footerLinksRegexes</code> добавляет значки ссылок, соответствующие регулярному выражению, в строку нижнего колонтитула</div>

81 </div>

82</div>

83 

84[Полный журнал изменений для v2.1.166–v2.1.176 →](/ru/changelog#2-1-166)

workflows.md +3 −1

Details

9{/* plan-availability: feature=workflows plans=pro,max,team,enterprise providers=all */}9{/* plan-availability: feature=workflows plans=pro,max,team,enterprise providers=all */}

10 10 

11<Note>11<Note>

12 Dynamic workflows находятся в исследовательском превью. Они требуют Claude Code v2.1.154 или позже и доступны на всех платных планах, с доступом к Anthropic API, а также на Amazon Bedrock, Google Cloud Vertex AI и Microsoft Foundry. На Pro включите их из строки Dynamic workflows в `/config`.12 Dynamic workflows требуют Claude Code v2.1.154 или позже и доступны на всех платных планах, с доступом к Anthropic API, а также на Amazon Bedrock, Google Cloud Vertex AI и Microsoft Foundry. На Pro включите их из строки Dynamic workflows в `/config`.

13</Note>13</Note>

14 14 

15Dynamic workflow — это JavaScript-скрипт, который оркестрирует [подагентов](/ru/sub-agents) в масштабе. Claude пишет скрипт для описанной вами задачи, а runtime выполняет его в фоне, пока ваша сессия остаётся отзывчивой.15Dynamic workflow — это JavaScript-скрипт, который оркестрирует [подагентов](/ru/sub-agents) в масштабе. Claude пишет скрипт для описанной вами задачи, а runtime выполняет его в фоне, пока ваша сессия остаётся отзывчивой.


198 198 

199Нажмите Enter для сохранения. Workflow запускается как `/<name>` в будущих сессиях из любого места.199Нажмите Enter для сохранения. Workflow запускается как `/<name>` в будущих сессиях из любого места.

200 200 

201{/* min-version: 2.1.178 */}Начиная с версии 2.1.178, сохранение в местоположение проекта записывает в ближайший каталог `.claude/workflows/`, который уже существует между вашей рабочей директорией и корнем репозитория, или в корень репозитория, если ни один ещё не существует. Workflows проекта также загружаются из каждого `.claude/workflows/` вдоль этого пути, и когда более одного определяет одно имя, Claude Code запускает тот, который ближе всего к рабочей директории.

202 

201Если project workflow и personal workflow имеют одно имя, запускается project.203Если project workflow и personal workflow имеют одно имя, запускается project.

202 204 

203<h3 id="pass-input-to-a-saved-workflow">205<h3 id="pass-input-to-a-saved-workflow">

worktrees.md +4 −2

Details

36 36 

37Вы также можете попросить Claude "работать в worktree" во время сеанса, и он создаст один с помощью инструмента [`EnterWorktree`](/ru/tools-reference). После входа в worktree Claude может переключиться непосредственно на другой worktree в `.claude/worktrees/`, вызвав `EnterWorktree` с целевым путём. Предыдущий worktree остаётся на диске нетронутым.37Вы также можете попросить Claude "работать в worktree" во время сеанса, и он создаст один с помощью инструмента [`EnterWorktree`](/ru/tools-reference). После входа в worktree Claude может переключиться непосредственно на другой worktree в `.claude/worktrees/`, вызвав `EnterWorktree` с целевым путём. Предыдущий worktree остаётся на диске нетронутым.

38 38 

39Перед использованием `--worktree` в каталоге в первый раз примите диалог доверия рабочей области, запустив `claude` один раз в этом каталоге. Если доверие ещё не было принято, `--worktree` завершится с ошибкой и предложит вам сначала запустить `claude` в каталоге, включая случаи, когда это объединено с `-p`.39Перед использованием `--worktree` интерактивно в каталоге в первый раз примите диалог доверия рабочей области, запустив `claude` один раз в этом каталоге. Если доверие ещё не было принято, `--worktree` завершится с ошибкой и предложит вам сначала запустить `claude` в каталоге. Неинтерактивные запуски с `-p` пропускают [проверку доверия](/ru/security), поэтому `claude -p --worktree` продолжает работу без неё.

40 40 

41<Tip>41<Tip>

42 Добавьте `.claude/worktrees/` в ваш `.gitignore`, чтобы содержимое worktree не отображалось как неотслеживаемые файлы в вашей основной копии.42 Добавьте `.claude/worktrees/` в ваш `.gitignore`, чтобы содержимое worktree не отображалось как неотслеживаемые файлы в вашей основной копии.


102 102 

103Worktrees, которые Claude создал для subagents и [фоновых сеансов](/ru/agent-view#how-file-edits-are-isolated), удаляются автоматически, как только они становятся старше вашего параметра [`cleanupPeriodDays`](/ru/settings#available-settings), при условии, что они не имеют неотправленных изменений, неотслеживаемых файлов и неотправленных коммитов. Worktrees, которые вы создаёте с помощью `--worktree`, никогда не удаляются этой очисткой.103Worktrees, которые Claude создал для subagents и [фоновых сеансов](/ru/agent-view#how-file-edits-are-isolated), удаляются автоматически, как только они становятся старше вашего параметра [`cleanupPeriodDays`](/ru/settings#available-settings), при условии, что они не имеют неотправленных изменений, неотслеживаемых файлов и неотправленных коммитов. Worktrees, которые вы создаёте с помощью `--worktree`, никогда не удаляются этой очисткой.

104 104 

105Пока агент работает, Claude запускает `git worktree lock` на его worktree, чтобы одновременная очистка не могла его удалить. Блокировка снимается, когда агент завершает работу. Чтобы очистить worktree, который очистка сохраняет, запустите `git worktree remove`, добавив `--force`, если worktree содержит неотправленные изменения или неотслеживаемые файлы.

106 

105<h2 id="manage-worktrees-manually">107<h2 id="manage-worktrees-manually">

106 Управляйте worktrees вручную108 Управляйте worktrees вручную

107</h2>109</h2>


144 Не-git системы контроля версий146 Не-git системы контроля версий

145</h2>147</h2>

146 148 

147Изоляция worktree использует git по умолчанию. Для SVN, Perforce, Mercurial или других систем настройте hooks [`WorktreeCreate` и `WorktreeRemove`](/ru/hooks#worktreecreate), чтобы предоставить пользовательскую логику создания и очистки. Поскольку hook заменяет поведение git по умолчанию, [`.worktreeinclude`](#copy-gitignored-files-into-worktrees) не обрабатывается при использовании `--worktree`. Скопируйте любые локальные файлы конфигурации внутри вашего скрипта hook вместо этого.149Изоляция worktrees использует git по умолчанию. Для SVN, Perforce, Mercurial или других систем настройте hooks [`WorktreeCreate` и `WorktreeRemove`](/ru/hooks#worktreecreate), чтобы предоставить пользовательскую логику создания и очистки. Поскольку hook заменяет поведение git по умолчанию, [`.worktreeinclude`](#copy-gitignored-files-into-worktrees) не обрабатывается при использовании `--worktree`. Скопируйте любые локальные файлы конфигурации внутри вашего скрипта hook вместо этого.

148 150 

149Этот hook `WorktreeCreate` читает имя worktree из stdin, проверяет свежую рабочую копию SVN и выводит путь каталога, чтобы Claude Code мог использовать его как рабочий каталог сеанса:151Этот hook `WorktreeCreate` читает имя worktree из stdin, проверяет свежую рабочую копию SVN и выводит путь каталога, чтобы Claude Code мог использовать его как рабочий каталог сеанса:

150 152 

Details

4 4 

5# Нулевое хранение данных5# Нулевое хранение данных

6 6 

7> Узнайте о нулевом хранении данных (ZDR) для Claude Code на Claude for Enterprise, включая область применения, отключенные функции и способы запроса активации.7> Узнайте о нулевом хранении данных (ZDR) для Claude Code, доступном для квалифицированных учетных записей на Claude for Enterprise, включая область применения, отключенные функции и способы запроса активации.

8 8 

9Нулевое хранение данных (ZDR) доступно для Claude Code при использовании через Claude for Enterprise. Когда ZDR включен, запросы и ответы модели, созданные во время сеансов Claude Code, обрабатываются в реальном времени и не сохраняются Anthropic после возврата ответа, за исключением случаев, когда это необходимо для соответствия закону или борьбы со злоупотреблениями.9Нулевое хранение данных (ZDR) для Claude Code доступно для квалифицированных учетных записей на Claude for Enterprise. Когда ZDR включен, запросы и ответы модели, созданные во время сеансов Claude Code, обрабатываются в реальном времени и не сохраняются Anthropic после возврата ответа, за исключением случаев, когда это необходимо для соответствия закону или борьбы со злоупотреблениями.

10 

11<Note>

12 ZDR не включен в стандартный план Claude for Enterprise и не может быть включен из параметров администратора. Он доступен для квалифицированных учетных записей и требует отдельной активации от Anthropic. Если ваша организация требует ZDR, [свяжитесь с отделом продаж](https://www.anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=zero_data_retention_request) или с вашей командой учетных записей Anthropic, чтобы подтвердить соответствие требованиям.

13</Note>

10 14 

11ZDR на Claude for Enterprise дает корпоративным клиентам возможность использовать Claude Code с нулевым хранением данных и получать доступ к административным возможностям:15ZDR на Claude for Enterprise дает корпоративным клиентам возможность использовать Claude Code с нулевым хранением данных и получать доступ к административным возможностям:

12 16 


31 Что охватывает ZDR35 Что охватывает ZDR

32</h3>36</h3>

33 37 

34ZDR охватывает вызовы вывода модели, сделанные через Claude Code на Claude for Enterprise. Когда вы используете Claude Code в своем терминале, отправляемые вами запросы и ответы, которые генерирует Claude, не сохраняются Anthropic. Это применяется независимо от того, какая модель Claude используется.38ZDR охватывает вызовы вывода модели, сделанные через Claude Code на Claude for Enterprise. Когда вы используете Claude Code в своем терминале, отправляемые вами запросы и ответы, которые генерирует Claude, не сохраняются Anthropic. Это применяется ко всем моделям, доступным организациям ZDR. Некоторые модели требуют хранения данных и недоступны в рамках ZDR; см. [Доступность моделей в рамках ZDR](#model-availability-under-zdr).

35 39 

36<h3 id="what-zdr-does-not-cover">40<h3 id="what-zdr-does-not-cover">

37 Что не охватывает ZDR41 Что не охватывает ZDR


54Когда ZDR включен для организации Claude Code на Claude for Enterprise, определенные функции, которые требуют сохранения запросов или завершений, автоматически отключаются на уровне бэкенда:58Когда ZDR включен для организации Claude Code на Claude for Enterprise, определенные функции, которые требуют сохранения запросов или завершений, автоматически отключаются на уровне бэкенда:

55 59 

56| Функция | Причина |60| Функция | Причина |

57| --------------------------------------------------------------------- | ------------------------------------------------------------------------ |61| -------------------------------------------------------------------- | ------------------------------------------------------------------------ |

58| [Claude Code в веб-версии](/ru/claude-code-on-the-web) | Требует серверного хранилища истории беседы. |62| [Claude Code в веб-версии](/ru/claude-code-on-the-web) | Требует серверного хранилища истории беседы. |

59| [Удаленные сеансы](/ru/desktop#remote-sessions) из приложения Desktop | Требует постоянных данных сеанса, которые включают запросы и завершения. |63| [Удаленные сеансы](/ru/desktop#cloud-sessions) из приложения Desktop | Требует постоянных данных сеанса, которые включают запросы и завершения. |

60| Отправка отзыва (`/feedback`) | Отправка отзыва отправляет данные беседы в Anthropic. |64| Отправка отзыва (`/feedback`) | Отправка отзыва отправляет данные беседы в Anthropic. |

61 65 

62Эти функции блокируются на бэкенде независимо от отображения на стороне клиента. Если вы видите отключенную функцию в терминале Claude Code при запуске, попытка использовать ее возвращает ошибку, указывающую на то, что политики организации не позволяют это действие.66Эти функции блокируются на бэкенде независимо от отображения на стороне клиента. Если вы видите отключенную функцию в терминале Claude Code при запуске, попытка использовать ее возвращает ошибку, указывающую на то, что политики организации не позволяют это действие.

63 67 

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

65 69 

70<h3 id="model-availability-under-zdr">

71 Доступность моделей под ZDR

72</h3>

73 

74Claude Fable 5 недоступна для организаций с включенным нулевым сохранением данных. Этот класс моделей [требует сохранения данных](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements), поэтому запросы от организаций с ZDR не могут быть обработаны ею. Модель либо отсутствует в средстве выбора `/model` для организаций с ZDR, либо отображается как отключенная с уведомлением о том, что требуется отключение ZDR, и сервер отклоняет запросы для нее независимо от конфигурации клиента.

75 

76Другие модели остаются доступными под ZDR. Fable 5 не является моделью по умолчанию, и псевдоним `best`, который разрешается в Fable 5, где он доступен, разрешается в Opus для организаций, где он недоступен, включая организации с ZDR.

77 

66<h2 id="data-retention-for-policy-violations">78<h2 id="data-retention-for-policy-violations">

67 Хранение данных при нарушении политики79 Хранение данных при нарушении политики

68</h2>80</h2>