SpyBara
Go Premium

Documentation 2026-09-17 05:00 UTC to 2026-09-18 23:58 UTC

129 files changed +6,009 −2,540. View all changes and history on the product overview
2026
Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02

accessibility.md +63 −57

Details

6 6 

7> Настройте Claude Code для программ чтения с экрана, таких как VoiceOver и NVDA, а также параметры для увеличения экрана, уменьшения движения и тем, удобных для дальтоников.7> Настройте Claude Code для программ чтения с экрана, таких как VoiceOver и NVDA, а также параметры для увеличения экрана, уменьшения движения и тем, удобных для дальтоников.

8 8 

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

10 10 

11Режим программы чтения с экрана является дополнительным. Если вы используете увеличитель экрана, уменьшение движения или тему, удобную для дальтоников, вместо программы чтения с экрана, см. [Параметры доступности за пределами режима программы чтения с экрана](#accessibility-settings-beyond-screen-reader-mode).11Режим программы чтения с экрана является дополнительным. Если вы используете увеличитель экрана, уменьшение движения или тему, удобную для дальтоников, вместо программы чтения с экрана, установите `CLAUDE_CODE_ACCESSIBILITY`, `prefersReducedMotion` или `theme` из таблицы [Параметры доступности](#accessibility-settings). Режим программы чтения с экрана адаптирует только интерфейс терминала, поэтому вам не нужен он в панели чата расширения VS Code. В Claude Code v2.1.236 или более поздней версии расширение [объявляет активность диалога вашей программе чтения с экрана](/docs/ru/vs-code#use-a-screen-reader) там без каких-либо параметров.

12 

13<Note>

14 Режим программы чтения с экрана требует Claude Code v2.1.181 или более поздней версии. Более ранние версии отклоняют флаг `--ax-screen-reader` с ошибкой `error: unknown option '--ax-screen-reader'`.

15</Note>

16 12 

17<h2 id="turn-on-screen-reader-mode">13<h2 id="turn-on-screen-reader-mode">

18 Включение режима программы чтения с экрана14 Включение режима программы чтения с экрана


21Выберите метод, который соответствует тому, как часто вы используете программу чтения с экрана:17Выберите метод, который соответствует тому, как часто вы используете программу чтения с экрана:

22 18 

23* Для одного сеанса: запустите `claude --ax-screen-reader`.19* Для одного сеанса: запустите `claude --ax-screen-reader`.

24* Для сеансов, запущенных из одной оболочки: установите переменную окружения `CLAUDE_AX_SCREEN_READER` на `1`. В Bash или Zsh запустите `export CLAUDE_AX_SCREEN_READER=1`; в PowerShell запустите `$env:CLAUDE_AX_SCREEN_READER = "1"`. Добавьте строку в профиль оболочки, чтобы охватить каждую оболочку.20* Для сеансов, запущенных из одной оболочки: установите переменную окружения `CLAUDE_AX_SCREEN_READER` на `1`. В Bash или Zsh запустите `export CLAUDE_AX_SCREEN_READER=1`. В PowerShell запустите `$env:CLAUDE_AX_SCREEN_READER = "1"`. Добавьте эту строку в профиль оболочки, чтобы сохранить её для будущих оболочек.

25* Для каждого сеанса на машине: добавьте `"axScreenReader": true` в ваш пользовательский [файл параметров](/docs/ru/settings). Это охватывает любой терминал, включая интегрированный терминал VS Code.21* Для каждого сеанса на машине: добавьте `"axScreenReader": true` в ваш пользовательский [файл параметров](/docs/ru/settings). Параметр применяется в любом терминале, включая интегрированный терминал VS Code.

26 22 

27<Note>23Если вы комбинируете методы, Claude Code применяет флаг [`--ax-screen-reader`](/docs/ru/cli-reference#cli-flags) над переменной окружения [`CLAUDE_AX_SCREEN_READER`](/docs/ru/env-vars#variables), и переменную над параметром [`axScreenReader`](/docs/ru/settings-reference#axscreenreader).

28 Методы перечислены в порядке приоритета: флаг [`--ax-screen-reader`](/docs/ru/cli-reference#cli-flags) переопределяет переменную окружения [`CLAUDE_AX_SCREEN_READER`](/docs/ru/env-vars), которая переопределяет параметр [`axScreenReader`](/docs/ru/settings#available-settings).

29</Note>

30 24 

31Если вы используете Claude Code через SSH, установите переменную окружения или параметр на удаленной машине, где работает Claude Code.25Если вы используете Claude Code через SSH, установите переменную окружения или параметр на удаленной машине, где работает Claude Code.

32 26 

33Когда режим включен, первое, что выводит Claude Code, это строка подтверждения, называющая метод, который его включил: `[Screen Reader Mode: on via flag]`, `[Screen Reader Mode: on via env]` или `[Screen Reader Mode: on via settings]`. Формат именования метода требует Claude Code v2.1.206 или более поздней версии. Когда Claude Code перезапускается, например для завершения установки обновления, новый процесс наследует режим через переменную окружения `CLAUDE_AX_SCREEN_READER`, поэтому его строка подтверждения читается как `[Screen Reader Mode: on via env]` независимо от того, какой метод вы использовали.27Первая строка, которую выводит Claude Code, подтверждает режим: `[Screen Reader Mode: on via flag]`, `[Screen Reader Mode: on via env]` или `[Screen Reader Mode: on via settings]`.

34Более ранние версии выводят `[Accessible screen reader mode: on]`.

35 28 

36<h2 id="turn-off-screen-reader-mode">29<h2 id="turn-off-screen-reader-mode">

37 Отключение режима программы чтения с экрана30 Отключение режима программы чтения с экрана

38</h2>31</h2>

39 32 

40Отмените любой метод, который включил режим: запустите без флага, отмените установку переменной окружения или установите `axScreenReader` на `false`. Установка `CLAUDE_AX_SCREEN_READER=0` сохраняет режим отключенным даже когда параметр имеет значение `true`.33Отмените любой метод, который включил режим: запустите без флага, отмените установку переменной окружения или установите `axScreenReader` на `false`. Если вы установите `CLAUDE_AX_SCREEN_READER` на `0`, Claude Code сохраняет режим отключенным даже когда параметр имеет значение `true`.

34 

35<h2 id="accessibility-settings">

36 Параметры доступности

37</h2>

38 

39Таблица перечисляет каждый параметр доступности, устанавливаете ли вы его как флаг, переменную окружения или параметр, и что он изменяет.

40 

41| Параметр | Тип | Что он изменяет |

42| :---------------------------------------------------------------------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

43| [`--ax-screen-reader`](/docs/ru/cli-reference#cli-flags) | Флаг | Режим программы чтения с экрана для одного сеанса. |

44| [`CLAUDE_AX_SCREEN_READER`](/docs/ru/env-vars#variables) | Переменная окружения | Режим программы чтения с экрана для сеансов, запущенных из оболочки, где вы его установили. |

45| [`axScreenReader`](/docs/ru/settings-reference#axscreenreader) | Параметр | Режим программы чтения с экрана для каждого сеанса, когда `true`. |

46| [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/ru/env-vars#variables) | Переменная окружения | Как долго Claude Code ждёт после строки подтверждения перед тем, как нарисовать первую подсказку в режиме программы чтения с экрана. Требует Claude Code v2.1.217 или более поздней версии. |

47| [`CLAUDE_AX_PREPARK_MS`](/docs/ru/env-vars#variables) | Переменная окружения | Как долго Claude Code ждёт, с курсором в начале строки, перед тем, как написать новую или изменённую строку в режиме программы чтения с экрана. Требует Claude Code v2.1.233 или более поздней версии. |

48| [`CLAUDE_CODE_ACCESSIBILITY`](/docs/ru/env-vars#variables) | Переменная окружения | Курсор терминала, который остаётся видимым для увеличителей экрана, таких как macOS Zoom, когда вы установите его на `1`. Курсор следует за кареткой ввода и, в Claude Code v2.1.218 или более поздней версии, за выделённой строкой в меню и панелях, таких как `/config` и `/plugin`. |

49| [`prefersReducedMotion`](/docs/ru/settings-reference#prefersreducedmotion) | Параметр | Уменьшенные или отсутствующие спиннеры, мерцание и другие анимации, когда `true`. |

50| [`theme`](/docs/ru/settings-reference#theme) | Параметр | Цвета интерфейса, включая удобные для дальтоников темы `dark-daltonized` и `light-daltonized`. Вы также можете выбрать одну с помощью [`/theme`](/docs/ru/commands#all-commands). |

51| [`preferredNotifChannel`](/docs/ru/settings-reference#preferrednotifchannel) | Параметр | С значением `"terminal_bell"`, звонок терминала вне режима программы чтения с экрана, когда Claude ждёт вас. |

41 52 

42<h2 id="what-your-screen-reader-hears">53<h2 id="what-your-screen-reader-hears">

43 Что слышит ваша программа чтения с экрана54 Что слышит ваша программа чтения с экрана


45 56 

46В режиме программы чтения с экрана Claude Code выводит плоский текст:57В режиме программы чтения с экрана Claude Code выводит плоский текст:

47 58 

48* нет символов рисования прямоугольников для интерфейса59* Нет символов рисования прямоугольников для интерфейса

49* нет подсказок только по цвету60* Нет подсказок только по цвету

50* нет перерисовок содержимого, которое не изменилось; спиннеры прогресса отображаются как статический текст61* Нет перерисовок содержимого, которое не изменилось. Спиннеры прогресса отображаются как статический текст

51* таблицы в ответах Claude читаются как предложения `Header: value` вместо сетки с символами прямоугольников. Требует Claude Code v2.1.198 или более поздней версии; более ранние версии рисуют таблицы как сетки даже в режиме программы чтения с экрана.62* Таблицы в ответах Claude читаются как предложения `Header: value` вместо сетки с символами рисования прямоугольников

52 63 

53Результаты накапливаются в буфере прокрутки вашего терминала, поэтому вы можете перечитать более ранние ходы с помощью команд просмотра вашей программы чтения с экрана или поиска вашего терминала.64Claude Code оставляет всё, что он выводит, в буфере прокрутки вашего терминала, поэтому вы можете перечитать более ранние ходы с помощью команд просмотра вашей программы чтения с экрана или поиска вашего терминала. Claude Code игнорирует параметр [`tui`](/docs/ru/settings-reference#tui) в режиме программы чтения с экрана. Кроме присоединённых фоновых сеансов, перечисленных в разделе [Известные ограничения](#known-limitations), он выводит прокручиваемый текст вместо [полноэкранного отображения](/docs/ru/fullscreen).

54 65 

55Режим программы чтения с экрана отображается как простой прокручиваемый текст, даже если вы включили [полноэкранный режим](/docs/ru/fullscreen) с помощью [параметра `tui`](/docs/ru/settings#available-settings); параметр не имеет эффекта, пока режим активен. Присоединенные фоновые сеансы по-прежнему отображаются в полноэкранном режиме; см. [Известные ограничения](#known-limitations).66Claude Code также ждёт в двух местах, чтобы ваша программа чтения с экрана могла поспеть:

56 67 

57Каждое сообщение в стенограмме начинается с метки, которую объявляет ваша программа чтения с экрана, называющей, что это: ваши сообщения, ответы Claude, активность инструментов, ошибки и подсказки. Метки также доступны для поиска, поэтому вы можете переходить между разделами стенограммы, выполняя поиск в буфере прокрутки вашего терминала:68* После того, как Claude Code выводит строку подтверждения, он ждёт 3 секунды перед тем, как нарисовать подсказку, чтобы ваша программа чтения с экрана могла закончить строку. Нажмите любую клавишу, чтобы завершить ожидание. Чтобы изменить длину ожидания, установите [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/ru/env-vars#variables).

69* Перед тем, как Claude Code напишет новую или изменённую строку, такую как подсказка или больше ответа Claude, он перемещает курсор в начало строки и ждёт 50 миллисекунд. Ваша программа чтения с экрана затем читает строку с её первого символа. Символы, которые вы вводите или удаляете в конце строки ввода, появляются немедленно. Чтобы изменить длину ожидания, установите [`CLAUDE_AX_PREPARK_MS`](/docs/ru/env-vars#variables).

70 

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

58 72 

59| Метка | Значение |73| Метка | Значение |

60| :--------------------- | :------------------------------------------------------------------------------------------------------- |74| :--------------------- | :------------------------------------------------------------------------------------------------------- |

61| `you:` | Ваши сообщения |75| `you:` | Ваши сообщения |

62| `claude:` | Ответы Claude |76| `claude:` | Ответы Claude |

77| `thinking:` | Размышления Claude |

63| `tool:` | Активность инструмента, такая как редактирование файла или запуск команды |78| `tool:` | Активность инструмента, такая как редактирование файла или запуск команды |

64| `tool error:` | Инструмент, который не удался |79| `tool error:` | Инструмент, который не удался |

65| `error:` | Ошибка в диалоге, такая как неудачный запрос API |80| `error:` | Ошибка в диалоге, такая как неудачный запрос API |

81| `warning:` | Предупреждение от Claude Code, такое как переключение на резервную модель |

66| `Permission Required:` | Подсказка разрешения, ожидающая вашего ответа |82| `Permission Required:` | Подсказка разрешения, ожидающая вашего ответа |

67| `Cost:` | Сводка стоимости сеанса при выходе Claude Code, если ваша учетная запись [показывает затраты](/docs/ru/costs) |83| `Cost:` | Сводка стоимости сеанса при выходе Claude Code, если ваша учётная запись [показывает затраты](/docs/ru/costs) |

84 

85Claude Code сохраняет курсор терминала на кареткой ввода, поэтому команда чтения текущей строки вашей программы чтения с экрана читает подсказку, которую вы редактируете.

86 

87Когда вы вводите текст в конце строки ввода, или нажимаете `Backspace` там, Claude Code выводит только символы, которые изменились. Ваша программа чтения с экрана повторяет только эти символы.

88 

89Когда вы удаляете слово или строку с помощью одного из [сочетаний клавиш редактирования текста](/docs/ru/interactive-mode#text-editing), Claude Code объявляет удалённый текст:

90 

91* Удаление слов с помощью `Ctrl+W` или `Alt+D`, или с помощью `Option+Delete` на macOS или `Ctrl+Backspace` на Windows

92* Удаление в начало строки с помощью `Ctrl+U` или `Cmd+Backspace`

93* Удаление в конец строки с помощью `Ctrl+K`

68 94 

69Курсор терминала следует за кареткой ввода, поэтому команда чтения текущей строки программы чтения с экрана отвечает на вопрос "где я" с подсказкой, которую вы редактируете.95Когда вы циклируете [режимы разрешения](/docs/ru/permission-modes) с помощью `Shift+Tab`, Claude Code объявляет режим разрешения, на который вы приземлились, такой как `[plan mode on]` или `[accept edits on]`. Claude Code выводит объявление один раз и не повторяет его при более поздних перерисовках.

70 96 

71<h3 id="jump-between-turns">97<h3 id="jump-between-turns">

72 Переход между ходами98 Переход между ходами


75Claude Code выводит маркеры интеграции оболочки OSC 133 на границах ходов, поэтому клавиша перехода к предыдущей подсказке вашего терминала перемещается между ходами без чтения всей стенограммы:101Claude Code выводит маркеры интеграции оболочки OSC 133 на границах ходов, поэтому клавиша перехода к предыдущей подсказке вашего терминала перемещается между ходами без чтения всей стенограммы:

76 102 

77* iTerm2: Cmd+Shift+Up103* iTerm2: Cmd+Shift+Up

78* Терминал VS Code: Ctrl+Up в Windows, Cmd+Up в macOS104* Терминал VS Code: Ctrl+Up на Windows, Cmd+Up на macOS

79* Windows Terminal: нет клавиши по умолчанию; привяжите действие `scrollToMark` в его параметрах105* Windows Terminal: нет клавиши по умолчанию; привяжите действие `scrollToMark` в его параметрах

80* Kitty и Ghostty: проверьте документацию терминала для его клавиши перехода к подсказке106* Kitty и Ghostty: проверьте документацию терминала для его клавиши перехода к подсказке

81 107 


85 Ответ на меню и подсказки111 Ответ на меню и подсказки

86</h2>112</h2>

87 113 

88В режиме программы чтения с экрана меню, которыми вы обычно навигируете с помощью клавиш со стрелками, включая подсказки разрешения, становятся нумерованными списками. Каждый вариант объявляется как нумерованная строка, за которой следует подсказка `Enter selection`, которая называет допустимый диапазон. Введите номер нужного варианта и нажмите Enter.114В режиме программы чтения с экрана меню, которыми вы обычно навигируете с помощью клавиш со стрелками, включая подсказки разрешения, становятся нумерованными списками. Claude Code объявляет каждый параметр как нумерованную строку, затем подсказку `Enter selection`, которая называет допустимый диапазон. Введите номер нужного параметра и нажмите Enter.

89 115 

90* Чтобы отменить отклоняемое меню: нажмите Escape. Его подсказка заканчивается на `or Escape to cancel`.116* Нажмите Escape, чтобы отменить меню, чья подсказка заканчивается на `or Escape to cancel`.

91* Если вы введете номер, которого нет в списке: Claude Code объявляет допустимый диапазон и позволяет вам попробовать снова.117* Если вы введёте номер, которого нет в списке, Claude Code объявляет допустимый диапазон и позволяет вам попробовать снова.

92 118 

93Подсказки да-или-нет запрашивают введенный ответ вместо меню с двумя вариантами. Ответьте `y` или `n` и нажмите Enter. `yes` и `no` также работают.119Селектор [`/effort`](/docs/ru/model-config#adjust-effort-level), который является ползунком вне режима программы чтения с экрана, становится тем же видом нумерованного списка.

120 

121Подсказки да-или-нет запрашивают введённый ответ вместо меню с двумя параметрами. Ответьте `y` или `n` и нажмите Enter. `yes` и `no` также работают.

94 122 

95<h2 id="hear-when-claude-code-needs-you">123<h2 id="hear-when-claude-code-needs-you">

96 Услышьте, когда Claude Code нуждается в вас124 Услышьте, когда Claude Code нуждается в вас


99В режиме программы чтения с экрана Claude Code звонит в звонок терминала, когда ему нужно ваше внимание, поэтому вам не нужно постоянно проверять стенограмму. Звонок звонит, когда:127В режиме программы чтения с экрана Claude Code звонит в звонок терминала, когда ему нужно ваше внимание, поэтому вам не нужно постоянно проверять стенограмму. Звонок звонит, когда:

100 128 

101* Claude завершает ответ129* Claude завершает ответ

102* появляется подсказка разрешения130* Подсказка или диалог нуждается в вашем ответе, такой как подсказка разрешения

103* инструмент, который работал дольше 5 секунд, завершается131* Инструмент, который работал дольше 5 секунд, завершается

104 

105Звонок - это стандартный сигнал тревоги вашего терминала. Чтобы отключить его, измените параметр звонка в приложении вашего терминала. Звонок не требует режима программы чтения с экрана: вне режима установите [`preferredNotifChannel`](/docs/ru/settings#available-settings) на `"terminal_bell"` для аналогичных оповещений, когда Claude ждет вас. См. [Получить звонок терминала или уведомление](/docs/ru/terminal-config#get-a-terminal-bell-or-notification).

106 

107<h2 id="accessibility-settings-beyond-screen-reader-mode">

108 Параметры доступности за пределами режима программы чтения с экрана

109</h2>

110 

111Эти параметры решают проблемы доступности вне режима программы чтения с экрана. Все они работают вместе с ним.

112 132 

113* Переменная окружения `CLAUDE_CODE_ACCESSIBILITY` [environment variable](/docs/ru/env-vars) предназначена для увеличителей экрана. Установите `CLAUDE_CODE_ACCESSIBILITY=1`, чтобы сохранить видимый собственный курсор терминала, чтобы увеличители, такие как macOS Zoom, могли отслеживать положение курсора.133Звонок - это стандартный сигнал тревоги вашего терминала. Чтобы отключить его, измените параметр звонка в приложении вашего терминала. Вне режима программы чтения с экрана установите [`preferredNotifChannel`](/docs/ru/settings-reference#preferrednotifchannel) на `"terminal_bell"`, чтобы получить [аналогичный звонок](/docs/ru/terminal-config#get-a-terminal-bell-or-notification), когда Claude ждёт вас.

114* Параметр `prefersReducedMotion` [setting](/docs/ru/settings#available-settings) уменьшает или отключает спиннеры, мерцание и другие анимации без изменения остальной части интерфейса.

115* Параметр `theme` [setting](/docs/ru/settings#available-settings) выбирает цвета интерфейса, включая удобные для дальтоников темы `dark-daltonized` и `light-daltonized`.

116 134 

117<h2 id="known-limitations">135<h2 id="known-limitations">

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


121Некоторые поведения не адаптированы для режима программы чтения с экрана:139Некоторые поведения не адаптированы для режима программы чтения с экрана:

122 140 

123* Режим программы чтения с экрана не включается автоматически при запуске программы чтения с экрана.141* Режим программы чтения с экрана не включается автоматически при запуске программы чтения с экрана.

124* Изменения режима, такие как вход в [режим плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode), еще не объявляются.142* Claude Code не объявляет изменение режима разрешения, сделанное любым способом, кроме циклирования с помощью `Shift+Tab`, такое как вход в [режим плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) из команды.

125* Присоединение к [фоновому сеансу](/docs/ru/agent-view) с помощью `claude attach` или из представления агента входит в альтернативный экран терминала, который не имеет собственного буфера прокрутки. Это [то же поведение, что и для других присоединенных сеансов](/docs/ru/fullscreen). Чтобы выйти, нажмите Left Arrow на пустой подсказке или Ctrl+Z, если диалог имеет фокус.143* Присоединение к [фоновому сеансу](/docs/ru/agent-view) с помощью `claude attach` или из представления агента входит в альтернативный экран терминала, который не имеет собственного буфера прокрутки. Это [то же поведение, что и для других присоединённых сеансов](/docs/ru/fullscreen). Чтобы выйти, нажмите Left Arrow на пустой подсказке или Ctrl+Z, если диалог имеет фокус.

126* Claude Code объявляет затраты в сводке, которую он выводит при выходе, а не за ход.144* Claude Code объявляет затраты в сводке, которую он выводит при выходе, а не за ход.

127* Режим программы чтения с экрана не изменяет [неинтерактивный режим](/docs/ru/headless) с флагом `-p`. Неинтерактивный режим уже выводит простой текст и остается альтернативой для написания скриптов.145* Режим программы чтения с экрана не изменяет [неинтерактивный режим](/docs/ru/headless) с флагом `-p`. Неинтерактивный режим уже выводит простой текст и остаётся альтернативой для написания скриптов.

128 146 

129<h2 id="report-an-issue">147<h2 id="report-an-issue">

130 Сообщить о проблеме148 Сообщить о проблеме

131</h2>149</h2>

132 150 

133Если что-то не работает с вашей программой чтения с экрана, увеличителем или терминалом, откройте проблему на [трекере проблем Claude Code](https://github.com/anthropics/claude-code/issues) и упомяните вашу вспомогательную технологию в заголовке. Включите вашу операционную систему, приложение терминала и имя и версию вспомогательной технологии в отчет.151Если что-то не работает с вашей программой чтения с экрана, увеличителем или терминалом, откройте проблему на [трекере проблем Claude Code](https://github.com/anthropics/claude-code/issues) и упомяните вашу вспомогательную технологию в заголовке. Включите вашу операционную систему, приложение терминала и имя и версию вспомогательной технологии в отчёт.

134 

135<h2 id="related-resources">

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

137</h2>

138 

139Эти страницы содержат полные справочные записи и связанную настройку для того, что охватывает эта страница:

140 

141* [Settings](/docs/ru/settings#available-settings): записи `axScreenReader`, `prefersReducedMotion`, `theme` и `preferredNotifChannel`

142* [Environment variables](/docs/ru/env-vars): записи `CLAUDE_AX_SCREEN_READER` и `CLAUDE_CODE_ACCESSIBILITY`

143* [CLI reference](/docs/ru/cli-reference#cli-flags): флаг `--ax-screen-reader`

144* [Terminal configuration](/docs/ru/terminal-config): звонки, уведомления и темы вне режима программы чтения с экрана

145* [Non-interactive mode](/docs/ru/headless): написанные скриптом запуски `claude -p`, которые выводят простой текст без режима программы чтения с экрана

admin-setup.md +76 −59

Details

16 16 

17| Решение | Что вы выбираете | Справка |17| Решение | Что вы выбираете | Справка |

18| :------------------------------------------------------------------------------ | :-------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |18| :------------------------------------------------------------------------------ | :-------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

19| [Выберите поставщика API](#choose-your-api-provider) | Где Claude Code аутентифицируется и как это выставляется счетом | [Authentication](/ru/authentication), [Amazon Bedrock](/ru/amazon-bedrock), [Google Cloud's Agent Platform](/ru/google-vertex-ai), [Microsoft Foundry](/ru/microsoft-foundry) |19| [Выберите поставщика API](#choose-your-api-provider) | Где Claude Code аутентифицируется и как это выставляется счетом | [Authentication](/docs/ru/authentication), [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) |

20| [Решите, как параметры достигают устройств](#decide-how-settings-reach-devices) | Как управляемая политика достигает машин разработчиков | [Server-managed settings](/ru/server-managed-settings), [Settings files](/ru/settings#settings-files) |20| [Решите, как параметры достигают устройств](#decide-how-settings-reach-devices) | Как управляемая политика достигает машин разработчиков | [Server-managed settings](/docs/ru/server-managed-settings), [Delivery mechanisms](/docs/ru/managed-settings#delivery-mechanisms) |

21| [Решите, что принудительно применять](#decide-what-to-enforce) | Какие инструменты, команды и интеграции разрешены | [Permissions](/ru/permissions), [Sandboxing](/ru/sandboxing) |21| [Решите, что принудительно применять](#decide-what-to-enforce) | Какие инструменты, команды и интеграции разрешены | [Permissions](/docs/ru/permissions), [Sandboxing](/docs/ru/sandboxing) |

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

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

24 24 

25<h2 id="choose-your-api-provider">25<h2 id="choose-your-api-provider">

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


36| Google Cloud's Agent Platform | Вы хотите наследовать существующие элементы управления соответствием GCP и выставление счетов |36| Google Cloud's Agent Platform | Вы хотите наследовать существующие элементы управления соответствием GCP и выставление счетов |

37| Microsoft Foundry | Вы хотите наследовать существующие элементы управления соответствием Azure и выставление счетов |37| Microsoft Foundry | Вы хотите наследовать существующие элементы управления соответствием Azure и выставление счетов |

38 38 

39Некоторые функции Claude Code требуют учетной записи claude.ai. [Claude Code on the web](/ru/claude-code-on-the-web), [Routines](/ru/routines), [Code Review](/ru/code-review), [Remote Control](/ru/remote-control) и [Chrome extension](/ru/chrome) недоступны только через ключи Console API или учетные данные поставщика облачных услуг. Если вы развертываете через Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, спланируйте, нужны ли разработчикам также места Claude for Teams или Enterprise. На каждой странице функции указаны требования к плану.39Некоторые функции Claude Code требуют учетной записи claude.ai. [Cloud sessions](/docs/ru/claude-code-on-the-web), [Routines](/docs/ru/routines), [Code Review](/docs/ru/code-review), [Remote Control](/docs/ru/remote-control) и [Chrome extension](/docs/ru/chrome) недоступны только через ключи Console API или учетные данные поставщика облачных услуг. Если вы развертываете через Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, спланируйте, нужны ли разработчикам также места Claude for Teams или Enterprise. На каждой странице функции указаны требования к плану.

40 40 

41Для полного сравнения поставщиков, охватывающего аутентификацию, регионы и паритет функций, см. [обзор развертывания предприятия](/ru/third-party-integrations). Настройка аутентификации каждого поставщика находится в [Authentication](/ru/authentication).41Для полного сравнения поставщиков, охватывающего аутентификацию, регионы и паритет функций, см. [обзор развертывания предприятия](/docs/ru/third-party-integrations). Настройка аутентификации каждого поставщика находится в [Authentication](/docs/ru/authentication).

42 42 

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

44 44 

45<h2 id="decide-how-settings-reach-devices">45<h2 id="decide-how-settings-reach-devices">

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

47</h2>47</h2>

48 48 

49Управляемые параметры определяют политику, которая имеет приоритет над локальной конфигурацией разработчика. Claude Code проверяет четыре источника ниже в порядке приоритета и применяет первый, который возвращает непустую конфигурацию, с одним исключением: небольшой набор [ключей блокировки между источниками](/ru/settings#settings-precedence), таких как блокировки списка разрешений sandbox, соблюдается, когда любой управляемый администратором источник их устанавливает.49Управляемые параметры определяют политику организации. Claude Code проверяет четыре источника в таблице ниже в порядке приоритета. [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#precedence-within-the-managed-tier) указывает, какие из них применяются, что изменяет помощник политики и как составить каждый источник. Таблица — это карта решений.

50 50 

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

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

53| Server-managed | Консоль администратора claude.ai или самостоятельно размещенный [Claude apps gateway](/ru/claude-apps-gateway) для входов через gateway | Наивысший | Все |53| Server-managed | Консоль администратора claude.ai или самостоятельно размещенный [Claude apps gateway](/docs/ru/claude-apps-gateway) для входов через gateway | Наивысший | Все |

54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Высокий | macOS, Windows |54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Высокий | macOS, Windows |

55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux и WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Средний | Все |55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux и WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Средний | Все |

56| Windows user registry | `HKCU\SOFTWARE\Policies\ClaudeCode` | Наименьший | Только Windows |56| Windows user registry | `HKCU\SOFTWARE\Policies\ClaudeCode` | Наименьший | Только Windows |

57 57 

58Настроенный [`policyHelper`](/ru/settings#compute-managed-settings-with-a-policy-helper) имеет приоритет над всеми четырьмя источниками: его вывод становится единственной управляемой конфигурацией для запуска. См. [Settings precedence](/ru/settings#settings-precedence).58Claude Code получает параметры, управляемые сервером, при запуске и обновляет их каждый час во время сеанса, без необходимости развертывания инфраструктуры конечной точки. Доставка через консоль администратора claude.ai требует плана Claude for Teams или Enterprise. Развертывания на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry могут получить ту же удаленную доставку, запустив [Claude apps gateway](/docs/ru/claude-apps-gateway), или вместо этого использовать один из механизмов на основе файлов или уровня ОС.

59 59 

60Server-managed параметры достигают устройств во время аутентификации и обновляются каждый час во время активных сеансов без инфраструктуры конечной точки. Доставка через консоль администратора claude.ai требует плана Claude for Teams или Enterprise. Развертывания на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry могут получить ту же удаленную доставку, запустив [Claude apps gateway](/ru/claude-apps-gateway), или вместо этого использовать один из механизмов на основе файлов или уровня ОС.60Если ваша организация использует несколько поставщиков, настройте [параметры, управляемые сервером](/docs/ru/server-managed-settings) для пользователей claude.ai плюс [резервный вариант на основе файлов или plist/registry](/docs/ru/managed-settings#delivery-mechanisms), чтобы другие пользователи по-прежнему получали управляемую политику.

61 

62Если ваша организация смешивает поставщиков, настройте [server-managed settings](/ru/server-managed-settings) для пользователей claude.ai плюс [резервный вариант на основе файлов или plist/registry](/ru/settings#settings-files), чтобы другие пользователи по-прежнему получали управляемую политику.

63 61 

64Расположения plist и HKLM registry работают с любым поставщиком и устойчивы к несанкционированному доступу, потому что требуют привилегий администратора для записи. Реестр пользователя Windows в HKCU доступен для записи без повышения прав, поэтому рассматривайте его как удобный вариант по умолчанию, а не как канал принудительного применения.62Расположения plist и HKLM registry работают с любым поставщиком и устойчивы к несанкционированному доступу, потому что требуют привилегий администратора для записи. Реестр пользователя Windows в HKCU доступен для записи без повышения прав, поэтому рассматривайте его как удобный вариант по умолчанию, а не как канал принудительного применения.

65 63 

66По умолчанию WSL читает только путь Linux в `/etc/claude-code`. Чтобы расширить вашу политику реестра Windows и `C:\Program Files\ClaudeCode` на WSL на одной машине, установите [`wslInheritsWindowsSettings: true`](/ru/settings#available-settings) в одном из этих источников, доступных только администратору Windows.64По умолчанию WSL читает только путь Linux в `/etc/claude-code`. Чтобы расширить вашу политику реестра Windows и `C:\Program Files\ClaudeCode` на WSL на одной машине, установите [`wslInheritsWindowsSettings: true`](/docs/ru/settings-reference#wslinheritswindowssettings) в одном из этих источников, доступных только администратору Windows.

67 

68Какой бы механизм вы ни выбрали, управляемые значения имеют приоритет над параметрами пользователя и проекта. Параметры массива, такие как `permissions.allow` и `permissions.deny`, объединяют записи из всех источников, поэтому разработчики могут расширять управляемые списки, но не удалять из них. Для [двух исключений](/ru/settings#settings-precedence), `fallbackModel` и `availableModels`, управляемое значение заменяет нижние слои, а не объединяется.

69 65 

70См. [Server-managed settings](/ru/server-managed-settings) и [Settings files and precedence](/ru/settings#settings-files).66Какой бы механизм вы ни выбрали, управляемые значения имеют приоритет над параметрами пользователя и проекта, за исключением нескольких чувствительных к безопасности [исключений](/docs/ru/settings#exceptions-to-managed-settings-precedence). Параметры массива, такие как `permissions.allow` и `permissions.deny`, объединяют записи из всех источников, поэтому разработчики могут расширять управляемые списки, но не удалять из них. Для `fallbackModel`, `availableModels` и [`modelPicker`](/docs/ru/settings-reference#modelpicker), управляемое значение заменяет нижние слои, а не объединяется.

71 67 

72<h3 id="wsl-sessions-in-claude-code-desktop">68<h3 id="wsl-sessions-in-claude-code-desktop">

73 WSL сеансы в Claude Code Desktop69 WSL сеансы в Claude Code Desktop

74</h3>70</h3>

75 71 

76На Windows [Claude Code Desktop может запускать сеансы Code внутри распределения WSL 2](/ru/desktop-wsl). Процесс Claude Code сеанса работает внутри распределения, поэтому он разрешает управляемые параметры через путь обнаружения WSL выше: источники, доступные только Windows, не достигают его, если `wslInheritsWindowsSettings: true` не развернут.72На Windows [Claude Code Desktop может запускать сеансы Code внутри распределения WSL 2](/docs/ru/desktop-wsl). Процесс Claude Code сеанса работает внутри распределения, поэтому он разрешает управляемые параметры через путь обнаружения WSL выше: источники, доступные только Windows, не достигают его, если `wslInheritsWindowsSettings: true` не развернут.

73 

74Claude Desktop отключает сеансы WSL по умолчанию на устройствах, которые он определяет как управляемые организацией, например когда существует `C:\Program Files\ClaudeCode\managed-settings.json`. Чтобы включить их, разверните политику реестра Windows, для которой требуется Claude Desktop v1.19367.0 или более поздняя версия:

75 

76* Создайте значение с именем `disableWslSessions` под `HKLM\SOFTWARE\Policies\Claude` и установите его на строку `REG_SZ` `false` или `REG_DWORD` `0`. Это значение находится под ключом политики Claude Desktop, отдельно от ключа `ClaudeCode`, который содержит управляемые параметры. Разверните значение под HKLM, что требует привилегий администратора для записи. Значение под HKCU не включает сеансы WSL.

77* Оставьте `C:\Program Files\ClaudeCode\managed-settings.json` на месте, если вы его развертываете. После того как `disableWslSessions` установлен на `false` под HKLM, Desktop разрешает сеансы WSL, даже если этот файл присутствует.

77 78 

78На устройствах, где присутствуют управляемые параметры, сеансы Desktop WSL недоступны по умолчанию. Если ваша организация хочет их включить, свяжитесь с командой вашего аккаунта Anthropic. Когда они включены:79Desktop читает политику каждый раз, когда начинается сеанс WSL, поэтому вам не нужно перезагружать приложение после развертывания.

80 

81Если устройство по-прежнему отказывает в сеансах WSL, откройте **Help > Troubleshooting > Show Logs in Explorer** в Claude Desktop на этом устройстве, которое сохраняет копию папки журналов в Downloads. Найдите `[wslPolicyGate] denying WSL session` в `main.log` в этой копии. Причина отказа указана в скобках, например `(cli-file-present)`. Если Claude Desktop был установлен с помощью установщика `.exe`, вы также можете прочитать живой файл в `%APPDATA%\Claude\logs\main.log`.

82 

83После включения сеансов WSL расширьте управляемые параметры на них:

79 84 

80* Разверните `wslInheritsWindowsSettings: true` через реестр HKLM или файл `C:\Program Files\ClaudeCode`, чтобы сеансы WSL наследовали ту же политику, что и сеансы хоста.85* Разверните `wslInheritsWindowsSettings: true` через реестр HKLM или файл `C:\Program Files\ClaudeCode`, чтобы сеансы WSL наследовали ту же политику, что и сеансы хоста.

81* Проверьте, запустив `/status` внутри сеанса WSL: строка `Setting sources` должна показывать `Enterprise managed settings` с источником Windows, который вы развернули, `(HKLM)` или `(file)`.86* Проверьте, запустив `/status` внутри сеанса WSL и прочитав строку `Setting sources`. Чтобы интерпретировать то, что она перечисляет, см. [Прочитайте источник в /status](/docs/ru/managed-settings#read-the-source-in-/status).

82 87 

83Процессы внутри виртуальной машины WSL 2 не видны датчикам обнаружения конечных точек на стороне Windows. Если вы используете CrowdStrike Falcon, включите датчик Falcon для Linux на WSL 2 с двумя исключениями, которые требует документация WSL CrowdStrike, для процесса виртуальной машины WSL и образа диска ВМ, чтобы активность процесса и файла в дистрибутиве была видна. [OpenTelemetry телеметрия выполнения инструментов](/ru/monitoring-usage) Claude Code излучается одинаково для сеансов WSL и собственных сеансов.88Процессы внутри виртуальной машины WSL 2 не видны датчикам обнаружения конечных точек на стороне Windows. Чтобы наблюдать активность процесса и файла в дистрибутиве, проверьте руководство WSL вашего поставщика обнаружения конечных точек для датчика Linux, который вы можете запустить внутри распределения, и исключения, которые ему требуются. [Телеметрия выполнения инструментов OpenTelemetry](/docs/ru/monitoring-usage) Claude Code излучается одинаково для сеансов WSL и собственных сеансов.

84 89 

85<h2 id="decide-what-to-enforce">90<h2 id="decide-what-to-enforce">

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

87</h2>92</h2>

88 93 

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

95 

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

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

98| [Правила разрешений](/docs/ru/permissions) | Разрешить, запросить или запретить определённые инструменты и команды | `permissions.allow`, `permissions.deny` |

99| [Блокировка разрешений](/docs/ru/permissions#managed-only-settings) | Сделать управляемые параметры [единственным источником правил разрешений](/docs/ru/settings-reference#allowmanagedpermissionrulesonly). Отключить `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

100| [Начальный режим разрешений](/docs/ru/permission-modes#which-mode-a-session-starts-in) | Выберите режим разрешений, в котором начинаются сеансы терминала ваших разработчиков, вместо встроенного начального режима разрешений, или удалите режим авто. Расширение VS Code читает `defaultMode`, который вы устанавливаете только в планах Pro, Max и Team; [Переключение режимов разрешений](/docs/ru/permission-modes#switch-permission-modes) указывает, что читает расширение | `permissions.defaultMode`, `permissions.disableAutoMode` |

101| [Песочница](/docs/ru/sandboxing) | Изоляция файловой системы и сети на уровне ОС с allowlist доменов | `sandbox.enabled`, `sandbox.network.allowedDomains` |

102| [Управляемая политика CLAUDE.md](/docs/ru/memory#deploy-organization-wide-claude-md) | Инструкции на уровне организации, загружаемые в каждый сеанс, не могут быть исключены | Файл по пути управляемой политики |

103| [Управление сервером MCP](/docs/ru/managed-mcp) | Ограничить, какие серверы MCP пользователи могут добавлять или подключать, развернуть фиксированный набор или предоставить удалённые серверы каждому пользователю наряду с их собственными | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers` или развёрнутый файл `managed-mcp.json` |

104| [Управление маркетплейсом плагинов](/docs/ru/plugin-marketplaces#managed-marketplace-restrictions) | Ограничить, из каких источников маркетплейса пользователи могут добавлять и устанавливать плагины, отклонить флаги CLI, которые загружают плагины, агентов и серверы MCP для одного запуска, блокировать [источники плагинов `command`](/docs/ru/plugin-marketplaces#command-sources) и создать allowlist маркетплейсов, плагины которых могут быть предложены | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |

105| [Блокировка настройки](/docs/ru/settings-reference#strictpluginonlycustomization) | Заблокировать skills, агентов, hooks и серверы MCP из пользовательских и проектных источников, чтобы они могли поступать только из плагинов или управляемых параметров. Блокировка skills также останавливает [skills, которые ваши разработчики включают на claude.ai](/docs/ru/skills#where-synced-skills-load) от синхронизации | `strictPluginOnlyCustomization` |

106| [Отключить синхронизацию claude.ai](/docs/ru/settings-reference#syncclaudeaiskills) | Остановить Claude Code от загрузки [skills](/docs/ru/skills#how-synced-skills-behave) и [плагинов](/docs/ru/plugins-reference#synced-plugins), которые ваши разработчики включают на claude.ai. Если вы отключите Skills для вашей организации на claude.ai, Claude Code останавливает синхронизацию обоих, и на v2.1.273 или позже это также удаляет те, которые он уже синхронизировал. Чтобы остановить один из них без отключения Skills, установите его ключ на `false` в управляемых параметрах | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |

107| [Ограничения hooks](/docs/ru/settings-reference#allowmanagedhooksonly) | Ограничить, какие hooks выполняются, и ограничить URL-адреса HTTP hooks; см. [что выполняется под `allowManagedHooksOnly`](/docs/ru/settings-reference#what-runs-under-allowmanagedhooksonly) для полного списка эффектов | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

108| [Принудительный вход](/docs/ru/settings-reference#forceloginmethod) | Ограничить вход определённым методом или организацией Anthropic. Ограничение метода применяется во всём расширении VS Code, Agent SDK, `claude setup-token` и `/install-github-app`, а интерактивный экран входа терминала, доступный через `/login` или первоначальную настройку, предварительно выбирает метод без его принудительного применения; Claude Code проверяет организацию для входов в учётную запись claude.ai в терминале, расширении VS Code и Agent SDK, и не проверяет её для входов в Claude Console или для входа через [gateway](/docs/ru/claude-apps-gateway). До версии 2.1.212 только входы в терминал применяли любой из ключей. Когда установлено, сеансы, аутентифицированные через `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, блокируются при запуске; облачные сеансы поставщиков не затрагиваются | `forceLoginMethod`, `forceLoginOrgUUID` |

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

110| [Настройка корпоративного запускателя](/docs/ru/corporate-launcher) | Добавить префикс к [супервизору фонового агента](/docs/ru/agent-view#how-background-sessions-are-hosted), его рабочим процессам и [другим охватываемым фоновым процессам](/docs/ru/corporate-launcher#what-the-launcher-covers) с требуемым корпоративным запускателем вместо отключения представления агента | `processWrapper` |

111| [Ограничения модели](/docs/ru/model-config#restrict-model-selection) | `availableModels` фильтрует, какие модели появляются в средстве выбора. Добавление `enforceAvailableModels` также ограничивает автоматически выбранную модель по умолчанию. См. [охват поверхности](/docs/ru/model-config#surface-coverage) для того, как этот параметр достигает CLI, веб-интерфейса и IDE | `availableModels`, `enforceAvailableModels` |

112| [Ограничение усилий](/docs/ru/settings-reference#maxeffortlevel) | Ограничить [уровень усилий](/docs/ru/model-config#adjust-effort-level) для каждой модели или для каждого поставщика | `maxEffortLevel` |

113| [Минимальная версия](/docs/ru/settings-reference#minimumversion) | Предотвратить автоматическое обновление от установки ниже минимума на уровне организации | `minimumVersion` |

114| [Требуемый диапазон версий](/docs/ru/settings-reference#requiredminimumversion) | Отказать в запуске вообще, когда работающая версия находится вне одобренного организацией диапазона. Сильнее, чем `minimumVersion`, который только блокирует понижения версии | `requiredMinimumVersion`, `requiredMaximumVersion` |

115| [Отказ от телеметрии](/docs/ru/data-usage#telemetry-services) | Отключить метрики использования, привязанные к Anthropic, отчёты об ошибках и опросы на каждом устройстве | `env` с `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, установленным на `1`; связанный раздел содержит переменные по категориям |

116 

117Если ваши члены входят через claude.ai или Anthropic API и вы находитесь на плане Claude Enterprise, вы также можете управлять моделями из параметров администратора вашей организации без развёртывания чего-либо:

90 118 

91| Управление | Что оно делает | Ключевые параметры |119* [Ограничения модели организации](/docs/ru/model-config#organization-model-restrictions): отключить отдельные модели. Применяется на стороне сервера.

92| :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------- |120* [Модель по умолчанию организации](/docs/ru/model-config#organization-default-model): установить, на какой модели начинаются новые сеансы. Пользователи могут изменить её, если только ваша организация не применяет значение по умолчанию, которое доступно ограниченному набору организаций; обратитесь к вашей команде учётных записей Anthropic.

93| [Permission rules](/ru/permissions) | Разрешить, спросить или запретить определенные инструменты и команды | `permissions.allow`, `permissions.deny` |121* [Ограничения усилий организации](/docs/ru/model-config#organization-effort-limits): ограничить уровни усилий по ролям. Применяется на стороне сервера.

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

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

96| [Managed policy CLAUDE.md](/ru/memory#deploy-organization-wide-claude-md) | Инструкции на уровне организации, загруженные в каждый сеанс, не могут быть исключены | Файл по пути управляемой политики |

97| [MCP server control](/ru/managed-mcp) | Ограничить, какие серверы MCP пользователи могут добавлять или подключать, или развернуть фиксированный набор | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, или развернутый файл `managed-mcp.json` |

98| [Plugin marketplace control](/ru/plugin-marketplaces#managed-marketplace-restrictions) | Ограничить, какие источники маркетплейса пользователи могут добавлять и устанавливать, отклонить флаги CLI, которые загружают плагины, агентов и серверы MCP для одного запуска, и разрешить список, какие плагины маркетплейсов могут быть предложены | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `pluginSuggestionMarketplaces` |

99| [Customization lockdown](/ru/settings#strictpluginonlycustomization) | Заблокировать skills, agents, hooks и серверы MCP из источников пользователя и проекта, чтобы они могли поступать только из плагинов или управляемых параметров | `strictPluginOnlyCustomization` |

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

101| [Login enforcement](/ru/settings#available-settings) | Ограничить интерактивный вход на определенный метод или организацию Anthropic. Когда установлено, сеансы, аутентифицированные с помощью `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, блокируются при запуске; сеансы поставщиков облачных услуг не затрагиваются | `forceLoginMethod`, `forceLoginOrgUUID` |

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

103| [Model restrictions](/ru/model-config#restrict-model-selection) | `availableModels` фильтрует, какие модели отображаются в средстве выбора. Добавление `enforceAvailableModels` также ограничивает автоматически выбранную модель по умолчанию. См. [surface coverage](/ru/model-config#surface-coverage) для того, как этот параметр достигает CLI, веб-интерфейса и IDE | `availableModels`, `enforceAvailableModels` |

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

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

106 122 

107Организации, члены которых проходят аутентификацию через claude.ai или Anthropic API, также могут управлять моделями без развертывания параметров: [ограничения модели организации](/ru/model-config#organization-model-restrictions) отключают отдельные модели, [модель по умолчанию организации](/ru/model-config#organization-default-model) устанавливает, на какой модели начинаются новые сеансы, и [ограничения усилий организации](/ru/model-config#organization-effort-limits) ограничивают уровни усилий по ролям. Все три элемента управления требуют плана Claude Enterprise. Ограничения модели и ограничения усилий применяются на стороне сервера; модель по умолчанию — это отправная точка, которую пользователи могут изменить, если только организация не применяет ее принудительно. Принудительное применение доступно для ограниченного набора организаций; обратитесь к команде вашего аккаунта Anthropic о доступности. Ни один из этих элементов управления не достигает сеансов на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или [Claude Platform on AWS](/ru/claude-platform-on-aws); на этих поставщиках используйте `availableModels` выше для ограничений и ключ `model` в управляемых параметрах для значения по умолчанию.123Ни один из этих элементов управления не достигает сеансов на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). На этих поставщиках используйте вместо этого управляемые параметры: `availableModels` для ограничений, `model` для значения по умолчанию и [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) для ограничения усилий.

108 124 

109[Claude Code on the web](/ru/claude-code-on-the-web) имеет собственную поверхность администратора: на странице облачных сред в параметрах администратора владельцы и администраторы создают [организационные общие среды](/ru/claude-code-on-the-web#organization-shared-environments), которые устанавливают [уровень сетевого доступа](/ru/claude-code-on-the-web#network-access), переменные окружения и скрипт настройки для облачных сеансов членов, а также выбирают среду организации по умолчанию.125[Cloud sessions](/docs/ru/claude-code-on-the-web) имеют собственную поверхность администратора: на странице облачных сред в параметрах администратора владельцы создают [среды, общие для организации](/docs/ru/cloud-environments#organization-shared-environments), которые устанавливают [уровень сетевого доступа](/docs/ru/cloud-environments#network-access), переменные окружения и скрипт настройки для облачных сеансов членов. Владельцы выбирают среду организации по умолчанию отдельно на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).

110 126 

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

112 128 

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

114 130 

115<h2 id="set-up-usage-visibility">131<h2 id="set-up-usage-visibility">

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


120 136 

121| Возможность | Что вы получаете | Доступность | С чего начать |137| Возможность | Что вы получаете | Доступность | С чего начать |

122| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- |138| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- |

123| Usage monitoring | Экспорт OpenTelemetry сеансов, инструментов и токенов | Все поставщики | [Monitoring usage](/ru/monitoring-usage) |139| Usage monitoring | Экспорт OpenTelemetry сеансов, инструментов и токенов | Все поставщики | [Monitoring usage](/docs/ru/monitoring-usage) |

124| Analytics dashboard | Метрики принятия и вклада с таблицей лидеров на Teams / Enterprise; метрики использования и расходов для каждого пользователя на Console | Teams / Enterprise на [claude.ai/analytics](https://claude.ai/analytics/claude-code), Console на [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/ru/analytics) |140| Analytics dashboard | Метрики принятия и вклада с таблицей лидеров на Teams / Enterprise; метрики использования и расходов для каждого пользователя на Console | Teams / Enterprise на [claude.ai/analytics](https://claude.ai/analytics/claude-code), Console на [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/docs/ru/analytics) |

125| Programmatic reporting | Данные об использовании и затратах для каждого пользователя через API | [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) для Enterprise, [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) для Console | [Costs](/ru/costs#manage-costs-for-your-organization) |141| Programmatic reporting | Данные об использовании и затратах для каждого пользователя через API | [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) для Enterprise, [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) для Console | [Costs](/docs/ru/costs#manage-costs-for-your-organization) |

126| Spend controls | Ограничения расходов и ограничения скорости | Параметры администратора для Teams / Enterprise, ограничения рабочей области для Console; на облаках третьих сторон, элементы управления бюджетом облака или [Claude apps gateway](/ru/claude-apps-gateway) с ограничениями расходов для каждого пользователя [spend limits](/ru/claude-apps-gateway-spend-limits) | [Costs](/ru/costs#manage-costs-for-your-organization) |142| Spend controls | Ограничения расходов и ограничения скорости | Параметры администратора для Teams / Enterprise, ограничения рабочей области для Console; на облаках третьих сторон, элементы управления бюджетом облака или [Claude apps gateway](/docs/ru/claude-apps-gateway) с ограничениями расходов для каждого пользователя [spend limits](/docs/ru/claude-apps-gateway-spend-limits) | [Costs](/docs/ru/costs#manage-costs-for-your-organization) |

127 143 

128На Teams и Enterprise данные об использовании и расходах для каждого пользователя поступают из [отчёта о расходах](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) в параметрах аналитики вашей организации, а не из панели аналитики. Облачные поставщики раскрывают расходы через AWS Cost Explorer, GCP Billing или Azure Cost Management. Для планирования корпоративных бюджетов в Claude chat, Claude Code и Cowork см. [руководство по потреблению Claude Enterprise](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide).144На Teams и Enterprise данные об использовании и расходах для каждого пользователя поступают из [отчёта о расходах](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) в параметрах аналитики вашей организации, а не из панели аналитики. Облачные поставщики раскрывают расходы через AWS Cost Explorer, GCP Billing или Azure Cost Management. Для планирования корпоративных бюджетов в Claude chat, Claude Code и Cowork см. [руководство по потреблению Claude Enterprise](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide).

129 145 


135 151 

136| Тема | Что нужно знать | С чего начать |152| Тема | Что нужно знать | С чего начать |

137| :------------------------ | :--------------------------------------------------------------------------------------- | :--------------------------------------------- |153| :------------------------ | :--------------------------------------------------------------------------------------- | :--------------------------------------------- |

138| Data usage policy | Что собирает Anthropic, как долго это хранится, что никогда не используется для обучения | [Data usage](/ru/data-usage) |154| Data usage policy | Что собирает Anthropic, как долго это хранится, что никогда не используется для обучения | [Data usage](/docs/ru/data-usage) |

139| Zero Data Retention (ZDR) | Ничего не хранится после завершения запроса. Доступно на Claude for Enterprise | [Zero data retention](/ru/zero-data-retention) |155| Zero Data Retention (ZDR) | Ничего не хранится после завершения запроса. Доступно на Claude for Enterprise | [Zero data retention](/docs/ru/zero-data-retention) |

140| Security architecture | Сетевая модель, шифрование, аутентификация, журнал аудита | [Security](/ru/security) |156| Security architecture | Сетевая модель, шифрование, аутентификация, журнал аудита | [Security](/docs/ru/security) |

141 157 

142Если вам нужно логирование аудита на уровне запроса или маршрутизация трафика по чувствительности данных, поместите шлюз между разработчиками и вашим поставщиком: самостоятельно размещённый [Claude apps gateway](/ru/claude-apps-gateway) записывает журнал аудита для каждого запроса с идентификацией IdP, или используйте другой [LLM gateway](/ru/llm-gateway). Для нормативных требований и сертификаций см. [Legal and compliance](/ru/legal-and-compliance).158Если вам нужно логирование аудита на уровне запроса или маршрутизация трафика по чувствительности данных, поместите шлюз между разработчиками и вашим поставщиком: самостоятельно размещённый [Claude apps gateway](/docs/ru/claude-apps-gateway) записывает журнал аудита для каждого запроса с идентификацией IdP, или используйте другой [LLM gateway](/docs/ru/llm-gateway). Для нормативных требований и сертификаций см. [Legal and compliance](/docs/ru/legal-and-compliance).

143 159 

144<h2 id="verify-and-onboard">160<h2 id="verify-and-onboard">

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

146</h2>162</h2>

147 163 

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

149 165 

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

151 167 

152* [Quickstart](/ru/quickstart): пошаговое руководство первого сеанса от установки до работы с проектом168* [Quickstart](/docs/ru/quickstart): пошаговое руководство первого сеанса от установки до работы с проектом

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

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

155 171 

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

157 173 

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

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


167 183 

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

169 185 

170* [Server-managed settings](/ru/server-managed-settings): доставка управляемой политики из консоли администратора Claude186* [Server-managed settings](/docs/ru/server-managed-settings): доставка управляемой политики из консоли администратора Claude

171* [Settings reference](/ru/settings): каждый ключ параметра, расположение файла и правило приоритета187* [All settings](/docs/ru/settings-reference): каждый ключ параметра, расположение файла и пример

172* [Monorepos and large repos](/ru/large-codebases): шаблоны конфигурации для каждого каталога для организаций, развертывающих в монорепозиторий188* [Which value Claude Code uses](/docs/ru/settings#which-value-claude-code-uses): правила приоритета для управляемых, проектных, локальных и пользовательских параметров

173* [Amazon Bedrock](/ru/amazon-bedrock), [Google Cloud's Agent Platform](/ru/google-vertex-ai), [Microsoft Foundry](/ru/microsoft-foundry): развертывание для конкретного поставщика189* [Monorepos and large repos](/docs/ru/large-codebases): шаблоны конфигурации для каждого каталога для организаций, развертывающих в монорепозиторий

190* [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry): развертывание для конкретного поставщика

174* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO, SCIM, управление местами и сценарий развертывания191* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO, SCIM, управление местами и сценарий развертывания

Details

222 222 

223Крышка бюджета охватывает [подагентов](/docs/ru/agent-sdk/subagents): их расходы учитываются в общей сумме. Когда расходы достигают крышки, создание другого подагента не удается с `Budget limit reached`, и Claude Code останавливает любых фоновых подагентов, которые все еще работают. Поведение принудительного применения крышки требует Claude Code v2.1.217 или позже.223Крышка бюджета охватывает [подагентов](/docs/ru/agent-sdk/subagents): их расходы учитываются в общей сумме. Когда расходы достигают крышки, создание другого подагента не удается с `Budget limit reached`, и Claude Code останавливает любых фоновых подагентов, которые все еще работают. Поведение принудительного применения крышки требует Claude Code v2.1.217 или позже.

224 224 

225При [потоковом вводе](/docs/ru/agent-sdk/streaming-vs-single-mode) сообщение, которое все еще находится в очереди, когда ход заканчивается на пределе максимальных ходов, остается в очереди. Claude Code не добавляет его в последний вызов модели этого хода. Он начинает новый ход для сообщения, и счетчик максимальных ходов начинается заново для этого хода.225При [потоковом вводе](/docs/ru/agent-sdk/streaming-vs-single-mode) сообщение, которое все еще находится в очереди, когда ход заканчивается на пределе максимальных ходов, остается в очереди. Claude Code не добавляет его в последний вызов модели этого хода. Он начинает новый ход для сообщения, и счетчик максимальных ходов начинается заново для этого хода. Общий бюджет продолжает накапливаться между сообщениями, и как только расходы достигают `maxBudgetUsd`, более поздние сообщения в той же беседе заканчиваются результатом `error_max_budget_usd`. [`/clear`](/docs/ru/agent-sdk/cost-tracking) начинает бюджет заново.

226 226 

227<h3 id="effort-level">227<h3 id="effort-level">

228 Уровень усилий228 Уровень усилий


267 Модель267 Модель

268</h3>268</h3>

269 269 

270Если вы не установите `model`, SDK использует значение по умолчанию Claude Code, которое зависит от вашего метода аутентификации и подписки. Установите его явно (например, `model="claude-sonnet-5"`), чтобы закрепить определенную модель или использовать меньшую модель для более быстрых и дешевых агентов. См. [models](https://platform.claude.com/docs/en/about-claude/models) для доступных ID.270Установите опцию `model` для выбора модели, которая запускает сессию. Для получения дополнительной информации см. [Выбрать модель](/docs/ru/agent-sdk/configuration#choose-a-model).

271 271 

272<h2 id="the-context-window">272<h2 id="the-context-window">

273 Контекстное окно273 Контекстное окно


362 362 

363Поле `result` содержит финальный текстовый выход и присутствует только в варианте `success`, поэтому всегда проверяйте подтип перед его чтением.363Поле `result` содержит финальный текстовый выход и присутствует только в варианте `success`, поэтому всегда проверяйте подтип перед его чтением.

364 364 

365Все подтипы результатов содержат `total_cost_usd`, `usage`, `num_turns` и `session_id`, поэтому вы можете отслеживать стоимость и возобновлять даже после ошибок. Есть две вещи, на которые нужно обратить внимание:365Все подтипы результатов содержат `total_cost_usd`, `usage`, `num_turns` и `session_id`, поэтому вы можете отслеживать стоимость и возобновлять даже после ошибок. Обратите внимание на эти случаи:

366 366 

367* После сбоя сеанса финальный результат — это `error_during_execution`, чьи поля стоимости могут быть обнулены и чей `stop_reason` равен `null`, и процесс завершается после его выдачи. См. [Восстановление итогов после сбоя сеанса](/docs/ru/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).367* После сбоя сеанса финальный результат — это `error_during_execution`, чьи поля стоимости могут быть обнулены и чей `stop_reason` равен `null`, и процесс завершается после его выдачи. См. [Восстановление итогов после сбоя сеанса](/docs/ru/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).

368* В Python `total_cost_usd`, `usage` и `model_usage` типизированы как опциональные, поэтому проверьте, что они не равны `None` перед их чтением.368* В Python `total_cost_usd`, `usage` и `model_usage` типизированы как опциональные, поэтому проверьте, что они не равны `None` перед их чтением.

Details

8 8 

9Agent SDK построен на той же основе, что и Claude Code, что означает, что ваши SDK-агенты имеют доступ к тем же функциям на основе файловой системы: инструкции проекта (`CLAUDE.md` и правила), skills, hooks и многое другое.9Agent SDK построен на той же основе, что и Claude Code, что означает, что ваши SDK-агенты имеют доступ к тем же функциям на основе файловой системы: инструкции проекта (`CLAUDE.md` и правила), skills, hooks и многое другое.

10 10 

11Когда вы опускаете `settingSources`, `query()` читает те же параметры файловой системы, что и Claude Code CLI: пользовательские, проектные и локальные параметры, файлы `CLAUDE.md` и skills, агенты и команды в `.claude/`. Чтобы запустить без них, передайте `settingSources: []`, что ограничивает агента только тем, что вы настраиваете программно. Параметры управляемой политики и глобальная конфигурация `~/.claude.json` читаются независимо от этого параметра. См. [Что settingSources не контролирует](#what-settingsources-does-not-control).11Когда вы опускаете `settingSources`, `query()` читает те же параметры файловой системы, что и Claude Code CLI: пользовательские, проектные и локальные параметры, файлы `CLAUDE.md` и skills, агенты и команды в `.claude/`. Чтобы запустить без них, передайте `settingSources: []`, что ограничивает агента только тем, что вы настраиваете программно. Параметры управляемой политики и глобальная конфигурация `~/.claude.json` читаются независимо от этого параметра. Дополнительную информацию см. в разделе [Что settingSources не контролирует](#what-settingsources-does-not-control).

12 12 

13<h2 id="control-filesystem-settings-with-settingsources">13<h2 id="control-filesystem-settings-with-settingsources">

14 Управление параметрами файловой системы с помощью settingSources14 Управление параметрами файловой системы с помощью settingSources


107 Инструкции проекта (CLAUDE.md и правила)107 Инструкции проекта (CLAUDE.md и правила)

108</h2>108</h2>

109 109 

110Файлы `CLAUDE.md` и файлы `.claude/rules/*.md` дают вашему агенту постоянный контекст о вашем проекте: соглашения кодирования, команды сборки, архитектурные решения и инструкции. Когда `settingSources` включает `"project"` (как в примере выше), SDK загружает эти файлы в контекст при запуске сеанса. Затем агент следует вашим соглашениям проекта без необходимости повторять их в каждом запросе.110Файлы `CLAUDE.md` и файлы `.claude/rules/*.md` дают вашему агенту постоянный контекст о вашем проекте: соглашения кодирования, команды сборки, архитектурные решения и инструкции. Когда `settingSources` включает `"project"`, как в примере [`settingSources`](#control-filesystem-settings-with-settingsources), SDK загружает эти файлы в контекст при запуске сеанса. Затем агент следует вашим соглашениям проекта без необходимости повторять их в каждом запросе.

111 111 

112<h3 id="claude-md-load-locations">112<h3 id="claude-md-load-locations">

113 Местоположения загрузки CLAUDE.md113 Местоположения загрузки CLAUDE.md

agent-sdk/configuration.md +315 −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# Настройка вашего агента

6 

7> Настройте сеансы Agent SDK: составьте объект параметров, установите модель, окружение и ограничения, и найдите страницу каждого параметра функции.

8 

9Сеанс Agent SDK читает конфигурацию из файлов настроек, переменных окружения и объекта `options`, который вы передаёте при его запуске. На этой странице показано, как составить объект `options` и какие файлы настроек и переменные окружения его контролируют.

10 

11Для каждого параметра его типа и значения по умолчанию см. ссылки [`Options`](/docs/ru/agent-sdk/typescript#options) (TypeScript) и [`ClaudeAgentOptions`](/docs/ru/agent-sdk/python#claudeagentoptions) (Python).

12 

13<h2 id="pass-options-to-a-session">

14 Передача параметров в сеанс

15</h2>

16 

17Каждый вызов `query()` принимает объект параметров: `Options` в TypeScript, `ClaudeAgentOptions` в Python. Каждое поле является необязательным, и сеанс, запущенный без параметров, работает с значениями по умолчанию SDK. Пример ниже настраивает сеанс только для чтения, который суммирует открытые TODO проекта. Пары читаются как TypeScript / Python, где написание отличается:

18 

19* **`model`**: выбирает модель

20* **`allowedTools` / `allowed_tools`**: предварительно одобряет список инструментов только для чтения

21* **`maxTurns` / `max_turns`**: ограничивает количество ходов

22* **`cwd`**: устанавливает рабочий каталог

23 

24<CodeGroup>

25 ```typescript TypeScript theme={null}

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

27 

28 for await (const message of query({

29 prompt: "Summarize the open TODOs in this repo",

30 options: {

31 model: "claude-sonnet-5",

32 allowedTools: ["Read", "Glob", "Grep"],

33 maxTurns: 8,

34 cwd: "/path/to/repo",

35 },

36 })) {

37 if (message.type === "result" && message.subtype === "success" && !message.is_error) {

38 console.log(message.result);

39 }

40 }

41 ```

42 

43 ```python Python theme={null}

44 import asyncio

45 

46 from claude_agent_sdk import ClaudeAgentOptions, ResultMessage, query

47 

48 async def main():

49 options = ClaudeAgentOptions(

50 model="claude-sonnet-5",

51 allowed_tools=["Read", "Glob", "Grep"],

52 max_turns=8,

53 cwd="/path/to/repo",

54 )

55 

56 async for message in query(

57 prompt="Summarize the open TODOs in this repo",

58 options=options,

59 ):

60 if isinstance(message, ResultMessage) and not message.is_error:

61 print(message.result)

62 

63 asyncio.run(main())

64 ```

65</CodeGroup>

66 

67Укажите `cwd` на один из ваших собственных проектов и запустите пример. Сводка открытых TODO этого проекта выводится при поступлении сообщения результата.

68 

69`allowedTools` (TypeScript) или `allowed_tools` (Python) предварительно одобряет перечисленные инструменты, поэтому вызовы к ним выполняются без остановки для одобрения. Инструменты вне списка остаются доступными. Когда Claude вызывает инструмент, не указанный в списке, режим разрешений определяет, будет ли вызов выполнен. Для получения дополнительной информации см. [Правила разрешения и запрета](/docs/ru/agent-sdk/permissions#allow-and-deny-rules).

70 

71<h2 id="load-settings-files">

72 Загрузка файлов настроек

73</h2>

74 

75Файлы настроек предоставляют конфигурацию за пределами объекта параметров. Два параметра контролируют способ их загрузки:

76 

77* **`settingSources` / `setting_sources`**: контролирует, какие источники файловой системы загружаются: пользователь, проект и локальный. Файлы настроек и файлы CLAUDE.md поступают через эти источники.

78* **`settings`**: загружает путь файла настроек или встроенную строку JSON на любом языке, и TypeScript также принимает объект настроек. Какую бы форму вы ни передали, она переопределяет пользовательские, проектные и локальные настройки файловой системы; только управляемые политики имеют более высокий приоритет. Ссылки документируют полный порядок приоритета в разделе [Приоритет настроек](/docs/ru/agent-sdk/typescript#settings-precedence) для TypeScript и [Приоритет настроек](/docs/ru/agent-sdk/python#settings-precedence) для Python.

79 

80Передайте `[]` для отключения пользовательских, проектных и локальных настроек. Для получения дополнительной информации см. [Использование функций Claude Code в SDK](/docs/ru/agent-sdk/claude-code-features).

81 

82<h2 id="choose-a-model">

83 Выбор модели

84</h2>

85 

86Если параметр `model`, ваши настройки или окружение не выбирают модель, новый сеанс запускается на [модели по умолчанию Claude Code](/docs/ru/model-config#default-model-setting). Для порядка этих источников см. [Установка вашей модели](/docs/ru/model-config#setting-your-model). Установите `model` для закрепления определённой модели или выберите меньшую для более быстрых и дешёвых агентов. Значение принимает псевдоним модели или полное имя модели; псевдонимы и версии, на которые они разрешаются, перечислены в разделе [Псевдонимы моделей](/docs/ru/model-config#model-aliases).

87 

88Установите `fallbackModel` (TypeScript) или `fallback_model` (Python) для указания резервной модели. Когда основная модель перегружена или недоступна, сеанс переключается на резервную. Основная модель повторяется в начале каждого хода пользователя, поэтому сеанс возвращается к ней после окончания сбоя.

89 

90На обоих языках параметр принимает одну модель или разделённый запятыми список резервных копий. Для порядка и ограничения цепи см. [Цепи резервных моделей](/docs/ru/model-config#fallback-model-chains). В TypeScript резервная копия, равная `model`, вызывает ошибку при запуске.

91 

92Примеры ниже показывают список резервных копий в TypeScript и одну резервную копию в Python:

93 

94<CodeGroup>

95 ```typescript TypeScript theme={null}

96 const options = {

97 model: "claude-fable-5",

98 fallbackModel: "claude-opus-5,claude-sonnet-5",

99 };

100 ```

101 

102 ```python Python theme={null}

103 options = ClaudeAgentOptions(

104 model="claude-fable-5",

105 fallback_model="claude-opus-5",

106 )

107 ```

108</CodeGroup>

109 

110<span id="sampling-parameters" />

111 

112<Note>

113 Параметры запроса [Messages API](https://platform.claude.com/docs/en/api/messages) `temperature`, `top_p` и `max_tokens` не имеют полей в объекте параметров ни на одном языке. Установите [уровень усилий](/docs/ru/agent-sdk/agent-loop#effort-level) или [ограничение расходов](#limit-turns-and-spend) вместо этого, или вызовите Messages API, когда вам нужны эти параметры напрямую.

114</Note>

115 

116<h2 id="set-environment-variables">

117 Установка переменных окружения

118</h2>

119 

120Параметр `env` устанавливает переменные окружения для процесса Claude Code, который запускает ваш сеанс. Различаются ли ваши значения заменяют унаследованное окружение или объединяются с ним в зависимости от языка:

121 

122* **TypeScript**: `env` заменяет окружение подпроцесса

123* **Python**: SDK объединяет ваши значения с унаследованным окружением, и ваши значения переопределяют унаследованные

124 

125В TypeScript распределите `process.env` в `env` для сохранения унаследованных переменных, таких как `PATH`, `HOME` и `ANTHROPIC_API_KEY`. Когда вы оставляете `env` неустановленным, подпроцесс наследует ваше окружение на обоих языках.

126 

127Пример маршрутизирует трафик API через шлюз путём установки `ANTHROPIC_BASE_URL`.

128 

129<CodeGroup>

130 ```typescript TypeScript theme={null}

131 const options = {

132 env: { ...process.env, ANTHROPIC_BASE_URL: "https://gateway.example.com" },

133 };

134 ```

135 

136 ```python Python theme={null}

137 options = ClaudeAgentOptions(

138 env={"ANTHROPIC_BASE_URL": "https://gateway.example.com"},

139 )

140 ```

141</CodeGroup>

142 

143Переменные, которые вы передаёте, также могут настраивать сам Claude Code. Для переменных, которые читает процесс Claude Code, см. [Переменные окружения](/docs/ru/env-vars). Для настройки тайм-аутов API и обнаружения зависания таким образом следуйте разделу Handle slow or stalled API responses в [справочнике TypeScript](/docs/ru/agent-sdk/typescript#handle-slow-or-stalled-api-responses) или [справочнике Python](/docs/ru/agent-sdk/python#handle-slow-or-stalled-api-responses).

144 

145<h2 id="set-the-working-directory">

146 Установка рабочего каталога

147</h2>

148 

149Установите `cwd` для запуска сеанса в определённом каталоге. Когда вы оставляете `cwd` неустановленным, сеанс запускается в рабочем каталоге вашего процесса. Ни один SDK не имеет установщика для `cwd`. Для запуска в другом каталоге запустите другой сеанс с этим `cwd`.

150 

151Claude Code читает рабочий каталог для определения:

152 

153* **Настройки проекта и hooks**: какие [настройки и hooks проекта загружаются](/docs/ru/agent-sdk/claude-code-features)

154* **Skills**: где [обнаруживаются skills сеанса](/docs/ru/agent-sdk/skills)

155* **Хранилище сеанса**: какому проекту [принадлежит сохранённый сеанс](/docs/ru/agent-sdk/session-storage)

156 

157Чтобы позволить инструментам получать доступ к файлам вне рабочего каталога, добавьте пути с помощью `additionalDirectories` (TypeScript) или `add_dirs` (Python). Для области этого разрешения см. [Дополнительные каталоги предоставляют доступ к файлам, а не конфигурацию](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration).

158 

159<h2 id="limit-turns-and-spend">

160 Ограничение ходов и расходов

161</h2>

162 

163Ограничьте ходы и расходы с помощью `maxTurns` / `max_turns` и `maxBudgetUsd` / `max_budget_usd`. Оба ограничения отключены, когда не установлены. Когда сеанс достигает ограничения, запуск заканчивается сообщением результата, подтип которого называет ограничение, `error_max_turns` или `error_max_budget_usd`. Что происходит дальше, зависит от режима ввода:

164 

165* **Одноразовый `query()`**: SDK выдаёт результат ограничения, а затем вызывает исключение, поэтому оберните цикл в блок try для продолжения после ошибки

166* **Потоковый ввод**: сеанс остаётся активным после результата ограничения, и счётчик максимальных ходов начинается заново для каждого сообщения в очереди. Общий бюджет накапливается по сообщениям, и как только расходы достигают ограничения, более поздние сообщения в одном разговоре заканчиваются тем же результатом бюджета. [`/clear`](/docs/ru/agent-sdk/cost-tracking) начинает бюджет заново

167 

168Два ограничения обрабатывают `0` по-разному:

169 

170* **`maxTurns` / `max_turns`**: `0` запускает сеанс без ограничения ходов, то же самое, что оставить параметр неустановленным

171* **`maxBudgetUsd` / `max_budget_usd`**: CLI отклоняет `0` как недопустимую сумму при запуске, и сеанс никогда не запускается

172 

173Для получения дополнительной информации об обоих ограничениях, включая расходы подагентов, см. [Ходы и бюджет](/docs/ru/agent-sdk/agent-loop#turns-and-budget).

174 

175<h2 id="change-configuration-mid-session">

176 Изменение конфигурации во время сеанса

177</h2>

178 

179Когда вы запускаете сеанс с [потоковым вводом](/docs/ru/agent-sdk/streaming-vs-single-mode), вы можете переключать его модель и режим разрешений во время его работы. Где вы вызываете установщики, зависит от языка:

180 

181* **TypeScript**: методы на объекте, который возвращает `query()`

182* **Python**: методы на [`ClaudeSDKClient`](/docs/ru/agent-sdk/python#claudesdkclient), так как `query()` возвращает простой итератор без методов управления

183 

184Оба языка имеют одинаковые установщики:

185 

186* **`setModel()` / `set_model()`**: переключает модель. Вызовите её без модели для переключения на [модель по умолчанию Claude Code](/docs/ru/model-config#default-model-setting) вместо `model`, которую вы передали в параметрах.

187* **`setPermissionMode()` / `set_permission_mode()`**: переключает режим разрешений

188 

189TypeScript также имеет `applyFlagSettings()` и `updateSettings()`:

190 

191* **`applyFlagSettings()`**: применяет настройки во время выполнения, как в `await session.applyFlagSettings({ effortLevel: "high" })`. Метод принимает ключи файла настроек, а не поля параметров, поэтому проверьте [справочник `applyFlagSettings()`](/docs/ru/agent-sdk/typescript#applyflagsettings) для схемы и для того, какие ключи вступают в силу во время сеанса.

192* **`updateSettings()`**: записывает разрешённый набор ключей в локальный файл настроек проекта, как в `await session.updateSettings("localSettings", { outputStyle: "Explanatory" })`. Записанные ключи вступают в силу при следующем запросе сеанса и сохраняются для более поздних сеансов, которые загружают настройки `local`. Строка метода в [таблице методов](/docs/ru/agent-sdk/typescript#methods) называет разрешённые ключи и минимальную версию.

193 

194Пример ниже запускает двухходовой сеанс, изменяет конфигурацию между ходами и выводит модель, которая ответила на каждый ход. В TypeScript поток подсказок удерживает второе сообщение до тех пор, пока установщики не будут запущены, и второй ход выполняется на новой модели.

195 

196<CodeGroup>

197 ```typescript TypeScript theme={null}

198 import { query, type SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";

199 

200 function userMessage(text: string): SDKUserMessage {

201 return { type: "user", message: { role: "user", content: text }, parent_tool_use_id: null };

202 }

203 

204 // Hold the second prompt until the setters have run.

205 let startSecondTurn!: () => void;

206 const secondTurnReady = new Promise<void>((resolve) => {

207 startSecondTurn = resolve;

208 });

209 

210 async function* turnPrompts(): AsyncGenerator<SDKUserMessage, void> {

211 yield userMessage("Reply with exactly: ready");

212 await secondTurnReady;

213 yield userMessage("Reply with exactly: done");

214 }

215 

216 const session = query({

217 prompt: turnPrompts(),

218 options: {

219 model: "claude-sonnet-5",

220 },

221 });

222 

223 let turnModel = "";

224 let completedTurns = 0;

225 

226 for await (const message of session) {

227 if (message.type === "assistant") {

228 turnModel = message.message.model;

229 } else if (message.type === "result") {

230 completedTurns += 1;

231 if (completedTurns === 1) {

232 console.log(`First turn model: ${turnModel}`);

233 await session.setModel("claude-opus-5");

234 await session.setPermissionMode("acceptEdits");

235 startSecondTurn();

236 } else {

237 console.log(`Second turn model: ${turnModel}`);

238 break;

239 }

240 }

241 }

242 ```

243 

244 ```python Python theme={null}

245 import asyncio

246 

247 from claude_agent_sdk import AssistantMessage, ClaudeAgentOptions, ClaudeSDKClient

248 

249 async def main():

250 options = ClaudeAgentOptions(model="claude-sonnet-5")

251 

252 async with ClaudeSDKClient(options=options) as client:

253 await client.query("Reply with exactly: ready")

254 first_model = ""

255 async for message in client.receive_response():

256 if isinstance(message, AssistantMessage):

257 first_model = message.model

258 

259 await client.set_model("claude-opus-5")

260 await client.set_permission_mode("acceptEdits")

261 

262 await client.query("Reply with exactly: done")

263 second_model = ""

264 async for message in client.receive_response():

265 if isinstance(message, AssistantMessage):

266 second_model = message.model

267 

268 print(f"First turn model: {first_model}")

269 print(f"Second turn model: {second_model}")

270 

271 asyncio.run(main())

272 ```

273</CodeGroup>

274 

275На Claude API программа выводит `First turn model: claude-sonnet-5`, затем `Second turn model: claude-opus-5` после переключения.

276 

277<Note>

278 Каждая модель имеет свой собственный кэш подсказок, поэтому после переключения во время сеанса следующий запрос пересчитывает полный разговор без кэша по ставкам новой модели. Для получения дополнительной информации см. [Переключение моделей](/docs/ru/prompt-caching#switching-models).

279</Note>

280 

281<h2 id="configure-specific-features">

282 Настройка конкретных функций

283</h2>

284 

285Таблица ниже сопоставляет каждый параметр с функцией, которую он настраивает. Для параметров, которые эта страница не охватывает, см. [справочники TypeScript](/docs/ru/agent-sdk/typescript#options) и [Python](/docs/ru/agent-sdk/python#claudeagentoptions). Если вы знаете вашу цель, но не знаете, какой параметр её обслуживает, начните с [Выбор правильной функции](/docs/ru/agent-sdk/claude-code-features#choose-the-right-feature).

286 

287| TypeScript | Python | Контролирует | Охватывается в |

288| ------------------------- | --------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

289| `permissionMode` | `permission_mode` | Что агент может делать без одобрения | [Настройка разрешений](/docs/ru/agent-sdk/permissions) |

290| `allowedTools` | `allowed_tools` | Какие вызовы инструментов предварительно одобрены | [Настройка разрешений](/docs/ru/agent-sdk/permissions) |

291| `canUseTool` | `can_use_tool` | Ваш обратный вызов одобрения для вызовов инструментов | [Обработка запросов одобрения инструментов](/docs/ru/agent-sdk/user-input#handle-tool-approval-requests) |

292| `systemPrompt` | `system_prompt` | Инструкции агента | [Изменение системных подсказок](/docs/ru/agent-sdk/modifying-system-prompts) |

293| `settingSources` | `setting_sources` | Какие настройки файловой системы загружаются | [Использование функций Claude Code в SDK](/docs/ru/agent-sdk/claude-code-features) |

294| `mcpServers` | `mcp_servers` | Серверы внешних инструментов | [Подключение к внешним инструментам с MCP](/docs/ru/agent-sdk/mcp) |

295| `agents` | `agents` | Определения подагентов | [Подагенты](/docs/ru/agent-sdk/subagents) |

296| `hooks` | `hooks` | Обратные вызовы в точках жизненного цикла | [Hooks](/docs/ru/agent-sdk/hooks) |

297| `skills` | `skills` | Какие skills загружаются | [Расширение агентов с помощью skills](/docs/ru/agent-sdk/skills) |

298| `plugins` | `plugins` | Какие plugins загружаются | [Plugins](/docs/ru/agent-sdk/plugins) |

299| `outputFormat` | `output_format` | Схемы структурированного вывода | [Структурированные выводы](/docs/ru/agent-sdk/structured-outputs) |

300| `resume` | `resume` | Продолжение сохранённого сеанса | [Сеансы](/docs/ru/agent-sdk/sessions) |

301| `forkSession` | `fork_session` | Ветвление сеанса | [Сеансы](/docs/ru/agent-sdk/sessions) |

302| `sessionStore` | `session_store` | Внешнее сохранение сеанса | [Хранилище сеанса](/docs/ru/agent-sdk/session-storage) |

303| `enableFileCheckpointing` | `enable_file_checkpointing` | Редактируемые файлы с возможностью отката | [File checkpointing](/docs/ru/agent-sdk/file-checkpointing) |

304| `effort` | `effort` | Сколько работы Claude вкладывает в ответы | [Уровень усилий](/docs/ru/agent-sdk/agent-loop#effort-level) |

305| `sandbox` | `sandbox` | Поведение sandbox для выполнения инструментов | [TypeScript](/docs/ru/agent-sdk/typescript#sandbox-configuration) и [Python](/docs/ru/agent-sdk/python#sandbox-configuration) справочники, с контекстом развёртывания в [Безопасное развёртывание](/docs/ru/agent-sdk/secure-deployment) |

306 

307<h2 id="next-steps">

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

309</h2>

310 

311Чтобы увидеть конфигурацию, составленную в рабочих агентов:

312 

313* **[Quickstart](/docs/ru/agent-sdk/quickstart)**: создайте и запустите первого агента от начала до конца

314* **[Примеры](/docs/ru/agent-sdk/examples)**: найдите полный, запускаемый проект или управляемый рецепт Claude Cookbook, который соответствует тому, что вы хотите создать

315* **[Изоляция мультитенантности](/docs/ru/agent-sdk/hosting#multi-tenant-isolation)**: изолируйте настройки и память каждого тенанта с помощью `settingSources` / `setting_sources`, `env` и `cwd`

Details

78 78 

79В TypeScript SDK также выдает [`SDKConversationResetMessage`](/docs/ru/agent-sdk/typescript#sdkconversationresetmessage) при каждом сбросе, поэтому вы можете обнаружить сбросы из потока. В Python SDK аналогично выдает `ConversationResetMessage`. До версии Python SDK v0.2.137 итератор Python отбрасывал это сообщение, поэтому в этих версиях считайте сбросы самостоятельно из ходов `/clear`, которые отправляет ваше приложение.79В TypeScript SDK также выдает [`SDKConversationResetMessage`](/docs/ru/agent-sdk/typescript#sdkconversationresetmessage) при каждом сбросе, поэтому вы можете обнаружить сбросы из потока. В Python SDK аналогично выдает `ConversationResetMessage`. До версии Python SDK v0.2.137 итератор Python отбрасывал это сообщение, поэтому в этих версиях считайте сбросы самостоятельно из ходов `/clear`, которые отправляет ваше приложение.

80 80 

81`maxBudgetUsd`, или `max_budget_usd` в Python, сравнивается с тем же текущим итогом, поэтому `/clear` также начинает бюджет заново.81`maxBudgetUsd` (TypeScript) или `max_budget_usd` (Python) сравнивается с тем же текущим итогом, поэтому `/clear` также начинает бюджет заново.

82 82 

83<h2 id="get-the-total-cost-of-a-query">83<h2 id="get-the-total-cost-of-a-query">

84 Получить общую стоимость запроса84 Получить общую стоимость запроса

Details

138 138 

139Передайте MCP сервер, который вы создали, в `query` через опцию `mcpServers`. Ключ в `mcpServers` становится сегментом `{server_name}` в полностью квалифицированном имени каждого инструмента: `mcp__{server_name}__{tool_name}`. Перечислите это имя в `allowedTools`, чтобы инструмент работал без запроса разрешения.139Передайте MCP сервер, который вы создали, в `query` через опцию `mcpServers`. Ключ в `mcpServers` становится сегментом `{server_name}` в полностью квалифицированном имени каждого инструмента: `mcp__{server_name}__{tool_name}`. Перечислите это имя в `allowedTools`, чтобы инструмент работал без запроса разрешения.

140 140 

141Эти фрагменты повторно используют `weatherServer` из [примера выше](#weather-tool-example), чтобы спросить Claude о погоде в определённом месте.141Эти фрагменты повторно используют `weatherServer` из [примера инструмента Weather](#weather-tool-example), чтобы спросить Claude о погоде в определённом месте.

142 142 

143<CodeGroup>143<CodeGroup>

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

Details

179 </Step>179 </Step>

180 180 

181 <Step title="Захват UUID checkpoint и ID сеанса">181 <Step title="Захват UUID checkpoint и ID сеанса">

182 С установленным параметром `replay-user-messages` (показано выше), каждое пользовательское сообщение в потоке ответов имеет UUID, который служит checkpoint.182 С установленным параметром `replay-user-messages`, каждое пользовательское сообщение в потоке ответов имеет UUID, который служит checkpoint.

183 183 

184 Для большинства случаев использования захватите UUID первого пользовательского сообщения (`message.uuid`); отмотка к нему восстанавливает все файлы в их исходное состояние. Чтобы сохранить несколько checkpoint и отмотать к промежуточным состояниям, см. [Несколько точек восстановления](#multiple-restore-points).184 Для большинства случаев использования захватите UUID первого пользовательского сообщения (`message.uuid`); отмотка к нему восстанавливает все файлы в их исходное состояние. Чтобы сохранить несколько checkpoint и отмотать к промежуточным состояниям, см. [Несколько точек восстановления](#multiple-restore-points).

185 185 

Details

826 826 

827Claude Code запускает каждый callback с timeout, который вы устанавливаете в секундах с помощью поля `timeout` на его `HookMatcher`. Когда вы не устанавливаете его, Claude Code использует значение по умолчанию для события: 600 секунд для большинства событий, 30 секунд для `UserPromptSubmit`, `PreModelSwitch` и `PostModelSwitch`, и 10 секунд для `MessageDisplay`. Claude Code запускает callbacks `SessionEnd` во время завершения работы под более коротким [бюджетом timeout SessionEnd](/docs/ru/hooks#sessionend-input), 1,5 секунды по умолчанию.827Claude Code запускает каждый callback с timeout, который вы устанавливаете в секундах с помощью поля `timeout` на его `HookMatcher`. Когда вы не устанавливаете его, Claude Code использует значение по умолчанию для события: 600 секунд для большинства событий, 30 секунд для `UserPromptSubmit`, `PreModelSwitch` и `PostModelSwitch`, и 10 секунд для `MessageDisplay`. Claude Code запускает callbacks `SessionEnd` во время завершения работы под более коротким [бюджетом timeout SessionEnd](/docs/ru/hooks#sessionend-input), 1,5 секунды по умолчанию.

828 828 

829Когда callback превышает свой timeout, Claude Code отменяет его и рассматривает его как неудачный hook: он отбрасывает выходные данные callback и сеанс продолжается, а не зависает. Что происходит дальше, зависит от события:829Когда callback превышает свой timeout, Claude Code отменяет его и отбрасывает его выходные данные, и сеанс продолжается, а не зависает. Что происходит дальше, зависит от события:

830 830 

831* `PreToolUse`: Claude Code не запускает вызов инструмента, Claude получает результат инструмента, указывающий, что hook не ответил до истечения timeout, и ход продолжается. Если другой hook `PreToolUse` вернул явный отказ, Claude получает этот отказ вместо ошибки timeout. До версии 2.1.210 Claude Code сообщал timeout Claude как отклонение пользователем, что заставляло автоматические сеансы остановиться и ждать ввода.831* `PreToolUse`: Claude Code не запускает вызов инструмента, Claude получает результат инструмента, указывающий, что hook не ответил до истечения timeout, и ход продолжается. Если другой hook `PreToolUse` вернул явный отказ, Claude получает этот отказ вместо ошибки timeout. До версии 2.1.210 Claude Code сообщал timeout Claude как отклонение пользователем, что заставляло автоматические сеансы остановиться и ждать ввода.

832* `PostToolUse` и `PostToolUseFailure`: Claude Code сохраняет результат инструмента и ход продолжается.832* `PostToolUse` и `PostToolUseFailure`: Claude Code сохраняет результат инструмента и ход продолжается.

833* `UserPromptSubmit` и [`UserPromptExpansion`](/docs/ru/hooks#userpromptexpansion): Claude Code блокирует запрос с сообщением, указывающим hook и timeout, и сеанс продолжается. Поскольку callback на этих событиях может действовать как политический шлюз, Claude Code никогда не пропускает истекший по времени запрос без проверки. До версии 2.1.208 Claude Code завершал запрос с `error_during_execution`, когда callback на этих событиях истекал по времени.833* `UserPromptSubmit` и [`UserPromptExpansion`](/docs/ru/hooks#userpromptexpansion): Claude Code блокирует запрос с сообщением, указывающим hook и timeout, и сеанс продолжается. Поскольку callback на этих событиях может действовать как политический шлюз, Claude Code никогда не пропускает истекший по времени запрос без проверки. До версии 2.1.208 Claude Code завершал запрос с `error_during_execution`, когда callback на этих событиях истекал по времени.

834* `Stop` и `SubagentStop`: Claude Code показывает предупреждение и агент останавливается нормально.834* `Stop` и `SubagentStop`: истекший по времени callback считается возвращающим отсутствие решения. Агент или подагент останавливается так, как если бы этот callback разрешил это, и решение из ваших других hooks на событие все еще применяется. До Claude Code версии 2.1.273 истекший по времени callback `Stop` или `SubagentStop` считался неудачным запуском hook, и Claude Code отбрасывал решения ваших других hooks на событие.

835* `SessionStart`: истекший по времени callback считается возвращающим отсутствие выходных данных, и сеанс продолжается с выходными данными ваших других hooks `SessionStart`.

835* `PreModelSwitch`: Claude Code блокирует переключение модели. Hook, который не отвечает, не одобрил переключение.836* `PreModelSwitch`: Claude Code блокирует переключение модели. Hook, который не отвечает, не одобрил переключение.

836* Другие события, такие как `Notification`, `PreCompact` и `PostModelSwitch`: Claude Code логирует сбой и продолжает.837* Другие события, такие как `Notification`, `PreCompact` и `PostModelSwitch`: Claude Code логирует сбой и продолжает.

837 838 

839Первый раз, когда callback `Stop` или `SessionStart` истекает по времени в основном сеансе, Claude Code также добавляет [`SDKInformationalMessage`](/docs/ru/agent-sdk/typescript#sdkinformationalmessage) в поток сообщений, говоря, что приложение, управляющее сеансом, не ответило. Более поздние timeout не повторяют это сообщение, пока ваше приложение остается неответчивым.

840 

838Если вы прерываете запрос во время ожидания callback, Claude Code отменяет ожидающий вызов инструмента. До версии 2.1.208 вызов инструмента мог все еще продолжиться, если вы прервали во время ожидания callback `PreToolUse`.841Если вы прерываете запрос во время ожидания callback, Claude Code отменяет ожидающий вызов инструмента. До версии 2.1.208 вызов инструмента мог все еще продолжиться, если вы прервали во время ожидания callback `PreToolUse`.

839 842 

840Если вашему callback нужно больше времени, установите более высокий `timeout` на его `HookMatcher`. В TypeScript используйте `AbortSignal` из третьего аргумента callback для корректной обработки отмены, когда истекает timeout.843Если вашему callback нужно больше времени, установите более высокий `timeout` на его `HookMatcher`. В TypeScript используйте `AbortSignal` из третьего аргумента callback для корректной обработки отмены, когда истекает timeout.

Details

147 147 

148 declare const userInput: string;148 declare const userInput: string;

149 declare const sessionId: string; // looked up from your database by user149 declare const sessionId: string; // looked up from your database by user

150 declare const sessionStore: SessionStore; // S3, Redis, Postgres, or your own adapter150 declare const sessionStore: SessionStore; // an object store, key-value store, database, or your own adapter

151 151 

152 for await (const message of query({152 for await (const message of query({

153 prompt: userInput,153 prompt: userInput,


163 163 

164 user_input: str = ...164 user_input: str = ...

165 session_id: str = ... # looked up from your database by user165 session_id: str = ... # looked up from your database by user

166 session_store: SessionStore = ... # S3, Redis, Postgres, or your own adapter166 session_store: SessionStore = ... # an object store, key-value store, database, or your own adapter

167 167 

168 168 

169 async def main():169 async def main():


244 Сохранение сеанса и состояния244 Сохранение сеанса и состояния

245</h3>245</h3>

246 246 

247Локальный диск по умолчанию теряется при перезагрузке, масштабировании или перемещении на другой узел. Для любого сеанса, который пользователь ожидает возобновить, зеркалируйте транскрипт в долговечное хранилище с помощью адаптера [`SessionStore`](/docs/ru/agent-sdk/session-storage). См. [Эталонные реализации](/docs/ru/agent-sdk/session-storage#reference-implementations) для адаптеров S3, Redis и Postgres, а также набор соответствия для вашего собственного.247Локальный диск по умолчанию теряется при перезагрузке, масштабировании или перемещении на другой узел. Для любого сеанса, который пользователь ожидает возобновить, зеркалируйте транскрипт в долговечное хранилище с помощью адаптера [`SessionStore`](/docs/ru/agent-sdk/session-storage). См. [Эталонные реализации](/docs/ru/agent-sdk/session-storage#reference-implementations) для адаптеров хранилища объектов, хранилища ключ-значение и базы данных, а также набор соответствия для вашего собственного.

248 248 

249Три важных момента о том, как ведет себя `SessionStore`:249Три важных момента о том, как ведет себя `SessionStore`:

250 250 

agent-sdk/mcp.md +12 −1

Details

156 Время подключения156 Время подключения

157</h2>157</h2>

158 158 

159Claude Code регистрирует серверы, которые вы передаёте в `options.mcpServers` при запуске и отправляет [сообщение инициализации](#error-handling) после разрешения первого ожидания, если оно есть. Без `options.mcpServers` Claude Code ждёт 2 секунды для ожидающих серверов перед первым ходом, поэтому серверы, загруженные из [файлов конфигурации](#from-a-config-file), таких как `.mcp.json`, обычно показывают статус `pending` при инициализации. Когда каждый сервер из `options.mcpServers` подключается и задерживает ли он первый ход, зависит от его типа:159Claude Code регистрирует серверы, которые вы передаёте в `options.mcpServers` при запуске и отправляет [сообщение инициализации](#error-handling) после разрешения первого ожидания, если оно есть. Подключение каждого сервера из `options.mcpServers` и задерживает ли он первый ход, зависит от его типа:

160 160 

161| Тип сервера | Задерживает первый ход? | Тайм-аут ожидания первого хода |161| Тип сервера | Задерживает первый ход? | Тайм-аут ожидания первого хода |

162| :------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------- |162| :------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------- |


164| Удалённый сервер с кэшированным списком инструментов, сохранённый Claude Code из предыдущего подключения | Нет; кэшированные инструменты доступны с первого хода | Нет; подключается при первом вызове инструмента, и это отложенное подключение имеет собственный тайм-аут |164| Удалённый сервер с кэшированным списком инструментов, сохранённый Claude Code из предыдущего подключения | Нет; кэшированные инструменты доступны с первого хода | Нет; подключается при первом вызове инструмента, и это отложенное подключение имеет собственный тайм-аут |

165| In-process [SDK сервер](#sdk-mcp-servers) | Да, до подключения и получения списка инструментов | Нет; запросы подключения и получения списка инструментов имеют собственные тайм-ауты |165| In-process [SDK сервер](#sdk-mcp-servers) | Да, до подключения и получения списка инструментов | Нет; запросы подключения и получения списка инструментов имеют собственные тайм-ауты |

166 166 

167Серверы, загруженные из [файлов конфигурации](#from-a-config-file), таких как `.mcp.json`, или из плагинов обычно показывают `pending` в сообщении инициализации. Когда `options.mcpServers` содержит сервер stdio, HTTP или SSE, первый ход ждёт эти ожидающие серверы тоже, до `MCP_TIMEOUT`. Когда `options.mcpServers` пуст или содержит только SDK серверы, первый ход ждёт до 2 секунд вместо этого:

168 

169* **С [поиском инструментов](/docs/ru/agent-sdk/tool-search), по умолчанию**: ожидание охватывает всё ещё ожидающие серверы, настроенные с [`alwaysLoad: true`](/docs/ru/mcp#exempt-a-server-from-deferral), и не остальные. Остальные продолжают подключаться в фоновом режиме. [Доступность инструментов](/docs/ru/mcp#tool-availability) описывает, как Claude достигает их инструментов после подключения.

170* **Без поиска инструментов**: ожидание охватывает каждый ожидающий сервер. [Настройка поиска инструментов](/docs/ru/agent-sdk/tool-search#configure-tool-search) охватывает то, что отключает поиск инструментов. Если вы исключите инструмент `ToolSearch` из сеанса, например через `disallowedTools`, сеанс также работает без поиска инструментов.

171 

172Если вы установите `permissionPromptToolName`, первый ход также ждёт сервер этого инструмента в каждом случае, до `MCP_TIMEOUT`.

173 

174Чтобы установить ожидание первого хода самостоятельно, добавьте `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` в [опцию `env`](/docs/ru/agent-sdk/configuration#set-environment-variables), например `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`. Первый ход затем ждёт до этого количества миллисекунд для каждого ожидающего сервера, независимо от того, доступен ли поиск инструментов. Этот срок также заменяет ожидание первого хода `MCP_TIMEOUT` для серверов stdio, HTTP и SSE в `options.mcpServers`. `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` требует Claude Code версии 2.1.274 или позже.

175 

176Серверы, которые всё ещё ожидают, когда ожидание заканчивается, продолжают подключаться в фоновом режиме. Установите переменную в `0`, чтобы пропустить ожидание. Сервер `permissionPromptToolName` сохраняет собственное ожидание `MCP_TIMEOUT` независимо от значения.

177 

167Чтобы заблокировать сам запуск на отдельной, более ранней фазе, чем ожидание первого хода, перед отправкой сообщения инициализации:178Чтобы заблокировать сам запуск на отдельной, более ранней фазе, чем ожидание первого хода, перед отправкой сообщения инициализации:

168 179 

169* Установите [`MCP_CONNECTION_NONBLOCKING`](/docs/ru/env-vars) в значение `0`, чтобы заблокировать всю партию подключений. Claude Code ограничивает это ожидание 5 секундами по умолчанию. Отрегулируйте ограничение с помощью переменной окружения [`MCP_CONNECT_TIMEOUT_MS`](/docs/ru/env-vars) в миллисекундах. Серверы, которые всё ещё ожидают в этот момент, продолжают подключаться в фоновом режиме.180* Установите [`MCP_CONNECTION_NONBLOCKING`](/docs/ru/env-vars) в значение `0`, чтобы заблокировать всю партию подключений. Claude Code ограничивает это ожидание 5 секундами по умолчанию. Отрегулируйте ограничение с помощью переменной окружения [`MCP_CONNECT_TIMEOUT_MS`](/docs/ru/env-vars) в миллисекундах. Серверы, которые всё ещё ожидают в этот момент, продолжают подключаться в фоновом режиме.

Details

152 152 

153После создания активируйте стили вывода через:153После создания активируйте стили вывода через:

154 154 

155* **CLI**: запустите `/config` и выберите стиль вывода155* **CLI**: запустите `/output-style <style>`, например `/output-style concise`, или запустите `/config` и выберите один. Команда `/output-style` требует Claude Code v2.1.269 или позже.

156* **Параметры**: установите `outputStyle` в `.claude/settings.local.json`156* **Параметры**: установите `outputStyle` в `.claude/settings.local.json`

157* **TypeScript SDK**: установите `outputStyle` внутри встроенного объекта `settings`, передаваемого в `query()`, или укажите `settings` на файл параметров, который его устанавливает. `outputStyle` не является полем `Options` верхнего уровня:157* **TypeScript SDK**: установите `outputStyle` внутри встроенного объекта `settings`, передаваемого в `query()`, или укажите `settings` на файл параметров, который его устанавливает. `outputStyle` не является полем `Options` верхнего уровня:

158 158 


352 Кэширование статической части пользовательской подсказки352 Кэширование статической части пользовательской подсказки

353</h4>353</h4>

354 354 

355В TypeScript SDK вы можете передать пользовательскую подсказку как массив строк вместо одной строки, с маркером `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` между статической частью и остальным. Используйте это, когда ваша подсказка объединяет инструкции, которые одинаковы на каждом запросе, с контекстом, который изменяется для каждого запроса, например клиент или билет, который обрабатывает агент. Когда вы передаёте обе части как одну строку, изменение части для каждого запроса изменяет всю системную подсказку, поэтому статические инструкции пропускают кэш тоже. Эта форма недоступна в Python SDK, чей параметр `system_prompt` принимает строку, предустановку или [файл](/docs/ru/agent-sdk/python#systempromptfile).355В TypeScript SDK вы можете передать пользовательскую подсказку как массив строк вместо одной строки, с маркером `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` между статической частью и остальным. Используйте это, когда ваша подсказка объединяет инструкции, которые одинаковы на каждом запросе, с контекстом, который изменяется для каждого запроса, например клиент или билет, который обрабатывает агент. Когда вы передаёте обе части как одну строку, изменение части для каждого запроса изменяет всю системную подсказку, поэтому статические инструкции пропускают кэш тоже. Форма массива недоступна в Python SDK; [`ClaudeAgentOptions`](/docs/ru/agent-sdk/python#claudeagentoptions) перечисляет формы, которые принимает `system_prompt`.

356 356 

357<Note>357<Note>

358 SDK разделяет подсказку только когда он вызывает Claude API напрямую или работает на [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Во всех остальных конфигурациях, таких как Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или [LLM gateway](/docs/ru/llm-gateway-connect), и когда вы установите [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities), SDK отправляет всю подсказку как один блок, то же самое, что передача одной строки.358 SDK разделяет подсказку только когда он вызывает Claude API напрямую или работает на [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Во всех остальных конфигурациях, таких как Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или [LLM gateway](/docs/ru/llm-gateway-connect), и когда вы установите [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities), SDK отправляет всю подсказку как один блок, то же самое, что передача одной строки.


391 Изменение подсказки существующего сеанса391 Изменение подсказки существующего сеанса

392</h3>392</h3>

393 393 

394По умолчанию Claude Code строит системную подсказку один раз, на первом запросе сеанса, с включённым вашим текстом `append` или пользовательской подсказкой, и записывает её в сеанс. До сжатия сеанса каждый более поздний запрос использует эту записанную подсказку, включая после возврата к сеансу с помощью `resume` или `continue`. Если вы передаёте другой `append` или пользовательскую подсказку на этом более позднем вызове, это вступает в силу после сжатия сеанса или в новом сеансе.394По умолчанию, если вы передаёте другой `append` или пользовательскую подсказку, когда вы возвращаетесь к сеансу с помощью `resume` или `continue`, Claude не видит это на следующем ходу. Claude Code записывает системную подсказку на первом запросе сеанса и переиспользует эту запись до сжатия сеанса. Новый текст вступает в силу после этого сжатия или в новом сеансе.

395 395 

396Если вы запустите Claude Code в [bare mode](/docs/ru/headless#start-faster-with-bare-mode), передав `--bare` через `extraArgs` или установив `CLAUDE_CODE_SIMPLE=1`, запись остаётся отключённой, если вы не установите `snapshot: true` на форме объекта `systemPrompt`. Запись `append` или пользовательской подсказки по умолчанию требует Claude Code v2.1.265 или позже, который TypeScript Agent SDK поставляет с v0.3.265. До Claude Code v2.1.268 сеансы, которые не [получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), включая сеансы на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, перестраивали подсказку на каждом запросе и `snapshot` не имел эффекта.396<h4 id="update-claude’s-instructions-mid-session">

397 Обновление инструкций Claude в середине сеанса

398</h4>

399 

400Если инструкции, которые вы поместили в системную подсказку, должны измениться во время работы сеанса, например потому что ваш пользователь переключил агента в режим только для чтения или отредактировал его конфигурацию в вашем приложении, отправьте новые инструкции в разговор вместо изменения `systemPrompt`:

401 

402* **В вашем следующем сообщении**: включите новые инструкции в следующее пользовательское сообщение, которое вы отправляете.

403* **Из hook**: верните [`additionalContext`](/docs/ru/hooks#add-context-for-claude) из callback `UserPromptSubmit` или `PostToolUse` [hook](/docs/ru/agent-sdk/hooks#outputs), написанный как фактическое утверждение, такое как "The workspace is now read-only". SDK вставляет текст в разговор в точке, где сработал hook, поэтому записанная подсказка остаётся неизменной.

404 

405<h4 id="turn-recording-off-while-you-iterate-on-wording">

406 Отключение записи во время итерации формулировки

407</h4>

408 

409Пока вы итерируете формулировку подсказки и хотите, чтобы каждое редактирование достигло сеанса, который вы возобновляете, установите `snapshot` на false на форме объекта системной подсказки. Claude Code затем перестраивает подсказку на каждом запросе. Поле доступно на форме preset и custom [`systemPrompt`](/docs/ru/agent-sdk/typescript#options) в TypeScript и [`system_prompt`](/docs/ru/agent-sdk/python#systempromptpreset) в Python, и требует `@anthropic-ai/claude-agent-sdk` v0.3.257 или позже, или `claude-agent-sdk` v0.2.153 или позже.

410 

411Сохраняйте запись включённой в production. С записью отключённой, другой `append` или пользовательская подсказка на возобновлённом сеансе достигает Claude на следующем ходу, и этот запрос не может переиспользовать [кэш подсказок](/docs/ru/prompt-caching#how-the-cache-is-organized) сеанса. Где API требует [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking), Claude также теряет своё мышление из более ранних ходов.

412 

413Вне [cloud sessions](/docs/ru/cloud-environments), если вы запустите Claude Code в [bare mode](/docs/ru/headless#start-faster-with-bare-mode), передав `--bare` через `extraArgs` или установив `CLAUDE_CODE_SIMPLE=1`, запись остаётся отключённой, если вы не установите `snapshot: true`.

397 414 

398Чтобы вместо этого перестраивать подсказку на каждом запросе, установите `snapshot: false` на форме объекта `systemPrompt` в TypeScript SDK: `{ type: "preset", preset: "claude_code", append, snapshot: false }` или `{ type: "custom", prompt, snapshot: false }`. Используйте эту форму, пока вы итерируете формулировку подсказки, или когда ваше приложение изменяет `append` между вызовами, которые возобновляют один и тот же сеанс. Поле `snapshot` требует `@anthropic-ai/claude-agent-sdk` v0.3.257 или позже.415Запись `append` или пользовательской подсказки по умолчанию требует Claude Code v2.1.265 или позже, который TypeScript Agent SDK поставляет с v0.3.265 и Python Agent SDK с v0.2.153. До Claude Code v2.1.268 сеансы, которые не [получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), включая сеансы на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, перестраивали подсказку на каждом запросе и `snapshot` не имел эффекта.

399 416 

400<h2 id="compare-the-four-approaches">417<h2 id="compare-the-four-approaches">

401 Сравнение четырех подходов418 Сравнение четырех подходов

Details

254| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |254| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

255| `OTEL_LOG_USER_PROMPTS=1` | Текст подсказки на событиях `claude_code.user_prompt` и на span `claude_code.interaction` |255| `OTEL_LOG_USER_PROMPTS=1` | Текст подсказки на событиях `claude_code.user_prompt` и на span `claude_code.interaction` |

256| `OTEL_LOG_TOOL_DETAILS=1` | Аргументы входных данных инструмента (пути файлов, команды оболочки, шаблоны поиска) на событиях `claude_code.tool_result` |256| `OTEL_LOG_TOOL_DETAILS=1` | Аргументы входных данных инструмента (пути файлов, команды оболочки, шаблоны поиска) на событиях `claude_code.tool_result` |

257| `OTEL_LOG_TOOL_CONTENT=1` | Полные тела входных и выходных данных инструмента как события span на `claude_code.tool`, усечённые на 60 КБ по умолчанию, настраиваемые через `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, что требует Claude Code v2.1.214 или более поздней версии. Требует, чтобы [трассировка](#read-agent-traces) была включена |257| `OTEL_LOG_TOOL_CONTENT=1` | Событие span [`tool.output`](/docs/ru/monitoring-usage#tool-output-span-event) на `claude_code.tool` с содержимым файлов и выводом Bash, усечённое на 60 КБ по умолчанию, настраиваемое через `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, что требует Claude Code v2.1.214 или более поздней версии. Требует, чтобы [трассировка](#read-agent-traces) была включена. Атрибуты span содержат содержимое инструмента в соответствии с [их собственными шлюзами](/docs/ru/monitoring-usage#new-context-gates) |

258| `OTEL_LOG_RAW_API_BODIES` | Полный JSON запроса и ответа Anthropic Messages API как события логов `claude_code.api_request_body` и `claude_code.api_response_body`. Установите на `1` для встроенных тел, усечённых на 60 КБ по умолчанию, или `file:<dir>` для неусечённых тел на диске с путём `body_ref` в событии. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` настраивает лимит встроенного усечения, и требует Claude Code v2.1.214 или более поздней версии. Тела включают всю историю разговора и имеют содержимое расширенного мышления отредактировано. Включение этого подразумевает согласие на всё, что раскроют три переменные выше |258| `OTEL_LOG_RAW_API_BODIES` | Полный JSON запроса и ответа Anthropic Messages API как события логов `claude_code.api_request_body` и `claude_code.api_response_body`. Установите на `1` для встроенных тел, усечённых на 60 КБ по умолчанию, или `file:<dir>` для неусечённых тел на диске с путём `body_ref` в событии. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` настраивает лимит встроенного усечения, и требует Claude Code v2.1.214 или более поздней версии. Тела включают всю историю разговора и имеют содержимое расширенного мышления отредактировано. Включение этого подразумевает согласие на всё, что раскроют три переменные выше |

259 259 

260Оставьте эти переменные неустановленными, если ваш конвейер наблюдаемости не одобрен для хранения данных, которые обрабатывает ваш агент. См. [Безопасность и конфиденциальность](/docs/ru/monitoring-usage#security-and-privacy) в справочнике Monitoring для полного списка атрибутов и поведения редактирования.260Оставьте эти переменные неустановленными, если ваш конвейер наблюдаемости не одобрен для хранения данных, которые обрабатывает ваш агент. См. [Безопасность и конфиденциальность](/docs/ru/monitoring-usage#security-and-privacy) в справочнике Monitoring для полного списка атрибутов и поведения редактирования.

Details

301 301 

302Редактирование файлов никогда не одобряется автоматически в режиме планирования, даже когда правило разрешения совпадает. Вместо этого они запрашиваются через ваш обратный вызов `canUseTool`. В Claude Code v2.1.212 или более поздней версии команды оболочки, которые изменяют файлы, такие как `touch` и `rm`, достигают вашего обратного вызова `canUseTool` таким же образом.302Редактирование файлов никогда не одобряется автоматически в режиме планирования, даже когда правило разрешения совпадает. Вместо этого они запрашиваются через ваш обратный вызов `canUseTool`. В Claude Code v2.1.212 или более поздней версии команды оболочки, которые изменяют файлы, такие как `touch` и `rm`, достигают вашего обратного вызова `canUseTool` таким же образом.

303 303 

304Если вы установите `allowDangerouslySkipPermissions: true` вместе с `permissionMode: 'plan'`, редактирование файлов и команды оболочки, которые изменяют файлы, по-прежнему достигают вашего обратного вызова `canUseTool`. Опция позволяет вам позже переключиться на `bypassPermissions` с помощью `setPermissionMode()`.

305 

304Claude может использовать `AskUserQuestion` для уточнения требований перед финализацией плана. См. [Обработка одобрений и ввода пользователя](/docs/ru/agent-sdk/user-input#handle-clarifying-questions) для обработки этих запросов.306Claude может использовать `AskUserQuestion` для уточнения требований перед финализацией плана. См. [Обработка одобрений и ввода пользователя](/docs/ru/agent-sdk/user-input#handle-clarifying-questions) для обработки этих запросов.

305 307 

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

Details

119</h4>119</h4>

120 120 

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

122| :------------- | :---------------------------------------------- | :------------------------------------------------------------------------------ |122| :------------- | :---------------------------------------------- | :--------------------------------------------------------------------------------------------------- |

123| `name` | `str` | Уникальный идентификатор инструмента |123| `name` | `str` | Уникальный идентификатор инструмента |

124| `description` | `str` | Понятное описание того, что делает инструмент |124| `description` | `str` | Понятное описание того, что делает инструмент |

125| `input_schema` | `type \| dict[str, Any]` | Схема, определяющая входные параметры инструмента (см. ниже) |125| `input_schema` | `type \| dict[str, Any]` | Схема, определяющая входные параметры инструмента. См. [Input schema options](#input-schema-options) |

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

127 127 

128<h4 id="input-schema-options">128<h4 id="input-schema-options">


537| `receive_response()` | Получайте сообщения до и включая ResultMessage |537| `receive_response()` | Получайте сообщения до и включая ResultMessage |

538| `interrupt()` | Отправьте сигнал прерывания (работает только в режиме потоковой передачи) |538| `interrupt()` | Отправьте сигнал прерывания (работает только в режиме потоковой передачи) |

539| `set_permission_mode(mode)` | Измените режим разрешений для текущего сеанса |539| `set_permission_mode(mode)` | Измените режим разрешений для текущего сеанса |

540| `set_model(model)` | Измените модель для текущего сеанса. Передайте `None` для сброса на значение по умолчанию |540| `set_model(model)` | Измените модель для текущего сеанса. Передайте `None` для сброса на [модель по умолчанию Claude Code](/docs/ru/model-config) |

541| `rewind_files(user_message_id)` | Восстановите файлы в их состояние в указанном пользовательском сообщении. Требует `enable_file_checkpointing=True`. См. [File checkpointing](/docs/ru/agent-sdk/file-checkpointing) |541| `rewind_files(user_message_id)` | Восстановите файлы в их состояние в указанном пользовательском сообщении. Требует `enable_file_checkpointing=True`. См. [File checkpointing](/docs/ru/agent-sdk/file-checkpointing) |

542| `get_mcp_status()` | Получите статус всех настроенных MCP servers. Возвращает [`McpStatusResponse`](#mcpstatusresponse) |542| `get_mcp_status()` | Получите статус всех настроенных MCP servers. Возвращает [`McpStatusResponse`](#mcpstatusresponse) |

543| `reconnect_mcp_server(server_name)` | Повторите попытку подключения к MCP server, который не удался или был отключен |543| `reconnect_mcp_server(server_name)` | Повторите попытку подключения к MCP server, который не удался или был отключен |


845class ClaudeAgentOptions:845class ClaudeAgentOptions:

846 tools: list[str] | ToolsPreset | None = None846 tools: list[str] | ToolsPreset | None = None

847 allowed_tools: list[str] = field(default_factory=list)847 allowed_tools: list[str] = field(default_factory=list)

848 system_prompt: str | SystemPromptPreset | SystemPromptFile | None = None848 system_prompt: str | SystemPromptPreset | SystemPromptCustom | SystemPromptFile | None = None

849 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)849 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)

850 strict_mcp_config: bool = False850 strict_mcp_config: bool = False

851 permission_mode: PermissionMode | None = None851 permission_mode: PermissionMode | None = None


894```894```

895 895 

896| Свойство | Тип | По умолчанию | Описание |896| Свойство | Тип | По умолчанию | Описание |

897| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |897| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Конфигурация инструментов. Используйте `{"type": "preset", "preset": "claude_code"}` для инструментов Claude Code по умолчанию |898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Конфигурация инструментов. Используйте `{"type": "preset", "preset": "claude_code"}` для инструментов Claude Code по умолчанию |

899| `allowed_tools` | `list[str]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами. Если вы назовете один из [инструментов отслеживания задач](/docs/ru/agent-sdk/todo-tracking#model-availability) здесь, Claude Code также включает сеанс. Другие неуказанные инструменты переходят к `permission_mode` и `can_use_tool`. Используйте `disallowed_tools` для блокировки инструментов. См. [Permissions](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |899| `allowed_tools` | `list[str]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами. Если вы назовете один из [инструментов отслеживания задач](/docs/ru/agent-sdk/todo-tracking#model-availability) здесь, Claude Code также включает сеанс. Другие неуказанные инструменты переходят к `permission_mode` и `can_use_tool`. Используйте `disallowed_tools` для блокировки инструментов. См. [Permissions](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |

900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptFile \| None` | `None` | Конфигурация системной подсказки. Передайте строку для пользовательской подсказки, `{"type": "preset", "preset": "claude_code"}` для системной подсказки Claude Code с дополнительным `"append"`, или `{"type": "file", "path": "..."}` для загрузки большой подсказки с диска. См. [`SystemPromptPreset`](#systempromptpreset) и [`SystemPromptFile`](#systempromptfile) |900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | Конфигурация системной подсказки. Передайте строку для пользовательской подсказки, `{"type": "preset", "preset": "claude_code"}` для системной подсказки Claude Code с дополнительным `"append"`, `{"type": "custom", "prompt": "..."}` для пользовательской подсказки, которая также может установить `"snapshot"`, или `{"type": "file", "path": "..."}` для загрузки большой подсказки с диска. См. [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom) и [`SystemPromptFile`](#systempromptfile) |

901| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Конфигурации MCP server или путь к файлу конфигурации |901| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Конфигурации MCP server или путь к файлу конфигурации |

902| `strict_mcp_config` | `bool` | `False` | Когда `True`, используйте только servers, переданные в `mcp_servers`, и игнорируйте проект `.mcp.json`, параметры пользователя, MCP servers, предоставленные plugins, и [claude.ai connectors](/docs/ru/mcp#use-mcp-servers-from-claude-ai). Соответствует флагу CLI `--strict-mcp-config` |902| `strict_mcp_config` | `bool` | `False` | Когда `True`, используйте только servers, переданные в `mcp_servers`, и игнорируйте проект `.mcp.json`, параметры пользователя, MCP servers, предоставленные plugins, и [claude.ai connectors](/docs/ru/mcp#use-mcp-servers-from-claude-ai). Соответствует флагу CLI `--strict-mcp-config` |

903| `permission_mode` | `PermissionMode \| None` | `None` | Режим разрешений для использования инструментов |903| `permission_mode` | `PermissionMode \| None` | `None` | Режим разрешений для использования инструментов |


905| `resume` | `str \| None` | `None` | ID сеанса для возобновления |905| `resume` | `str \| None` | `None` | ID сеанса для возобновления |

906| `session_id` | `str \| None` | `None` | Используйте определенный ID сеанса вместо автоматически сгенерированного. Должен быть действительным UUID. Не может быть объединен с `continue_conversation` или `resume`, если `fork_session` также не установлен |906| `session_id` | `str \| None` | `None` | Используйте определенный ID сеанса вместо автоматически сгенерированного. Должен быть действительным UUID. Не может быть объединен с `continue_conversation` или `resume`, если `fork_session` также не установлен |

907| `max_turns` | `int \| None` | `None` | Максимальное количество агентских ходов (раунды использования инструментов) |907| `max_turns` | `int \| None` | `None` | Максимальное количество агентских ходов (раунды использования инструментов) |

908| `max_budget_usd` | `float \| None` | `None` | Остановите запрос, когда оценка стоимости на стороне клиента достигнет этого значения USD. Сравнивается с той же оценкой, что и `total_cost_usd`; см. [Track cost and usage](/docs/ru/agent-sdk/cost-tracking) для предостережений точности |908| `max_budget_usd` | `float \| None` | `None` | Остановите запрос, когда оценка стоимости на стороне клиента достигнет этого значения USD. Сравнивается с той же оценкой, что и `total_cost_usd`. Для предостережений точности и поведения сброса см. [Track cost and usage](/docs/ru/agent-sdk/cost-tracking) |

909| `disallowed_tools` | `list[str]` | `[]` | Инструменты для отклонения. Простое имя, такое как `"Bash"`, удаляет инструмент из контекста Claude. Правило с областью действия, такое как `"Bash(rm *)"`, оставляет инструмент доступным и отклоняет совпадающие вызовы в каждом режиме разрешений, включая `bypassPermissions`, для команды [как написано](/docs/ru/permissions#bash-rule-limits). См. [Permissions](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |909| `disallowed_tools` | `list[str]` | `[]` | Инструменты для отклонения. Простое имя, такое как `"Bash"`, удаляет инструмент из контекста Claude. Правило с областью действия, такое как `"Bash(rm *)"`, оставляет инструмент доступным и отклоняет совпадающие вызовы в каждом режиме разрешений, включая `bypassPermissions`, для команды [как написано](/docs/ru/permissions#bash-rule-limits). См. [Permissions](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |

910| `enable_file_checkpointing` | `bool` | `False` | Включить отслеживание изменений файлов для перемотки. См. [File checkpointing](/docs/ru/agent-sdk/file-checkpointing) |910| `enable_file_checkpointing` | `bool` | `False` | Включить отслеживание изменений файлов для перемотки. См. [File checkpointing](/docs/ru/agent-sdk/file-checkpointing) |

911| `model` | `str \| None` | `None` | Псевдоним модели Claude или полное имя модели. См. [accepted values and provider-specific IDs](/docs/ru/model-config#available-models) |911| `model` | `str \| None` | `None` | Псевдоним модели Claude или полное имя модели. См. [accepted values and provider-specific IDs](/docs/ru/model-config#available-models) |

912| `fallback_model` | `str \| None` | `None` | Резервная модель для использования, если основная модель не работает |912| `fallback_model` | `str \| None` | `None` | Резервная модель для использования, если основная модель не работает. Принимает список, разделенный запятыми. Для руководства см. [Choose a model](/docs/ru/agent-sdk/configuration#choose-a-model) |

913| `betas` | `list[SdkBeta]` | `[]` | Функции бета-версии для включения. См. [`SdkBeta`](#sdkbeta) для доступных опций |913| `betas` | `list[SdkBeta]` | `[]` | Функции бета-версии для включения. См. [`SdkBeta`](#sdkbeta) для доступных опций |

914| `output_format` | `dict[str, Any] \| None` | `None` | Формат вывода для структурированных ответов (например, `{"type": "json_schema", "schema": {...}}`). См. [Structured outputs](/docs/ru/agent-sdk/structured-outputs) для деталей |914| `output_format` | `dict[str, Any] \| None` | `None` | Формат вывода для структурированных ответов (например, `{"type": "json_schema", "schema": {...}}`). См. [Structured outputs](/docs/ru/agent-sdk/structured-outputs) для деталей |

915| `permission_prompt_tool_name` | `str \| None` | `None` | Имя MCP tool для подсказок разрешений |915| `permission_prompt_tool_name` | `str \| None` | `None` | Имя MCP tool для подсказок разрешений |

916| `cwd` | `str \| Path \| None` | `None` | Текущий рабочий каталог |916| `cwd` | `str \| Path \| None` | `None` | Текущий рабочий каталог |

917| `cli_path` | `str \| Path \| None` | `None` | Пользовательский путь к исполняемому файлу Claude Code CLI |917| `cli_path` | `str \| Path \| None` | `None` | Пользовательский путь к исполняемому файлу Claude Code CLI |

918| `settings` | `str \| None` | `None` | Путь к файлу параметров |918| `settings` | `str \| None` | `None` | Путь к файлу параметров или встроенная строка JSON |

919| `add_dirs` | `list[str \| Path]` | `[]` | Дополнительные каталоги Claude может получить доступ. SDK передает каждую запись в Claude Code как `--add-dir`, поэтому с параметром `project` setting source Claude Code также [загружает skills, commands и subagents каталога](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) |919| `add_dirs` | `list[str \| Path]` | `[]` | Дополнительные каталоги Claude может получить доступ. SDK передает каждую запись в Claude Code как `--add-dir`, поэтому с параметром `project` setting source Claude Code также [загружает skills, commands и subagents каталога](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) |

920| `env` | `dict[str, str]` | `{}` | Переменные окружения, объединенные поверх унаследованного окружения процесса. См. [Environment variables](/docs/ru/env-vars) для переменных, которые читает базовый CLI, и [Handle slow or stalled API responses](#handle-slow-or-stalled-api-responses) для переменных, связанных с тайм-аутом |920| `env` | `dict[str, str]` | `{}` | Переменные окружения, объединенные поверх унаследованного окружения процесса. См. [Environment variables](/docs/ru/env-vars) для переменных, которые читает базовый CLI, и [Handle slow or stalled API responses](#handle-slow-or-stalled-api-responses) для переменных, связанных с тайм-аутом |

921| `extra_args` | `dict[str, str \| None]` | `{}` | Дополнительные аргументы CLI для прямой передачи в CLI |921| `extra_args` | `dict[str, str \| None]` | `{}` | Дополнительные аргументы CLI для прямой передачи в CLI |


934| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Программно определенные subagents |934| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Программно определенные subagents |

935| `plugins` | `list[SdkPluginConfig]` | `[]` | Загрузите пользовательские plugins из локальных путей. См. [Plugins](/docs/ru/agent-sdk/plugins) для деталей |935| `plugins` | `list[SdkPluginConfig]` | `[]` | Загрузите пользовательские plugins из локальных путей. См. [Plugins](/docs/ru/agent-sdk/plugins) для деталей |

936| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Программно настройте поведение sandbox. См. [Sandbox settings](#sandboxsettings) для деталей |936| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Программно настройте поведение sandbox. См. [Sandbox settings](#sandboxsettings) для деталей |

937| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Контролируйте, какие параметры файловой системы загружать. Передайте `[]` для отключения пользовательских, проектных и локальных параметров. Управляемые параметры политики загружаются независимо; параметры, управляемые сервером, загружаются, когда сеанс аутентифицируется с учетными данными организации на [подходящей конфигурации](/docs/ru/server-managed-settings#platform-availability). См. [Use Claude Code features](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |937| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Контролируйте, какие параметры файловой системы загружать. Передайте `[]` для отключения пользовательских, проектных и локальных параметров. С `skills` установленным и этим полем не установленным, загружаются только пользовательские и проектные источники. Установите `setting_sources` явно, чтобы сохранить локальные параметры. Управляемая политика конечной точки загружается независимо; параметры, управляемые сервером, загружаются, когда сеанс аутентифицируется с учетными данными организации на [подходящей конфигурации](/docs/ru/server-managed-settings#platform-availability). Для входов, читаемых независимо от этой опции, см. [What settingSources does not control](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

938| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills, доступные сеансу. Передайте `"all"` для включения каждого обнаруженного skill, или список имен skills. Передавайте только точные имена. SDK отклоняет неправильно сформированные и имена в форме подстановочных знаков с `ValueError` перед запуском процесса Claude Code; эта проверка требует Python Agent SDK 0.2.129 или позже. Когда установлено, SDK автоматически добавляет инструмент Skill в `allowed_tools`. Если вы также передаете `tools`, включите `"Skill"` в этот список. См. [Skills](/docs/ru/agent-sdk/skills) |938| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills, доступные сеансу. Передайте `"all"` для включения каждого обнаруженного skill, или список имен skills. Передавайте только точные имена. SDK отклоняет неправильно сформированные и имена в форме подстановочных знаков с `ValueError` перед запуском процесса Claude Code; эта проверка требует Python Agent SDK 0.2.129 или позже. Когда установлено, SDK автоматически добавляет инструмент Skill в `allowed_tools`. Если вы также передаете `tools`, включите `"Skill"` в этот список. См. [Skills](/docs/ru/agent-sdk/skills) |

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

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


1002 preset: Literal["claude_code"]1002 preset: Literal["claude_code"]

1003 append: NotRequired[str]1003 append: NotRequired[str]

1004 exclude_dynamic_sections: NotRequired[bool]1004 exclude_dynamic_sections: NotRequired[bool]

1005 snapshot: NotRequired[bool]

1005```1006```

1006 1007 

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


1010| `preset` | Да | Должно быть `"claude_code"` для использования системной подсказки Claude Code |1011| `preset` | Да | Должно быть `"claude_code"` для использования системной подсказки Claude Code |

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

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

1014| `snapshot` | Нет | Установите значение `False` для перестройки системной подсказки при каждом запросе вместо [повторного использования подсказки, которую сеанс записал при первом запросе](/docs/ru/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Требует `claude-agent-sdk` v0.2.153 или позже |

1015 

1016<h3 id="systempromptcustom">

1017 `SystemPromptCustom`

1018</h3>

1019 

1020Пользовательская системная подсказка в форме объекта, эквивалентная передаче строки как `system_prompt`, которая также может установить `snapshot`. Требует `claude-agent-sdk` v0.2.153 или позже.

1021 

1022```python theme={null}

1023class SystemPromptCustom(TypedDict):

1024 type: Literal["custom"]

1025 prompt: str

1026 snapshot: NotRequired[bool]

1027```

1028 

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

1030| :--------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |

1031| `type` | Да | Должно быть `"custom"` |

1032| `prompt` | Да | Текст системной подсказки. Передается в CLI как аргумент командной строки, поэтому [ограничения длины командной строки](#systempromptfile) применяются |

1033| `snapshot` | Нет | То же, что [`SystemPromptPreset.snapshot`](#systempromptpreset), применяется к `prompt` |

1013 1034 

1014<h3 id="systempromptfile">1035<h3 id="systempromptfile">

1015 `SystemPromptFile`1036 `SystemPromptFile`


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

1049</h4>1070</h4>

1050 1071 

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

1052 1073 

1053<h4 id="why-use-setting_sources">1074<h4 id="why-use-setting_sources">

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


11412. Параметры проекта (`.claude/settings.json`)11622. Параметры проекта (`.claude/settings.json`)

11423. Параметры пользователя (`~/.claude/settings.json`)11633. Параметры пользователя (`~/.claude/settings.json`)

1143 1164 

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

1145 1166 

1146<h3 id="agentdefinition">1167<h3 id="agentdefinition">

1147 `AgentDefinition`1168 `AgentDefinition`

Details

62 </Tab>62 </Tab>

63 63 

64 <Tab title="Python (uv)">64 <Tab title="Python (uv)">

65 [uv](https://docs.astral.sh/uv/) — это быстрый менеджер пакетов Python, который автоматически управляет виртуальными окружениями:65 [Установите uv](https://docs.astral.sh/uv/), быстрый менеджер пакетов Python, который автоматически управляет виртуальными окружениями. Затем инициализируйте проект и добавьте SDK:

66 66 

67 ```bash theme={null}67 ```bash theme={null}

68 uv init68 uv init


356 356 

357С включённым `Bash` попробуйте: `"Write unit tests for utils.py, run them, and fix any failures"`357С включённым `Bash` попробуйте: `"Write unit tests for utils.py, run them, and fix any failures"`

358 358 

359Каждый из этих фрагментов устанавливает поля на одном и том же объекте опций. Для получения дополнительной информации см. [Настройте вашего агента](/docs/ru/agent-sdk/configuration).

360 

359<h2 id="key-concepts">361<h2 id="key-concepts">

360 Ключевые концепции362 Ключевые концепции

361</h2>363</h2>


376 378 

377Теперь, когда вы создали своего первого агента, узнайте, как расширить его возможности и адаптировать его к вашему варианту использования:379Теперь, когда вы создали своего первого агента, узнайте, как расширить его возможности и адаптировать его к вашему варианту использования:

378 380 

381* **[Настройка вашего агента](/docs/ru/agent-sdk/configuration)**: составьте объект параметров и найдите страницу, которая охватывает каждый параметр

379* **[Разрешения](/docs/ru/agent-sdk/permissions)**: контролируйте, что может делать ваш агент и когда ему нужно одобрение382* **[Разрешения](/docs/ru/agent-sdk/permissions)**: контролируйте, что может делать ваш агент и когда ему нужно одобрение

380* **[Hooks](/docs/ru/agent-sdk/hooks)**: запускайте пользовательский код до или после вызовов инструментов383* **[Hooks](/docs/ru/agent-sdk/hooks)**: запускайте пользовательский код до или после вызовов инструментов

381* **[Сессии](/docs/ru/agent-sdk/sessions)**: создавайте многооборотных агентов, которые сохраняют контекст384* **[Сессии](/docs/ru/agent-sdk/sessions)**: создавайте многооборотных агентов, которые сохраняют контекст

Details

4 4 

5# Сохранение сеансов во внешнее хранилище5# Сохранение сеансов во внешнее хранилище

6 6 

7> Зеркалируйте стенограммы сеансов в S3, Redis или собственный бэкенд, чтобы другие хосты могли возобновить ваши сеансы.7> Зеркалируйте стенограммы сеансов Agent SDK в собственное хранилище объектов, хранилище ключ-значение или базу данных, чтобы другие хосты могли возобновить ваши сеансы.

8 8 

9По умолчанию SDK записывает стенограммы сеансов в файлы JSONL в папке `~/.claude/projects/` на локальной файловой системе. Адаптер `SessionStore` позволяет зеркалировать эти стенограммы в собственный бэкенд, такой как S3, Redis или база данных, чтобы сеанс, созданный на одном хосте, можно было возобновить на другом хосте, работающем из одного и того же рабочего каталога.9По умолчанию SDK записывает стенограммы сеансов в файлы JSONL в папке `~/.claude/projects/` на локальной файловой системе. Адаптер `SessionStore` позволяет зеркалировать эти стенограммы в собственный бэкенд, такой как хранилище объектов, хранилище ключ-значение или база данных, чтобы сеанс, созданный на одном хосте, можно было возобновить на другом хосте, работающем из одного и того же рабочего каталога.

10 10 

11Основные причины использования хранилища сеансов:11Основные причины использования хранилища сеансов:

12 12 

13* **Развертывания на нескольких хостах.** Бессерверные функции, автомасштабируемые рабочие процессы и CI-раннеры не используют общую файловую систему. Общее хранилище позволяет репликам возобновлять сеансы друг друга.13* **Развертывания на нескольких хостах.** Бессерверные функции, автомасштабируемые рабочие процессы и CI-раннеры не используют общую файловую систему. Общее хранилище позволяет репликам возобновлять сеансы друг друга.

14* **Надежность.** Локальные контейнеры являются временными. Хранилище, поддерживаемое S3 или базой данных, сохраняется при перезагрузках и переразвертываниях.14* **Надежность.** Локальные контейнеры являются временными. Внешнее хранилище сохраняется при перезагрузках и переразвертываниях.

15* **Соответствие и аудит.** Сохраняйте стенограммы в хранилище, которым вы уже управляете, с собственными правилами хранения, шифрованием и контролем доступа.15* **Соответствие и аудит.** Сохраняйте стенограммы в хранилище, которым вы уже управляете, с собственными правилами хранения, шифрованием и контролем доступа.

16 16 

17<h2 id="the-sessionstore-interface">17<h2 id="the-sessionstore-interface">


197 197 

198Реализуйте `append` и `load` для вашего бэкенда. Добавьте `listSessions`, `listSessionSummaries`, `delete` и `listSubkeys`, если вы хотите, чтобы `listSessions()`, одноразовое чтение метаданных, `deleteSession()` и возобновление подагента работали с хранилищем.198Реализуйте `append` и `load` для вашего бэкенда. Добавьте `listSessions`, `listSessionSummaries`, `delete` и `listSubkeys`, если вы хотите, чтобы `listSessions()`, одноразовое чтение метаданных, `deleteSession()` и возобновление подагента работали с хранилищем.

199 199 

200Записи, переданные в `append`, типизированы как `SessionStoreEntry` (объект `{ type: string; ... }`). Рассматривайте их как непрозрачные значения, безопасные для JSON: сохраняйте их по порядку и возвращайте из `load` в том же порядке. `load` должен возвращать записи, которые глубоко равны тому, что было добавлено; сериализация, равная по байтам, не требуется, поэтому бэкенды, такие как Postgres `jsonb`, которые переупорядочивают ключи объектов, подходят.200Записи, переданные в `append`, типизированы как `SessionStoreEntry` (объект `{ type: string; ... }`). Рассматривайте их как непрозрачные значения, безопасные для JSON: сохраняйте их по порядку и возвращайте из `load` в том же порядке. `load` должен возвращать записи, которые глубоко равны тому, что было добавлено; сериализация, равная по байтам, не требуется, поэтому бэкенды, которые переупорядочивают ключи объектов, такие как столбец двоичного JSON, подходят.

201 201 

202<h2 id="reference-implementations">202<h2 id="reference-implementations">

203 Эталонные реализации203 Эталонные реализации

204</h2>204</h2>

205 205 

206Репозиторий TypeScript SDK включает запускаемые эталонные адаптеры для S3, Redis и Postgres в [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores). Они не опубликованы в npm; скопируйте нужный файл `src/` в ваш проект и установите соответствующий клиент бэкенда.206Оба репозитория SDK включают запускаемые эталонные адаптеры в [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) на TypeScript и [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) на Python. Существует один адаптер для каждого типа хранилища, и каждый показывает, как `append` и `load` отображаются на этот вид бэкенда. Они не опубликованы как пакеты; скопируйте адаптер для типа, наиболее близкого к вашему бэкенду, в ваш проект, установите клиент вашего бэкенда и адаптируйте его.

207 207 

208| Адаптер | Клиент бэкенда | Модель хранения |208| Тип хранилища | Модель хранилища | Пример адаптера |

209| :----------------------------------------------------------------------------------------------------------------------------- | :------------------- | :---------------------------------------------------------------------------------- |209| :------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

210| [`S3SessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3) | `@aws-sdk/client-s3` | Один файл части JSONL на `append()`; `load()` перечисляет, сортирует и объединяет. |210| Object store | Один файл части на `append()`; `load()` перечисляет части, сортирует их и объединяет. | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |

211| [`RedisSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis) | `ioredis` | Список `RPUSH`/`LRANGE` на стенограмму плюс индекс отсортированного набора сеансов. |211| Key-value store | Один список на стенограмму, в который `append()` добавляет и из которого `load()` читает в диапазоне, плюс отсортированный индекс сеансов. | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |

212| [`PostgresSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres) | `pg` | Одна строка на запись в таблице `jsonb`, упорядоченная по `BIGSERIAL`. |212| Relational database or document store | Одна строка или документ на запись, сохраненные как JSON и упорядоченные по ключу, назначенному при вставке. | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |

213 213 

214Каждый адаптер принимает предварительно настроенный экземпляр клиента, поэтому вы контролируете учетные данные, TLS, регион и пулинг. Например, с S3:214Каждый адаптер принимает предварительно настроенный экземпляр клиента, поэтому вы контролируете учетные данные, TLS, регион и пулинг. Следующий пример подключает адаптер object-store к `query()` и затем возобновляет работу с ним на другом хосте:

215 215 

216```typescript TypeScript theme={null}216```typescript TypeScript theme={null}

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


330 `forkSession` — это не побайтовая копия330 `forkSession` — это не побайтовая копия

331</h3>331</h3>

332 332 

333`forkSession({ sessionStore })` читает исходные записи, переписывает каждое поле `sessionId` и переназначает UUID сообщений, затем добавляет преобразованные записи под новым ключом. Копия на уровне адаптера или ярлык `CopyObject` создали бы стенограмму, которая все еще ссылается на старый ID сеанса, поэтому SDK не использует один.333`forkSession({ sessionStore })` читает исходные записи, переписывает каждое поле `sessionId` и переназначает UUID сообщений, затем добавляет преобразованные записи под новым ключом. Копия на уровне адаптера или ярлык `CopyObject` создали бы стенограмму, которая всё ещё ссылается на старый ID сеанса, поэтому SDK не использует один.

334 334 

335<h3 id="subagent-transcripts">335<h3 id="subagent-transcripts">

336 Стенограммы подагентов336 Стенограммы подагентов


342 Хранение342 Хранение

343</h3>343</h3>

344 344 

345SDK никогда не удаляет из вашего хранилища самостоятельно. Хранение — это ответственность адаптера: реализуйте TTL, политики жизненного цикла S3 или запланированную очистку в соответствии с вашими требованиями соответствия.345SDK никогда не удаляет из вашего хранилища самостоятельно. Хранение — это ответственность адаптера: используйте механизм истечения срока действия или жизненного цикла вашего бэкенда, или запустите запланированную очистку, в соответствии с вашими требованиями соответствия. Локальные стенограммы в `CLAUDE_CONFIG_DIR` очищаются независимо параметром `cleanupPeriodDays`, следуя [правилам очистки при сохранении](/docs/ru/claude-directory#cleaned-up-automatically). Выполнение [возобновленное из хранилища](#resume-from-the-store) не оставляет локальную стенограмму, поэтому для этих выполнений хранение вашего хранилища — это единственное хранение, которое существует.

346 

347Локальные стенограммы в `CLAUDE_CONFIG_DIR` очищаются независимо параметром `cleanupPeriodDays`, следуя [правилам очистки при сохранении](/docs/ru/claude-directory#cleaned-up-automatically). Выполнение [возобновленное из хранилища](#resume-from-the-store) не оставляет локальную стенограмму, поэтому для этих выполнений хранение вашего хранилища — это единственное хранение, которое существует.

348 346 

349<h2 id="supported-on">347<h2 id="supported-on">

350 Поддерживается на348 Поддерживается на


373* [Работа с сеансами](/docs/ru/agent-sdk/sessions): Продолжение, возобновление и разветвление без пользовательского хранилища371* [Работа с сеансами](/docs/ru/agent-sdk/sessions): Продолжение, возобновление и разветвление без пользовательского хранилища

374* [Размещение SDK](/docs/ru/agent-sdk/hosting): Шаблоны развертывания для сред с несколькими хостами372* [Размещение SDK](/docs/ru/agent-sdk/hosting): Шаблоны развертывания для сред с несколькими хостами

375* [TypeScript `Options`](/docs/ru/agent-sdk/typescript#options): Полная справка по опциям373* [TypeScript `Options`](/docs/ru/agent-sdk/typescript#options): Полная справка по опциям

376* [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores): Запускаемые эталонные адаптеры S3, Redis и Postgres374* [Эталонные реализации](#reference-implementations): Запускаемые примеры адаптеров для хранилища объектов, хранилища ключ-значение и базы данных в обоих репозиториях SDK

Details

130* **Ваши skills**: артефакты подсказок, которые вы создаёте, каждый — каталог, содержащий файл `SKILL.md`. Имя skill, который можно вызывать пользователем, автоматически присоединяется к поверхности, поэтому отправка вашего собственного `/security-check` и запуск встроенного работают одинаково130* **Ваши skills**: артефакты подсказок, которые вы создаёте, каждый — каталог, содержащий файл `SKILL.md`. Имя skill, который можно вызывать пользователем, автоматически присоединяется к поверхности, поэтому отправка вашего собственного `/security-check` и запуск встроенного работают одинаково

131* **Файлы пользовательских команд**: более старая форма артефакта с тем же поведением, плоские файлы Markdown в `.claude/commands/`, имена файлов которых становятся именами команд. Skills — их рекомендуемый преемник131* **Файлы пользовательских команд**: более старая форма артефакта с тем же поведением, плоские файлы Markdown в `.claude/commands/`, имена файлов которых становятся именами команд. Skills — их рекомендуемый преемник

132 132 

133По умолчанию как вы, так и Claude можете вызывать любой skill. Вы можете ограничить любой путь через [frontmatter](/docs/ru/skills#control-who-invokes-a-skill) skill. Для определения двух терминов см. записи глоссария [Команда](/docs/ru/glossary#command) и [Skill](/docs/ru/glossary#skill). См. [Команды в Claude Code](/docs/ru/commands) для каждой встроенной и [Расширьте Claude с помощью skills](/docs/ru/skills) для полного руководства по обеим формам артефактов.133По умолчанию как вы, так и Claude можете вызывать любой skill. Вы можете ограничить любой путь через [frontmatter](/docs/ru/skills#control-who-invokes-a-skill) skill. Для определений команды и skill см. записи глоссария [Команда](/docs/ru/glossary#command) и [Skill](/docs/ru/glossary#skill). См. [Команды в Claude Code](/docs/ru/commands) для каждой встроенной и [Расширьте Claude с помощью skills](/docs/ru/skills) для полного руководства по обеим формам артефактов.

134 134 

135<h3 id="discover-available-commands">135<h3 id="discover-available-commands">

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


181 181 

182Отправьте команду, включив её в строку подсказки, так же как вы отправляете обычный текст. Отправка не зависит от опции `skills`. Отправка `/<name>` запускает skill, который можно вызывать пользователем, даже когда ваш список `skills` его опускает. Команды, которые действуют на историю разговора, такие как `/compact`, требуют предыдущих сообщений для работы.182Отправьте команду, включив её в строку подсказки, так же как вы отправляете обычный текст. Отправка не зависит от опции `skills`. Отправка `/<name>` запускает skill, который можно вызывать пользователем, даже когда ваш список `skills` его опускает. Команды, которые действуют на историю разговора, такие как `/compact`, требуют предыдущих сообщений для работы.

183 183 

184`/<name>`, который не совпадает ни с командой в сеансе, ни со встроенной командой Claude Code, не приводит к сбою запроса. Claude Code отправляет подсказку Claude как обычное сообщение с примечанием о том, что команда не была выполнена, поэтому запрос использует ход модели и возвращает ответ Claude. До версии 2.1.274 `/<name>`, который ничему не соответствовал, возвращал `Unknown command: /<name>` как результат без хода модели.

185 

186`/<name>`, который совпадает со встроенной командой Claude Code, которая недоступна в сеансе, такой как `/theme`, возвращает `/theme isn't available in this environment.` как результат без хода модели.

187 

184<Note>188<Note>

185 Команда может достичь лимита `maxTurns` / `max_turns` как любая другая подсказка, завершив запрос с результатом ошибки вместо `success`. Для контракта результата ошибки см. [Обработка результата](/docs/ru/agent-sdk/agent-loop#handle-the-result). Если ваша команда может достичь лимита, оберните цикл в `try`/`catch` в TypeScript или `try`/`except` в Python, как показано в [Ввод одного сообщения](/docs/ru/agent-sdk/streaming-vs-single-mode#single-message-input), или установите `maxTurns` достаточно высоко для завершения работы.189 Команда может достичь лимита `maxTurns` / `max_turns` как любая другая подсказка, завершив запрос с результатом ошибки вместо `success`. Для контракта результата ошибки см. [Обработка результата](/docs/ru/agent-sdk/agent-loop#handle-the-result). Если ваша команда может достичь лимита, оберните цикл в `try`/`catch` в TypeScript или `try`/`except` в Python, как показано в [Ввод одного сообщения](/docs/ru/agent-sdk/streaming-vs-single-mode#single-message-input), или установите `maxTurns` достаточно высоко для завершения работы.

186</Note>190</Note>

Details

153</h3>153</h3>

154 154 

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

156| :---------------- | :---------------------------------------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |156| :---------------- | :---------------------------------------------------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

158| `prompt` | `string` | Да | Системный запрос агента, определяющий его роль и поведение |158| `prompt` | `string` | Да | Системный запрос агента, определяющий его роль и поведение |

159| `tools` | `string[]` | Нет | Массив разрешенных имен инструментов. Если опущено, наследует каждый [инструмент, доступный подагентам](/docs/ru/sub-agents#available-tools) |159| `tools` | `string[]` | Нет | Массив разрешенных имен инструментов. Если опущено, наследует каждый [инструмент, доступный подагентам](/docs/ru/sub-agents#available-tools) |


165| `initialPrompt` | `string` | Нет | Автоматически отправляется как первый ход пользователя, когда этот агент работает как основной агент потока. Игнорируется, когда агент вызывается как подагент |165| `initialPrompt` | `string` | Нет | Автоматически отправляется как первый ход пользователя, когда этот агент работает как основной агент потока. Игнорируется, когда агент вызывается как подагент |

166| `maxTurns` | `number` | Нет | Максимальное количество ходов агента перед остановкой агента. Когда агент достигает лимита, Claude Code возвращает его вывод, отмеченный как частичный, и вы можете [возобновить агента](#resume-subagents) для продолжения. Отметка о частичности требует Claude Code v2.1.246 или позже |166| `maxTurns` | `number` | Нет | Максимальное количество ходов агента перед остановкой агента. Когда агент достигает лимита, Claude Code возвращает его вывод, отмеченный как частичный, и вы можете [возобновить агента](#resume-subagents) для продолжения. Отметка о частичности требует Claude Code v2.1.246 или позже |

167| `background` | `boolean` | Нет | Запустить этого агента как неблокирующую фоновую задачу при вызове |167| `background` | `boolean` | Нет | Запустить этого агента как неблокирующую фоновую задачу при вызове |

168| `omitClaudeMd` | `boolean` | Нет | Запустить этого агента без файлов CLAUDE.md пользователя, проекта и локальных файлов, когда он работает как подагент; управляемые файлы политики все еще загружаются. Игнорируется, когда агент работает как основной агент потока. Требует TypeScript Agent SDK v0.3.271 или позже. Python SDK [`AgentDefinition`](/docs/ru/agent-sdk/python#agentdefinition) не имеет этого поля |

168| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Нет | Уровень усилий рассуждения для этого агента |169| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Нет | Уровень усилий рассуждения для этого агента |

169| `permissionMode` | `PermissionMode` | Нет | Режим разрешений для выполнения инструментов в этом агенте. [Правила наследования подагентов](/docs/ru/agent-sdk/permissions#available-modes) определяют, когда это применяется |170| `permissionMode` | `PermissionMode` | Нет | Режим разрешений для выполнения инструментов в этом агенте. [Правила наследования подагентов](/docs/ru/agent-sdk/permissions#available-modes) определяют, когда это применяется |

170 171 


197В таблице ниже указано, что содержит контекст подагента, не являющегося форком, и что он исключает.198В таблице ниже указано, что содержит контекст подагента, не являющегося форком, и что он исключает.

198 199 

199| Подагент получает | Подагент не получает |200| Подагент получает | Подагент не получает |

200| :------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------- |201| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------- |

201| Его собственное системное приглашение (`AgentDefinition.prompt`) и приглашение инструмента Agent | История разговора родителя или результаты инструментов |202| Его собственное системное приглашение (`AgentDefinition.prompt`) и приглашение инструмента Agent | История разговора родителя или результаты инструментов |

202| Project CLAUDE.md (загружается через [`settingSources`](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)) | Предзагруженное содержимое навыков, если оно не указано в `AgentDefinition.skills` |203| Project CLAUDE.md (загружается через [`settingSources`](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)), если агент не устанавливает [`omitClaudeMd`](#agentdefinition-configuration) | Предзагруженное содержимое навыков, если оно не указано в `AgentDefinition.skills` |

203| Определения инструментов (унаследованные от родителя или подмножество в `tools`, [отфильтрованные для фоновых запусков](/docs/ru/sub-agents#available-tools)) | Системное приглашение родителя |204| Определения инструментов (унаследованные от родителя или подмножество в `tools`, [отфильтрованные для фоновых запусков](/docs/ru/sub-agents#available-tools)) | Системное приглашение родителя |

204 205 

205<Note>206<Note>


644Вы можете ограничить этот рост тремя способами: насколько глубоко вложены подагенты, сколько их работает одновременно и сколько потратит весь запрос. Установите ограничения глубины и параллелизма как переменные окружения через опцию [`env`](/docs/ru/agent-sdk/typescript#options), а ограничение расходов как опцию запроса:645Вы можете ограничить этот рост тремя способами: насколько глубоко вложены подагенты, сколько их работает одновременно и сколько потратит весь запрос. Установите ограничения глубины и параллелизма как переменные окружения через опцию [`env`](/docs/ru/agent-sdk/typescript#options), а ограничение расходов как опцию запроса:

645 646 

646| Ограничение | Установить с помощью | По умолчанию | Что делает Claude Code при достижении ограничения |647| Ограничение | Установить с помощью | По умолчанию | Что делает Claude Code при достижении ограничения |

647| :---------- | :----------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |648| :---------- | :----------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

648| Глубина | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ru/env-vars) | `3` слоя подагентов ниже вашего основного агента. `1` предотвращает создание подагентами своих собственных подагентов | Оставляет подагента на нижнем слое неспособным создавать новых, поэтому он выполняет свою делегированную работу самостоятельно. См. [вложенные подагенты](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents) |649| Глубина | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ru/env-vars) | `3` слоя подагентов ниже вашего основного агента. `1` предотвращает создание подагентами своих собственных подагентов | Оставляет подагента на нижнем слое неспособным создавать новых, поэтому он выполняет свою делегированную работу самостоятельно. См. [вложенные подагенты](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents) |

649| Параллелизм | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/ru/env-vars) | `20` подагентов, работающих одновременно, считая каждого подагента, созданного Claude с помощью инструмента Agent | Отказывает в создании другого подагента, возвращая `Concurrent subagent limit reached`, пока количество работающих не упадет ниже ограничения. Сеансы с активным [ultracode](/docs/ru/model-config#adjust-effort-level) никогда не отклоняются. См. [ограничение параллельных подагентов](/docs/ru/sub-agents#concurrent-subagent-limit) |650| Параллелизм | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/ru/env-vars) | `20` подагентов, работающих одновременно, считая каждого подагента, созданного Claude с помощью инструмента Agent | Отказывает в создании другого подагента, возвращая `Concurrent subagent limit reached`, пока количество работающих не упадет ниже ограничения. Сеансы с активным [ultracode](/docs/ru/model-config#adjust-effort-level) никогда не отклоняются. См. [ограничение параллельных подагентов](/docs/ru/sub-agents#concurrent-subagent-limit) |

650| Расходы | `maxBudgetUsd` в TypeScript, `max_budget_usd` в Python | Без ограничений. Сравнивается с `total_cost_usd`, поэтому запросы подагентов учитываются | Применяет ограничение тремя способами: отказывает в создании дополнительных подагентов, возвращая `Budget limit reached`, останавливает фоновые подагенты, которые все еще работают, и завершает запрос с подтипом результата `error_max_budget_usd`. См. [ходы и бюджет](/docs/ru/agent-sdk/agent-loop#turns-and-budget) |651| Расходы | `maxBudgetUsd` в TypeScript, `max_budget_usd` в Python | Без ограничений. Сравнивается с `total_cost_usd`, поэтому запросы подагентов учитываются | Применяет ограничение тремя способами: отказывает в создании дополнительных подагентов, возвращая `Budget limit reached`, останавливает фоновые подагенты, которые все еще работают, и завершает запрос с подтипом результата `error_max_budget_usd`. Для получения информации о том, как ограничения ведут себя в сеансе, см. [ходы и бюджет](/docs/ru/agent-sdk/agent-loop#turns-and-budget) |

651 652 

652Два SDK по-разному обрабатывают опцию `env`: TypeScript SDK заменяет окружение подпроцесса на него, поэтому распределите `process.env` в него, чтобы сохранить переменные вроде `PATH`, в то время как Python SDK объединяет его с унаследованным окружением. Этот пример отключает вложение, позволяет максимум пять подагентов одновременно и останавливает запрос, когда предполагаемые расходы достигают \$5:653Два SDK по-разному обрабатывают опцию `env`: TypeScript SDK заменяет окружение подпроцесса на него, поэтому распределите `process.env` в него, чтобы сохранить переменные вроде `PATH`, в то время как Python SDK объединяет его с унаследованным окружением. Этот пример отключает вложение, позволяет максимум пять подагентов одновременно и останавливает запрос, когда предполагаемые расходы достигают \$5:

653 654 

Details

487| `agent` | `string` | `undefined` | Имя агента для основного потока. Агент должен быть определён в опции `agents` или в настройках |487| `agent` | `string` | `undefined` | Имя агента для основного потока. Агент должен быть определён в опции `agents` или в настройках |

488| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Программно определите подагентов |488| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Программно определите подагентов |

489| `agentProgressSummaries` | `boolean` | `false` | Когда `true`, генерируйте однострочные сводки прогресса для подагентов и пересылайте их на события [`task_progress`](#sdktaskprogressmessage) через поле `summary`. Применяется к подагентам переднего плана и фонового режима |489| `agentProgressSummaries` | `boolean` | `false` | Когда `true`, генерируйте однострочные сводки прогресса для подагентов и пересылайте их на события [`task_progress`](#sdktaskprogressmessage) через поле `summary`. Применяется к подагентам переднего плана и фонового режима |

490| `allowDangerouslySkipPermissions` | `boolean` | `false` | Включите обход разрешений. Требуется при использовании `permissionMode: 'bypassPermissions'` |490| `allowDangerouslySkipPermissions` | `boolean` | `false` | Включите обход разрешений. Требуется при использовании `permissionMode: 'bypassPermissions'` при запуске или позже через `setPermissionMode()`. См. [plan mode](/docs/ru/agent-sdk/permissions#plan-mode-plan) для того, как это взаимодействует с `permissionMode: 'plan'` |

491| `allowedTools` | `string[]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами. Если вы назовёте один из [инструментов отслеживания задач](/docs/ru/agent-sdk/todo-tracking#model-availability) здесь, Claude Code также выбирает сессию. Другие неперечисленные инструменты переходят к `permissionMode` и `canUseTool`. Используйте `disallowedTools` для блокировки инструментов. См. [Разрешения](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |491| `allowedTools` | `string[]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами. Если вы назовёте один из [инструментов отслеживания задач](/docs/ru/agent-sdk/todo-tracking#model-availability) здесь, Claude Code также выбирает сессию. Другие неперечисленные инструменты переходят к `permissionMode` и `canUseTool`. Используйте `disallowedTools` для блокировки инструментов. См. [Разрешения](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |

492| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Включите бета-функции |492| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Включите бета-функции |

493| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Пользовательская функция разрешения, вызываемая только когда [поток разрешения](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) переходит к запросу. Не вызывается для вызовов, автоматически одобренных `allowedTools`, правилами разрешения или `permissionMode`. Правило разрешения не предварительно одобряет [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves). См. [`CanUseTool`](#canusetool) для деталей |493| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Пользовательская функция разрешения, вызываемая только когда [поток разрешения](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) переходит к запросу. Не вызывается для вызовов, автоматически одобренных `allowedTools`, правилами разрешения или `permissionMode`. Правило разрешения не предварительно одобряет [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves). См. [`CanUseTool`](#canusetool) для деталей |


960 initialPrompt?: string;960 initialPrompt?: string;

961 maxTurns?: number;961 maxTurns?: number;

962 background?: boolean;962 background?: boolean;

963 omitClaudeMd?: boolean;

963 memory?: "user" | "project" | "local";964 memory?: "user" | "project" | "local";

964 effort?: "low" | "medium" | "high" | "xhigh" | "max" | number;965 effort?: "low" | "medium" | "high" | "xhigh" | "max" | number;

965 permissionMode?: PermissionMode;966 permissionMode?: PermissionMode;


968```969```

969 970 

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

971| :------------------------------------ | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |972| :------------------------------------ | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

973| `tools` | Нет | Массив разрешённых имён инструментов. Если опущено, наследует каждый [инструмент, доступный подагентам](/docs/ru/sub-agents#available-tools). Для предварительной загрузки Skills в контекст агента используйте поле `skills` вместо указания `'Skill'` здесь |974| `tools` | Нет | Массив разрешённых имён инструментов. Если опущено, наследует каждый [инструмент, доступный подагентам](/docs/ru/sub-agents#available-tools). Для предварительной загрузки Skills в контекст агента используйте поле `skills` вместо указания `'Skill'` здесь |

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


979| `initialPrompt` | Нет | Автоматически отправляется как первый пользовательский ход, когда этот агент работает как агент основного потока |980| `initialPrompt` | Нет | Автоматически отправляется как первый пользовательский ход, когда этот агент работает как агент основного потока |

980| `maxTurns` | Нет | Максимальное количество агентских ходов (раунды API) перед остановкой |981| `maxTurns` | Нет | Максимальное количество агентских ходов (раунды API) перед остановкой |

981| `background` | Нет | Запустите этого агента как неблокирующую фоновую задачу при вызове |982| `background` | Нет | Запустите этого агента как неблокирующую фоновую задачу при вызове |

983| `omitClaudeMd` | Нет | Запустите этого агента без пользовательских, проектных и локальных файлов CLAUDE.md, когда он работает как подагент; управляемые файлы политики всё ещё загружаются. Используйте это для агентов, которые берут всё, что им нужно, из запроса инструмента Agent. Игнорируется, когда этот агент работает как агент основного потока. Требует TypeScript Agent SDK v0.3.271 или позже |

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

983| `effort` | Нет | Уровень усилий рассуждения для этого агента. Принимает именованный уровень или целое число |985| `effort` | Нет | Уровень усилий рассуждения для этого агента. Принимает именованный уровень или целое число |

984| `permissionMode` | Нет | Режим разрешения для выполнения инструмента в этом агенте. [Правила наследования подагента](/docs/ru/agent-sdk/permissions#available-modes) решают, когда оно применяется. См. [`PermissionMode`](#permissionmode) |986| `permissionMode` | Нет | Режим разрешения для выполнения инструмента в этом агенте. [Правила наследования подагента](/docs/ru/agent-sdk/permissions#available-modes) решают, когда оно применяется. См. [`PermissionMode`](#permissionmode) |


2873 2875 

2874```typescript theme={null}2876```typescript theme={null}

2875type MonitorInput = {2877type MonitorInput = {

2878 description: string;

2879 timeout_ms: number;

2876 command?: string;2880 command?: string;

2877 ws?: {2881 ws?: {

2878 url: string;2882 url: string;

2879 protocols?: string[];2883 protocols?: string[];

2880 };2884 };

2881 description: string;

2882 timeout_ms: number;

2883 persistent: boolean;

2884};2885};

2885```2886```

2886 2887 

2887Запускает фоновый источник и доставляет каждое событие к Claude, чтобы он мог реагировать без опроса: `command` запускает скрипт и выдаёт одно событие на строку stdout, а `ws` открывает WebSocket и выдаёт одно событие на текстовый фрейм. Укажите ровно один из `command` или `ws`. Источник `ws` требует Claude Code v2.1.195 или позже.2888Запускает фоновый источник и доставляет каждое событие к Claude, чтобы он мог реагировать без опроса: `command` запускает скрипт и выдаёт одно событие на строку stdout, а `ws` открывает WebSocket и выдаёт одно событие на текстовый фрейм. Укажите ровно один из `command` или `ws`. Источник `ws` требует Claude Code v2.1.195 или позже.

2888 2889 

2889Установите `persistent: true` для наблюдений на уровне сессии, таких как хвосты логов. Когда Monitor запускает команду, он следует тем же правилам разрешения, что и Bash; наблюдение WebSocket запрашивает одобрение отдельно. См. [справочник tool Monitor](/docs/ru/tools-reference#monitor-tool) для поведения и доступности провайдера. Экспортированный тип отмечает `timeout_ms` и `persistent` как обязательные, потому что схема заполняет их значения по умолчанию, 300000 и `false`; вызов, который их опускает, проходит валидацию.2890`timeout_ms` — это крайний срок наблюдения в миллисекундах. По умолчанию он равен 300000, а эффективный крайний срок составляет максимум 1800000, что составляет 30 минут. В крайний срок наблюдение заканчивается и Claude получает одно уведомление, чтобы он мог начать новое наблюдение, если оно ему всё ещё нужно.

2891 

2892Экспортированный тип отмечает `timeout_ms` как обязательный, потому что схема заполняет значение по умолчанию; вызов, который его опускает, проходит валидацию.

2893 

2894Когда Monitor запускает команду, он следует тем же правилам разрешения, что и Bash; наблюдение WebSocket запрашивает одобрение отдельно. См. [справочник tool Monitor](/docs/ru/tools-reference#monitor-tool) для поведения и доступности провайдера.

2890 2895 

2891<h3 id="taskoutput">2896<h3 id="taskoutput">

2892 TaskOutput2897 TaskOutput

Details

12 Для миграции используйте [`query()` API](/docs/ru/agent-sdk/typescript) и [параметры сессии](/docs/ru/agent-sdk/sessions), которые он принимает. Передайте `AsyncIterable<SDKUserMessage>` для многооборотных разговоров или `options.resume` для продолжения сохранённой сессии. Эта страница сохранена для справки, если вы поддерживаете код на Agent SDK 0.2.x или более ранней версии.12 Для миграции используйте [`query()` API](/docs/ru/agent-sdk/typescript) и [параметры сессии](/docs/ru/agent-sdk/sessions), которые он принимает. Передайте `AsyncIterable<SDKUserMessage>` для многооборотных разговоров или `options.resume` для продолжения сохранённой сессии. Эта страница сохранена для справки, если вы поддерживаете код на Agent SDK 0.2.x или более ранней версии.

13</Warning>13</Warning>

14 14 

15V2 был экспериментальным session API, который устранил необходимость в асинхронных генераторах и координации yield. Вместо управления состоянием генератора между оборотами, каждый оборот представлял собой отдельный цикл `send()`/`stream()`. Поверхность API сводилась к трём концепциям:15V2 был экспериментальным session API, который устранил необходимость в асинхронных генераторах и координации yield. Вместо управления состоянием генератора между оборотами, каждый оборот представлял собой отдельный цикл `send()`/`stream()`. Поверхность API сводилась к созданию сессии, отправке сообщения и потоковой передаче ответа:

16 16 

17* `createSession()` / `resumeSession()`: Начать или продолжить разговор17* `createSession()` / `resumeSession()`: Начать или продолжить разговор

18* `session.send()`: Отправить сообщение18* `session.send()`: Отправить сообщение

Details

555Ввод содержит сгенерированные Claude вопросы в массиве `questions`. Каждый вопрос имеет эти поля:555Ввод содержит сгенерированные Claude вопросы в массиве `questions`. Каждый вопрос имеет эти поля:

556 556 

557| Поле | Описание |557| Поле | Описание |

558| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |558| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |

559| `question` | Полный текст вопроса для отображения |559| `question` | Полный текст вопроса для отображения |

560| `header` | Короткая метка для вопроса (максимум 12 символов) |560| `header` | Короткая метка для вопроса (максимум 12 символов) |

561| `options` | Массив из 2-4 вариантов выбора, каждый с `label` и `description`. TypeScript: опционально `preview` (см. [ниже](#option-previews-typescript)) |561| `options` | Массив из 2-4 вариантов выбора, каждый с `label` и `description`. TypeScript: опционально `preview`. См. [Предпросмотры вариантов](#option-previews-typescript). |

562| `multiSelect` | Если `true`, пользователи могут выбрать несколько вариантов |562| `multiSelect` | Если `true`, пользователи могут выбрать несколько вариантов |

563 563 

564Структура, которую получает ваш callback:564Структура, которую получает ваш callback:

agent-teams.md +5 −1

Details

120 `tmux` имеет известные ограничения на некоторых операционных системах и традиционно работает лучше всего на macOS. Использование `tmux -CC` в iTerm2 — это рекомендуемая точка входа в `tmux`.120 `tmux` имеет известные ограничения на некоторых операционных системах и традиционно работает лучше всего на macOS. Использование `tmux -CC` в iTerm2 — это рекомендуемая точка входа в `tmux`.

121</Note>121</Note>

122 122 

123По умолчанию используется `"in-process"`. До версии v2.1.179 по умолчанию было `"auto"`, поэтому обновленные сеансы, которые ранее открывали разделенные панели, теперь остаются в одном терминале, если вы не установите режим явно. Установите `"auto"` для включения разделенных панелей, когда вы уже работаете внутри сеанса tmux или ваш терминал — это iTerm2 с установленным CLI `it2`, в противном случае используется in-process. Параметр `"tmux"` включает режим разделенных панелей и автоматически определяет, использовать ли tmux или iTerm2 на основе вашего терминала.123По умолчанию используется `"in-process"`. Установите `"auto"` для включения разделенных панелей, когда вы уже работаете внутри сеанса tmux, или когда ваш терминал — это iTerm2 с установленным CLI `it2`, в противном случае используется in-process. Параметр `"tmux"` включает режим разделенных панелей и автоматически определяет, использовать ли tmux или iTerm2 на основе вашего терминала.

124 124 

125Начиная с версии v2.1.186, установите `"iterm2"` для явного использования встроенных разделенных панелей iTerm2. Этот режим требует [`it2` CLI](https://github.com/mkusaka/it2) и показывает ошибку с командой установки, если `it2` отсутствует. Подсказка настройки, которая предлагает установить `it2` или переключиться на tmux, появляется при `"auto"` или `"tmux"`, когда ваш терминал — это iTerm2 и tmux доступен как резервный вариант.125Начиная с версии v2.1.186, установите `"iterm2"` для явного использования встроенных разделенных панелей iTerm2. Этот режим требует [`it2` CLI](https://github.com/mkusaka/it2) и показывает ошибку с командой установки, если `it2` отсутствует. Подсказка настройки, которая предлагает установить `it2` или переключиться на tmux, появляется при `"auto"` или `"tmux"`, когда ваш терминал — это iTerm2 и tmux доступен как резервный вариант.

126 126 


310* **`skills`**: Claude Code не применяет `skills` определения к товарищу по команде ни в одном режиме отображения. Товарищ по команде загружает skills из ваших параметров проекта и пользователя.310* **`skills`**: Claude Code не применяет `skills` определения к товарищу по команде ни в одном режиме отображения. Товарищ по команде загружает skills из ваших параметров проекта и пользователя.

311* **`mcpServers`**: для товарища по команде в разделенной панели Claude Code применяет `mcpServers` определения в соответствии с [правилами для этого поля](/docs/ru/sub-agents#scope-mcp-servers-to-a-subagent), которые охватывают сеанс, запущенный с `--agent`. Товарищ по команде в процессе игнорирует поле и загружает MCP servers из ваших параметров проекта и пользователя.311* **`mcpServers`**: для товарища по команде в разделенной панели Claude Code применяет `mcpServers` определения в соответствии с [правилами для этого поля](/docs/ru/sub-agents#scope-mcp-servers-to-a-subagent), которые охватывают сеанс, запущенный с `--agent`. Товарищ по команде в процессе игнорирует поле и загружает MCP servers из ваших параметров проекта и пользователя.

312 312 

313Когда Claude отправляет сообщение товарищу по команде в процессе, который больше не работает, Claude Code возвращает его в тот же сеанс, восстанавливает любой сохраненный для него разговор и дает ему сообщение как его следующий запрос. После возобновления сеанса товарищи по команде не возвращаются таким образом, согласно [ограничению возобновления](#limitations).

314 

315Для товарища по команде, которого он возвращает, Claude Code повторно применяет определение, которое пришло из директории `.claude/agents/` проекта или директории `--add-dir` только если вы [доверили папке, в которой находится файл агента](/docs/ru/permissions#what-runs-before-you-trust-a-folder). Доверие к родительской папке не считается. До тех пор товарищ по команде возвращается без инструментов или инструкций определения, сохраняя только инструменты, которые Claude Code добавляет к каждому товарищу по команде в процессе. См. [определение агента товарища по команде не было восстановлено](/docs/ru/errors#teammate-agent-definition-not-restored) для текста уведомления.

316 

313<h3 id="permissions">317<h3 id="permissions">

314 Разрешения318 Разрешения

315</h3>319</h3>

agent-view.md +5 −3

Details

16 16 

17Когда вы хотите работать более непосредственно в сеансе любого агента, подключитесь к строке, чтобы войти в полную беседу.17Когда вы хотите работать более непосредственно в сеансе любого агента, подключитесь к строке, чтобы войти в полную беседу.

18 18 

19Для сравнения agent view с subagents, agent teams и worktrees см. [Запуск агентов параллельно](/docs/ru/agents).19Для сравнения agent view с subagents, agent teams и worktrees см. [Запуск агентов параллельно](/docs/ru/agents). Agent view запускает сеансы на вашей машине и вы отправляете каждый из них; чтобы Claude начал и отслеживал параллельные сеансы в облаке из одной беседы, см. [Projects](/docs/ru/claude-projects).

20 20 

21<Note>21<Note>

22 Agent view находится в исследовательском предпросмотре. Интерфейс и сочетания клавиш могут измениться по мере развития функции.22 Agent view находится в исследовательском предпросмотре. Интерфейс и сочетания клавиш могут измениться по мере развития функции.


1037* [Запуск агентов параллельно](/docs/ru/agents): сравните agent view с subagents, agent teams и worktrees1037* [Запуск агентов параллельно](/docs/ru/agents): сравните agent view с subagents, agent teams и worktrees

1038* [Обмен сообщениями между сеансами](/docs/ru/cross-session-messaging): позволяйте вашим сеансам передавать результаты друг другу1038* [Обмен сообщениями между сеансами](/docs/ru/cross-session-messaging): позволяйте вашим сеансам передавать результаты друг другу

1039* [Agent teams](/docs/ru/agent-teams): координируйте несколько сеансов, которые обмениваются сообщениями друг с другом1039* [Agent teams](/docs/ru/agent-teams): координируйте несколько сеансов, которые обмениваются сообщениями друг с другом

1040* [Claude Code on the web](/docs/ru/claude-code-on-the-web): запускайте сеансы в управляемой облачной среде вместо локально1040* [Use Claude Code in the cloud](/docs/ru/claude-code-on-the-web): запускайте сеансы в управляемой облачной среде вместо локально

1041* [Projects](/docs/ru/claude-projects): позволяйте Claude координировать параллельные облачные сеансы из одного разговора и сообщайте вам, какие из них вам нужны

1041 1042 

1042<h2 id="version-history">1043<h2 id="version-history">

1043 История версий1044 История версий


1048| Версия | Изменение |1049| Версия | Изменение |

1049| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1050| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1050| v2.1.268 | Когда [удаление отклоняется](#what-deleting-a-session-removes), потому что git или ваш hook `WorktreeRemove` не смог удалить worktree, сообщение называет причину, включая то, как завершился hook и начало его stderr. Для связанного worktree в каталоге `.claude/worktrees/` репозитория без незафиксированных изменений отслеживаемых файлов, без вложенного репозитория внутри него и без записи другого сеанса, называющей его, удаление сеанса снова удаляет каталог в любом случае, из agent view или с помощью `claude rm <id> --force-remove-worktree <worktree-id>`. До этого выпуска строка показывала только `worktree could not be removed (WorktreeRemove hook failed)` или ошибку git, stderr hook переходил только в журнал отладки, и удаление снова было отклонено таким же образом. |1051| v2.1.268 | Когда [удаление отклоняется](#what-deleting-a-session-removes), потому что git или ваш hook `WorktreeRemove` не смог удалить worktree, сообщение называет причину, включая то, как завершился hook и начало его stderr. Для связанного worktree в каталоге `.claude/worktrees/` репозитория без незафиксированных изменений отслеживаемых файлов, без вложенного репозитория внутри него и без записи другого сеанса, называющей его, удаление сеанса снова удаляет каталог в любом случае, из agent view или с помощью `claude rm <id> --force-remove-worktree <worktree-id>`. До этого выпуска строка показывала только `worktree could not be removed (WorktreeRemove hook failed)` или ошибку git, stderr hook переходил только в журнал отладки, и удаление снова было отклонено таким же образом. |

1051| v2.1.260 | Когда вы [отправляете сеанс в фон](#from-inside-a-session), [список агентов](#from-inside-a-session) ваших других сеансов показывает разговор один раз как его фоновый сеанс, и их сообщения ему больше не достигают терминала, с которого вы его переместили. До этого выпуска этот терминал мог остаться указанным как второй интерактивный сеанс под названием разговора, и сеанс, который отправил сообщение разговору до перемещения, продолжал доставлять на этот терминал. |1052| v2.1.268 | После того как первый `←` показывает `Press ← again to open agents` или `Press ← again to go back to agents` в присоединённом сеансе, [первое нажатие, которое приходит по крайней мере через секунду позже, переключается](#switch-sessions-without-leaving-the-terminal), даже когда более быстрые нажатия между ними были проигнорированы. До этого выпуска каждое проигнорированное нажатие перезапускало ожидание, поэтому нажатие `←` снова в устойчивом темпе не переключалось до тех пор, пока вы не делали паузу более чем на секунду. |

1053| v2.1.260 | Когда вы [отправляете сеанс в фон](#from-inside-a-session), [список агентов](/docs/ru/cross-session-messaging#see-which-sessions-claude-can-reach) ваших других сеансов показывает разговор один раз как его фоновый сеанс, и их сообщения ему больше не достигают терминала, с которого вы его переместили. До этого выпуска этот терминал мог остаться указанным как второй интерактивный сеанс под названием разговора, и сеанс, который отправил сообщение разговору до перемещения, продолжал доставлять на этот терминал. |

1052| v2.1.260 | Когда [удаление отклоняется из-за неотправленных коммитов](#what-deleting-a-session-removes), сообщение называет ветвь worktree и количество неотправленных коммитов, и удаление сеанса снова отбрасывает worktree и его коммиты. До этого выпуска отказ говорил только `worktree has commits that are not pushed anywhere`, удаление снова было отклонено таким же образом, и удаление сеанса требовало отправки коммитов или удаления worktree вручную. |1054| v2.1.260 | Когда [удаление отклоняется из-за неотправленных коммитов](#what-deleting-a-session-removes), сообщение называет ветвь worktree и количество неотправленных коммитов, и удаление сеанса снова отбрасывает worktree и его коммиты. До этого выпуска отказ говорил только `worktree has commits that are not pushed anywhere`, удаление снова было отклонено таким же образом, и удаление сеанса требовало отправки коммитов или удаления worktree вручную. |

1053| v2.1.257 | `←` [отсоединяется от присоединённого сеанса, пока открыто наложение `/btw`](#attach-to-a-session), даже в середине ответа, и наложение снова открывается при следующем присоединении. До этого выпуска `←` не отсоединялся, пока наложение было открыто. |1055| v2.1.257 | `←` [отсоединяется от присоединённого сеанса, пока открыто наложение `/btw`](#attach-to-a-session), даже в середине ответа, и наложение снова открывается при следующем присоединении. До этого выпуска `←` не отсоединялся, пока наложение было открыто. |

1054| v2.1.257 | Когда вы запускаете [`claude --resume <session-id> --bg`](#from-your-shell), Claude Code продолжает этот сеанс под его собственным ID или запускает копию под новым ID и выводит строку `note:`, объясняющую почему. `--continue`, голый `--resume` и `--resume` с именем или путём запускают копию с той же заметкой. До этого выпуска `--resume` с `--bg` всегда запускал копию под новым ID и ничего не говорил. |1056| v2.1.257 | Когда вы запускаете [`claude --resume <session-id> --bg`](#from-your-shell), Claude Code продолжает этот сеанс под его собственным ID или запускает копию под новым ID и выводит строку `note:`, объясняющую почему. `--continue`, голый `--resume` и `--resume` с именем или путём запускают копию с той же заметкой. До этого выпуска `--resume` с `--bg` всегда запускал копию под новым ID и ничего не говорил. |

agents.md +5 −4

Details

4 4 

5# Запуск агентов параллельно5# Запуск агентов параллельно

6 6 

7> Сравните способы, которыми Claude Code может выполнять несколько задач одновременно: подагенты, представление агентов, команды агентов и динамические рабочие процессы.7> Сравните способы, которыми Claude Code может выполнять несколько задач одновременно: подагенты, представление агентов, команды агентов, динамические рабочие процессы и проекты.

8 8 

9[Subagents](/docs/ru/sub-agents), [agent view](/docs/ru/agent-view), [agent teams](/docs/ru/agent-teams) и [dynamic workflows](/docs/ru/workflows) каждый параллелизирует работу по-разному. Правильный выбор зависит от того, хотите ли вы оставаться в каждом разговоре сами, передать задачи и вернуться позже, или позволить Claude координировать группу работников для вас.9Claude Code имеет пять способов работать над несколькими задачами одновременно: [subagents](/docs/ru/sub-agents), [agent view](/docs/ru/agent-view), [agent teams](/docs/ru/agent-teams), [dynamic workflows](/docs/ru/workflows) и [projects](/docs/ru/claude-projects). Они отличаются тем, насколько вы остаетесь вовлечены, от управления каждым разговором самостоятельно до того, чтобы позволить Claude координировать группу работников, и тем, работает ли работа на вашей машине или в облаке.

10 10 

11| Подход | Что вы получаете | Используйте, когда |11| Подход | Что вы получаете | Используйте, когда |

12| :--------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |12| :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

13| [Subagents](/docs/ru/sub-agents) | Делегированные работники в одном сеансе, которые выполняют побочную задачу в своем собственном контексте и возвращают резюме | Побочная задача заполнит ваш основной разговор результатами поиска, логами или содержимым файлов, на которые вы больше не будете ссылаться |13| [Subagents](/docs/ru/sub-agents) | Делегированные работники в одном сеансе, которые выполняют побочную задачу в своем собственном контексте и возвращают резюме | Побочная задача заполнит ваш основной разговор результатами поиска, логами или содержимым файлов, на которые вы больше не будете ссылаться |

14| [Agent view](/docs/ru/agent-view) | Один экран для отправки и мониторинга сеансов, работающих в фоновом режиме, открывается с помощью `claude agents`. Предварительный просмотр исследования | У вас есть несколько независимых задач, и вы хотите их передать, проверить статус с первого взгляда и вмешаться только когда один из них нуждается в вас |14| [Agent view](/docs/ru/agent-view) | Один экран для отправки и мониторинга сеансов, работающих в фоновом режиме, открывается с помощью `claude agents`. Предварительный просмотр исследования | У вас есть несколько независимых задач, и вы хотите их передать, проверить статус с первого взгляда и вмешаться только когда один из них нуждается в вас |

15| [Agent teams](/docs/ru/agent-teams) | Несколько координируемых сеансов с общим списком задач и обменом сообщениями между агентами, управляемые лидером. Экспериментальная функция и отключена по умолчанию | Вы хотите, чтобы Claude разделил проект на части, назначил их и держал работников в синхронизации |15| [Agent teams](/docs/ru/agent-teams) | Несколько координируемых сеансов с общим списком задач и обменом сообщениями между агентами, управляемые лидером. Экспериментальная функция и отключена по умолчанию | Вы хотите, чтобы Claude разделил проект на части, назначил их и держал работников в синхронизации |

16| [Projects](/docs/ru/claude-projects) | Один текущий разговор на claude.ai/code или в приложении для рабочего стола. Claude запускает параллельные облачные сеансы, называемые потоками, дает каждому репозитории проекта, инструкции и память, и показывает вам, какие из них нуждаются в вас. Публичная бета на Pro и Max | Работа охватывает множество задач в течение дней или недель, должна продолжаться, когда ваша машина выключена, и вы предпочитаете описать это один раз, чем отправлять и отслеживать каждый сеанс |

16| [Dynamic workflows](/docs/ru/workflows) | Скрипт, который запускает множество подагентов и проверяет их результаты, для работы, которая слишком велика для координации за один ход или которая требует более одного прохода | Задача слишком велика для нескольких подагентов, или вы хотите, чтобы результаты были проверены друг против друга: аудит всей кодовой базы, миграция 500 файлов, перепроверенное исследование или план, разработанный с нескольких углов |17| [Dynamic workflows](/docs/ru/workflows) | Скрипт, который запускает множество подагентов и проверяет их результаты, для работы, которая слишком велика для координации за один ход или которая требует более одного прохода | Задача слишком велика для нескольких подагентов, или вы хотите, чтобы результаты были проверены друг против друга: аудит всей кодовой базы, миграция 500 файлов, перепроверенное исследование или план, разработанный с нескольких углов |

17 18 

18В каждом подходе работники — это сеансы Claude. Чтобы задействовать другой инструмент, предоставьте его Claude как [MCP server](/docs/ru/mcp).19В каждом подходе работники — это сеансы Claude. Чтобы задействовать другой инструмент, предоставьте его Claude как [MCP server](/docs/ru/mcp).


20Три дополнительных инструмента поддерживают эту работу, не являясь способом запуска агентов:21Три дополнительных инструмента поддерживают эту работу, не являясь способом запуска агентов:

21 22 

22* [Worktrees](/docs/ru/worktrees) дают каждому сеансу отдельный git checkout, поэтому параллельные сеансы никогда не редактируют одни и те же файлы. Используйте их для сеансов, которые вы запускаете сами. Сеанс, который вы отправляете из agent view, [переходит в свой собственный worktree перед редактированием файлов](/docs/ru/agent-view#how-file-edits-are-isolated), и подагенты, которых вы порождаете, могут получить свой собственный.23* [Worktrees](/docs/ru/worktrees) дают каждому сеансу отдельный git checkout, поэтому параллельные сеансы никогда не редактируют одни и те же файлы. Используйте их для сеансов, которые вы запускаете сами. Сеанс, который вы отправляете из agent view, [переходит в свой собственный worktree перед редактированием файлов](/docs/ru/agent-view#how-file-edits-are-isolated), и подагенты, которых вы порождаете, могут получить свой собственный.

23* [Cross-session messaging](/docs/ru/cross-session-messaging) позволяет Claude перечислять и отправлять сообщения вашим другим сеансам Claude Code на этой машине, на другой машине или на [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web), поэтому сеансы, которые вы запускаете сами, могут передавать результаты и статус между собой.24* [Cross-session messaging](/docs/ru/cross-session-messaging) позволяет Claude перечислять и отправлять сообщения вашим другим сеансам Claude Code на этой машине, на другой машине или [в облаке](/docs/ru/claude-code-on-the-web), поэтому сеансы, которые вы запускаете сами, могут передавать результаты и статус между собой.

24* [`/batch`](/docs/ru/commands) — это [skill](/docs/ru/skills), который заставляет Claude разделить одно большое изменение на 5–30 worktree-изолированных подагентов, каждый из которых открывает pull request. Это упакованное использование подагентов и worktrees, а не отдельный стиль координации.25* [`/batch`](/docs/ru/commands) — это [skill](/docs/ru/skills), который заставляет Claude разделить одно большое изменение на 5–30 worktree-изолированных подагентов, каждый из которых открывает pull request. Это упакованное использование подагентов и worktrees, а не отдельный стиль координации.

25 26 

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

Details

237}237}

238```238```

239 239 

240Начиная с Claude Code v2.1.181, также принимается плоский вывод из `aws configure export-credentials --format process` с теми же ключами на верхнем уровне вместо вложения под `Credentials`.240Плоский вывод из `aws configure export-credentials --format process` также принимается, с теми же ключами на верхнем уровне вместо вложения под `Credentials`.

241 241 

242`Expiration` является необязательным. Когда команда возвращает действительный ISO 8601 `Expiration`, Claude Code кэширует учётные данные до пяти минут перед этим временем. Без него учётные данные кэшируются на один час.242`Expiration` является необязательным. Когда команда возвращает действительный ISO 8601 `Expiration`, Claude Code кэширует учётные данные до пяти минут перед этим временем. Без него учётные данные кэшируются на один час.

243 243 


518 Используйте конечную точку Mantle518 Используйте конечную точку Mantle

519</h2>519</h2>

520 520 

521Mantle - это конечная точка Amazon Bedrock, которая обслуживает модели Claude через форму собственного API Anthropic, а не через Amazon Bedrock Invoke API. Она использует те же учетные данные AWS, разрешения IAM и конфигурацию `awsAuthRefresh`, описанные ранее на этой странице.521Mantle - это конечная точка Amazon Bedrock, которая обслуживает модели Claude через форму собственного API Anthropic, а не через Amazon Bedrock Invoke API. Она использует те же [учетные данные AWS](#2-configure-aws-credentials), [разрешения IAM](#iam-configuration) и [конфигурацию `awsAuthRefresh`](#advanced-credential-configuration).

522 522 

523<h3 id="enable-mantle">523<h3 id="enable-mantle">

524 Включите Mantle524 Включите Mantle

artifacts.md +4 −4

Details

10 Артефакты доступны в планах Pro, Max, Team и Enterprise и требуют сеанса, вошедшего в систему с помощью [`/login`](/docs/ru/setup#authenticate). Полный набор требований см. в разделе [Доступность](#availability).10 Артефакты доступны в планах Pro, Max, Team и Enterprise и требуют сеанса, вошедшего в систему с помощью [`/login`](/docs/ru/setup#authenticate). Полный набор требований см. в разделе [Доступность](#availability).

11</Note>11</Note>

12 12 

13Артефакт — это живая интерактивная веб-страница, которую Claude Code публикует из вашего сеанса на приватный URL на claude.ai. Вы открываете её в браузере, и она обновляется на месте по мере продолжения сеанса. Поделитесь ею из заголовка страницы, когда захотите, чтобы кто-то ещё её увидел.13[Артефакт](https://claude.com/features/artifacts) — это живая интерактивная веб-страница, которую Claude Code публикует из вашего сеанса на приватный URL на claude.ai. Вы открываете её в браузере, и она обновляется на месте по мере продолжения сеанса. Поделитесь ею из заголовка страницы, когда захотите, чтобы кто-то ещё её увидел.

14 14 

15<Frame>15<Frame>

16 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="Артефакт открыт в браузере на claude.ai/code/artifact. Заголовок средства просмотра показывает название артефакта acme-funnel-fix, кнопку Share и аватар автора. Меню Share открыто с переключателем Always share latest version, средством выбора версии, читающим Sharing version 2, селектором аудитории Everyone at Acme и кнопкой Copy link. Под заголовком страница артефакта показывает два макета мобильных устройств рядом, диаграмму воронки и строку карточек метрик." width="2511" height="1890" data-path="images/artifacts-viewer.png" />16 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="Артефакт открыт в браузере на claude.ai/code/artifact. Заголовок средства просмотра показывает название артефакта acme-funnel-fix, кнопку Share и аватар автора. Меню Share открыто с переключателем Always share latest version, средством выбора версии, читающим Sharing version 2, селектором аудитории Everyone at Acme и кнопкой Copy link. Под заголовком страница артефакта показывает два макета мобильных устройств рядом, диаграмму воронки и строку карточек метрик." width="2511" height="1890" data-path="images/artifacts-viewer.png" />


142Read the comments on https://claude.ai/code/artifact/5fbea6f3-... and make the changes the commenters ask for.142Read the comments on https://claude.ai/code/artifact/5fbea6f3-... and make the changes the commenters ask for.

143```143```

144 144 

145Если Claude говорит вам, что не может читать комментарии, проверьте три вещи:145Если Claude говорит вам, что не может читать комментарии, подтвердите вашу версию, вашу сессию и параметр флага функции:

146 146 

147* Вы используете Claude Code версии 2.1.221 или более поздней.147* Вы используете Claude Code версии 2.1.221 или более поздней.

148* Вы не находитесь в своей первой сессии после установки Claude Code или обновления с версии до v2.1.221. В этой [первой сессии после установки или обновления](/docs/ru/env-vars#first-session-after-an-install-or-upgrade) Claude может быть не в состоянии читать комментарии; начните новую сессию и попросите снова.148* Вы не находитесь в своей первой сессии после установки Claude Code или обновления с версии до v2.1.221. В этой [первой сессии после установки или обновления](/docs/ru/env-vars#first-session-after-an-install-or-upgrade) Claude может быть не в состоянии читать комментарии; начните новую сессию и попросите снова.


291 Улучшение визуального дизайна291 Улучшение визуального дизайна

292</h2>292</h2>

293 293 

294Claude применяет встроенный навык дизайна при создании артефакта, поэтому страницы получают продуманную палитру, типографику и макет без дополнительных подсказок. Требуется Claude Code версии 2.1.182 или позже. Этот навык также ищет существующую систему дизайна в вашем проекте перед выбором собственной. Дизайн-токены — это названные значения цвета, типографики и интервалов, которые ваша система дизайна переиспользует. Чтобы сохранить артефакты в соответствии с брендингом вашего продукта, запишите их там, где Claude сможет их найти, например в файле [CLAUDE.md](/docs/ru/memory) вашего проекта или в файле темы в вашем репозитории:294Claude применяет встроенный навык дизайна при создании артефакта, поэтому страницы получают продуманную палитру, типографику и макет без дополнительных подсказок. Этот навык также ищет существующую систему дизайна в вашем проекте перед выбором собственной. Дизайн-токены — это названные значения цвета, типографики и интервалов, которые ваша система дизайна переиспользует. Чтобы сохранить артефакты в соответствии с брендингом вашего продукта, запишите их там, где Claude сможет их найти, например в файле [CLAUDE.md](/docs/ru/memory) вашего проекта или в файле темы в вашем репозитории:

295 295 

296```markdown theme={null}296```markdown theme={null}

297## Design system297## Design system


331| Нет бэкенда | Артефакт — это статическая страница. Она не может самостоятельно аутентифицировать зрителей. |331| Нет бэкенда | Артефакт — это статическая страница. Она не может самостоятельно аутентифицировать зрителей. |

332| Загрузки | Страница не может самостоятельно инициировать загрузку. Чтобы позволить зрителям сохранить файл, который генерирует страница, Claude объявляет возможность загрузок. См. [Предложить загрузку файла](#offer-a-file-download). |332| Загрузки | Страница не может самостоятельно инициировать загрузку. Чтобы позволить зрителям сохранить файл, который генерирует страница, Claude объявляет возможность загрузок. См. [Предложить загрузку файла](#offer-a-file-download). |

333| Одна страница | Относительные ссылки не разрешаются, потому что ничего не развернуто рядом со страницей. Для многосекционного контента Claude использует якоря на странице, а не отдельные файлы. |333| Одна страница | Относительные ссылки не разрешаются, потому что ничего не развернуто рядом со страницей. Для многосекционного контента Claude использует якоря на странице, а не отдельные файлы. |

334| Типы исходных файлов | Опубликованный файл должен быть `.html`, `.htm` или `.md`, и должен декодироваться как UTF-8, или как little-endian UTF-16 по его меткe порядка байтов. Файлы Markdown отображаются как стилизованный HTML. Файл, который не декодируется, или который содержит символ замены `U+FFFD`, [отклоняется с указанием строки и столбца для исправления](/docs/ru/errors#the-source-file-is-not-valid-utf-8-text). |334| Типы исходных файлов | Опубликованный файл должен быть `.html`, `.htm` или `.md`, и должен декодироваться как UTF-8, или как little-endian UTF-16 по его метке порядка байтов. Файлы Markdown отображаются как стилизованные страницы документов с подсветкой синтаксиса кода. Файл, который не декодируется, или который содержит символ замены `U+FFFD`, [отклоняется с указанием строки и столбца для исправления](/docs/ru/errors#the-source-file-is-not-valid-utf-8-text). |

335| Размер отрендеренной страницы | Отрендеренная страница должна быть размером 16 МиБ или меньше. Большие встроенные изображения — обычная причина, когда публикация не удается из-за размера. |335| Размер отрендеренной страницы | Отрендеренная страница должна быть размером 16 МиБ или меньше. Большие встроенные изображения — обычная причина, когда публикация не удается из-за размера. |

336 336 

337Создание артефакта использует выходные токены, как и любой другой ответ, а стилизованная страница требует больше токенов, чем тот же контент в виде текста терминала. Встроенный CSS, JavaScript для интерактивных элементов управления и особенно изображения, встроенные как data URI, являются основными факторами. Чтобы снизить стоимость артефакта в токенах:337Создание артефакта использует выходные токены, как и любой другой ответ, а стилизованная страница требует больше токенов, чем тот же контент в виде текста терминала. Встроенный CSS, JavaScript для интерактивных элементов управления и особенно изображения, встроенные как data URI, являются основными факторами. Чтобы снизить стоимость артефакта в токенах:

Details

6 6 

7> Войдите в Claude Code и настройте аутентификацию для отдельных пользователей, команд и организаций.7> Войдите в Claude Code и настройте аутентификацию для отдельных пользователей, команд и организаций.

8 8 

9Claude Code поддерживает несколько методов аутентификации в зависимости от вашей конфигурации. Отдельные пользователи могут войти с помощью учетной записи Claude.ai, а команды могут использовать Claude for Teams или Enterprise, Claude Console или облачного провайдера, такого как Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry.9Claude Code поддерживает несколько методов аутентификации в зависимости от вашей конфигурации. Отдельные пользователи могут войти с помощью учетной записи claude.ai, а команды могут использовать Claude for Teams или Enterprise, Claude Console или облачного провайдера, такого как Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry.

10 10 

11<h2 id="log-in-to-claude-code">11<h2 id="log-in-to-claude-code">

12 Вход в Claude Code12 Вход в Claude Code


22 22 

23Вы можете аутентифицироваться с помощью любого из этих типов учетных записей:23Вы можете аутентифицироваться с помощью любого из этих типов учетных записей:

24 24 

25* **Подписка Claude Pro или Max**: войдите с помощью вашей учетной записи Claude.ai. Подпишитесь на [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).25* **Подписка Claude Pro или Max**: войдите с помощью вашей учетной записи claude.ai. Подпишитесь на [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

26* **Claude for Teams или Enterprise**: войдите с помощью учетной записи Claude.ai, на которую вас пригласил администратор вашей команды.26* **Claude for Teams или Enterprise**: войдите с помощью учетной записи claude.ai, на которую вас пригласил администратор вашей команды.

27* **Claude Console**: войдите с помощью ваших учетных данных Console. Ваш администратор должен был [пригласить вас](#claude-console-authentication) предварительно. Вы можете войти с или без [создания API ключа](#sign-in-without-an-api-key).27* **Claude Console**: войдите с помощью ваших учетных данных Console. Ваш администратор должен был [пригласить вас](#claude-console-authentication) предварительно. Вы можете войти с или без [создания API ключа](#sign-in-without-an-api-key).

28* **Облачные провайдеры**: если ваша организация использует [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry), установите необходимые переменные окружения перед запуском `claude`, или выберите **3rd-party platform** в приглашении входа, которое запускает интерактивный мастер настройки для Bedrock и Vertex AI. Вход через браузер не требуется.28* **Облачные провайдеры**: если ваша организация использует [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry), установите необходимые переменные окружения перед запуском `claude`, или выберите **3rd-party platform** в приглашении входа, которое запускает интерактивный мастер настройки для Bedrock и Vertex AI. Вход через браузер не требуется.

29* **Облачный шлюз**: если ваша организация запускает самостоятельно размещенный [шлюз приложений Claude](/docs/ru/claude-apps-gateway), войдите с помощью корпоративного SSO через `/login`. Токен, выданный шлюзом, является единственным учетным данием сеанса.29* **Облачный шлюз**: если ваша организация запускает самостоятельно размещенный [шлюз приложений Claude](/docs/ru/claude-apps-gateway), войдите с помощью корпоративного SSO через `/login`. Токен, выданный шлюзом, является единственным учетным данием сеанса.


66 </Step>66 </Step>

67 67 

68 <Step title="Установите и войдите">68 <Step title="Установите и войдите">

69 Члены команды устанавливают Claude Code и входят с помощью своих учетных записей Claude.ai.69 Члены команды устанавливают Claude Code и входят с помощью своих учетных записей claude.ai.

70 </Step>70 </Step>

71</Steps>71</Steps>

72 72 


190 * На Windows учетные данные хранятся в `%USERPROFILE%\.claude\.credentials.json` и наследуют элементы управления доступом из каталога профиля пользователя, что по умолчанию ограничивает доступ к файлу вашей учетной записью.190 * На Windows учетные данные хранятся в `%USERPROFILE%\.claude\.credentials.json` и наследуют элементы управления доступом из каталога профиля пользователя, что по умолчанию ограничивает доступ к файлу вашей учетной записью.

191 * Если вы установили переменную окружения `CLAUDE_CONFIG_DIR`, Claude Code хранит файл `.credentials.json` в этом каталоге вместо этого, включая файл, который записывает резервный вариант macOS, и также привязывает запись macOS Keychain к этому каталогу, поэтому сеанс с другим `CLAUDE_CONFIG_DIR` читает другую запись.191 * Если вы установили переменную окружения `CLAUDE_CONFIG_DIR`, Claude Code хранит файл `.credentials.json` в этом каталоге вместо этого, включая файл, который записывает резервный вариант macOS, и также привязывает запись macOS Keychain к этому каталогу, поэтому сеанс с другим `CLAUDE_CONFIG_DIR` читает другую запись.

192 * Claude Code управляет `.credentials.json` через `/login` и `/logout`. Чтобы маршрутизировать запросы через пользовательскую конечную точку API, установите переменную окружения [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars).192 * Claude Code управляет `.credentials.json` через `/login` и `/logout`. Чтобы маршрутизировать запросы через пользовательскую конечную точку API, установите переменную окружения [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars).

193* **Поддерживаемые типы аутентификации**: учетные данные Claude.ai, учетные данные Claude API, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, учетные данные профиля Anthropic и [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), а также токены сеанса [Claude apps gateway](/docs/ru/claude-apps-gateway).193* **Поддерживаемые типы аутентификации**: учетные данные claude.ai, учетные данные Claude API, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, учетные данные профиля Anthropic и [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), а также токены сеанса [Claude apps gateway](/docs/ru/claude-apps-gateway).

194* **Пользовательские скрипты учетных данных**: настройте параметр [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) для запуска скрипта оболочки, который возвращает ключ API.194* **Пользовательские скрипты учетных данных**: настройте параметр [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) для запуска скрипта оболочки, который возвращает ключ API.

195* **Интервалы обновления**: Claude Code повторно запускает `apiKeyHelper` через пять минут по умолчанию. Установите переменную окружения `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` для пользовательских интервалов обновления. Смотрите [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) для других случаев, в которых Claude Code повторно запускает помощник.195* **Интервалы обновления**: Claude Code повторно запускает `apiKeyHelper` через пять минут по умолчанию. Установите переменную окружения `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` для пользовательских интервалов обновления. Смотрите [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) для других случаев, в которых Claude Code повторно запускает помощник.

196* **Уведомление о медленном помощнике**: если `apiKeyHelper` требует более 10 секунд для возврата ключа, Claude Code отображает предупреждающее уведомление в строке приглашения, показывающее прошедшее время. Если вы видите это уведомление регулярно, проверьте, можно ли оптимизировать ваш скрипт учетных данных.196* **Уведомление о медленном помощнике**: если `apiKeyHelper` требует более 10 секунд для возврата ключа, Claude Code отображает предупреждающее уведомление в строке приглашения, показывающее прошедшее время. Если вы видите это уведомление регулярно, проверьте, можно ли оптимизировать ваш скрипт учетных данных.


236 236 

237Запустите `unset ANTHROPIC_API_KEY`, чтобы вернуться к вашей подписке, и проверьте `/status`, чтобы подтвердить, какой метод активен. Когда вход и ключ API оба настроены, `/status` отмечает учетное данные, которое не используется.237Запустите `unset ANTHROPIC_API_KEY`, чтобы вернуться к вашей подписке, и проверьте `/status`, чтобы подтвердить, какой метод активен. Когда вход и ключ API оба настроены, `/status` отмечает учетное данные, которое не используется.

238 238 

239[Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) всегда использует учетные данные вашей подписки. Если вы установите `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN` в среде песочницы, это не переопределит учетные данные вашей подписки.239[Облачные сеансы](/docs/ru/claude-code-on-the-web) всегда используют учетные данные вашей подписки. Если вы установите `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN` в облачной среде, это не переопределит учетные данные вашей подписки.

240 240 

241<h4 id="anthropic-profiles-and-federation-credentials">241<h4 id="anthropic-profiles-and-federation-credentials">

242 Профили Anthropic и учетные данные федерации242 Профили Anthropic и учетные данные федерации

Details

99 * **Organization**99 * **Organization**

100 * **Primary use of Claude Code**: по умолчанию разработка программного обеспечения100 * **Primary use of Claude Code**: по умолчанию разработка программного обеспечения

101 * **Cloud provider(s)**101 * **Cloud provider(s)**

102 * **Repository visibility**: репозиторий считается приватным, если только его удаленный хост и имя не указывают иное или проверка видимости ранее в разговоре, который читает классификатор, не показывает, что он публичный. Классификатор читает ваши сообщения и команды, которые выполняет Claude, но не их вывод, поэтому доказательство должно быть чем-то, что он может прочитать, например вашим собственным сообщением, в котором репозиторий назван публичным; вывод `gh repo view` сам по себе не достигает его. Проверка доказательств из стенограммы требует Claude Code v2.1.200 или позже102 * **Repository visibility**: репозиторий считается приватным, если только его удаленный хост и имя не указывают иное, или классификатор читает проверку видимости ранее в разговоре, показывающую, что он публичный.

103 

104 В запросах классификатора, отправляемых самим Claude Code, классификатор читает ваши сообщения и команды, которые выполняет Claude, но не их вывод. Доказательство должно быть чем-то, что классификатор может прочитать, например вашим собственным сообщением, в котором репозиторий назван публичным; вывод `gh repo view` сам по себе не достигает его. Проверка доказательств из стенограммы требует Claude Code v2.1.200 или позже

103 * **Internal sharing / snippet hosting**: публичные сервисы вставок и gist рассматриваются как находящиеся вне границы доверия, пока вы не назовете один из них105 * **Internal sharing / snippet hosting**: публичные сервисы вставок и gist рассматриваются как находящиеся вне границы доверия, пока вы не назовете один из них

104 * **Org-specific CLIs**106 * **Org-specific CLIs**

105 * **Secrets management**107 * **Secrets management**


302* Редактировать записи `environment` как один документ в вашем редакторе. Если вы ещё не настроили никакие записи `environment`, Claude Code сначала спрашивает, следует ли заменить встроенную среду, затем открывает редактор с полным встроенным текстом. При сохранении Claude Code заменяет ваш массив `autoMode.environment` документом. Включите строку `"$defaults"`, чтобы [сохранить встроенные записи](#define-trusted-infrastructure).304* Редактировать записи `environment` как один документ в вашем редакторе. Если вы ещё не настроили никакие записи `environment`, Claude Code сначала спрашивает, следует ли заменить встроенную среду, затем открывает редактор с полным встроенным текстом. При сохранении Claude Code заменяет ваш массив `autoMode.environment` документом. Включите строку `"$defaults"`, чтобы [сохранить встроенные записи](#define-trusted-infrastructure).

303 305 

304<h2 id="route-all-shell-commands-through-the-classifier">306<h2 id="route-all-shell-commands-through-the-classifier">

305 Маршрутизировать все команды оболочки через классификатор307 Маршрутизировать все команды shell через классификатор

306</h2>308</h2>

307 309 

308По умолчанию узкие правила Bash и PowerShell, такие как `Bash(npm test)`, остаются в силе в режиме auto, и Claude Code разрешает их до запуска классификатора. Claude Code приостанавливает только широкие правила, которые предоставляют произвольное выполнение кода, такие как `Bash(*)` или интерпретаторы с подстановочными знаками, вместе с каждым правилом, которое называет [`Monitor`](/docs/ru/tools-reference#monitor-tool), потому что команды Monitor выполняются через оболочку. Это означает, что узкое правило все еще может пропустить деструктивный аргумент без того, чтобы классификатор его увидел, например путь скрипта или флаг, который префикс правила не предусмотрел.310По умолчанию узкие правила Bash и PowerShell, такие как `Bash(npm test)`, остаются в силе в режиме auto. Claude Code разрешает их до запуска классификатора, если только команда не содержит [разрешённые домены для отдельных команд](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode). Claude Code приостанавливает только широкие правила, которые предоставляют произвольное выполнение кода, такие как `Bash(*)` или интерпретаторы с подстановочными знаками, вместе с каждым правилом, которое называет [`Monitor`](/docs/ru/tools-reference#monitor-tool), потому что команды Monitor выполняются через shell. Это означает, что узкое правило всё ещё может пропустить деструктивный аргумент без того, чтобы классификатор его увидел, например путь скрипта или флаг, который префикс правила не предусмотрел.

309 311 

310Установите `autoMode.classifyAllShell` в `true`, чтобы приостановить каждое правило разрешения Bash и PowerShell во время активного режима auto, чтобы классификатор оценивал каждую команду оболочки независимо от вашего списка разрешений.312Установите `autoMode.classifyAllShell` в значение `true`, чтобы приостановить каждое правило разрешения Bash и PowerShell, пока активен режим auto, так чтобы классификатор оценивал каждую команду shell независимо от вашего списка разрешений.

311 313 

312```json theme={null}314```json theme={null}

313{315{


317}319}

318```320```

319 321 

320Это обменивает задержку на охват: команда, которую правило разрешения одобрило бы мгновенно, теперь ждет решения классификатора, и каждая команда оболочки считается вызовом классификатора.322Это обменивает задержку на охват: команда, которую правило разрешения одобрило бы мгновенно, теперь ждёт решения классификатора, и каждая команда shell считается вызовом классификатора.

321 323 

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

323 325 

324<Note>326<Note>

325 `autoMode.classifyAllShell` требует Claude Code v2.1.193 или более поздней версии. Более ранние версии игнорируют ключ и продолжают применять узкие правила разрешения оболочки в режиме auto.327 `autoMode.classifyAllShell` требует Claude Code v2.1.193 или более поздней версии. Более ранние версии игнорируют ключ и продолжают применять узкие правила разрешения shell в режиме auto.

326</Note>328</Note>

327 329 

328<h2 id="inspect-the-defaults-and-your-effective-config">330<h2 id="inspect-the-defaults-and-your-effective-config">

Details

517* [Worktrees](/docs/ru/worktrees): запустите отдельные сеансы CLI в изолированных git checkouts, чтобы правки не конфликтовали517* [Worktrees](/docs/ru/worktrees): запустите отдельные сеансы CLI в изолированных git checkouts, чтобы правки не конфликтовали

518* [Cross-session messaging](/docs/ru/cross-session-messaging): позвольте сеансам, которые вы запускаете самостоятельно, передавать результаты друг другу518* [Cross-session messaging](/docs/ru/cross-session-messaging): позвольте сеансам, которые вы запускаете самостоятельно, передавать результаты друг другу

519* [Desktop app](/docs/ru/desktop#work-in-parallel-with-sessions): управляйте несколькими локальными сеансами визуально, каждый в своём worktree519* [Desktop app](/docs/ru/desktop#work-in-parallel-with-sessions): управляйте несколькими локальными сеансами визуально, каждый в своём worktree

520* [Claude Code on the web](/docs/ru/claude-code-on-the-web): запустите сеансы в облаке, на инфраструктуре, управляемой Anthropic, по умолчанию520* [Use Claude Code in the cloud](/docs/ru/claude-code-on-the-web): запустите сеансы в облаке, на инфраструктуре, управляемой Anthropic, по умолчанию

521* [Agent view](/docs/ru/agent-view): исследовательский предпросмотр. Запустите `claude agents` для отправки сеансов, которые продолжают работать в фоне, и наблюдайте за ними с одного экрана521* [Agent view](/docs/ru/agent-view): исследовательский предпросмотр. Запустите `claude agents` для отправки сеансов, которые продолжают работать в фоне, и наблюдайте за ними с одного экрана

522* [Agent teams](/docs/ru/agent-teams): экспериментальная и отключена по умолчанию. Автоматизированная координация нескольких сеансов с общими задачами, обмена сообщениями и лидера команды522* [Agent teams](/docs/ru/agent-teams): экспериментальная и отключена по умолчанию. Автоматизированная координация нескольких сеансов с общими задачами, обмена сообщениями и лидера команды

523 523 

channels.md +9 −7

Details

247 * `Marketplace "claude-plugins-official" not found`: добавьте маркетплейс с помощью `/plugin marketplace add anthropics/claude-plugins-official`, затем повторите попытку установки.247 * `Marketplace "claude-plugins-official" not found`: добавьте маркетплейс с помощью `/plugin marketplace add anthropics/claude-plugins-official`, затем повторите попытку установки.

248 * Плагин [не найден в маркетплейсе](/docs/ru/discover-plugins#install-plugins): проверьте имя плагина.248 * Плагин [не найден в маркетплейсе](/docs/ru/discover-plugins#install-plugins): проверьте имя плагина.

249 249 

250 Когда установка запросит область установки, выберите опцию области пользователя, чтобы плагин был доступен во всех ваших проектах. Если сводка установки сообщает `Run /reload-plugins to activate.`, вы можете пропустить это здесь, потому что перезагрузка на следующем шаге подхватит плагин.250 Когда установка запросит область установки, выберите опцию области пользователя, чтобы плагин был доступен во всех ваших проектах.

251 

252 Если сводка установки сообщает `Run /reload-plugins to activate.`, вам не нужно действовать здесь, потому что перезагрузка на следующем шаге подхватит плагин.

251 </Step>253 </Step>

252 254 

253 <Step title="Перезагрузитесь с включенным каналом">255 <Step title="Перезагрузитесь с включенным каналом">


368Несколько функций Claude Code подключаются к системам вне терминала, каждая подходит для разного вида работы:370Несколько функций Claude Code подключаются к системам вне терминала, каждая подходит для разного вида работы:

369 371 

370| Функция | Что она делает | Хорошо для |372| Функция | Что она делает | Хорошо для |

371| -------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |373| -------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |

372| [Claude Code в веб-браузере](/docs/ru/claude-code-on-the-web) | Запускает задачи в свежей облачной песочнице, клонированной из GitHub | Делегирование самостоятельной асинхронной работы, которую вы проверяете позже |374| [Cloud sessions](/docs/ru/claude-code-on-the-web) | Запускает задачи в свежей облачной песочнице, клонированной из GitHub | Делегирование самостоятельной асинхронной работы, которую вы проверяете позже |

373| [Claude в Slack](/docs/ru/slack) | Создает веб-сеанс из упоминания `@Claude` в канале или потоке | Запуск задач непосредственно из контекста командного разговора |375| [Claude в Slack](/docs/ru/slack) | Создает облачный сеанс из упоминания `@Claude` в канале или потоке | Запуск задач непосредственно из контекста командного разговора |

374| Стандартный [MCP-сервер](/docs/ru/mcp) | Claude запрашивает его во время задачи; ничего не отправляется в сеанс | Предоставление Claude доступа по требованию для чтения или запроса системы |376| Стандартный [MCP server](/docs/ru/mcp) | Claude запрашивает его во время задачи; ничего не отправляется в сеанс | Предоставление Claude доступа по требованию для чтения или запроса системы |

375| [Remote Control](/docs/ru/remote-control) | Вы управляете своим локальным сеансом из claude.ai или мобильного приложения Claude | Управление активным сеансом, пока вас нет за столом |377| [Remote Control](/docs/ru/remote-control) | Вы управляете своим локальным сеансом из claude.ai или мобильного приложения Claude | Управление активным сеансом, пока вас нет за столом |

376 378 

377Каналы заполняют пробел в этом списке, отправляя события из источников, не связанных с Claude, в ваш уже работающий локальный сеанс.379Каналы заполняют пробел в этом списке, отправляя события из источников, не связанных с Claude, в ваш уже работающий локальный сеанс.

378 380 

379* **Мост чата**: спросите Claude что-то со своего телефона через Telegram, Discord или iMessage, и ответ вернется в тот же чат, пока работа выполняется на вашей машине с вашими реальными файлами.381* **Chat bridge**: спросите Claude что-то со своего телефона через Telegram, Discord или iMessage, и ответ вернется в тот же чат, пока работа выполняется на вашей машине с вашими реальными файлами.

380* **[Получатель вебхука](/docs/ru/channels-reference#example-build-a-webhook-receiver)**: вебхук из CI, вашего трекера ошибок, конвейера развертывания или другого внешнего сервиса поступает туда, где Claude уже имеет открытые ваши файлы и помнит, что вы отлаживали.382* **[Webhook receiver](/docs/ru/channels-reference#example-build-a-webhook-receiver)**: вебхук из CI, вашего трекера ошибок, конвейера развертывания или другого внешнего сервиса поступает туда, где Claude уже имеет открытые ваши файлы и помнит, что вы отлаживали.

381 383 

382<h2 id="next-steps">384<h2 id="next-steps">

383 Следующие шаги385 Следующие шаги

Details

66 66 

67<Steps>67<Steps>

68 <Step title="Создание проекта">68 <Step title="Создание проекта">

69 Примеры реле разрешений далее на этой странице импортируют `zod` напрямую, поэтому он устанавливается вместе с MCP SDK. Создайте новый каталог и установите оба:69 Примеры [реле разрешений](#relay-permission-prompts) далее на этой странице импортируют `zod` напрямую, поэтому он устанавливается вместе с MCP SDK. Создайте новый каталог и установите оба:

70 70 

71 ```bash theme={null}71 ```bash theme={null}

72 mkdir webhook-channel && cd webhook-channel72 mkdir webhook-channel && cd webhook-channel


116 })116 })

117 ```117 ```

118 118 

119 Файл делает три вещи по порядку:119 Файл конфигурирует сервер, подключается через stdio и запускает HTTP-слушатель в этом порядке:

120 120 

121 * **Конфигурация сервера**: создаёт MCP-сервер с `claude/channel` в его возможностях, что говорит Claude Code, что это канал. Claude Code доставляет строку [`instructions`](#server-options) в Claude как контекст при подключении сервера: расскажите Claude, какие события ожидать, нужно ли отвечать и как маршрутизировать ответы, если это необходимо.121 * **Конфигурация сервера**: создаёт MCP-сервер с `claude/channel` в его возможностях, что говорит Claude Code, что это канал. Claude Code доставляет строку [`instructions`](#server-options) в Claude как контекст при подключении сервера: расскажите Claude, какие события ожидать, нужно ли отвечать и как маршрутизировать ответы, если это необходимо.

122 * **Подключение через stdio**: подключается к Claude Code через stdin/stdout. Это стандартно для любого [MCP-сервера](https://modelcontextprotocol.io/docs/concepts/transports#standard-io).122 * **Подключение через stdio**: подключается к Claude Code через stdin/stdout. Это стандартно для любого [MCP-сервера](https://modelcontextprotocol.io/docs/concepts/transports#standard-io).


509 509 

510Маскирование не меняет, кто получает поля. Всё, что остаётся без маски, идёт только на серверы, которые вы согласили с помощью `--channels` или флага разработки. Рассматривайте оба поля как ненадёжные, если вы не контролируете парк клиентов.510Маскирование не меняет, кто получает поля. Всё, что остаётся без маски, идёт только на серверы, которые вы согласили с помощью `--channels` или флага разработки. Рассматривайте оба поля как ненадёжные, если вы не контролируете парк клиентов.

511 511 

512Вердикт, который ваш сервер отправляет обратно, — это `notifications/claude/channel/permission` с двумя полями: `request_id`, повторяющий ID выше, и `behavior`, установленный на `'allow'` или `'deny'`. Allow позволяет вызову инструмента продолжиться; deny отклоняет его, то же самое, что ответить No в локальном диалоге. Ни один вердикт не влияет на будущие вызовы.512Вердикт, который ваш сервер отправляет обратно, — это `notifications/claude/channel/permission` с двумя полями: `request_id`, повторяющий ID выше, и `behavior`, установленный на `'allow'` или `'deny'`. Allow позволяет вызову инструмента продолжиться; deny отклоняет его. Ни один вердикт не влияет на будущие вызовы.

513 513 

514<h3 id="add-relay-to-a-chat-bridge">514<h3 id="add-relay-to-a-chat-bridge">

515 Добавление трансляции к мосту чата515 Добавление трансляции к мосту чата

Details

85 Изменения команд Bash не отслеживаются85 Изменения команд Bash не отслеживаются

86</h3>86</h3>

87 87 

88Checkpointing не отслеживает файлы, изменённые командами bash. Например, если Claude Code запускает:88Checkpointing не отслеживает файлы, изменённые командами Bash. Например, если Claude Code запускает:

89 89 

90```bash theme={null}90```bash theme={null}

91rm file.txt91rm file.txt

chrome.md +10 −10

Details

6 6 

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

8 8 

9Claude Code интегрируется с [расширением Claude in Chrome для браузера](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn), чтобы предоставить вам возможности автоматизации браузера из CLI или [расширения VS Code](/ru/vs-code#automate-browser-tasks-with-chrome). Создавайте свой код, а затем тестируйте и отлаживайте его в браузере без переключения контекста.9Claude Code интегрируется с [расширением Claude in Chrome для браузера](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn), чтобы предоставить вам возможности автоматизации браузера из CLI или [расширения VS Code](/docs/ru/vs-code#automate-browser-tasks-with-chrome). Создавайте свой код, а затем тестируйте и отлаживайте его в браузере без переключения контекста.

10 10 

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

12 12 


36 36 

37* Браузер [Google Chrome](https://www.google.com/chrome/) или [Microsoft Edge](https://www.microsoft.com/edge)37* Браузер [Google Chrome](https://www.google.com/chrome/) или [Microsoft Edge](https://www.microsoft.com/edge)

38* Расширение [Claude in Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) версии 1.0.36 или выше, доступное в Chrome Web Store для обоих браузеров38* Расширение [Claude in Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) версии 1.0.36 или выше, доступное в Chrome Web Store для обоих браузеров

39* [Claude Code](/ru/quickstart#step-1-install-claude-code)39* [Claude Code](/docs/ru/quickstart#step-1-install-claude-code)

40* Прямой план Anthropic (Pro, Max, Team или Enterprise)40* Прямой план Anthropic (Pro, Max, Team или Enterprise)

41 41 

42<Note>42<Note>


72 72 

73Выполните `/chrome` в любое время, чтобы проверить статус подключения, управлять разрешениями, переподключить расширение или выбрать, какой подключённый браузер использовать. Если при запуске действия браузера подключено более одного браузера, Claude предложит вам выбрать один.73Выполните `/chrome` в любое время, чтобы проверить статус подключения, управлять разрешениями, переподключить расширение или выбрать, какой подключённый браузер использовать. Если при запуске действия браузера подключено более одного браузера, Claude предложит вам выбрать один.

74 74 

75Для VS Code см. [автоматизацию браузера в VS Code](/ru/vs-code#automate-browser-tasks-with-chrome).75Для VS Code см. [автоматизацию браузера в VS Code](/docs/ru/vs-code#automate-browser-tasks-with-chrome).

76 76 

77<h3 id="enable-chrome-by-default">77<h3 id="enable-chrome-by-default">

78 Включение Chrome по умолчанию78 Включение Chrome по умолчанию


80 80 

81Чтобы избежать передачи `--chrome` в каждом сеансе, выполните `/chrome` и выберите "Включено по умолчанию".81Чтобы избежать передачи `--chrome` в каждом сеансе, выполните `/chrome` и выберите "Включено по умолчанию".

82 82 

83В [расширении VS Code](/ru/vs-code#automate-browser-tasks-with-chrome) Chrome доступен всякий раз, когда установлено расширение Chrome. Дополнительный флаг не требуется.83В [расширении VS Code](/docs/ru/vs-code#automate-browser-tasks-with-chrome) Chrome доступен всякий раз, когда установлено расширение Chrome. Дополнительный флаг не требуется.

84 84 

85<Note>85<Note>

86 Включение Chrome по умолчанию в CLI увеличивает использование контекста, поскольку инструменты браузера всегда загружены. Если вы заметили увеличение потребления контекста, отключите этот параметр и используйте `--chrome` только при необходимости.86 Включение Chrome по умолчанию в CLI увеличивает использование контекста, поскольку инструменты браузера всегда загружены. Если вы заметили увеличение потребления контекста, отключите этот параметр и используйте `--chrome` только при необходимости.


96 Инструменты браузера в режиме плана96 Инструменты браузера в режиме плана

97</h3>97</h3>

98 98 

99В [режиме плана](/ru/permission-modes#analyze-before-you-edit-with-plan-mode) вызовы инструментов браузера, которые только читают страницу или состояние браузера, выполняются без запроса разрешения, а вызовы, которые изменяют состояние, запрашивают одобрение.99В [режиме плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) вызовы инструментов браузера, которые только читают страницу или состояние браузера, выполняются без запроса разрешения, а вызовы, которые изменяют состояние, запрашивают одобрение.

100 100 

101* **Вызовы только для чтения**: `read_page`, `get_page_text`, `find`, чтение сообщений консоли или сетевых запросов и создание снимка экрана101* **Вызовы только для чтения**: `read_page`, `get_page_text`, `find`, чтение сообщений консоли или сетевых запросов и создание снимка экрана

102* **Вызовы, изменяющие состояние**: клики, ввод текста, навигация, управление вкладками и окнами, а также запись GIF102* **Вызовы, изменяющие состояние**: клики, ввод текста, навигация, управление вкладками и окнами, а также запись GIF


279 See also279 See also

280</h2>280</h2>

281 281 

282* [Использование компьютера](/ru/computer-use): управление собственными приложениями macOS, когда задача не может быть выполнена в браузере282* [Использование компьютера](/docs/ru/computer-use): управление собственными приложениями macOS, когда задача не может быть выполнена в браузере

283* [Использование Claude Code в VS Code](/ru/vs-code#automate-browser-tasks-with-chrome): автоматизация браузера в расширении VS Code283* [Использование Claude Code в VS Code](/docs/ru/vs-code#automate-browser-tasks-with-chrome): автоматизация браузера в расширении VS Code

284* [Справочник CLI](/ru/cli-reference): флаги командной строки, включая `--chrome`284* [Справочник CLI](/docs/ru/cli-reference): флаги командной строки, включая `--chrome`

285* [Распространённые рабочие процессы](/ru/common-workflows): дополнительные способы использования Claude Code285* [Распространённые рабочие процессы](/docs/ru/common-workflows): дополнительные способы использования Claude Code

286* [Данные и конфиденциальность](/ru/data-usage): как Claude Code обрабатывает ваши данные286* [Данные и конфиденциальность](/docs/ru/data-usage): как Claude Code обрабатывает ваши данные

287* [Начало работы с Claude in Chrome](https://support.claude.com/en/articles/12012173-getting-started-with-claude-in-chrome): полная документация расширения Chrome, включая сочетания клавиш, планирование и разрешения287* [Начало работы с Claude in Chrome](https://support.claude.com/en/articles/12012173-getting-started-with-claude-in-chrome): полная документация расширения Chrome, включая сочетания клавиш, планирование и разрешения

Details

62Этот быстрый старт проходит минимальный путь: зарегистрируйте клиент OAuth в вашем IdP, напишите `gateway.yaml`, запустите шлюз вместе с Postgres с помощью Docker Compose и проверьте вход от конца к концу. Он использует вышестоящий уровень Amazon Bedrock; Claude Platform on AWS, Agent Platform Google Cloud, Microsoft Foundry и API Anthropic одинаково поддерживаются путём замены блока `upstreams`, как показано в [справочнике конфигурации](/docs/ru/claude-apps-gateway-config#upstreams). В конце у вас есть шлюз, к которому разработчик может выполнить `/login`.62Этот быстрый старт проходит минимальный путь: зарегистрируйте клиент OAuth в вашем IdP, напишите `gateway.yaml`, запустите шлюз вместе с Postgres с помощью Docker Compose и проверьте вход от конца к концу. Он использует вышестоящий уровень Amazon Bedrock; Claude Platform on AWS, Agent Platform Google Cloud, Microsoft Foundry и API Anthropic одинаково поддерживаются путём замены блока `upstreams`, как показано в [справочнике конфигурации](/docs/ru/claude-apps-gateway-config#upstreams). В конце у вас есть шлюз, к которому разработчик может выполнить `/login`.

63 63 

64<Note>64<Note>

65 **Развёртывайте в вашей частной сети.** Claude Code подключается только к шлюзу, адрес которого является частным. Это охранник безопасности, потому что доверенный шлюз может отправлять параметры, которые запускают команды на машинах разработчиков. Поместите шлюз за внутренним балансировщиком нагрузки или VPN и дайте ему имя хоста, которое разрешается только в частные IP-адреса.65 **Развёртывайте в вашей частной сети.** Claude Code подключается только к шлюзу, адрес которого является частным. Это охранник безопасности, потому что доверенный шлюз может отправлять параметры, которые запускают команды на машинах разработчиков. Поместите шлюз за внутренним балансировщиком нагрузки или VPN и дайте ему имя хоста, которое разрешается только в частные IP-адреса. Если ваша внутренняя сеть пронумерована из общедоступного пространства IPv4, которым владеет ваша организация, см. [Разрешить шлюз на общедоступном адресном пространстве, которым вы владеете](#allow-a-gateway-on-public-address-space-you-own).

66</Note>66</Note>

67 67 

68<h3 id="prerequisites">68<h3 id="prerequisites">


72Имейте это на месте перед началом:72Имейте это на месте перед началом:

73 73 

74| Вам нужно | Детали |74| Вам нужно | Детали |

75| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |75| --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

76| Claude Code v2.1.195 или позже | Подкоманда `claude gateway` и поток входа шлюза поставляются в v2.1.195. Более ранние общедоступные сборки их не включают. Как машина, запускающая сервер шлюза, так и машина каждого разработчика должны быть на v2.1.195 или позже; запустите `claude update`, чтобы получить последний выпуск. [Claude Platform on AWS upstream](/docs/ru/claude-apps-gateway-config#claude-platform-on-aws) требует Claude Code v2.1.198 или позже на сервере шлюза. |76| Claude Code v2.1.195 или позже | Подкоманда `claude gateway` и поток входа шлюза поставляются в v2.1.195. Более ранние общедоступные сборки их не включают. Как машина, запускающая сервер шлюза, так и машина каждого разработчика должны быть на v2.1.195 или позже; запустите `claude update`, чтобы получить последний выпуск. [Claude Platform on AWS upstream](/docs/ru/claude-apps-gateway-config#claude-platform-on-aws) требует Claude Code v2.1.198 или позже на сервере шлюза. |

77| Поставщик удостоверений OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak или Dex, или любой другой совместимый с OIDC IdP, такой как PingFederate. Шлюз запускает стандартное обнаружение OIDC и поток кода авторизации против него. SAML и LDAP не поддерживаются. |77| Поставщик удостоверений OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak или Dex, или любой другой совместимый с OIDC IdP, такой как PingFederate. Шлюз запускает стандартное обнаружение OIDC и поток кода авторизации против него. SAML и LDAP не поддерживаются. |

78| PostgreSQL 14 или позже | Поддерживает поток входа устройства, где обратный вызов браузера пишет, а опрашивающий CLI читает, плюс счётчики ограничения скорости. Любой управляемый Postgres работает, включая самый маленький уровень. Без настроенных ограничений расходов шлюз хранит несколько КБ краткосрочного состояния аутентификации; с [ограничениями расходов](/docs/ru/claude-apps-gateway-spend-limits) он также содержит долговечные таблицы расходов, аудита и идентификации, которые должны быть скопированы. TLS через `?sslmode=require` рекомендуется. |78| PostgreSQL 14 или позже | Поддерживает поток входа устройства, где обратный вызов браузера пишет, а опрашивающий CLI читает, плюс счётчики ограничения скорости. Любой управляемый Postgres работает, включая самый маленький уровень. Без настроенных ограничений расходов шлюз хранит несколько КБ краткосрочного состояния аутентификации; с [ограничениями расходов](/docs/ru/claude-apps-gateway-spend-limits) он также содержит долговечные таблицы расходов, аудита и идентификации, которые должны быть скопированы. TLS через `?sslmode=require` рекомендуется. |

79| Вышестоящий уровень модели | Учётные данные Amazon Bedrock, учётные данные Claude Platform on AWS, учётные данные Google Cloud, ресурс Microsoft Foundry или ключ API Anthropic. Поддерживаются несколько вышестоящих уровней с отказоустойчивостью. |79| Вышестоящий уровень модели | Учётные данные Amazon Bedrock, учётные данные Claude Platform on AWS, учётные данные Google Cloud, ресурс Microsoft Foundry или ключ API Anthropic. Поддерживаются несколько вышестоящих уровней с отказоустойчивостью. |

80| HTTPS | Шлюз должен быть доступен по `https://` с ноутбуков разработчиков и из любого браузера, используемого для входа; шлюз служит страницей проверки устройства на том же слушателе. Либо предоставьте сертификат TLS через `listen.tls`, либо запустите позади завершающего TLS входа, и установите `listen.public_url` на внешнее происхождение в обоих случаях. Простое происхождение `http://` принимается только когда хост шлюза является loopback: `localhost`, `127.0.0.1` или `::1`. |80| HTTPS | Шлюз должен быть доступен по `https://` с ноутбуков разработчиков и из любого браузера, используемого для входа; шлюз служит страницей проверки устройства на том же слушателе. Либо предоставьте сертификат TLS через `listen.tls`, либо запустите позади завершающего TLS входа, и установите `listen.public_url` на внешнее происхождение в обоих случаях. Простое происхождение `http://` принимается только когда хост шлюза является loopback: `localhost`, `127.0.0.1` или `::1`. |

81| Адрес частной сети | При `/login` Claude Code требует, чтобы имя хоста или IP-адрес шлюза разрешались только в частные адреса: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` или loopback. Для шлюза, который вы размещаете, любой общедоступный адрес отклоняется; см. [модель угроз](/docs/ru/claude-apps-gateway-deploy#threat-model-summary) в руководстве развёртывания. Проверка выполняется на каждом разрешённом IP, поэтому если какой-либо адрес, на который разрешается имя, является общедоступным, `/login` отклоняет URL. Если машины разработчиков маршрутизируют HTTPS через корпоративный прокси, вход также требует, чтобы хост прокси разрешался в частные адреса; если это не так, добавьте хост шлюза в `NO_PROXY`, чтобы CLI подключался напрямую. |81| Адрес частной сети | При `/login` Claude Code требует, чтобы имя хоста или IP-адрес шлюза разрешались только в частные адреса: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` или loopback. Для шлюза, который вы размещаете, любой общедоступный адрес вне блока, который вы объявляете, отклоняется; см. [модель угроз](/docs/ru/claude-apps-gateway-deploy#threat-model-summary) в руководстве развёртывания. Если машины разработчиков маршрутизируют HTTPS через корпоративный прокси, вход также требует, чтобы хост прокси разрешался в частные адреса; если это не так, добавьте хост шлюза в `NO_PROXY`, чтобы CLI подключался напрямую. Если ваша внутренняя сеть пронумерована из общедоступного пространства IPv4, которым владеет ваша организация, [объявите эти блоки](#allow-a-gateway-on-public-address-space-you-own), чтобы `/login` принял шлюз там. |

82| Среда выполнения Linux | Сервер шлюза работает только на собственном двоичном файле Linux. macOS работает для локальной разработки. Windows не поддерживается как платформа сервера. |82| Среда выполнения Linux | Сервер шлюза работает только на собственном двоичном файле Linux. macOS работает для локальной разработки. Windows не поддерживается как платформа сервера. |

83 83 

84<h3 id="steps">84<h3 id="steps">


187 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080187 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080

188 ```188 ```

189 189 

190 Шлюз также регистрирует предупреждение, что `access_control.allow_cidrs` пусто. Это ожидается здесь, потому что ничто не ограничивает, какие адреса клиентов обслуживает шлюз, пока вы не установите список разрешений. [Справочник `access_control`](/docs/ru/claude-apps-gateway-config#http-tuning) содержит рекомендуемые диапазоны.

191 

190 Если загрузка выходит перед строкой `claude gateway listening on`, последняя строка stderr называет проблему:192 Если загрузка выходит перед строкой `claude gateway listening on`, последняя строка stderr называет проблему:

191 193 

192 * недоступный Postgres194 * недоступный Postgres


293 295 

294Разработчик не может настроить это вручную. В средстве выбора входа нет опции шлюза, и `forceLoginGatewayUrl` игнорируется в собственных файлах параметров разработчика. `forceLoginMethod` один, без URL, оставляет разработчика с сообщением "Свяжитесь с администратором IT". Ключи входа принадлежат файлу, который вы отправляете на машины, а не в блок `managed.policies[].cli` шлюза, который достигает только уже подключённых клиентов.296Разработчик не может настроить это вручную. В средстве выбора входа нет опции шлюза, и `forceLoginGatewayUrl` игнорируется в собственных файлах параметров разработчика. `forceLoginMethod` один, без URL, оставляет разработчика с сообщением "Свяжитесь с администратором IT". Ключи входа принадлежат файлу, который вы отправляете на машины, а не в блок `managed.policies[].cli` шлюза, который достигает только уже подключённых клиентов.

295 297 

298<h3 id="allow-a-gateway-on-public-address-space-you-own">

299 Разрешение шлюза на адресном пространстве, которым вы владеете

300</h3>

301 

302Некоторые организации нумеруют свою внутреннюю сеть из блока публичного IPv4, которым они владеют, например из собственного адресного пространства оператора или устаревшего `/8`, поэтому их шлюз не может иметь приватный адрес. Перечислите эти блоки в управляемом параметре `gatewayInternalNetworks`. `/login` затем принимает шлюз внутри перечисленного блока, когда машина разработчика подключается к нему с адреса внутри того же блока. Это требует Claude Code v2.1.268 или позже на машине разработчика; более ранние версии игнорируют ключ и применяют правило приватного адреса.

303 

304<Warning>

305 `gatewayInternalNetworks` предназначен для внутренних сетей, которые случайно нумеруются из публичного адресного пространства. Это не делает безопасным открытие шлюза в интернет: доверенный шлюз может отправлять параметры, которые запускают команды на машинах разработчиков.

306 

307 Держите шлюз недоступным из-за пределов вашей сети с помощью правил брандмауэра или балансировщика нагрузки. Установите [`access_control.allow_cidrs`](/docs/ru/claude-apps-gateway-config#http-tuning) шлюза на те же блоки, которые вы объявляете здесь, чтобы сам шлюз отказывал клиентам откуда-либо ещё. За балансировщиком нагрузки или входом установите `listen.trusted_proxies` на этот фронтенд также, потому что иначе шлюз сопоставляет `allow_cidrs` с адресом самого фронтенда, а не разработчика.

308</Warning>

309 

310Добавьте ключ в тот же источник управляемых параметров, что и ключи входа: файл управляемых параметров, профиль MDM или политика реестра. Claude Code игнорирует его в пользовательских, проектных и управляемых на сервере параметрах.

311 

312Этот пример объявляет один блок. Замените `203.0.113.0/24` на ваш собственный блок. Это диапазон документации, и Claude Code отказывает в нём.

313 

314```json theme={null}

315{

316 "gatewayInternalNetworks": ["203.0.113.0/24"]

317}

318```

319 

320Claude Code проверяет список в `/login` перед тем, как он контактирует с каким-либо шлюзом:

321 

322* Каждая запись — это блок IPv4, написанный как его первый адрес и префикс от `/8` до `/32`.

323* Список содержит максимум четыре блока, и никакие два не перекрываются.

324* Никакой блок не перекрывает приватное адресное пространство: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `127.0.0.0/8`, `169.254.0.0/16` и `100.64.0.0/10`. `/login` уже принимает шлюз там без этого ключа.

325* Никакой блок не перекрывает пространство, которое никогда не является сетью организации: `198.18.0.0/15` и `192.0.0.0/24`, которые VPN и NAT64 клиенты держат как локальные адреса; диапазоны документации `192.0.2.0/24`, `198.51.100.0/24` и `203.0.113.0/24`; и зарезервированные диапазоны `0.0.0.0/8`, `192.88.99.0/24` и мультикаст `224.0.0.0/4`. Вы можете объявлять блоки внутри `240.0.0.0/4`, которые некоторые крупные сети используют как внутреннее одноадресное пространство.

326 

327Блоки из `managed-settings.json` и его файлов drop-in `managed-settings.d/` объединяются в один список, и эти ограничения применяются к объединённому списку. Чтобы сузить блок, замените его запись, а не добавляйте вторую, перекрывающуюся в drop-in; `/login` отказывает в перекрытии.

328 

329Если запись нарушает правило или значение не является списком строк, Claude Code отказывает в каждом новом входе в шлюз на этой машине и называет проблему в сообщении. Вход в шлюз на приватном адресе также не удаётся, и существующие входы продолжают работать. Попробуйте значение на одной машине перед развёртыванием. Claude Code также перечисляет неправильно типизированное значение среди [неправильных управляемых параметров, которые он сообщает](/docs/ru/managed-settings#keys-that-fail-closed).

330 

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

332 

333* Каждый адрес, на который разрешается имя хоста шлюза, находится внутри того же блока. Claude Code отказывает имени, которое также имеет записи вне него, включая приватные и IPv6 адреса.

334* Машина разработчика подключается изнутри того же блока. Claude Code отказывает машине за NAT, внутри контейнера или WSL2, или на VPN, чей пул адресов находится вне блока, и называет адрес, с которого машина подключилась.

335* Подключение прямое. Если `HTTPS_PROXY` применяется к хосту шлюза, `/login` отказывает и называет запись `NO_PROXY` для добавления.

336 

337Когда все три проходят, подсказка [доверия](#connect-developers) добавляет строку, называющую адрес машины, адрес шлюза и объявленный блок, который содержит оба.

338 

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

340 

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

342 

296<h3 id="deliver-policy-to-claude-desktop-sessions">343<h3 id="deliver-policy-to-claude-desktop-sessions">

297 Доставка политики в сеансы Claude Desktop344 Доставка политики в сеансы Claude Desktop

298</h3>345</h3>


383 Поведение блокировки между источниками430 Поведение блокировки между источниками

384</h4>431</h4>

385 432 

386Установка одной блокировки не ограничивает другие; каждый ключ задокументирован в [справочнике параметров](/docs/ru/settings-reference#all-settings). Из источника администратора ниже победителя две блокировки изоляции по-прежнему применяются, и `allowManagedPermissionRulesOnly` по-прежнему блокирует правила разрешения, предоставленные родителем, и `additionalDirectories`. Блокировки hooks и MCP сервера, и эффект `allowManagedPermissionRulesOnly` на собственные правила разработчика, нуждаются в выигрывающем источнике по умолчанию; в соответствии с согласием на объединение `managedSourcesBehavior` в [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), Claude Code применяет самое строгое значение, которое любой источник устанавливает для каждой блокировки. На флотах [`policyHelper`](/docs/ru/settings-reference#policyhelper) блокировки читаются только из выходных данных помощника.433Установка одной блокировки не ограничивает другие; каждый ключ задокументирован в [справочнике параметров](/docs/ru/settings-reference#all-settings).

434 

435Из источника администратора ниже победителя две блокировки изоляции по-прежнему применяются, и `allowManagedPermissionRulesOnly` по-прежнему блокирует правила разрешения, предоставленные родителем, и `additionalDirectories`. На Claude Code v2.1.273 или позже блокировка MCP сервера также применяется из источника ниже победителя, и пока она включена, управляемый список `allowedMcpServers` поступает из источника администратора с наивысшим приоритетом, который устанавливает один.

436 

437Блокировка hooks и эффект `allowManagedPermissionRulesOnly` на собственные правила разработчика нуждаются в выигрывающем источнике по умолчанию; в соответствии с согласием на объединение `managedSourcesBehavior` в [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), Claude Code применяет самое строгое значение, которое любой источник устанавливает для каждой блокировки. На флотах [`policyHelper`](/docs/ru/settings-reference#policyhelper) блокировки читаются только из выходных данных помощника.

438 

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

387 440 

388Каждая блокировка заставляет Claude Code игнорировать собственные записи разработчика для этого параметра, поэтому включите списки разрешённых вашей организации рядом с блокировками. Блокировка сетевых доменов с пустым списком управляемых доменов блокирует весь исходящий трафик в изоляции, и блокировка MCP серверов без управляемых или предоставленных родителем `allowedMcpServers` загружает каждый сервер, который `deniedMcpServers` не блокирует. Записи `allowRead` только повторно разрешают пути внутри регионов `denyRead`, поэтому спаривайте их с управляемым `denyRead`.441* **Сетевые домены**: блокировка с пустым списком управляемых доменов блокирует весь исходящий трафик в изоляции.

442* **MCP серверы**: блокировка без `allowedMcpServers` в любом источнике администратора или в параметрах, предоставленных родителем, загружает каждый сервер, который `deniedMcpServers` не блокирует.

443* **Пути чтения**: записи `allowRead` только повторно разрешают пути внутри регионов `denyRead`, поэтому спаривайте их с управляемым `denyRead`.

389 444 

390<h4 id="settings-the-locks-don’t-cover">445<h4 id="settings-the-locks-don’t-cover">

391 Параметры, которые блокировки не охватывают446 Параметры, которые блокировки не охватывают

392</h4>447</h4>

393 448 

394Четыре параметра, предоставленные родителем, проходят фильтр даже со всеми пятью установленными блокировками. В соответствии с параметром первого выигрыша по умолчанию, значение администратора, которое блокирует родителя, находится в источнике администратора с наивысшим приоритетом. В соответствии с согласием на объединение `managedSourcesBehavior`, [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) говорит, какое значение источника применяется вместо этого.449Четыре параметра, предоставленные родителем, проходят фильтр даже со всеми пятью установленными блокировками. В соответствии с параметром первого выигрыша по умолчанию, значение администратора, которое блокирует родителя, находится в источнике администратора с наивысшим приоритетом, кроме `allowedMcpServers` пока [блокировка MCP сервера](#lock-behavior-across-sources) включена. В соответствии с согласием на объединение `managedSourcesBehavior`, [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) говорит, какое значение источника применяется вместо этого.

395 450 

396* **`forceLoginOrgUUID`**: Claude Code соблюдает значение, предоставленное родителем, когда источник администратора с наивысшим приоритетом не устанавливает UUID организации. Вход в шлюз не проверяет этот ключ, поэтому он имеет значение только для флотов, которые также используют входы Anthropic первой стороны. UUID организации в источнике администратора с наивысшим приоритетом блокирует значение родителя и является тем, который Claude Code применяет, поэтому установите `forceLoginOrgUUID` там.451* **`forceLoginOrgUUID`**: Claude Code соблюдает значение, предоставленное родителем, когда источник администратора с наивысшим приоритетом не устанавливает UUID организации. Вход в шлюз не проверяет этот ключ, поэтому он имеет значение только для флотов, которые также используют входы Anthropic первой стороны. UUID организации в источнике администратора с наивысшим приоритетом блокирует значение родителя и является тем, который Claude Code применяет, поэтому установите `forceLoginOrgUUID` там.

397* **`allowedMcpServers`**: Claude Code соблюдает список разрешённых, предоставленный родителем, когда источник администратора с наивысшим приоритетом не устанавливает один, и `allowManagedMcpServersOnly` не блокирует его, потому что блокировка применяет список, который выигрывает, как управляемое значение, включая список, предоставленный родителем, когда источник администратора с наивысшим приоритетом не устанавливает один. Список в источнике администратора с наивысшим приоритетом блокирует список родителя и является списком, который Claude Code применяет, поэтому установите `allowedMcpServers` там, рядом с блокировкой. До v2.1.223 значение для любого ключа в любом источнике администратора блокировало значение родителя.452* **`allowedMcpServers`**: Claude Code соблюдает список разрешённых, предоставленный родителем, когда источник администратора с наивысшим приоритетом не устанавливает один. `allowManagedMcpServersOnly` не блокирует его, потому что блокировка применяет список, который выигрывает, как управляемое значение, включая список, предоставленный родителем, когда источник администратора с наивысшим приоритетом не устанавливает один. Список в источнике администратора с наивысшим приоритетом блокирует список родителя и является списком, который Claude Code применяет, поэтому установите `allowedMcpServers` там, рядом с блокировкой. До v2.1.223 значение для любого ключа в любом источнике администратора блокировало значение родителя.

398* **`availableModels`**: Claude Code соблюдает список моделей, предоставленный родителем, когда выигрывающий управляемый источник не устанавливает один. Если ваш флот ограничивает модели, установите `availableModels` в выигрывающем источнике.453* **`availableModels`**: Claude Code соблюдает список моделей, предоставленный родителем, когда выигрывающий управляемый источник не устанавливает один. Если ваш флот ограничивает модели, установите `availableModels` в выигрывающем источнике.

399* **`strictPluginOnlyCustomization`**: этот ключ проходит фильтр независимо от любой блокировки, и он заставляет Claude Code игнорировать собственную настройку разработчика, включая защитные hooks. Никакая блокировка не блокирует его.454* **`strictPluginOnlyCustomization`**: этот ключ проходит фильтр независимо от любой блокировки, и он заставляет Claude Code игнорировать собственную настройку разработчика, включая защитные hooks. Никакая блокировка не блокирует его.

400 455 

Details

496```496```

497 497 

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

499| ------------ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |499| ------------ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

500| `multiplier` | Нет | По умолчанию `1`. Счётчик умножает каждую измеренную сумму на это, будь то по прайс-листу или переопределённая, поэтому `0.85` выставляет счёт на 85% цены. Должно быть больше 0 и не более 1. |500| `multiplier` | Нет | По умолчанию `1`. Счётчик умножает каждую измеренную сумму на это, будь то по прайс-листу или переопределённая, поэтому `0.85` выставляет счёт на 85% цены. Должно быть больше 0 и не более 10, и значение выше 1 — это [повышение цены](#mark-prices-up). |

501| `overrides` | Нет | Строки `{upstream, model, input, output, cache_read, cache_write}` в USD за миллион токенов. Все четыре ставки обязательны. Каждая должна быть больше 0 и не более 10000. |501| `overrides` | Нет | Строки `{upstream, model, input, output, cache_read, cache_write}` в USD за миллион токенов. Все четыре ставки обязательны. Каждая должна быть больше 0 и не более 10000. |

502 502 

503Как счётчик соответствует строке переопределения:503Как счётчик соответствует строке переопределения:


510 510 

511Для ставок по регионам дайте каждому региону свой именованный upstream и одну строку на upstream.511Для ставок по регионам дайте каждому региону свой именованный upstream и одну строку на upstream.

512 512 

513<h4 id="mark-prices-up">

514 Повышение цены

515</h4>

516 

517С v2.1.271 или позже на сервере gateway вы можете установить `multiplier` выше 1, до 10, чтобы взимать больше, чем взимает поставщик, например внутреннюю ставку возмещения расходов. Этот пример взимает каждый запрос на 120% цены:

518 

519```yaml theme={null}

520pricing:

521 multiplier: 1.2

522```

523 

524С блоком [`admin:`](#admin) повышение также применяется к лимитам расходов. Счётчик считает 120% цены, поэтому разработчики достигают своих ограничений быстрее. Gateway регистрирует предупреждение при загрузке, которое говорит об этом.

525 

526Множитель не изменяет то, что взимает поставщик upstream за запросы.

527 

528Если gateway также [отправляет ставки подписанным клиентам](#send-the-rates-to-signed-in-clients), разработчикам нужен Claude Code v2.1.271 или позже, чтобы видеть повышение. Более ранние клиенты игнорируют `multiplier` выше 1 и показывают затраты без него.

529 

530Сервер gateway ранее v2.1.271 отказывается запускаться, если вы установите `multiplier` выше 1.

531 

513<h4 id="send-the-rates-to-signed-in-clients">532<h4 id="send-the-rates-to-signed-in-clients">

514 Отправка ставок подписанным клиентам533 Отправка ставок подписанным клиентам

515</h4>534</h4>


544 `managed`563 `managed`

545</h3>564</h3>

546 565 

547Блок `managed` определяет политики доступа на основе ролей, ключённые на группы IdP или домен электронной почты. Политики оцениваются по порядку; первое совпадение выбирается, затем объединяется на базу `match: {}` catch-all, описанную ниже. Они обслуживаются для каждого пользователя в `GET /managed/settings` с кешированием ETag/304.566Блок `managed` определяет политики доступа на основе ролей, ключённые на группы IdP или домен электронной почты. Политики оцениваются по порядку; первое совпадение выбирается, затем объединяется на базу `match: {}` catch-all. Они обслуживаются для каждого пользователя в `GET /managed/settings` с кешированием ETag/304.

548 567 

549```yaml theme={null}568```yaml theme={null}

550managed:569managed:


829Разработчики, подписанные через `/login`, не могут перенаправлять экспорты с собственной конфигурацией OTEL:848Разработчики, подписанные через `/login`, не могут перенаправлять экспорты с собственной конфигурацией OTEL:

830 849 

831* **Локально установленные переменные**: Claude Code применяет отправленные переменные на управляемом уровне, поэтому каждая переопределяет значение, которое разработчик устанавливает для неё локально.850* **Локально установленные переменные**: Claude Code применяет отправленные переменные на управляемом уровне, поэтому каждая переопределяет значение, которое разработчик устанавливает для неё локально.

832* **Локально настроенные конечные точки**: с включённым экспортом OTLP/HTTP, CLI игнорирует любую локально настроенную конечную точку, независимо от того, отправил ли gateway переменные телеметрии. Его экспорты идут на gateway, если политика не [называет ваш сборщик как конечную точку](#export-directly-to-your-collector).851* **Локально настроенные конечные точки**: с включённым экспортом OTLP/HTTP, CLI игнорирует любую локально настроенную конечную точку, независимо от того, отправил ли gateway переменные телеметрии. Его экспорты идят на gateway, если политика не [называет ваш сборщик как конечную точку](#export-directly-to-your-collector).

833 852 

834Без назначения `forward_to` для сигнала, gateway принимает и отбрасывает его. Если разработчики уже экспортируют телеметрию Claude Code на один из ваших сборщиков, добавьте его как назначение `forward_to`, с включёнными логами или трассировками, если они их экспортируют, поэтому он продолжает получать их данные после того, как они подпишутся. Чтобы пропустить реле вместо этого, [назовите сборщик в политике](#export-directly-to-your-collector).853Без назначения `forward_to` для сигнала, gateway принимает и отбрасывает его. Если разработчики уже экспортируют телеметрию Claude Code на один из ваших сборщиков, добавьте его как назначение `forward_to`, с включёнными логами или трассировками, если они их экспортируют, поэтому он продолжает получать их данные после того, как они подпишутся. Чтобы пропустить реле вместо этого, [назовите сборщик в политике](#export-directly-to-your-collector).

835 854 


857* URL не является собственным хостом gateway. Конечная точка, адресованная gateway, сохраняет путь реле и его токен сеанса.876* URL не является собственным хостом gateway. Конечная точка, адресованная gateway, сохраняет путь реле и его токен сеанса.

858* Ни вы, ни разработчик не настроили [`otelHeadersHelper`](/docs/ru/settings-reference#otelheadershelper) ни в каком источнике параметров. С настроенным помощником, каждый сигнал остаётся на реле.877* Ни вы, ни разработчик не настроили [`otelHeadersHelper`](/docs/ru/settings-reference#otelheadershelper) ни в каком источнике параметров. С настроенным помощником, каждый сигнал остаётся на реле.

859 878 

860Конечная точка, которую вы называете, изменяет только то, куда идут экспорты. Вы всё ещё выбираете, какие сигналы экспортируют вообще с селекторами `OTEL_*_EXPORTER`.879Конечная точка, которую вы называете, изменяет только то, куда идят экспорты. Вы всё ещё выбираете, какие сигналы экспортируют вообще с селекторами `OTEL_*_EXPORTER`.

861 880 

862Конечная точка одна не включает экспорт, поэтому также установите переменные, которые это делают, если только gateway уже не отправляет их:881Конечная точка одна не включает экспорт, поэтому также установите переменные, которые это делают, если только gateway уже не отправляет их:

863 882 


892| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Ограничение скорости по IP на неаутентифицированной конечной точке авторизации устройства. Повысьте для большой организации за общим исходящим IP или NAT. Эти ограничения применяются только к потоку входа грантов устройств, а не к выводу `/v1/messages`. См. [Сопротивление перебору пользовательского кода](/docs/ru/claude-apps-gateway-deploy#user-code-brute-force-resistance). |911| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Ограничение скорости по IP на неаутентифицированной конечной точке авторизации устройства. Повысьте для большой организации за общим исходящим IP или NAT. Эти ограничения применяются только к потоку входа грантов устройств, а не к выводу `/v1/messages`. См. [Сопротивление перебору пользовательского кода](/docs/ru/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

893| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Ограничение скорости по IP на отправки `user_code` в `/device` |912| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Ограничение скорости по IP на отправки `user_code` в `/device` |

894 913 

914Если вы оставите оба списка `access_control` пустыми, что является значением по умолчанию, gateway обслуживает любой адрес клиента, поэтому только ваша сеть ограничивает, кто может его достичь. Это важно, потому что gateway может отправлять [управляемые параметры](#managed), которые запускают команды на машинах разработчиков.

915 

916Пока `allow_cidrs` пусто, gateway предупреждает в двух местах, без изменения того, как он отвечает на любой запрос:

917 

918* **При загрузке**: предупреждение в операционном журнале рекомендует разрешить только приватные диапазоны `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` и `fc00::/7`, плюс любые другие внутренние диапазоны, из которых ваши разработчики подключаются. Если вы привязываете gateway к адресу loopback и не устанавливаете ни `trusted_proxies`, ни `public_url`, как при локальной разработке, предупреждение не появляется.

919* **При выполнении**: в первый раз, когда запрос поступает с адреса вне этих приватных диапазонов, gateway регистрирует предупреждение и выпускает событие аудита [`access.public_client`](/docs/ru/claude-apps-gateway-deploy#logs), несущее IP клиента. Оба срабатывают один раз за процесс. Link-local адреса, `169.254.0.0/16` и `fe80::/10`, не считаются публичными. Gateway отвечает на `/healthz` и `/readyz` перед этой проверкой, поэтому проверки здоровья из публичных диапазонов не запускают её.

920 

921Оба сигнала используют адрес клиента, как его разрешает gateway. Если балансировщик нагрузки, port-forward или туннель передают трафик и не указаны в `listen.trusted_proxies`, gateway видит адрес реле, который обычно приватный, поэтому ни предупреждение при выполнении, ни список приватных разрешений не ловит трафик, передаваемый через него.

922 

923За таким фронтенд, установите [`listen.trusted_proxies`](#listen) сначала, чтобы gateway видел реальные адреса клиентов, и держите gateway и всё впереди него недостижимыми из публичного интернета независимо.

924 

895<h2 id="complete-example">925<h2 id="complete-example">

896 Полный пример926 Полный пример

897</h2>927</h2>


962# enforcement:992# enforcement:

963# fail_closed_on_error: false993# fail_closed_on_error: false

964 994 

965# Измеряйте по договорным ставкам вместо цены USD в прайс-листе. Требует admin:.995# Измеряйте по договорным ставкам вместо цены USD в прайс-листе. Требует admin: или политику

996# managed:. С managed:, те же ставки также идут подписанным клиентам.

966# Ставки ниже — это заполнители, а не реальные договорные цены.997# Ставки ниже — это заполнители, а не реальные договорные цены.

967# pricing:998# pricing:

968# multiplier: 0.85999# multiplier: 0.85


1062 1093 

1063Для Claude Desktop установите ключ `bootstrapUrl` в собственной [управляемой конфигурации](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop на `<listen.public_url>/user/bootstrap`. Поток входа и политика для каждой группы затем совпадают с CLI после того, как политика на стороне сервера даёт согласие ключом `desktop`; без этого согласия `/user/bootstrap` возвращает 404. См. [Наложение Claude Desktop](#claude-desktop-overlay) для серверной части.1094Для Claude Desktop установите ключ `bootstrapUrl` в собственной [управляемой конфигурации](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop на `<listen.public_url>/user/bootstrap`. Поток входа и политика для каждой группы затем совпадают с CLI после того, как политика на стороне сервера даёт согласие ключом `desktop`; без этого согласия `/user/bootstrap` возвращает 404. См. [Наложение Claude Desktop](#claude-desktop-overlay) для серверной части.

1064 1095 

1065[`forceLoginGatewayUrl`](/docs/ru/settings-reference#forcelogingatewayurl) и значение `"gateway"` [`forceLoginMethod`](/docs/ru/settings-reference#forceloginmethod) соблюдаются только из управляемого источника на машине: `managed-settings.json`, plist macOS или реестр HKLM Windows, или помощник политики. Разработчик, устанавливающий их в своём собственном `~/.claude/settings.json`, не имеет эффекта, и также не имеет эффекта установка их в полезной нагрузке gateway.1096Claude Code соблюдает [`forceLoginGatewayUrl`](/docs/ru/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/ru/settings-reference#gatewayinternalnetworks) и значение `"gateway"` [`forceLoginMethod`](/docs/ru/settings-reference#forceloginmethod) только из управляемого источника на машине: `managed-settings.json`, plist macOS или реестр HKLM Windows, или помощник политики. Разработчик, устанавливающий их в своём собственном `~/.claude/settings.json`, не имеет эффекта, и также не имеет эффекта установка их в полезной нагрузке gateway.

1066 1097 

1067<h2 id="related">1098<h2 id="related">

1068 Связанное1099 Связанное

Details

18Если вход или загрузка не удаются, перейдите прямо к [Устранению неполадок](#troubleshooting), который организован по ошибкам, которые вы видите.18Если вход или загрузка не удаются, перейдите прямо к [Устранению неполадок](#troubleshooting), который организован по ошибкам, которые вы видите.

19 19 

20<Note>20<Note>

21 **Развертывайте в вашей частной сети.** Claude Code подключается только к шлюзу, адрес которого является приватным. Это защита безопасности, потому что доверенный шлюз может отправлять параметры, которые запускают команды на машинах разработчиков. Поместите шлюз за внутренним балансировщиком нагрузки или VPN и дайте ему имя хоста, которое разрешается только на приватные IP-адреса.21 **Развертывайте в вашей частной сети.** Claude Code подключается только к шлюзу, адрес которого является приватным. Это защита безопасности, потому что доверенный шлюз может отправлять параметры, которые запускают команды на машинах разработчиков. Поместите шлюз за внутренним балансировщиком нагрузки или VPN и дайте ему имя хоста, которое разрешается только на приватные IP-адреса. Если ваша внутренняя сеть нумеруется из публичного пространства IPv4, которым владеет ваша организация, см. [Разрешить шлюз на публичном адресном пространстве, которым вы владеете](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own).

22</Note>22</Note>

23 23 

24<h2 id="identity-provider-setup">24<h2 id="identity-provider-setup">


138 138 

139Шлюз записывает два потока в stderr, оба JSON-дружественные:139Шлюз записывает два потока в stderr, оба JSON-дружественные:

140 140 

141* **События аудита**: однострочный JSON для каждого события, связанного с безопасностью. Направьте stderr в ваш агрегатор логов. Выдаваемые события включают `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert` и `admin.limit.delete`. Поля варьируются по событиям:141* **События аудита**: однострочный JSON для каждого события, связанного с безопасностью. Направьте stderr в ваш агрегатор логов.

142 

143 Выдаваемые события включают `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `access.public_client`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert` и `admin.limit.delete`. Поля варьируются по событиям:

144 

142 * Успешные события mint и refresh содержат `sub`, `email`, `client_ip` и результат145 * Успешные события mint и refresh содержат `sub`, `email`, `client_ip` и результат

143 * `auth.denied` и `access.denied` содержат причину и IP клиента, плюс путь запроса для `auth.denied`, так как идентификация пользователя не существует при этих отказах. Две причины `access.denied` изменяют то, что несет событие:146 * `auth.denied` и `access.denied` содержат причину и IP клиента, плюс путь запроса для `auth.denied`, так как идентификация пользователя не существует при этих отказах. Две причины `access.denied` изменяют то, что несет событие:

144 * `xff_unparseable`: событие также содержит запись `X-Forwarded-For`, которую не удалось прочитать147 * `xff_unparseable`: событие также содержит запись `X-Forwarded-For`, которую не удалось прочитать

145 * `client_ip_unknown`: событие не содержит IP клиента, потому что соединение не имело адреса peer, пока был установлен список `access_control`148 * `client_ip_unknown`: событие не содержит IP клиента, потому что соединение не имело адреса peer, пока был установлен список `access_control`

149 * `access.public_client` содержит IP клиента первого запроса за процесс, поступившего с публичного адреса, пока `access_control.allow_cidrs` пуст. Шлюз обслуживает запрос как обычно; событие сигнализирует, что шлюз может быть доступен из публичного интернета. Смотрите [справку `access_control`](/docs/ru/claude-apps-gateway-config#http-tuning) для того, что считается публичным и для рекомендуемого списка разрешений.

146 * `inference` записывает, какой upstream обслужил запрос и статус ответа150 * `inference` записывает, какой upstream обслужил запрос и статус ответа

147 * `desktop_bootstrap.denied` записывает отклоненную выборку Claude Desktop bootstrap с причиной (`not_configured`, `policy_not_opted_in` или `no_policy_matched`) и идентификацией пользователя151 * `desktop_bootstrap.denied` записывает отклоненную выборку Claude Desktop bootstrap с причиной (`not_configured`, `policy_not_opted_in` или `no_policy_matched`) и идентификацией пользователя

148 * `admin.denied` записывает отклоненную попытку аутентификации admin-API с IP клиента, методом, путем и причиной, без представленного материала ключа: `invalid_key` когда был представлен `x-api-key`, но он не совпал ни с одним настроенным ключом, `bearer_rejected` когда был представлен только заголовок `Authorization` и он не проверился как сеанс шлюза в `admin.admin_groups`, или `no_credentials` когда ни один заголовок не был представлен152 * `admin.denied` записывает отклоненную попытку аутентификации admin-API с IP клиента, методом, путем и причиной, без представленного материала ключа: `invalid_key` когда был представлен `x-api-key`, но он не совпал ни с одним настроенным ключом, `bearer_rejected` когда был представлен только заголовок `Authorization` и он не проверился как сеанс шлюза в `admin.admin_groups`, или `no_credentials` когда ни один заголовок не был представлен


285| Запросы разработчика не удаются с `Not signed in to the Cloud gateway — run /login.` | Управляемые параметры машины устанавливают `forceLoginMethod: "gateway"` или `forceLoginGatewayUrl`, и сеанс не имеет входа в шлюз. Оставшийся вход claude.ai не удовлетворяет требованию. | Попросите разработчика запустить `/login` и завершить вход в шлюз. См. также [Administrator policy requires a Cloud gateway sign-in](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |289| Запросы разработчика не удаются с `Not signed in to the Cloud gateway — run /login.` | Управляемые параметры машины устанавливают `forceLoginMethod: "gateway"` или `forceLoginGatewayUrl`, и сеанс не имеет входа в шлюз. Оставшийся вход claude.ai не удовлетворяет требованию. | Попросите разработчика запустить `/login` и завершить вход в шлюз. См. также [Administrator policy requires a Cloud gateway sign-in](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

286| Claude Desktop сообщает, что его конфигурация bootstrap не может быть получена | `/user/bootstrap` вернул 404: политика, соответствующая пользователю, не содержит ключ `desktop`, или политика не совпадает. Журнал аудита шлюза записывает каждое отклонение как `desktop_bootstrap.denied` с причиной. | Добавьте блок `desktop` к политике, которая соответствует пользователю, или к базовому слою `match: {}`; пустого `desktop: {}` достаточно. См. [Claude Desktop overlay](/docs/ru/claude-apps-gateway-config#claude-desktop-overlay). |290| Claude Desktop сообщает, что его конфигурация bootstrap не может быть получена | `/user/bootstrap` вернул 404: политика, соответствующая пользователю, не содержит ключ `desktop`, или политика не совпадает. Журнал аудита шлюза записывает каждое отклонение как `desktop_bootstrap.denied` с причиной. | Добавьте блок `desktop` к политике, которая соответствует пользователю, или к базовому слою `match: {}`; пустого `desktop: {}` достаточно. См. [Claude Desktop overlay](/docs/ru/claude-apps-gateway-config#claude-desktop-overlay). |

287| Запуск показывает `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Установленная сборка Claude Code предшествует поддержке шлюза | Попросите разработчика обновить Claude Code до выпуска, который включает поддержку Cloud gateway |291| Запуск показывает `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Установленная сборка Claude Code предшествует поддержке шлюза | Попросите разработчика обновить Claude Code до выпуска, который включает поддержку Cloud gateway |

292| Запуск выходит с `Administrator policy requires a Cloud gateway sign-in on this machine` | Окружение разработчика устанавливает `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, их параметры настраивают [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), или API ключ из более раннего входа Claude Console все еще сохранен | Попросите разработчика очистить каждый из применимых: отменить переменную, удалить запись `apiKeyHelper` или запустить `claude auth logout` для удаления сохраненного ключа. Затем попросите его запустить `claude` и войти с помощью `/login`. См. также [Administrator policy requires a Cloud gateway sign-in](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

288| Запуск или `/login` сообщает `Claude Code may not be enabled for your organization` после 403 при загрузке управляемых параметров | Шлюз или что-то перед ним ответили на запрос `/managed/settings` с 403. Собственный маршрут параметров шлюза никогда не отвечает 403. Статус поступает из проверок IP [`access_control`](/docs/ru/claude-apps-gateway-config#http-tuning) или из прокси или WAF перед шлюзом. Журнал аудита записывает отклонение проверки IP как `access.denied` с причиной. Разработчик остается вошедшим. | Проверьте журнал аудита на `access.denied` в момент сбоя и исправьте списки `access_control` или фронтенд, затем попросите разработчика запустить `claude` снова |293| Запуск или `/login` сообщает `Claude Code may not be enabled for your organization` после 403 при загрузке управляемых параметров | Шлюз или что-то перед ним ответили на запрос `/managed/settings` с 403. Собственный маршрут параметров шлюза никогда не отвечает 403. Статус поступает из проверок IP [`access_control`](/docs/ru/claude-apps-gateway-config#http-tuning) или из прокси или WAF перед шлюзом. Журнал аудита записывает отклонение проверки IP как `access.denied` с причиной. Разработчик остается вошедшим. | Проверьте журнал аудита на `access.denied` в момент сбоя и исправьте списки `access_control` или фронтенд, затем попросите разработчика запустить `claude` снова |

289| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Имя хоста шлюза разрешается на по крайней мере один публичный IP адрес. Claude Code проверяет каждый разрешенный адрес и требует, чтобы каждый был приватным. Частая причина — dual-stack имя, где одно семейство разрешается на публичный адрес, включая AWS внутренние dual-stack балансировщики нагрузки, которые возвращают публичные AAAA адреса. | Попросите имя шлюза разрешаться только на приватные адреса на машинах разработчиков. Для dual-stack имени удалите публичный диапазон записи или обслуживайте отдельное внутреннее DNS имя. См. [предпосылку приватной сети](/docs/ru/claude-apps-gateway#prerequisites). |294| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Имя хоста шлюза разрешается на по крайней мере один публичный IP адрес. Claude Code проверяет каждый разрешенный адрес и требует, чтобы каждый был приватным. Частая причина — dual-stack имя, где одно семейство разрешается на публичный адрес, включая AWS внутренние dual-stack балансировщики нагрузки, которые возвращают публичные AAAA адреса. | Попросите имя шлюза разрешаться только на приватные адреса на машинах разработчиков. Для dual-stack имени удалите публичный диапазон записи или обслуживайте отдельное внутреннее DNS имя. См. [предпосылку приватной сети](/docs/ru/claude-apps-gateway#prerequisites). Если адрес находится в публичном пространстве, которым владеет и использует ваша организация внутри, [объявите этот блок](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) вместо этого. |

290| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` или `HTTP_PROXY` применяется к хосту шлюза и имя хоста прокси разрешается на публичный адрес. Прокси, чье имя хоста разрешается только на приватные адреса, разрешен и не вызывает эту ошибку | Добавьте хост шлюза в `NO_PROXY` на машине разработчика, чтобы соединение было прямым, или используйте прокси, чье имя хоста разрешается на приватные адреса. Сообщение называет точную запись `NO_PROXY` для добавления |295| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` или `HTTP_PROXY` применяется к хосту шлюза и имя хоста прокси разрешается на публичный адрес. Прокси, чье имя хоста разрешается только на приватные адреса, разрешен и не вызывает эту ошибку | Добавьте хост шлюза в `NO_PROXY` на машине разработчика, чтобы соединение было прямым, или используйте прокси, чье имя хоста разрешается на приватные адреса. Сообщение называет точную запись `NO_PROXY` для добавления |

296| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | Шлюз находится на блоке, объявленном в [`gatewayInternalNetworks`](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), и машина разработчика достигла его с адреса вне этого блока: адрес из пула VPN, контейнер или сегмент NAT WSL2, или сеть, которая не ваша | Попросите разработчика запустить `/login` из хост-ОС в вашей сети. Если показанный адрес также является собственным публичным пространством вашей организации, замените запись шлюза на блок, который охватывает оба, вплоть до `/8`; вторая, перекрывающаяся запись отклоняется |

297| CLI `/login`: `Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | Имя шлюза разрешается на адрес вне блока, объявленного в [`gatewayInternalNetworks`](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own): второй сайт или запись IPv6 на dual-stack имени. Под объявленным блоком каждая запись должна быть внутри этого одного IPv4 блока, приватные и IPv6 адреса включены | Публикуйте только записи внутри блока для имени шлюза на машинах разработчиков или обслуживайте отдельное внутреннее имя |

298| CLI `/login`: `<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | `HTTPS_PROXY` или `HTTP_PROXY` применяется к шлюзу на объявленном блоке | На машине разработчика добавьте запись `NO_PROXY`, которую называет сообщение |

299| CLI `/login`: сообщение, начинающееся с `gatewayInternalNetworks in managed settings` | Значение нарушает одно из [правил валидации](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), и сообщение называет какое. До тех пор, пока вы его не исправите, Claude Code отклоняет каждый новый `/login` шлюза на машине, шлюзы на приватных адресах включены; существующие входы продолжают работать | В источнике управляемых параметров, который вы развертываете, исправьте запись, которую называет сообщение, затем повторите `/login` |

291| CLI `/login`: `Could not resolve the configured HTTP proxy` | Имя хоста в `HTTPS_PROXY` или `HTTP_PROXY` не разрешается с машины разработчика, обычно потому что она не подключена к корпоративной сети | Попросите разработчика подключиться к вашей сети или VPN и повторить попытку, или исправьте URL прокси |300| CLI `/login`: `Could not resolve the configured HTTP proxy` | Имя хоста в `HTTPS_PROXY` или `HTTP_PROXY` не разрешается с машины разработчика, обычно потому что она не подключена к корпоративной сети | Попросите разработчика подключиться к вашей сети или VPN и повторить попытку, или исправьте URL прокси |

292| CLI `/login`: `Could not resolve gateway host <host>` | Машина не может разрешить внутреннее DNS имя шлюза, обычно потому что она не в корпоративной сети | Попросите разработчика подключиться к вашей сети или VPN, затем повторите попытку `/login` |301| CLI `/login`: `Could not resolve gateway host <host>` | Машина не может разрешить внутреннее DNS имя шлюза, обычно потому что она не в корпоративной сети | Попросите разработчика подключиться к вашей сети или VPN, затем повторите попытку `/login` |

293| Загрузка выходит с ошибкой валидации конфигурации, называющей `store.postgres_url` | Postgres не настроен; шлюз требует Postgres | Установите `store.postgres_url`. Для локальной разработки используйте одноразовый контейнер: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |302| Загрузка выходит с ошибкой валидации конфигурации, называющей `store.postgres_url` | Postgres не настроен; шлюз требует Postgres | Установите `store.postgres_url`. Для локальной разработки используйте одноразовый контейнер: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

Details

7> Практический пример запуска Claude apps gateway на Google Cloud: Cloud Run или GKE, Cloud SQL для PostgreSQL, Secret Manager и аутентификация через сервисный аккаунт для Agent Platform Google Cloud.7> Практический пример запуска Claude apps gateway на Google Cloud: Cloud Run или GKE, Cloud SQL для PostgreSQL, Secret Manager и аутентификация через сервисный аккаунт для Agent Platform Google Cloud.

8 8 

9<Note>9<Note>

10 На этой странице описан один из способов запуска Claude apps gateway на Google Cloud. Конфигурация является рабочим примером для инфраструктуры, управляемой клиентом, а не поддерживаемым развертыванием для производства; используйте её, чтобы понять, как компоненты работают вместе, прежде чем адаптировать её к своей среде. Требования, независимые от платформы, см. в [руководстве по развертыванию](/ru/claude-apps-gateway-deploy).10 На этой странице описан один из способов запуска Claude apps gateway на Google Cloud. Конфигурация является рабочим примером для инфраструктуры, управляемой клиентом, а не поддерживаемым развертыванием для производства; используйте её, чтобы понять, как компоненты работают вместе, прежде чем адаптировать её к своей среде. Требования, независимые от платформы, см. в [руководстве по развертыванию](/docs/ru/claude-apps-gateway-deploy).

11</Note>11</Note>

12 12 

13Этот пример развертывает Claude apps gateway на Google Cloud с использованием Agent Platform Google Cloud в качестве вышестоящего поставщика моделей, используя либо Cloud Run, либо GKE для вычислений. Google Workspace используется в качестве примера поставщика идентификации (IdP), но работает любой поставщик, совместимый с OpenID Connect (OIDC); изменяется только блок `oidc`. Подробности для каждого IdP см. в разделе [Настройка поставщика идентификации](/ru/claude-apps-gateway-deploy#identity-provider-setup).13Этот пример развертывает Claude apps gateway на Google Cloud с использованием Agent Platform Google Cloud в качестве вышестоящего поставщика моделей, используя либо Cloud Run, либо GKE для вычислений. Google Workspace используется в качестве примера поставщика идентификации (IdP), но работает любой поставщик, совместимый с OpenID Connect (OIDC); изменяется только блок `oidc`. Подробности для каждого IdP см. в разделе [Настройка поставщика идентификации](/docs/ru/claude-apps-gateway-deploy#identity-provider-setup).

14 14 

15<h2 id="what-you’ll-build">15<h2 id="what-you’ll-build">

16 Что вы создадите16 Что вы создадите


24 24 

25* Сервис **Cloud Run** или развертывание **GKE**, запускающие контейнер шлюза25* Сервис **Cloud Run** или развертывание **GKE**, запускающие контейнер шлюза

26* Репозиторий **Artifact Registry** для образа шлюза26* Репозиторий **Artifact Registry** для образа шлюза

27* Экземпляр **Cloud SQL для PostgreSQL**, только с приватным IP, для [хранилища](/ru/claude-apps-gateway-config#store) шлюза27* Экземпляр **Cloud SQL для PostgreSQL**, только с приватным IP, для [хранилища](/docs/ru/claude-apps-gateway-config#store) шлюза

28* Секреты **Secret Manager** для `gateway.yaml`, ключа подписи JWT, секрета клиента OIDC и URL Postgres28* Секреты **Secret Manager** для `gateway.yaml`, ключа подписи JWT, секрета клиента OIDC и URL Postgres

29* **Сервисный аккаунт** с `roles/aiplatform.user`, подключённый непосредственно на Cloud Run или привязанный через Workload Identity на GKE29* **Сервисный аккаунт** с `roles/aiplatform.user`, подключённый непосредственно на Cloud Run или привязанный через Workload Identity на GKE

30* **Внутренний Application Load Balancer** на Cloud Run или внутренний **GKE Ingress** класса `gce-internal` на GKE для HTTPS30* **Внутренний Application Load Balancer** на Cloud Run или внутренний **GKE Ingress** класса `gce-internal` на GKE для HTTPS


37* CLI `gcloud`, аутентифицированный с помощью `gcloud auth login`, и Docker, установленный локально37* CLI `gcloud`, аутентифицированный с помощью `gcloud auth login`, и Docker, установленный локально

38* Для трека GKE: `kubectl` и кластер GKE на VPC, созданный в пошаговом руководстве ниже38* Для трека GKE: `kubectl` и кластер GKE на VPC, созданный в пошаговом руководстве ниже

39* Доступ к необходимым моделям Claude в Model Garden в регионе, который их публикует39* Доступ к необходимым моделям Claude в Model Garden в регионе, который их публикует

40* Веб-приложение OAuth 2.0 Google Workspace с URI перенаправления `https://<gateway-host>/oauth/callback`; см. [Настройка поставщика идентификации](/ru/claude-apps-gateway-deploy#identity-provider-setup)40* Веб-приложение OAuth 2.0 Google Workspace с URI перенаправления `https://<gateway-host>/oauth/callback`; см. [Настройка поставщика идентификации](/docs/ru/claude-apps-gateway-deploy#identity-provider-setup)

41* TLS имя хоста для шлюза, обычно внутреннее имя DNS, указывающее на балансировщик нагрузки41* TLS имя хоста для шлюза, обычно внутреннее имя DNS, указывающее на балансировщик нагрузки

42 42 

43Установите проект и регион один раз:43Установите проект и регион один раз:


94 </Step>94 </Step>

95 95 

96 <Step title="Построение и отправка образа в Artifact Registry">96 <Step title="Построение и отправка образа в Artifact Registry">

97 Постройте образ в соответствии с [требованиями к образу контейнера](/ru/claude-apps-gateway-deploy#container-image), используя двоичный файл `linux-x64` glibc, и отправьте его:97 Постройте образ в соответствии с [требованиями к образу контейнера](/docs/ru/claude-apps-gateway-deploy#container-image), используя двоичный файл `linux-x64` glibc, и отправьте его:

98 98 

99 ```bash theme={null}99 ```bash theme={null}

100 gcloud artifacts repositories create claude-gateway \100 gcloud artifacts repositories create claude-gateway \


141 </Step>141 </Step>

142 142 

143 <Step title="Написание gateway.yaml">143 <Step title="Написание gateway.yaml">

144 Блок `upstreams` указывает на Agent Platform с `auth: {}`, поэтому шлюз аутентифицируется через Application Default Credentials из сервисного аккаунта среды выполнения. Полное описание каждого поля см. в [справочнике конфигурации](/ru/claude-apps-gateway-config).144 Блок `upstreams` указывает на Agent Platform с `auth: {}`, поэтому шлюз аутентифицируется через Application Default Credentials из сервисного аккаунта среды выполнения. Полное описание каждого поля см. в [справочнике конфигурации](/docs/ru/claude-apps-gateway-config).

145 145 

146 Два поля `listen` зависят от того, что находится перед шлюзом:146 Два поля `listen` зависят от того, что находится перед шлюзом:

147 147 

148 * `public_url`: требуется за Cloud Run или GKE Ingress. Шлюз строит `redirect_uri` IdP и документ обнаружения только из этого значения, никогда из заголовков `X-Forwarded-*`.148 * `public_url`: требуется за Cloud Run или GKE Ingress. Шлюз строит `redirect_uri` IdP и документ обнаружения только из этого значения, никогда из заголовков `X-Forwarded-*`.

149 * `trusted_proxies`: диапазоны источников переднего конца. Шлюз соблюдает `X-Forwarded-For` только когда TCP-пир находится в этом списке, затем проходит по цепи мимо доверенных переходов, поэтому ограничения скорости входа на IP и события аудита записывают IP-адреса разработчиков вместо адреса балансировщика нагрузки.149 * `trusted_proxies`: диапазоны источников переднего конца. Шлюз соблюдает `X-Forwarded-For` только когда TCP-пир находится в этом списке, затем проходит по цепи мимо доверенных переходов, поэтому ограничения скорости входа на IP и события аудита записывают IP-адреса разработчиков вместо адреса балансировщика нагрузки.

150 150 

151 Установите `trusted_proxies` в соответствии с вашим передним концом. Внешний GKE Ingress класса `gce` не указан: он подготавливает адрес публичного правила переадресации, который проверка [приватной сети](/ru/claude-apps-gateway#prerequisites) `/login` отклоняет.151 Установите `trusted_proxies` в соответствии с вашим передним концом. Внешний GKE Ingress класса `gce` не указан: он подготавливает адрес публичного правила переадресации, который проверка [приватной сети](/docs/ru/claude-apps-gateway#prerequisites) `/login` отклоняет.

152 152 

153 | Передний конец | `trusted_proxies` |153 | Передний конец | `trusted_proxies` |

154 | ------------------------------------------------------------ | ---------------------------------------------------------- |154 | ------------------------------------------------------------ | ---------------------------------------------------------- |


188 ```188 ```

189 189 

190 <Note>190 <Note>

191 Google id\_tokens не содержат претензию `groups`. Для использования политик на основе групп в [`managed.policies`](/ru/claude-apps-gateway-config#managed) с Google Workspace в качестве IdP настройте [`oidc.google_groups`](/ru/claude-apps-gateway-config#oidc), которая ищет группы каждого пользователя через Admin SDK Directory API, используя сервисный аккаунт с делегированием на уровне домена. Без этого вместо этого сопоставляйте по `email_domain`.191 Google id\_tokens не содержат претензию `groups`. Для использования политик на основе групп в [`managed.policies`](/docs/ru/claude-apps-gateway-config#managed) с Google Workspace в качестве IdP настройте [`oidc.google_groups`](/docs/ru/claude-apps-gateway-config#oidc), которая ищет группы каждого пользователя через Admin SDK Directory API, используя сервисный аккаунт с делегированием на уровне домена. Без этого вместо этого сопоставляйте по `email_domain`.

192 </Note>192 </Note>

193 </Step>193 </Step>

194 194 


237 237 

238 Ограничение входа через `--ingress` — это отдельный, независимый слой от проверки вызывающего; держите его установленным, чтобы ограничить сервис вашей корпоративной сетью.238 Ограничение входа через `--ingress` — это отдельный, независимый слой от проверки вызывающего; держите его установленным, чтобы ограничить сервис вашей корпоративной сетью.

239 239 

240 По умолчанию URL Cloud Run `*.run.app` разрешается на публичный адрес, который проверка [приватной сети](/ru/claude-apps-gateway#prerequisites) `/login` отклоняет. Две топологии дают разработчикам приватно разрешаемое имя хоста, и Cloud Run не подготавливает ни одну для вас:240 По умолчанию URL Cloud Run `*.run.app` разрешается на публичный адрес, который проверка [приватной сети](/docs/ru/claude-apps-gateway#prerequisites) `/login` отклоняет. Две топологии дают разработчикам приватно разрешаемое имя хоста, и Cloud Run не подготавливает ни одну для вас:

241 241 

242 * **Internal Application Load Balancer**, топология, которую предполагает команда развертывания выше: развертывайте с `--ingress=internal-and-cloud-load-balancing`, подготовьте внутренний Application Load Balancer перед сервисом с внутренним именем DNS и сертификатом, и установите `listen.public_url` на это имя хоста.242 * **Internal Application Load Balancer**, топология, которую предполагает команда развертывания выше: развертывайте с `--ingress=internal-and-cloud-load-balancing`, подготовьте внутренний Application Load Balancer перед сервисом с внутренним именем DNS и сертификатом, и установите `listen.public_url` на это имя хоста.

243 * **Внутренний вход только без балансировщика нагрузки**: развертывайте с `--ingress=internal` и оставьте `listen.public_url` как URL `*.run.app`, значение по умолчанию в [эталонных активах](#terraform-reference) ниже. Чтобы `*.run.app` разрешался приватно, ваша команда сети должна уже работать с конечной точкой Private Service Connect для Google APIs, приватной зоной Cloud DNS, разрешающей `*.run.app` для неё, и маршрутизацией на месте к этой конечной точке.243 * **Внутренний вход только без балансировщика нагрузки**: развертывайте с `--ingress=internal` и оставьте `listen.public_url` как URL `*.run.app`, значение по умолчанию в [эталонных активах](#terraform-reference) ниже. Чтобы `*.run.app` разрешался приватно, ваша команда сети должна уже работать с конечной точкой Private Service Connect для Google APIs, приватной зоной Cloud DNS, разрешающей `*.run.app` для неё, и маршрутизацией на месте к этой конечной точке.


272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

273 ```273 ```

274 274 

275 Развертывайте шлюз как стандартное развертывание плюс сервис и внутренний Ingress, класс `gce-internal`, как описано в [развертывании Kubernetes](/ru/claude-apps-gateway-deploy#kubernetes), с:275 Развертывайте шлюз как стандартное развертывание плюс сервис и внутренний Ingress, класс `gce-internal`, как описано в [развертывании Kubernetes](/docs/ru/claude-apps-gateway-deploy#kubernetes), с:

276 276 

277 * `serviceAccountName: gateway`277 * `serviceAccountName: gateway`

278 * драйвер Secret Manager CSI, монтирующий секреты в `/secrets`278 * драйвер Secret Manager CSI, монтирующий секреты в `/secrets`


280 280 

281 Присоедините BackendConfig с повышенным `timeoutSec` к сервису шлюза: сервис бэкенда балансировщика нагрузки за GKE Ingress по умолчанию имеет тайм-аут 30 секунд, который отсекает длинные потоковые ответы.281 Присоедините BackendConfig с повышенным `timeoutSec` к сервису шлюза: сервис бэкенда балансировщика нагрузки за GKE Ingress по умолчанию имеет тайм-аут 30 секунд, который отсекает длинные потоковые ответы.

282 282 

283 Не применяйте исходящую NetworkPolicy, которая блокирует `169.254.169.254` на кластере Workload Identity; под должен достичь сервера метаданных для учётных данных. Встроенная [защита SSRF](/ru/claude-apps-gateway-deploy#threat-model-summary) шлюза — это защита там.283 Не применяйте исходящую NetworkPolicy, которая блокирует `169.254.169.254` на кластере Workload Identity; под должен достичь сервера метаданных для учётных данных. Встроенная [защита SSRF](/docs/ru/claude-apps-gateway-deploy#threat-model-summary) шлюза — это защита там.

284 284 

285 Шлюз регистрирует предупреждение при загрузке о том, что конечная точка метаданных доступна и предлагает применить исходящую NetworkPolicy. При Workload Identity это предупреждение ожидается, потому что под нуждается в конечной точке.285 Шлюз регистрирует предупреждение при загрузке о том, что конечная точка метаданных доступна и предлагает применить исходящую NetworkPolicy. При Workload Identity это предупреждение ожидается, потому что под нуждается в конечной точке.

286 </Tab>286 </Tab>


288 </Step>288 </Step>

289 289 

290 <Step title="Отправка URL шлюза на машины разработчиков">290 <Step title="Отправка URL шлюза на машины разработчиков">

291 Шлюз теперь работает, но разработчики не могут достичь его из `/login` до тех пор, пока URL шлюза не будет на их машинах. Установите `forceLoginMethod` и `forceLoginGatewayUrl` в [файле управляемых параметров](/ru/claude-apps-gateway#set-the-gateway-url), который вы развертываете на каждом устройстве через MDM. В средстве выбора входа нет опции шлюза для разработчика, чтобы выбрать вручную.291 Шлюз теперь работает, но разработчики не могут достичь его из `/login` до тех пор, пока URL шлюза не будет на их машинах. Установите `forceLoginMethod` и `forceLoginGatewayUrl` в [файле управляемых параметров](/docs/ru/claude-apps-gateway#set-the-gateway-url), который вы развертываете на каждом устройстве через MDM. В средстве выбора входа нет опции шлюза для разработчика, чтобы выбрать вручную.

292 </Step>292 </Step>

293</Steps>293</Steps>

294 294 


310 Troubleshooting310 Troubleshooting

311</h2>311</h2>

312 312 

313Для ошибок загрузки и входа шлюза см. независимую от платформы [таблицу troubleshooting](/ru/claude-apps-gateway-deploy#troubleshooting). Записи ниже относятся к Google Cloud.313Для ошибок загрузки и входа шлюза см. независимую от платформы [таблицу troubleshooting](/docs/ru/claude-apps-gateway-deploy#troubleshooting). Записи ниже относятся к Google Cloud.

314 314 

315| Симптом | Причина | Исправление |315| Симптом | Причина | Исправление |

316| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |316| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


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

326</h2>326</h2>

327 327 

328* [Справочник конфигурации](/ru/claude-apps-gateway-config): каждый параметр `gateway.yaml`, включая `managed.policies` и `telemetry`328* [Справочник конфигурации](/docs/ru/claude-apps-gateway-config): каждый параметр `gateway.yaml`, включая `managed.policies` и `telemetry`

329* [Развертывание и операции](/ru/claude-apps-gateway-deploy): настройка IdP, проверки здоровья, ротация секрета JWT, обновления и модель безопасности329* [Развертывание и операции](/docs/ru/claude-apps-gateway-deploy): настройка IdP, проверки здоровья, ротация секрета JWT, обновления и модель безопасности

330* [Обзор Claude apps gateway](/ru/claude-apps-gateway): быстрый старт и подключение разработчиков330* [Обзор Claude apps gateway](/docs/ru/claude-apps-gateway): быстрый старт и подключение разработчиков

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> 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.3> Use this file to discover all available pages before exploring further.

4 4 

5# Использование Claude Code в веб-интерфейсе5# Использование Claude Code в облаке

6 6 

7> Перемещайте сессии между веб-интерфейсом и терминалом с помощью `--cloud` и `--teleport`, управляйте и делитесь сессиями, а также автоматически исправляйте pull requests из облака.7> Запускайте сессии Claude Code в облаке из браузера, телефона, настольного приложения или терминала, перемещайте их с помощью --cloud и --teleport, а также автоматически исправляйте pull requests.

8 8 

9<Note>9<Note>

10 Claude Code в веб-интерфейсе находится в исследовательском предпросмотре для пользователей Pro, Max и Team, а также для пользователей Enterprise с премиум-местами или местами Chat + Claude Code.10 Облачные сессии находятся в исследовательском предпросмотре для пользователей Pro, Max и Team, а также для пользователей Enterprise с премиум-местами или местами Chat + Claude Code.

11</Note>11</Note>

12 12 

13Claude Code в веб-интерфейсе запускает задачи на облачной инфраструктуре, управляемой Anthropic, по адресу [claude.ai/code](https://claude.ai/code), или в [самостоятельно размещённом окружении](/docs/ru/self-hosted-environments) вашей организации, когда маршрутизируется туда. Сессии сохраняются даже если вы закроете браузер, и вы можете мониторить их из мобильного приложения Claude.13Облачная сессия — это сессия Claude Code, которая запускается на облачной инфраструктуре вместо вашей машины. По умолчанию она запускается на инфраструктуре, управляемой Anthropic, или в [самостоятельно размещённом окружении](/docs/ru/self-hosted-environments) вашей организации, когда маршрутизируется туда. Сессия продолжает работать после того, как вы закроете ноутбук, и вы можете проверить её или управлять ею с любого устройства.

14 

15Вы можете запустить облачную сессию с любой из этих поверхностей:

16 

17* **Браузер**: [claude.ai/code](https://claude.ai/code), также называется Claude Code в веб-интерфейсе

18* **Мобильное устройство**: вкладка **Code** в [приложении Claude](/docs/ru/mobile)

19* **Настольное приложение**: выберите **Cloud** вместо **Local** при [запуске сессии](/docs/ru/desktop#run-long-running-tasks-in-the-cloud)

20* **Терминал**: [`claude --cloud`](#from-terminal-to-cloud)

21* **Routines**: [запланированные и активируемые запуски](/docs/ru/routines) каждый запуск выполняется как облачная сессия

22 

23Чтобы Claude запустил и отслеживал множество облачных сессий для одного набора работ, используйте [проект](/docs/ru/claude-projects). Сессия в вашем терминале, вашей IDE или настольном приложении с выбранным **Local** запускается на вашей собственной машине. Чтобы управлять одной из этих локальных сессий с вашего телефона или браузера, используйте [Remote Control](/docs/ru/remote-control).

14 24 

15<Tip>25<Tip>

16 Новичок в Claude Code в веб-интерфейсе? Начните с [Начало работы](/docs/ru/web-quickstart) для подключения вашего аккаунта GitHub и отправки вашей первой задачи.26 Новичок в облачных сессиях? Начните с [Начало работы](/docs/ru/web-quickstart) для подключения вашего аккаунта GitHub и отправки вашей первой задачи.

17</Tip>27</Tip>

18 28 

19На этой странице рассматривается сам веб-продукт:29На этой странице рассматривается:

20 30 

21* [Облачные окружения](#cloud-environments): где запускаются сессии и где это настроить31* [Облачные окружения](#cloud-environments): где запускаются сессии и где это настроить

22* [Варианты аутентификации GitHub](#github-authentication-options): два способа подключения GitHub32* [Варианты аутентификации GitHub](#github-authentication-options): два способа подключения GitHub

23* [Перемещение задач между веб-интерфейсом и терминалом](#move-tasks-between-web-and-terminal) с помощью `--cloud` и `--teleport`33* [Перемещение задач между терминалом и облаком](#move-tasks-between-terminal-and-cloud) с помощью `--cloud` и `--teleport`

24* [Работа с сессиями](#work-with-sessions): режимы разрешений, просмотр, совместное использование, архивирование, удаление34* [Работа с сессиями](#work-with-sessions): режимы разрешений, просмотр, совместное использование, архивирование, удаление

25* [Auto-fix pull requests](#auto-fix-pull-requests): автоматический ответ на сбои CI и комментарии рецензентов35* [Auto-fix pull requests](#auto-fix-pull-requests): автоматический ответ на сбои CI и комментарии рецензентов

26* [Безопасность и изоляция](#security-and-isolation): как сессии изолированы36* [Безопасность и изоляция](#security-and-isolation): как сессии изолированы


43Облачным сессиям нужен доступ к вашим репозиториям GitHub для клонирования кода и отправки веток. Вы можете предоставить доступ двумя способами:53Облачным сессиям нужен доступ к вашим репозиториям GitHub для клонирования кода и отправки веток. Вы можете предоставить доступ двумя способами:

44 54 

45| Метод | Как вы подключаетесь | Репозитории, к которым могут получить доступ сессии | Лучше всего для |55| Метод | Как вы подключаетесь | Репозитории, к которым могут получить доступ сессии | Лучше всего для |

46| :--------------- | :------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |56| :--------------- | :------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------- |

47| **GitHub App** | Авторизуйте приложение Claude GitHub во время [веб-подключения](/docs/ru/web-quickstart) | Любой открытый репозиторий и приватные репозитории, на которых установлено приложение Claude GitHub | Веб-подключение в браузере; команды, которые хотят [Auto-fix](#auto-fix-pull-requests) |57| **GitHub App** | Авторизуйте приложение Claude GitHub во время [веб-подключения](/docs/ru/web-quickstart) | Любой открытый репозиторий и приватные репозитории, на которых установлено приложение Claude GitHub | Веб-подключение в браузере; команды, которые хотят [Auto-fix](#auto-fix-pull-requests) |

48| **`/web-setup`** | Запустите `/web-setup` в вашем терминале для отправки вашего локального токена `gh` CLI на ваш аккаунт Claude | Любой репозиторий, к которому может получить доступ ваш токен `gh`, независимо от того, установлено ли приложение | Отдельные разработчики, которые уже используют `gh` |58| **`/web-setup`** | Запустите `/web-setup` в вашем терминале для отправки вашего локального токена `gh` CLI на ваш аккаунт Claude | Любой репозиторий, к которому может получить доступ ваш токен `gh`, независимо от того, установлено ли приложение Claude GitHub | Отдельные разработчики, которые уже используют `gh` |

49 59 

50Установка приложения Claude GitHub на репозиторий также включает [Auto-fix](#auto-fix-pull-requests) для pull-запросов в нём.60Установка приложения Claude GitHub на репозиторий также включает [Auto-fix](#auto-fix-pull-requests) для pull-запросов в нём.

51 61 

62Потоки в [проекте](/docs/ru/claude-projects) требуют установки приложения Claude GitHub на каждом репозитории, который они клонируют, независимо от того, каким методом вы подключились. См. [Set up GitHub access](/docs/ru/claude-projects#set-up-github-access).

63 

52Для информации о том, как `/schedule` проверяет доступ к репозиторию перед созданием routine, см. [Repositories and branch permissions](/docs/ru/routines#repositories-and-branch-permissions). См. [Connect from your terminal](/docs/ru/web-quickstart#connect-from-your-terminal) для пошагового руководства `/web-setup`, включая то, что хранит `/web-setup` и как его удалить.64Для информации о том, как `/schedule` проверяет доступ к репозиторию перед созданием routine, см. [Repositories and branch permissions](/docs/ru/routines#repositories-and-branch-permissions). См. [Connect from your terminal](/docs/ru/web-quickstart#connect-from-your-terminal) для пошагового руководства `/web-setup`, включая то, что хранит `/web-setup` и как его удалить.

53 65 

54Quick web setup — это параметр организации, который позволяет членам подключать GitHub с помощью `/web-setup`, пропускает запрос на установку Claude GitHub App во время веб-подключения в браузере и заставляет веб-подключение создать [**Default** окружение](/docs/ru/cloud-environments#the-default-environment) для них вместо отображения формы окружения. На планах Team и Enterprise он отключен по умолчанию, что скрывает `/web-setup`. [Owner](/docs/ru/server-managed-settings#access-control) включает его с помощью переключателя **Quick web setup** в [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code).66Quick web setup — это параметр организации, который позволяет членам подключать GitHub с помощью `/web-setup`, пропускает запрос на установку Claude GitHub App во время веб-подключения в браузере и заставляет веб-подключение создать [**Default** окружение](/docs/ru/cloud-environments#the-default-environment) для них вместо отображения формы окружения. На планах Team и Enterprise он отключен по умолчанию, что скрывает `/web-setup`. [Owner](/docs/ru/server-managed-settings#access-control) включает его с помощью переключателя **Quick web setup** в [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code).


57 Организации с включённым [Zero Data Retention](/docs/ru/zero-data-retention) не могут использовать `/web-setup` или другие функции облачных сессий.69 Организации с включённым [Zero Data Retention](/docs/ru/zero-data-retention) не могут использовать `/web-setup` или другие функции облачных сессий.

58</Note>70</Note>

59 71 

60<h2 id="move-tasks-between-web-and-terminal">72<h2 id="move-tasks-between-terminal-and-cloud">

61 Перемещение задач между веб-интерфейсом и терминалом73 Перемещение задач между терминалом и облаком

62</h2>74</h2>

63 75 

64Эти рабочие процессы требуют [Claude Code CLI](/docs/ru/quickstart), вошедшего в один и тот же аккаунт claude.ai. Вы можете запускать новые облачные сессии из вашего терминала или вытягивать облачные сессии в ваш терминал для продолжения локально. Облачные сессии сохраняются даже если вы закроете ваш ноутбук, и вы можете мониторить их откуда угодно, включая мобильное приложение Claude.76Эти рабочие процессы требуют [Claude Code CLI](/docs/ru/quickstart), вошедшего в один и тот же аккаунт claude.ai. Вы можете запускать новые облачные сессии из вашего терминала или вытягивать облачные сессии в ваш терминал для продолжения локально. Облачные сессии сохраняются даже если вы закроете ваш ноутбук, и вы можете мониторить их откуда угодно, включая мобильное приложение Claude.

65 77 

66<Note>78<Note>

67 Из CLI передача сессии односторонняя: вы можете вытягивать облачные сессии в ваш терминал с помощью `--teleport`, но вы не можете отправить существующую сессию терминала в веб-интерфейс. Флаг `--cloud` с описанием задачи создаёт новую облачную сессию для вашего текущего репозитория; с `-p` и ID сессии или URL claude.ai/code он вместо этого [ставит сообщение в очередь в эту существующую сессию](/docs/ru/claude-code-on-the-web#send-follow-ups-from-the-cli). [Desktop app](/docs/ru/desktop#continue-in-another-surface) предоставляет меню Continue in, которое может отправить локальную сессию в веб-интерфейс.79 Из CLI передача сессии односторонняя: вы можете вытягивать облачные сессии в ваш терминал с помощью `--teleport`, но вы не можете отправить существующую сессию терминала в облако. Флаг `--cloud` с описанием задачи создаёт новую облачную сессию для вашего текущего репозитория; с `-p` и ID сессии или URL claude.ai/code он вместо этого [ставит сообщение в очередь в эту существующую сессию](/docs/ru/claude-code-on-the-web#send-follow-ups-from-the-cli). [Desktop app](/docs/ru/desktop#continue-in-another-surface) предоставляет меню **Continue in**, которое может отправить локальную сессию в облако.

68</Note>80</Note>

69 81 

70<h3 id="from-terminal-to-web">82<h3 id="from-terminal-to-cloud">

71 От терминала к веб-интерфейсу83 От терминала к облаку

72</h3>84</h3>

73 85 

74Запустите облачную сессию из командной строки с флагом `--cloud`:86Запустите облачную сессию из командной строки с флагом `--cloud`:


84Пока облачный контейнер запускается, CLI показывает живой чек-лист шагов настройки, таких как клонирование репозитория и запуск вашего [скрипта установки](/docs/ru/cloud-environments#setup-scripts). Он ставит в очередь сообщения, которые вы вводите во время подготовки, и отправляет их после того, как сессия будет готова.96Пока облачный контейнер запускается, CLI показывает живой чек-лист шагов настройки, таких как клонирование репозитория и запуск вашего [скрипта установки](/docs/ru/cloud-environments#setup-scripts). Он ставит в очередь сообщения, которые вы вводите во время подготовки, и отправляет их после того, как сессия будет готова.

85 97 

86<Note>98<Note>

87 `--cloud` создаёт облачные сессии. `--remote-control` не связан: он предоставляет локальную сессию CLI для мониторинга из веб-интерфейса. См. [Remote Control](/docs/ru/remote-control).99 `--cloud` создаёт облачные сессии. `--remote-control` не связан: он позволяет вам мониторить и управлять локальной сессией CLI из claude.ai или приложения Claude. См. [Remote Control](/docs/ru/remote-control).

88</Note>100</Note>

89 101 

90Откройте сессию на claude.ai или в мобильном приложении Claude для проверки прогресса или прямого взаимодействия. Оттуда вы можете управлять Claude, предоставлять обратную связь или отвечать на вопросы, как в любом другом разговоре.102Откройте сессию на claude.ai или в мобильном приложении Claude для проверки прогресса или прямого взаимодействия. Оттуда вы можете управлять Claude, предоставлять обратную связь или отвечать на вопросы, как в любом другом разговоре.


95 Советы для облачных задач107 Советы для облачных задач

96</h4>108</h4>

97 109 

98**Планируйте локально, выполняйте удалённо**: для сложных задач начните Claude в режиме плана для совместной работы над подходом, затем отправьте работу в облако:110**Планируйте локально, выполняйте в облаке**: для сложных задач начните Claude в режиме плана для совместной работы над подходом, затем отправьте работу в облако:

99 111 

100```bash theme={null}112```bash theme={null}

101claude --permission-mode plan113claude --permission-mode plan


115claude --cloud "Refactor the logger to use structured output"127claude --cloud "Refactor the logger to use structured output"

116```128```

117 129 

118Когда сессия завершится, вы можете создать PR из веб-интерфейса или [телепортировать](#from-web-to-terminal) сессию в ваш терминал для продолжения работы.130Когда сессия завершится, вы можете создать PR из claude.ai/code или [телепортировать](#from-cloud-to-terminal) сессию в ваш терминал для продолжения работы.

119 131 

120<h4 id="send-local-repositories-without-github">132<h4 id="send-local-repositories-without-github">

121 Отправляйте локальные репозитории без GitHub133 Отправляйте локальные репозитории без GitHub


183| `Session not found: <id>` | ID или URL не совпадает с сессией, к которой вы можете получить доступ. Проверьте его по URL claude.ai/code сессии. |195| `Session not found: <id>` | ID или URL не совпадает с сессией, к которой вы можете получить доступ. Проверьте его по URL claude.ai/code сессии. |

184| `cloud session <id> is archived and cannot accept new messages` | Сессия была архивирована. Запустите новую сессию вместо этого. |196| `cloud session <id> is archived and cannot accept new messages` | Сессия была архивирована. Запустите новую сессию вместо этого. |

185 197 

186<h3 id="from-web-to-terminal">198<h3 id="from-cloud-to-terminal">

187 От веб-интерфейса к терминалу199 От облака к терминалу

188</h3>200</h3>

189 201 

190Вытягивайте облачную сессию в ваш терминал, используя любое из этих:202Вытягивайте облачную сессию в ваш терминал, используя любое из этих:


192* **Используя `--teleport`**: из командной строки запустите `claude --teleport` для интерактивного выбора сессии, или `claude --teleport <session-id>` для прямого возобновления конкретной сессии. Если у вас есть незафиксированные изменения, вам будет предложено сначала их спрятать.204* **Используя `--teleport`**: из командной строки запустите `claude --teleport` для интерактивного выбора сессии, или `claude --teleport <session-id>` для прямого возобновления конкретной сессии. Если у вас есть незафиксированные изменения, вам будет предложено сначала их спрятать.

193* **Используя `/teleport`**: внутри существующей сессии CLI запустите `/teleport` или `/tp` для открытия того же выбора сессии без перезагрузки Claude Code.205* **Используя `/teleport`**: внутри существующей сессии CLI запустите `/teleport` или `/tp` для открытия того же выбора сессии без перезагрузки Claude Code.

194* **Из `/tasks`**: запустите `/tasks` для просмотра ваших фоновых сессий, затем нажмите `t` для телепортирования в одну из них.206* **Из `/tasks`**: запустите `/tasks` для просмотра ваших фоновых сессий, затем нажмите `t` для телепортирования в одну из них.

195* **Из веб-интерфейса**: выберите **Open in > Terminal** из меню сессии для копирования команды, которую вы можете вставить в ваш терминал.207* **Из claude.ai/code**: выберите **Open in > Terminal** из меню сессии для копирования команды, которую вы можете вставить в ваш терминал.

196* **Из облачной сессии**: введите `/teleport` и Claude Code ответит точной командой `claude --teleport <session-id>` для этой сессии, готовой к запуску из checkout репозитория. Требует Claude Code v2.1.223 или более поздней версии в окружении сессии.208* **Из облачной сессии**: введите `/teleport` и Claude Code ответит точной командой `claude --teleport <session-id>` для этой сессии, готовой к запуску из checkout репозитория. Требует Claude Code v2.1.223 или более поздней версии в окружении сессии.

197 209 

198Когда вы телепортируете сессию, Claude проверяет, что вы находитесь в правильном репозитории, получает и извлекает ветку из облачной сессии и загружает полную историю разговора в ваш терминал. Терминал получает свою собственную копию сессии: новая работа там остаётся локальной и не появляется в облачной сессии на claude.ai или в мобильном приложении Claude. Чтобы продолжить управление со своего телефона после телепортирования, запустите [`/remote-control`](/docs/ru/remote-control) в локальной сессии.210Когда вы телепортируете сессию, Claude проверяет, что вы находитесь в правильном репозитории, получает и извлекает ветку из облачной сессии и загружает полную историю разговора в ваш терминал. Терминал получает свою собственную копию сессии: новая работа там остаётся локальной и не появляется в облачной сессии на claude.ai или в мобильном приложении Claude. Чтобы продолжить управление со своего телефона после телепортирования, запустите [`/remote-control`](/docs/ru/remote-control) в локальной сессии.


224 236 

225Сеансы отображаются на боковой панели на claude.ai/code. Оттуда вы можете просмотреть изменения, поделиться с коллегами, архивировать завершённую работу или окончательно удалить сеансы.237Сеансы отображаются на боковой панели на claude.ai/code. Оттуда вы можете просмотреть изменения, поделиться с коллегами, архивировать завершённую работу или окончательно удалить сеансы.

226 238 

239<h3 id="take-back-a-queued-message">

240 Отмена поставленного в очередь сообщения

241</h3>

242 

243Если вы отправляете сообщение, пока Claude работает, сообщение ставится в очередь до тех пор, пока Claude его не прочитает. Чтобы отменить поставленное в очередь сообщение, нажмите на ✕. Текст вернётся в поле сообщения, чтобы вы могли его отредактировать или отправить что-то другое.

244 

245Если Claude уже прочитал сообщение, оно остаётся в беседе.

246 

227<h3 id="manage-context">247<h3 id="manage-context">

228 Управление контекстом248 Управление контекстом

229</h3>249</h3>

230 250 

231Облачные сеансы поддерживают [встроенные команды](/docs/ru/commands), которые выводят текстовый результат. Команды, которые работают только в интерфейсе терминала, такие как `/plugin` или `/resume`, недоступны. Команды, которые открывают средство выбора или панель в терминале, ведут себя иначе в облачных сеансах:251Облачные сеансы поддерживают [встроенные команды](/docs/ru/commands), которые выводят текстовый результат. Команды, которые работают только в интерфейсе терминала, такие как `/plugin` или `/resume`, недоступны. Команды, которые открывают средство выбора или панель в терминале, ведут себя иначе в облачных сеансах:

232 252 

233* **`/model`, `/effort`, `/fast`, `/color` и `/rename`**: передайте значение как аргумент, например `/model sonnet`, вместо открытия средства выбора терминала или ползунка. Формы аргументов требуют Claude Code v2.1.205 или более поздней версии в окружении сеанса и следуют [примечаниям доступности](/docs/ru/commands#all-commands) каждой команды: `/effort` сообщает `Not applied` пока [запуск-стандартное удержание уровня усилий](/docs/ru/model-config#adjust-effort-level) действует, и `/fast` работает только в сеансе, который был запущен с включённым быстрым режимом.253* **`/model`, `/effort`, `/color` и `/rename`**: передайте значение как аргумент, например `/model sonnet`, вместо открытия средства выбора терминала или ползунка. Формы аргументов требуют Claude Code v2.1.205 или более поздней версии в окружении сеанса и следуют [примечаниям доступности](/docs/ru/commands#all-commands) каждой команды: `/effort` сообщает `Not applied` пока [запуск-стандартное удержание уровня усилий](/docs/ru/model-config#adjust-effort-level) действует.

234* **`/config`**: в веб-версии открывает раздел Claude Code ваших параметров вместо установки значения, и текст после команды, включая `key=value`, игнорируется. Чтобы изменить параметры облачного сеанса, используйте [переменные окружения](/docs/ru/cloud-environments#set-environment-variables) или зафиксируйте [файлы параметров](/docs/ru/settings) в репозитории.254* **`/fast`**: переключает [быстрый режим](/docs/ru/fast-mode#use-fast-mode-in-cloud-sessions) для сеанса, когда быстрый режим [доступен в вашей учётной записи](/docs/ru/fast-mode#requirements). Требует Claude Code v2.1.271 или более поздней версии в окружении сеанса.

255* **`/config`**: в веб-версии открывает раздел Claude Code ваших параметров вместо установки значения, и текст после команды, включая `key=value`, игнорируется. Чтобы изменить параметр облачного сеанса, установите [переменную окружения](/docs/ru/cloud-environments#set-environment-variables) в окружении или в сеансе с одним репозиторием зафиксируйте ключ в файле `.claude/settings.json` этого репозитория. [Параметры в облачных сеансах](/docs/ru/settings#settings-in-cloud-sessions) перечисляет, что читает каждый сеанс.

235 256 

236Для управления контекстом в частности:257Для управления контекстом в частности:

237 258 


241| `/context` | Да | Показывает, что находится в окне контекста |262| `/context` | Да | Показывает, что находится в окне контекста |

242| `/clear` | Нет | Вместо этого запустите новый сеанс с боковой панели |263| `/clear` | Нет | Вместо этого запустите новый сеанс с боковой панели |

243 264 

244Автоматическое сжатие выполняется автоматически, когда окно контекста приближается к ёмкости. Claude Code в веб-версии устанавливает [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ru/env-vars) в облачных сеансах самостоятельно, поэтому сжатие срабатывает на полпути через [окно автоматического сжатия](/docs/ru/model-config#set-the-auto-compact-window), а не когда окно заполняется. Это значение переопределяет то, которое вы добавляете в ваши [переменные окружения](/docs/ru/cloud-environments#set-environment-variables), поэтому добавление переменной туда не изменяет, когда срабатывает сжатие.265Автоматическое сжатие выполняется автоматически, когда окно контекста приближается к ёмкости. Облачные сеансы устанавливают [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ru/env-vars) самостоятельно, поэтому сжатие срабатывает на полпути через [окно автоматического сжатия](/docs/ru/model-config#set-the-auto-compact-window), а не когда окно заполняется. Это значение переопределяет то, которое вы добавляете в ваши [переменные окружения](/docs/ru/cloud-environments#set-environment-variables), поэтому добавление переменной туда не изменяет, когда срабатывает сжатие.

245 266 

246Чтобы вместо этого изменить окно автоматического сжатия, установите [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/ru/env-vars) в ваши переменные окружения или запустите [`/autocompact`](/docs/ru/commands#all-commands) с количеством токенов в сеансе, где переменная не установлена.267Чтобы вместо этого изменить окно автоматического сжатия, установите [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/ru/env-vars) в ваши переменные окружения или запустите [`/autocompact`](/docs/ru/commands#all-commands) с количеством токенов в сеансе, где переменная не установлена.

247 268 


320 341 

321Есть несколько способов включить auto-fix в зависимости от того, откуда пришёл PR и какое устройство вы используете:342Есть несколько способов включить auto-fix в зависимости от того, откуда пришёл PR и какое устройство вы используете:

322 343 

323* **PR, созданные в Claude Code в веб-интерфейсе**: откройте строку статуса CI и выберите **Auto-fix**344* **PR, созданные в облачной сессии**: откройте сессию на claude.ai/code, откройте строку статуса CI и выберите **Auto-fix**

324* **Из вашего терминала**: запустите [`/autofix-pr`](/docs/ru/commands) на ветке PR. Claude Code обнаруживает открытый PR с помощью `gh`, порождает веб-сессию и включает auto-fix в один шаг345* **Из вашего терминала**: запустите [`/autofix-pr`](/docs/ru/commands) на ветке PR. Claude Code обнаруживает открытый PR с помощью `gh`, порождает облачную сессию и включает auto-fix в один шаг

325* **Из мобильного приложения**: скажите Claude автоматически исправить PR, например "watch this PR and fix any CI failures or review comments"346* **Из мобильного приложения**: скажите Claude автоматически исправить PR, например "watch this PR and fix any CI failures or review comments"

326* **Любой существующий PR**: вставьте URL PR в сессию и скажите Claude автоматически исправить его347* **Любой существующий PR**: вставьте URL PR в сессию и скажите Claude автоматически исправить его

327 348 

328Auto-fix — это переключатель для каждого PR. Чтобы остановить мониторинг, откройте строку статуса CI в веб-сессии и отключите переключатель **Auto-fix**, или скажите Claude прекратить наблюдение за PR.349Auto-fix — это переключатель для каждого PR. Чтобы остановить мониторинг, откройте строку статуса CI в сессии на claude.ai/code и отключите переключатель **Auto-fix**, или скажите Claude прекратить наблюдение за PR.

329 350 

330<h3 id="how-claude-responds-to-pr-activity">351<h3 id="how-claude-responds-to-pr-activity">

331 Как Claude реагирует на активность PR352 Как Claude реагирует на активность PR


395 Environment expired416 Environment expired

396</h3>417</h3>

397 418 

398Облачные сессии останавливаются после периода неактивности и виртуальная машина сессии отзывается. Сессия считается неактивной, пока она ждёт вас для одобрения вызова инструмента [MCP connector](/docs/ru/cloud-environments#network-access) или для входа на сервер MCP, и она может истечь во время этого ожидания. На веб-интерфейсе сессия помечена как истекшая в списке сессий.419Облачные сессии останавливаются после периода неактивности и виртуальная машина сессии отзывается. Сессия считается неактивной, пока она ждёт вас для одобрения вызова инструмента [MCP connector](/docs/ru/cloud-environments#network-access) или для входа на сервер MCP, и она может истечь во время этого ожидания.

399 420 

400Переоткройте сессию из [claude.ai/code](https://claude.ai/code) для подготовки свежей виртуальной машины с восстановленной историей разговора. Фоновая работа, которая всё ещё выполнялась, когда виртуальная машина была отозвана, такая как subagents и shell команды, не восстанавливается.421Переоткройте сессию из [claude.ai/code](https://claude.ai/code) для подготовки свежей виртуальной машины с восстановленной историей разговора. Фоновая работа, которая всё ещё выполнялась, когда виртуальная машина была отозвана, такая как subagents и shell команды, не восстанавливается.

401 422 


405 426 

406Перед тем как полагаться на облачные сессии для рабочего процесса, учтите эти ограничения:427Перед тем как полагаться на облачные сессии для рабочего процесса, учтите эти ограничения:

407 428 

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

409* **Аутентификация репозитория**: вы можете перемещать сессии из веб-интерфейса в локальный только когда вы аутентифицированы на одном и том же аккаунте430* **Аутентификация репозитория**: вы можете перемещать облачную сессию в ваш терминал только когда вы аутентифицированы на одном и том же аккаунте

410* **Ограничения платформы**: клонирование репозитория и создание pull request требуют GitHub. Самостоятельно размещённые экземпляры [GitHub Enterprise Server](/docs/ru/github-enterprise-server) поддерживаются для планов Team и Enterprise. Вы можете отправить репозиторий GitLab, Bitbucket или другой не-GitHub репозиторий в облачную сессию как [локальный пакет](#send-local-repositories-without-github), установив `CCR_FORCE_BUNDLE=1`, но сессия не может отправлять результаты обратно на удалённый сервер431* **Ограничения платформы**: клонирование репозитория и создание pull request требуют GitHub. Самостоятельно размещённые экземпляры [GitHub Enterprise Server](/docs/ru/github-enterprise-server) поддерживаются для планов Team и Enterprise. Вы можете отправить репозиторий GitLab, Bitbucket или другой не-GitHub репозиторий в облачную сессию как [локальный пакет](#send-local-repositories-without-github), установив `CCR_FORCE_BUNDLE=1`, но сессия не может отправлять результаты обратно на удалённый сервер

411* **Список разрешений IP организации**: облачные сессии вызывают API Anthropic из инфраструктуры, управляемой Anthropic, а не из вашей сети, пока сессии в [самостоятельно размещённом окружении](/docs/ru/self-hosted-environments) вызывают его из вашей собственной сети. Если ваша организация имеет [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) включённый, каждая облачная сессия, размещённая Anthropic, не пройдёт с ошибкой аутентификации. То же самое применяется к [Code Review](/docs/ru/code-review) и к [routines](/docs/ru/routines), которые запускаются на окружениях, размещённых Anthropic; routine, маршрутизированная в самостоятельно размещённое окружение, вызывает API из вашей собственной сети. Свяжитесь с [поддержкой Anthropic](https://support.claude.com/), чтобы список разрешений IP вашей организации не распространялся на размещённые Anthropic сервисы.432* **Список разрешений IP организации**: облачные сессии вызывают API Anthropic из инфраструктуры, управляемой Anthropic, а не из вашей сети, пока сессии в [самостоятельно размещённом окружении](/docs/ru/self-hosted-environments) вызывают его из вашей собственной сети. Если ваша организация имеет [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) включённый, каждая облачная сессия, размещённая Anthropic, не пройдёт с ошибкой аутентификации. То же самое применяется к [Code Review](/docs/ru/code-review) и к [routines](/docs/ru/routines), которые запускаются на окружениях, размещённых Anthropic; routine, маршрутизированная в самостоятельно размещённое окружение, вызывает API из вашей собственной сети. Свяжитесь с [поддержкой Anthropic](https://support.claude.com/), чтобы список разрешений IP вашей организации не распространялся на размещённые Anthropic сервисы.

412 433 


415</h2>436</h2>

416 437 

417* [Cloud environments](/docs/ru/cloud-environments): настройте сетевой доступ, переменные окружения и скрипты установки для облачных сессий438* [Cloud environments](/docs/ru/cloud-environments): настройте сетевой доступ, переменные окружения и скрипты установки для облачных сессий

439* [Projects](/docs/ru/claude-projects): одна беседа, в которой Claude координирует параллельные облачные сессии в ваших репозиториях и отправляет отчеты

418* [Ultrareview](/docs/ru/ultrareview): запустите глубокий многоагентный обзор кода в облачной песочнице440* [Ultrareview](/docs/ru/ultrareview): запустите глубокий многоагентный обзор кода в облачной песочнице

419* [Routines](/docs/ru/routines): автоматизируйте работу по расписанию, через вызов API или в ответ на события GitHub441* [Routines](/docs/ru/routines): автоматизируйте работу по расписанию, через вызов API или в ответ на события GitHub

420* [Hooks configuration](/docs/ru/hooks): запускайте скрипты при событиях жизненного цикла сессии442* [Hooks configuration](/docs/ru/hooks): запускайте скрипты при событиях жизненного цикла сессии

Details

34 oneLiner: 'Project instructions Claude reads every session',34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of 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.',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="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/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</>],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="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/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</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> on its own or alongside CLAUDE.md</>],

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.',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 conventions39 example: `# Project conventions

40 40 


640 color: '#5AA7A7',640 color: '#5AA7A7',

641 oneLiner: 'Custom instruction sets that adjust how Claude works',641 oneLiner: 'Custom instruction sets that adjust how Claude works',

642 when: 'Files read at startup; the style you select with outputStyle applies to every response',642 when: 'Files read at startup; the style you select with outputStyle applies to every response',

643 description: [<>Each markdown file defines an output style: a set of instructions for Claude that, by default, also replaces 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.</>],643 description: [<>Each markdown file defines an output style: a set of instructions for Claude that, by default, also replaces 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>/output-style</C>, <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 Default, Proactive, Concise, 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</>, 'Switching styles mid-session applies from your next message; in the terminal, a style file you create or edit mid-session is picked up after a restart'],644 tips: ['Built-in styles Default, Proactive, Concise, 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</>, 'Switching styles mid-session applies from your next message; in the terminal, a style file you create or edit mid-session is picked up after a restart'],

645 docsLink: '/en/output-styles',645 docsLink: '/en/output-styles',

646 children: [{646 children: [{


1434 1434 

1435На Windows `~/.claude` разрешается в `%USERPROFILE%\.claude`. Если вы установите [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars), каждый путь `~/.claude` на этой странице будет находиться в этой директории вместо этого.1435На Windows `~/.claude` разрешается в `%USERPROFILE%\.claude`. Если вы установите [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars), каждый путь `~/.claude` на этой странице будет находиться в этой директории вместо этого.

1436 1436 

1437Большинство пользователей редактируют только `CLAUDE.md` и `settings.json`. Остальная часть директории опциональна: добавляйте skills, rules или subagents по мере необходимости.1437Большинство пользователей редактируют только `CLAUDE.md` и `settings.json`. Если ваш репозиторий уже содержит `AGENTS.md` для других агентов кодирования, Claude Code [может читать это](/docs/ru/memory#agents-md) самостоятельно или вместе с `CLAUDE.md`. Остальная часть директории опциональна: добавляйте skills, rules или subagents по мере необходимости.

1438 1438 

1439<h2 id="explore-the-directory">1439<h2 id="explore-the-directory">

1440 Изучите директорию1440 Изучите директорию


1451Обозреватель охватывает файлы, которые вы создаёте и редактируете. Несколько связанных файлов находятся в других местах:1451Обозреватель охватывает файлы, которые вы создаёте и редактируете. Несколько связанных файлов находятся в других местах:

1452 1452 

1453| Файл | Местоположение | Назначение |1453| Файл | Местоположение | Назначение |

1454| ----------------------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1454| ----------------------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1455| `managed-settings.json` | Системный уровень, варьируется в зависимости от ОС | Параметры, установленные предприятием, которые вы не можете переопределить, за исключением [узких исключений](/docs/ru/settings#security-keys-where-the-stricter-value-applies). См. [где сохранить файл](/docs/ru/managed-settings#deploy-a-managed-settings-file) и [какой управляемый источник использует Claude Code](/docs/ru/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | Системный уровень, варьируется в зависимости от ОС | Параметры, установленные предприятием, которые вы не можете переопределить, за исключением [узких исключений](/docs/ru/settings#security-keys-where-the-stricter-value-applies). См. [где сохранить файл](/docs/ru/managed-settings#deploy-a-managed-settings-file) и [какой управляемый источник использует Claude Code](/docs/ru/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Корень проекта | Ваши личные предпочтения для этого проекта, загруженные вместе с CLAUDE.md. Создайте его вручную и добавьте в `.gitignore`. |1456| `CLAUDE.local.md` | Корень проекта | Ваши личные предпочтения для этого проекта, загруженные вместе с CLAUDE.md. Создайте его вручную и добавьте в `.gitignore`. |

1457| Установленные plugins | `~/.claude/plugins` | Клонированные маркетплейсы, установленные версии plugins и данные для каждого plugin, управляемые командами `claude plugin`. Для plugin, установленного из маркетплейса с источником [`command`](/docs/ru/plugin-marketplaces#command-sources) в режиме ссылки, Claude Code сохраняет здесь ссылки вместо копии, и файлы plugin остаются в каталоге, который выводит команда. Источник `command` требует Claude Code версии 2.1.229 или более поздней. См. [кэширование plugins](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) для информации о том, как удаляются потерянные версии. |1457| `AGENTS.md` | Корень проекта, `.claude/` или любой каталог | Инструкции проекта, которые вы пишете для AI-агентов кодирования. Claude Code может [загружать его](/docs/ru/memory#agents-md) самостоятельно или вместе с `CLAUDE.md`. |

1458| Установленные plugins | `~/.claude/plugins` | Клонированные маркетплейсы, установленные версии plugins и данные для каждого plugin, управляемые командами `claude plugin`. Для plugin, установленного из маркетплейса с источником [`command`](/docs/ru/plugin-marketplaces#command-sources) в режиме ссылки, Claude Code сохраняет здесь ссылки вместо копии, и файлы plugin остаются в каталоге, который выводит команда. Источник `command` требует Claude Code версии 2.1.229 или более поздней. Plugin, указанный относительным путём в локальном маркетплейсе каталога, также [загружается на месте](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) из своего исходного каталога, а не из копии кэша. См. [кэширование plugins](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) для информации о том, как удаляются потерянные версии. |

1458 1459 

1459`~/.claude` также содержит данные, которые Claude Code записывает во время работы: стенограммы, историю подсказок, снимки файлов, кэши и журналы. См. [данные приложения](#application-data) ниже.1460`~/.claude` также содержит данные, которые Claude Code записывает во время работы: стенограммы, историю подсказок, снимки файлов, кэши и журналы. См. [данные приложения](#application-data) ниже.

1460 1461 


1551| `feedback-bundles/` | Отредактированные архивы стенограмм, написанные `/feedback` на сторонних поставщиков или когда не настроены учётные данные Anthropic, для отправки команде вашего аккаунта Anthropic |1552| `feedback-bundles/` | Отредактированные архивы стенограмм, написанные `/feedback` на сторонних поставщиков или когда не настроены учётные данные Anthropic, для отправки команде вашего аккаунта Anthropic |

1552| `feedback/drafts/` | Очередь [Claude-drafted feedback](/docs/ru/tools-reference#sendfeedback-tool-behavior), ожидающая вашего рассмотрения в `/feedback`. Очищается после `cleanupPeriodDays` или 30 дней, в зависимости от того, что меньше. Когда очередь достигает лимита в 10 черновиков, Claude Code удаляет самый старый черновик, чтобы освободить место. |1553| `feedback/drafts/` | Очередь [Claude-drafted feedback](/docs/ru/tools-reference#sendfeedback-tool-behavior), ожидающая вашего рассмотрения в `/feedback`. Очищается после `cleanupPeriodDays` или 30 дней, в зависимости от того, что меньше. Когда очередь достигает лимита в 10 черновиков, Claude Code удаляет самый старый черновик, чтобы освободить место. |

1553| `usage-data/` | `report.html` и копии отчётов с временными метками, написанные [`/insights`](/docs/ru/costs#analyze-your-usage-patterns), плюс кэшированные данные анализа для каждого сеанса, используемые для их построения |1554| `usage-data/` | `report.html` и копии отчётов с временными метками, написанные [`/insights`](/docs/ru/costs#analyze-your-usage-patterns), плюс кэшированные данные анализа для каждого сеанса, используемые для их построения |

1555| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/ru/skills#how-synced-skills-behave) и [plugins](/docs/ru/plugins-reference#synced-plugins) синхронизированные из claude.ai, которые Claude Code удалил. Перемещены сюда вместо удаления, чтобы вы могли восстановить файлы |

1554| `todos/`, `statsig/`, `logs/` | Устаревшие директории из более старых версий. Больше не записываются. Очистка удаляет их содержимое, а затем пустую директорию. |1556| `todos/`, `statsig/`, `logs/` | Устаревшие директории из более старых версий. Больше не записываются. Очистка удаляет их содержимое, а затем пустую директорию. |

1555 1557 

1556Файлы сеансов в `sessions/`, автоматическая память и стенограммы Claude Desktop и Cowork следуют своим собственным правилам хранения:1558Файлы сеансов в `sessions/`, автоматическая память и стенограммы Claude Desktop и Cowork следуют своим собственным правилам хранения:


1576| `stats-cache.json` | Агрегированные подсчёты токенов и затрат, показанные `/usage` |1578| `stats-cache.json` | Агрегированные подсчёты токенов и затрат, показанные `/usage` |

1577| `remote-settings.json` | Кэшированная копия [управляемых сервером параметров](/docs/ru/server-managed-settings) для вашей организации, или `{}` когда ваша организация не настроила никаких. Присутствует только когда сеанс [их загружает](/docs/ru/server-managed-settings#platform-availability). Claude Code проверяет обновления при запуске и ежечасно во время сеанса. Claude Code удаляет его при выходе. |1579| `remote-settings.json` | Кэшированная копия [управляемых сервером параметров](/docs/ru/server-managed-settings) для вашей организации, или `{}` когда ваша организация не настроила никаких. Присутствует только когда сеанс [их загружает](/docs/ru/server-managed-settings#platform-availability). Claude Code проверяет обновления при запуске и ежечасно во время сеанса. Claude Code удаляет его при выходе. |

1578| `cache/changelog.md` | Кэшированная копия журнала изменений Claude Code, показанная `/release-notes`. Обновляется в фоне. |1580| `cache/changelog.md` | Кэшированная копия журнала изменений Claude Code, показанная `/release-notes`. Обновляется в фоне. |

1579| `policy-limits.json` | Кэшированные параметры политики функций для вашей организации. Присутствует только для некоторых типов аккаунтов. Обновляется автоматически. Claude Code удаляет его при выходе. |1581| `policy-limits.json` | Кэшированные параметры политики функций для вашей организации. Присутствует только для некоторых типов аккаунтов. Обновляется автоматически. Файл `policy-limits.json.stamp.json` сидекар записывает, какому аккаунту или API ключу принадлежит кэш. Claude Code удаляет оба файла при выходе. |

1580 1582 

1581<span id="state-files-to-keep" />1583<span id="state-files-to-keep" />

1582 1584 


1658Вы также можете удалить любой из путей данных приложения выше вручную, за исключением [файлов состояния для сохранения](#state-files-to-keep). Новые сеансы не затронуты. Таблица ниже показывает, что вы потеряете для прошлых сеансов.1660Вы также можете удалить любой из путей данных приложения выше вручную, за исключением [файлов состояния для сохранения](#state-files-to-keep). Новые сеансы не затронуты. Таблица ниже показывает, что вы потеряете для прошлых сеансов.

1659 1661 

1660| Удалить | Вы потеряете |1662| Удалить | Вы потеряете |

1661| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |1663| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1662| `~/.claude/projects/` | Возобновление, продолжение и перемотка для прошлых сеансов, и автоматическую память для каждого проекта |1664| `~/.claude/projects/` | Возобновление, продолжение и перемотка для прошлых сеансов, и автоматическую память для каждого проекта |

1663| `~/.claude/history.jsonl` | Отзыв подсказки стрелки вверх, поиск истории `Ctrl+R` и завершение команды оболочки `!` |1665| `~/.claude/history.jsonl` | Отзыв подсказки стрелки вверх, поиск истории `Ctrl+R` и завершение команды оболочки `!` |

1664| `~/.claude/paste-cache/` | Вставленный текст в вспомненных подсказках; см. [вставка большого содержимого](/docs/ru/terminal-config#paste-large-content) |1666| `~/.claude/paste-cache/` | Вставленный текст в вспомненных подсказках; см. [вставка большого содержимого](/docs/ru/terminal-config#paste-large-content) |


1672| `~/.claude/cache/changelog.md` | Ничего. Обновляется в фоне. |1674| `~/.claude/cache/changelog.md` | Ничего. Обновляется в фоне. |

1673| `~/.claude/policy-limits.json` | Ничего. Обновляется автоматически. |1675| `~/.claude/policy-limits.json` | Ничего. Обновляется автоматически. |

1674| `~/.claude/tasks/` | Списки задач, которые возобновлённый сеанс подхватит |1676| `~/.claude/tasks/` | Списки задач, которые возобновлённый сеанс подхватит |

1677| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Возможность восстановления [синхронизированных skills](/docs/ru/skills#how-synced-skills-behave) и [синхронизированных plugins](/docs/ru/plugins-reference#synced-plugins), которые Claude Code удалил |

1675| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Ничего, видимого пользователю |1678| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Ничего, видимого пользователю |

1676| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/` | Ничего. Устаревшие директории, не записываемые текущими версиями. |1679| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/` | Ничего. Устаревшие директории, не записываемые текущими версиями. |

1677 1680 

claude-projects.md +538 −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# Позвольте Claude координировать текущую работу с помощью Projects

6 

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

8 

9<Note>

10 Projects находятся в публичной бета-версии на планах Pro и Max и постепенно развертываются, начиная с аккаунтов, которые использовали [облачные сеансы](/docs/ru/claude-code-on-the-web) и не имеют существующих проектов в claude.ai chat или Cowork. Они еще недоступны на планах Team и Enterprise. Если **Projects** не отображается на боковой панели в [claude.ai/code](https://claude.ai/code) или на вкладке Code [настольного приложения](/docs/ru/desktop), развертывание еще не достигло вашего аккаунта, и вы можете [присоединиться к списку ожидания](https://claude.com/form/projects). [Запуск агентов параллельно](/docs/ru/agents) содержит список того, что вы можете использовать в то время.

11</Note>

12 

13Project — это один текущий разговор, в котором Claude координирует поток связанной работы для вас. Вы говорите ему, что нужно сделать, и он запускает поток для каждой задачи. Каждый поток — это [облачный сеанс](/docs/ru/claude-code-on-the-web): Claude Code, работающий в облаке, а не на вашей машине. Потоки работают параллельно и продолжают работу после того, как вы закроете ноутбук, и вы можете проверить их и направить их со своего телефона.

14 

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

16 

17* **Отправляете работу в одно место**: вставляйте отчет об ошибке, трассировку стека или список задач в разговор, когда они появляются. Claude запускает поток для каждого элемента работы или передает его потоку, уже работающему в этой области, и отвечает на быстрые вопросы на месте.

18* **Устанавливаете контекст один раз**: каждый новый поток начинается с репозиториев, инструкций и памяти проекта, поэтому правило, которое вы указываете один раз, например какую ветку выбрать, достигает все потоки.

19* **Уходите и возвращаетесь к завершенной работе**: когда вы вернетесь через час или на следующее утро, панель **Overview** показывает, какие потоки завершены, какие pull request готовы к проверке и какой поток ждет вашего ответа.

20 

21Если вы уже знаете работу, которую хотите запустить в проекте, переходите прямо к [Создание проекта](#create-a-project).

22 

23<h2 id="when-to-use-a-project">

24 Когда использовать проект

25</h2>

26 

27Проект стоит создавать, когда работа имеет цель, которая выходит за рамки одного сеанса и продолжает создавать задачи. Эти виды работ хорошо подходят для проекта:

28 

29* **Одна цель в нескольких репозиториях**: "Обновить каждый сервис на новую конфигурацию lint." Claude может запустить поток для каждого репозитория, каждый с собственным pull request, и панель [**Overview**](#see-what-needs-you-in-overview) показывает, какие готовы к проверке.

30* **Область, которую вы постоянно пополняете**: ошибки, трассировки стека и запросы на проверку для одного сервиса, вставляемые в разговор по мере их поступления. Ошибка, которую вы просите Claude запомнить после одного исправления, находится в [памяти проекта](#give-a-project-standing-context) для следующей.

31* **Сборка или миграция больше, чем сеанс**: "Построить то, что описывает `docs/spec.md`" или "Перенести приложение с устаревшего ORM." Работа разбивается на потоки, каждый берет часть, решения, которые вы просите Claude запомнить в начале, достигают более поздние потоки, и изменения спецификации и ошибки, которые вы находите во время сборки, попадают в один разговор.

32* **Работа, которая не является кодом**: папка контрактов или экспорт билетов поддержки, к которым вы постоянно возвращаетесь с новыми вопросами, например "найти десять наиболее распространенных ошибок интеграции в этих билетах." Загрузите документы вместо добавления репозитория, и потоки доставляют каждый отчет как файл на вкладке [**Library**](#see-what-needs-you-in-overview) проекта.

33 

34В любом из них вы можете отправить пакет задач, попросить Claude начать без вашего подтверждения, уйти и найти потоки, которые вам нужны, в разделе [**Waiting on you**](#see-what-needs-you-in-overview) когда вы вернетесь, или попросить Claude поставить часть работы по расписанию как [routine](/docs/ru/routines). Если это ваша ситуация, [создайте проект](#create-a-project).

35 

36<h3 id="when-something-else-fits-better">

37 Когда что-то другое подходит лучше

38</h3>

39 

40Потоки работают с репозиториями GitHub и с файлами, папками и папками Google Drive, которые вы загружаете в проект, а не с файлами или инструментами, которые существуют только на вашей машине. Что-то другое подходит лучше в этих случаях:

41 

42* **Одна задача, которая подходит в сеанс**: "Исправить нестабильный тест входа." Запустите [облачный сеанс](/docs/ru/claude-code-on-the-web) самостоятельно.

43* **Работа, которая требует инструментов или сервисов, которые может достичь только ваша машина**: локальная база данных, эмулятор устройства, API за вашим VPN. Используйте локальный сеанс или [agent view](/docs/ru/agent-view) для запуска нескольких одновременно. Если работе нужны только локальные файлы, загрузите их в проект вместо этого.

44* **Одна задача, которая повторяется по расписанию без разговора вокруг нее**: "Отправить отчет о зависимостях каждый понедельник." Создайте [routine](/docs/ru/routines) самостоятельно.

45* **Несколько человек дают Claude работу и направляют его вместе в канале Slack**: см. [Claude Tag](https://claude.com/docs/claude-tag/overview).

46 

47Проект использует те же лимиты плана, что и другие сеансы Claude Code, и использует их быстрее. [Использование и стоимость](#usage-and-cost) охватывает то, что использует ваш план и как его снизить.

48 

49<h2 id="how-a-project-is-organized">

50 Как организован проект

51</h2>

52 

53Проект — это один координирующий разговор с Claude плюс потоки, которые он запускает для выполнения работы. Вот его части:

54 

55* **Разговор проекта**: один долгоживущий сеанс, где Claude действует как координатор. Он берет то, что вы отправляете, решает, что становится потоком, и отслеживает каждый запущенный поток. Он видит, что потоки сообщают обратно, а не каждый шаг, который они предпринимают.

56* **Потоки**: рабочие. Каждый — это отдельный [облачный сеанс](/docs/ru/claude-code-on-the-web) с собственным контекстным окном, который выполняет одну часть работы на собственной ветке, открывает pull request, когда работа это требует, и сообщает обратно в разговор, когда завершается.

57* **С чего начинает каждый поток**:

58 * Репозитории и файлы проекта, плюс его [инструкции и память](#give-a-project-standing-context)

59 * `CLAUDE.md`, skills и plugins в [каждом из репозиториев проекта](#what-threads-pick-up-from-your-repositories), и в проекте с одним репозиторием также правила разрешений и hooks этого репозитория

60 * [Connectors](#get-skills-plugins-connectors-and-tools-into-threads) на вашем аккаунте claude.ai

61 * [Облачная среда](#choose-an-environment-for-threads), которая устанавливает его сетевой доступ, переменные окружения, учетные данные API и установленные инструменты

62* **Панель Overview**: где вы [видите все потоки сразу](#see-what-needs-you-in-overview) и какие из них вам нужны. Его другие вкладки — **Library** для добавленных вами файлов и файлов, созданных потоками, **Pull requests** для открытых потоками, и **Routines** для запланированной работы в проекте.

63 

64Потоки не берут ничего из настройки Claude Code на вашей машине. [Получить skills, plugins, connectors и инструменты в потоки](#get-skills-plugins-connectors-and-tools-into-threads) охватывает, как дать им то, что им иначе не хватает.

65 

66Вот как эти части соединяются, от вас через разговор к потокам, выполняющим работу, с **Overview**, отслеживающим их состояние:

67 

68<Frame>

69 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=dbf446f69f0bbdb9961d21af207cb93b" className="dark:hidden" alt="Диаграмма проекта. Вы пишете в разговор проекта, где Claude отвечает или запускает поток. Каждый поток — это облачный сеанс, работающий на собственной ветке и pull request. Панель Overview перечисляет потоки по состоянию, например готовы к проверке, ожидают вас и работают." width="600" height="250" data-path="images/claude-projects-overview.svg" />

70 

71 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview-dark.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=549a5ba9fea8433729babc37a1f6e9c8" className="hidden dark:block" alt="Диаграмма проекта. Вы пишете в разговор проекта, где Claude отвечает или запускает поток. Каждый поток — это облачный сеанс, работающий на собственной ветке и pull request. Панель Overview перечисляет потоки по состоянию, например готовы к проверке, ожидают вас и работают." width="600" height="250" data-path="images/claude-projects-overview-dark.svg" />

72</Frame>

73 

74<h2 id="create-a-project">

75 Создание проекта

76</h2>

77 

78Вы создаете и используете проекты в [claude.ai/code](https://claude.ai/code), на вкладке Code настольного приложения или в мобильном приложении Claude для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) и [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). В браузере и настольном приложении есть два способа начать проект:

79 

80* **С нуля**, когда вы знаете поток работы, который хотите запустить в Claude: откройте диалог **New project** и назовите его. [Запуск нового проекта с нуля](#start-a-new-project-from-scratch) проходит через диалог.

81* **Из облачного сеанса, который уже выполняет работу**: выберите **Continue as a project** из меню этого сеанса, и Claude предлагает настройку проекта на основе того, что делал сеанс. См. [Запуск из существующего облачного сеанса](#start-from-an-existing-cloud-session).

82 

83В любом случае сначала [проверьте предварительные условия](#check-the-prerequisites).

84 

85<h3 id="check-the-prerequisites">

86 Проверка предварительных условий

87</h3>

88 

89Перед созданием проекта проверьте ваш план, настройку GitHub и то, что нужно работе для достижения:

90 

91* **План**: вы на Pro или Max и **Projects** отображается на вашей боковой панели.

92* **GitHub, если проект будет работать с кодом**: ваш код находится на github.com, а не на GitHub Enterprise Server, GitLab или Bitbucket, ваш подключенный аккаунт GitHub имеет доступ на push к нему, и Claude GitHub App установлено на нем. Если вы подключили GitHub с помощью [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal), этот токен позволяет вашим другим облачным сеансам достичь репозитория, но недостаточно для потоков проекта, которым нужно Claude GitHub App. [Настройка доступа GitHub](#set-up-github-access) содержит шаги.

93* **Сеть, учетные данные и инструменты**: они поступают из [облачной среды](#choose-an-environment-for-threads) проекта. Среда по умолчанию уже достигает [общих реестров пакетов](/docs/ru/cloud-environments#default-allowed-domains), поэтому проверьте это только если работе нужны другие домены, секрет или инструмент, который не предустановлен. Если работе нужен MCP server, проверьте, что он отображается как подключенный в ваших [claude.ai connectors](https://claude.ai/customize/connectors).

94 

95<h3 id="start-a-new-project-from-scratch">

96 Запуск нового проекта с нуля

97</h3>

98 

99Запуск проекта с нуля означает открытие диалога **New project**, назначение потока работы и опционально предоставление ему цели и репозиториев и файлов, над которыми он работает. Требуется только имя, поэтому вы можете создать проект первым и заполнить остальное по мере развития работы.

100 

101<Steps>

102 <Step title="Откройте Projects">

103 В [claude.ai/code](https://claude.ai/code) или на вкладке Code настольного приложения выберите **Projects** на левой боковой панели, затем выберите **New project**. В браузере вы также можете перейти прямо на [claude.ai/code/projects/browse](https://claude.ai/code/projects/browse).

104 </Step>

105 

106 <Step title="Заполните диалог New project">

107 Ограничьте проект одним потоком работы, который вы будете постоянно добавлять, например всем, что требуется для поддержания одного API под его целевой задержкой. [Когда использовать проект](#when-to-use-a-project) содержит больше примеров. Затем заполните поля диалога:

108 

109 * **Name**: как проект отображается в списке **Projects**.

110 * **Goal** (опционально): одна строка того, что вы пытаетесь сделать, например "Держать p95 задержку API ниже 200 мс". Claude в разговоре работает над этим. Без цели Claude работает из задач, которые вы отправляете, и вы можете добавить цель позже в **Project settings > General**.

111 * **Context** (опционально): репозитории GitHub, над которыми работает этот проект, плюс любые файлы, папки или папки Google Drive, которые потоки должны читать. Нажмите **Add** для каждого. Добавьте репозитории, которые нужны большинству задач, а не каждый, который работа может затронуть; [Решение, какие репозитории добавить](#decide-which-repositories-to-add) охватывает выбор, и вы можете добавить больше позже в **Project settings > Environment**.

112 

113 Постоянные правила того, как потоки должны работать, идут в [инструкции проекта](#give-a-project-standing-context), которые вы устанавливаете после создания проекта.

114 </Step>

115 

116 <Step title="Создайте проект">

117 Нажмите **Create project**. Разговор проекта открывается с полем сообщения внизу, где вы описываете работу для Claude.

118 

119 На вашем первом проекте Claude делает ход самостоятельно сразу после создания проекта, если вы не отправите сообщение первым. Этот ход использует ваш план. В нем Claude может:

120 

121 * Запустить один поток, который исследует репозиторий без изменений и предложить следующие шаги, если проект имеет репозиторий, который он может читать.

122 * Опубликовать **Setup recommendations**, полученные из ваших недавних облачных сеансов: репозитории для добавления, routines для создания и потоки, которые он может запустить. Каждый рекомендуемый репозиторий и routine включены по умолчанию. Отключите те, которые вам не нужны, затем нажмите **Update setup** для добавления остальных, или игнорируйте рекомендации и опишите работу самостоятельно.

123 </Step>

124</Steps>

125 

126Проект теперь указан в разделе **Projects** на боковой панели, и его разговор открыт. [Ваш первый пакет](#your-first-batch) охватывает то, что нужно настроить перед отправкой ему работы.

127 

128<h3 id="start-from-an-existing-cloud-session">

129 Запуск из существующего облачного сеанса

130</h3>

131 

132Если у вас уже есть облачный сеанс, выполняющий работу, которая принадлежит проекту, откройте меню сеанса на боковой панели и выберите **Continue as a project** или **Move to project**:

133 

134* **Continue as a project** создает новый проект с названием сеанса и открывает его. Claude читает сеанс и публикует **Setup recommendations** в разговоре для вашего подтверждения. Исходный сеанс остается в вашем списке сеансов, и если он был в середине хода, он продолжает работу, поэтому остановите его самостоятельно, если вы не хотите, чтобы оба работали одновременно. Если вы используете баннер **Set up project**, который может появиться над полем сообщения облачного сеанса, результат тот же, за исключением того, что работающий ход сеанса останавливается после открытия проекта.

135* **Move to project** переносит работу сеанса в существующий проект. Он публикует сообщение в разговоре этого проекта, прося Claude прочитать сеанс и продолжить с того, где он остановился, и новая работа продолжается в собственных потоках проекта. Исходный сеанс остается в вашем списке сеансов, без изменений.

136 

137<h3 id="set-up-github-access">

138 Настройка доступа GitHub

139</h3>

140 

141Большинство настроек GitHub происходит один раз, а не для каждого проекта. Вы подключаете свой аккаунт GitHub к Claude один раз, и Claude GitHub App устанавливается один раз для каждого репозитория или один раз для всей организации GitHub, если вы даете ей все репозитории. Вы возвращаетесь к этим шагам, когда добавляете репозиторий, который Claude GitHub App еще не охватывает, или один в организации GitHub, которая требует SSO.

142 

143<Steps>

144 <Step title="Подключите свой аккаунт GitHub">

145 Если вы раньше не использовали claude.ai/code, ваше первое посещение проведет вас через подключение GitHub; см. [Подключение GitHub](/docs/ru/web-quickstart#connect-github). В противном случае используйте один из [вариантов аутентификации GitHub](/docs/ru/claude-code-on-the-web#github-authentication-options).

146 </Step>

147 

148 <Step title="Установите Claude GitHub App на репозитории проекта">

149 Установите [Claude GitHub App](https://github.com/apps/claude) и предоставьте ей репозитории, которые будет использовать проект. На репозитории, принадлежащем организации GitHub, только владелец организации может завершить установку; если вы не являетесь одним из них, GitHub отправляет владельцу запрос на установку и проект не может использовать репозиторий, пока они его не одобрят.

150 </Step>

151 

152 <Step title="Авторизуйте SSO для организаций, которые его требуют">

153 Если организация GitHub требует SAML SSO, переподключите GitHub и авторизуйте Claude app для этой организации. До тех пор приватные репозитории этой организации не отображаются в диалоге **New project** или **Project settings > Environment**.

154 </Step>

155</Steps>

156 

157Когда один из этих шагов неполный, диалог **New project** и страница проекта называют отсутствующий шаг и ссылаются на то, где вы его завершаете. Завершите шаг там, затем нажмите **Check again**, если диалог это предлагает. Если репозиторий все еще отсутствует в списке после этого, откройте установку Claude GitHub App на GitHub в [github.com/settings/installations](https://github.com/settings/installations) для личного аккаунта и подтвердите, что репозиторий указан в разделе **Repository access**. Для сообщений об ошибках, которые поток или проект сообщают, когда доступ все еще неправильный, см. [Ошибки доступа к репозиторию](#repository-access-errors).

158 

159<h2 id="work-in-a-project">

160 Работа в проекте

161</h2>

162 

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

164 

165<h3 id="your-first-batch">

166 Ваш первый пакет

167</h3>

168 

169Перед отправкой новому проекту пакета работы настройте его так, чтобы первые потоки вернулись так, как вы хотите:

170 

1711. [Напишите инструкции проекта](#write-project-instructions): краткое описание, с которого начинает каждый поток, например какую ветку выбрать, как поток проверяет свою работу и что требует вашего одобрения.

1722. Отправьте один небольшой кусок реальной работы или запустите один из потоков, которые Claude предложил, и откройте поток, когда он завершится, чтобы увидеть, как он сообщает обратно и что он сделал на своей ветке. Если он что-то неправильно предположил или не мог достичь то, что ему нужно, [Потоки угадали или застопорились вместо того, чтобы спросить](#threads-guessed-or-stalled-instead-of-asking) охватывает, где это исправить.

1733. Проверьте **Thread model** и **Thread effort** в **Project settings > General**. Новый проект запускает каждый поток на Opus с высокой интенсивностью, что использует ваш план быстрее; [Выбор моделей и позволить Claude управлять контекстом](#choose-models-and-let-claude-manage-context) охватывает альтернативы.

1744. Попросите Claude [предложить потоки перед их запуском и запустить несколько одновременно](#tune-how-claude-runs-a-project), и отпустите эти лимиты, когда несколько потоков вернутся так, как вы хотите.

175 

176<h3 id="send-work-and-read-results">

177 Отправляйте работу и читайте результаты

178</h3>

179 

180Claude решает, куда идет каждое сообщение, которое вы отправляете в разговор:

181 

182* Быстрый вопрос обычно получает ответ в разговоре.

183* Новая работа идет в новый поток или в поток, уже работающий в этой области, и Claude говорит вам, какой. Каждый новый поток отображается под вашим сообщением как карточка: коробка с названием и статусом потока, которую вы нажимаете, чтобы открыть поток.

184* Несколько несвязанных задач в одном сообщении становятся отдельными потоками.

185 

186Если Claude маршрутизирует что-то иначе, чем вы хотели, скажите об этом. [Настройка того, как Claude запускает проект](#tune-how-claude-runs-a-project) перечисляет вещи, которые вы можете ему сказать, например повторное использование существующего потока для последующих действий или ответ на месте вместо запуска потока.

187 

188Полные результаты потока остаются в потоке, и вы открываете его карточку в разговоре, чтобы прочитать их. Файлы, которые создал поток, также находятся на вкладке **Library** в **Overview**.

189 

190Иногда Claude предлагает потоки вместо их запуска в списке **Suggested threads**. Нажмите стрелку на предложении, чтобы запустить этот поток. Когда их несколько, кнопка под списком запускает все их.

191 

192<h3 id="review-a-thread’s-pull-request">

193 Проверка pull request потока

194</h3>

195 

196Когда поток изменяет код, вот что он делает, если вы не скажете иное:

197 

198* **Branch**: работает на новой ветке, начиная с ветки по умолчанию репозитория.

199* **Pull request**: открывает один, когда вы просите, и может открыть один самостоятельно для исправления ошибки или другого конкретного изменения.

200* **После открытия**: наблюдает за pull request с включенным [auto-fix](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests), независимо от того, включен ли auto-fix для ваших других облачных сеансов. Он отправляет исправления, когда CI не работает, обращается к комментариям проверки и отвечает в потоке, когда проверки проходят и pull request готов для вас.

201 

202Когда поток отправил ветку или открыл pull request, его карточка в разговоре может показать кнопку для следующего шага:

203 

204* **Resolve conflicts**, **Fix CI**, **Address comments** и **Merge it** отправляют эту инструкцию потоку как сообщение от вас, поэтому вы можете подсказать потоку самостоятельно вместо ожидания его реакции на pull request.

205* **Review PR** открывает pull request на GitHub.

206* **Create PR** появляется, когда неактивный поток отправил ветку, но не открыл pull request. Нажатие на нее создает pull request из этой ветки напрямую, а не отправляет потоку инструкцию открыть один.

207 

208Чтобы изменить, когда потоки открывают pull request, например только когда вы просите, или какую ветку они начинают, скажите об этом в задаче или в [инструкциях проекта](#write-project-instructions).

209 

210<h3 id="see-what-needs-you-in-overview">

211 Посмотрите, что вам нужно в Overview

212</h3>

213 

214Панель **Overview** рядом с разговором отслеживает потоки проекта. Она уже открыта в первый раз, когда вы открываете новый проект. Кнопка **Overview** в заголовке проекта закрывает и открывает ее заново и показывает точку, когда поток ждет вас.

215 

216В настольном приложении вы также получаете уведомление рабочего стола, когда Claude публикует в разговоре, поток попадает в ошибку или потоку нужен ваш ввод, поэтому вам не нужно держать проект открытым, чтобы узнать. Чтобы также получить один каждый раз, когда поток завершает ход, или отключить их для проекта, выберите **Notifications** в меню боковой панели проекта. Эти уведомления только для рабочего стола: в браузере проверьте точку на кнопке **Overview**.

217 

218Вкладка **Threads** панели группирует потоки по состоянию:

219 

220| Группа | Что в ней |

221| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

222| **Ready for review** | Потоки, чей pull request открыт и ожидает проверки |

223| **Waiting on you** | Потоки, которые нуждаются в вашем ответе или одобрении, или которые не прошли |

224| **Working** | Потоки, которые все еще работают |

225| **Landing** | Потоки, чей pull request одобрен или поставлен в очередь на слияние |

226| **Idle** | Потоки, которые завершены и ничего не ждут |

227| **Resolved** | Потоки, отмеченные как выполненные: вами из меню потока, Claude после того, как вы сделали последний шаг, например слияние его pull request, или автоматически через неделю без активности. Вы можете переоткрыть один из того же меню |

228 

229Другие вкладки панели — **Library** для добавленных вами файлов и папок и файлов, созданных потоками, **Pull requests** после открытия потоками любых, и **Routines** для [routines](/docs/ru/routines), которые Claude установил из этого проекта.

230 

231<h3 id="open-a-thread-when-you-need-control">

232 Откройте поток, когда вам нужен контроль

233</h3>

234 

235Нажмите карточку потока в разговоре или его строку в **Overview**, чтобы открыть его транскрипт в панели Overview. Оттуда вы можете:

236 

237* Прочитать, что сделал Claude, шаг за шагом.

238* Направить задачу, написав в собственное поле сообщения потока. Сообщение там идет прямо в этот поток, в то время как последующее действие в разговоре проекта достигает его только, когда Claude соответствует последующему действию этому потоку.

239* Ответить на подсказку разрешения, на которую ждет поток.

240* Прервать поток с помощью **Stop**, который заменяет кнопку отправки, пока поток работает, или нажав Esc.

241 

242<h3 id="choose-models-and-let-claude-manage-context">

243 Выбор моделей и позволить Claude управлять контекстом

244</h3>

245 

246Установите модели и интенсивность в **Project settings > General**. Новый проект запускает Opus везде с высокой [интенсивностью](/docs/ru/model-config#adjust-effort-level) для потоков и низкой интенсивностью для разговора:

247 

248* **Thread model** и **Thread effort** применяются к потокам. Чтобы использовать другую модель для одной задачи, попросите это в задаче; для уже работающего потока используйте выбор модели этого потока.

249* **Coordinator model** и **Coordinator effort** применяются к Claude в разговоре проекта.

250 

251Вы не управляете контекстными окнами в проекте. Потоки автоматически компактируются, и разговор работает из недавних сообщений, недавних потоков и памяти проекта, а не из полной истории, поэтому он продолжается столько, сколько работает проект. Поместите все, что никогда не должно быть потеряно, в [память проекта](#give-a-project-standing-context). Если один поток перерастает свой контекст, он показывает [Claude ran out of context on this turn](#context-limit).

252 

253<h3 id="tune-how-claude-runs-a-project">

254 Настройка того, как Claude запускает проект

255</h3>

256 

257Скажите Claude в разговоре, сколько потоков запускать одновременно, когда публиковать обновления и когда открывать pull request. Если Claude координирует так, как вы не хотите, скажите об этом. Например, вы можете сказать:

258 

259* "Предложить потоки и ждать моего одобрения перед их запуском" или "Запустить их сейчас без просьбы подтверждения"

260* "Запускать максимум два потока одновременно" или "Повторно использовать существующий поток для последующих действий в той же области"

261* "Публиковать более короткие обновления" или "Публиковать только когда что-то завершается или блокируется"

262* "Дать мне обновление статуса по каждому потоку"

263* "Выполнить эту задачу с меньшей моделью"

264* "Не открывать pull request, пока я не видел план"

265* "Скажи мне, что не так в этих репозиториях и ничего не исправляй", когда вы хотите пройти через выводы перед тем, как любой из них станет потоком

266* "Ответить здесь вместо запуска потока", когда Claude запускает поток для чего-то, что вы имели в виду как быстрый вопрос

267 

268Claude сохраняет предпочтения, подобные этим, в [память проекта](#give-a-project-standing-context) самостоятельно и следует им в более поздних потоках. Это инструкции, которым Claude следует, а не принудительные параметры, поэтому лимит потоков, который вы даете таким образом, не является жестким ограничением. Добавьте один в инструкции проекта, когда вы хотите, чтобы он был сформулирован точно и применен к каждому потоку с самого начала.

269 

270<h3 id="unblock-a-thread-waiting-on-approval">

271 Разблокировка потока, ожидающего одобрения

272</h3>

273 

274Потоки работают в [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), когда модель потока это поддерживает, поэтому большинство вызовов инструментов работают без вашего запроса. Когда потоку нужно ваше одобрение, подсказка находится внутри этого потока и поток ждет, пока вы ответите там. Сказание Claude в разговоре проекта идти дальше не достигает его.

275 

276Каждое одобрение охватывает эту подсказку или остаток этого потока, если вы выберете более широкий вариант. Чтобы позволить каждому потоку запускать определенные команды без запроса или блокировать некоторые, добавьте [правила разрешений](/docs/ru/permissions) в `.claude/settings.json` репозитория. Потоки применяют их только в проекте с одним репозиторием; см. [Что потоки берут из ваших репозиториев](#what-threads-pick-up-from-your-repositories).

277 

278<h2 id="give-a-project-standing-context">

279 Предоставление проекту постоянного контекста

280</h2>

281 

282Память проекта, инструкции проекта и репозитории, файлы и среда проекта переносят контекст через потоки. Вы устанавливаете каждый один раз и он применяется к каждому новому потоку.

283 

284| Контекст | Что он переносит | Как вы его устанавливаете |

285| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

286| Память проекта | Заметки, которые Claude хранит о проекте, такие как требования, решения и ошибки, хранящиеся как файлы. Каждый поток читает файл индекса `MEMORY.md` при запуске и открывает другие файлы, когда они ему нужны | Попросите Claude в разговоре проекта или любом потоке запомнить требование, решение или ошибку, или забыть одно. Читайте, редактируйте и удаляйте файлы в **Project settings > Memory** |

287| Инструкции проекта | Текст, отправляемый каждому новому потоку и Claude в разговоре проекта, до 16 000 символов. [Напишите инструкции проекта](#write-project-instructions) охватывает, что в него поместить | **Project settings > Memory > Project instructions**, или попросите Claude изменить инструкции |

288| Репозитории, файлы и среда | Репозитории, которые клонирует каждый поток, папки и файлы, которые каждый поток может читать в `/mnt/project-files`, и облачная среда, в которой работают потоки | Репозитории и среда в **Project settings > Environment**, или попросите Claude в разговоре добавить репозиторий в проект. Файлы и папки из **Add** на вкладке **Library** в **Overview** |

289 

290**Project settings > Memory** перечисляет эти файлы в разделе **Auto memory**, потому что Claude пишет их сам, пока работает в проекте. Они отделены от [auto memory](/docs/ru/memory), которую Claude Code хранит на вашей машине, даже несмотря на то, что оба используют индекс `MEMORY.md`. Память проекта также отделена от файлов `CLAUDE.md` в репозиториях проекта. Каждый поток все еще читает эти файлы `CLAUDE.md` из своего клона при запуске, поэтому поместите инструкции о репозитории в его `CLAUDE.md` и заметки о проекте в память проекта.

291 

292<h3 id="write-project-instructions">

293 Напишите инструкции проекта

294</h3>

295 

296Инструкции проекта — это краткое описание, с которого начинает каждый новый поток. Нажмите значок шестеренки в заголовке проекта, чтобы открыть **Project settings**, затем перейдите в **Memory > Project instructions**. Полезное краткое описание охватывает:

297 

298* Для чего предназначен проект

299* Где происходит работа: какие репозитории, какую ветку начать, как назвать pull requests

300* Как поток проверяет свою работу перед тем, как назвать это выполненным

301* Что делать, когда что-то, что ему нужно, отсутствует

302* Что требует вашего одобрения в первую очередь

303 

304Например:

305 

306```text theme={null}

307Этот проект держит p95 задержку для API платежей ниже 200 мс: профилирование, исправления запросов и кэширования, и обновления зависимостей, которые с ними идут, в репозитории payments-api.

308 

309- Ветвитесь от main и откройте один черновик pull request для каждого потока.

310- Перед тем, как назвать работу выполненной, запустите `make test` и `make lint` и вставьте строки сводки в ваше финальное сообщение.

311- Если вы не можете достичь что-то, что вам нужно, например репозиторий, секрет, API или connector, скажите точно, что отсутствует в вашем первом сообщении и остановитесь. Не подменяйте, не имитируйте и не угадывайте.

312- Не объединяйте, не выполняйте force-push и не изменяйте конфигурацию CI без моего запроса в потоке.

313```

314 

315Правила об одном репозитории, такие как его команды сборки, принадлежат `CLAUDE.md` этого репозитория, который каждый поток читает, когда репозиторий является частью проекта. Когда работа идет, когда вы исправляете поток, также скажите Claude запомнить исправление: оно идет в [память проекта](#give-a-project-standing-context) и более поздние потоки начинают с ним.

316 

317<h3 id="decide-which-repositories-to-add">

318 Решение, какие репозитории добавить

319</h3>

320 

321Репозитории, которые вы добавляете в проект, поступают со всем в них, их код, `CLAUDE.md` и skills, в каждом потоке. Репозитории, которые вы не добавляете, все еще в пределах досягаемости: поток может добавить один к себе, когда его задача это требует. Большинство проектов используют оба:

322 

323* **Добавьте его в проект**, в диалоге **New project**, в **Project settings > Environment**, или попросив Claude в разговоре добавить его в проект. Каждый поток с этого момента клонирует его и начинает с его `CLAUDE.md` и skills загруженными, независимо от того, касается ли задача его. Переход от одного репозитория к нескольким также изменяет то, что потоки берут из `.claude/settings.json` каждого репозитория; см. [Что потоки берут из ваших репозиториев](#what-threads-pick-up-from-your-repositories).

324* **Оставьте его и позвольте потокам добавить его, когда это необходимо.** Поток, чья задача требует репозитория, который проект не имеет, может добавить его к себе, и заметка в потоке говорит, что он был добавлен только в этот поток. Клон происходит в середине задачи, поэтому `CLAUDE.md` и skills этого репозитория не были там, когда поток начался. Следующий поток начинает без него снова. Репозиторий, который добавляет поток, требует те же [предварительные условия](#check-the-prerequisites), что и репозиторий проекта: Claude GitHub App установлено на нем и доступ на push из вашего аккаунта GitHub.

325 

326Проект вообще не требует репозитория. Его потоки все еще могут исследовать, писать документы и писать и запускать код в собственной песочнице, и они доставляют файлы на вкладку **Library**. Поток там также может добавить репозиторий к себе, когда задача это требует.

327 

328Когда проект имеет репозитории, Claude может добавлять только репозитории от владельца GitHub, который проект уже использует, независимо от того, добавляет ли он один в проект или поток добавляет один к себе. Чтобы привести репозиторий от другого владельца, добавьте его в проект самостоятельно в **Project settings > Environment**.

329 

330Для проекта, охватывающего много репозиториев, например одну функцию с кодом сервера, веб, мобильного и рабочего стола, добавьте один или два репозитория, которые почти каждая задача касается, и назовите остальные в [инструкциях проекта](#write-project-instructions), чтобы Claude знал, где находится остальной код. Потоки затем начинают маленькими и вытягивают другие репозитории только для задач, которые их требуют.

331 

332<h3 id="what-threads-pick-up-from-your-repositories">

333 Что потоки берут из ваших репозиториев

334</h3>

335 

336Каждый поток клонирует каждый репозиторий в проекте и загружает `CLAUDE.md`, skills и plugins из всех них. Правила разрешений, hooks и `env` поступают только из `.claude/settings.json` в директории, где поток начинается: внутри репозитория, когда проект имеет один, и выше клонов, когда он имеет несколько, где файл ни одного репозитория не читается для них.

337 

338| В каждом репозитории | Один репозиторий | Несколько репозиториев |

339| :------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------- |

340| `CLAUDE.md` | Загружается при запуске потока | Загружается из каждого репозитория при запуске потока |

341| Skills, agents и команды в `.claude/` | Загружаются | Загружаются из каждого репозитория |

342| Plugins, включенные в `.claude/settings.json` | Загружаются | Загружаются из каждого репозитория. Если два репозитория не согласны о plugin, установите его в **Project settings > Plugins**, что имеет приоритет |

343| Правила разрешений, hooks и `env`, определенные в `.claude/settings.json` | Применяются к потоку, кроме ключей `env`, которые [ни один облачный сеанс не соблюдает](/docs/ru/cloud-environments#what-carries-over-from-your-setup) | Не применяются |

344 

345В проекте с несколькими репозиториями каждый клон прикреплен к потоку как [дополнительная директория](/docs/ru/memory#load-from-additional-directories) с включенной загрузкой `CLAUDE.md`, что является причиной того, что `CLAUDE.md` и skills каждого репозитория загружаются при запуске, даже несмотря на то, что поток начинается выше них. В любом случае, hooks, которые предоставляет включенный plugin, все еще работают, так как plugins загружаются из каждого репозитория. В проекте с несколькими репозиториями поместите постоянные правила в инструкции проекта и дайте потокам переменные окружения через [облачную среду](#choose-an-environment-for-threads).

346 

347<h3 id="choose-an-environment-for-threads">

348 Выбор среды для потоков

349</h3>

350 

351Каждый новый поток начинается в [облачной среде](/docs/ru/cloud-environments) проекта. Среда устанавливает, какие домены могут достичь потоки, какие переменные окружения они имеют, какие учетные данные API добавляются в их запросы и что скрипт настройки устанавливает перед началом Claude. Потоки используют среду по умолчанию, размещенную Anthropic, пока вы не выберете одну в **Project settings > Environment**.

352 

353Если потокам нужно достичь внутреннего API или приватного реестра пакетов, или нужен токен, который ваша машина обычно держит, измените среду, а не проект: см. [Сетевой доступ](/docs/ru/cloud-environments#network-access), [Добавить учетные данные API](/docs/ru/cloud-environments#add-api-credentials) и [Скрипты настройки](/docs/ru/cloud-environments#setup-scripts).

354 

355<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

356 Получить skills, plugins, connectors и инструменты в потоки

357</h3>

358 

359Потоки — это облачные сеансы, поэтому они не имеют skills, MCP servers, plugins и инструментов, установленных только на вашей машине. Чтобы сделать каждый из них доступным для потоков:

360 

361* Skills, subagents и команды: зафиксируйте их в репозитории, который вы добавили в проект, например skill в `.claude/skills/<skill-name>/SKILL.md`. Каждый поток клонирует каждый репозиторий в проекте и загружает `.claude/skills/`, `.claude/agents/` и `.claude/commands/` из каждого из них, поэтому skill, зафиксированный в одном репозитории, доступен в каждом новом потоке. Потоки также загружают skills, которые вы включаете для вашего аккаунта claude.ai.

362* Plugins: добавьте их в **Project settings > Plugins**; они загружаются в каждый новый поток. Plugins, которые репозиторий объявляет в его `.claude/settings.json`, также загружаются; см. [Что переносится из вашей настройки](/docs/ru/cloud-environments#what-carries-over-from-your-setup).

363* MCP servers: потоки получают свои MCP инструменты из connectors на вашем аккаунте claude.ai, которые являются MCP servers, которые вы подключаете один раз в [claude.ai/customize/connectors](https://claude.ai/customize/connectors) или через ссылку **Manage connectors** в **Project settings > Environment**. Каждый поток может использовать все их без настройки для каждого проекта. Разговор проекта сам по себе не имеет connectors, поэтому отправляйте работу, которая требует один, как задачу для потока. В проекте с одним репозиторием потоки также загружают MCP servers из [`.mcp.json`](/docs/ru/cloud-environments#what-carries-over-from-your-setup) этого репозитория. [Как connectors достигают Claude Code](/docs/ru/mcp#how-connectors-reach-claude-code) перечисляет правила для облачных сеансов и параметры, которые отключают connectors.

364* Инструменты командной строки и пакеты: установите их в [скрипт настройки](/docs/ru/cloud-environments#setup-scripts) среды.

365 

366Чтобы увидеть, какие connectors имеет работающий поток в claude.ai/code, откройте поток и выберите **Connectors** из меню **+** рядом с его полем сообщения. Отключение connector там удаляет его из этого потока и сохраняет это как ваше значение по умолчанию для аккаунта, поэтому новые потоки и чаты claude.ai начинают без него, пока вы его не включите снова. Поток подхватывает connector, который вы добавляете или переподключаете после следующего сообщения, которое вы ему отправляете.

367 

368<h2 id="project-settings-reference">

369 Справочник параметров проекта

370</h2>

371 

372Вы изменяете параметры проекта в claude.ai/code или в настольном приложении, а не в `settings.json`. Откройте **Project settings** из **Settings** в меню боковой панели проекта или из значка шестеренки в заголовке проекта.

373 

374Параметры сохраняются по мере их изменения; текстовое поле, которое вы редактируете, например цель или инструкции, показывает **Save changes** и **Discard** до тех пор, пока вы его не покинете. Изменения инструкций, репозиториев, plugins и среды в **Project settings** достигают новые потоки, а не уже работающие потоки.

375 

376| Параметр | Раздел | Что он контролирует |

377| :--------------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------ |

378| Имя, значок и цель | General | Имя и значок проекта на боковой панели и его одностроковая цель |

379| Модель Coordinator и интенсивность | General | Модель и [уровень интенсивности](/docs/ru/model-config#adjust-effort-level) для Claude в разговоре проекта |

380| Модель Thread и интенсивность | General | Модель и уровень интенсивности для потоков |

381| Инструкции проекта | Memory | [Постоянные правила](#give-a-project-standing-context), которые получает каждый новый поток |

382| Репозитории проекта | Environment | Репозитории, которые клонируют новые потоки |

383| Облачная среда | Environment | [Облачная среда](#choose-an-environment-for-threads), в которой работают новые потоки |

384| Connectors | Environment | Ссылка для управления claude.ai connectors, которые получают потоки |

385| Plugins | Plugins | Plugins, которые загружаются в каждый новый поток |

386| Usage | Usage | [Использование токенов](#usage-and-cost) по потокам и по моделям |

387| Memory | Memory | Файлы [памяти](#give-a-project-standing-context) проекта |

388| Restart Claude | General | Перезапускает разговор проекта, когда [Claude перестает отвечать там](#claude-hasnt-responded) |

389| Pause, Archive, Delete | General | Останавливает, скрывает или удаляет проект; см. [Пауза, архивирование или удаление проекта](#pause-archive-or-delete-a-project) |

390 

391<h3 id="pause-archive-or-delete-a-project">

392 Пауза, архивирование или удаление проекта

393</h3>

394 

395Все три элемента управления находятся в нижней части **Project settings > General**:

396 

397* **Pause**: останавливает все сразу. Каждый работающий поток и разговор прерываются, новые потоки не запускаются, routines не работают, и проект не принимает сообщения, пока вы его не возобновите. Нажмите **Resume** в том же месте или на баннере выше поля сообщения проекта; приостановленный поток продолжает работу, когда вы отправляете ему сообщение после этого.

398* **Archive**: скрывает проект из боковой панели и архивирует его потоки, что останавливает любой поток, который работал или наблюдал за pull request. Routines в проекте не работают, пока он архивирован. Чтобы вернуть проект, откройте его со страницы Projects и нажмите **Unarchive**. Его потоки остаются архивированными, пока вы не разархивируете их отдельно из списка сеансов.

399* **Delete**: постоянно удаляет проект вместе с его потоками, его памятью и его файлами, и отключает routines проекта. Это не может быть отменено. Ветки и pull request, которые потоки отправили на GitHub, не затрагиваются.

400 

401<h2 id="usage-and-cost">

402 Использование и стоимость

403</h2>

404 

405Использование проекта считается против тех же [лимитов плана](/docs/ru/errors#youve-hit-your-session-limit), что и ваши другие сеансы Claude Code, и проект не может потратить больше этих лимитов самостоятельно.

406 

407Поток, который достигает лимита вашего плана, ждет и продолжает самостоятельно, когда лимит сбрасывается, поэтому работа, которую вы оставили работающей, начинает использовать ваше следующее окно использования без сообщения от вас. [Поток достиг лимита использования](#usage-limit-reached) охватывает то, что вы видите, как его остановить и один случай, который не ждет.

408 

409Работа выходит за пределы лимитов вашего плана только если вы включили [usage credits](/docs/ru/costs#add-usage-credits-to-your-subscription) для вашего аккаунта. Поток не может включить их для вас.

410 

411<h3 id="what-draws-on-your-plan">

412 Что использует ваш план

413</h3>

414 

415Проект использует ваши лимиты быстрее, чем один сеанс, и на плане Pro в частности вы должны ожидать достичь ваш лимит раньше в дни, когда вы запускаете один. Это части проекта, которые используют ваш план:

416 

417* **Работающие потоки**: каждый — это полный сеанс, и несколько могут работать одновременно. Нет фиксированного числа; Claude запускает столько, сколько требует работа, и лимит, который вы [просите](#tune-how-claude-runs-a-project), — это предпочтение, а не ограничение. Принудительный лимит — 200 новых потоков в день во всех ваших проектах.

418* **Разговор**: Claude использует токены самостоятельно, читая то, что сообщают потоки и решая, что делать дальше.

419* **Потоки, наблюдающие за pull request**: неактивный поток просыпается и использует ваш план снова, когда CI не работает или приходит комментарий проверки на его pull request. Чтобы остановить это, попросите в потоке остановить наблюдение за pull request.

420 

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

422 

423<h3 id="see-and-reduce-a-project’s-usage">

424 Посмотрите и уменьшите использование проекта

425</h3>

426 

427Откройте **Usage** в **Project settings**, чтобы увидеть использование токенов по потокам и по моделям, и сколько пошло в разговор проекта. Чтобы снизить его:

428 

429* Последующее действие, направленное в поток, который был неактивным дольше, чем [время жизни кэша](/docs/ru/prompt-caching#cache-lifetime), час на Pro и Max в пределах лимитов вашего плана, перечитывает весь разговор этого потока перед тем, как что-то делать. Для новой работы, просьба Claude запустить свежий поток может использовать меньше, чем возрождение большого старого.

430* Для работы, которая не требует самую большую модель, [выберите меньшую модель или более низкий уровень интенсивности](#choose-models-and-let-claude-manage-context) для потоков, разговора или обоих.

431* Попросите Claude в разговоре проекта запускать меньше потоков одновременно или отвечать на маленькие вопросы самостоятельно вместо запуска потока.

432 

433<h2 id="how-projects-relate-to-other-claude-code-features">

434 Как проекты связаны с другими функциями Claude Code

435</h2>

436 

437Несколько функций Claude Code позволяют более чем одному сеансу работать одновременно, поэтому запуск работы параллельно — это не само по себе то, для чего предназначен проект. В проекте Claude запускает и отслеживает сеансы вместо вас, каждый начинается с одних и тех же репозиториев, инструкций и памяти, и работа живет в облаке столько, сколько она длится. Вот как каждая соседняя функция соединяется с проектом:

438 

439* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) — это Claude в каналах Slack вашей команды, на планах Team и Enterprise. Любой в канале может дать ему работу, все в канале видят и направляют его, и он использует соединения, которые администратор установил для этого канала. Проект — это только ваш: вы единственный, кто отправляет ему работу или видит его потоки, он использует ваш собственный доступ GitHub и connectors, и он на Pro и Max. [Как Claude Tag отличается от Cowork и Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) имеет рядом.

440* **Cloud sessions**: каждый поток — это [облачный сеанс](/docs/ru/claude-code-on-the-web), запущенный и отслеживаемый Claude вместо вас. Облачный сеанс, который вы запустили самостоятельно, может стать проектом или питать один через [**Continue as a project** или **Move to project**](#start-from-an-existing-cloud-session).

441* **Routines**: когда вы просите запланированную работу в проекте, Claude создает [routine](/docs/ru/routines), которая работает как потоки в этом проекте и отображается на его вкладке **Routines**. Routines, которые вы создаете вне проекта, продолжают работать самостоятельно.

442* **Local sessions и agent view**: сеансы в вашем терминале, IDE или локальной среде настольного приложения работают на вашей машине и не могут быть частью проекта. [Agent view](/docs/ru/agent-view) — это экран для отслеживания нескольких из этих локальных сеансов; он не имеет координатора.

443* **Worktrees**: [worktree](/docs/ru/worktrees) дает каждому локальному сеансу свою рабочую копию репозитория, поэтому параллельные сеансы на вашей машине не перезаписывают друг друга. Потокам они не нужны: каждый поток клонирует свои репозитории в свою облачную песочницу и работает на своей ветке.

444* **Agent teams**: [agent team](/docs/ru/agent-teams) — это один сеанс, который запускает сеансы товарищей для одной задачи, на вашей машине или внутри облачного сеанса, и заканчивается этой задачей.

445* **Projects в claude.ai chat и Cowork**: [более ранний опыт Projects](https://support.claude.com/en/articles/9517075-what-are-projects), который группирует разговоры и справочные файлы без потоков или координатора. Эти проекты продолжают работать так, как они работают сегодня, пока переработанный опыт не достигнет их.

446 

447[Запуск агентов параллельно](/docs/ru/agents) сравнивает эти варианты рядом.

448 

449<h2 id="limitations">

450 Ограничения

451</h2>

452 

453* Projects доступны в claude.ai/code, в настольном приложении и в мобильном приложении Claude, но не в CLI терминала или через Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry. Команда [`claude project`](/docs/ru/cli-reference) CLI, которая управляет локальным состоянием Claude Code для директории, не связана.

454* Потоки проекта — это [облачные сеансы](/docs/ru/claude-code-on-the-web) с Anthropic в качестве поставщика модели. [Безопасность](/docs/ru/security) и [Использование данных](/docs/ru/data-usage) охватывают, как облачные сеансы изолированы и что сохраняется.

455* Локальный сеанс не может быть частью проекта.

456* Песочница потока приостанавливается между ходами и возобновляется, когда поток продолжает. Если песочница не может быть возобновлена, поток продолжает с свежего клона, поэтому незафиксированные изменения могут быть потеряны. На долгих задачах попросите Claude зафиксировать и отправить работу в процессе.

457* Проект принадлежит одному пользователю. Вы не можете поделиться проектом или его потоками с другим пользователем, и транскрипты потоков не имеют опции поделиться, которую имеют другие облачные сеансы. Нет элементов управления на уровне организации для проектов во время бета-версии.

458* Поток принадлежит одному проекту, который его запустил. Вы не можете переместить или скопировать поток в другой проект или переместить его отдельно. [**Move to project**](#start-from-an-existing-cloud-session) идет только в другую сторону: он переносит работу облачного сеанса в проект.

459 

460<h2 id="troubleshooting">

461 Troubleshooting

462</h2>

463 

464Для подсказок настройки GitHub в диалоге **New project**, см. [Настройка доступа GitHub](#set-up-github-access).

465 

466<h3 id="a-thread-looks-stuck">

467 Поток выглядит застрявшим

468</h3>

469 

470Claude не публикует каждый шаг, который делает поток, поэтому поток, который показывает как работающий без новых сообщений в разговоре проекта, обычно все еще работает. Новый поток также подготавливает свою [облачную среду](/docs/ru/cloud-environments) перед началом Claude, поэтому его первое обновление занимает момент. Откройте поток, чтобы прочитать его транскрипт. Если поток ждет подсказку разрешения, ответьте там.

471 

472<h3 id="threads-guessed-or-stalled-instead-of-asking">

473 Потоки угадали или застопорились вместо того, чтобы спросить

474</h3>

475 

476Когда несколько потоков возвращаются, имея предположено что-то неправильно, обошли отсутствующий доступ или остановились с "blocked", причина обычно одна и та же пробел в настройке проекта, а не проблема с каждой задачей. Отсортируйте, какие потоки звучат правильно, перед тем, как вы что-то исправляете:

477 

4781. Попросите Claude в разговоре: "Для каждого открытого потока, перечислите, что вы просили его сделать, что он предположил или не мог достичь, и на что он ждет." Claude читает каждый поток и отвечает в разговоре.

4792. Для потоков, которые начались с неправильного предположения, откройте поток из **Overview** и отметьте его разрешенным из его меню, или скажите ему, что делать вместо этого в его поле сообщения. Его ветка и любой pull request остаются на GitHub, пока вы их не удалите.

4803. Исправьте пробел один раз, в [инструкциях проекта](#give-a-project-standing-context) или [среде](#choose-an-environment-for-threads), затем отправьте один поток перед отправкой остальной работы снова как новые потоки.

481 

482<h3 id="claude-hasnt-responded">

483 Claude не ответил

484</h3>

485 

486Разговор проекта показывает баннер "Claude hasn't responded", когда Claude работает, но его ответы не достигают проекта. Нажмите **Restart Claude** на баннере или перейдите в **Project settings > General** и нажмите **Restart** в строке **Restart Claude**. Claude переподключается к разговору; любой ответ, который он был в процессе написания, потеряется, и потоки не затрагиваются.

487 

488<h3 id="repository-access-errors">

489 Ошибки доступа к репозиторию

490</h3>

491 

492Три сообщения означают, что поток или проект не может достичь один из своих репозиториев. Потоку проекта требуются [предварительные условия GitHub](#check-the-prerequisites) даже когда ваши другие облачные сеансы клонируют один и тот же репозиторий без проблем.

493 

494* **"Couldn't start the session — Claude doesn't have GitHub access to this project's repository"**, сообщено перед запуском потока, когда Claude GitHub App не установлено на этом репозитории, приостановлено или не связано с аккаунтом GitHub, который вы подключили.

495* **"Unable to access your repository"**, сообщено потоком, когда его клон не работает: GitHub отклонил клон, репозиторий не был найден под названием, которое имеет проект, или ветка, с которой потоку было предложено начать, не существует.

496* **"Claude can't access"** репозиторий, показано, когда вы сохраняете репозитории в диалоге **New project** или **Project settings**. Сообщение продолжается со ссылкой на установку и ссылкой на переподключение. Используйте ссылку на установку, если Claude GitHub App не на этом репозитории, и ссылку на переподключение, если она есть, так как GitHub App может быть установлено на GitHub без связи с аккаунтом, который вы подключили к Claude. Если сообщение говорит, что GitHub App приостановлено или не включает этот репозиторий, следуйте его ссылке на GitHub, чтобы это исправить.

497 

498Чтобы исправить любой из них, нажмите кнопку, которую предлагает сообщение, например **Install GitHub App** или **Select repositories on GitHub**, затем **Check again**. Когда блок находится на стороне организации GitHub, например владелец, который не одобрил приложение или IP allow list, который исключает Claude, сообщение показывает ссылку **See how to fix** вместо этого. Если нет кнопки, следуйте [Настройка доступа GitHub](#set-up-github-access), затем отправьте другое сообщение для повтора.

499 

500<h3 id="usage-limit-reached">

501 Поток достиг лимита использования

502</h3>

503 

504Когда поток или разговор проекта достигает пятичасового или еженедельного лимита вашего плана, он продолжает повторять попытки самостоятельно и продолжает, когда лимит сбрасывается. Пока он ждет, поток показывает **Service is busy** с "Claude is still retrying and will continue automatically." Вам не нужно ничего делать, чтобы работа продолжилась. Если вы предпочитаете, чтобы он не использовал ваше следующее окно использования, нажмите **Stop** в потоке или [приостановите проект](#pause-archive-or-delete-a-project), чтобы удержать каждый поток. Поток, который запустила routine, не ждет: его ход останавливается с ошибкой лимита, и вы отправляете ему сообщение после сброса лимита.

505 

506[Ошибки лимита использования](/docs/ru/errors#youve-hit-your-session-limit) объясняют лимиты и когда они сбрасываются.

507 

508<h3 id="additional-usage-credits-are-required">

509 Требуются дополнительные usage credits

510</h3>

511 

512Поток или разговор проекта сделал запрос, который ваш план охватывает только с usage credits, например один к модели или размеру контекста, который ваш план не включает, и usage credits не включены для вашего аккаунта. [Добавить usage credits к вашей подписке](/docs/ru/costs#add-usage-credits-to-your-subscription) охватывает, кто может их включить или купить на каждом плане. Когда credits доступны, отправьте другое сообщение для повтора.

513 

514<h3 id="context-limit">

515 Другие сообщения

516</h3>

517 

518Эти сообщения называют свою собственную причину. Таблица дает следующий шаг для каждого.

519 

520| Сообщение | Что делать |

521| :------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

522| "Unable to connect to repository" с "Claude couldn't reach GitHub to fetch your repository" | Подождите момент, затем отправьте другое сообщение для повтора |

523| "Unable to connect to repository" с "Claude couldn't access your repository or environment" | Ваш аккаунт GitHub требует доступ на push к репозиторию, и среда должна все еще существовать. Проверьте оба в **Project settings > Environment**, затем повторите |

524| "Couldn't show the setup proposal" | Приложение, которое у вас открыто, старше, чем **Setup recommendations**, которые Claude отправил. Обновите страницу или перезагрузите настольное приложение, или попросите Claude предложить настройку снова |

525| "The project's environment was removed" | Выберите другую среду в **Project settings > Environment**; изменение применяется к новым потокам |

526| "Setup script failed" | Нажмите **Edit setup script** на ошибке, исправьте скрипт в среде, затем отправьте другое сообщение. [Setup script failed](/docs/ru/web-quickstart#setup-script-failed) перечисляет общие причины |

527| "Claude ran out of context on this turn" | Поток заполнил свое контекстное окно. Если сообщение говорит, что поток продолжает в свежем сеансе, он продолжает самостоятельно; в противном случае попросите Claude в разговоре проекта запустить новый поток для оставшейся работы |

528| "Reached the turn limit" | Поток достиг ограничения на шаги для одного сообщения, которое устанавливает [`CLAUDE_CODE_MAX_TURNS`](/docs/ru/env-vars). Отправьте другое сообщение для продолжения, или повысьте или удалите эту переменную там, где она установлена |

529 

530<h2 id="related-resources">

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

532</h2>

533 

534* [Используйте Claude Code в облаке](/docs/ru/claude-code-on-the-web): как работают облачные сеансы за каждым потоком, включая варианты доступа GitHub и auto-fix на pull request

535* [Настройте облачные среды](/docs/ru/cloud-environments): измените, что потоки могут достичь в сети, дайте им переменные окружения и учетные данные API и установите инструменты со скриптом настройки

536* [Автоматизируйте работу с routines](/docs/ru/routines): расписания, триггеры и управление для routines, включая те, которые Claude создает из проекта

537* [Управляйте несколькими агентами с agent view](/docs/ru/agent-view): запускайте и отслеживайте несколько сеансов на вашей собственной машине, когда работе требуются инструменты или сервисы, которые может достичь только ваша машина

538* [Projects redesigned: from folder to conversation](https://claude.com/blog/projects-redesigned): объявление о запуске с объяснением идеи превращения проекта в беседу с Claude

Details

167 167 

168По умолчанию Claude Code строит системное приглашение один раз, при первом запросе беседы, с текстом из любых флагов системного приглашения, применённых, и записывает его в сеанс. До компактирования беседы каждый более поздний запрос использует это записанное приглашение, включая после возврата к беседе с `--resume` или `--continue`. Если вы передаёте другой текст флага системного приглашения, или ничего, при этом более позднем запуске, он вступает в силу после компактирования беседы или когда вы начинаете новую беседу.168По умолчанию Claude Code строит системное приглашение один раз, при первом запросе беседы, с текстом из любых флагов системного приглашения, применённых, и записывает его в сеанс. До компактирования беседы каждый более поздний запрос использует это записанное приглашение, включая после возврата к беседе с `--resume` или `--continue`. Если вы передаёте другой текст флага системного приглашения, или ничего, при этом более позднем запуске, он вступает в силу после компактирования беседы или когда вы начинаете новую беседу.

169 169 

170Если вы запускаете Claude Code в [bare mode](/docs/ru/headless#start-faster-with-bare-mode), передав `--bare` или установив `CLAUDE_CODE_SIMPLE=1`, запись остаётся отключённой, если вы не передаёте `--system-prompt-snapshot on`. До v2.1.268 сеансы, которые не [получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), включая сеансы на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, перестраивали запрос при каждом запросе и `--system-prompt-snapshot` не имел эффекта.170Вне [облачных сеансов](/docs/ru/cloud-environments), если вы запускаете Claude Code в [bare mode](/docs/ru/headless#start-faster-with-bare-mode), передав `--bare` или установив `CLAUDE_CODE_SIMPLE=1`, запись остаётся отключённой, если вы не передаёте `--system-prompt-snapshot on`. До v2.1.268 сеансы, которые не [получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), включая сеансы на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, перестраивали запрос при каждом запросе и `--system-prompt-snapshot` не имел эффекта.

171 171 

172Чтобы перестроить запрос при каждом запросе вместо этого, например, пока вы итерируете его формулировку через запуски `--continue`, передайте `--system-prompt-snapshot off`. До v2.1.265 передача любого из флагов системного приглашения также отключала запись, если вы не передавали `--system-prompt-snapshot on`.172Чтобы перестроить запрос при каждом запросе вместо этого, например, пока вы итерируете его формулировку через запуски `--continue`, передайте `--system-prompt-snapshot off`. До v2.1.265 передача любого из флагов системного приглашения также отключала запись, если вы не передавали `--system-prompt-snapshot on`.

173 173 

Details

7> Настройте облачные среды для облачных сеансов Claude Code: уровни доступа в сети, переменные окружения, скрипты настройки и кэширование среды.7> Настройте облачные среды для облачных сеансов Claude Code: уровни доступа в сети, переменные окружения, скрипты настройки и кэширование среды.

8 8 

9<Note>9<Note>

10 Облачные среды требуют [Claude Code на веб-версии](/docs/ru/claude-code-on-the-web), которая находится в исследовательском предпросмотре для пользователей Pro, Max и Team, а также для пользователей Enterprise с [премиум-местами или местами Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).10 Облачные среды применяются к [облачным сеансам](/docs/ru/claude-code-on-the-web), которые находятся в исследовательском предпросмотре для пользователей Pro, Max и Team, а также для пользователей Enterprise с [премиум-местами или местами Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).

11</Note>11</Note>

12 12 

13Каждый [облачный сеанс](/docs/ru/claude-code-on-the-web) выполняется в облачной среде. Вы можете настроить среду, чтобы разрешить или запретить [доступ в сеть](#access-levels), [установить переменные окружения](#set-environment-variables) для сеанса, на планах Pro и Max сохранять [учётные данные API](#add-api-credentials), которые сеансы используют без их просмотра, и запустить [скрипт настройки](#setup-scripts) перед тем, как Claude начнёт работу.13Каждый [облачный сеанс](/docs/ru/claude-code-on-the-web) выполняется в облачной среде. Вы можете настроить среду, чтобы разрешить или запретить [доступ в сеть](#access-levels), [установить переменные окружения](#set-environment-variables) для сеанса, на планах Pro и Max сохранять [учётные данные API](#add-api-credentials), которые сеансы используют без их просмотра, и запустить [скрипт настройки](#setup-scripts) перед тем, как Claude начнёт работу.

14 14 

15Одни и те же среды применяются везде, где вы запускаете облачный сеанс: [Claude Code на веб-версии](/docs/ru/claude-code-on-the-web), терминал с [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-web), [Claude Tag](https://claude.com/docs/claude-tag/overview), [процедуры](/docs/ru/routines), [мобильное приложение Claude](/docs/ru/mobile) и [приложение Desktop](/docs/ru/desktop). Каждая из этих поверхностей также может маршрутизировать в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments). [Доступность и ограничения](/docs/ru/self-hosted-environments#availability-and-limitations) охватывает то, что Claude ещё не может использовать, когда сеанс Claude Tag работает в одной.15Одни и те же среды применяются везде, где вы запускаете облачный сеанс: [приложение Desktop](/docs/ru/desktop), [мобильное приложение Claude](/docs/ru/mobile), ваш браузер на [claude.ai/code](https://claude.ai/code), терминал с [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), [процедуры](/docs/ru/routines) и [Claude Tag](https://claude.com/docs/claude-tag/overview). Каждая из этих поверхностей также может маршрутизировать в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments). [Доступность и ограничения](/docs/ru/self-hosted-environments#availability-and-limitations) охватывает то, что Claude ещё не может использовать, когда сеанс Claude Tag работает в одной.

16 16 

17<Info>17<Info>

18 Сеансы [Remote Control](/docs/ru/remote-control) подключают веб-интерфейс и мобильный интерфейс к сеансу на вашей собственной машине, которая использует сеть и файлы вашей машины, а не облачную среду. Сеансы канала Claude Tag используют только среды уровня организации, либо [общие среды](#organization-shared-environments), либо [самостоятельно размещённые среды](/docs/ru/self-hosted-environments).18 Сеансы [Remote Control](/docs/ru/remote-control) подключают веб-интерфейс и мобильный интерфейс к сеансу на вашей собственной машине, которая использует сеть и файлы вашей машины, а не облачную среду. Сеансы канала Claude Tag используют только среды уровня организации, либо [общие среды](#organization-shared-environments), либо [самостоятельно размещённые среды](/docs/ru/self-hosted-environments).


35 35 

36Если доступна только **Default**, каждый сеанс работает в ней. Когда у вас есть более одной среды, сеансы выбирают одну для каждой поверхности:36Если доступна только **Default**, каждый сеанс работает в ней. Когда у вас есть более одной среды, сеансы выбирают одну для каждой поверхности:

37 37 

38* На веб-версии, приложении Desktop и мобильном приложении сеансы используют среду, показанную в [селекторе](#configure-your-environment). [Организационное значение по умолчанию](#organization-shared-environments), установленное владельцем, заполняет выбор, когда вы не выбрали ничего.38* На приложении Desktop, мобильном приложении и на claude.ai/code сеансы, которые вы запускаете сами, используют среду, показанную в [селекторе](#configure-your-environment). [Организационное значение по умолчанию](#organization-shared-environments), установленное владельцем, заполняет выбор, когда вы не выбрали ничего. Потоки в [проекте](/docs/ru/claude-projects#project-settings-reference) используют среду, установленную в параметрах проекта.

39* Из CLI Claude Code использует ваш выбор [`/remote-env`](#select-an-environment-from-the-cli), или возвращается к среде, размещённой Anthropic, когда ваш список имеет одну, и в противном случае к первой среде в вашем списке, которая не является мостовой средой, записью [Remote Control](/docs/ru/remote-control), которую регистрирует для представления вашей собственной машины, а не облачной среды. Для [самостоятельно размещённой среды](/docs/ru/self-hosted-environments) передача `--environment <environment-id>` с её `ccpool_` ID [когда вы отправляете сеанс](/docs/ru/self-hosted-environments-testing#run-the-test-loop) переопределяет выбор `/remote-env` и резервный вариант для этого вызова. Claude Code отклоняет размещённые Anthropic `env_` ID, переданные флагу, поэтому используйте `/remote-env` для их целевого назначения. Флаг требует Claude Code v2.1.224 или позже.39* Из CLI Claude Code использует ваш выбор [`/remote-env`](#select-an-environment-from-the-cli), или возвращается к среде, размещённой Anthropic, когда ваш список имеет одну, и в противном случае к первой среде в вашем списке, которая не является мостовой средой, записью [Remote Control](/docs/ru/remote-control), которую регистрирует для представления вашей собственной машины, а не облачной среды. Для [самостоятельно размещённой среды](/docs/ru/self-hosted-environments) передача `--environment <environment-id>` с её `ccpool_` ID [когда вы отправляете сеанс](/docs/ru/self-hosted-environments-testing#run-the-test-loop) переопределяет выбор `/remote-env` и резервный вариант для этого вызова. Claude Code отклоняет размещённые Anthropic `env_` ID, переданные флагу, поэтому используйте `/remote-env` для их целевого назначения. Флаг требует Claude Code v2.1.224 или позже.

40 40 

41Настройте среду, когда значения по умолчанию недостаточно: когда Claude нужно достичь доменов вне [списка разрешений по умолчанию](#default-allowed-domains), нужны установленные переменные окружения для его сеансов или нужны установленные зависимости перед тем, как он начнёт работу.41Настройте среду, когда значения по умолчанию недостаточно: когда Claude нужно достичь доменов вне [списка разрешений по умолчанию](#default-allowed-domains), нужны установленные переменные окружения для его сеансов или нужны установленные зависимости перед тем, как он начнёт работу.


80 80 

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

82 82 

83Claude Code на веб-версии также устанавливает некоторые переменные сам, когда запускает сеанс. Для [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ru/claude-code-on-the-web#manage-context) значение, которое устанавливает Claude Code на веб-версии, переопределяет то, которое вы добавляете здесь, поэтому добавление этого ключа здесь не имеет эффекта.83Облачный сеанс также устанавливает некоторые переменные сам, когда запускается. Для [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ru/claude-code-on-the-web#manage-context) значение, которое устанавливает сеанс, переопределяет то, которое вы добавляете здесь, поэтому добавление этого ключа здесь не имеет эффекта.

84 84 

85Любой, кто использует среду, может читать значения. На планах Pro и Max используйте [учётные данные API](#add-api-credentials) вместо этого для ключа, который прокси агента может прикрепить к запросу. [Запросы, которые никогда не получают учётные данные](#requests-that-never-get-the-credential), перечислены там.85Любой, кто использует среду, может читать значения. На планах Pro и Max используйте [учётные данные API](#add-api-credentials) вместо этого для ключа, который прокси агента может прикрепить к запросу. [Запросы, которые никогда не получают учётные данные](#requests-that-never-get-the-credential), перечислены там.

86 86 


154 Выбор среды из CLI154 Выбор среды из CLI

155</h3>155</h3>

156 156 

157Запустите `/remote-env` в вашем терминале, чтобы выбрать среду по умолчанию для облачных сеансов, которые вы создаёте из CLI, такие как [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-web). Команда открывает средство выбора ваших существующих сред и сохраняет ваш выбор в ключ `remote.defaultEnvironmentId` в ваших [пользовательских параметрах](/docs/ru/settings#where-settings-live), поэтому он применяется в каждом проекте на вашей машине, пока вы его не измените, если только тот же ключ не установлен на более высоком приоритете [слой параметров](/docs/ru/settings#settings-precedence), такой как параметры проекта репозитория.157Запустите `/remote-env` в вашем терминале, чтобы выбрать среду по умолчанию для облачных сеансов, которые вы создаёте из CLI, такие как [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud). Команда открывает средство выбора ваших существующих сред и сохраняет ваш выбор в ключ `remote.defaultEnvironmentId` в ваших [пользовательских параметрах](/docs/ru/settings#where-settings-live), поэтому он применяется в каждом проекте на вашей машине, пока вы его не измените, если только тот же ключ не установлен на более высоком приоритете [слой параметров](/docs/ru/settings#settings-precedence), такой как параметры проекта репозитория.

158 158 

159ID [самостоятельно размещённой среды](/docs/ru/self-hosted-environments), который имеет форму `ccpool_...`, следует более строгому правилу источника. Смотрите [`remote.defaultEnvironmentId`](/docs/ru/settings-reference#remote-defaultenvironmentid) для слоёв параметров, которые Claude Code чтит это из.159ID [самостоятельно размещённой среды](/docs/ru/self-hosted-environments), который имеет форму `ccpool_...`, следует более строгому правилу источника. Смотрите [`remote.defaultEnvironmentId`](/docs/ru/settings-reference#remote-defaultenvironmentid) для слоёв параметров, которые Claude Code чтит это из.

160 160 


201Чтобы изменить доступ в сеть среды, [откройте её для редактирования](#configure-your-environment) и используйте селектор **Network access** в диалоге. Облачный значок, который открывает селектор, появляется на поверхностях приложения, перечисленных в [Среда Default](#the-default-environment) и в [редакторе процедуры](/docs/ru/routines#environments-and-network-access); личные среды не имеют отдельной страницы в параметрах вашей учётной записи claude.ai.201Чтобы изменить доступ в сеть среды, [откройте её для редактирования](#configure-your-environment) и используйте селектор **Network access** в диалоге. Облачный значок, который открывает селектор, появляется на поверхностях приложения, перечисленных в [Среда Default](#the-default-environment) и в [редакторе процедуры](/docs/ru/routines#environments-and-network-access); личные среды не имеют отдельной страницы в параметрах вашей учётной записи claude.ai.

202 202 

203<Note>203<Note>

204 Соединители MCP, которые вы включаете в сеансе или процедуре, работают без добавления их хостов в **Allowed domains**, потому что трафик соединителя проходит через серверы Anthropic, а не через сеть сеанса. Вы настраиваете соединители для каждого сеанса или для каждой процедуры; удалите те, которые вам не нужны, чтобы ограничить, какие инструменты может достичь Claude. Это полагается на тот же канал, привязанный к Anthropic, отмеченный в [Безопасность и изоляция](/docs/ru/claude-code-on-the-web#security-and-isolation).204 Соединители MCP, которые вы включаете в сеансе или процедуре, работают без добавления их хостов в **Allowed domains**, потому что трафик соединителя проходит через серверы Anthropic, а не через сеть сеанса. Это полагается на тот же канал, привязанный к Anthropic, отмеченный в [Безопасность и изоляция](/docs/ru/claude-code-on-the-web#security-and-isolation). Отключите любой соединитель, который вам не нужен, чтобы ограничить, какие инструменты может достичь Claude.

205</Note>205</Note>

206 206 

207<h3 id="access-levels">207<h3 id="access-levels">


243* **Сеансы в этой среде открывают общедоступные артефакты другой организации**: Claude Code получает их с хоста напрямую, поэтому добавьте его в этот список.243* **Сеансы в этой среде открывают общедоступные артефакты другой организации**: Claude Code получает их с хоста напрямую, поэтому добавьте его в этот список.

244* **Вы настраиваете локальный CLI или самостоятельно размещённый runner**: сохраняйте хост в этом списке разрешений. Смотрите [требования доступа в сеть](/docs/ru/network-config#network-access-requirements) и самостоятельно размещённые [требования к сети](/docs/ru/self-hosted-environments-deploy#network-requirements).244* **Вы настраиваете локальный CLI или самостоятельно размещённый runner**: сохраняйте хост в этом списке разрешений. Смотрите [требования доступа в сеть](/docs/ru/network-config#network-access-requirements) и самостоятельно размещённые [требования к сети](/docs/ru/self-hosted-environments-deploy#network-requirements).

245 245 

246Каждая среда имеет свой собственный список разрешённых доменов; нет организационного списка разрешений, который администраторы могут отправить в среды каждого члена. [Параметры, управляемые сервером](/docs/ru/server-managed-settings), всё ещё применяются внутри облачных сеансов, но ни один из них не добавляет домены в список разрешений доступа в сеть среды.246Каждая среда имеет свой собственный список разрешённых доменов; нет организационного списка разрешений, который администраторы могут отправить в среды каждого члена. [Параметры, управляемые сервером](/docs/ru/server-managed-settings) всё ещё применяются внутри облачных сеансов, но ни один из них не добавляет домены в список разрешений доступа в сеть среды. Чтобы дать команде один стандартный список, владелец может создать [общую для организации среду](#organization-shared-environments) с **Custom** доступом в сеть и этим списком.

247 247 

248<h3 id="github-proxy">248<h3 id="github-proxy">

249 GitHub прокси249 GitHub прокси


274 Что доступно в облачных сеансах274 Что доступно в облачных сеансах

275</h2>275</h2>

276 276 

277В среде, размещённой Anthropic, каждый сеанс получает свежую виртуальную машину (VM) под управлением Ubuntu 24.04 на x86\_64, независимо от вашей собственной операционной системы и архитектуры CPU, с клонированным репозиторием и предустановленными общими цепочками инструментов. Когда зависимость предоставляет предкомпилированные двоичные файлы, такие как Ruby gems с собственными расширениями или предварительно построенные колёса Python, используйте его сборку x86\_64 Linux, чтобы соответствовать виртуальной машине. Этот раздел охватывает значения по умолчанию, размещённые Anthropic, встроенные инструменты GitHub, как [запускать тесты и сервисы](#run-tests-start-services-and-add-packages) и [ограничения ресурсов](#resource-limits), которые получает каждая виртуальная машина.277В среде, размещённой Anthropic, каждый сеанс получает свежую виртуальную машину (VM) под управлением Ubuntu 24.04 на x86\_64, независимо от вашей собственной операционной системы и архитектуры CPU, с клонированным репозиторием и предустановленными общими цепочками инструментов. Когда зависимость предоставляет предкомпилированные двоичные файлы, такие как Ruby gems с собственными расширениями или предварительно построенные колёса Python, используйте его сборку x86\_64 Linux, чтобы соответствовать VM. Этот раздел охватывает значения по умолчанию, размещённые Anthropic, встроенные инструменты GitHub, как [запускать тесты и сервисы](#run-tests-start-services-and-add-packages), и [ограничения ресурсов](#resource-limits), которые получает каждая VM.

278 278 

279<Note>279<Note>

280 Сеансы, которые ваша организация маршрутизирует в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments), работают на ваших собственных runners вместо этого, с инструментами, которые предоставляет образ вашего runner.280 Сеансы, которые ваша организация маршрутизирует в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments), работают на ваших собственных runners вместо этого, с инструментами, которые предоставляет образ вашего runner.


288 288 

289| | Доступно в облачных сеансах | Почему |289| | Доступно в облачных сеансах | Почему |

290| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |290| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

291| Ваш `CLAUDE.md` репозитория | Да | Часть клона |291| Ваш репозитория `CLAUDE.md` | Да | Часть клона |

292| Ваши `.claude/settings.json` hooks репозитория | Да | Часть клона |292| Ваши репозитория `.claude/settings.json` hooks и правила разрешений | Да, в сеансе с одним репозиторием | Часть клона. Сеанс с несколькими репозиториями, включая поток [проекта](/docs/ru/claude-projects#what-threads-pick-up-from-your-repositories), начинается выше клонов и не читает их |

293| Ваши `.mcp.json` MCP серверы репозитория | Да | Часть клона |293| Ваши репозитория `.mcp.json` MCP серверы | Да, в сеансе с одним репозиторием | Часть клона, найденная из рабочего каталога сеанса |

294| Ваши `.claude/rules/` репозитория | Да | Часть клона |294| Ваши репозитория `.claude/rules/` | Да | Часть клона |

295| Ваши `.claude/skills/`, `.claude/agents/`, `.claude/commands/` репозитория | Да | Часть клона |295| Ваши репозитория `.claude/skills/`, `.claude/agents/`, `.claude/commands/` | Да | Часть клона |

296| Плагины, объявленные в `.claude/settings.json` | Да | Установлены при запуске сеанса из [marketplace](/docs/ru/plugin-marketplaces), который вы объявили. Требует сетевого доступа для достижения источника marketplace |296| Плагины, объявленные в `.claude/settings.json` | Да | Установлены при запуске сеанса из [marketplace](/docs/ru/plugin-marketplaces), который вы объявили. Требует сетевого доступа для достижения источника marketplace |

297| [Параметры, управляемые сервером](/docs/ru/server-managed-settings) вашей организации | Да | Получены с серверов Anthropic при запуске сеанса. Смотрите [Охват поверхности](/docs/ru/model-config#surface-coverage) для того, как `availableModels` применяется в облачных сеансах. Параметры, развёрнутые на вашем устройстве через MDM или файлы управляемых параметров, не применяются, потому что сеанс работает на управляемой Anthropic виртуальной машине; в [самостоятельно размещённой среде](/docs/ru/self-hosted-environments) сеансы также читают файл управляемых параметров в образе runner, согласно [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) |297| [Параметры, управляемые сервером](/docs/ru/server-managed-settings) вашей организации | Да | Получены с серверов Anthropic при запуске сеанса. Смотрите [Охват поверхности](/docs/ru/model-config#surface-coverage) для того, как `availableModels` применяется в облачных сеансах. Параметры, развёрнутые на вашем устройстве через MDM или файлы управляемых параметров, не применяются, потому что сеанс работает на управляемой Anthropic виртуальной машине; в [самостоятельно размещённой среде](/docs/ru/self-hosted-environments) сеансы также читают файл управляемых параметров в образе runner, согласно [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) |

298| Ваш пользовательский `~/.claude/CLAUDE.md` | Нет | Находится на вашей машине, не в репозитории |298| Ваш пользовательский `~/.claude/CLAUDE.md` | Нет | Находится на вашей машине, не в репозитории |

299| Ваши пользовательские `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Нет | Находятся на вашей машине, не в репозитории. Зафиксируйте их в каталоге `.claude/` репозитория вместо этого. Облачные сеансы автоматически загружают skills, которые вы включаете на claude.ai |299| Ваши пользовательские `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Нет | Находятся на вашей машине, не в репозитории. Зафиксируйте их в каталоге `.claude/` репозитория вместо этого. Облачные сеансы автоматически загружают skills, которые вы включаете на claude.ai |

300| Плагины, включённые только в ваши пользовательские параметры | Нет | Пользовательский `enabledPlugins` находится в `~/.claude/settings.json`. Объявите их в `.claude/settings.json` репозитория вместо этого, или включите их для вашей учётной записи claude.ai, чтобы Claude Code загружал их как [синхронизированные плагины](/docs/ru/plugins-reference#synced-plugins) |300| Плагины, включённые только в ваши пользовательские параметры | Нет | Пользовательский `enabledPlugins` находится в `~/.claude/settings.json`. Объявите их в `.claude/settings.json` репозитория вместо этого, или включите их для вашей учётной записи claude.ai, чтобы Claude Code загружал их как [синхронизированные плагины](/docs/ru/plugins-reference#synced-plugins) |

301| MCP серверы, которые вы добавили с `claude mcp add` в область по умолчанию local или область пользователя | Нет | Те записывают в `~/.claude.json` на вашей машине, не в репозитории. Добавьте сервер с `claude mcp add --scope project`, который записывает [`.mcp.json`](/docs/ru/mcp#project-scope) репозитория, и зафиксируйте этот файл |301| MCP серверы, которые вы добавили с `claude mcp add` в область по умолчанию local или область пользователя | Нет | Те записывают в `~/.claude.json` на вашей машине, не в репозитории. Добавьте сервер с `claude mcp add --scope project`, который записывает [`.mcp.json`](/docs/ru/mcp#project-scope) репозитория, и зафиксируйте этот файл. Сеанс с одним репозиторием загружает его |

302| Переменные транспорта в блоке `env` вашего `.claude/settings.json` репозитория, такие как `NODE_EXTRA_CA_CERTS` и [переменные сертификата клиента mTLS](/docs/ru/network-config#mtls-authentication) | Нет | Среда хостинга управляет соединением API сеанса, поэтому Claude Code игнорирует эти ключи и отмечает каждый игнорируемый ключ в журнале отладки сеанса |302| Переменные транспорта в блоке `env` вашего `.claude/settings.json` репозитория, такие как `NODE_EXTRA_CA_CERTS` и [переменные сертификата клиента mTLS](/docs/ru/network-config#mtls-authentication) | Нет | Среда хостинга управляет соединением API сеанса, поэтому Claude Code игнорирует эти ключи и отмечает каждый игнорируемый ключ в журнале отладки сеанса |

303| Ключи API и токены для сервисов, которые Claude вызывает | На планах Pro и Max, как [учётные данные API](#add-api-credentials) | Вы добавляете ключ один раз в среду и прокси агента прикрепляет его к запросам для хостов, которые вы перечисляете. Ключ, который прокси агента [не может прикрепить](#requests-that-never-get-the-credential), или любой ключ на плане Team или Enterprise, остаётся в переменной окружения |303| Ключи API и токены для сервисов, которые Claude вызывает | На планах Pro и Max, как [учётные данные API](#add-api-credentials) | Вы добавляете ключ один раз в среду и прокси агента прикрепляет его к запросам для хостов, которые вы перечисляете. Ключ, который прокси агента [не может прикрепить](#requests-that-never-get-the-credential), или любой ключ на плане Team или Enterprise, остаётся в переменной окружения |

304| Интерактивная аутентификация, такая как AWS SSO | Нет | Не поддерживается. SSO требует вход на основе браузера, который не может работать в облачном сеансе |304| Интерактивная аутентификация, такая как AWS SSO | Нет | Не поддерживается. SSO требует вход на основе браузера, который не может работать в облачном сеансе |


329 329 

330¹ Bun установлен, но имеет известные [проблемы совместимости с прокси](#install-dependencies-with-a-sessionstart-hook) для получения пакетов.330¹ Bun установлен, но имеет известные [проблемы совместимости с прокси](#install-dependencies-with-a-sessionstart-hook) для получения пакетов.

331 331 

332Чтобы получить версии большинства инструментов в этой таблице, попросите Claude запустить `check-tools` в облачном сеансе. Это команда оболочки, установленная на виртуальной машине сеанса, а не slash команда; вы просите Claude, потому что [Claude запускает все команды виртуальной машины для вас](#run-tests-start-services-and-add-packages). Для инструмента, который он не сообщает, такого как Ruby, PHP, bun, PostgreSQL или Redis, попросите Claude запустить команду версии самого инструмента, например `psql --version`.332Чтобы получить версии большинства инструментов в этой таблице, попросите Claude запустить `check-tools` в облачном сеансе. Это команда оболочки, установленная на виртуальной машине сеанса, а не команда, которую вы вводите с `/`; вы просите Claude, потому что [Claude запускает все команды виртуальной машины для вас](#run-tests-start-services-and-add-packages). Для инструмента, который он не сообщает, такого как Ruby, PHP, bun, PostgreSQL или Redis, попросите Claude запустить команду версии самого инструмента, например `psql --version`.

333 333 

334Версии Node.js установлены в `/opt/node20`, `/opt/node21` и `/opt/node22`, с 22 на `PATH` по умолчанию. Чтобы работать с другой версией, попросите Claude добавить в начало каталог `bin` этой версии, такой как `/opt/node20/bin`, к `PATH`.334Версии Node.js установлены в `/opt/node20`, `/opt/node21` и `/opt/node22`, с 22 на `PATH` по умолчанию. Чтобы работать с другой версией, попросите Claude добавить в начало каталог `bin` этой версии, такой как `/opt/node20/bin`, к `PATH`.

335 335 


358 358 

359Каждый облачный сеанс имеет URL стенограммы на claude.ai, и сеанс может читать свой собственный ID из переменной окружения `CLAUDE_CODE_REMOTE_SESSION_ID`. Используйте это, чтобы поместить отслеживаемую ссылку в тела PR, сообщения коммитов, посты Slack или созданные отчёты, чтобы рецензент мог открыть запуск, который их произвёл.359Каждый облачный сеанс имеет URL стенограммы на claude.ai, и сеанс может читать свой собственный ID из переменной окружения `CLAUDE_CODE_REMOTE_SESSION_ID`. Используйте это, чтобы поместить отслеживаемую ссылку в тела PR, сообщения коммитов, посты Slack или созданные отчёты, чтобы рецензент мог открыть запуск, который их произвёл.

360 360 

361Коммиты, которые Claude создаёт в облачном сеансе, включают трейлер git `Claude-Session: <url>`, и тела PR включают URL сеанса на отдельной строке. Это требует v2.1.179 или позже. Чтобы опустить трейлер и ссылку в теле PR, установите [`attribution.sessionUrl`](/docs/ru/settings-reference#attribution-sessionurl) на `false`. Параметр требует v2.1.182 или позже.361Коммиты, которые Claude создаёт в облачном сеансе, включают трейлер git `Claude-Session: <url>`, и тела PR включают URL сеанса на отдельной строке. Чтобы опустить трейлер и ссылку в теле PR, установите [`attribution.sessionUrl`](/docs/ru/settings-reference#attribution-sessionurl) на `false`.

362 362 

363Чтобы включить ссылку сеанса в что-то другое, чем коммит или PR, такое как сообщение Slack, которое публикует Claude, или файл отчёта, который он пишет, попросите Claude запустить следующую команду и использовать её вывод. Команда преобразует префикс `cse_` в значении переменной окружения в префикс `session_`, который ожидает URL стенограммы:363Чтобы включить ссылку сеанса в что-то другое, чем коммит или PR, такое как сообщение Slack, которое публикует Claude, или файл отчёта, который он пишет, попросите Claude запустить следующую команду и использовать её вывод. Команда преобразует префикс `cse_` в значении переменной окружения в префикс `session_`, который ожидает URL стенограммы:

364 364 


524 524 

525Hooks SessionStart ведут себя одинаково в облаке и локально, с этими оговорками:525Hooks SessionStart ведут себя одинаково в облаке и локально, с этими оговорками:

526 526 

527* **Нет облачного ограничения**: hooks запускаются в локальных и облачных сеансах. Чтобы пропустить локальное выполнение, проверьте переменную окружения `CLAUDE_CODE_REMOTE`, как показано выше.527* **Один репозиторий на сеанс**: сеанс с несколькими репозиториями не загружает hooks из `.claude/settings.json` любого репозитория, поэтому hook SessionStart, который вы определяете там, не запускается. Установите зависимости для этих сеансов с помощью [скрипта установки](#setup-scripts) вместо этого.

528* **Нет облачного ограничения**: hooks запускаются в локальных и облачных сеансах. Чтобы пропустить локальное выполнение, выйдите рано, если переменная окружения `CLAUDE_CODE_REMOTE` не `true`, как показано в [скрипте установки зависимостей](#install-dependencies-with-a-sessionstart-hook).

528* **Требует сетевого доступа**: команды установки должны достичь реестров пакетов. Если ваша среда использует **None** сетевой доступ, эти hooks не удаются. [Список разрешений по умолчанию](#default-allowed-domains) под **Trusted** охватывает npm, PyPI, RubyGems и crates.io.529* **Требует сетевого доступа**: команды установки должны достичь реестров пакетов. Если ваша среда использует **None** сетевой доступ, эти hooks не удаются. [Список разрешений по умолчанию](#default-allowed-domains) под **Trusted** охватывает npm, PyPI, RubyGems и crates.io.

529* **Совместимость с прокси**: в среде, размещённой Anthropic, весь исходящий трафик проходит через [прокси безопасности](#security-proxy), и некоторые менеджеры пакетов не работают правильно с этим прокси; Bun — известный пример. В [самостоятельно размещённой среде](/docs/ru/self-hosted-environments-deploy#default-deny-egress) исходящий трафик проходит через вашу собственную границу сети вместо этого.530* **Совместимость с прокси**: в среде, размещённой Anthropic, весь исходящий трафик проходит через [прокси безопасности](#security-proxy), и некоторые менеджеры пакетов не работают правильно с этим прокси; Bun — известный пример. В [самостоятельно размещённой среде](/docs/ru/self-hosted-environments-deploy#default-deny-egress) исходящий трафик проходит через вашу собственную границу сети вместо этого.

530* **Добавляет задержку запуска**: hooks запускаются каждый раз, когда сеанс запускается или возобновляется, в отличие от скриптов установки, которые выигрывают от [кэширования среды](#environment-caching). Держите скрипты установки быстрыми, проверяя, присутствуют ли зависимости, перед переустановкой.531* **Добавляет задержку запуска**: hooks запускаются каждый раз, когда сеанс запускается или возобновляется, в отличие от скриптов установки, которые выигрывают от [кэширования среды](#environment-caching). Держите скрипты установки быстрыми, проверяя, присутствуют ли зависимости, перед переустановкой.


793 Связанные ресурсы794 Связанные ресурсы

794</h2>795</h2>

795 796 

796* [Claude Code на веб-версии](/docs/ru/claude-code-on-the-web): запуск, управление и совместное использование облачных сеансов797* [Cloud sessions reference](/docs/ru/claude-code-on-the-web): запуск, управление и совместное использование облачных сеансов

797* [Веб-быстрый старт](/docs/ru/web-quickstart): подключение GitHub и запуск вашего первого облачного сеанса798* [Cloud sessions quickstart](/docs/ru/web-quickstart): подключение GitHub и запуск вашего первого облачного сеанса

798* [Claude Tag](https://claude.com/docs/claude-tag/overview): сеансы, которые Claude запускает из Slack, работают в одних и тех же средах799* [Claude Tag](https://claude.com/docs/claude-tag/overview): сеансы, которые Claude запускает из Slack, работают в одних и тех же средах

799* [Процедуры](/docs/ru/routines): запланированные запуски используют одни и те же среды и уровни доступа в сеть800* [Routines](/docs/ru/routines): запланированные запуски используют одни и те же среды и уровни доступа в сеть

800* [Remote Control](/docs/ru/remote-control): запуск сеансов на сети и файлах вашей собственной машины вместо этого801* [Remote Control](/docs/ru/remote-control): запуск сеансов на сети и файлах вашей собственной машины вместо этого

801* [Самостоятельно размещённые среды](/docs/ru/self-hosted-environments): запуск облачных сеансов на инфраструктуре вашей организации802* [Self-hosted environments](/docs/ru/self-hosted-environments): запуск облачных сеансов на инфраструктуре вашей организации

802* [Hooks SessionStart](/docs/ru/hooks#sessionstart): зафиксированная в репозитории установка, которая работает в локальных и облачных сеансах803* [SessionStart hooks](/docs/ru/hooks#sessionstart): зафиксированная в репозитории установка, которая работает в локальных и облачных сеансах

803* [Параметры, управляемые сервером](/docs/ru/server-managed-settings): политика организации, которая достигает облачных сеансов804* [Server-managed settings](/docs/ru/server-managed-settings): политика организации, которая достигает облачных сеансов

code-review.md +196 −79

Details

7> Настройте автоматизированные проверки PR, которые выявляют логические ошибки, уязвимости безопасности и регрессии с помощью многоагентного анализа всей вашей кодовой базы7> Настройте автоматизированные проверки PR, которые выявляют логические ошибки, уязвимости безопасности и регрессии с помощью многоагентного анализа всей вашей кодовой базы

8 8 

9<Note>9<Note>

10 Code Review находится в исследовательском предпросмотре и доступен для подписок [Team и Enterprise](https://claude.ai/admin-settings/claude-code). Он недоступен для организаций с включённым [Zero Data Retention](/docs/ru/zero-data-retention).10 Code Review находится в исследовательском предпросмотре и доступен для подписок [Team и Enterprise](https://claude.ai/admin-settings/claude-code). Он недоступен для организаций с включённым [Zero Data Retention](/docs/ru/zero-data-retention). На других планах вы всё ещё можете [проверить diff локально](#review-a-diff-locally) с помощью команды `/code-review`.

11</Note>11</Note>

12 12 

13Code Review анализирует ваши pull-запросы GitHub и публикует результаты в виде встроенных комментариев на строках кода, где были обнаружены проблемы. Группа специализированных агентов изучает изменения кода в контексте всей вашей кодовой базы, ища логические ошибки, уязвимости безопасности, нарушенные граничные случаи и тонкие регрессии.13Code Review анализирует ваши pull-запросы GitHub и публикует результаты в виде встроенных комментариев на строках кода, где были обнаружены проблемы. Группа специализированных агентов изучает изменения кода в контексте всей вашей кодовой базы, ища логические ошибки, уязвимости безопасности, нарушенные граничные случаи и тонкие регрессии.


20 20 

21* [Как работают проверки](#how-reviews-work)21* [Как работают проверки](#how-reviews-work)

22* [Настройка](#set-up-code-review)22* [Настройка](#set-up-code-review)

23* [Ручной запуск проверок](#manually-trigger-reviews) с помощью `@claude review` и `@claude review once`23* [Ручной запуск проверок](#manually-trigger-reviews) с помощью `@claude review` и `@claude review always`

24* [Настройка проверок](#customize-reviews) с помощью `CLAUDE.md` и `REVIEW.md`24* [Настройка проверок](#customize-reviews) с помощью `CLAUDE.md` и `REVIEW.md`

25* [Цены](#pricing)25* [Цены](#pricing)

26* [Устранение неполадок](#troubleshooting) при сбое запусков и отсутствии комментариев26* [Устранение неполадок](#troubleshooting) при сбое запусков и отсутствии комментариев

27* [Проверка diff локально](#review-a-diff-locally) с помощью команды `/code-review`27* [Проверка diff локально](#review-a-diff-locally) с помощью команды `/code-review`

28 28 

29<Note>

30 Чтобы проверить diff локально в вашем терминале без установки GitHub App, запустите команду `/code-review` в любом сеансе Claude Code. См. [Проверка diff локально](#review-a-diff-locally).

31</Note>

32 

33<h2 id="how-reviews-work">29<h2 id="how-reviews-work">

34 Как работают проверки30 Как работают проверки

35</h2>31</h2>


60 56 

61Каждый комментарий проверки от Claude поступает с уже прикреплёнными 👍 и 👎, поэтому обе кнопки появляются в пользовательском интерфейсе GitHub для одноклассного рейтинга. Нажмите 👍, если результат был полезен, или 👎, если он был неправильным или шумным. Anthropic собирает количество реакций после слияния PR и использует их для настройки рецензента. Реакции не запускают повторную проверку и не изменяют ничего на PR.57Каждый комментарий проверки от Claude поступает с уже прикреплёнными 👍 и 👎, поэтому обе кнопки появляются в пользовательском интерфейсе GitHub для одноклассного рейтинга. Нажмите 👍, если результат был полезен, или 👎, если он был неправильным или шумным. Anthropic собирает количество реакций после слияния PR и использует их для настройки рецензента. Реакции не запускают повторную проверку и не изменяют ничего на PR.

62 58 

63Ответ на встроенный комментарий не побуждает Claude ответить или обновить PR. Чтобы действовать на основе результата, исправьте код и выполните push. Если PR подписан на проверки, запускаемые при push, следующий запуск разрешает поток при исправлении проблемы. Чтобы запросить свежую проверку без push, прокомментируйте `@claude review once` как [комментарий верхнего уровня PR](#manually-trigger-reviews).59Ответ на встроенный комментарий не побуждает Claude ответить или обновить PR. Чтобы действовать на основе результата, исправьте код и выполните push. Если PR подписан на проверки, запускаемые при push, следующий запуск разрешает поток при исправлении проблемы. Чтобы запросить свежую проверку без push, прокомментируйте `@claude review` как [комментарий верхнего уровня PR](#manually-trigger-reviews).

60 

61Чтобы отклонить результат без изменения кода, разрешите его поток; ответ не отклонит его.

64 62 

65<h3 id="check-run-output">63<h3 id="check-run-output">

66 Вывод проверки64 Вывод проверки


75 73 

76Каждый результат также появляется как аннотация на вкладке **Files changed**, отмеченный непосредственно на соответствующих строках diff. Важные результаты отображаются с красным маркером, nits с жёлтым предупреждением, а уже существующие ошибки с серым уведомлением. Аннотации и таблица серьёзности записываются в проверку независимо от встроенных комментариев проверки, поэтому они остаются доступными, даже если GitHub отклонит встроенный комментарий на строке, которая переместилась.74Каждый результат также появляется как аннотация на вкладке **Files changed**, отмеченный непосредственно на соответствующих строках diff. Важные результаты отображаются с красным маркером, nits с жёлтым предупреждением, а уже существующие ошибки с серым уведомлением. Аннотации и таблица серьёзности записываются в проверку независимо от встроенных комментариев проверки, поэтому они остаются доступными, даже если GitHub отклонит встроенный комментарий на строке, которая переместилась.

77 75 

78Проверка всегда завершается с нейтральным выводом, поэтому она никогда не блокирует слияние через правила защиты ветки. Если вы хотите заблокировать слияния на основе результатов Code Review, прочитайте разбор серьёзности из вывода проверки в вашем собственном CI. Последняя строка текста Details — это машиночитаемый комментарий, который ваш рабочий процесс может разобрать с помощью `gh` и jq:76Проверка всегда завершается с нейтральным выводом, поэтому она никогда не блокирует слияние через правила защиты ветки. Если вы хотите заблокировать слияния на основе результатов Code Review, прочитайте разбор серьёзности из вывода проверки в вашем собственном CI. Последняя строка текста Details — это машиночитаемый комментарий, который ваш рабочий процесс может разобрать с помощью `gh` и jq. Чтобы найти ID проверки, выведите список проверок коммита с помощью `gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'` и возьмите `id` запуска `Claude Code Review`. Замените `OWNER`, `REPO` и `CHECK_RUN_ID` на владельца вашего репозитория, имя репозитория и этот ID:

79 77 

80```bash theme={null}78```bash theme={null}

81gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \79gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \


106 </Step>104 </Step>

107 105 

108 <Step title="Установите Claude GitHub App">106 <Step title="Установите Claude GitHub App">

109 Следуйте подсказкам для установки Claude GitHub App в вашу организацию GitHub. Приложение запрашивает эти разрешения репозитория:107 Следуйте подсказкам для установки Claude GitHub App: выберите организацию GitHub, которая владеет репозиториями, которые вы хотите проверить, выберите, к каким репозиториям приложение может получить доступ, и одобрите запрашиваемые разрешения.

110 

111 * **Contents**: чтение и запись

112 * **Issues**: чтение и запись

113 * **Pull requests**: чтение и запись

114 108 

115 Code Review использует доступ на чтение содержимого и доступ на запись к pull-запросам. Более широкий набор разрешений также поддерживает [GitHub Actions](/docs/ru/github-actions), если вы включите это позже.109 Для проверки pull-запроса Claude читает содержимое вашего репозитория через доступ на чтение приложения и публикует комментарии и [check run](#check-run-output) через его доступ на запись к pull-запросам и проверкам. Во время установки вы предоставляете более широкий набор разрешений, используемый другими функциями Claude, такими как [GitHub Actions](/docs/ru/github-actions); см. [GitHub App permissions](/docs/ru/github-actions#github-app-permissions) для полного списка.

116 </Step>110 </Step>

117 111 

118 <Step title="Выберите репозитории">112 <Step title="Выберите репозитории">


124 118 

125 * **Once after PR creation**: проверка запускается один раз при открытии PR или отметке готовности к проверке119 * **Once after PR creation**: проверка запускается один раз при открытии PR или отметке готовности к проверке

126 * **After every push**: проверка запускается при каждом push в ветку PR, выявляя новые проблемы по мере развития PR и автоматически разрешая потоки при исправлении помеченных проблем120 * **After every push**: проверка запускается при каждом push в ветку PR, выявляя новые проблемы по мере развития PR и автоматически разрешая потоки при исправлении помеченных проблем

127 * **Manual**: проверки запускаются только когда кто-то [комментирует `@claude review` или `@claude review once` на PR](#manually-trigger-reviews); `@claude review` также подписывает PR на проверки при последующих push121 * **Manual**: открытие или push в PR не запускает проверку; прокомментируйте [`@claude review`](#manually-trigger-reviews), чтобы запросить проверку, или `@claude review always`, чтобы также подписать PR на проверки при последующих push

122 

123 Независимо от выбранного варианта, Claude проверяет [pull-запрос из форка](#review-pull-requests-from-forks) только когда кто-то прокомментирует `@claude review` на нем.

128 124 

129 Проверка при каждом push запускает наибольшее количество проверок и стоит дороже всего. Ручной режим полезен для репозиториев с высокой активностью, где вы хотите выбрать конкретные PR для проверки, или чтобы начать проверку ваших PR только после того, как они будут готовы.125 Проверка при каждом push запускает наибольшее количество проверок и стоит дороже всего. Ручной режим полезен для репозиториев с высокой активностью, где вы хотите выбрать конкретные PR для проверки, или чтобы начать проверку ваших PR только после того, как они будут готовы.

130 </Step>126 </Step>


138 Ручной запуск проверок134 Ручной запуск проверок

139</h2>135</h2>

140 136 

141Две команды комментариев запускают проверку по требованию. Обе работают независимо от настроенного триггера репозитория, поэтому вы можете использовать их, чтобы выбрать конкретные PR для проверки в ручном режиме или получить немедленную повторную проверку в других режимах.137Команды комментариев запускают проверку по требованию. Они работают независимо от настроенного триггера репозитория, поэтому вы можете использовать их, чтобы выбрать конкретные PR для проверки в ручном режиме или получить немедленную повторную проверку в других режимах.

142 138 

143| Команда | Что она делает |139| Команда | Что она делает |

144| :-------------------- | :---------------------------------------------------------------------------------- |140| :---------------------- | :---------------------------------------------------------------------------------- |

145| `@claude review` | Запускает проверку и подписывает PR на проверки, запускаемые при push, в дальнейшем |141| `@claude review` | Запускает одну проверку без подписки PR на будущие push |

146| `@claude review once` | Запускает одну проверку без подписки PR на будущие push |142| `@claude review always` | Запускает проверку и подписывает PR на проверки, запускаемые при push, в дальнейшем |

143| `@claude review once` | То же самое, что `@claude review`: запускает одну проверку без подписки |

144 

145Используйте `@claude review always`, когда вы хотите, чтобы каждый последующий push на PR запускал свежую проверку, например, на высокоприоритетном PR в репозитории, установленном в ручной режим. Поскольку простая команда не подписывает PR, вы можете запросить одноразовое второе мнение без изменения того, запускают ли последующие push проверки.

147 146 

148Используйте `@claude review once`, когда вы хотите получить отзыв о текущем состоянии PR, но не хотите, чтобы каждый последующий push вызывал проверку. Это полезно для долгоживущих PR с частыми push или когда вы хотите получить одноразовое второе мнение без изменения поведения проверки PR.147<Note>

148 До обновления в июле 2026 года `@claude review` подписывал PR на проверки, запускаемые при push. Если вы полагались на такое поведение, используйте вместо этого `@claude review always`. `@claude review once` по-прежнему работает и ведёт себя так же, как простая команда.

149</Note>

149 150 

150Для запуска проверки любой командой:151Для запуска проверки любой из этих команд:

151 152 

152* Опубликуйте её как комментарий верхнего уровня PR, а не встроенный комментарий на строке diff153* Опубликуйте её как комментарий верхнего уровня PR, а не встроенный комментарий на строке diff

153* Поместите команду в начало комментария, с `once` на той же строке, если вы используете одноразовую форму154* Поместите команду в начало комментария, с `once` или `always` на той же строке, что и остальная часть команды

154* У вас должен быть доступ владельца, члена или сотрудника к репозиторию155* У вас должен быть доступ на запись, обслуживание или администратор к репозиторию

155* PR должен быть открыт156* PR должен быть открыт

156 157 

158Если репозиторий принадлежит организации и ваше членство в этой организации является приватным, что является стандартным поведением GitHub, GitHub не идентифицирует вас для Claude как члена. Claude может по-прежнему реагировать на ваш комментарий с 👀, но не запускает проверку, если вы не были добавлены в репозиторий напрямую как сотрудник, даже если команда или базовые разрешения организации дают вам доступ на запись. Чтобы исправить это, [сделайте ваше членство в организации публичным](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership) или попросите администратора репозитория добавить вас в репозиторий как сотрудника.

159 

157В отличие от автоматических триггеров, ручные триггеры запускаются на черновиках PR, так как явный запрос сигнализирует, что вы хотите проверку сейчас независимо от статуса черновика.160В отличие от автоматических триггеров, ручные триггеры запускаются на черновиках PR, так как явный запрос сигнализирует, что вы хотите проверку сейчас независимо от статуса черновика.

158 161 

159Если проверка уже запущена на этом PR, запрос ставится в очередь до завершения текущей проверки. Вы можете отслеживать прогресс через проверку на PR.162Если проверка уже запущена на этом PR, запрос ставится в очередь до завершения текущей проверки. Вы можете отслеживать прогресс через проверку на PR.

160 163 

164<h3 id="review-pull-requests-from-forks">

165 Проверка pull request из форков

166</h3>

167 

168Claude не проверяет pull request из форка автоматически, независимо от настройки **Review Behavior** репозитория. Чтобы запустить его, прокомментируйте `@claude review` на pull request. [Требования для команд комментариев](#manually-trigger-reviews) по-прежнему применяются, и доступ на запись, который вам нужен, — это доступ к базовому репозиторию, а не к форку.

169 

170Чтобы получить ещё одну проверку pull request из форка, опубликуйте новый комментарий `@claude review`. `@claude review always` также работает, но не подписывает pull request на проверки при последующих push. Ничто, кроме команды комментария, не запускает проверку на pull request из форка:

171 

172* Нажатие **Re-run** на проверке не запускает проверку

173* Push новых коммитов не запускает проверку, даже в репозитории, установленном на **After every push**

174 

161<h2 id="customize-reviews">175<h2 id="customize-reviews">

162 Настройка проверок176 Настройка рецензирования

163</h2>177</h2>

164 178 

165Code Review читает два файла из вашего репозитория, чтобы направить то, что он помечает. Они отличаются тем, насколько сильно они влияют на проверку:179Code Review читает два файла из вашего репозитория, чтобы направлять то, что он отмечает. Они различаются по тому, насколько сильно они влияют на рецензирование:

166 180 

167* **`CLAUDE.md`**: общие инструкции проекта, которые Claude Code использует для всех задач, а не только для проверок. Code Review читает его как контекст проекта и помечает вновь введённые нарушения как nits.181* **`CLAUDE.md`**: общие инструкции проекта, которые Claude Code использует для всех задач, а не только для рецензирования. Code Review читает его как контекст проекта и отмечает вновь введённые нарушения как замечания.

168* **`REVIEW.md`**: инструкции только для проверок, внедряемые непосредственно в каждого агента в конвейере проверки как наивысший приоритет. Используйте его, чтобы изменить то, что помечается, с какой серьёзностью и как сообщаются результаты.182* **`REVIEW.md`**: инструкции только для рецензирования, передаваемые агентам, которые находят и проверяют результаты, и консультируемые агентами, которые ранжируют и сообщают о них. Используйте его, чтобы указать, что ваша команда хочет отметить, с какой серьёзностью и как сообщаются результаты.

169 183 

170<h3 id="claude-md">184<h3 id="claude-md">

171 CLAUDE.md185 CLAUDE.md

172</h3>186</h3>

173 187 

174Code Review читает файлы `CLAUDE.md` вашего репозитория и рассматривает вновь введённые нарушения как результаты [уровня nit](#severity-levels). Это работает двусторонне: если ваш PR изменяет код таким образом, что делает утверждение `CLAUDE.md` устаревшим, Claude помечает, что документы нужно обновить.188Code Review читает файлы `CLAUDE.md` вашего репозитория и рассматривает вновь введённые нарушения как результаты [уровня замечания](#severity-levels). Это работает двусторонне: если ваш PR изменяет код таким образом, что утверждение в `CLAUDE.md` становится устаревшим, Claude отмечает, что документация также нуждается в обновлении.

175 189 

176Claude читает файлы `CLAUDE.md` на каждом уровне иерархии вашего каталога, поэтому правила в `CLAUDE.md` подкаталога применяются только к файлам под этим путём. Дополнительную информацию о том, как работает `CLAUDE.md`, см. в [документации памяти](/docs/ru/memory).190Claude читает файлы `CLAUDE.md` на каждом уровне иерархии вашего каталога, поэтому правила в `CLAUDE.md` подкаталога применяются только к файлам под этим путём. Дополнительную информацию о том, как работает `CLAUDE.md`, см. в [документации по памяти](/docs/ru/memory).

177 191 

178Для руководства, специфичного для проверок, которое вы не хотите применять к общим сеансам Claude Code, используйте [`REVIEW.md`](#review-md) вместо этого.192Для рецензирования, специфичного для рецензирования, которое вы не хотите применять к общим сеансам Claude Code, используйте вместо этого [`REVIEW.md`](#review-md).

179 193 

180<h3 id="review-md">194<h3 id="review-md">

181 REVIEW\.md195 REVIEW\.md

182</h3>196</h3>

183 197 

184`REVIEW.md` — это файл в корне вашего репозитория, который переопределяет поведение Code Review в вашем репо. Его содержимое внедряется в системный запрос каждого агента в конвейере проверки как блок инструкций с наивысшим приоритетом, имеющий приоритет над руководством проверки по умолчанию.198`REVIEW.md` — это файл в корне вашего репозитория, который адаптирует Code Review к вашему репо. Агенты в конвейере рецензирования, которые находят и проверяют результаты, получают его содержимое как инструкции рецензирования вашего репозитория, наряду с рекомендациями по рецензированию Code Review по умолчанию, и агенты, которые ранжируют и сообщают о результатах, консультируются с ним перед определением серьёзности и написанием рецензирования.

185 199 

186Поскольку он вставляется дословно, `REVIEW.md` — это простые инструкции: синтаксис [`@` import](/docs/ru/memory#import-additional-files) не расширяется, и на файлы не читаются в подсказку. Поместите правила, которые вы хотите применить, непосредственно в файл.200Поместите правила, которые вы хотите применять, непосредственно в `REVIEW.md`.

187 201 

188<h4 id="what-you-can-tune">202<h4 id="what-you-can-tune">

189 Что вы можете настроить203 Что вы можете настроить

190</h4>204</h4>

191 205 

192`REVIEW.md` — это свободный markdown, поэтому всё, что вы можете выразить как инструкцию проверки, находится в области действия. Приведённые ниже шаблоны имеют наибольшее влияние на практике.206`REVIEW.md` — это свободный markdown, поэтому всё, что вы можете выразить как инструкцию рецензирования, находится в области действия. Приведённые ниже шаблоны оказывают наибольшее влияние на практике.

193 207 

194**Серьёзность**: переопределите, что означает 🔴 Important для вашего репо. Калибровка по умолчанию нацелена на production код; репо документации, репо конфигурации или прототип могут захотеть гораздо более узкое определение. Явно укажите, какие классы результатов являются Important, а какие — Nit максимум. Вы также можете повысить в другом направлении, например рассматривая любое нарушение `CLAUDE.md` как Important, а не как nit по умолчанию.208**Серьёзность**: переопределите, что означает 🔴 Important для вашего репо. Калибровка по умолчанию ориентирована на производственный код; репозиторий документации, репозиторий конфигурации или прототип могут захотеть гораздо более узкое определение. Явно укажите, какие классы результатов являются Important, а какие — максимум Nit. Вы также можете повысить уровень в другом направлении, например, рассматривая любое нарушение `CLAUDE.md` как Important, а не как замечание по умолчанию.

195 209 

196**Объём Nit**: ограничьте, сколько комментариев 🟡 Nit одна проверка публикует. Проза и файлы конфигурации можно полировать вечно. Ограничение вроде «сообщайте максимум пять nits, упомяните остальное как подсчёт в резюме» делает проверки действенными.210**Объём замечаний**: ограничьте количество комментариев 🟡 Nit, которые одно рецензирование публикует. Текст и файлы конфигурации можно полировать бесконечно. Ограничение типа «сообщайте максимум пять замечаний, упомяните остальные как количество в сводке» делает рецензирование действенным.

197 211 

198**Правила пропуска**: перечислите пути, шаблоны ветвей и категории результатов, где Claude не должен публиковать результаты. Обычные кандидаты — это сгенерированный код, файлы блокировки, поставляемые зависимости и ветви, созданные машиной, наряду с чем-либо, что ваш CI уже применяет, например линтинг или проверка орфографии. Для путей, которые требуют некоторой проверки, но не полного контроля, установите более высокую планку вместо полного пропуска: «в `scripts/`, сообщайте только если почти уверены и серьёзно».212**Правила пропуска**: перечислите пути, шаблоны ветвей и категории результатов, где Claude не должен публиковать результаты. Обычные кандидаты — это сгенерированный код, файлы блокировки, поставляемые зависимости и ветви, созданные машиной, наряду со всем, что ваш CI уже применяет, например линтинг или проверка орфографии. Для путей, которые требуют некоторого рецензирования, но не полной проверки, установите более высокую планку вместо полного пропуска: «в `scripts/` сообщайте только если почти уверены и серьёзно».

199 213 

200**Проверки, специфичные для репо**: добавьте правила, которые вы хотите помечать на каждом PR, например «новые маршруты API должны иметь интеграционный тест». Поскольку `REVIEW.md` внедряется как наивысший приоритет, эти правила приземляются более надёжно, чем те же правила в длинном `CLAUDE.md`.214**Проверки, специфичные для репо**: добавьте правила, которые вы хотите отметить в каждом PR, например «новые маршруты API должны иметь интеграционный тест». Поскольку `REVIEW.md` достигает каждого агента поиска и проверки результатов напрямую, эти правила применяются более надёжно, чем те же правила в длинном `CLAUDE.md`.

201 215 

202**Планка проверки**: требуйте доказательства перед публикацией класса результатов. Например, «утверждения о поведении нуждаются в цитировании `file:line` в исходном коде, а не в выводе из именования» сокращает ложные срабатывания, которые в противном случае стоили бы автору круговорота.216**Планка проверки**: требуйте доказательства перед публикацией класса результатов. Например, «утверждения о поведении нуждаются в цитировании `file:line` в исходном коде, а не в выводе из именования» снижает ложные срабатывания, которые в противном случае обошлись бы автору в дополнительный раунд.

203 217 

204**Сходимость повторной проверки**: скажите Claude, как вести себя, когда PR уже был проверен. Правило вроде «после первой проверки подавляйте новые nits и публикуйте только результаты Important» останавливает однострочное исправление от достижения седьмого раунда только по стилю.218**Сходимость повторного рецензирования**: скажите Claude, как себя вести, когда PR уже был рецензирован. Правило типа «после первого рецензирования подавляйте новые замечания и публикуйте только результаты Important» предотвращает то, что однострочное исправление достигает седьмого раунда только из-за стиля.

205 219 

206**Форма резюме**: попросите тело проверки открыться с однострочным подсчётом, например `2 factual, 4 style`, и начать с «no factual issues», когда это так. Автор хочет знать форму работы перед деталями.220**Форма сводки**: попросите, чтобы тело рецензирования начиналось с однострочного подсчёта, например `2 factual, 4 style`, и начиналось с «no factual issues», когда это имеет место. Автор хочет знать форму работы перед деталями.

207 221 

208<h4 id="example">222<h4 id="example">

209 Пример223 Пример

210</h4>224</h4>

211 225 

212Этот `REVIEW.md` пересчитывает серьёзность для backend сервиса, ограничивает nits, пропускает сгенерированные файлы и добавляет проверки, специфичные для репо.226Этот `REVIEW.md` пересчитывает серьёзность для бэкенд-сервиса, ограничивает замечания, пропускает сгенерированные файлы и добавляет проверки, специфичные для репо.

213 227 

214```markdown theme={null}228```markdown theme={null}

215# Инструкции проверки229# Review instructions

216 230 

217## Что Important означает здесь231## What Important means here

218 232 

219Зарезервируйте Important для результатов, которые нарушат поведение, утекут данные233Reserve Important for findings that would break behavior, leak data,

220или заблокируют откат: неправильная логика, неограниченные запросы к базе данных, PII234or block a rollback: incorrect logic, unscoped database queries, PII

221в логах или сообщениях об ошибках, и миграции, которые не являются обратно235in logs or error messages, and migrations that aren't backward

222совместимыми. Стиль, именование и предложения по рефакторингу — это Nit максимум.236compatible. Style, naming, and refactoring suggestions are Nit at

237most.

223 238 

224## Ограничьте nits239## Cap the nits

225 240 

226Сообщайте максимум пять Nits за проверку. Если вы нашли больше, скажите «плюс N241Report at most five Nits per review. If you found more, say "plus N

227похожих элементов» в резюме вместо публикации их встроенно. Если всё, что вы нашли,242similar items" in the summary instead of posting them inline. If

228это Nit, начните резюме с «No blocking issues».243everything you found is a Nit, lead the summary with "No blocking

244issues."

229 245 

230## Не сообщайте246## Do not report

231 247 

232- Ничего, что CI уже применяет: lint, форматирование, ошибки типов248- Anything CI already enforces: lint, formatting, type errors

233- Сгенерированные файлы под `src/gen/` и любой файл `*.lock`249- Generated files under `src/gen/` and any `*.lock` file

234- Код только для тестов, который намеренно нарушает production правила250- Test-only code that intentionally violates production rules

235 251 

236## Всегда проверяйте252## Always check

237 253 

238- Новые маршруты API имеют интеграционный тест254- New API routes have an integration test

239- Строки логов не включают адреса электронной почты, ID пользователей или тела запросов255- Log lines don't include email addresses, user IDs, or request bodies

240- Запросы к базе данных ограничены вызывающим абонентом256- Database queries are scoped to the caller's tenant

241```257```

242 258 

243<h4 id="keep-it-focused">259<h4 id="keep-it-focused">

244 Держите это сосредоточенным260 Держите это сосредоточенным

245</h4>261</h4>

246 262 

247Длина имеет стоимость: длинный `REVIEW.md` разбавляет правила, которые имеют наибольшее значение. Держите его на инструкциях, которые изменяют поведение проверки, и оставляйте общий контекст проекта в `CLAUDE.md`.263Длина имеет цену: длинный `REVIEW.md` разбавляет правила, которые имеют наибольшее значение. Ограничьте его инструкциями, которые изменяют поведение рецензирования, и оставьте общий контекст проекта в `CLAUDE.md`.

248 264 

249<h2 id="view-usage">265<h2 id="view-usage">

250 Просмотр использования266 Просмотр использования


259| Feedback | Количество комментариев проверки, которые были автоматически разрешены, потому что разработчик решил проблему |275| Feedback | Количество комментариев проверки, которые были автоматически разрешены, потому что разработчик решил проблему |

260| Repository breakdown | Количество проверенных PR и разрешённых комментариев для каждого репо |276| Repository breakdown | Количество проверенных PR и разрешённых комментариев для каждого репо |

261 277 

262Таблица репозиториев в параметрах администратора также показывает среднюю стоимость проверки для каждого репо. Цифры стоимости панели — это оценки для мониторинга активности; для точной по счёту траты обратитесь к вашему счёту Anthropic.278Цифры стоимости панели — это оценки для мониторинга активности. Для точной по счёту траты обратитесь к вашему счёту Anthropic.

263 279 

264<h2 id="pricing">280<h2 id="pricing">

265 Цены281 Ценообразование

266</h2>282</h2>

267 283 

268Code Review выставляется счёт на основе использования токенов. Каждая проверка в среднем стоит \$15-25, масштабируясь в зависимости от размера PR, сложности кодовой базы и количества проблем, требующих проверки. Использование Code Review выставляется отдельно через [дополнительное использование](https://support.claude.com/ru/articles/12429409-extra-usage-for-paid-claude-plans) и не учитывается в использовании, включённом в ваш план.284Code Review выставляется счет на основе использования токенов. Каждый обзор в среднем стоит \$15-25, масштабируясь в зависимости от размера PR, сложности кодовой базы и количества проблем, требующих проверки. Использование Code Review выставляется счет отдельно через [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) и не учитывается в рамках включенного использования вашего плана.

269 285 

270Выбранный вами триггер проверки влияет на общую стоимость:286Выбранный вами триггер обзора влияет на общую стоимость:

271 287 

272* **Once after PR creation**: запускается один раз для каждого PR288* **После создания PR**: запускается один раз за PR

273* **After every push**: запускается при каждом push, умножая стоимость на количество push289* **После каждого push**: запускается при каждом push, умножая стоимость на количество push'ей

274* **Manual**: нет проверок до тех пор, пока кто-то не прокомментирует `@claude review` на PR290* **Вручную**: нет обзоров при открытии или push, поэтому стоимость начисляется только за обзоры, которые кто-то запрашивает

275 291 

276В любом режиме комментарий `@claude review` [выбирает PR для проверок, запускаемых при push](#manually-trigger-reviews), поэтому дополнительные затраты накапливаются при каждом push после этого комментария. Чтобы запустить одну проверку без подписки на будущие push, прокомментируйте `@claude review once` вместо этого.292В режиме "После создания PR" или "Вручную" комментарий `@claude review always` [переводит PR на обзоры, запускаемые при push](#manually-trigger-reviews), поэтому дополнительная стоимость начисляется за каждый push после этого комментария. В режиме "После каждого push" push'и уже запускают обзоры, поэтому подписка не изменяет стоимость за push. Комментарий `@claude review` запускает один обзор без подписки на будущие push'и. Claude проверяет [pull request из форка](#review-pull-requests-from-forks) только когда кто-то комментирует `@claude review`, поэтому pull request из форка никогда не начисляет стоимость за push в любом режиме.

277 293 

278Затраты появляются в вашем счёте Anthropic независимо от того, использует ли ваша организация Amazon Bedrock или Google Cloud's Agent Platform для других функций Claude Code. Чтобы установить ежемесячный лимит расходов для Code Review, перейдите на [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) и настройте лимит для сервиса Claude Code Review.294Затраты отображаются в вашем счете Anthropic независимо от того, использует ли ваша организация Amazon Bedrock или Google Cloud's Agent Platform для других функций Claude Code. Чтобы установить ежемесячный лимит расходов для Code Review, перейдите на [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) и настройте лимит для сервиса Claude Code Review.

279 295 

280Отслеживайте расходы через еженедельную диаграмму затрат в [аналитике](#view-usage) или столбец средней стоимости для каждого репо в параметрах администратора.296Отслеживайте расходы через еженедельную диаграмму затрат в [аналитике](#view-usage) или столбец средней стоимости за репозиторий в параметрах администратора.

281 297 

282<h2 id="troubleshooting">298<h2 id="troubleshooting">

283 Устранение неполадок299 Устранение неполадок


291 307 

292Когда инфраструктура проверки сталкивается с внутренней ошибкой или превышает лимит времени, проверка завершается с названием **Code review encountered an error** или **Code review timed out**. Вывод по-прежнему нейтральный, поэтому ничто не блокирует ваше слияние, но результаты не публикуются.308Когда инфраструктура проверки сталкивается с внутренней ошибкой или превышает лимит времени, проверка завершается с названием **Code review encountered an error** или **Code review timed out**. Вывод по-прежнему нейтральный, поэтому ничто не блокирует ваше слияние, но результаты не публикуются.

293 309 

294Чтобы запустить проверку снова, прокомментируйте `@claude review once` на PR. Это запускает свежую проверку без подписки PR на будущие push. Если PR уже подписан на проверки, запускаемые при push, push нового коммита также запускает новую проверку.310Чтобы запустить проверку снова, прокомментируйте `@claude review` на PR. Это запускает свежую проверку без подписки PR на будущие push. Если PR не [из форка](#review-pull-requests-from-forks), вы можете вместо этого нажать **Re-run** на проверке **Claude Code Review** на вкладке Checks в GitHub. Повторный запуск также запускает свежую проверку без подписки PR.

295 

296Кнопка **Re-run** на вкладке Checks в GitHub не повторно запускает Code Review. Используйте команду комментария или новый push вместо этого.

297 311 

298<h3 id="review-didn’t-run-and-the-pr-shows-a-spend-cap-message">312<h3 id="review-didn’t-run-and-the-pr-shows-a-spend-cap-message">

299 Проверка не запустилась и PR показывает сообщение о лимите расходов313 Проверка не запустилась и PR показывает сообщение о лимите расходов


315 Проверка diff локально329 Проверка diff локально

316</h2>330</h2>

317 331 

318Команда [`/code-review`](/docs/ru/commands) проверяет diff в вашем терминале без установки GitHub App. Запустите её в любом сеансе Claude Code: она сообщает об ошибках корректности и переиспользовании, упрощении и очистке эффективности. По умолчанию локальная проверка охватывает коммиты вашей ветки, опережающие её upstream, плюс любые незафиксированные изменения в рабочем дереве. Передайте `--comment` для публикации результатов в виде встроенных комментариев PR или `--fix` для применения результатов к вашему рабочему дереву после проверки.332Команда [`/code-review`](/docs/ru/commands) проверяет diff в вашем терминале без установки GitHub App. Она сообщает об ошибках корректности и переиспользовании, упрощении и очистке эффективности.

319 333 

320Более низкие [уровни усилий](/docs/ru/model-config#adjust-effort-level) возвращают меньше, более уверенные результаты, в то время как `high` через `max` дают более широкое покрытие и могут включать неуверенные результаты. Без аргумента усилия проверка использует текущее усилие сеанса. Для проверки чего-либо другого, чем стандартный diff, передайте цель: путь к файлу, номер PR, имя ветки или диапазон ссылок, такой как `main...my-feature`. Форма диапазона ссылок проверяет зафиксированный diff, который содержал бы pull request из `my-feature` в `main`, независимо от того, как настроен upstream ветки.334`/review` является псевдонимом `/code-review`; до версии v2.1.223 это была отдельная команда, которая выполняла однопроходную проверку только для чтения pull request GitHub.

321 335 

322`/code-review ultra --fix` запускает более глубокую [ultrareview](/docs/ru/ultrareview) в облаке, затем применяет её результаты к вашему рабочему дереву, когда они возвращаются в ваш сеанс. Ultrareview использует свою собственную область: вашу текущую ветку против ветки по умолчанию репозитория, плюс любые незафиксированные и поставленные на сцену изменения в рабочем дереве.336<Steps>

337 <Step title="Запустите /code-review">

338 Из сеанса, в котором вы работаете, выполните команду:

323 339 

324Команда называлась `/simplify` до версии v2.1.147, когда она применяла исправления по умолчанию. Начиная с версии v2.1.154, `/simplify` запускает отдельную проверку только для очистки, которая применяет исправления без поиска ошибок. Если вы использовали скрипт `/simplify` для поиска ошибок, переключитесь на `/code-review --fix`, который остался без изменений.340 ```text theme={null}

341 /code-review

342 ```

343 

344 Она проверяет коммиты вашей ветки, опережающие её upstream, плюс любые незафиксированные изменения, поэтому ей нужна работа на ветке или в рабочем дереве, чтобы было что сообщить. Для проверки чего-либо другого передайте цель: путь к файлу, номер PR, имя ветки или диапазон ссылок, такой как `main...my-feature`.

345 

346 Вы также можете добавить флаги:

347 

348 * `--fix`: применяет результаты к вашему рабочему дереву после проверки

349 * `--comment`: публикует результаты в pull request GitHub в виде встроенных комментариев или в merge request GitLab в виде одной заметки

350 * `--post`: при `ultra` облачной проверке pull request `github.com` предварительно выбирает публикацию завершённых результатов в PR в диалоговом окне запуска; см. [Публикация результатов в pull request](/docs/ru/ultrareview#post-findings-to-the-pull-request). Требуется Claude Code v2.1.227 или позже

351 

352 Когда вы передаёте `--comment` для merge request GitLab, Claude Code публикует результаты через CLI `glab` GitLab. Требуется Claude Code v2.1.257 или позже. Когда `glab` не установлен, Claude выводит результаты в терминал вместо этого.

353 

354 Передайте merge request как его URL или ссылку `!123`. Claude Code рассматривает простой номер или имя ветки как merge request только когда checkout's origin находится на `gitlab.com`. На самоуправляемом экземпляре GitLab передайте URL или форму `!123`.

355 </Step>

356 

357 <Step title="Продолжайте работать">

358 Проверка выполняется как фоновый [subagent](/docs/ru/sub-agents) с собственным окном контекста, поэтому она не заполняет вашу беседу. Результаты поступают в вашу беседу, когда проверка завершается.

359 </Step>

360 

361 <Step title="Действуйте на основе результатов">

362 Попросите Claude исправить то, что нашла проверка. Если вы передали `--fix` или `--comment`, проверка уже применила или опубликовала свои результаты.

363 </Step>

364</Steps>

365 

366Claude сообщает результаты в виде текста в ответе в обоих этих запусках, даже когда хост-приложение запрашивает список результатов:

367 

368* В сеансе терминала, где `/code-review` запускает проверку как [forked subagent](/docs/ru/skills#run-skills-in-a-subagent)

369* В запуске `-p` с текстовым или JSON выводом

370 

371В хост-приложении, которое запрашивает список результатов, таком как [desktop app](/docs/ru/desktop), Claude сообщает результаты проверки через инструмент [`ReportFindings`](/docs/ru/tools-reference). Claude Code отображает отчёт как список результатов, и каждая запись показывает расположение файла, однострочное резюме и тег категории, такой как `correctness`, когда результат его содержит. Запрос хоста применяется на каждом уровне усилий и требует Claude Code v2.1.218 или позже.

372 

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

374 

375<h3 id="what-the-review-reads-and-edits">

376 Что проверка читает и редактирует

377</h3>

378 

379Проверка следует вашему `CLAUDE.md` как любой сеанс Claude Code, но она не читает [`REVIEW.md`](#review-md). Фоновая проверка применяет свои правки `--fix` вне [checkpoints](/docs/ru/checkpointing#subagent-edits-not-restored) вашего сеанса, поэтому `/rewind` их не отменяет; используйте git для их отката. Когда проверка [выполняется на переднем плане](#run-in-the-foreground), она редактирует ваше рабочее дерево во время вашего собственного хода, поэтому `/rewind` восстанавливает её правки как обычно.

380 

381<h3 id="tune-effort-and-arguments">

382 Настройте усилие и аргументы

383</h3>

384 

385Передайте [уровень усилий](/docs/ru/model-config#adjust-effort-level) для компромисса между охватом и уверенностью. На `low` и `medium` проверка сообщает только о результатах, в которых она наиболее уверена, поэтому вы видите меньше ложных срабатываний; `high` через `max` расширяют охват и могут включать результаты, в которых проверка менее уверена.

386 

387Когда вы не вводите уровень, проверка повторно использует последний уровень от `low` до `max`, который вы вводили, даже в более раннем сеансе, и Claude Code показывает уведомление, такое как `Reusing high effort, the level you typed last time`. Введите уровень, например `/code-review high`, чтобы изменить то, что позже повторно используют; уровень, который вы передаёте в неинтерактивном запуске `-p`, его не обновляет. `ultra` ни обновляет, ни использует запомненный уровень. Если вы никогда не вводили уровень, проверка использует текущее усилие сеанса. До версии v2.1.223 `/code-review` без уровня всегда использовал текущее усилие сеанса.

388 

389После уровня усилий и флагов Claude Code читает остаток строки одним из двух способов:

390 

391* **Без `ultra`**: всё оставшееся является целью проверки, даже когда оно начинается с другого имени команды. `/code-review /fix-issue 123` проверяет с `/fix-issue 123` как текст цели вместо загрузки `/fix-issue` как второго [stacked skill](/docs/ru/skills#pass-arguments-to-skills). До версии v2.1.218 команда, сложенная после `/code-review`, расширялась как собственный skill.

392* **С `ultra`**: Claude Code читает одно слово как базовую ветку или номер PR и превращает более длинный текст, который не называет ветку или PR, в [заметку, прикреплённую к проверке](/docs/ru/ultrareview#pass-a-request-in-plain-words). `/code-review ultra check my auth changes` проверяет вашу текущую ветку, и Claude связывает результаты с вашей заметкой.

393 

394<h3 id="run-in-the-foreground">

395 Запустите на переднем плане

396</h3>

397 

398Проверка выполняется в фоне по умолчанию; до версии v2.1.218 она выполнялась внутри вашей беседы. Она выполняется на переднем плане вместо этого в случаях, подобных этим:

399 

400* Вы запускаете `/code-review` снова, пока более ранняя проверка всё ещё выполняется

401* Вы запускаете её в неинтерактивном режиме с флагом `-p` или Agent SDK; Claude Code ждёт проверку и включает результаты в ответ, кроме `ultra`, который [запускает облачную проверку без ожидания](#escalate-to-ultrareview)

402* Вы устанавливаете [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ru/env-vars) на `1`, что также отключает все остальные функции фоновых задач

403 

404<h3 id="let-claude-start-the-review">

405 Позвольте Claude начать проверку

406</h3>

407 

408Claude может запустить `/code-review` самостоятельно. Попросите его проверить ваши изменения на простом языке, и он может запустить skill без того, чтобы вы вводили команду, и [scheduled task](/docs/ru/scheduled-tasks) с `/code-review` как его подсказкой запускает проверку.

409 

410Запланированная задача никогда не запускает [облачную проверку](#escalate-to-ultrareview), поэтому планируйте `/code-review` без аргумента `ultra`.

411 

412Чтобы остановить Claude и запланированные задачи от запуска проверки, сохраняя `/code-review` доступным для вас, добавьте запись [`skillOverrides`](/docs/ru/skills#override-skill-visibility-from-settings) в [файл настроек](/docs/ru/settings#where-settings-live), такой как `~/.claude/settings.json`:

413 

414```json theme={null}

415{

416 "skillOverrides": {

417 "code-review": "user-invocable-only"

418 }

419}

420```

421 

422До версии v2.1.246 Claude запускал `/code-review` самостоятельно только там, где флаг функции, полученный от Anthropic, его включал. В [сеансах, которые не получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), `/code-review` запускался только когда вы его вводили, и запланированный `/code-review` поступал Claude как простой текст.

423 

424<h3 id="escalate-to-ultrareview">

425 Перейти на ultrareview

426</h3>

427 

428`/code-review ultra --fix` запускает более глубокую [ultrareview](/docs/ru/ultrareview) в облаке, затем применяет её результаты к вашему рабочему дереву, когда они возвращаются в ваш сеанс.

429 

430Ultrareview использует свою собственную область: вашу текущую ветку против ветки по умолчанию репозитория, плюс незафиксированные и поставленные на сцену изменения в рабочем дереве. Для незафиксированных изменений файлов, названных как учётные данные или ключи, такие как `.env` и `*.tfvars` файлы, Claude Code следует правилам для [загрузки локального репозитория в облачный сеанс](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github). Передайте имя ветки, такое как `/code-review ultra develop`, для сравнения с другой базой.

431 

432Когда целью является pull request `github.com`, вы можете попросить Claude [опубликовать завершённые результаты в PR](/docs/ru/ultrareview#post-findings-to-the-pull-request) как комментарий с вашего аккаунта GitHub. Требуется Claude Code v2.1.227 или позже.

433 

434<Note>

435 Ultrareview требует аутентификации с аккаунтом claude.ai и недоступна на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, или для организаций с включённым Zero Data Retention. Когда ultrareview недоступна, `/code-review ultra` запускает локальную проверку в вашем сеансе вместо этого.

436</Note>

437 

438Чтобы запустить облачную проверку из скрипта или CI, запустите `claude -p '/code-review ultra'`. Claude Code запускает проверку и выводит ссылку для отслеживания её. Требуется Claude Code v2.1.218 или позже.

439 

440Когда проверка будет выставлять счёт [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), Claude Code останавливается перед запуском, потому что подтверждение выставления счёта требует интерактивного сеанса. Вместо этого запустите [`claude ultrareview` subcommand](/docs/ru/ultrareview#run-ultrareview-non-interactively); запустив его, вы даёте согласие на взимание платежа.

441 

442Команда называлась `/simplify` до версии v2.1.147, когда она применяла исправления по умолчанию. `/simplify` запускает отдельную проверку только для очистки, которая применяет исправления без поиска ошибок. Если вы использовали скрипт `/simplify` для поиска ошибок, переключитесь на `/code-review --fix`.

325 443 

326<h2 id="related-resources">444<h2 id="related-resources">

327 Связанные ресурсы445 Связанные ресурсы

328</h2>446</h2>

329 447 

330Code Review разработан для работы вместе с остальной частью Claude Code. Если вы хотите запустить проверки локально перед открытием PR, вам нужна самостоятельно размещённая установка или вы хотите глубже разобраться в том, как `CLAUDE.md` формирует поведение Claude во всех инструментах, эти страницы — хорошие следующие остановки:

331 

332* [Commands](/docs/ru/commands): запустите `/code-review` в локальной сессии Claude Code, чтобы проверить diff перед push448* [Commands](/docs/ru/commands): запустите `/code-review` в локальной сессии Claude Code, чтобы проверить diff перед push

333* [GitHub Actions](/docs/ru/github-actions): запустите Claude в ваших собственных рабочих процессах GitHub Actions для пользовательской автоматизации за пределами проверки кода449* [GitHub Actions](/docs/ru/github-actions): запустите Claude в ваших собственных рабочих процессах GitHub Actions для пользовательской автоматизации за пределами проверки кода

334* [GitLab CI/CD](/docs/ru/gitlab-ci-cd): самостоятельно размещённая интеграция Claude для конвейеров GitLab450* [GitLab CI/CD](/docs/ru/gitlab-ci-cd): самостоятельно размещённая интеграция Claude для конвейеров GitLab

335* [Memory](/docs/ru/memory): как работают файлы `CLAUDE.md` во всём Claude Code451* [Memory](/docs/ru/memory): как работают файлы `CLAUDE.md` во всём Claude Code

336* [Analytics](/docs/ru/analytics): отслеживайте использование Claude Code за пределами проверки кода452* [Analytics](/docs/ru/analytics): отслеживайте использование Claude Code за пределами проверки кода

453* [How Anthropic secures its AI-native software development lifecycle](https://claude.com/blog/how-anthropic-secures-its-ai-native-software-development-lifecycle): как автоматизированная проверка встраивается в качестве одного из уровней безопасного процесса разработки Anthropic

commands.md +7 −6

Details

54| Команда | Назначение |54| Команда | Назначение |

55| :----------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |55| :----------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

56| `/add-dir <path>` | Добавить рабочий каталог для доступа к файлам во время текущего сеанса. Введите частичный путь, чтобы увидеть предложения соответствующих каталогов; нажмите `Tab` для принятия. Большинство конфигурации `.claude/` [не обнаруживается](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) из добавленного каталога. Вы не можете добавить большинство [сетевых путей](/docs/ru/errors#working-directory-is-a-network-path), таких как `\\server\share`. После успешного добавления выполняются ваши [`DirectoryAdded` hooks](/docs/ru/hooks#directoryadded). Когда вы запускаете её во время ответа Claude, Claude Code просит вас подтвердить каталог сразу же, и после подтверждения следующий вызов инструмента Claude в этом же ходу может получить доступ к нему. До версии 2.1.234 Claude Code ставил команду в очередь до завершения хода |56| `/add-dir <path>` | Добавить рабочий каталог для доступа к файлам во время текущего сеанса. Введите частичный путь, чтобы увидеть предложения соответствующих каталогов; нажмите `Tab` для принятия. Большинство конфигурации `.claude/` [не обнаруживается](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) из добавленного каталога. Вы не можете добавить большинство [сетевых путей](/docs/ru/errors#working-directory-is-a-network-path), таких как `\\server\share`. После успешного добавления выполняются ваши [`DirectoryAdded` hooks](/docs/ru/hooks#directoryadded). Когда вы запускаете её во время ответа Claude, Claude Code просит вас подтвердить каталог сразу же, и после подтверждения следующий вызов инструмента Claude в этом же ходу может получить доступ к нему. До версии 2.1.234 Claude Code ставил команду в очередь до завершения хода |

57| `/advisor [model\|off]` | Включить или отключить [инструмент advisor](/docs/ru/advisor), который консультирует второй модели для получения рекомендаций в ключевые моменты выполнения задачи. Принимает `fable`, `opus`, `sonnet` или полный ID модели. `fable` требует [доступ к Fable](/docs/ru/advisor#choose-an-advisor-model). Без аргумента открывает средство выбора. В сеансе без интерактивного терминала или через [Remote Control](/docs/ru/remote-control#limitations), передайте модель или `off` как аргумент; без аргумента команда выводит текущий advisor как текст. Эти формы требуют Claude Code версии 2.1.260 или позже |57| `/advisor [model\|off]` | Включить или отключить [инструмент advisor](/docs/ru/advisor), который консультирует вторую модель для получения рекомендаций в ключевые моменты выполнения задачи. Принимает `fable`, `opus`, `sonnet` или полный ID модели. `fable` требует [доступ к Fable](/docs/ru/advisor#choose-an-advisor-model). Без аргумента открывает средство выбора. В сеансе без интерактивного терминала или через [Remote Control](/docs/ru/remote-control#limitations), передайте модель или `off` как аргумент; без аргумента команда выводит текущий advisor как текст. Эти формы требуют Claude Code версии 2.1.260 или позже |

58| `/agents` | Начиная с версии 2.1.198, запуск `/agents` выводит напоминание попросить Claude создать или управлять [подагентами](/docs/ru/sub-agents), или отредактировать `.claude/agents/` или `~/.claude/agents/` напрямую. На версии 2.1.197 и ранее открывает интерактивный интерфейс для создания и управления конфигурациями подагентов |58| `/agents` | Начиная с версии 2.1.198, запуск `/agents` выводит напоминание попросить Claude создать или управлять [подагентами](/docs/ru/sub-agents), или отредактировать `.claude/agents/` или `~/.claude/agents/` напрямую. На версии 2.1.197 и ранее открывает интерактивный интерфейс для создания и управления конфигурациями подагентов |

59| `/artifacts` | Список [артефактов](/docs/ru/artifacts#find-an-artifact-again), которыми вы владеете или которые с вами поделены, затем прикрепить один к сеансу, открыть его в браузере или скопировать его ссылку. Доступно где [артефакты](/docs/ru/artifacts#availability) есть. Требует Claude Code версии 2.1.208 или позже; прикрепление с помощью `Enter` требует версии 2.1.216 |59| `/artifacts` | Список [артефактов](/docs/ru/artifacts#find-an-artifact-again), которыми вы владеете или которые с вами поделены, затем прикрепить один к сеансу, открыть его в браузере или скопировать его ссылку. Доступно где [артефакты](/docs/ru/artifacts#availability) есть. Требует Claude Code версии 2.1.208 или позже; прикрепление с помощью `Enter` требует версии 2.1.216 |

60| `/auto-mode-setup` | [Составить записи `autoMode.environment`](/docs/ru/auto-mode-config#generate-environment-entries) из вашего проекта и недавних сеансов, затем просмотреть черновик и сохранить его в пользовательские параметры. Требует план Pro, Max или Team и Claude Code версии 2.1.228 или позже. На нативной Windows требует версии 2.1.233 или позже |60| `/auto-mode-setup` | [Составить записи `autoMode.environment`](/docs/ru/auto-mode-config#generate-environment-entries) из вашего проекта и недавних сеансов, затем просмотреть черновик и сохранить его в пользовательские параметры. Требует план Pro, Max или Team и Claude Code версии 2.1.228 или позже. На нативной Windows требует версии 2.1.233 или позже |


72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/ru/skills#bundled-skills).** Проверить текущий diff, или PR номер, ветку или путь, который вы передаёте, на ошибки корректности и возможности очистки. Передайте `--fix` для применения результатов, `--comment` для публикации их на GitHub PR или GitLab merge request, или `ultra` для запуска глубокой [облачной проверки](/docs/ru/ultrareview). Публикация в GitLab merge request требует Claude Code версии 2.1.257 или позже. С `ultra` на целевом `github.com` PR передайте `--post` для предварительного выбора [публикации завершённых результатов на PR](/docs/ru/ultrareview#post-findings-to-the-pull-request) в диалоге запуска; `--post` требует Claude Code версии 2.1.227 или позже. См. [Проверить diff локально](/docs/ru/code-review#review-a-diff-locally) для уровней усилий, нацеливания и того, как это связано с `/simplify`. Псевдоним: `/review` |72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/ru/skills#bundled-skills).** Проверить текущий diff, или PR номер, ветку или путь, который вы передаёте, на ошибки корректности и возможности очистки. Передайте `--fix` для применения результатов, `--comment` для публикации их на GitHub PR или GitLab merge request, или `ultra` для запуска глубокой [облачной проверки](/docs/ru/ultrareview). Публикация в GitLab merge request требует Claude Code версии 2.1.257 или позже. С `ultra` на целевом `github.com` PR передайте `--post` для предварительного выбора [публикации завершённых результатов на PR](/docs/ru/ultrareview#post-findings-to-the-pull-request) в диалоге запуска; `--post` требует Claude Code версии 2.1.227 или позже. См. [Проверить diff локально](/docs/ru/code-review#review-a-diff-locally) для уровней усилий, нацеливания и того, как это связано с `/simplify`. Псевдоним: `/review` |

73| `/color [color\|default]` | Установить цвет строки подсказки для текущего сеанса. Доступные цвета: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Используйте `default` для сброса, или запустите без аргумента для выбора случайного цвета. Когда [Remote Control](/docs/ru/remote-control) подключён, цвет синхронизируется с claude.ai/code. Также доступно в неинтерактивном режиме (`-p`); требует Claude Code версии 2.1.205 или позже |73| `/color [color\|default]` | Установить цвет строки подсказки для текущего сеанса. Доступные цвета: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Используйте `default` для сброса, или запустите без аргумента для выбора случайного цвета. Когда [Remote Control](/docs/ru/remote-control) подключён, цвет синхронизируется с claude.ai/code. Также доступно в неинтерактивном режиме (`-p`); требует Claude Code версии 2.1.205 или позже |

74| `/compact [instructions]` | Освободить контекст путём суммирования разговора до сих пор. Опционально передайте инструкции фокуса для суммирования. См. [как компактификация обрабатывает правила, skills и файлы памяти](/docs/ru/context-window#what-survives-compaction) |74| `/compact [instructions]` | Освободить контекст путём суммирования разговора до сих пор. Опционально передайте инструкции фокуса для суммирования. См. [как компактификация обрабатывает правила, skills и файлы памяти](/docs/ru/context-window#what-survives-compaction) |

75| `/config [key=value ...]` | Открыть интерфейс [Параметры](/docs/ru/settings) для настройки темы, модели, [стиля вывода](/docs/ru/output-styles) и других предпочтений. Начиная с версии 2.1.181, передайте одну или несколько пар `key=value` для установки параметра напрямую без открытия интерфейса, например `/config thinking=false`. Начиная с версии 2.1.182, также принимаются именованные сокращённые ключи, такие как `/config theme=dark` или `/config model=sonnet`. Форма `key=value` также работает в неинтерактивном режиме (`-p`) и из мобильного приложения Claude через [Remote Control](/docs/ru/remote-control). Форма `key=value` не может включить параметр, который требует вашего подтверждения на панели, такой как [`autoContinueAtUsageLimit`](/docs/ru/interactive-mode#turn-automatic-continue-off), хотя может его отключить. Запустите `/config --help` для списка ключей, которые он принимает. Псевдоним: `/settings` |75| `/config [key=value ...]` | Открыть интерфейс [Параметры](/docs/ru/settings) для настройки темы, модели, [стиля вывода](/docs/ru/output-styles) и других предпочтений. Передайте одну или несколько пар `key=value` для установки параметра напрямую без открытия интерфейса, например `/config thinking=false`, `/config theme=dark` или `/config model=sonnet`. Форма `key=value` также работает в неинтерактивном режиме (`-p`) и из мобильного приложения Claude через [Remote Control](/docs/ru/remote-control). Форма `key=value` не может включить параметр, который требует вашего подтверждения на панели, такой как [`autoContinueAtUsageLimit`](/docs/ru/interactive-mode#turn-automatic-continue-off), хотя может его отключить. Запустите `/config --help` для списка ключей, которые он принимает. Псевдоним: `/settings` |

76| `/context [all]` | Визуализировать текущее использование контекста как цветную сетку. Показывает предложения оптимизации для контекстно-тяжёлых инструментов, раздутия памяти и предупреждения о ёмкости. Когда разговор превышает контекстное окно, вывод включает [предупреждение](/docs/ru/errors#context-exceeds-the-token-limit), показывающее, насколько вы превышаете лимит и какая команда освобождает место. В [полноэкранном режиме](/docs/ru/fullscreen) `/context` сворачивает разбор по элементам, чтобы сетка оставалась видимой. Передайте `all` для развёртывания |76| `/context [all]` | Визуализировать текущее использование контекста как цветную сетку. Показывает предложения оптимизации для контекстно-тяжёлых инструментов, раздутия памяти и предупреждения о ёмкости. Когда разговор превышает контекстное окно, вывод включает [предупреждение](/docs/ru/errors#context-exceeds-the-token-limit), показывающее, насколько вы превышаете лимит и какая команда освобождает место. В [полноэкранном режиме](/docs/ru/fullscreen) `/context` сворачивает разбор по элементам, чтобы сетка оставалась видимой. Передайте `all` для развёртывания |

77| `/copy [N]` | Скопировать последний ответ помощника в буфер обмена. Передайте число `N` для копирования N-го последнего ответа: `/copy 2` копирует второй с конца. Когда присутствуют блоки кода, показывает интерактивное средство выбора для выбора отдельных блоков или полного ответа. Нажмите `w` в средстве выбора для записи выбора в файл вместо буфера обмена, что полезно через SSH |77| `/copy [N]` | Скопировать последний ответ помощника в буфер обмена. Передайте число `N` для копирования N-го последнего ответа: `/copy 2` копирует второй с конца. Когда присутствуют блоки кода, показывает интерактивное средство выбора для выбора отдельных блоков или полного ответа. Нажмите `w` в средстве выбора для записи выбора в файл вместо буфера обмена, что полезно через SSH |

78| `/cost` | Псевдоним для `/usage` |78| `/cost` | Псевдоним для `/usage` |


112| `/memory` | Редактировать файлы `CLAUDE.md`, включить или отключить [автоматическую память](/docs/ru/memory#auto-memory) и просмотреть записи автоматической памяти |112| `/memory` | Редактировать файлы `CLAUDE.md`, включить или отключить [автоматическую память](/docs/ru/memory#auto-memory) и просмотреть записи автоматической памяти |

113| `/mobile` | Показать QR код для загрузки мобильного приложения Claude. Псевдонимы: `/ios`, `/android` |113| `/mobile` | Показать QR код для загрузки мобильного приложения Claude. Псевдонимы: `/ios`, `/android` |

114| `/model [model]` | Переключить модель AI и сохранить её как вашу по умолчанию для новых сеансов. Для моделей, которые это поддерживают, используйте стрелки влево/вправо для [регулировки уровня усилий](/docs/ru/model-config#adjust-effort-level). Без аргумента открывает средство выбора; нажмите `s` на строке для переключения только для текущего сеанса. См. [когда Claude Code просит вас подтвердить переключение](/docs/ru/prompt-caching#switching-models). После подтверждения переключения, если Claude Code спрашивает, Claude Code применяет изменение без ожидания завершения текущего ответа. До версии 2.1.242 Claude Code решал из флага функции, который он получал от Anthropic, применять ли команду в середине хода или ставить её в очередь до завершения хода, и всегда ставил её в очередь в сеансе, который не [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), такой как на [стороннем поставщике](/docs/ru/third-party-integrations). Также доступно в неинтерактивном режиме (`-p`) с аргументом модели вместо средства выбора, где он применяется только к текущему сеансу и не сохраняется как ваша по умолчанию; требует Claude Code версии 2.1.205 или позже |114| `/model [model]` | Переключить модель AI и сохранить её как вашу по умолчанию для новых сеансов. Для моделей, которые это поддерживают, используйте стрелки влево/вправо для [регулировки уровня усилий](/docs/ru/model-config#adjust-effort-level). Без аргумента открывает средство выбора; нажмите `s` на строке для переключения только для текущего сеанса. См. [когда Claude Code просит вас подтвердить переключение](/docs/ru/prompt-caching#switching-models). После подтверждения переключения, если Claude Code спрашивает, Claude Code применяет изменение без ожидания завершения текущего ответа. До версии 2.1.242 Claude Code решал из флага функции, который он получал от Anthropic, применять ли команду в середине хода или ставить её в очередь до завершения хода, и всегда ставил её в очередь в сеансе, который не [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), такой как на [стороннем поставщике](/docs/ru/third-party-integrations). Также доступно в неинтерактивном режиме (`-p`) с аргументом модели вместо средства выбора, где он применяется только к текущему сеансу и не сохраняется как ваша по умолчанию; требует Claude Code версии 2.1.205 или позже |

115| `/output-style [style]` | Список [стилей вывода](/docs/ru/output-styles) или переключиться на один, например `/output-style concise`. См. [Изменить ваш стиль вывода](/docs/ru/output-styles#change-your-output-style). Требует Claude Code версии 2.1.269 или позже |

115| `/passes` | Поделиться бесплатной неделей Claude Code с друзьями. Видно только если ваш аккаунт имеет право |116| `/passes` | Поделиться бесплатной неделей Claude Code с друзьями. Видно только если ваш аккаунт имеет право |

116| `/permissions` | Управлять правилами разрешения, запроса и отказа для разрешений инструментов. Открывает интерактивный диалог, где вы можете просмотреть правила по области, добавить или удалить правила, управлять рабочими каталогами и просмотреть [недавние отказы auto mode](/docs/ru/auto-mode-config#review-denials). Вы также можете просмотреть и отредактировать [правила классификатора auto mode](/docs/ru/auto-mode-config#edit-rules-from-permissions) из вкладки **Auto mode** диалога. Когда вы запускаете её во время ответа Claude, Claude Code открывает диалог сразу же и применяет ваши изменения, начиная со следующего вызова инструмента Claude в этом же ходу. До версии 2.1.234 Claude Code ставил команду в очередь до завершения хода. Псевдоним: `/allowed-tools` |117| `/permissions` | Управлять правилами разрешения, запроса и отказа для разрешений инструментов. Открывает интерактивный диалог, где вы можете просмотреть правила по области, добавить или удалить правила, управлять рабочими каталогами и просмотреть [недавние отказы auto mode](/docs/ru/auto-mode-config#review-denials). Вы также можете просмотреть и отредактировать [правила классификатора auto mode](/docs/ru/auto-mode-config#edit-rules-from-permissions) из вкладки **Auto mode** диалога. Когда вы запускаете её во время ответа Claude, Claude Code открывает диалог сразу же и применяет ваши изменения, начиная со следующего вызова инструмента Claude в этом же ходу. До версии 2.1.234 Claude Code ставил команду в очередь до завершения хода. Псевдоним: `/allowed-tools` |

117| `/plan [description]` | Войти в режим плана напрямую из подсказки. Передайте необязательное описание для входа в режим плана и немедленного начала с этой задачей, например `/plan fix the auth bug` |118| `/plan [description]` | Войти в Plan Mode напрямую из подсказки. Передайте необязательное описание для входа в Plan Mode и немедленного начала с этой задачей, например `/plan fix the auth bug` |

118| `/plugin [subcommand]` | Управлять [плагинами](/docs/ru/plugins) Claude Code. Запустите без аргумента для открытия меню плагинов, или передайте подкоманду, такую как `list`, `install`, `enable` или `disable` для прямого действия. Claude Code может активировать плагин во время установки; [резюме установки](/docs/ru/discover-plugins#install-plugins) говорит вам, сделал ли он это или нужно ли запустить `/reload-plugins` |119| `/plugin [subcommand]` | Управлять [плагинами](/docs/ru/plugins) Claude Code. Запустите без аргумента для открытия меню плагинов, или передайте подкоманду, такую как `list`, `install`, `enable` или `disable` для прямого действия. Claude Code может активировать плагин во время установки; [резюме установки](/docs/ru/discover-plugins#install-plugins) говорит вам, сделал ли он это или нужно ли запустить `/reload-plugins` |

119| `/powerup` | Откройте функции Claude Code через быстрые интерактивные уроки с анимированными демонстрациями |120| `/powerup` | Откройте функции Claude Code через быстрые интерактивные уроки с анимированными демонстрациями |

120| `/pr-comments [PR]` | Удалено в версии 2.1.91. Попросите Claude напрямую просмотреть комментарии pull request. На более ранних версиях получает и отображает комментарии из GitHub pull request; автоматически обнаруживает PR для текущей ветки, или передайте URL или номер PR. Требует CLI `gh` |121| `/pr-comments [PR]` | Удалено в версии 2.1.91. Попросите Claude напрямую просмотреть комментарии pull request. На более ранних версиях получает и отображает комментарии из GitHub pull request; автоматически обнаруживает PR для текущей ветки, или передайте URL или номер PR. Требует CLI `gh` |


126| `/reload-plugins [--force]` | Перезагрузить все активные [плагины](/docs/ru/plugins) для применения ожидающих изменений без перезагрузки. Сообщает счёты для каждого перезагруженного компонента и отмечает любые ошибки загрузки. Когда перезагрузка изменит, какие инструменты MCP загружены и аннулирует кэш подсказок, команда предупреждает и пропускает, если вы не передаёте `--force`. Также доступно в неинтерактивном режиме (`-p`), Agent SDK и приложении для рабочего стола, где оно запускается только на входе, введённом напрямую в сеанс и не применяет изменения MCP сервера плагина; требует Claude Code версии 2.1.260 или позже. См. [Применить изменения плагина без перезагрузки](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting) |127| `/reload-plugins [--force]` | Перезагрузить все активные [плагины](/docs/ru/plugins) для применения ожидающих изменений без перезагрузки. Сообщает счёты для каждого перезагруженного компонента и отмечает любые ошибки загрузки. Когда перезагрузка изменит, какие инструменты MCP загружены и аннулирует кэш подсказок, команда предупреждает и пропускает, если вы не передаёте `--force`. Также доступно в неинтерактивном режиме (`-p`), Agent SDK и приложении для рабочего стола, где оно запускается только на входе, введённом напрямую в сеанс и не применяет изменения MCP сервера плагина; требует Claude Code версии 2.1.260 или позже. См. [Применить изменения плагина без перезагрузки](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting) |

127| `/reload-skills` | Повторно сканировать каталоги [skill](/docs/ru/skills) и команд, чтобы skills, добавленные или изменённые на диске во время сеанса, стали доступны без перезагрузки. Сообщает, сколько skills доступно и сколько было добавлено или удалено |128| `/reload-skills` | Повторно сканировать каталоги [skill](/docs/ru/skills) и команд, чтобы skills, добавленные или изменённые на диске во время сеанса, стали доступны без перезагрузки. Сообщает, сколько skills доступно и сколько было добавлено или удалено |

128| `/remote-control` | Сделать этот сеанс доступным для [Remote Control](/docs/ru/remote-control) из claude.ai. Запуск при выходе выводит, что Remote Control требует подписку claude.ai и говорит вам, как войти; до версии 2.1.206 это сообщало `Unknown command: /remote-control`. Псевдоним: `/rc` |129| `/remote-control` | Сделать этот сеанс доступным для [Remote Control](/docs/ru/remote-control) из claude.ai. Запуск при выходе выводит, что Remote Control требует подписку claude.ai и говорит вам, как войти; до версии 2.1.206 это сообщало `Unknown command: /remote-control`. Псевдоним: `/rc` |

129| `/remote-env` | Выбрать окружение по умолчанию для [облачных агентов](/docs/ru/cloud-environments#select-an-environment-from-the-cli) |130| `/remote-env` | Выбрать окружение по умолчанию для [облачных сеансов](/docs/ru/cloud-environments#select-an-environment-from-the-cli), которые вы запускаете из CLI |

130| `/rename [name]` | Переименовать текущий сеанс и показать имя на строке подсказки. Без имени автоматически создаёт одно из истории разговора. Также доступно в неинтерактивном режиме (`-p`); требует Claude Code версии 2.1.205 или позже. Из каждой поверхности переименования, включая claude.ai и приложение для рабочего стола, Claude Code заменяет управляющие и невидимые символы в новом имени пробелами и ограничивает имя 200 символами. Если имя пусто после удаления невидимых символов, Claude Code отклоняет его и показывает `That name is empty once invisible characters are removed. Usage: /rename <name>`. Замена символов и ограничение длины требуют Claude Code версии 2.1.221 или позже. Если другой живой сеанс на этой машине уже использует имя, которое вы передаёте, Claude Code применяет [вариант его](/docs/ru/sessions#name-your-sessions) вместо этого |131| `/rename [name]` | Переименовать текущий сеанс и показать имя на строке подсказки. Без имени автоматически создаёт одно из истории разговора. Также доступно в неинтерактивном режиме (`-p`); требует Claude Code версии 2.1.205 или позже. Из каждой поверхности переименования, включая claude.ai и приложение для рабочего стола, Claude Code заменяет управляющие и невидимые символы в новом имени пробелами и ограничивает имя 200 символами. Если имя пусто после удаления невидимых символов, Claude Code отклоняет его и показывает `That name is empty once invisible characters are removed. Usage: /rename <name>`. Замена символов и ограничение длины требуют Claude Code версии 2.1.221 или позже. Если другой живой сеанс на этой машине уже использует имя, которое вы передаёте, Claude Code применяет [вариант его](/docs/ru/sessions#name-your-sessions) вместо этого |

131| `/resume [session]` | Возобновить разговор по ID или имени, или открыть средство выбора сеанса. [Фоновые сеансы](/docs/ru/agent-view) появляются в средстве выбора, отмеченные с `bg`; тот, который всё ещё работает, не может быть возобновлен здесь, поэтому прикрепитесь к нему из `claude agents` или остановите его там сначала. Псевдоним: `/continue` |132| `/resume [session]` | Возобновить разговор по ID или имени, или открыть средство выбора сеанса. [Фоновые сеансы](/docs/ru/agent-view) появляются в средстве выбора, отмеченные с `bg`; тот, который всё ещё работает, не может быть возобновлен здесь, поэтому прикрепитесь к нему из `claude agents` или остановите его там сначала. Псевдоним: `/continue` |

132| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Псевдоним [`/code-review`](/docs/ru/code-review#review-a-diff-locally): проверяет текущий diff, или PR номер, ветку или путь, который вы передаёте, такой как `/review 1234`, и принимает те же уровни усилий и флаги. Без уровня, проверка повторно использует последний уровень `low` через `max`, который вы вводили; см. [Проверить diff локально](/docs/ru/code-review#review-a-diff-locally) для точных правил. Для глубокой облачной проверки используйте [`/code-review ultra`](/docs/ru/ultrareview). До версии 2.1.223 `/review` была отдельной командой, которая запускала однопроходную проверку только для чтения GitHub pull request по номеру, перечисляя открытые PR для выбора при запуске без аргумента; с версии 2.1.186 по 2.1.201 она запускала тот же многоагентный движок, что и `/code-review medium` |133| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Псевдоним [`/code-review`](/docs/ru/code-review#review-a-diff-locally): проверяет текущий diff, или PR номер, ветку или путь, который вы передаёте, такой как `/review 1234`, и принимает те же уровни усилий и флаги. Без уровня, проверка повторно использует последний уровень `low` через `max`, который вы вводили; см. [Проверить diff локально](/docs/ru/code-review#review-a-diff-locally) для точных правил. Для глубокой облачной проверки используйте [`/code-review ultra`](/docs/ru/ultrareview). До версии 2.1.223 `/review` была отдельной командой, которая запускала однопроходную проверку только для чтения GitHub pull request по номеру, перечисляя открытые PR для выбора при запуске без аргумента; с версии 2.1.186 по 2.1.201 она запускала тот же многоагентный движок, что и `/code-review medium` |


150| `/subtask <task>` | Запустить [разветвлённый подагент](/docs/ru/sub-agents#fork-the-current-conversation): фоновый подагент, который наследует полный разговор и работает над задачей, пока вы продолжаете работать. Его результат возвращается в этот разговор, когда он завершается. Чтобы скопировать разговор в отдельный фоновый сеанс вместо этого, используйте `/fork`. Требует Claude Code версии 2.1.212 или позже; на версиях 2.1.161 через 2.1.211 эта команда — `/fork`. Когда [представление агента отключено](/docs/ru/agent-view#turn-off-agent-view), `/subtask` недоступен и `/fork` сохраняет поведение разветвлённого подагента |151| `/subtask <task>` | Запустить [разветвлённый подагент](/docs/ru/sub-agents#fork-the-current-conversation): фоновый подагент, который наследует полный разговор и работает над задачей, пока вы продолжаете работать. Его результат возвращается в этот разговор, когда он завершается. Чтобы скопировать разговор в отдельный фоновый сеанс вместо этого, используйте `/fork`. Требует Claude Code версии 2.1.212 или позже; на версиях 2.1.161 через 2.1.211 эта команда — `/fork`. Когда [представление агента отключено](/docs/ru/agent-view#turn-off-agent-view), `/subtask` недоступен и `/fork` сохраняет поведение разветвлённого подагента |

151| `/tasks` | Просмотреть и управлять фоновой работой в текущем сеансе, включая подагентов, которые завершились. Также доступно как `/bashes` |152| `/tasks` | Просмотреть и управлять фоновой работой в текущем сеансе, включая подагентов, которые завершились. Также доступно как `/bashes` |

152| `/team-onboarding` | Создать руководство по адаптации команды из истории использования Claude Code. Claude анализирует ваши сеансы, команды и использование MCP сервера за последние 30 дней и создаёт руководство markdown, которое товарищ может вставить как первое сообщение для быстрой настройки. Для подписчиков claude.ai на планах Pro, Max, Team и Enterprise также возвращает ссылку для совместного использования, которую товарищи могут открыть напрямую в Claude Code |153| `/team-onboarding` | Создать руководство по адаптации команды из истории использования Claude Code. Claude анализирует ваши сеансы, команды и использование MCP сервера за последние 30 дней и создаёт руководство markdown, которое товарищ может вставить как первое сообщение для быстрой настройки. Для подписчиков claude.ai на планах Pro, Max, Team и Enterprise также возвращает ссылку для совместного использования, которую товарищи могут открыть напрямую в Claude Code |

153| `/teleport` | Вытащить сеанс [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web#from-web-to-terminal) в этот терминал. Открывает средство выбора, затем получает ветку и разговор. Также доступно как `/tp`. Требует подписку claude.ai |154| `/teleport` | Вытащить сеанс [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web#from-cloud-to-terminal) в этот терминал. Открывает средство выбора, затем получает ветку и разговор. Также доступно как `/tp`. Требует подписку claude.ai |

154| `/terminal-setup` | [Установить сочетание клавиш Shift+Enter для новых строк](/docs/ru/terminal-config#enter-multiline-prompts) в VS Code, Cursor, Devin Desktop, Alacritty или Zed. В Apple Terminal, [включить Option+Enter для новых строк и отключить звуковой сигнал](/docs/ru/terminal-config#enable-option-key-shortcuts-on-macos) вместо этого. В iTerm2, [включить доступ к буферу обмена, чтобы `/copy` работал](/docs/ru/terminal-config#enable-option-key-shortcuts-on-macos) |155| `/terminal-setup` | [Установить сочетание клавиш Shift+Enter для новых строк](/docs/ru/terminal-config#enter-multiline-prompts) в VS Code, Cursor, Devin Desktop, Alacritty или Zed. В Apple Terminal, [включить Option+Enter для новых строк и отключить звуковой сигнал](/docs/ru/terminal-config#enable-option-key-shortcuts-on-macos) вместо этого. В iTerm2, [включить доступ к буферу обмена, чтобы `/copy` работал](/docs/ru/terminal-config#enable-option-key-shortcuts-on-macos) |

155| `/theme` | Изменить цветовую тему. Включает опцию `auto`, которая соответствует светлому или тёмному фону вашего терминала, светлые и тёмные варианты, доступные для дальтоников (далтонизированные) темы, ANSI темы, которые используют палитру цветов вашего терминала, и любые [пользовательские темы](/docs/ru/terminal-config#create-a-custom-theme) из `~/.claude/themes/` или плагинов. Выберите **New custom theme…** для создания одной |156| `/theme` | Изменить цветовую тему. Включает опцию `auto`, которая соответствует светлому или тёмному фону вашего терминала, светлые и тёмные варианты, доступные для дальтоников (далтонизированные) темы, ANSI темы, которые используют палитру цветов вашего терминала, и любые [пользовательские темы](/docs/ru/terminal-config#create-a-custom-theme) из `~/.claude/themes/` или плагинов. Выберите **New custom theme…** для создания одной |

156| `/tui [default\|fullscreen]` | Установить рендерер терминального UI и перезагрузиться в него с вашим разговором нетронутым. `fullscreen` включает [рендерер alt-screen без мерцания](/docs/ru/fullscreen). Без аргумента выводит активный рендерер |157| `/tui [default\|fullscreen]` | Установить рендерер терминального UI и перезагрузиться в него с вашим разговором нетронутым. `fullscreen` включает [рендерер alt-screen без мерцания](/docs/ru/fullscreen). Без аргумента выводит активный рендерер |

157| `/ultraplan <prompt>` | Удалено. Используйте [режим плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) вместо этого. Ранее отправляла задачу планирования в сеанс [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) для проверки в вашем браузере |158| `/ultraplan <prompt>` | Удалено. Используйте [Plan Mode](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) вместо этого. Ранее отправляла задачу планирования в сеанс [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) для проверки в вашем браузере |

158| `/ultrareview [PR or branch]` | Запустить глубокую, многоагентную проверку кода в облачной песочнице с [ultrareview](/docs/ru/ultrareview). Передайте ссылку PR для проверки этого pull request, или имя ветки для изменения базы сравнения. Предпочтительный вызов теперь `/code-review ultra`, и `/ultrareview` остаётся как псевдоним. Включает 3 бесплатных запуска на Pro и Max, затем требует [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |159| `/ultrareview [PR or branch]` | Запустить глубокую, многоагентную проверку кода в облачной песочнице с [ultrareview](/docs/ru/ultrareview). Передайте ссылку PR для проверки этого pull request, или имя ветки для изменения базы сравнения. Предпочтительный вызов теперь `/code-review ultra`, и `/ultrareview` остаётся как псевдоним. Включает 3 бесплатных запуска на Pro и Max, затем требует [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

159| `/upgrade` | Открыть страницу обновления в вашем браузере для переключения на более высокий уровень плана. Когда браузер не открывается, команда показывает подсказку входа без вывода URL |160| `/upgrade` | Открыть страницу обновления в вашем браузере для переключения на более высокий уровень плана. Когда браузер не открывается, команда показывает подсказку входа без вывода URL |

160| `/usage` | Показать стоимость сеанса, лимиты использования плана и статистику активности. На плане Pro, Max, Team или Enterprise, включает [разбор того, что считается против ваших лимитов плана](/docs/ru/costs#plan-usage-breakdown). `/cost` и `/stats` — псевдонимы |161| `/usage` | Показать стоимость сеанса, лимиты использования плана и статистику активности. На плане Pro, Max, Team или Enterprise, включает [разбор того, что считается против ваших лимитов плана](/docs/ru/costs#plan-usage-breakdown). `/cost` и `/stats` — псевдонимы |

Details

1586 1586 

1587Сеанс проходит через реалистичный поток с репрезентативными подсчётами токенов:1587Сеанс проходит через реалистичный поток с репрезентативными подсчётами токенов:

1588 1588 

1589* **Перед тем, как вы что-либо введёте**: CLAUDE.md, автоматическая память, имена инструментов MCP и описания skills загружаются в контекст. Ваша собственная настройка может добавить больше здесь, например [стиль вывода](/docs/ru/output-styles) или текст из [`--append-system-prompt`](/docs/ru/cli-reference).1589* **Перед тем, как вы что-либо введёте**: CLAUDE.md, автоматическая память, имена инструментов MCP и описания skills загружаются в контекст. [Файлы AGENTS.md](/docs/ru/memory#agents-md) также могут загружаться, самостоятельно или вместе с CLAUDE.md. Ваша собственная настройка может добавить больше здесь, например [стиль вывода](/docs/ru/output-styles) или текст из [`--append-system-prompt`](/docs/ru/cli-reference).

1590* **Во время работы Claude**: каждое чтение файла добавляется в контекст, [правила с областью действия пути](/docs/ru/memory#path-specific-rules) загружаются автоматически вместе с соответствующими файлами, и [hook PostToolUse](/docs/ru/hooks-guide) срабатывает после каждого редактирования.1590* **Во время работы Claude**: каждое чтение файла добавляется в контекст, [правила с областью действия пути](/docs/ru/memory#path-specific-rules) загружаются автоматически вместе с соответствующими файлами, и [hook PostToolUse](/docs/ru/hooks-guide) срабатывает после каждого редактирования.

1591* **Последующий prompt**: [subagent](/docs/ru/sub-agents) обрабатывает исследование в своём собственном отдельном контекстном окне, поэтому большие чтения файлов остаются вне вашего. Только резюме и небольшой трейлер метаданных возвращаются.1591* **Последующий prompt**: [subagent](/docs/ru/sub-agents) обрабатывает исследование в своём собственном отдельном контекстном окне, поэтому большие чтения файлов остаются вне вашего. Только резюме и небольшой трейлер метаданных возвращаются.

1592* **В конце**: `/compact` заменяет историю разговора структурированным резюме. Большая часть содержимого при запуске перезагружается автоматически; таблица ниже показывает, что происходит с каждым механизмом.1592* **В конце**: `/compact` заменяет историю разговора структурированным резюме. Большая часть содержимого при запуске перезагружается автоматически; таблица ниже показывает, что происходит с каждым механизмом.


1598Когда длительный сеанс компактируется, Claude Code суммирует историю разговора, чтобы она поместилась в контекстное окно. Начиная с версии 2.1.198, запрос суммирования наследует конфигурацию [extended thinking](/docs/ru/model-config#extended-thinking) вашего сеанса, поэтому он рассуждает с включённым thinking, когда в вашем сеансе он включён, и остаётся отключённым в противном случае. Thinking влияет только на то, как создаётся сводка; параметры вашего сеанса остаются неизменными после этого. Что происходит с каждым видом контента, зависит от того, как он был загружен:1598Когда длительный сеанс компактируется, Claude Code суммирует историю разговора, чтобы она поместилась в контекстное окно. Начиная с версии 2.1.198, запрос суммирования наследует конфигурацию [extended thinking](/docs/ru/model-config#extended-thinking) вашего сеанса, поэтому он рассуждает с включённым thinking, когда в вашем сеансе он включён, и остаётся отключённым в противном случае. Thinking влияет только на то, как создаётся сводка; параметры вашего сеанса остаются неизменными после этого. Что происходит с каждым видом контента, зависит от того, как он был загружен:

1599 1599 

1600| Механизм | После компактирования |1600| Механизм | После компактирования |

1601| :------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------- |1601| :--------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |

1602| Системный prompt и стиль вывода | Оба по-прежнему применяются |1602| Системный prompt и стиль вывода | Оба по-прежнему применяются |

1603| CLAUDE.md в корне проекта и правила без области действия | Переинжектированы с диска |1603| CLAUDE.md в корне проекта и правила без области действия | Переинжектированы с диска |

1604| Автоматическая память | Переинжектирована с диска |1604| Автоматическая память | Переинжектирована с диска |


1607| Вложенный CLAUDE.md в подкаталогах | Claude Code перезагружает их по мере чтения файлов в этом подкаталоге |1607| Вложенный CLAUDE.md в подкаталогах | Claude Code перезагружает их по мере чтения файлов в этом подкаталоге |

1608| Файлы, которые Claude прочитал или отредактировал | Claude Code повторно читает до пяти, самые недавно изменённые в первую очередь |1608| Файлы, которые Claude прочитал или отредактировал | Claude Code повторно читает до пяти, самые недавно изменённые в первую очередь |

1609| Тела вызванных skills | Переинжектированы, ограничены 5000 токенами на skill и 25000 токенами всего; самые старые удаляются первыми |1609| Тела вызванных skills | Переинжектированы, ограничены 5000 токенами на skill и 25000 токенами всего; самые старые удаляются первыми |

1610| [Background commands](/docs/ru/interactive-mode#background-bash-commands) и фоновые [subagents](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) | Продолжают работать. Claude Code напоминает Claude, какие из них всё ещё работают, чтобы он не запустил дубликат |

1610| Контекст, который hooks добавили ранее | Суммирован вместе с остальной частью разговора |1611| Контекст, который hooks добавили ранее | Суммирован вместе с остальной частью разговора |

1611| [SessionStart hooks](/docs/ru/hooks-guide#re-inject-context-after-compaction), которые соответствуют источнику `compact` | Claude Code запускает их и добавляет их вывод в компактированный контекст |1612| [SessionStart hooks](/docs/ru/hooks-guide#re-inject-context-after-compaction), которые соответствуют источнику `compact` | Claude Code запускает их и добавляет их вывод в компактированный контекст |

1612 1613 

1613Правила с областью действия пути и вложенные файлы CLAUDE.md загружаются в историю сообщений при чтении их триггерного файла, поэтому компактирование суммирует их вместе со всем остальным. Сразу после компактирования Claude Code повторно читает до пяти файлов, которые Claude прочитал или отредактировал в сеансе, выбирая те, которые были изменены совсем недавно, и перезагружает правила и вложенные файлы CLAUDE.md, которые применяются к этим файлам. Файл размером более 5000 токенов возвращается как ссылка на путь без его содержимого, отображаемая как `Referenced file` вместо `Read`. Его правила по-прежнему перезагружаются. Если правило должно сохраняться при компактировании, удалите frontmatter `paths:` или переместите его в CLAUDE.md в корне проекта.1614Правила с областью действия пути и вложенные файлы CLAUDE.md загружаются в историю сообщений при чтении их триггерного файла, поэтому компактирование суммирует их вместе со всем остальным. Если правило должно сохраняться при компактировании, удалите frontmatter `paths:` или переместите его в CLAUDE.md в корне проекта.

1615 

1616Сразу после компактирования Claude Code повторно читает до пяти файлов, которые Claude прочитал или отредактировал в сеансе, выбирая те, которые были изменены совсем недавно. Файл размером более 5000 токенов возвращается как ссылка на путь без его содержимого, отображаемая как `Referenced file` вместо `Read`.

1614 1617 

1615Тела skills переинжектируются после компактирования, но большие skills усекаются, чтобы соответствовать лимиту на skill, и самые старые вызванные skills удаляются после превышения общего бюджета. Усечение сохраняет начало файла, поэтому поместите наиболее важные инструкции в начало `SKILL.md`.1618Тела skills переинжектируются после компактирования, но большие skills усекаются, чтобы соответствовать лимиту на skill, и самые старые вызванные skills удаляются после превышения общего бюджета. Усечение сохраняет начало файла, поэтому поместите наиболее важные инструкции в начало `SKILL.md`.

1616 1619 

Details

40Следующие процессы не запускаются через launcher:40Следующие процессы не запускаются через launcher:

41 41 

42* [Установленный фоновый сервис](/docs/ru/agent-view#the-supervisor-process), чей unit был написан до того, как был настроен launcher: `launchd` или `systemd` запускает этот процесс из его файла unit. `/status` и `claude daemon status` предупреждают, когда запущенный сервис и настроенный launcher не совпадают, и сеансы, которые запускает сервис, все еще запускаются через launcher после перезагрузки сервиса с переменной в его параметрах.42* [Установленный фоновый сервис](/docs/ru/agent-view#the-supervisor-process), чей unit был написан до того, как был настроен launcher: `launchd` или `systemd` запускает этот процесс из его файла unit. `/status` и `claude daemon status` предупреждают, когда запущенный сервис и настроенный launcher не совпадают, и сеансы, которые запускает сервис, все еще запускаются через launcher после перезагрузки сервиса с переменной в его параметрах.

43* Сеанс, который вы запускаете сами в терминале, который работает так, как вы его вызвали. Чтобы охватить эти сеансы, поместите скрипт с именем `claude` в каталог, который находится раньше в `PATH`, который запускает ваш launcher с реальным бинарным файлом; не заменяйте управляемый symlink. Self-spawns не консультируют `PATH`, поэтому два launcher никогда не складываются.43* Сеанс, который вы запускаете сами в терминале, который работает так, как вы его вызвали. Чтобы охватить эти сеансы, поместите скрипт с именем `claude` в каталог, который находится раньше в `PATH`, который запускает ваш launcher с реальным бинарным файлом; не заменяйте управляемый symlink. Фоновые процессы не консультируют `PATH`, поэтому два launcher никогда не складываются там.

44* Первый процесс `claude-cli://` deep link, который обработчик протокола операционной системы запускает напрямую. Все, что этот сеанс запускает в фоне после этого, работает через launcher. Чтобы полностью закрыть этот путь, [предотвратите регистрацию обработчика](/docs/ru/deep-links#registration-and-supported-platforms) с помощью параметра `disableDeepLinkRegistration`.44* Первый процесс `claude-cli://` deep link, который обработчик протокола операционной системы запускает напрямую. Все, что этот сеанс запускает в фоне после этого, работает через launcher. Чтобы полностью закрыть этот путь, [предотвратите регистрацию обработчика](/docs/ru/deep-links#registration-and-supported-platforms) с помощью параметра `disableDeepLinkRegistration`.

45* Перезапуск, который выполняет `--worktree` в сочетании с `--tmux`: терминальный мультиплексер запускает эту панель, а не бинарный файл Claude Code.45* Перезапуск, который выполняет `--worktree` в сочетании с `--tmux`: терминальный мультиплексер запускает эту панель, а не бинарный файл Claude Code.

46* Хост native-messaging, который регистрирует [Claude in Chrome](/docs/ru/chrome): браузер запускает его, а не бинарный файл Claude Code.46* Хост native-messaging, который регистрирует [Claude in Chrome](/docs/ru/chrome): браузер запускает его, а не бинарный файл Claude Code.

costs.md +1 −1

Details

146 </Step>146 </Step>

147 147 

148 <Step title="Напишите параметр">148 <Step title="Напишите параметр">

149 Установите `multiplier` для фиксированного процента скидки от прейскурантной цены, перечислите четыре ставки за токен каждой модели в `overrides` или сделайте и то, и другое. Запись [`modelPricing`](/docs/ru/settings-reference#modelpricing) содержит форму и готовый к вставке пример.149 Установите `multiplier` ниже 1 для фиксированной скидки или выше 1 для надбавки, перечислите четыре ставки за токен каждой модели в `overrides` или сделайте и то, и другое. Надбавка требует Claude Code v2.1.271 или позже. Запись [`modelPricing`](/docs/ru/settings-reference#modelpricing) содержит форму и готовый к вставке пример.

150 </Step>150 </Step>

151 151 

152 <Step title="Разверните его через управляемые параметры">152 <Step title="Разверните его через управляемые параметры">

Details

240 240 

241Помимо редактирования файла параметров, вы можете выбрать значение в строке `/config` **Messages from your other sessions**. Claude Code записывает выбранное вами значение в ваши пользовательские параметры. Строка требует Claude Code v2.1.232 или более поздней версии и не появляется, пока управляемые параметры или флаг `--settings` устанавливает ключ, так как значение пользовательских параметров не применялось бы тогда. Claude Code отклоняет сокращение `/config crossSessionInbound=value` для этого ключа.241Помимо редактирования файла параметров, вы можете выбрать значение в строке `/config` **Messages from your other sessions**. Claude Code записывает выбранное вами значение в ваши пользовательские параметры. Строка требует Claude Code v2.1.232 или более поздней версии и не появляется, пока управляемые параметры или флаг `--settings` устанавливает ключ, так как значение пользовательских параметров не применялось бы тогда. Claude Code отклоняет сокращение `/config crossSessionInbound=value` для этого ключа.

242 242 

243Чтобы увидеть, какое значение применяется, следуйте правилам приоритета `crossSessionInbound` в [справочнике параметров](/docs/ru/settings-reference#crosssessioninbound). Когда значение не применяется, Claude Code решает для каждого сообщения из режимов разрешений двух сеансов. Он группирует сеансы, которые [обходят запросы разрешений](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) в один класс, и каждый другой сеанс в другой. План режим считается обходящим в сеансах с доступными разрешениями обхода, и [авто](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), `acceptEdits` и `dontAsk` считаются запрашивающими:243Чтобы увидеть, какое значение применяется, следуйте правилам приоритета `crossSessionInbound` в [справочнике параметров](/docs/ru/settings-reference#crosssessioninbound). Когда значение не применяется, Claude Code решает для каждого сообщения из режимов разрешений двух сеансов. Он группирует сеансы, которые [обходят запросы разрешений](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) в один класс, и каждый другой сеанс в другой. План режим считается обходящим в интерактивных сеансах терминала с доступными разрешениями обхода, и [авто](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), `acceptEdits` и `dontAsk` считаются запрашивающими:

244 244 

245* **Получающий сеанс запрашивает разрешения**: Claude Code доставляет каждое сообщение. Он удерживает одно для вашего одобрения только когда отправляющий сеанс идентифицирует себя как обходящий запросы разрешений.245* **Получающий сеанс запрашивает разрешения**: Claude Code доставляет каждое сообщение. Он удерживает одно для вашего одобрения только когда отправляющий сеанс идентифицирует себя как обходящий запросы разрешений.

246* **Получающий сеанс обходит запросы разрешений**: Claude Code удерживает каждое сообщение для вашего одобрения. Он доставляет одно только когда отправляющий сеанс идентифицирует себя как также обходящий.246* **Получающий сеанс обходит запросы разрешений**: Claude Code удерживает каждое сообщение для вашего одобрения. Он доставляет одно только когда отправляющий сеанс идентифицирует себя как также обходящий.


254* Если класс режима разрешений этого сеанса изменяется пока сообщения удерживаются, Claude Code повторно применяет входящие правила, доставляет сообщения, которые они теперь принимают, и показывает уведомление.254* Если класс режима разрешений этого сеанса изменяется пока сообщения удерживаются, Claude Code повторно применяет входящие правила, доставляет сообщения, которые они теперь принимают, и показывает уведомление.

255* Если изменение параметров делает `refuse` применимым пока сообщения удерживаются, Claude Code отбрасывает каждое удержанное сообщение и сообщает об отказе каждому отправителю, которого он может достичь.255* Если изменение параметров делает `refuse` применимым пока сообщения удерживаются, Claude Code отбрасывает каждое удержанное сообщение и сообщает об отказе каждому отправителю, которого он может достичь.

256 256 

257Когда отправитель — интерактивный сеанс на одной машине, Claude Code показывает уведомление там, когда получатель удерживает сообщение, и последующее, когда получатель позже доставляет, отклоняет или истекает его. Если получатель отказывает ему, Claude Code показывает уведомление там, что получатель не принимает сообщения между сеансами и сообщает Claude отправителя не ждать или отправлять повторно.257Когда отправитель — сеанс на одной машине, Claude Code отправляет уведомление обратно ему, когда получатель удерживает сообщение, и последующее, когда получатель позже доставляет, отклоняет или истекает его. Уведомление достигает Claude отправителя, поэтому он знает, что не должен продолжать ждать сообщение, которое другой сеанс не прочитал.

258 

259В интерактивном отправляющем сеансе уведомление появляется в расшифровке. Отправитель [`claude -p`](/docs/ru/headless) получает его в [потоковом выводе](/docs/ru/headless#stream-responses) как [информационное сообщение `system`](/docs/ru/agent-sdk/typescript#sdkinformationalmessage). Уведомления отправителям `claude -p` требуют Claude Code v2.1.271 или более поздней версии.

260 

261Если получатель отказывает сообщение, уведомление отправителя говорит, что получатель не принимает сообщения между сеансами и сообщает Claude отправителя не ждать или отправлять повторно.

258 262 

259Claude Code удерживает максимум 100 сообщений, отдельно от очереди доставки, и после этого отбрасывает самое старое.263Claude Code удерживает максимум 100 сообщений, отдельно от очереди доставки, и после этого отбрасывает самое старое.

260 264 

data-usage.md +1 −1

Details

108 Cloud execution: поток данных и зависимости108 Cloud execution: поток данных и зависимости

109</h3>109</h3>

110 110 

111При использовании [Claude Code on the web](/docs/ru/claude-code-on-the-web) сеансы выполняются на виртуальных машинах, управляемых Anthropic, вместо локального выполнения. Сеансы, которые ваша организация маршрутизирует в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments), выполняются на инфраструктуре, которой вы управляете; для информации о том, что остаётся на ваших машинах и что всё ещё идёт в Anthropic, см. [What stays on your infrastructure](/docs/ru/self-hosted-environments#what-stays-on-your-infrastructure). В облачных сеансах, размещённых на Anthropic:111[Cloud sessions](/docs/ru/claude-code-on-the-web) выполняются на виртуальных машинах, управляемых Anthropic, по умолчанию вместо локального выполнения. Сеансы, которые ваша организация маршрутизирует в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments), выполняются на инфраструктуре, которой вы управляете; для информации о том, что остаётся на ваших машинах и что всё ещё идёт в Anthropic, см. [What stays on your infrastructure](/docs/ru/self-hosted-environments#what-stays-on-your-infrastructure). В облачных сеансах, размещённых на Anthropic:

112 112 

113* **Хранилище кода и данных:** Ваш репозиторий клонируется на изолированную виртуальную машину. Код и данные сеанса подлежат политикам хранения и использования для вашего типа учётной записи (см. раздел Хранение данных выше)113* **Хранилище кода и данных:** Ваш репозиторий клонируется на изолированную виртуальную машину. Код и данные сеанса подлежат политикам хранения и использования для вашего типа учётной записи (см. раздел Хранение данных выше)

114* **Учётные данные:** Аутентификация GitHub обрабатывается через защищённый прокси; ваши учётные данные GitHub никогда не попадают в sandbox114* **Учётные данные:** Аутентификация GitHub обрабатывается через защищённый прокси; ваши учётные данные GitHub никогда не попадают в sandbox

Details

105Большинство сюрпризов конфигурации восходят к небольшому набору правил расположения и синтаксиса. Проверьте их перед тем, как предположить ошибку:105Большинство сюрпризов конфигурации восходят к небольшому набору правил расположения и синтаксиса. Проверьте их перед тем, как предположить ошибку:

106 106 

107| Симптом | Причина | Исправление |107| Симптом | Причина | Исправление |

108| :--------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |108| :--------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

109| Hook никогда не срабатывает | `matcher` — это JSON массив вместо строки | Используйте одну строку с `\|` для соответствия нескольким tools, например `"Edit\|Write"`. См. [matcher patterns](/docs/ru/hooks#matcher-patterns). |109| Hook никогда не срабатывает | `matcher` — это JSON массив вместо строки | Используйте одну строку с `\|` для соответствия нескольким tools, например `"Edit\|Write"`. См. [matcher patterns](/docs/ru/hooks#matcher-patterns). |

110| Hook никогда не срабатывает | `matcher` использует `,` как разделитель в версии до v2.1.191 | Claude Code v2.1.191 или позже рассматривает `,` как разделитель списка, как `\|`. Более ранние версии оценивают запятую как буквальный символ, поэтому `"Edit,Write"` ничему не соответствует. Используйте `\|` вместо этого или обновите Claude Code. |110| Hook никогда не срабатывает | `matcher` использует `,` как разделитель в версии до v2.1.191 | Claude Code v2.1.191 или позже рассматривает `,` как разделитель списка, как `\|`. Более ранние версии оценивают запятую как буквальный символ, поэтому `"Edit,Write"` ничему не соответствует. Используйте `\|` вместо этого или обновите Claude Code. |

111| Hook никогда не срабатывает | значение `matcher` в нижнем регистре, например `"bash"` | Соответствие чувствительно к регистру. Имена tools написаны с заглавной буквы: `Bash`, `Edit`, `Write`, `Read`. |111| Hook никогда не срабатывает | значение `matcher` в нижнем регистре, например `"bash"` | Соответствие чувствительно к регистру. Имена tools написаны с заглавной буквы: `Bash`, `Edit`, `Write`, `Read`. |


115| Skill не появляется в `/skills` | Файл skill находится в `.claude/skills/name.md` вместо папки | Используйте папку с `SKILL.md` внутри: `.claude/skills/name/SKILL.md`. |115| Skill не появляется в `/skills` | Файл skill находится в `.claude/skills/name.md` вместо папки | Используйте папку с `SKILL.md` внутри: `.claude/skills/name/SKILL.md`. |

116| Skill появляется в `/skills`, но Claude никогда его не вызывает | Skill имеет `disable-model-invocation: true` в своём frontmatter или его описание не совпадает с тем, как вы формулируете запрос | Проверьте значок в `/skills`: метка "user-only" означает, что Claude не будет его запускать самостоятельно. См. [skill invocation](/docs/ru/skills). |116| Skill появляется в `/skills`, но Claude никогда его не вызывает | Skill имеет `disable-model-invocation: true` в своём frontmatter или его описание не совпадает с тем, как вы формулируете запрос | Проверьте значок в `/skills`: метка "user-only" означает, что Claude не будет его запускать самостоятельно. См. [skill invocation](/docs/ru/skills). |

117| Инструкции в подпапке `CLAUDE.md` кажутся игнорируемыми | Файлы подпапок загружаются по требованию, а не при запуске сессии | Они загружаются, когда Claude читает файл в этой папке с помощью инструмента Read, а не при запуске и не при записи или создании файлов там. См. [как загружаются файлы CLAUDE.md](/docs/ru/memory#how-claude-md-files-load). |117| Инструкции в подпапке `CLAUDE.md` кажутся игнорируемыми | Файлы подпапок загружаются по требованию, а не при запуске сессии | Они загружаются, когда Claude читает файл в этой папке с помощью инструмента Read, а не при запуске и не при записи или создании файлов там. См. [как загружаются файлы CLAUDE.md](/docs/ru/memory#how-claude-md-files-load). |

118| Subagent игнорирует инструкции `CLAUDE.md` | Встроенные агенты Explore и Plan пропускают `CLAUDE.md`. Пользовательские subagents загружают его так же, как основной диалог | Для Explore или Plan переформулируйте инструкцию в своём делегирующем prompt. Для пользовательского subagent поместите критические инструкции в тело файла агента, которое становится системным prompt агента. См. [что загружается при запуске](/docs/ru/sub-agents#what-loads-at-startup). |118| Subagent игнорирует инструкции `CLAUDE.md` | Встроенные агенты Explore и Plan пропускают `CLAUDE.md`. Пользовательские subagents загружают его так же, как основной диалог, если только его определение не устанавливает [`omitClaudeMd`](/docs/ru/sub-agents#supported-frontmatter-fields) | Для Explore или Plan переформулируйте инструкцию в своём делегирующем prompt. Для subagent, который устанавливает `omitClaudeMd`, удалите это поле. Для любого другого пользовательского subagent поместите критические инструкции в тело файла агента, которое становится системным prompt агента. См. [что загружается при запуске](/docs/ru/sub-agents#what-loads-at-startup). |

119| Логика очистки никогда не запускается в конце сессии | Нет настроенного `SessionEnd` hook | Добавьте `SessionEnd` hook в `settings.json`. См. [hook events list](/docs/ru/hooks#hook-events). |119| Логика очистки никогда не запускается в конце сессии | Нет настроенного `SessionEnd` hook | Добавьте `SessionEnd` hook в `settings.json`. См. [hook events list](/docs/ru/hooks#hook-events). |

120| MCP серверы в `.mcp.json` никогда не загружаются | Файл находится под `.claude/` или его серверы находятся под ключом верхнего уровня `servers`, как в VS Code `mcp.json`, вместо `mcpServers` | Конфигурация MCP проекта находится в корне репозитория как `.mcp.json`, а не внутри `.claude/`, с серверами под ключом `mcpServers`. См. [MCP configuration](/docs/ru/mcp). |120| MCP серверы в `.mcp.json` никогда не загружаются | Файл находится под `.claude/` или его серверы находятся под ключом верхнего уровня `servers`, как в VS Code `mcp.json`, вместо `mcpServers` | Конфигурация MCP проекта находится в корне репозитория как `.mcp.json`, а не внутри `.claude/`, с серверами под ключом `mcpServers`. См. [MCP configuration](/docs/ru/mcp). |

121| MCP серверы добавлены под `mcpServers` в `settings.json`, но никогда не появляются | `settings.json` не читает ключ `mcpServers` | Определите серверы проекта в `.mcp.json` в корне репозитория или запустите `claude mcp add --scope user` для серверов с областью пользователя. См. [MCP configuration](/docs/ru/mcp). |121| MCP серверы добавлены под `mcpServers` в `settings.json`, но никогда не появляются | `settings.json` не читает ключ `mcpServers` | Определите серверы проекта в `.mcp.json` в корне репозитория или запустите `claude mcp add --scope user` для серверов с областью пользователя. См. [MCP configuration](/docs/ru/mcp). |

desktop.md +27 −17

Details

36* Позволить Claude [проверять, отправлять сообщения или архивировать ваши другие сеансы](#work-across-sessions)36* Позволить Claude [проверять, отправлять сообщения или архивировать ваши другие сеансы](#work-across-sessions)

37* [Подключить внешние инструменты](#connect-external-tools) такие как GitHub, Slack и Linear37* [Подключить внешние инструменты](#connect-external-tools) такие как GitHub, Slack и Linear

38* Позволить Claude [открывать приложения и управлять вашим экраном](#let-claude-use-your-computer)38* Позволить Claude [открывать приложения и управлять вашим экраном](#let-claude-use-your-computer)

39* Запускать на вашей машине, в [облаке](#run-long-running-tasks-remotely) или через [SSH](#ssh-sessions)39* Запускать на вашей машине, в [облаке](#run-long-running-tasks-in-the-cloud) или через [SSH](#ssh-sessions)

40 40 

41Для [запланированной повторяющейся работы](/docs/ru/desktop-scheduled-tasks), [сочетаний клавиш](#keyboard-shortcuts) или [отправки задач со своего телефона](#sessions-from-dispatch) см. связанные страницы и разделы. Если вы уже используете терминальный CLI, см. [сравнение CLI](#coming-from-the-cli) для того, что переносится.41Для [запланированной повторяющейся работы](/docs/ru/desktop-scheduled-tasks), [сочетаний клавиш](#keyboard-shortcuts) или [отправки задач со своего телефона](#sessions-from-dispatch) см. связанные страницы и разделы. Если вы уже используете терминальный CLI, см. [сравнение CLI](#coming-from-the-cli) для того, что переносится.

42 42 


47Перед отправкой первого сообщения настройте четыре параметра в области подсказки:47Перед отправкой первого сообщения настройте четыре параметра в области подсказки:

48 48 

49* **Environment**: выберите, где запускается Claude. Выберите **Local** для вашей машины, **Cloud** для [облачного сеанса](#cloud-sessions), который продолжается после закрытия приложения, [**SSH-соединение**](#ssh-sessions) для удалённой машины, которой вы управляете, или на Windows [**WSL-дистрибутив**](/docs/ru/desktop-wsl). См. [конфигурация окружения](#environment-configuration).49* **Environment**: выберите, где запускается Claude. Выберите **Local** для вашей машины, **Cloud** для [облачного сеанса](#cloud-sessions), который продолжается после закрытия приложения, [**SSH-соединение**](#ssh-sessions) для удалённой машины, которой вы управляете, или на Windows [**WSL-дистрибутив**](/docs/ru/desktop-wsl). См. [конфигурация окружения](#environment-configuration).

50* **Project folder**: выберите папку или репозиторий, с которым работает Claude. Для облачных сеансов вы можете добавить [несколько репозиториев](#run-long-running-tasks-remotely).50* **Project folder**: выберите папку или репозиторий, с которым работает Claude. Для облачных сеансов вы можете добавить [несколько репозиториев](#run-long-running-tasks-in-the-cloud).

51* **Model**: выберите [модель](/docs/ru/model-config#available-models) из раскрывающегося списка рядом с кнопкой отправки. Вы можете изменить это во время сеанса.51* **Model**: выберите [модель](/docs/ru/model-config#available-models) из раскрывающегося списка рядом с кнопкой отправки. Вы можете изменить это во время сеанса.

52* **Permission mode**: выберите, сколько автономности имеет Claude, из [селектора режима](#choose-a-permission-mode). Вы можете изменить это во время сеанса.52* **Permission mode**: выберите, сколько автономности имеет Claude, из [селектора режима](#choose-a-permission-mode). Вы можете изменить это во время сеанса.

53 53 


207 207 

208Вкладка Code построена вокруг панелей, которые вы можете организовать в любой макет: чат, diff, браузер, терминал, файл, план, задачи и подагент, а также [iOS Simulator](/docs/ru/desktop-ios-simulator) на macOS. Перетащите панель за её заголовок, чтобы переместить её, или перетащите край панели, чтобы изменить её размер. Нажмите **Cmd+\\** на macOS или **Ctrl+\\** на Windows, чтобы закрыть сфокусированную панель. Откройте дополнительные панели из меню **Views** в панели инструментов сеанса.208Вкладка Code построена вокруг панелей, которые вы можете организовать в любой макет: чат, diff, браузер, терминал, файл, план, задачи и подагент, а также [iOS Simulator](/docs/ru/desktop-ios-simulator) на macOS. Перетащите панель за её заголовок, чтобы переместить её, или перетащите край панели, чтобы изменить её размер. Нажмите **Cmd+\\** на macOS или **Ctrl+\\** на Windows, чтобы закрыть сфокусированную панель. Откройте дополнительные панели из меню **Views** в панели инструментов сеанса.

209 209 

210Чтобы работать на нескольких экранах, выведите панель, такую как diff или терминал, в отдельное окно и закрепите её обратно, когда закончите. Claude продолжает работать в главном окне.

211 

210<Note>212<Note>

211 Макет панели, терминал, редактор файлов и режимы просмотра в этом разделе требуют Claude Desktop v1.2581.0 или более поздней версии. Откройте **Claude → Check for Updates** на macOS или **Help → Check for Updates** на Windows для обновления.213 Макет панели, терминал, редактор файлов и режимы просмотра в этом разделе требуют Claude Desktop v1.2581.0 или более поздней версии. Откройте **Claude → Check for Updates** на macOS или **Help → Check for Updates** на Windows для обновления.

212</Note>214</Note>


240 Переключение режимов просмотра242 Переключение режимов просмотра

241</h3>243</h3>

242 244 

243Режимы просмотра контролируют, сколько деталей появляется в стенограмме чата. Переключайте режимы из раскрывающегося списка **Transcript view** рядом с кнопкой отправки, или нажмите **Ctrl+O** на macOS или Windows, чтобы циклически переходить через них.245Режимы просмотра контролируют, сколько деталей появляется в стенограмме чата. Переключайте режимы из раскрывающегося списка **Transcript view** рядом с кнопкой отправки, или нажмите **Ctrl+O** на macOS или Windows, чтобы циклически переходить через них. Режим Thinking появляется в раскрывающемся списке только после того, как Claude произвёл thinking в просматриваемом вами сеансе.

244 246 

245| Режим | Что показывается |247| Режим | Что показывается |

246| ----------- | --------------------------------------------------------------------------------- |248| ------------ | ------------------------------------------------------------------------------------------------------- |

247| **Normal** | Вызовы инструментов свёрнуты в сводки, с полными текстовыми ответами |249| **Normal** | Вызовы инструментов свёрнуты в сводки, с полными текстовыми ответами |

248| **Verbose** | Каждый вызов инструмента, чтение файла и промежуточный шаг, который делает Claude |250| **Thinking** | Вызовы инструментов свёрнуты в сводки, плюс thinking Claude |

249| **Summary** | Только финальные ответы Claude и сделанные им изменения |251| **Verbose** | Каждый вызов инструмента, чтение файла и промежуточный шаг, который делает Claude, плюс thinking Claude |

250 252 

251Используйте Verbose при отладке того, почему Claude предпринял конкретное действие. Используйте Summary, когда вы запускаете несколько сеансов и хотите быстро просканировать результаты.253Используйте Thinking, чтобы следить за рассуждениями Claude с вызовами инструментов, всё ещё свёрнутыми. Используйте Verbose при отладке того, почему Claude предпринял конкретное действие. Версии Claude Desktop до 1.46388.1 также содержат режим Summary, и сеанс, всё ещё установленный на Summary, открывается в Normal после обновления.

252 254 

253<h3 id="keyboard-shortcuts">255<h3 id="keyboard-shortcuts">

254 Сочетания клавиш256 Сочетания клавиш


296 298 

297Использование компьютера отключено по умолчанию. [Включите его в Settings](#enable-computer-use) перед тем, как Claude сможет управлять вашим экраном. На macOS вам также нужно предоставить разрешения Accessibility и Screen Recording.299Использование компьютера отключено по умолчанию. [Включите его в Settings](#enable-computer-use) перед тем, как Claude сможет управлять вашим экраном. На macOS вам также нужно предоставить разрешения Accessibility и Screen Recording.

298 300 

301На macOS использование компьютера также может работать в фоновом режиме: Claude работает в приложениях, которые вы одобрили, пока вы продолжаете работать.

302 

299<Warning>303<Warning>

300 В отличие от [изолированного инструмента Bash](/docs/ru/sandboxing), использование компьютера работает на вашем реальном рабочем столе с доступом к тому, что вы одобрите. Claude проверяет каждое действие и отмечает потенциальную инъекцию подсказок из содержимого на экране, но граница доверия отличается. См. [руководство по безопасности использования компьютера](https://support.claude.com/en/articles/14128542) для лучших практик.304 В отличие от [изолированного инструмента Bash](/docs/ru/sandboxing), использование компьютера работает на вашем реальном рабочем столе с доступом к тому, что вы одобрите. Claude проверяет каждое действие и отмечает потенциальную инъекцию подсказок из содержимого на экране, но граница доверия отличается. См. [руководство по безопасности использования компьютера](https://support.claude.com/en/articles/14128542) для лучших практик.

301</Warning>305</Warning>


360Вы можете настроить два параметра в **Settings > General** (под **Desktop app**):364Вы можете настроить два параметра в **Settings > General** (под **Desktop app**):

361 365 

362* **Denied apps**: добавьте приложения сюда, чтобы отклонить их без подсказки. Claude может всё ещё косвенно влиять на отклонённое приложение через действия в разрешённом приложении, но не может взаимодействовать с отклонённым приложением напрямую.366* **Denied apps**: добавьте приложения сюда, чтобы отклонить их без подсказки. Claude может всё ещё косвенно влиять на отклонённое приложение через действия в разрешённом приложении, но не может взаимодействовать с отклонённым приложением напрямую.

363* **Unhide apps when Claude finishes**: пока Claude работает, ваши другие окна скрыты, чтобы он взаимодействовал только с одобренным приложением. Когда Claude заканчивает, скрытые окна восстанавливаются, если вы не отключите этот параметр.367* **Unhide apps when Claude finishes**: когда использование компьютера не работает в фоновом режиме, Claude скрывает ваши другие окна, пока он работает, чтобы он взаимодействовал только с одобренным приложением. Когда Claude заканчивает, скрытые окна восстанавливаются, если вы не отключите этот параметр.

364 368 

365<h2 id="manage-sessions">369<h2 id="manage-sessions">

366 Управление сеансами370 Управление сеансами


388 392 

389Чтобы проверить использование контекста, см. [Проверка использования](#check-usage). Когда контекст заполняется, Claude автоматически суммирует разговор и продолжает работу. Вы также можете ввести `/compact` для запуска суммирования раньше и освобождения пространства контекста. См. [контекстное окно](/docs/ru/how-claude-code-works#the-context-window) для получения подробной информации о том, как работает компактирование.393Чтобы проверить использование контекста, см. [Проверка использования](#check-usage). Когда контекст заполняется, Claude автоматически суммирует разговор и продолжает работу. Вы также можете ввести `/compact` для запуска суммирования раньше и освобождения пространства контекста. См. [контекстное окно](/docs/ru/how-claude-code-works#the-context-window) для получения подробной информации о том, как работает компактирование.

390 394 

391Приложение для рабочего стола отправляет уведомление ОС, когда сеанс Code завершает задачу и вы в данный момент не просматриваете этот сеанс.395Приложение для рабочего стола отправляет уведомление ОС, когда сеанс Code завершает задачу и вы в данный момент не просматриваете этот сеанс. Для сеансов, которые принадлежат [проекту](/docs/ru/claude-projects#see-what-needs-you-in-overview), вы получаете уведомления проекта вместо этого.

392 396 

393<h3 id="ask-a-side-question-without-derailing-the-session">397<h3 id="ask-a-side-question-without-derailing-the-session">

394 Задайте боковой вопрос без отклонения сеанса398 Задайте боковой вопрос без отклонения сеанса


427 431 

428Claude также может предложить новые сеансы. Когда он замечает что-то стоящее исправления, что выходит за рамки текущей задачи, он предлагает работу как чип задачи в чате. Нажмите на чип, чтобы начать эту работу в новом сеансе со своим собственным worktree; Claude продолжает ваш текущий сеанс без перерыва.432Claude также может предложить новые сеансы. Когда он замечает что-то стоящее исправления, что выходит за рамки текущей задачи, он предлагает работу как чип задачи в чате. Нажмите на чип, чтобы начать эту работу в новом сеансе со своим собственным worktree; Claude продолжает ваш текущий сеанс без перерыва.

429 433 

430<h3 id="run-long-running-tasks-remotely">434<h3 id="run-long-running-tasks-in-the-cloud">

431 Запуск долгосрочных задач удалённо435 Запуск долгосрочных задач в облаке

432</h3>436</h3>

433 437 

434Для больших рефакторингов, наборов тестов, миграций или других долгосрочных задач выберите **Cloud** вместо **Local** при запуске сеанса. Облачные сеансы работают на облачной инфраструктуре, управляемой Anthropic, по умолчанию и продолжают работу даже если вы закроете приложение или выключите компьютер. Проверяйте прогресс в любое время или направляйте Claude в другом направлении. Вы также можете мониторить облачные сеансы из [claude.ai/code](https://claude.ai/code) или [приложения Claude для мобильных устройств](/docs/ru/mobile).438Для больших рефакторингов, наборов тестов, миграций или других долгосрочных задач выберите **Cloud** вместо **Local** при запуске сеанса. Облачные сеансы работают на облачной инфраструктуре, управляемой Anthropic, по умолчанию и продолжают работу даже если вы закроете приложение или выключите компьютер. Проверяйте прогресс в любое время или направляйте Claude в другом направлении. Вы также можете мониторить облачные сеансы из [claude.ai/code](https://claude.ai/code) или [приложения Claude для мобильных устройств](/docs/ru/mobile).

435 439 

436Облачные сеансы также поддерживают несколько репозиториев. После выбора облачного окружения нажмите кнопку **+** рядом с выбранным репозиторием, чтобы добавить дополнительные репозитории в сеанс. Каждый репо получает свой собственный селектор ветви. Это полезно для задач, охватывающих несколько кодовых баз, таких как обновление общей библиотеки и её потребителей.440Облачные сеансы также поддерживают несколько репозиториев. После выбора облачного окружения нажмите кнопку **+** рядом с выбранным репозиторием, чтобы добавить дополнительные репозитории в сеанс. Каждый репо получает свой собственный селектор ветви. Это полезно для задач, охватывающих несколько кодовых баз, таких как обновление общей библиотеки и её потребителей.

437 441 

438См. [Claude Code на веб-сайте](/docs/ru/claude-code-on-the-web) для получения дополнительной информации о том, как работают облачные сеансы.442См. [Claude Code на веб-сайте](/docs/ru/claude-code-on-the-web) для получения дополнительной информации о том, как работают облачные сеансы. Когда одна часть работы требует много облачных сеансов, выберите **Projects** в боковой панели, чтобы создать [проект](/docs/ru/claude-projects), где Claude запускает и отслеживает сеансы для вас из одного разговора.

439 443 

440<h3 id="continue-in-another-surface">444<h3 id="continue-in-another-surface">

441 Продолжение на другой поверхности445 Продолжение на другой поверхности


468 472 

469Подключайте внешние сервисы, добавляйте повторно используемые рабочие процессы, настраивайте поведение Claude и конфигурируйте серверы предпросмотра. Чтобы управлять коннекторами, skills и плагинами в одном месте, нажмите **Customize** на боковой панели. Вкладка [Cowork](https://claude.com/product/cowork) в приложении Desktop получает свои skills, плагины и коннекторы из этой конфигурации Customize, которая синхронизируется через вашу учётную запись claude.ai, а не из директории `~/.claude` CLI.473Подключайте внешние сервисы, добавляйте повторно используемые рабочие процессы, настраивайте поведение Claude и конфигурируйте серверы предпросмотра. Чтобы управлять коннекторами, skills и плагинами в одном месте, нажмите **Customize** на боковой панели. Вкладка [Cowork](https://claude.com/product/cowork) в приложении Desktop получает свои skills, плагины и коннекторы из этой конфигурации Customize, которая синхронизируется через вашу учётную запись claude.ai, а не из директории `~/.claude` CLI.

470 474 

475Claude Code также загружает skills и плагины, включённые для вашей учётной записи claude.ai в сеансах терминала, где вы входите с той же учётной записью. См. [Skills синхронизированные из claude.ai](/docs/ru/skills#how-synced-skills-behave) и [Plugins синхронизированные из claude.ai](/docs/ru/plugins-reference#synced-plugins).

476 

471<h3 id="connect-external-tools">477<h3 id="connect-external-tools">

472 Подключение внешних инструментов478 Подключение внешних инструментов

473</h3>479</h3>


488 494 

489Вы можете отправить команду, пока Claude работает, так же как любое другое сообщение, и сеанс вернётся в режим ожидания после завершения хода. До версии 2.1.206 команда, отправленная во время хода, могла оставить сеанс в состоянии выполнения, и сообщения, которые вы отправили впоследствии, не доставлялись.495Вы можете отправить команду, пока Claude работает, так же как любое другое сообщение, и сеанс вернётся в режим ожидания после завершения хода. До версии 2.1.206 команда, отправленная во время хода, могла оставить сеанс в состоянии выполнения, и сообщения, которые вы отправили впоследствии, не доставлялись.

490 496 

491Личные skills в `~/.claude/skills/` применяются к локальным сеансам; сеанс [SSH](#ssh-sessions) читает `~/.claude/skills/` из домашней директории удалённого хоста, а не с вашей машины. Облачные сеансы вместо этого загружают skills, включённые для вашей учётной записи claude.ai. См. [Skills в сеансах Cowork и облачных сеансах](/docs/ru/skills#skills-in-cowork-and-cloud-sessions).497Локальные сеансы загружают ваши личные skills из `~/.claude/skills/`. Сеанс [SSH](#ssh-sessions) читает `~/.claude/skills/` из домашней директории удалённого хоста, а не с вашей машины.

498 

499Локальные и облачные сеансы также загружают skills, включённые для вашей учётной записи claude.ai. Облачные сеансы загружают их вместо `~/.claude/skills/`, как описано в [Skills в сеансах Cowork и облачных сеансах](/docs/ru/skills#skills-in-cowork-and-cloud-sessions).

492 500 

493<h3 id="install-plugins">501<h3 id="install-plugins">

494 Установка плагинов502 Установка плагинов


565| `port` | number | Порт, на котором слушает ваш сервер. По умолчанию 3000 |573| `port` | number | Порт, на котором слушает ваш сервер. По умолчанию 3000 |

566| `cwd` | string | Рабочий каталог относительно корня вашего проекта. По умолчанию корень проекта. Используйте `${workspaceFolder}` для явной ссылки на корень проекта |574| `cwd` | string | Рабочий каталог относительно корня вашего проекта. По умолчанию корень проекта. Используйте `${workspaceFolder}` для явной ссылки на корень проекта |

567| `env` | object | Дополнительные переменные окружения как пары ключ-значение, такие как `{ "NODE_ENV": "development" }`. Не помещайте сюда секреты, так как этот файл фиксируется в вашем репо. Чтобы передать секреты вашему dev-серверу, установите их в [локальном редакторе окружения](#local-sessions) вместо этого. |575| `env` | object | Дополнительные переменные окружения как пары ключ-значение, такие как `{ "NODE_ENV": "development" }`. Не помещайте сюда секреты, так как этот файл фиксируется в вашем репо. Чтобы передать секреты вашему dev-серверу, установите их в [локальном редакторе окружения](#local-sessions) вместо этого. |

568| `autoPort` | boolean | Как обрабатывать конфликты портов. См. ниже |576| `autoPort` | boolean | Как обрабатывать конфликты портов. См. [Конфликты портов](#port-conflicts) |

569| `program` | string | Скрипт для запуска с `node`. См. [когда использовать `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |577| `program` | string | Скрипт для запуска с `node`. См. [когда использовать `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |

570| `args` | string\[] | Аргументы, передаваемые `program`. Используется только когда установлен `program` |578| `args` | string\[] | Аргументы, передаваемые `program`. Используется только когда установлен `program` |

571| `url` | string | Адрес, по которому открывается предпросмотр вместо `http://localhost:<port>`. См. [открыть предпросмотр по определённому URL](#open-the-preview-at-a-specific-url) |579| `url` | string | Адрес, по которому открывается предпросмотр вместо `http://localhost:<port>`. См. [открыть предпросмотр по определённому URL](#open-the-preview-at-a-specific-url) |


822Эти параметры настраиваются через [консоль параметров администратора](https://claude.ai/admin-settings/claude-code):830Эти параметры настраиваются через [консоль параметров администратора](https://claude.ai/admin-settings/claude-code):

823 831 

824* **Code in the desktop**: контролируйте, могут ли пользователи в вашей организации получать доступ к Claude Code в приложении desktop832* **Code in the desktop**: контролируйте, могут ли пользователи в вашей организации получать доступ к Claude Code в приложении desktop

825* **Code in the web**: включите или отключите [веб-сеансы](/docs/ru/claude-code-on-the-web) для вашей организации833* **Code in the web**: включите или отключите [облачные сеансы](/docs/ru/claude-code-on-the-web) для вашей организации

826* **Remote Control**: включите или отключите [Remote Control](/docs/ru/remote-control) для вашей организации834* **Remote Control**: включите или отключите [Remote Control](/docs/ru/remote-control) для вашей организации

827* **Disable Bypass permissions mode**: предотвратите пользователей в вашей организации от включения режима обхода разрешений835* **Disable Bypass permissions mode**: предотвратите пользователей в вашей организации от включения режима обхода разрешений

828 836 


949 Переход с CLI?957 Переход с CLI?

950</h2>958</h2>

951 959 

952Если вы уже используете Claude Code CLI, Desktop запускает тот же базовый механизм с графическим интерфейсом. Вы можете запускать оба одновременно на одной машине, даже на одном проекте. Каждый поддерживает отдельную историю сеансов, но они делят конфигурацию и память проекта через файлы CLAUDE.md.960Если вы уже используете Claude Code CLI, Desktop запускает тот же базовый механизм с графическим интерфейсом. Вы можете запускать оба одновременно на одной машине, даже на одном проекте. Каждый поддерживает отдельную историю сеансов, и вы можете перенести сеанс CLI в Desktop. Они делят конфигурацию и память проекта через файлы CLAUDE.md.

953 961 

954Чтобы переместить сеанс CLI в Desktop, запустите `/desktop` в терминале. Claude сохраняет ваш сеанс и открывает его в приложении desktop, затем выходит из CLI. Эта команда доступна на macOS и x64 Windows, когда вы вошли с подпиской Claude. Она недоступна при аутентификации по ключу API или на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry.962Чтобы переместить сеанс CLI в Desktop, запустите `/desktop` в терминале. Claude сохраняет ваш сеанс и открывает его в приложении desktop, затем выходит из CLI. Эта команда доступна на macOS и x64 Windows, когда вы вошли с подпиской Claude. Она недоступна при аутентификации по ключу API или на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry.

955 963 

964Чтобы продолжить сеанс CLI из Desktop, введите `/resume` в поле подсказки. Desktop выводит список сеансов, которые вы запустили из CLI, и вы можете искать их по названию, папке или ветке и просмотреть, где каждый из них остановился. Выберите сеанс, и он продолжится в приложении с полной историей разговора и контекстом.

965 

956<Tip>966<Tip>

957 Когда использовать Desktop vs CLI: используйте Desktop, когда вы хотите управлять параллельными сеансами в одном окне, организовать панели рядом или просмотреть изменения визуально. Используйте CLI, когда вам нужны скрипты, автоматизация или вы предпочитаете рабочий процесс терминала.967 Когда использовать Desktop vs CLI: используйте Desktop, когда вы хотите управлять параллельными сеансами в одном окне, организовать панели рядом или просмотреть изменения визуально. Используйте CLI, когда вам нужны скрипты, автоматизация или вы предпочитаете рабочий процесс терминала.

958</Tip>968</Tip>


966| CLI | Эквивалент Desktop |976| CLI | Эквивалент Desktop |

967| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |977| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

968| `--model sonnet` | Раскрывающийся список модели рядом с кнопкой отправки |978| `--model sonnet` | Раскрывающийся список модели рядом с кнопкой отправки |

969| `--resume`, `--continue` | Нажмите на сеанс в боковой панели |979| `--resume`, `--continue` | Нажмите на сеанс в боковой панели, или введите `/resume` в поле подсказки, чтобы продолжить сеанс, который вы запустили из CLI |

970| `--permission-mode` | Селектор режима рядом с кнопкой отправки |980| `--permission-mode` | Селектор режима рядом с кнопкой отправки |

971| `--dangerously-skip-permissions` | Режим Bypass permissions. На планах Pro и Max включите его в Settings → Claude Code → "Allow bypass permissions mode"; на планах Team и Enterprise политика организации контролирует это |981| `--dangerously-skip-permissions` | Режим Bypass permissions. На планах Pro и Max включите его в Settings → Claude Code → "Allow bypass permissions mode"; на планах Team и Enterprise политика организации контролирует это |

972| `--add-dir` | Добавьте несколько репо с кнопкой **+** в облачных сеансах |982| `--add-dir` | Добавьте несколько репо с кнопкой **+** в облачных сеансах |

Details

29 На этой странице "устройство" относится к симулированному iPhone или iPad, одному из тех же устройств симулятора, которыми вы управляете в Xcode в разделе **Window → Devices and Simulators**, а не к физическому оборудованию.29 На этой странице "устройство" относится к симулированному iPhone или iPad, одному из тех же устройств симулятора, которыми вы управляете в Xcode в разделе **Window → Devices and Simulators**, а не к физическому оборудованию.

30</Note>30</Note>

31 31 

32Панель симулятора доступна только в локальных сессиях. В [облачных](/docs/ru/desktop#run-long-running-tasks-remotely) и [SSH](/docs/ru/desktop#ssh-sessions) сессиях Claude работает на машине, которая не может получить доступ к симуляторам на вашем Mac.32Панель симулятора доступна только в локальных сессиях. В [облачных](/docs/ru/desktop#run-long-running-tasks-in-the-cloud) и [SSH](/docs/ru/desktop#ssh-sessions) сессиях Claude работает на машине, которая не может получить доступ к симуляторам на вашем Mac.

33 33 

34<h2 id="run-your-app-in-the-simulator">34<h2 id="run-your-app-in-the-simulator">

35 Запуск вашего приложения в симуляторе35 Запуск вашего приложения в симуляторе

Details

70 70 

71 Вы также можете выбрать:71 Вы также можете выбрать:

72 72 

73 * **Cloud**: Запускайте сеансы в облаке, которые продолжают работу даже если вы закроете приложение. Облачные сеансы используют ту же инфраструктуру, что и [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web).73 * **Cloud**: Запускайте сеансы в облаке, которые продолжают работу даже если вы закроете приложение. См. [Use Claude Code in the cloud](/docs/ru/claude-code-on-the-web) для информации о том, как работают облачные сеансы.

74 * **SSH**: Подключитесь к удаленной машине через SSH, например к вашим собственным серверам, облачным виртуальным машинам или контейнерам разработки. Desktop автоматически устанавливает Claude Code на удаленную машину при первом подключении.74 * **SSH**: Подключитесь к удаленной машине через SSH, например к вашим собственным серверам, облачным виртуальным машинам или контейнерам разработки. Desktop автоматически устанавливает Claude Code на удаленную машину при первом подключении.

75 * **WSL** (Windows): Запустите сеанс внутри [WSL 2 дистрибутива](/docs/ru/desktop-wsl); Claude Code, инструменты и git выполняются на стороне Linux с собственными путями.75 * **WSL** (Windows): Запустите сеанс внутри [WSL 2 дистрибутива](/docs/ru/desktop-wsl); Claude Code, инструменты и git выполняются на стороне Linux с собственными путями.

76 </Step>76 </Step>


134 134 

135**Поставьте Claude по расписанию.** Установите [scheduled tasks](/docs/ru/desktop-scheduled-tasks) для автоматического запуска Claude на регулярной основе: ежедневная проверка кода каждое утро, еженедельный аудит зависимостей или брифинг, который извлекает данные из ваших подключенных инструментов.135**Поставьте Claude по расписанию.** Установите [scheduled tasks](/docs/ru/desktop-scheduled-tasks) для автоматического запуска Claude на регулярной основе: ежедневная проверка кода каждое утро, еженедельный аудит зависимостей или брифинг, который извлекает данные из ваших подключенных инструментов.

136 136 

137**Масштабируйте, когда будете готовы.** Откройте [parallel sessions](/docs/ru/desktop#work-in-parallel-with-sessions) на боковой панели, чтобы работать над несколькими задачами одновременно, каждая в своем Git worktree, и откройте [tasks pane](/docs/ru/desktop#watch-background-tasks), чтобы наблюдать за подагентами и фоновыми командами, которые запускает сессия. Откройте [side chat](/docs/ru/desktop#ask-a-side-question-without-derailing-the-session), чтобы задать вопрос без отвлечения основного потока. Отправьте [long-running work to the cloud](/docs/ru/desktop#run-long-running-tasks-remotely), чтобы он продолжался даже если вы закроете приложение, или [continue a session on the web or in your IDE](/docs/ru/desktop#continue-in-another-surface), если задача займет больше времени, чем ожидалось. [Connect external tools](/docs/ru/desktop#extend-claude-code) такие как GitHub, Slack и Linear, чтобы объединить ваш рабочий процесс.137**Масштабируйте, когда будете готовы.** Откройте [parallel sessions](/docs/ru/desktop#work-in-parallel-with-sessions) на боковой панели, чтобы работать над несколькими задачами одновременно, каждая в своем Git worktree, и откройте [tasks pane](/docs/ru/desktop#watch-background-tasks), чтобы наблюдать за подагентами и фоновыми командами, которые запускает сессия. Откройте [side chat](/docs/ru/desktop#ask-a-side-question-without-derailing-the-session), чтобы задать вопрос без отвлечения основного потока. Отправьте [long-running work to the cloud](/docs/ru/desktop#run-long-running-tasks-in-the-cloud), чтобы он продолжался даже если вы закроете приложение, или [continue a session on the web or in your IDE](/docs/ru/desktop#continue-in-another-surface), если задача займет больше времени, чем ожидалось. [Connect external tools](/docs/ru/desktop#extend-claude-code) такие как GitHub, Slack и Linear, чтобы объединить ваш рабочий процесс.

138 138 

139<h2 id="what’s-next">139<h2 id="what’s-next">

140 Что дальше140 Что дальше

devcontainer.md +2 −2

Details

138 138 

139`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` также отключает оценку флагов функций, от которых зависят [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, требующие получения флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), поэтому сеансы в контейнере не могут их использовать.139`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` также отключает оценку флагов функций, от которых зависят [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, требующие получения флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), поэтому сеансы в контейнере не могут их использовать.

140 140 

141Функция Dev Container Feature всегда устанавливает последний выпуск Claude Code. Чтобы закрепить определенную версию Claude Code для воспроизводимых сборок, установите ее из вашего Dockerfile с помощью `npm install -g @anthropic-ai/claude-code@X.Y.Z` вместо использования функции и установите `DISABLE_AUTOUPDATER`, как показано выше.141Функция Dev Container Feature всегда устанавливает последний выпуск Claude Code. Чтобы закрепить определенную версию Claude Code для воспроизводимых сборок, установите ее из вашего Dockerfile с помощью `npm install -g @anthropic-ai/claude-code@X.Y.Z` вместо использования функции и установите `DISABLE_AUTOUPDATER` в `1` в `containerEnv`.

142 142 

143Для полного списка элементов управления политикой, включая правила разрешений, ограничения инструментов и списки разрешений серверов MCP, см. [Настройка Claude Code для вашей организации](/docs/ru/admin-setup).143Для полного списка элементов управления политикой, включая правила разрешений, ограничения инструментов и списки разрешений серверов MCP, см. [Настройка Claude Code для вашей организации](/docs/ru/admin-setup).

144 144 


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

204 204 

205* [Настройка Claude Code для вашей организации](/docs/ru/admin-setup): выбор поставщика аутентификации, решение о том, как политика достигает устройств, и планирование развертывания205* [Настройка Claude Code для вашей организации](/docs/ru/admin-setup): выбор поставщика аутентификации, решение о том, как политика достигает устройств, и планирование развертывания

206* [Параметры, управляемые сервером](/docs/ru/server-managed-settings): доставка управляемой политики из консоли администратора Claude.ai, чтобы инженеры не могли обойти ее, редактируя файлы репозитория206* [Параметры, управляемые сервером](/docs/ru/server-managed-settings): доставка управляемой политики из консоли администратора claude.ai, чтобы инженеры не могли обойти ее, редактируя файлы репозитория

207* [Мониторинг использования и аудит деятельности](/docs/ru/monitoring-usage): экспорт метрик OpenTelemetry и просмотр того, что запускает ваша команда207* [Мониторинг использования и аудит деятельности](/docs/ru/monitoring-usage): экспорт метрик OpenTelemetry и просмотр того, что запускает ваша команда

208* [Требования к сетевому доступу](/docs/ru/network-config#network-access-requirements): полный список доменов для прокси и брандмауэров208* [Требования к сетевому доступу](/docs/ru/network-config#network-access-requirements): полный список доменов для прокси и брандмауэров

209* [Услуги телеметрии и отказ](/docs/ru/data-usage#telemetry-services): что Claude Code отправляет по умолчанию и переменные окружения, которые это отключают209* [Услуги телеметрии и отказ](/docs/ru/data-usage#telemetry-services): что Claude Code отправляет по умолчанию и переменные окружения, которые это отключают

Details

8 8 

9Плагины расширяют Claude Code с помощью skills, agents, hooks и MCP servers. Маркетплейсы плагинов — это каталоги, которые помогают вам обнаруживать и устанавливать эти расширения без необходимости создавать их самостоятельно.9Плагины расширяют Claude Code с помощью skills, agents, hooks и MCP servers. Маркетплейсы плагинов — это каталоги, которые помогают вам обнаруживать и устанавливать эти расширения без необходимости создавать их самостоятельно.

10 10 

11Вы также можете включить плагины на claude.ai для себя или через вашу организацию. Claude Code синхронизирует их в ваши сеансы без установки через маркетплейс, как описано в разделе [Плагины, синхронизированные с claude.ai](/docs/ru/plugins-reference#synced-plugins).

12 

11Ищете способ создать и распространять свой собственный маркетплейс? См. [Создание и распространение маркетплейса плагинов](/docs/ru/plugin-marketplaces).13Ищете способ создать и распространять свой собственный маркетплейс? См. [Создание и распространение маркетплейса плагинов](/docs/ru/plugin-marketplaces).

12 14 

13<h2 id="how-marketplaces-work">15<h2 id="how-marketplaces-work">


78Вы также можете [создать свой собственный LSP plugin](/docs/ru/plugins-reference#lsp-servers) для других языков.80Вы также можете [создать свой собственный LSP plugin](/docs/ru/plugins-reference#lsp-servers) для других языков.

79 81 

80<Note>82<Note>

81 Если вы видите `Executable not found in $PATH` на вкладке `/plugin` Errors после установки плагина, установите требуемый двоичный файл из таблицы выше.83 Если вы видите `Executable not found in $PATH` на вкладке `/plugin` Errors после установки плагина, установите требуемый двоичный файл из таблицы [code intelligence](#code-intelligence) для этого плагина.

82</Note>84</Note>

83 85 

84<h4 id="what-claude-gains-from-code-intelligence-plugins">86<h4 id="what-claude-gains-from-code-intelligence-plugins">


237* **Git URLs**: любой URL репозитория git, включая GitLab, Bitbucket и самостоятельно размещенные серверы239* **Git URLs**: любой URL репозитория git, включая GitLab, Bitbucket и самостоятельно размещенные серверы

238* **Local paths**: каталоги или прямые пути к файлам `marketplace.json`240* **Local paths**: каталоги или прямые пути к файлам `marketplace.json`

239* **Remote URLs**: прямые URL к размещенным файлам `marketplace.json`241* **Remote URLs**: прямые URL к размещенным файлам `marketplace.json`

242* **claude.ai**: маркетплейсы, размещенные на claude.ai для вашей учетной записи, такие как библиотека плагинов вашей организации, которые вы [добавляете по имени из вкладки **Marketplaces** или вашей оболочки](#add-from-claude-ai), а не по источнику

240 243 

241<h3 id="add-from-github">244<h3 id="add-from-github">

242 Добавление из GitHub245 Добавление из GitHub


314 Маркетплейсы на основе URL имеют некоторые ограничения по сравнению с маркетплейсами на основе Git. Если установка плагинов из маркетплейса на основе URL не удается, см. [Troubleshooting](/docs/ru/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).317 Маркетплейсы на основе URL имеют некоторые ограничения по сравнению с маркетплейсами на основе Git. Если установка плагинов из маркетплейса на основе URL не удается, см. [Troubleshooting](/docs/ru/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).

315</Note>318</Note>

316 319 

320<h3 id="add-from-claude-ai">

321 Добавление из claude.ai

322</h3>

323 

324В сеансах терминала, где [плагины синхронизируются с вашей учетной записью claude.ai](/docs/ru/plugins-reference#synced-plugins), claude.ai также может перечислять маркетплейсы для вас, такие как библиотека плагинов вашей организации и ваши собственные загрузки на claude.ai. `claude plugin marketplace list` выводит их в разделе `From claude.ai:`, и вкладка `/plugin` **Marketplaces** их отображает. Выберите один там, чтобы добавить его. Добавление маркетплейса из claude.ai требует Claude Code v2.1.273 или более поздней версии.

325 

326Чтобы добавить его из вашей оболочки, запустите `claude plugin marketplace add` с флагом `--claudeai` и именем, показанным в списке:

327 

328```bash theme={null}

329claude plugin marketplace add --claudeai claudeai-organization-library

330```

331 

332Claude Code регистрирует маркетплейс под локальным именем, которое начинается с `claudeai-`, полученным из имени, под которым claude.ai его перечисляет: маркетплейс, указанный как "Organization library", регистрируется как `claudeai-organization-library`. Установите его плагины по этому имени, например с помощью `claude plugin install <plugin>@claudeai-organization-library`.

333 

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

335 

336Раздел `From claude.ai:` также может перечислять маркетплейсы на основе git, общие через claude.ai. Вы добавляете их с помощью обычной команды `marketplace add`, используя источник, который выводит список.

337 

317<h2 id="install-plugins">338<h2 id="install-plugins">

318 Установка плагинов339 Установка плагинов

319</h2>340</h2>

320 341 

321После добавления маркетплейсов вы можете установить плагин по имени:342После добавления маркетплейсов вы можете установить плагин по имени. Для маркетплейса, который вы ещё не добавили, вы можете вместо этого [добавить его и установить в одной команде](#add-a-marketplace-and-install-in-one-command).

343 

344Для установки по имени:

322 345 

323```shell theme={null}346```shell theme={null}

324/plugin install plugin-name@marketplace-name347/plugin install plugin-name@marketplace-name


360 Убедитесь, что вы доверяете плагину перед его установкой. Anthropic не контролирует, какие MCP servers, файлы или другое программное обеспечение включены в плагины, и не может проверить, что они работают как предполагается. Проверьте домашнюю страницу каждого плагина для получения дополнительной информации.383 Убедитесь, что вы доверяете плагину перед его установкой. Anthropic не контролирует, какие MCP servers, файлы или другое программное обеспечение включены в плагины, и не может проверить, что они работают как предполагается. Проверьте домашнюю страницу каждого плагина для получения дополнительной информации.

361</Warning>384</Warning>

362 385 

386<h3 id="add-a-marketplace-and-install-in-one-command">

387 Добавление маркетплейса и установка в одной команде

388</h3>

389 

390Чтобы установить плагин из маркетплейса, который вы ещё не добавили, укажите источник маркетплейса с помощью `--marketplace`. Требуется Claude Code версии 2.1.275 или позже.

391 

392```shell theme={null}

393/plugin install quality-review-plugin --marketplace your-org/plugins

394```

395 

396Источник принимает [те же формы, что и `/plugin marketplace add`](#add-marketplaces), такие как GitHub `owner/repo`, URL git или локальный путь, за исключением того, что он не может содержать пробелы. Укажите имя плагина без суффикса `@marketplace`.

397 

398Если вы ещё не добавили этот маркетплейс, Claude Code показывает разрешённый источник и просит вас подтвердить перед добавлением. Отказ отменяет установку и ничего не добавляет. После добавления маркетплейса открываются детали плагина и вы выбираете [область установки](/docs/ru/settings#where-settings-live).

399 

363<h2 id="manage-installed-plugins">400<h2 id="manage-installed-plugins">

364 Управление установленными плагинами401 Управление установленными плагинами

365</h2>402</h2>


372* ввести текст для фильтрации по имени плагина или описанию409* ввести текст для фильтрации по имени плагина или описанию

373* нажать Enter, чтобы открыть подробный вид плагина и включить, отключить или удалить его410* нажать Enter, чтобы открыть подробный вид плагина и включить, отключить или удалить его

374 411 

412Claude Code также отображает [плагины, синхронизированные с вашей учетной записью claude.ai](/docs/ru/plugins-reference#synced-plugins) на вкладке **Installed** с `synced` в качестве их источника. Вы можете включить или отключить один там, если ваша организация не отметила его как обязательный. Чтобы удалить один, отключите его на claude.ai. Синхронизированные плагины появляются в сеансах терминала в Claude Code v2.1.273 или более поздней версии.

413 

375Когда вы удаляете плагин, который `.claude/settings.json` проекта включает, Claude Code спрашивает, какую область вы имеете в виду: отключить его только для вас, что записывает переопределение в ваш `.claude/settings.local.json` и оставляет плагин установленным для проекта, или удалить его для всех, что удаляет его из общего `.claude/settings.json`.414Когда вы удаляете плагин, который `.claude/settings.json` проекта включает, Claude Code спрашивает, какую область вы имеете в виду: отключить его только для вас, что записывает переопределение в ваш `.claude/settings.local.json` и оставляет плагин установленным для проекта, или удалить его для всех, что удаляет его из общего `.claude/settings.json`.

376 415 

377Подробный вид показывает компоненты, которые предоставляет плагин: команды, skills, agents, hooks, MCP servers и LSP servers. Тот же инвентарь доступен из командной строки с помощью `claude plugin details`.416Подробный вид показывает компоненты, которые предоставляет плагин: команды, skills, agents, hooks, MCP servers и LSP servers. Тот же инвентарь доступен из командной строки с помощью `claude plugin details`.


444* Команду `claude plugin`, которую вы запустили в другом терминале483* Команду `claude plugin`, которую вы запустили в другом терминале

445* Редактирование плагина, который вы загрузили с помощью [`--plugin-dir`](/docs/ru/plugins#test-your-plugins-locally) во время его разработки484* Редактирование плагина, который вы загрузили с помощью [`--plugin-dir`](/docs/ru/plugins#test-your-plugins-locally) во время его разработки

446* Плагин [auto-update](#configure-auto-updates), чье уведомление просит вас перезагрузить485* Плагин [auto-update](#configure-auto-updates), чье уведомление просит вас перезагрузить

486* [Синхронизацию с вашей учетной записью claude.ai](/docs/ru/plugins-reference#synced-plugins), которая добавила, обновила или удалила плагин и показала уведомление, просящее вас перезагрузить

447* Изменение в папке [`--plugin-dir`](/docs/ru/plugins#test-your-plugins-locally), которое Claude Code удерживал, потому что применение его сделало бы кэш подсказок недействительным487* Изменение в папке [`--plugin-dir`](/docs/ru/plugins#test-your-plugins-locally), которое Claude Code удерживал, потому что применение его сделало бы кэш подсказок недействительным

448 488 

449До v2.1.268 плагины, которые вы включили, отключили или удалили в меню, и установки, которые не активировались во время установки, оставались в ожидании до тех пор, пока вы не запустили `/reload-plugins`.489До v2.1.268 плагины, которые вы включили, отключили или удалили в меню, и установки, которые не активировались во время установки, оставались в ожидании до тех пор, пока вы не запустили `/reload-plugins`.


5213. Выберите маркетплейс из списка5613. Выберите маркетплейс из списка

5224. Выберите **Enable auto-update** или **Disable auto-update**5624. Выберите **Enable auto-update** или **Disable auto-update**

523 563 

524`claude-plugins-official` и большинство других официальных маркетплейсов Anthropic имеют автоматическое обновление, включенное по умолчанию. Маркетплейсы третьих сторон и локальной разработки имеют автоматическое обновление, отключенное по умолчанию.564`claude-plugins-official`, большинство других официальных маркетплейсов Anthropic и [маркетплейсы, добавленные из claude.ai](#add-from-claude-ai) имеют автоматическое обновление, включенное по умолчанию. Маркетплейсы третьих сторон и локальной разработки имеют автоматическое обновление, отключенное по умолчанию.

525 565 

526Администраторы также могут установить `"autoUpdate": true` для каждой записи [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) в управляемых параметрах, чтобы включить автоматическое обновление для маркетплейса организации без необходимости переключения каждым пользователем.566Администраторы также могут установить `"autoUpdate": true` для каждой записи [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) в управляемых параметрах, чтобы включить автоматическое обновление для маркетплейса организации без необходимости переключения каждым пользователем.

527 567 

env-vars.md +269 −260

Details

124 Переменные124 Переменные

125</h2>125</h2>

126 126 

127Числовые переменные, такие как таймауты, бюджеты токенов и количество повторов, принимают научную нотацию и написание с разделителями цифр в дополнение к простым цифрам, за исключением случаев, когда в строке переменной указано, что она принимает только простые цифры. Например, Claude Code читает `2e3` как 2000 и `64_000` как 64000. До версии 2.1.211 эти написания могли молча устанавливать гораздо меньшее значение, например `1e6` устанавливал таймаут на 1.127Числовые переменные, такие как таймауты, бюджеты токенов и количество повторов, принимают научную нотацию и написание с разделителями цифр в дополнение к простым цифрам, за исключением случаев, когда в строке переменной указано, что она принимает только простые цифры. Например, Claude Code читает `2e3` как 2000 и `64_000` как 64000. До версии 2.1.211 эти написания могли молча установить гораздо меньшее значение, например `1e6` установить таймаут на 1.

128 128 

129<Note>129<Note>

130 Для переменных, которые включают или отключают поведение, установите `1` или `true` для включения и `0` или `false` для отключения, в любом регистре.130 Для переменных, которые включают или отключают поведение, установите `1` или `true` для включения и `0` или `false` для отключения, в любом регистре.


142</Note>142</Note>

143 143 

144| Переменная | Назначение |144| Переменная | Назначение |

145| :------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |145| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

146| `ANTHROPIC_API_KEY` | Ключ API отправляется как заголовок `X-Api-Key`. Если установлен, этот ключ используется вместо вашей подписки Claude Pro, Max, Team или Enterprise, даже если вы вошли в систему. В неинтерактивном режиме (`-p`) ключ всегда используется при наличии. В интерактивном режиме вас просят одобрить ключ один раз перед тем, как он переопределит вашу подписку. Чтобы использовать вашу подписку, запустите `unset ANTHROPIC_API_KEY` |146| `ANTHROPIC_API_KEY` | Ключ API отправляется как заголовок `X-Api-Key`. Если установлен, этот ключ используется вместо вашей подписки Claude Pro, Max, Team или Enterprise, даже если вы вошли в систему. В неинтерактивном режиме (`-p`) ключ всегда используется при наличии. В интерактивном режиме вас просят одобрить ключ один раз перед тем, как он переопределит вашу подписку. Чтобы использовать вашу подписку, запустите `unset ANTHROPIC_API_KEY` |

147| `ANTHROPIC_AUTH_TOKEN` | Пользовательское значение для заголовка `Authorization` (значение, которое вы установите здесь, будет дополнено префиксом `Bearer `) |147| `ANTHROPIC_AUTH_TOKEN` | Пользовательское значение для заголовка `Authorization` (значение, которое вы установите здесь, будет дополнено префиксом `Bearer `) |

148| `ANTHROPIC_AWS_API_KEY` | Ключ API рабочей области для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), созданный в консоли AWS. Отправляется как `x-api-key` и имеет приоритет над AWS SigV4 |148| `ANTHROPIC_AWS_API_KEY` | Ключ API рабочей области для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), созданный в консоли AWS. Отправляется как `x-api-key` и имеет приоритет над AWS SigV4 |

149| `ANTHROPIC_AWS_BASE_URL` | Переопределить URL конечной точки [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Используйте для пользовательских регионов или при маршрутизации через [LLM gateway](/docs/ru/llm-gateway). По умолчанию `https://aws-external-anthropic.{region}.api.aws`. Claude Code разрешает регион с [тем же приоритетом, что и на Amazon Bedrock](/docs/ru/amazon-bedrock#3-configure-claude-code) |149| `ANTHROPIC_AWS_BASE_URL` | Переопределить URL конечной точки [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Используйте для пользовательских регионов или при маршрутизации через [LLM gateway](/docs/ru/llm-gateway). По умолчанию `https://aws-external-anthropic.{region}.api.aws`. Claude Code разрешает регион с [тем же приоритетом, что и на Amazon Bedrock](/docs/ru/amazon-bedrock#3-configure-claude-code) |

150| `ANTHROPIC_AWS_WORKSPACE_ID` | Требуется для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Отправляется в каждом запросе как заголовок `anthropic-workspace-id` |150| `ANTHROPIC_AWS_WORKSPACE_ID` | Требуется для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Отправляется при каждом запросе как заголовок `anthropic-workspace-id` |

151| `ANTHROPIC_BASE_URL` | Переопределить конечную точку API для маршрутизации запросов через прокси или шлюз. Если установлено на хост, не являющийся первой стороной, [поиск инструментов MCP](/docs/ru/mcp#scale-with-mcp-tool-search) отключен по умолчанию. Установите `ENABLE_TOOL_SEARCH=true`, если ваш прокси пересылает блоки `tool_reference`. Начиная с версии 2.1.196, [Remote Control](/docs/ru/remote-control#requirements) отключен, когда это указывает на хост, отличный от `api.anthropic.com`, что соответствует его поведению на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry |151| `ANTHROPIC_BASE_URL` | Переопределить конечную точку API для маршрутизации запросов через прокси или шлюз. Если установлено на хост, не являющийся первой стороной, [поиск инструментов MCP](/docs/ru/mcp#scale-with-mcp-tool-search) отключен по умолчанию. Установите `ENABLE_TOOL_SEARCH=true`, если ваш прокси пересылает блоки `tool_reference`. Начиная с версии 2.1.196, [Remote Control](/docs/ru/remote-control#requirements) отключен, когда это указывает на хост, отличный от `api.anthropic.com`, что соответствует его поведению на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry |

152| `ANTHROPIC_BEDROCK_BASE_URL` | Переопределить URL конечной точки Amazon Bedrock. Используйте для пользовательских конечных точек Amazon Bedrock или при маршрутизации через [LLM gateway](/docs/ru/llm-gateway). См. [Amazon Bedrock](/docs/ru/amazon-bedrock) |152| `ANTHROPIC_BEDROCK_BASE_URL` | Переопределить URL конечной точки Amazon Bedrock. Используйте для пользовательских конечных точек Amazon Bedrock или при маршрутизации через [LLM gateway](/docs/ru/llm-gateway). См. [Amazon Bedrock](/docs/ru/amazon-bedrock) |

153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Переопределить URL конечной точки Amazon Bedrock Mantle. См. [Конечная точка Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) |153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Переопределить URL конечной точки Amazon Bedrock Mantle. См. [Конечная точка Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) |

154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Префикс профиля кросс-региональной логической обработки (`us`, `eu`, `apac`, `jp`, `au` или `global`) Claude Code пытается сначала вместо того, который получен из региона AWS. Игнорируется в регионах AWS GovCloud. Требует Claude Code версии 2.1.224 или позже. См. [Amazon Bedrock](/docs/ru/amazon-bedrock#cross-region-inference-profile-prefixes) |154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Префикс профиля кросс-региональной логической обработки (`us`, `eu`, `apac`, `jp`, `au` или `global`) Claude Code пытается сначала вместо того, который получен из региона AWS. Игнорируется в регионах AWS GovCloud. Требует Claude Code версии 2.1.224 или позже. См. [Amazon Bedrock](/docs/ru/amazon-bedrock#cross-region-inference-profile-prefixes) |

155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [уровень обслуживания](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` или `priority`). Отправляется как заголовок `X-Amzn-Bedrock-Service-Tier`. См. [Amazon Bedrock](/docs/ru/amazon-bedrock#service-tiers) |155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [уровень обслуживания](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` или `priority`). Отправляется как заголовок `X-Amzn-Bedrock-Service-Tier`. См. [Amazon Bedrock](/docs/ru/amazon-bedrock#service-tiers) |

156| `ANTHROPIC_BETAS` | Разделенный запятыми список дополнительных значений заголовка `anthropic-beta` для включения в запросы API. Claude Code уже отправляет необходимые ему бета-заголовки; используйте это для участия в [бета-версии Anthropic API](https://platform.claude.com/docs/en/api/beta-headers) перед тем, как Claude Code добавит встроенную поддержку. В отличие от флага [`--betas`](/docs/ru/cli-reference#cli-flags), который требует аутентификации с помощью ключа API, эта переменная работает со всеми методами аутентификации, включая подписку Claude.ai |156| `ANTHROPIC_BETAS` | Разделенный запятыми список дополнительных значений заголовка `anthropic-beta` для включения в запросы API. Claude Code уже отправляет необходимые ему бета-заголовки; используйте это для участия в [бета-версии Anthropic API](https://platform.claude.com/docs/en/api/beta-headers) перед тем, как Claude Code добавит встроенную поддержку. В отличие от флага [`--betas`](/docs/ru/cli-reference#cli-flags), который требует аутентификации с помощью ключа API, эта переменная работает со всеми методами аутентификации, включая подписку Claude.ai |

157| `ANTHROPIC_CUSTOM_HEADERS` | Пользовательские заголовки для добавления к запросам (формат `Name: Value`, разделенные новой строкой для нескольких заголовков). Если имя или значение содержит символ, который HTTP-заголовок не может нести, например фигурную кавычку или нулевой пробел, запрос завершается с ошибкой, которая определяет пару по позиции. Требует Claude Code версии 2.1.227 или позже. [Invalid request header value](/docs/ru/errors#invalid-request-header-value) перечисляет точный набор символов и где выполняется проверка. Значение, которое устанавливает учетные данные, организацию или тенант, маршрутизацию или заголовок поведения API, такой как `Authorization` или `Host`, считается [параметром, требующим одобрения](/docs/ru/server-managed-settings#environment-variables-and-the-approval-dialog), когда управляемые сервером параметры его доставляют. Из параметров проекта или локальных параметров такое значение следует [правилам для применения значений `env`](/docs/ru/settings-reference#when-claude-code-applies-env-values) |157| `ANTHROPIC_CUSTOM_HEADERS` | Пользовательские заголовки для добавления к запросам (формат `Name: Value`, разделенные новой строкой для нескольких заголовков). Если имя или значение содержит символ, который HTTP-заголовок не может нести, например фигурную кавычку или пробел нулевой ширины, запрос завершается с ошибкой, которая определяет пару по позиции. Требует Claude Code версии 2.1.227 или позже. [Invalid request header value](/docs/ru/errors#invalid-request-header-value) перечисляет точный набор символов и где выполняется проверка. Значение, которое устанавливает учетные данные, организацию или тенант, маршрутизацию или заголовок поведения API, такой как `Authorization` или `Host`, считается [параметром, требующим одобрения](/docs/ru/server-managed-settings#environment-variables-and-the-approval-dialog), когда управляемые на сервере параметры доставляют его. Из параметров проекта или локальных параметров такое значение следует [правилам для применения значений `env`](/docs/ru/settings-reference#when-claude-code-applies-env-values) |

158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID модели для добавления в качестве пользовательской записи в средство выбора `/model`. Используйте это, чтобы сделать нестандартную или специфичную для шлюза модель выбираемой без замены встроенных псевдонимов. См. [Конфигурация модели](/docs/ru/model-config#add-a-custom-model-option) |158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID модели для добавления в качестве пользовательской записи в средство выбора `/model`. Используйте это, чтобы сделать нестандартную или специфичную для шлюза модель выбираемой без замены встроенных псевдонимов. См. [Конфигурация модели](/docs/ru/model-config#add-a-custom-model-option) |

159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Описание отображения для пользовательской записи модели в средстве выбора `/model`. По умолчанию `Custom model (<model-id>)`, если не установлено |159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Описание отображения для пользовательской записи модели в средстве выбора `/model`. По умолчанию `Custom model (<model-id>)`, если не установлено |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Имя отображения для пользовательской записи модели в средстве выбора `/model`. Если не установлено, запись показывает имя модели, если Claude Code [распознает ID](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), и ID модели в противном случае |160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Отображаемое имя для пользовательской записи модели в средстве выбора `/model`. Если не установлено, запись показывает имя модели, если Claude Code [распознает ID](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), и ID модели в противном случае |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает пользовательская модель, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает пользовательская модель, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID модели, на которую разрешается псевдоним `fable`, и ID, который Claude Code распознает как модель Fable для [автоматического переключения модели](/docs/ru/model-config#automatic-model-fallback) на сторонних поставщиках. См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID модели, на которую разрешается псевдоним `fable`, и ID, который Claude Code распознает как модель Fable для [автоматического переключения модели](/docs/ru/model-config#automatic-model-fallback) на сторонних поставщиков. См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |

163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Описание отображения для закрепленной модели Fable в средстве выбора `/model`. Если не установлено, строка показывает описание по умолчанию, начинающееся с `Custom Fable model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Описание отображения для закрепленной модели Fable в средстве выбора `/model`. Если не установлено, строка показывает описание по умолчанию, начинающееся с `Custom Fable model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Имя отображения для закрепленной модели Fable в средстве выбора `/model`. Если не установлено, строка показывает имя модели, если Claude Code распознает закрепленный ID, и закрепленный ID в противном случае. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Отображаемое имя для закрепленной модели Fable в средстве выбора `/model`. Если не установлено, строка показывает имя модели, если Claude Code распознает закрепленный ID, и закрепленный ID в противном случае. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает закрепленная модель Fable, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает закрепленная модель Fable, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID модели, на которую разрешается псевдоним `haiku`, также используется для [фоновой функциональности](/docs/ru/costs#background-token-usage). См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID модели, на которую разрешается псевдоним `haiku`, также используется для [фоновой функциональности](/docs/ru/costs#background-token-usage). См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |

167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Описание отображения для закрепленной модели Haiku в средстве выбора `/model`. Если не установлено, строка показывает описание по умолчанию, начинающееся с `Custom Haiku model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Описание отображения для закрепленной модели Haiku в средстве выбора `/model`. Если не установлено, строка показывает описание по умолчанию, начинающееся с `Custom Haiku model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Имя отображения для закрепленной модели Haiku в средстве выбора `/model`. Если не установлено, строка показывает имя модели, если Claude Code распознает закрепленный ID, и закрепленный ID в противном случае. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Отображаемое имя для закрепленной модели Haiku в средстве выбора `/model`. Если не установлено, строка показывает имя модели, если Claude Code распознает закрепленный ID, и закрепленный ID в противном случае. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает закрепленная модель Haiku, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает закрепленная модель Haiku, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_MODEL` | Модель, на которой новые сеансы начинаются по умолчанию. Требует Claude Code версии 2.1.236 или позже. См. [Установить модель по умолчанию для новых сеансов](/docs/ru/model-config#set-a-default-model-for-new-sessions) |170| `ANTHROPIC_DEFAULT_MODEL` | Модель, на которой новые сеансы начинаются по умолчанию. Требует Claude Code версии 2.1.236 или позже. См. [Установить модель по умолчанию для новых сеансов](/docs/ru/model-config#set-a-default-model-for-new-sessions) |

171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID модели, на которую разрешается псевдоним `opus`, и которую `opusplan` использует, пока активен Plan Mode. См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID модели, на которую разрешается псевдоним `opus`, и которую использует `opusplan` во время активного режима Plan Mode. См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |

172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Описание отображения для закрепленной модели Opus в средстве выбора `/model`. Если не установлено, строка показывает описание по умолчанию, начинающееся с `Custom Opus model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Описание отображения для закрепленной модели Opus в средстве выбора `/model`. Если не установлено, строка показывает описание по умолчанию, начинающееся с `Custom Opus model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Имя отображения для закрепленной модели Opus в средстве выбора `/model`. Если не установлено, строка показывает имя модели, если Claude Code распознает закрепленный ID, и закрепленный ID в противном случае. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Отображаемое имя для закрепленной модели Opus в средстве выбора `/model`. Если не установлено, строка показывает имя модели, если Claude Code распознает закрепленный ID, и закрепленный ID в противном случае. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает закрепленная модель Opus, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает закрепленная модель Opus, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID модели, на которую разрешается псевдоним `sonnet`, и которую `opusplan` использует, когда Plan Mode не активен. См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID модели, на которую разрешается псевдоним `sonnet`, и которую использует `opusplan`, когда режим Plan Mode не активен. См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |

176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Описание отображения для закрепленной модели Sonnet в средстве выбора `/model`. Если не установлено, строка показывает описание по умолчанию, начинающееся с `Custom Sonnet model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Описание отображения для закрепленной модели Sonnet в средстве выбора `/model`. Если не установлено, строка показывает описание по умолчанию, начинающееся с `Custom Sonnet model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Имя отображения для закрепленной модели Sonnet в средстве выбора `/model`. Если не установлено, строка показывает имя модели, если Claude Code распознает закрепленный ID, и закрепленный ID в противном случае. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Отображаемое имя для закрепленной модели Sonnet в средстве выбора `/model`. Если не установлено, строка показывает имя модели, если Claude Code распознает закрепленный ID, и закрепленный ID в противном случае. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает закрепленная модель Sonnet, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Разделенный запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), которые поддерживает закрепленная модель Sonnet, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_FEDERATION_RULE_ID` | ID правила федерации для [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Когда вы устанавливаете его вместе с `ANTHROPIC_ORGANIZATION_ID`, Claude Code выбирает учетные данные федерации, которые имеют приоритет над вашим учетным данным `/login`. См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |179| `ANTHROPIC_FEDERATION_RULE_ID` | ID правила федерации для [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Когда вы устанавливаете его вместе с `ANTHROPIC_ORGANIZATION_ID`, Claude Code выбирает учетные данные федерации, которые имеют приоритет над вашим учетным данным `/login`. См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |

180| `ANTHROPIC_FOUNDRY_API_KEY` | Ключ API для аутентификации Microsoft Foundry (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |180| `ANTHROPIC_FOUNDRY_API_KEY` | Ключ API для аутентификации Microsoft Foundry (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |


183| `ANTHROPIC_FOUNDRY_RESOURCE` | Имя ресурса Microsoft Foundry (например, `my-resource`). Требуется, если `ANTHROPIC_FOUNDRY_BASE_URL` не установлен (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |183| `ANTHROPIC_FOUNDRY_RESOURCE` | Имя ресурса Microsoft Foundry (например, `my-resource`). Требуется, если `ANTHROPIC_FOUNDRY_BASE_URL` не установлен (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |

184| `ANTHROPIC_MODEL` | Имя параметра модели для использования (см. [Конфигурация модели](/docs/ru/model-config#environment-variables)) |184| `ANTHROPIC_MODEL` | Имя параметра модели для использования (см. [Конфигурация модели](/docs/ru/model-config#environment-variables)) |

185| `ANTHROPIC_ORGANIZATION_ID` | ID организации для [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Установите его вместе с `ANTHROPIC_FEDERATION_RULE_ID`. См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |185| `ANTHROPIC_ORGANIZATION_ID` | ID организации для [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Установите его вместе с `ANTHROPIC_FEDERATION_RULE_ID`. См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |

186| `ANTHROPIC_PROFILE` | Имя профиля Anthropic для аутентификации, такого как созданный [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) или [вход в учетную запись Console без ключа API](/docs/ru/authentication#sign-in-without-an-api-key). См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |186| `ANTHROPIC_PROFILE` | Имя профиля Anthropic для аутентификации, такого как созданный [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) или [входом в учетную запись Console без ключа API](/docs/ru/authentication#sign-in-without-an-api-key). См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |

187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Имя [модели класса Haiku для фоновых задач](/docs/ru/costs) |187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Имя [модели класса Haiku для фоновых задач](/docs/ru/costs) |

188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Переопределить регион AWS для модели класса Haiku при использовании Amazon Bedrock или Amazon Bedrock Mantle. На Amazon Bedrock это вступает в силу только при установке `ANTHROPIC_DEFAULT_HAIKU_MODEL` или устаревшего `ANTHROPIC_SMALL_FAST_MODEL`, так как Amazon Bedrock в противном случае запускает фоновые задачи на [модели Sonnet по умолчанию или основной модели](/docs/ru/amazon-bedrock#4-pin-model-versions) в регионе сеанса |188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Переопределить регион AWS для модели класса Haiku при использовании Amazon Bedrock или Amazon Bedrock Mantle. На Amazon Bedrock это вступает в силу только при установке `ANTHROPIC_DEFAULT_HAIKU_MODEL` или устаревшего `ANTHROPIC_SMALL_FAST_MODEL`, так как Amazon Bedrock в противном случае запускает фоновые задачи на [модели Sonnet по умолчанию или основной модели](/docs/ru/amazon-bedrock#4-pin-model-versions) в регионе сеанса |

189| `ANTHROPIC_VERTEX_BASE_URL` | Переопределить URL конечной точки Google Cloud's Agent Platform. Используйте для пользовательских конечных точек Google Cloud's Agent Platform или при маршрутизации через [LLM gateway](/docs/ru/llm-gateway). См. [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) |189| `ANTHROPIC_VERTEX_BASE_URL` | Переопределить URL конечной точки Google Cloud's Agent Platform. Используйте для пользовательских конечных точек Google Cloud's Agent Platform или при маршрутизации через [LLM gateway](/docs/ru/llm-gateway). См. [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) |

190| `ANTHROPIC_VERTEX_PROJECT_ID` | ID проекта GCP, на который адресованы запросы Google Cloud's Agent Platform. См. [Настройка учетных данных GCP](/docs/ru/google-vertex-ai#3-configure-gcp-credentials) |190| `ANTHROPIC_VERTEX_PROJECT_ID` | ID проекта GCP, на который адресованы запросы Google Cloud's Agent Platform. См. [Настройка учетных данных GCP](/docs/ru/google-vertex-ai#3-configure-gcp-credentials) |

191| `ANTHROPIC_WORKSPACE_ID` | ID рабочей области для [федерации рабочей нагрузки](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Установите это, когда ваше правило федерации охватывает более одной рабочей области, чтобы обмен токенов знал, на какую рабочую область ориентироваться |191| `ANTHROPIC_WORKSPACE_ID` | ID рабочей области для [федерации рабочей нагрузки](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Установите это, когда ваше правило федерации охватывает более одной рабочей области, чтобы обмен токенов знал, на какую рабочую область ориентироваться |

192| `API_FORCE_IDLE_TIMEOUT` | Переопределить 5-минутный таймаут простоя тела, который прерывает потоковый ответ модели, когда байты не поступают. Установите на `0`, чтобы отключить таймаут, например, когда медленный [шлюз](/docs/ru/llm-gateway) или локальная модель делает паузу дольше 5 минут между фрагментами, или `1`, чтобы держать его включенным для каждого поставщика. Если не установлено, таймаут активен на поставщиках, отличных от прямого API Anthropic и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). [Потоковые сторожевые таймеры](/docs/ru/network-config#streaming-idle-watchdogs) работают независимо от него и прерывают длительную молчаливую паузу даже при установке `0` здесь |192| `API_FORCE_IDLE_TIMEOUT` | Переопределить таймаут простоя тела в 5 минут, который прерывает потоковый ответ модели, когда байты не поступают. Установите `0` для отключения таймаута, например, когда медленный [шлюз](/docs/ru/llm-gateway) или локальная модель делает паузу дольше 5 минут между фрагментами, или `1` для его включения для каждого поставщика. Если не установлено, таймаут активен на поставщиках, отличных от прямого API Anthropic и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). [Потоковые сторожевые таймеры](/docs/ru/network-config#streaming-idle-watchdogs) работают независимо от него и прерывают длительную молчаливую паузу даже при установке `0` здесь |

193| `API_TIMEOUT_MS` | Таймаут для запросов API в миллисекундах (по умолчанию: 600000 или 10 минут; максимум: 2147483647). Увеличьте это, когда запросы истекают на медленных сетях или при маршрутизации через прокси. Значения выше максимума переполняют базовый таймер и вызывают немедленный отказ запросов |193| `API_TIMEOUT_MS` | Таймаут для запросов API в миллисекундах (по умолчанию: 600000 или 10 минут; максимум: 2147483647). Увеличьте это, когда запросы истекают на медленных сетях или при маршрутизации через прокси. Значения выше максимума переполняют базовый таймер и вызывают немедленный отказ запросов |

194| `AWS_BEARER_TOKEN_BEDROCK` | Ключ API Amazon Bedrock для аутентификации (см. [Ключи API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |194| `AWS_BEARER_TOKEN_BEDROCK` | Ключ API Amazon Bedrock для аутентификации (см. [Ключи API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

195| `BASH_DEFAULT_TIMEOUT_MS` | Таймаут по умолчанию для долгоживущих команд bash (по умолчанию: 120000 или 2 минуты) |195| `BASH_DEFAULT_TIMEOUT_MS` | Таймаут по умолчанию для долгоживущих команд bash (по умолчанию: 120000 или 2 минуты) |

196| `BASH_MAX_OUTPUT_LENGTH` | Максимальное количество символов вывода bash, которые Claude Code читает обратно в результат команды (по умолчанию: 30000; максимум: 150000). Если вы установите параметр [`bashOutputMaxChars`](/docs/ru/settings-reference#bashoutputmaxchars), Claude Code игнорирует эту переменную. См. [Ограничения вывода](/docs/ru/tools-reference#output-limits) |196| `BASH_MAX_OUTPUT_LENGTH` | Максимальное количество символов вывода bash, которые Claude Code читает обратно в результат команды (по умолчанию: 30000; максимум: 150000). Если вы установите параметр [`bashOutputMaxChars`](/docs/ru/settings-reference#bashoutputmaxchars), Claude Code игнорирует эту переменную. См. [Ограничения вывода](/docs/ru/tools-reference#output-limits) |

197| `BASH_MAX_TIMEOUT_MS` | Максимальный таймаут, который модель может установить для долгоживущих команд bash (по умолчанию: 600000 или 10 минут). Эффективный потолок — это больший из этого и `BASH_DEFAULT_TIMEOUT_MS` |197| `BASH_MAX_TIMEOUT_MS` | Максимальный таймаут, который модель может установить для долгоживущих команд bash (по умолчанию: 600000 или 10 минут). Эффективный потолок — это больший из этого и `BASH_DEFAULT_TIMEOUT_MS` |

198| `BETA_TRACING_ENDPOINT` | Конечная точка OTLP для [детальной бета-трассировки](/docs/ru/monitoring-usage#traces-beta): с `ENABLE_BETA_TRACING_DETAILED=1` логи и трассировки идут туда вместо настроенных экспортеров. Установите это в вашей оболочке, пользовательских параметрах или управляемых параметрах. Игнорируется в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |198| `BETA_TRACING_ENDPOINT` | Конечная точка OTLP для [детальной бета-трассировки](/docs/ru/monitoring-usage#traces-beta): с `ENABLE_BETA_TRACING_DETAILED=1` логи и трассировки идут туда вместо настроенных экспортеров. Установите это в вашей оболочке, пользовательских параметрах или управляемых параметрах. Игнорируется в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |

199| `CCR_FORCE_BUNDLE` | Установите на `1`, чтобы заставить [`claude --cloud`](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) упаковать и загрузить ваш локальный репозиторий вместо клонирования из его удаленного источника |199| `CCR_FORCE_BUNDLE` | Установите `1` для принудительного [`claude --cloud`](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) для упаковки и загрузки вашего локального репозитория вместо клонирования из его удаленного источника |

200| `CLAUDECODE` | Установите на `1` в подпроцессах, которые порождает Claude Code (инструменты Bash и PowerShell, сеансы tmux, команды [hook](/docs/ru/hooks), команды [строки состояния](/docs/ru/statusline), подпроцессы [MCP сервера](/docs/ru/mcp) stdio). Расширения IDE также устанавливают это в их интегрированных терминалах. Используйте для обнаружения, когда скрипт работает внутри подпроцесса, порожденного Claude Code. Чтобы проверить, был ли текущий процесс порожден непосредственно вызовом инструмента или hook, а не внутри MCP сервера stdio, который запустил Claude Code, используйте `CLAUDE_CODE_CHILD_SESSION` вместо этого |200| `CLAUDECODE` | Установите `1` в подпроцессах, которые порождает Claude Code (инструменты Bash и PowerShell, сеансы tmux, команды [hook](/docs/ru/hooks), команды [строки состояния](/docs/ru/statusline), подпроцессы [MCP сервера](/docs/ru/mcp) stdio). Расширения IDE также устанавливают это в их интегрированных терминалах. Используйте для обнаружения, когда скрипт работает внутри подпроцесса, порожденного Claude Code. Чтобы проверить, был ли текущий процесс порожден непосредственно вызовом инструмента или hook, а не внутри MCP сервера stdio, который запустил Claude Code, используйте `CLAUDE_CODE_CHILD_SESSION` вместо этого |

201| `CLAUDE_AFK_COUNTDOWN_MS` | Сколько миллисекунд перед автопродолжением появляется обратный отсчет на экране на неотвеченном диалоге [`AskUserQuestion`](/docs/ru/tools-reference). По умолчанию `20000` (20 секунд), ограничено таймаутом автопродолжения. Не имеет эффекта, если автопродолжение отключено; см. параметр [`askUserQuestionTimeout`](/docs/ru/settings-reference#askuserquestiontimeout) и `CLAUDE_AFK_TIMEOUT_MS`. Требует Claude Code версии 2.1.198 или позже |201| `CLAUDE_AFK_COUNTDOWN_MS` | Сколько миллисекунд перед автопродолжением появляется обратный отсчет на экране на диалоге [`AskUserQuestion`](/docs/ru/tools-reference) без ответа. По умолчанию `20000` (20 секунд), ограничено таймаутом автопродолжения. Не имеет эффекта, если автопродолжение отключено; см. параметр [`askUserQuestionTimeout`](/docs/ru/settings-reference#askuserquestiontimeout) и `CLAUDE_AFK_TIMEOUT_MS`. Требует Claude Code версии 2.1.198 или позже |

202| `CLAUDE_AFK_TIMEOUT_MS` | Сколько миллисекунд времени простоя перед неотвеченным диалогом [`AskUserQuestion`](/docs/ru/tools-reference) автопродолжается без вас. Автопродолжение отключено по умолчанию; включите его с параметром [`askUserQuestionTimeout`](/docs/ru/settings-reference#askuserquestiontimeout). Эта переменная является переопределением для демонстраций и автоматизированных тестов: при установке она имеет приоритет над этим параметром и включает автопродолжение, даже если параметр не установлен или `never`. Установка `0` не отключает таймаут; она закрывает диалог немедленно. В версиях 2.1.198 и 2.1.199 автопродолжение было включено по умолчанию с таймаутом `60000` (60 секунд). Требует Claude Code версии 2.1.198 или позже |202| `CLAUDE_AFK_TIMEOUT_MS` | Сколько миллисекунд времени простоя перед диалогом [`AskUserQuestion`](/docs/ru/tools-reference) без ответа автопродолжается без вас. Автопродолжение отключено по умолчанию; включите его с параметром [`askUserQuestionTimeout`](/docs/ru/settings-reference#askuserquestiontimeout). Эта переменная является переопределением для демонстраций и автоматических тестов: при установке она имеет приоритет над этим параметром и включает автопродолжение даже когда параметр не установлен или `never`. Установка `0` не отключает таймаут; она закрывает диалог немедленно. В версиях 2.1.198 и 2.1.199 автопродолжение было включено по умолчанию с таймаутом `60000` (60 секунд). Требует Claude Code версии 2.1.198 или позже |

203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите на `1`, чтобы отключить все встроенные типы [subagent](/docs/ru/sub-agents), такие как Explore и Plan. Применяется только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которые хотят чистый лист. Это также удаляет `general-purpose`, subagent, который Claude Code запускает, когда вызов инструмента Agent опускает `subagent_type`. Такой вызов затем завершается с ошибкой [`subagent_type is required`](/docs/ru/errors#subagent-type-is-required) |203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите `1` для отключения всех встроенных типов [подагентов](/docs/ru/sub-agents), таких как Explore и Plan. Применяется только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которые хотят чистый лист. Это также удаляет `general-purpose`, подагента, который Claude Code запускает, когда вызов инструмента Agent опускает `subagent_type`. Такой вызов затем завершается с ошибкой [`subagent_type is required`](/docs/ru/errors#subagent-type-is-required) |

204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Установите на `1`, чтобы пропустить префикс `mcp__<server>__` на именах инструментов из MCP серверов, созданных SDK. Инструменты используют свои исходные имена. Только использование SDK |204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Установите `1` для пропуска префикса `mcp__<server>__` на именах инструментов из MCP серверов, созданных SDK. Инструменты используют свои исходные имена. Только использование SDK |

205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Таймаут стагнации в миллисекундах для subagents. По умолчанию `600000` (10 минут); если вы поднимаете `CLAUDE_STREAM_IDLE_TIMEOUT_MS`, пока сторожевой таймер потока включен, по умолчанию он поднимается вместе с ним, как описано в [Обработка медленных или застопорившихся ответов API](/docs/ru/agent-sdk/typescript#handle-slow-or-stalled-api-responses). Таймер сбрасывается при каждом событии потока прогресса; если прогресс не поступает в течение окна, Claude Code прерывает subagent и сообщает о стагнации родителю |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Таймаут стагнации в миллисекундах для подагентов. По умолчанию `600000` (10 минут); если вы повысите `CLAUDE_STREAM_IDLE_TIMEOUT_MS` при включенном сторожевом таймере потока, по умолчанию он повысится вместе с ним, как описано в [Обработка медленных или застопорившихся ответов API](/docs/ru/agent-sdk/typescript#handle-slow-or-stalled-api-responses). Таймер сбрасывается при каждом событии потока прогресса; если прогресс не поступает в течение окна, Claude Code прерывает подагента и сообщает о стагнации родителю |

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент (1-100) окна автокомпактирования, при котором срабатывает автокомпактирование. Используйте более низкие значения, такие как `50`, для более раннего компактирования; переменная не может повысить порог, поэтому значения выше процента по умолчанию игнорируются. Применяется только в сеансах, которые [компактируют перед пределом контекста модели](/docs/ru/model-config#context-window-and-auto-compaction). Применяется к основным разговорам и subagents |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент (1-100) окна автокомпактирования, при котором срабатывает автокомпактирование. Используйте более низкие значения, такие как `50`, для более раннего компактирования; переменная не может повысить порог, поэтому значения выше процента по умолчанию игнорируются. Применяется только в сеансах, которые [компактируют перед пределом контекста модели](/docs/ru/model-config#context-window-and-auto-compaction). Применяется к основным разговорам и подагентам |

207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите на `1`, чтобы принудительно включить автоматическое фоновое выполнение долгоживущих задач агента. Когда включено, subagents перемещаются в фон после работы примерно две минуты. Также включает [автоматическое фоновое выполнение долгих вызовов инструментов MCP](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls) в неинтерактивном режиме на Claude Code версии 2.1.212 или позже |207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите `1` для принудительного включения автоматического фонового выполнения долгоживущих задач агента. Если включено, подагенты переводятся в фоновый режим после работы примерно две минуты. Также включает [автоматическое фоновое выполнение долгих вызовов инструментов MCP](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls) в неинтерактивном режиме на Claude Code версии 2.1.212 или позже |

208| `CLAUDE_AX_PREPARK_MS` | В [режиме чтения с экрана](/docs/ru/accessibility#what-your-screen-reader-hears), сколько миллисекунд Claude Code ждет, с курсором в начале строки, перед тем как написать новую или измененную строку. По умолчанию `50`. Установите `0` для немедленной записи. Claude Code ограничивает ожидание на `5000`. Требует Claude Code версии 2.1.233 или позже |208| `CLAUDE_AX_PREPARK_MS` | В [режиме чтения с экрана](/docs/ru/accessibility#what-your-screen-reader-hears) сколько миллисекунд Claude Code ждет, с курсором в начале строки, перед тем как написать новую или измененную строку. По умолчанию `50`. Установите `0` для немедленной записи. Claude Code ограничивает ожидание `5000`. Требует Claude Code версии 2.1.233 или позже |

209| `CLAUDE_AX_SCREEN_READER` | Установите на `1` для отображения, удобного для чтения с экрана: плоский текст без декоративных границ или анимаций. Установите на `0`, чтобы принудительно отключить режим чтения с экрана, даже если [`axScreenReader`](/docs/ru/settings-reference#axscreenreader) имеет значение `true`. Флаг [`--ax-screen-reader`](/docs/ru/cli-reference#cli-flags) имеет приоритет. Требует Claude Code версии 2.1.181 или позже |209| `CLAUDE_AX_SCREEN_READER` | Установите `1` для отображения вывода, удобного для чтения с экрана: плоский текст без декоративных границ или анимаций. Установите `0` для принудительного отключения режима чтения с экрана даже когда [`axScreenReader`](/docs/ru/settings-reference#axscreenreader) имеет значение `true`. Флаг [`--ax-screen-reader`](/docs/ru/cli-reference#cli-flags) имеет приоритет. Требует Claude Code версии 2.1.181 или позже |

210| `CLAUDE_AX_STARTUP_QUIET_MS` | В [режиме чтения с экрана](/docs/ru/accessibility), сколько миллисекунд Claude Code удерживает первый рендер интерфейса после строки подтверждения запуска, чтобы ваш чтец с экрана мог произнести строку полностью перед тем, как новый вывод прерывает его. По умолчанию `3000`. Установите `0` для немедленного рендера. Claude Code ограничивает удержание на `600000` (10 минут). Ваше первое нажатие клавиши завершает удержание раньше. Требует Claude Code версии 2.1.217 или позже |210| `CLAUDE_AX_STARTUP_QUIET_MS` | В [режиме чтения с экрана](/docs/ru/accessibility) сколько миллисекунд Claude Code удерживает первый рендер интерфейса после строки подтверждения запуска, чтобы ваш чтец с экрана мог полностью произнести строку перед тем как новый вывод прерывает его. По умолчанию `3000`. Установите `0` для немедленного рендера. Claude Code ограничивает удержание `600000` (10 минут). Ваше первое нажатие клавиши завершает удержание раньше. Требует Claude Code версии 2.1.217 или позже |

211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Вернуться в исходный рабочий каталог после каждой команды Bash или PowerShell в основном сеансе |211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Вернуться в исходный рабочий каталог после каждой команды Bash или PowerShell в основном сеансе |

212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Таймаут в миллисекундах для сторожевого таймера простоя потока на уровне байтов; при установке он имеет приоритет над `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для этого сторожевого таймера и оставляет сторожевой таймер на уровне событий без изменений. Claude Code зажимает эту переменную между 10 секундами и 30 минутами. Требует Claude Code версии 2.1.210 или позже |212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Таймаут в миллисекундах для сторожевого таймера потока на уровне байтов; при установке он имеет приоритет над `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для этого сторожевого таймера и оставляет сторожевой таймер на уровне событий без изменений. Claude Code ограничивает эту переменную между 10 секундами и 30 минутами. Требует Claude Code версии 2.1.210 или позже |

213| `CLAUDE_CLIENT_PRESENCE_FILE` | Путь к файлу, который внешний инструмент, такой как слушатель блокировки экрана, создает при разблокировке экрана и удаляет при его блокировке. Пока файл существует, Claude Code пропускает [мобильные push-уведомления Remote Control](/docs/ru/remote-control#mobile-push-notifications), поэтому вы перестаете получать push-уведомления, пока активно используете компьютер. Когда файл отсутствует или нечитаем, уведомления отправляются как обычно. Claude Code проверяет файл один раз за событие, вызывающее push, а не опрашивает его. Требует Claude Code версии 2.1.181 или позже |213| `CLAUDE_CLIENT_PRESENCE_FILE` | Путь к файлу, который внешний инструмент, такой как слушатель блокировки экрана, создает при разблокировке экрана и удаляет при его блокировке. Пока файл существует, Claude Code пропускает [мобильные push-уведомления Remote Control](/docs/ru/remote-control#mobile-push-notifications), поэтому вы перестаете получать push-уведомления, пока активно используете компьютер. Когда файл отсутствует или нечитаем, уведомления отправляются как обычно. Claude Code проверяет файл один раз за событие, вызывающее push-уведомление, а не опрашивает его. Требует Claude Code версии 2.1.181 или позже |

214| `CLAUDE_CODE_ACCESSIBILITY` | Установите на `1`, чтобы сохранить видимый собственный курсор терминала и отключить индикатор курсора с инвертированным текстом. Позволяет увеличителям экрана, таким как macOS Zoom, отслеживать положение курсора |214| `CLAUDE_CODE_ACCESSIBILITY` | Установите `1` для сохранения видимого курсора собственного терминала и отключения индикатора курсора с инвертированным текстом. Позволяет увеличителям экрана, таким как macOS Zoom, отслеживать положение курсора |

215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Установите на `1`, чтобы загружать файлы памяти из каталогов, указанных с `--add-dir`. Загружает `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md`. По умолчанию дополнительные каталоги не загружают файлы памяти |215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Установите `1` для загрузки файлов памяти из каталогов, указанных с `--add-dir`. Загружает `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md`. По умолчанию дополнительные каталоги не загружают файлы памяти |

216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Установите на `1`, чтобы перерисовать весь экран на каждом кадре в [полноэкранном рендере](/docs/ru/fullscreen) вместо отправки добавочных обновлений. Используйте это, если полноэкранный режим показывает устаревшие или неправильно размещенные фрагменты текста. Claude Code включает это автоматически для фоновых сеансов и [представления агента](/docs/ru/agent-view) на Windows |216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Установите `1` для перерисовки всего экрана при каждом кадре в [полноэкранном рендере](/docs/ru/fullscreen) вместо отправки добавочных обновлений. Используйте это, если полноэкранный режим показывает устаревшие или неправильно размещенные фрагменты текста. Claude Code включает это автоматически для фоновых сеансов и [представления агента](/docs/ru/agent-view) на Windows |

217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Установите на `1`, чтобы отправлять параметр [effort](/docs/ru/model-config#adjust-effort-level) с каждым запросом, даже когда Claude Code не распознает ID модели как поддерживающий effort. Используйте это при маршрутизации через [LLM gateway](/docs/ru/llm-gateway) или сторонний поставщик, который обслуживает модели под пользовательскими идентификаторами. Модели, которые отклоняют параметр effort в API, включая модели Claude 3, Sonnet 4.0 и 4.5, Opus 4.0 и 4.1 и Haiku 4.5, по-прежнему исключены, чтобы запросы не завершались с ошибкой |217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Установите `1` для отправки параметра [effort](/docs/ru/model-config#adjust-effort-level) при каждом запросе, даже когда Claude Code не распознает ID модели как поддерживающий effort. Используйте это при маршрутизации через [LLM gateway](/docs/ru/llm-gateway) или сторонний поставщик, который обслуживает модели под пользовательскими идентификаторами. Модели, которые отклоняют параметр effort в API, включая модели Claude 3, Sonnet 4.0 и 4.5, Opus 4.0 и 4.1 и Haiku 4.5, по-прежнему исключены, чтобы запросы не завершались с ошибкой |

218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Интервал в миллисекундах, при котором учетные данные должны быть обновлены (при использовании [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper)) |218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Интервал в миллисекундах, при котором учетные данные должны быть обновлены (при использовании [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper)) |

219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Установите на `0`, чтобы остановить Claude Code от автоматического открытия браузера при публикации нового [artifact](/docs/ru/artifacts#create-an-artifact) |219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Установите `0` для остановки автоматического открытия браузера Claude Code при публикации нового [артефакта](/docs/ru/artifacts#create-an-artifact) |

220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Установите на `0`, чтобы остановить Claude от чтения и ответа на [комментарии к artifact](/docs/ru/artifacts#collect-comments-on-an-artifact). Не имеет эффекта, когда `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [отключил artifacts](/docs/ru/artifacts#availability). Требует Claude Code версии 2.1.221 или позже |220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Установите `0` для остановки чтения Claude и ответа на [комментарии к артефакту](/docs/ru/artifacts#collect-comments-on-an-artifact). Не имеет эффекта, когда `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [отключил артефакты](/docs/ru/artifacts#availability). Требует Claude Code версии 2.1.221 или позже |

221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Установите на `0`, чтобы остановить Claude от [самостоятельного ответа на комментарии, отправленные ему](/docs/ru/artifacts#let-claude-reply-to-comments-on-its-own). Требует Claude Code версии 2.1.228 или позже |221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Установите `0` для остановки [самостоятельного ответа Claude на комментарии, отправленные ему](/docs/ru/artifacts#let-claude-reply-to-comments-on-its-own). Требует Claude Code версии 2.1.228 или позже |

222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите на `0`, чтобы опустить [блок атрибуции](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block), который содержит версию клиента и отпечаток подсказки, с начала системной подсказки. Кэширование при прямом подключении к API Anthropic не затронуто в любом случае. В некоторых прямых конфигурациях подключения Claude Code сохраняет блок на запросах классификатора [автоматического режима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), даже если вы установите `0`. В [Блок атрибуции системной подсказки](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block) проверьте, какие подключения и учетные данные это охватывает. До версии 2.1.181 блок включал токен для каждого запроса на пользовательские базовые URL и подключения Microsoft Foundry, поэтому на этих версиях установите его на `0`, когда ваш LLM gateway кэширует на теле запроса или пересылает запросы сторонним поставщикам, или когда вы подключаетесь к Microsoft Foundry напрямую |222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите `0` для пропуска [блока атрибуции](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block), который содержит версию клиента и отпечаток подсказки, из начала системной подсказки. Кэширование при прямом подключении к API Anthropic не затронуто в любом случае. В некоторых прямых конфигурациях подключения Claude Code сохраняет блок в запросах классификатора [режима авто](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) даже при установке `0`. В [Блок атрибуции системной подсказки](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block) проверьте, какие подключения и учетные данные это охватывает. До версии 2.1.181 блок включал токен для каждого запроса на пользовательские базовые URL и подключения Microsoft Foundry, поэтому на этих версиях установите его на `0`, когда ваш LLM gateway кэширует на теле запроса или пересылает запросы сторонним поставщикам, или когда вы подключаетесь к Microsoft Foundry напрямую |

223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Когда `CLAUDE_AUTO_BACKGROUND_TASKS` включен, секунды между напоминаниями Claude проверить [фоновые subagents](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), которые все еще работают. Принимает простое целое число от `1` до `86400` только; любое другое значение или написание читается как не установленное. Если не установлено, напоминаний о проверке нет. Требует Claude Code версии 2.1.248 или позже |223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Когда `CLAUDE_AUTO_BACKGROUND_TASKS` включен, секунды между напоминаниями Claude проверить [фоновые подагенты](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), которые все еще работают. Принимает простое целое число от `1` до `86400` только; любое другое значение или написание читается как не установленное. Если не установлено, напоминаний о проверке нет. Требует Claude Code версии 2.1.248 или позже |

224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Установить [окно автокомпактирования](/docs/ru/model-config#set-the-auto-compact-window) в токенах, от `100000` до `1000000`. Принимает простое целое число, такое как `500000` только: значение, такое как `500k`, читается как `500` и зажимается до минимума 100K. Эффективное окно также ограничено окном контекста модели. Имеет приоритет над командой `/autocompact`, флагом `--autocompact` и параметром `autoCompactWindow`. Процент `used_percentage` в строке состояния всегда измеряется против полного окна контекста модели, поэтому после установки этой переменной этот процент больше не указывает, когда будет запущено компактирование |224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Установить [окно автокомпактирования](/docs/ru/model-config#set-the-auto-compact-window) в токенах, от `100000` до `1000000`. Принимает простое целое число, такое как `500000` только: значение, такое как `500k`, читается как `500` и ограничивается минимумом 100K. Эффективное окно также ограничено окном контекста модели. Имеет приоритет над командой `/autocompact`, флагом `--autocompact` и параметром `autoCompactWindow`. Строка состояния `used_percentage` всегда измеряется против полного окна контекста модели, поэтому после установки этой переменной этот процент больше не указывает, когда будет запущено компактирование |

225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Переопределить автоматическое [подключение IDE](/docs/ru/vs-code). По умолчанию Claude Code подключается автоматически при запуске внутри интегрированного терминала поддерживаемой IDE. Установите на `false`, чтобы предотвратить это. Установите на `true`, чтобы принудительно попытаться подключиться, когда автоопределение не срабатывает, например, когда tmux скрывает родительский терминал. Имеет приоритет над глобальным параметром конфигурации [`autoConnectIde`](/docs/ru/settings-reference#autoconnectide) |225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Переопределить автоматическое [подключение IDE](/docs/ru/vs-code). По умолчанию Claude Code подключается автоматически при запуске внутри интегрированного терминала поддерживаемой IDE. Установите `false` для предотвращения этого. Установите `true` для принудительной попытки подключения, когда автоопределение не работает, например когда tmux скрывает родительский терминал. Имеет приоритет над глобальным параметром конфигурации [`autoConnectIde`](/docs/ru/settings-reference#autoconnectide) |

226| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Время в миллисекундах, которое Claude Code ждет, пока цепочка поставщика учетных данных AWS по умолчанию выдаст учетные данные, прежде чем запрос завершится с ошибкой [`AWS default-chain credential resolve timed out`](/docs/ru/errors#aws-default-chain-credential-resolve-timed-out) (по умолчанию: `60000`). Поднимите это, когда шаг в вашей цепочке законно нуждается в большем времени, например вход на основе браузера с MFA через оболочку, такую как `aws-vault`. Применяется везде, где Claude Code подписывает с цепочкой по умолчанию: [Amazon Bedrock](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и [конечная точка Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint). Требует Claude Code версии 2.1.207 или позже |226| `CLAUDE_CODE_AUTO_MODE_SERVER` | На Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry установите `1` для того, чтобы классификатор на стороне сервера платформы проверил действия [режима авто](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode); где платформа не запускает классификатор, Claude Code возвращается к своим собственным запросам классификатора. Если не установлено или `0`, классификатор работает через запросы, которые отправляет сам Claude Code. Не имеет эффекта на других поставщиков, включая API Anthropic. Требует Claude Code версии 2.1.271 или позже |

227| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Установите автоматически в подпроцессах инструмента Bash и [команды hook](/docs/ru/hooks) пока сеанс имеет активное подключение [Remote Control](/docs/ru/remote-control), и удалено при завершении подключения. Значение — это ID сеанса в форме `session_`, тот же идентификатор, который появляется в URL сеанса `claude.ai/code`, поэтому скрипт может ссылаться обратно на сеанс, который его запустил. Требует Claude Code версии 2.1.199 или позже. В [облачных сеансах](/docs/ru/claude-code-on-the-web) читайте `CLAUDE_CODE_REMOTE_SESSION_ID` вместо этого |227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Время в миллисекундах, которое Claude Code ждет, пока цепочка поставщика учетных данных AWS по умолчанию выдаст учетные данные перед тем как запрос завершится с [`AWS default-chain credential resolve timed out`](/docs/ru/errors#aws-default-chain-credential-resolve-timed-out) (по умолчанию: `60000`). Повысьте это, когда шаг в вашей цепочке законно нуждается в большем времени, например вход на основе браузера через обертку, такую как `aws-vault`. Применяется везде, где Claude Code подписывает с цепочкой по умолчанию: [Amazon Bedrock](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и [конечная точка Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint). Требует Claude Code версии 2.1.207 или позже |

228| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Установите на `0`, чтобы Claude Code читал байт `0x08`, также написанный `^H`, как простой Backspace, или `1`, чтобы читать его как Ctrl+Backspace. Любое значение заменяет платформу по умолчанию. По умолчанию Claude Code читает его как Ctrl+Backspace на Windows, за исключением случаев, когда `TERM_PROGRAM` — это `mintty` или `TERM` — это `cygwin`, и как простой Backspace на macOS и Linux. Установите `0` в терминале Windows, где [Backspace удаляет целое слово](/docs/ru/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |228| `CLAUDE_CODE_BASH_EDIT_DIFF` | Установите `0` для отключения [diff файлов, которые изменила команда Bash](/docs/ru/hooks#bash), или `1` для его записи в каждом режиме разрешений. Имеет приоритет над параметром [`bashEditDiffEnabled`](/docs/ru/settings-reference#basheditdiffenabled). Требует Claude Code версии 2.1.269 или позже |

229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Установите `0` для того, чтобы неинтерактивный сеанс сообщал статус простоя своему хосту при каждом завершении хода, даже если фоновая работа все еще выполняется. По умолчанию сеанс продолжает сообщать статус выполнения после завершения хода, пока фоновая работа, такая как фоновый агент или запуск [workflow](/docs/ru/workflows), все еще активна. Это предотвращает объявление хостом, который наблюдает статус, такой как список удаленных сеансов, что Claude ждет вашего ввода во время работы. Фоновые команды оболочки, такие как сервер разработки, не удерживают статус выполнения. Статус выполнения по умолчанию и отказ от `0` требуют Claude Code версии 2.1.269 или позже; на более ранних версиях установите `1` для удержания статуса выполнения |

230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Установите автоматически в подпроцессах инструмента Bash и [команде hook](/docs/ru/hooks) пока сеанс имеет активное подключение [Remote Control](/docs/ru/remote-control), и удалено при завершении подключения. Значение — это ID сеанса в форме `session_`, тот же идентификатор, который появляется в URL `claude.ai/code` сеанса, поэтому скрипт может ссылаться обратно на сеанс, который его запустил. Требует Claude Code версии 2.1.199 или позже. В [облачных сеансах](/docs/ru/claude-code-on-the-web) вместо этого читайте `CLAUDE_CODE_REMOTE_SESSION_ID` |

231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Установите `0` для чтения Claude Code байта `0x08`, также написанного `^H`, как простой Backspace, или `1` для чтения его как Ctrl+Backspace. Любое значение заменяет платформу по умолчанию. По умолчанию Claude Code читает его как Ctrl+Backspace на Windows, за исключением случаев, когда `TERM_PROGRAM` — это `mintty` или `TERM` — это `cygwin`, и как простой Backspace на macOS и Linux. Установите `0` в терминале Windows, где [Backspace удаляет целое слово](/docs/ru/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

229| `CLAUDE_CODE_CERT_STORE` | Разделенный запятыми список источников сертификатов CA для TLS подключений. `bundled` — это набор Mozilla CA, поставляемый с Claude Code. `system` — это хранилище доверия операционной системы, читается только на рантаймах с `tls.getCACertificates`: собственный двоичный файл или Node 22.15 или позже для установок npm. См. [Хранилище сертификатов CA](/docs/ru/network-config#ca-certificate-store). По умолчанию `bundled,system` |232| `CLAUDE_CODE_CERT_STORE` | Разделенный запятыми список источников сертификатов CA для TLS подключений. `bundled` — это набор Mozilla CA, поставляемый с Claude Code. `system` — это хранилище доверия операционной системы, читается только на рантаймах с `tls.getCACertificates`: собственный двоичный файл или Node 22.15 или позже для установок npm. См. [Хранилище сертификатов CA](/docs/ru/network-config#ca-certificate-store). По умолчанию `bundled,system` |

230| `CLAUDE_CODE_CHILD_SESSION` | Установите на `1` в подпроцессах, которые Claude Code порождает через инструменты Bash, PowerShell и Monitor, команды [hook](/docs/ru/hooks) и команды [строки состояния](/docs/ru/statusline). Не установлено для подпроцессов [MCP сервера](/docs/ru/mcp) stdio, которые долгоживущие и пережидают сеанс, который их порождает. В отличие от `CLAUDECODE`, это устанавливается только самим Claude Code при запуске подпроцесса, а не расширениями IDE, поэтому надежно отличает вложенный сеанс от верхнего уровня `claude`, запущенного в интегрированном терминале IDE. Вложенный интерактивный TUI `claude`, запущенный таким образом, автоматически исключается из `--resume`, `--continue`, истории со стрелкой вверх и списка `claude agents`. Сеансы неинтерактивного `claude -p` по-прежнему сохраняются. Установите `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`, чтобы переопределить это исключение. Требует Claude Code версии 2.1.172 или позже |233| `CLAUDE_CODE_CHILD_SESSION` | Установите `1` в подпроцессах, которые Claude Code порождает через инструменты Bash, PowerShell и Monitor, команды [hook](/docs/ru/hooks) и команды [строки состояния](/docs/ru/statusline). Не установлено для подпроцессов [MCP сервера](/docs/ru/mcp) stdio, которые долгоживущие и пережидают сеанс, который их порождает. В отличие от `CLAUDECODE`, это устанавливается только самим Claude Code при запуске подпроцесса, а не расширениями IDE, поэтому надежно отличает вложенный сеанс от верхнего уровня `claude`, запущенного в интегрированном терминале IDE. Вложенный интерактивный TUI `claude`, запущенный таким образом, автоматически исключается из `--resume`, `--continue`, истории стрелки вверх и списка `claude agents`. Неинтерактивные сеансы `claude -p` по-прежнему сохраняются. Установите `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` для переопределения этого исключения. Требует Claude Code версии 2.1.172 или позже |

231| `CLAUDE_CODE_CLIENT_CERT` | Путь к файлу сертификата клиента для аутентификации mTLS |234| `CLAUDE_CODE_CLIENT_CERT` | Путь к файлу сертификата клиента для аутентификации mTLS |

232| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу приватного ключа клиента для аутентификации mTLS |235| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу приватного ключа клиента для аутентификации mTLS |

233| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Парольная фраза для зашифрованного CLAUDE\_CODE\_CLIENT\_KEY (опционально) |236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Парольная фраза для зашифрованного CLAUDE\_CODE\_CLIENT\_KEY (опционально) |

234| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Удалено в версии 2.1.186 и теперь не работает. Ранее устанавливало отдельный таймаут для фазы подключения, TLS и заголовка ответа потокового запроса API. Используйте `API_TIMEOUT_MS` для таймаута для каждого запроса. Для фазы заголовка ответа потокового запроса см. `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Удалено в версии 2.1.186 и теперь не работает. Ранее устанавливало отдельный таймаут для фазы подключения, TLS и заголовка ответа потокового запроса API. Используйте `API_TIMEOUT_MS` для таймаута для каждого запроса. Для фазы заголовка ответа потокового запроса см. `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

235| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Переопределить путь файла журнала отладки. Несмотря на имя, это путь файла, а не каталог. Требует отдельного включения режима отладки через `--debug`, `/debug` или переменную окружения `DEBUG`: установка только этой переменной не включает логирование. Флаг [`--debug-file`](/docs/ru/cli-reference#cli-flags) делает оба сразу. По умолчанию `~/.claude/debug/<session-id>.txt` |238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Переопределить путь файла журнала отладки. Несмотря на имя, это путь к файлу, а не каталог. Требует отдельного включения режима отладки через `--debug`, `/debug` или переменную окружения `DEBUG`: установка только этой переменной не включает логирование. Флаг [`--debug-file`](/docs/ru/cli-reference#cli-flags) делает оба сразу. По умолчанию `~/.claude/debug/<session-id>.txt` |

236| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Минимальный уровень логирования, записываемый в файл журнала отладки. Значения: `verbose`, `debug` (по умолчанию), `info`, `warn`, `error`. Установите на `verbose`, чтобы включить высокообъемную диагностику, такую как полный вывод команды строки состояния, или поднимите на `error`, чтобы уменьшить шум |239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Минимальный уровень логирования, записываемый в файл журнала отладки. Значения: `verbose`, `debug` (по умолчанию), `info`, `warn`, `error`. Установите `verbose` для включения высокообъемной диагностики, такой как полный вывод команды строки состояния, или повысьте до `error` для уменьшения шума |

237| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите на `1`, чтобы отключить поддержку [окна контекста 1M](/docs/ru/model-config#extended-context). Если установлено, варианты модели 1M недоступны в средстве выбора модели, и Claude Code удерживает сеансы на моделях с собственным окном 1M, таких как [Sonnet 5](/docs/ru/model-config#sonnet-5-context-window) и модели Fable, на окне 200K; см. [Расширенный контекст](/docs/ru/model-config#extended-context) для того, как применяется удержание. Полезно для корпоративных сред с требованиями соответствия. Для его роли в исправлении окна для неузнанного ID модели `[1m]` см. [Исправить окно для ID модели шлюза или пользовательского](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите `1` для отключения поддержки [окна контекста 1M](/docs/ru/model-config#extended-context). Если установлено, варианты модели 1M недоступны в средстве выбора модели, и Claude Code удерживает сеансы на моделях с собственным окном 1M, таких как [Sonnet 5](/docs/ru/model-config#sonnet-5-context-window) и модели Fable, на окне 200K; см. [Расширенный контекст](/docs/ru/model-config#extended-context) для того, как применяется удержание. Полезно для корпоративных сред с требованиями соответствия. Для его роли в исправлении окна для неузнанного ID модели `[1m]` см. [Исправить окно для ID шлюза или пользовательской модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

238| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Установите на `1`, чтобы отключить [адаптивное рассуждение](/docs/ru/model-config#adjust-effort-level) на Opus 4.6 и Sonnet 4.6 и вернуться к фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. Не имеет эффекта на [модели Fable](/docs/ru/model-config#extended-thinking), Sonnet 5 или Opus 4.7 и позже, которые всегда используют адаптивное рассуждение |241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Установите `1` для отключения [адаптивного рассуждения](/docs/ru/model-config#adjust-effort-level) на Opus 4.6 и Sonnet 4.6 и возврата к фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. Не имеет эффекта на [модели Fable](/docs/ru/model-config#extended-thinking), Sonnet 5 или Opus 4.7 и позже, которые всегда используют адаптивное рассуждение |

239| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Установите на `1`, чтобы остановить Claude Code от объединения [управляемых параметров](/docs/ru/managed-settings#precedence-within-the-managed-tier) блоков `env` для каждого ключа по источникам администратора, поэтому применяется только весь блок `env` источника с наивысшим приоритетом, как до версии 2.1.223. Установите это в окружении, которое запускает Claude Code, так как Claude Code игнорирует копию, доставленную через блок параметров `env`. Требует Claude Code версии 2.1.223 или позже |242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Установите `1` для остановки Claude Code от объединения [управляемых параметров](/docs/ru/managed-settings#precedence-within-the-managed-tier) блоков `env` для каждого ключа между источниками администратора, поэтому применяется только весь блок `env` источника с наивысшим приоритетом, как до версии 2.1.223. Установите это в окружении, которое запускает Claude Code, так как Claude Code игнорирует копию, доставленную через блок параметров `env`. Требует Claude Code версии 2.1.223 или позже |

240| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Установите на `1`, чтобы отключить [инструмент советника](/docs/ru/advisor). Команда `/advisor` становится недоступной, любой настроенный `advisorModel` игнорируется, и флаг `--advisor` принимается, но не имеет эффекта, поэтому существующие скрипты, которые его передают, продолжают работать без ошибок |243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Установите `1` для отключения [инструмента советника](/docs/ru/advisor). Команда `/advisor` становится недоступной, любой настроенный `advisorModel` игнорируется, и флаг `--advisor` принимается, но не имеет эффекта, поэтому существующие скрипты, которые его передают, продолжают работать без ошибок |

241| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Установите на `1`, чтобы отключить [фоновые агенты и представление агента](/docs/ru/agent-view): `claude agents`, `--bg`, `/background` и супервизор по требованию. Эквивалентно параметру [`disableAgentView`](/docs/ru/settings-reference#disableagentview) |244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Установите `1` для отключения [фоновых агентов и представления агента](/docs/ru/agent-view): `claude agents`, `--bg`, `/background` и супервизор по требованию. Эквивалентно параметру [`disableAgentView`](/docs/ru/settings-reference#disableagentview) |

242| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Установите на `1`, чтобы отключить [полноэкранный рендер](/docs/ru/fullscreen) и использовать классический рендер основного экрана. Разговор остается в собственной прокрутке вашего терминала, поэтому `Cmd+f` и режим копирования tmux работают как обычно. Имеет приоритет над `CLAUDE_CODE_NO_FLICKER` и параметром [`tui`](/docs/ru/settings-reference#tui). Вы также можете переключиться с `/tui default`. Не применяется к фоновым сеансам, открытым из [представления агента](/docs/ru/agent-view), которые всегда используют полноэкранный рендер |245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Установите `1` для отключения [полноэкранного рендера](/docs/ru/fullscreen) и использования классического рендера основного экрана. Разговор остается в собственной прокрутке вашего терминала, поэтому `Cmd+f` и режим копирования tmux работают как обычно. Имеет приоритет над `CLAUDE_CODE_NO_FLICKER` и параметром [`tui`](/docs/ru/settings-reference#tui). Вы также можете переключаться с `/tui default`. Не применяется к фоновым сеансам, открытым из [представления агента](/docs/ru/agent-view), которые всегда используют полноэкранный рендер |

243| `CLAUDE_CODE_DISABLE_ARTIFACT` | Установите на `1`, чтобы отключить инструмент [Artifact](/docs/ru/artifacts), который публикует вывод сеанса как приватную веб-страницу на claude.ai. После установки ни один файл параметров не включает инструмент обратно. Чтобы отключить инструмент из файла параметров, установите [`enableArtifact`](/docs/ru/settings-reference#enableartifact) на `false`; устаревший ключ [`disableArtifact`](/docs/ru/settings-reference#disableartifact) также отключает его |246| `CLAUDE_CODE_DISABLE_ARTIFACT` | Установите `1` для отключения инструмента [Artifact](/docs/ru/artifacts), который публикует вывод сеанса как приватную веб-страницу на claude.ai. После установки этого параметра ни один файл параметров не включает инструмент обратно. Чтобы отключить инструмент из файла параметров, установите [`enableArtifact`](/docs/ru/settings-reference#enableartifact) на `false`; устаревший ключ [`disableArtifact`](/docs/ru/settings-reference#disableartifact) также отключает его |

244| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите на `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите `1` для отключения обработки вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |

245| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Установите на `1`, чтобы отключить [автоматическую память](/docs/ru/memory#auto-memory). Установите на `0`, чтобы принудительно включить автоматическую память, даже если режим `--bare` или [`autoMemoryEnabled: false`](/docs/ru/settings-reference#automemoryenabled) в противном случае отключили бы его. Если отключено, Claude не создает и не загружает файлы автоматической памяти |248| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Установите `1` для отключения [автоматической памяти](/docs/ru/memory#auto-memory). Установите `0` для принудительного включения автоматической памяти даже когда режим `--bare` или [`autoMemoryEnabled: false`](/docs/ru/settings-reference#automemoryenabled) в противном случае отключили бы его. Если отключено, Claude не создает и не загружает файлы автоматической памяти |

246| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Установите на `1`, чтобы отключить всю функциональность фоновых задач, включая параметр `run_in_background` на инструментах Bash и subagent, автофоновое выполнение и сочетание клавиш Ctrl+B |249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Установите `1` для отключения всей функциональности фоновых задач, включая параметр `run_in_background` на инструментах Bash и подагента, автоматическое фоновое выполнение и сочетание клавиш Ctrl+B |

247| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Установите на `1`, чтобы остановить Claude Code от обработки [Amazon Bedrock](/docs/ru/amazon-bedrock) потокового ответа с отсутствующим или пустым заголовком `Content-Type` как двоичного потока событий Amazon Bedrock. По умолчанию Claude Code предполагает, что шлюз удалил заголовок из иначе неизмененного ответа, поэтому он декодирует тело и потоковая передача продолжает работать. Установите это только для шлюза, который также повторно выдает поток как события, отправляемые сервером; Claude Code затем читает тело без заголовка как события, отправляемые сервером, вместо этого. Требует Claude Code версии 2.1.239 или позже |250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Установите `1` для остановки Claude Code от обработки потокового ответа [Amazon Bedrock](/docs/ru/amazon-bedrock) с отсутствующим или пустым заголовком `Content-Type` как двоичного потока событий Amazon Bedrock. По умолчанию Claude Code предполагает, что шлюз удалил заголовок из иначе неизмененного ответа, поэтому он декодирует тело и потоковая передача продолжает работать. Установите это только для шлюза, который также повторно выдает поток как события, отправляемые сервером; Claude Code затем читает тело без заголовка как события, отправляемые сервером, вместо этого. Требует Claude Code версии 2.1.239 или позже |

248| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Установите на `1`, чтобы пропустить проверку того, что [Amazon Bedrock](/docs/ru/amazon-bedrock) потоковый ответ несет тип содержимого `application/vnd.amazon.eventstream`. Без этой переменной, когда ответ несет другой тип содержимого, Claude Code завершает запрос с ошибкой, называя этот тип, что означает [шлюз или прокси преобразует ответ](/docs/ru/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Настройте шлюз для пересылки заголовка `Content-Type` и тела без изменений, а не устанавливайте эту переменную. Требует Claude Code версии 2.1.208 или позже |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Установите `1` для пропуска проверки того, что потоковый ответ [Amazon Bedrock](/docs/ru/amazon-bedrock) имеет тип содержимого `application/vnd.amazon.eventstream`. Без этой переменной, когда ответ имеет другой тип содержимого, Claude Code завершает запрос с ошибкой, называя этот тип, что означает [шлюз или прокси преобразует ответ](/docs/ru/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Настройте шлюз для пересылки заголовка `Content-Type` и тела без изменений, а не устанавливайте эту переменную. Требует Claude Code версии 2.1.208 или позже |

249| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Установите на `1`, чтобы остановить запущенные фоновые команды оболочки [фонового сеанса](/docs/ru/agent-view), динамические рабочие процессы, и, начиная с версии 2.1.198, фоновые subagents, когда [супервизор](/docs/ru/agent-view#the-supervisor-process) останавливает, перезапускает или обновляет процесс этого сеанса, вместо передачи их следующему процессу сеанса. Влияет только на эту передачу: фоновое выполнение сеанса с `←` или [`/background`](/docs/ru/agent-view#from-inside-a-session) по-прежнему переносит текущую работу, и `CLAUDE_DISABLE_ADOPT` отключает оба. Требует Claude Code версии 2.1.196 или позже |252| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Установите `1` для остановки выполняющихся фоновых команд оболочки [фонового сеанса](/docs/ru/agent-view), динамических workflows, и, начиная с версии 2.1.198, фоновых подагентов при остановке, перезагрузке или обновлении [супервизором](/docs/ru/agent-view#the-supervisor-process) процесса этого сеанса, вместо передачи их следующему процессу сеанса. Влияет только на эту передачу: фоновое выполнение сеанса с `←` или [`/background`](/docs/ru/agent-view#from-inside-a-session) по-прежнему переносит текущую работу, и `CLAUDE_DISABLE_ADOPT` отключает оба. Требует Claude Code версии 2.1.196 или позже |

250| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Установите на `1`, чтобы остановить Claude Code от завершения [фоновых команд оболочки](/docs/ru/interactive-mode#background-bash-commands), когда операционная система сообщает о нехватке памяти. По умолчанию на macOS и Linux Claude Code завершает фоновую оболочку, запущенную в основном сеансе, при сигнале нехватки памяти, как только сеанс был неактивен 30 минут и ни один ход или subagent не работает. Windows не имеет сигнала нехватки памяти, поэтому эта переменная не имеет эффекта там. Требует Claude Code версии 2.1.193 или позже |253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Установите `1` для остановки Claude Code от завершения [фоновых команд оболочки](/docs/ru/interactive-mode#background-bash-commands) при сообщении операционной системой о нехватке памяти. По умолчанию на macOS и Linux Claude Code завершает фоновую оболочку, запущенную в основном сеансе при сигнале нехватки памяти, как только сеанс был неактивен 30 минут и ни один ход или подагент не выполняется. Windows не имеет сигнала нехватки памяти, поэтому эта переменная не имеет эффекта там. Требует Claude Code версии 2.1.193 или позже |

251| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Установите на `1`, чтобы отключить [skills](/docs/ru/skills) и рабочие процессы, включенные в Claude Code: встроенные skills и рабочие процессы полностью удаляются, в то время как встроенные команды, такие как `/init`, остаются типируемыми, но скрыты от модели. `/doctor` остается типируемым, как встроенные команды; скройте его с помощью `DISABLE_DOCTOR_COMMAND` вместо этого. Skills из плагинов, `.claude/skills/` и `.claude/commands/` не затронуты. Эквивалентно параметру [`disableBundledSkills`](/docs/ru/settings-reference#disablebundledskills) |254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Установите `1` для отключения [skills](/docs/ru/skills) и workflows, включенных в Claude Code: встроенные skills и workflows полностью удаляются, в то время как встроенные команды, такие как `/init`, остаются типируемыми, но скрыты от модели. `/doctor` остается типируемым, как встроенные команды; скройте его с `DISABLE_DOCTOR_COMMAND` вместо этого. Skills из плагинов, `.claude/skills/` и `.claude/commands/` не затронуты. Эквивалентно параметру [`disableBundledSkills`](/docs/ru/settings-reference#disablebundledskills) |

252| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Установите на `1`, чтобы сохранить [Claude in Chrome](/docs/ru/chrome) инструменты браузера доступными, пока опускаете раздел Chrome системной подсказки и `/claude-in-chrome` [встроенный skill](/docs/ru/skills#bundled-skills). Для хостов, которые встраивают Claude Code и предоставляют свое собственное руководство браузера. Требует Claude Code версии 2.1.257 или позже |255| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Установите `1` для сохранения доступности инструментов браузера [Claude in Chrome](/docs/ru/chrome) при пропуске раздела Chrome системной подсказки и [встроенного skill](/docs/ru/skills#bundled-skills) `/claude-in-chrome`. Для хостов, которые встраивают Claude Code и предоставляют свое собственное руководство браузера. Требует Claude Code версии 2.1.257 или позже |

253| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Установите на `1`, чтобы предотвратить загрузку любых файлов памяти CLAUDE.md в контекст, включая файлы памяти пользователя, проекта и автоматической памяти |256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Установите `1` для предотвращения загрузки любых файлов памяти CLAUDE.md в контекст, включая файлы памяти пользователя, проекта и автоматической памяти |

254| `CLAUDE_CODE_DISABLE_CRON` | Установите на `1`, чтобы отключить [запланированные задачи](/docs/ru/scheduled-tasks). Skill `/loop` и инструменты cron становятся недоступными, и любые уже запланированные задачи перестают срабатывать, включая задачи, которые уже работают в середине сеанса |257| `CLAUDE_CODE_DISABLE_CRON` | Установите `1` для отключения [запланированных задач](/docs/ru/scheduled-tasks). Skill `/loop` и инструменты cron становятся недоступными и любые уже запланированные задачи перестают срабатывать, включая задачи, которые уже выполняются в середине сеанса |

255| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите на `1`, чтобы удалить заголовки запроса `anthropic-beta`, специфичные для Anthropic, и поля схемы инструмента бета-версии (такие как `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`) сохраняются. [Поиск инструментов MCP](/docs/ru/mcp#scale-with-mcp-tool-search) отключен и все инструменты MCP загружаются заранее, даже если вы установите `ENABLE_TOOL_SEARCH`. На Claude Code версии 2.1.227 или позже [управляемые параметры](/docs/ru/managed-settings) могут сохранить поиск инструментов включенным. [Отключить возможности предварительного выпуска](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) охватывает, где применяется переопределение |258| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите `1` для удаления заголовков запроса `anthropic-beta`, специфичных для Anthropic, и полей схемы инструмента бета-версии (таких как `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`) сохраняются. [Поиск инструментов MCP](/docs/ru/mcp#scale-with-mcp-tool-search) отключен и все инструменты MCP загружаются заранее, даже при установке `ENABLE_TOOL_SEARCH`. На Claude Code версии 2.1.227 или позже [управляемые параметры](/docs/ru/managed-settings) могут сохранить поиск инструментов включенным. [Отключить возможности предварительного выпуска](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) охватывает, где применяется переопределение |

256| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Установите на `1`, чтобы отключить встроенные [subagents Explore и Plan](/docs/ru/sub-agents#built-in-subagents). Claude исследует с помощью своих инструментов поиска или subagent общего назначения вместо этого, и [режим плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) читает файлы напрямую, а не запускает агентов Explore и Plan. Пользовательские subagents с именем `Explore` или `Plan` не затронуты. Чтобы удалить каждый встроенный тип subagent в Agent SDK или неинтерактивном режиме, используйте `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` вместо этого. Требует Claude Code версии 2.1.198 или позже |259| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Установите `1` для отключения встроенных [подагентов Explore и Plan](/docs/ru/sub-agents#built-in-subagents). Claude исследует с помощью своих инструментов поиска или подагента общего назначения вместо этого, и [режим плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) читает файлы напрямую, а не запускает агентов Explore и Plan. Пользовательские подагенты с именами `Explore` или `Plan` не затронуты. Чтобы удалить каждый встроенный тип подагента в Agent SDK или неинтерактивном режиме, используйте `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` вместо этого. Требует Claude Code версии 2.1.198 или позже |

257| `CLAUDE_CODE_DISABLE_FAST_MODE` | Установите на `1`, чтобы отключить [быстрый режим](/docs/ru/fast-mode) |260| `CLAUDE_CODE_DISABLE_FAST_MODE` | Установите `1` для отключения [быстрого режима](/docs/ru/fast-mode) |

258| `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`](/docs/ru/settings-reference#feedbacksurveyrate). См. [Опросы качества сеанса](/docs/ru/data-usage#session-quality-surveys) |261| `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`](/docs/ru/settings-reference#feedbacksurveyrate). См. [Опросы качества сеанса](/docs/ru/data-usage#session-quality-surveys) |

259| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Установите на `1`, чтобы отключить файл [checkpointing](/docs/ru/checkpointing). Команда `/rewind` не сможет восстановить изменения кода. Переопределяет параметр [`fileCheckpointingEnabled`](/docs/ru/settings-reference#filecheckpointingenabled) |262| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Установите `1` для отключения файла [checkpointing](/docs/ru/checkpointing). Команда `/rewind` не сможет восстановить изменения кода. Переопределяет параметр [`fileCheckpointingEnabled`](/docs/ru/settings-reference#filecheckpointingenabled) |

260| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Установите на `1`, чтобы удалить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git из системной подсказки Claude. Полезно при использовании собственных skills рабочего процесса git. Имеет приоритет над параметром [`includeGitInstructions`](/docs/ru/settings-reference#includegitinstructions), если установлено |263| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Установите `1` для удаления встроенных инструкций рабочего процесса коммита и PR и снимка статуса git из системной подсказки Claude. Полезно при использовании собственных skills рабочего процесса git. Имеет приоритет над параметром [`includeGitInstructions`](/docs/ru/settings-reference#includegitinstructions) при установке |

261| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Установите на `1`, чтобы предотвратить автоматическое переотображение Opus 4.0 и 4.1 на текущую версию Opus на API Anthropic. Используйте, когда вы намеренно хотите закрепить более старую модель. Переотображение не работает на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry |264| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Установите `1` для предотвращения автоматического переназначения Opus 4.0 и 4.1 на текущую версию Opus на API Anthropic. Используйте, когда вы намеренно хотите закрепить более старую модель. Переназначение не выполняется на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry |

262| `CLAUDE_CODE_DISABLE_MOUSE` | Установите на `1`, чтобы отключить отслеживание мыши в [полноэкранном рендере](/docs/ru/fullscreen). Прокрутка клавиатуры с `PgUp` и `PgDn` по-прежнему работает. Используйте это, чтобы сохранить собственное поведение копирования при выборе вашего терминала |265| `CLAUDE_CODE_DISABLE_MOUSE` | Установите `1` для отключения отслеживания мыши в [полноэкранном рендере](/docs/ru/fullscreen). Прокрутка клавиатуры с `PgUp` и `PgDn` по-прежнему работает. Используйте это для сохранения поведения копирования при выборе вашего терминала |

263| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Установите на `1`, чтобы отключить обработку щелчков, перетаскивания и наведения в [полноэкранном рендере](/docs/ru/fullscreen), сохраняя прокрутку колеса мыши. Используйте это, когда вы хотите, чтобы прокрутка колеса работала внутри Claude Code, но не хотите, чтобы щелчки позиционировали курсор, расширяли вывод инструмента или открывали ссылки. `CLAUDE_CODE_DISABLE_MOUSE` имеет приоритет, если оба установлены. Требует Claude Code версии 2.1.195 или позже |266| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Установите `1` для отключения обработки щелчков, перетаскивания и наведения в [полноэкранном рендере](/docs/ru/fullscreen) при сохранении прокрутки колеса мыши. Используйте это, когда вы хотите, чтобы прокрутка колеса работала внутри Claude Code, но не хотите, чтобы щелчки позиционировали курсор, расширяли вывод инструмента или открывали ссылки. `CLAUDE_CODE_DISABLE_MOUSE` имеет приоритет при установке обоих. Требует Claude Code версии 2.1.195 или позже |

264| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Установите на `1`, чтобы остановить Claude Code от повторного чтения [сертификата и ключа клиента mTLS](/docs/ru/network-config#mtls-authentication), когда запрос API завершается с ошибкой на уровне подключения, такой как сброс подключения или ошибка TLS handshake. С отключенной перезагрузкой Claude Code загружает повернутые файлы только при следующем применении параметров или при следующем запуске. Требует Claude Code версии 2.1.232 или позже |267| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Установите `1` для остановки Claude Code от повторного чтения [сертификата и ключа клиента mTLS](/docs/ru/network-config#mtls-authentication) при отказе запроса API с ошибкой на уровне подключения, такой как сброс подключения или ошибка TLS handshake. С отключенной перезагрузкой Claude Code загружает повернутые файлы только при следующем применении параметров или при следующем запуске. Требует Claude Code версии 2.1.232 или позже |

265| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Установите на любое непустое значение, такое как `1`, чтобы отключить несущественный сетевой трафик: автообновления, телеметрию, отчеты об ошибках, команду `/feedback`, [обратную связь, составленную Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), примечания к выпуску, проверки [значка статуса PR и MR](/docs/ru/interactive-mode#pr-review-status) и проверки доступности, такие как проверка [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Это также останавливает [фоновые запуски источников команды плагина](/docs/ru/plugin-marketplaces#when-claude-code-re-runs-the-command), которые являются локальными командами, а не сетевым трафиком, потому что они могут вызвать установку зависимостей. **Установка на `0` или `false` по-прежнему отключает этот трафик**, в отличие от большинства переменных включения/отключения; отмените установку переменной, чтобы разрешить это снова. Также отключает получение флагов функций, что делает [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, требующие получения флагов функций](#features-that-need-feature-flag-fetching) недоступными. Автоустановка официального рынка плагинов не охватывается; отключите ее с помощью `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Не влияет на [обнаружение модели шлюза](/docs/ru/llm-gateway-connect#add-gateway-models-to-the-model-picker), которое имеет свой собственный opt-in |268| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Установите на любое непустое значение, такое как `1`, для отключения несущественного сетевого трафика: автообновления, телеметрии, отчетов об ошибках, команды `/feedback`, [отзывов, составленных Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), примечаний к выпуску, проверок [значка статуса PR и MR](/docs/ru/interactive-mode#pr-review-status) и проверок доступности, таких как проверка [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Это также останавливает [фоновые запуски источников команд плагина](/docs/ru/plugin-marketplaces#when-claude-code-re-runs-the-command), которые являются локальными командами, а не сетевым трафиком, потому что они могут вызвать установку зависимостей. **Установка его на `0` или `false` по-прежнему отключает этот трафик**, в отличие от большинства переменных включения/отключения; отмените установку переменной, чтобы разрешить это снова. Также отключает получение флагов функций, что делает [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, требующие получения флагов функций](#features-that-need-feature-flag-fetching) недоступными. Автоустановка официального рынка плагинов не охватывается; отключите ее с `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Не влияет на [обнаружение модели шлюза](/docs/ru/llm-gateway-connect#add-gateway-models-to-the-model-picker), которое имеет свой собственный opt-in |

266| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Установите на `1`, чтобы отключить резервный вариант без потоковой передачи, когда потоковый запрос завершается с ошибкой в середине потока. Ошибки потоковой передачи распространяются на уровень повтора вместо этого. Полезно, когда прокси или шлюз вызывает резервный вариант для создания дублирующегося выполнения инструмента |269| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Установите `1` для отключения резервного варианта без потоковой передачи при отказе потокового запроса в середине потока. Ошибки потоковой передачи распространяются на уровень повтора вместо этого. Полезно, когда прокси или шлюз вызывает резервный вариант для создания дублирующегося выполнения инструмента |

267| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Установите на `1`, чтобы отправить уведомление рабочего стола инструмента `PushNotification`, даже пока вы печатаете в терминале или сосредоточены на нем. По умолчанию инструмент пропускает как уведомление рабочего стола, так и [мобильный push](/docs/ru/remote-control#mobile-push-notifications), когда обнаруживает недавнюю активность клавиатуры или фокус терминала. Эта переменная отключает только эту локальную проверку, поэтому сервер все еще может подавить мобильный push, когда обнаружит, что вы активны. Требует Claude Code версии 2.1.193 или позже |270| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Установите `1` для отправки уведомления рабочего стола инструмента `PushNotification` даже пока вы печатаете в терминале или сосредоточены на нем. По умолчанию инструмент пропускает как уведомление рабочего стола, так и [мобильный push](/docs/ru/remote-control#mobile-push-notifications) при обнаружении недавней активности клавиатуры или фокуса терминала. Эта переменная отключает только эту локальную проверку, поэтому сервер все еще может подавить мобильный push при обнаружении, что вы активны. Требует Claude Code версии 2.1.193 или позже |

268| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Установите на `1`, чтобы отключить автоматическую регистрацию официального рынка плагинов. Claude Code читает переменную, когда собирается зарегистрировать рынок, обычно при первом интерактивном запуске машины. Если переменная установлена в этот момент, Claude Code постоянно пропускает регистрацию. Отмена установки переменной позже не отменяет пропуск. Запустите `claude plugin marketplace add anthropics/claude-plugins-official`, чтобы зарегистрировать рынок в любое время |271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Установите `1` для отключения автоматической регистрации официального рынка плагинов. Claude Code читает переменную, когда он собирается зарегистрировать рынок, обычно при первом интерактивном запуске машины. Если переменная установлена в этот момент, Claude Code постоянно пропускает регистрацию. Отмена установки переменной позже не отменяет пропуск. Запустите `claude plugin marketplace add anthropics/claude-plugins-official` для регистрации рынка в любое время |

269| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Установите на `1`, чтобы остановить Claude Code от запуска ваших [hooks Notification для неотвеченных запросов разрешения](/docs/ru/hooks#notification) в сеансах, где Claude Code отправляет их обратному вызову `canUseTool` Agent SDK, что является тем, как Claude Desktop и расширение VS Code размещают Claude Code. Не имеет эффекта в сеансах терминала. Требует Claude Code версии 2.1.233 или позже |272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Установите `1` для остановки Claude Code от запуска ваших [hooks Notification для неотвеченных запросов разрешений](/docs/ru/hooks#notification) в сеансах, где Claude Code отправляет их обратному вызову `canUseTool` Agent SDK, что является тем, как Claude Desktop и расширение VS Code размещают Claude Code. Не имеет эффекта в сеансах терминала. Требует Claude Code версии 2.1.233 или позже |

270| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Установите на `1`, чтобы пропустить загрузку skills из системного каталога управляемых skills. Полезно для контейнерных или CI сеансов, которые не должны загружать skills, предоставленные оператором |273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Установите `1` для пропуска загрузки skills из системного каталога управляемых skills. Полезно для контейнерных или CI сеансов, которые не должны загружать skills, предоставленные оператором |

271| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Установите на `1`, чтобы отключить автоматические обновления заголовка терминала на основе контекста разговора. В сеансах Agent SDK и `claude -p` это также пропускает фоновый запрос модели small/fast для создания заголовка сеанса |274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Установите `1` для отключения автоматических обновлений заголовка терминала на основе контекста разговора. В сеансах Agent SDK и `claude -p` это также пропускает фоновый запрос модели small/fast для создания заголовка сеанса |

272| `CLAUDE_CODE_DISABLE_THINKING` | Установите на `1`, чтобы полностью опустить параметр `thinking` из запросов API. Это вариант совместимости для прокси и шлюзов, которые отклоняют параметр. На моделях, которые думают по умолчанию, опущение параметра означает, что модель все еще может думать. Чтобы явно отключить [расширенное мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) на API Anthropic, используйте `MAX_THINKING_TOKENS=0` вместо этого. Ни одна переменная не отключает мышление на моделях Fable, которые не могут иметь отключенное мышление. На [сторонних поставщиках](/docs/ru/third-party-integrations) `MAX_THINKING_TOKENS=0` аналогично опускает параметр, поэтому две переменные ведут себя одинаково там |275| `CLAUDE_CODE_DISABLE_THINKING` | Установите `1` для полного пропуска параметра `thinking` из запросов API. Это опция совместимости для прокси и шлюзов, которые отклоняют параметр. На моделях, которые думают по умолчанию, пропуск параметра означает, что модель все еще может думать. Чтобы явно отключить [расширенное мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) на API Anthropic, используйте `MAX_THINKING_TOKENS=0` вместо этого. Ни одна переменная не отключает мышление на моделях Fable, которые не могут иметь отключенное мышление. На [сторонних поставщиках](/docs/ru/third-party-integrations) `MAX_THINKING_TOKENS=0` аналогично пропускает параметр, поэтому две переменные ведут себя одинаково там |

273| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Установите на `1`, чтобы пропустить проактивное [автокомпактирование](/docs/ru/costs#reduce-token-usage), когда Claude Code не распознает ID модели, такой как [LLM gateway](/docs/ru/llm-gateway) псевдоним. Без этой переменной Claude Code компактирует при окне контекста, которое он предполагает для ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` может исправить предполагаемое окно вместо этого; см. [Исправить окно для ID модели шлюза или пользовательского](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id) для того, когда применяется каждая переменная. Требует Claude Code версии 2.1.223 или позже |276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Установите `1` для пропуска проактивного [автокомпактирования](/docs/ru/costs#reduce-token-usage) когда Claude Code не распознает ID модели, такой как псевдоним [LLM gateway](/docs/ru/llm-gateway). Без этой переменной Claude Code компактирует при окне контекста, которое он предполагает для ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` может исправить предполагаемое окно вместо этого; см. [Исправить окно для ID шлюза или пользовательской модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id) для того, когда применяется каждая переменная. Требует Claude Code версии 2.1.223 или позже |

274| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Установите на `1`, чтобы отключить виртуальную прокрутку в [полноэкранном рендере](/docs/ru/fullscreen) и отрендерить каждое сообщение в стенограмме. Используйте это, если прокрутка в полноэкранном режиме показывает пустые области, где должны появиться сообщения |277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Установите `1` для отключения виртуальной прокрутки в [полноэкранном рендере](/docs/ru/fullscreen) и рендера каждого сообщения в стенограмме. Используйте это, если прокрутка в полноэкранном режиме показывает пустые области, где должны появляться сообщения |

275| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Установите на `1`, чтобы отключить [рабочие процессы](/docs/ru/workflows#turn-workflows-off). Эквивалентно параметру [`disableWorkflows`](/docs/ru/settings-reference#disableworkflows) |278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Установите `1` для запуска команд [инструмента PowerShell](/docs/ru/tools-reference#powershell-tool) на Windows напрямую вместо использования средства запуска `cmd.exe`. По умолчанию средство запуска позволяет команде PowerShell [работающей в фоновом режиме](/docs/ru/tools-reference#background-commands) [переносить в процесс следующего сеанса](/docs/ru/agent-view#the-supervisor-process), например при [фоновом выполнении сеанса](/docs/ru/agent-view#from-inside-a-session). Если вы установите переменную, фоновая команда PowerShell останавливается при выходе процесса сеанса. Команды Bash не затронуты. Требует Claude Code версии 2.1.269 или позже |

279| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Установите `1` для отключения [workflows](/docs/ru/workflows#turn-workflows-off). Эквивалентно параметру [`disableWorkflows`](/docs/ru/settings-reference#disableworkflows) |

276| `CLAUDE_CODE_EFFORT_LEVEL` | Установить уровень усилий для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto` для использования модели по умолчанию. Доступные уровни зависят от модели. Имеет приоритет над `--effort`, `/effort` и параметрами `modelSettings` и `effortLevel`. Ограничение [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) по-прежнему применяется. См. [Отрегулировать уровень усилий](/docs/ru/model-config#adjust-effort-level) |280| `CLAUDE_CODE_EFFORT_LEVEL` | Установить уровень усилий для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto` для использования модели по умолчанию. Доступные уровни зависят от модели. Имеет приоритет над `--effort`, `/effort` и параметрами `modelSettings` и `effortLevel`. Ограничение [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) по-прежнему применяется. См. [Отрегулировать уровень усилий](/docs/ru/model-config#adjust-effort-level) |

277| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | Установите на `1`, чтобы включить добавление дополнительного текста в конец системной подсказки каждого [subagent](/docs/ru/sub-agents), кроме [forked subagent](/docs/ru/sub-agents#fork-the-current-conversation). Флаги [`--append-subagent-system-prompt`](/docs/ru/cli-reference#cli-flags) и [`--append-subagent-system-prompt-file`](/docs/ru/cli-reference#cli-flags) предоставляют добавленный текст и автоматически устанавливают эту переменную, поэтому вам не нужно устанавливать ее самостоятельно. Требует Claude Code версии 2.1.205 или позже |281| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Принято для совместимости со старыми выпусками и не имеет эффекта. Режим авто доступен по умолчанию на каждом поставщике, включая Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сеансы [Claude apps gateway](/docs/ru/claude-apps-gateway) с входом. В версиях 2.1.158 через 2.1.206 установка этого на `1` была необходима для доступности [режима авто](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) на этих поставщиках |

278| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Принято для совместимости со старыми выпусками и не имеет эффекта. Автоматический режим доступен по умолчанию на каждом поставщике, включая Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сеансы [Claude apps gateway](/docs/ru/claude-apps-gateway) с входом. В версиях 2.1.158 через 2.1.206 установка этого на `1` была необходима, чтобы сделать [автоматический режим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) доступным на этих поставщиках |282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Переопределить доступность [сводки сеанса](/docs/ru/interactive-mode#session-recap). Установите `0` для принудительного отключения сводок независимо от переключателя `/config`. Установите `1` для принудительного включения сводок, когда [`awaySummaryEnabled`](/docs/ru/settings-reference#awaysummaryenabled) имеет значение `false`. Имеет приоритет над параметром и переключателем `/config` |

279| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Переопределить доступность [сводки сеанса](/docs/ru/interactive-mode#session-recap). Установите на `0`, чтобы принудительно отключить сводки независимо от переключателя `/config`. Установите на `1`, чтобы принудительно включить сводки, когда [`awaySummaryEnabled`](/docs/ru/settings-reference#awaysummaryenabled) имеет значение `false`. Имеет приоритет над параметром и переключателем `/config` |283| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Установите `1` для обновления состояния плагина на границах хода в [неинтерактивном режиме](/docs/ru/headless) после завершения фоновой установки. Отключено по умолчанию, потому что обновление изменяет системную подсказку в середине сеанса, что делает [кэширование подсказок](/docs/ru/prompt-caching) недействительным для этого хода |

280| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Установите на `1`, чтобы обновить состояние плагина на границах хода в [неинтерактивном режиме](/docs/ru/headless) после завершения фоновой установки. Отключено по умолчанию, потому что обновление изменяет системную подсказку в середине сеанса, что делает [кэширование подсказок](/docs/ru/prompt-caching) недействительным для этого хода |284| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Установите `1` для маршрутизации опроса качества сеанса "How is Claude doing?" на ваш собственный [сборщик OpenTelemetry](/docs/ru/monitoring-usage) когда сетевой трафик, привязанный к Anthropic, заблокирован. Рейтинги опросов выдаются только как события OTEL вашему настроенному сборщику. Данные опроса не отправляются Anthropic в этом режиме. Применяется, когда установлены `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` или `DO_NOT_TRACK`, и не имеет эффекта в противном случае. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` и политика обратной связи организации имеют приоритет |

281| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Установите на `1`, чтобы направить опрос качества сеанса "How is Claude doing?" на ваш собственный [сборщик OpenTelemetry](/docs/ru/monitoring-usage), когда необязательный трафик в адрес Anthropic заблокирован. Рейтинги опросов выдаются только как события OTEL вашему настроенному сборщику. Никакие данные опроса не отправляются Anthropic в этом режиме. Применяется, когда установлены `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` или `DO_NOT_TRACK`, и не имеет эффекта в противном случае. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` и политика обратной связи организации имеют приоритет |285| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Контролирует, передаются ли входные данные вызова инструмента из API по мере их создания Claude. При отключении большой вход инструмента, такой как длинная запись файла, поступает только после завершения создания Claude, что может выглядеть как зависание. Включено по умолчанию на API Anthropic. На Amazon Bedrock и Google Cloud's Agent Platform включено для каждой модели, где развернутый контейнер это поддерживает. Установите `0` для отказа. Установите `1` для принудительного включения при маршрутизации через прокси через `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. Отключено по умолчанию на Microsoft Foundry и подключениях [шлюза](/docs/ru/llm-gateway) |

282| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Контролирует, поступают ли входные данные вызова инструмента из API по мере их создания Claude. С этим отключенным большой вход инструмента, такой как длинная запись файла, поступает только после того, как Claude закончит его создавать, что может выглядеть как зависание. Включено по умолчанию на API Anthropic. На Amazon Bedrock и Google Cloud's Agent Platform включено для каждой модели, где развернутый контейнер это поддерживает. Установите на `0`, чтобы отказаться. Установите на `1`, чтобы принудительно включить при маршрутизации через прокси через `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. Отключено по умолчанию на Microsoft Foundry и подключениях [шлюза](/docs/ru/llm-gateway) |286| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Установите `1` для заполнения средства выбора `/model` из конечной точки `/v1/models` вашего шлюза, когда `ANTHROPIC_BASE_URL` указывает на совместимый с Anthropic шлюз, такой как LiteLLM, Kong или внутренний прокси. Отключено по умолчанию, потому что шлюзы, поддерживаемые общим ключом API, в противном случае показали бы каждому пользователю каждую модель, к которой может получить доступ ключ. Обнаруженные модели по-прежнему фильтруются списком разрешений [`availableModels`](/docs/ru/settings-reference#availablemodels), который получает сеанс; доставьте список через [MDM или файл управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms), так как [доставка, управляемая сервером, недоступна в конфигурациях шлюза](/docs/ru/server-managed-settings#platform-availability) |

283| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Установите на `1`, чтобы заполнить средство выбора `/model` из конечной точки `/v1/models` вашего шлюза, когда `ANTHROPIC_BASE_URL` указывает на совместимый с Anthropic шлюз, такой как LiteLLM, Kong или внутренний прокси. Отключено по умолчанию, потому что шлюзы, поддерживаемые общим ключом API, в противном случае показали бы каждому пользователю каждую модель, к которой может получить доступ ключ. Обнаруженные модели по-прежнему фильтруются по списку разрешений [`availableModels`](/docs/ru/settings-reference#availablemodels), который получает сеанс; доставьте список через [MDM или файл управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms), так как [доставка, управляемая сервером, недоступна в конфигурациях шлюза](/docs/ru/server-managed-settings#platform-availability) |

284| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Удалено в версии 2.1.142, когда [быстрый режим](/docs/ru/fast-mode) по умолчанию переместился с Opus 4.6 на Opus 4.7 |287| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Удалено в версии 2.1.142, когда [быстрый режим](/docs/ru/fast-mode) по умолчанию переместился с Opus 4.6 на Opus 4.7 |

285| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Установите на `false`, чтобы отключить предложения подсказок, затемненные предсказания, которые появляются в вводе подсказки. Имеет приоритет над параметром [`promptSuggestionEnabled`](/docs/ru/settings-reference#promptsuggestionenabled), который записывает переключатель **Prompt suggestions** в `/config`. Claude Code также [приостанавливает предложения, пока ваша учетная запись близка к пределу использования или находится на нем](/docs/ru/interactive-mode#when-claude-code-skips-suggestions). Установите на `true`, чтобы сохранить их включенными до достижения лимита. Требует Claude Code версии 2.1.238 или позже. См. [Предложения подсказок](/docs/ru/interactive-mode#prompt-suggestions) |288| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Установите `false` для отключения предложений подсказок, затемненных предсказаний, которые появляются в вводе подсказки. Имеет приоритет над параметром [`promptSuggestionEnabled`](/docs/ru/settings-reference#promptsuggestionenabled), который записывает переключатель **Prompt suggestions** в `/config`. Claude Code также [приостанавливает предложения, пока ваша учетная запись близка к пределу использования или находится на нем](/docs/ru/interactive-mode#when-claude-code-skips-suggestions). Установите `true` для сохранения их включенными до достижения лимита. Требует Claude Code версии 2.1.238 или позже. См. [Предложения подсказок](/docs/ru/interactive-mode#prompt-suggestions) |

286| `CLAUDE_CODE_ENABLE_TASKS` | Выбирает, какие инструменты отслеживания задач Claude Code предоставляет в [сеансах, которые их имеют](/docs/ru/tools-reference#task-tool-availability). По умолчанию Claude Code предоставляет инструменты Task `TaskCreate`, `TaskUpdate`, `TaskGet` и `TaskList`. Установите на `0`, чтобы получить устаревший инструмент `TodoWrite` вместо этого. См. [Список задач](/docs/ru/interactive-mode#task-list) |289| `CLAUDE_CODE_ENABLE_TASKS` | Выбирает, какие инструменты отслеживания задач Claude Code предоставляет в [сеансах, которые их имеют](/docs/ru/tools-reference#task-tool-availability). По умолчанию Claude Code предоставляет инструменты Task `TaskCreate`, `TaskUpdate`, `TaskGet` и `TaskList`. Установите `0` для получения устаревшего инструмента `TodoWrite` вместо этого. См. [Список задач](/docs/ru/interactive-mode#task-list) |

287| `CLAUDE_CODE_ENABLE_TELEMETRY` | Установите на `1`, чтобы включить сбор данных OpenTelemetry для метрик и логирования. Требуется перед настройкой экспортеров OTel. См. [Мониторинг](/docs/ru/monitoring-usage) |290| `CLAUDE_CODE_ENABLE_TELEMETRY` | Установите `1` для включения сбора данных OpenTelemetry для метрик и логирования. Требуется перед настройкой экспортеров OTel. См. [Мониторинг](/docs/ru/monitoring-usage) |

288| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Установите на `1`, чтобы получить инструменты отслеживания задач на моделях, перечисленных в [Доступность инструмента Task](/docs/ru/tools-reference#task-tool-availability), где Claude Code в противном случае их не включает. `CLAUDE_CODE_ENABLE_TASKS` по-прежнему выбирает инструменты Task или `TodoWrite`. Требует Claude Code версии 2.1.233 или позже |291| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Установите `1` для получения инструментов отслеживания задач на каждой модели. Без этого Claude Code предоставляет их по умолчанию только на моделях, перечисленных в [Доступность инструмента Task](/docs/ru/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` по-прежнему выбирает инструменты Task или `TodoWrite`. Требует Claude Code версии 2.1.233 или позже |

289| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Время в миллисекундах для ожидания после того, как цикл запроса становится неактивным, перед автоматическим выходом. Полезно для автоматизированных рабочих процессов и скриптов, использующих режим SDK |292| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Время в миллисекундах для ожидания после того как цикл запроса становится неактивным перед автоматическим выходом. Полезно для автоматизированных рабочих процессов и скриптов, использующих режим SDK |

290| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Установите на `1`, чтобы включить [команды агентов](/docs/ru/agent-teams). Команды агентов являются экспериментальными и отключены по умолчанию |293| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Установите `1` для включения [команд агентов](/docs/ru/agent-teams). Команды агентов являются экспериментальными и отключены по умолчанию |

291| `CLAUDE_CODE_EXTRA_BODY` | Объект JSON для объединения на верхний уровень каждого тела запроса API. Полезно для передачи параметров, специфичных для поставщика, которые Claude Code не предоставляет напрямую. Значение, экспортированное в вашей оболочке, также применяется к [фоновым сеансам](/docs/ru/agent-view), которые вы отправляете с помощью `claude agents` или `--bg`. До версии 2.1.206 фоновые сеансы игнорировали экспортированное значение оболочки и использовали любую копию, которую унаследовал процесс супервизора фонового |294| `CLAUDE_CODE_EXTRA_BODY` | JSON объект для объединения на верхний уровень каждого тела запроса API. Полезно для передачи параметров, специфичных для поставщика, которые Claude Code не предоставляет напрямую. Значение, экспортированное в вашей оболочке, также применяется к [фоновым сеансам](/docs/ru/agent-view), которые вы отправляете с `claude agents` или `--bg`. До версии 2.1.206 фоновые сеансы игнорировали экспортированное значение оболочки и использовали любую копию, которую унаследовал процесс супервизора фона |

292| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Переопределить ограничение токенов по умолчанию для чтения файлов. Полезно, когда вам нужно прочитать большие файлы полностью |295| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Переопределить ограничение токенов по умолчанию для чтения файлов. Полезно, когда вам нужно прочитать большие файлы полностью |

293| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Установите на `1`, чтобы принудительно сохранить стенограмму, историю подсказок и регистрацию `claude agents`, даже если этот `claude` был запущен изнутри другого сеанса Claude Code. Используйте, когда унаследованное значение `CLAUDE_CODE_CHILD_SESSION`, например из сеанса `screen` или фонового средства запуска, впервые запущенного инструментом Bash Claude Code, вызывает неправильную классификацию подлинного сеанса верхнего уровня как вложенного. Начиная с версии 2.1.178, Claude Code автоматически обнаруживает случай tmux и игнорирует унаследованный маркер, поэтому tmux больше не нуждается в этой переменной. Также соблюдается на версиях 2.1.169 и ранее; не имеет эффекта на версиях 2.1.170 и 2.1.171, где было удалено обнаружение вложенного сеанса, которое оно переопределяет |296| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Установите `1` для принудительного сохранения стенограммы, истории подсказок и регистрации `claude agents` даже когда этот `claude` был запущен изнутри другого сеанса Claude Code. Используйте, когда унаследованное значение `CLAUDE_CODE_CHILD_SESSION`, например из сеанса `screen` или фонового средства запуска, впервые запущенного инструментом Bash Claude Code, вызывает неправильную классификацию подлинного верхнего сеанса как вложенного. Начиная с версии 2.1.178, Claude Code автоматически обнаруживает случай tmux и игнорирует унаследованный маркер, поэтому tmux больше не нуждается в этой переменной. Также соблюдается на версиях 2.1.169 и ранее; не имеет эффекта на версиях 2.1.170 и 2.1.171, где было удалено обнаружение вложенного сеанса, которое оно переопределяет |

294| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Установите на `1`, чтобы принудительно отрендерить зачеркивание для `~~text~~` в ответах Claude, когда ваш терминал это поддерживает, но не автоопределен, например через SSH без пересылки `TERM_PROGRAM`. Без этого необнаруженные терминалы показывают буквальные маркеры `~~` вместо отрендеривания текста как зачеркивания. Требует Claude Code версии 2.1.186 или позже |297| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Установите `1` для принудительного рендера зачеркивания для `~~text~~` в ответах Claude, когда ваш терминал это поддерживает, но не автоопределяется, например через SSH без пересылки `TERM_PROGRAM`. Без этого необнаруженные терминалы показывают буквальные маркеры `~~` вместо рендера текста как зачеркивания. Требует Claude Code версии 2.1.186 или позже |

295| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Установите на `1`, чтобы принудительно включить режим DEC private 2026 [синхронизированный вывод](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036), когда ваш терминал это поддерживает, но не автоопределен. Полезно для эмуляторов, таких как Emacs `eat`, которые реализуют BSU/ESU, но не отвечают на зонд возможностей. Не имеет эффекта под tmux. В отличие от `CLAUDE_CODE_NO_FLICKER`, который переключается на [полноэкранный рендер](/docs/ru/fullscreen), это не изменяет рендер |298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Установите `1` для принудительного включения режима DEC private 2026 [синхронизированного вывода](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) когда ваш терминал это поддерживает, но не автоопределяется. Полезно для эмуляторов, таких как Emacs `eat`, которые реализуют BSU/ESU, но не отвечают на зонд возможностей. Не имеет эффекта под tmux. В отличие от `CLAUDE_CODE_NO_FLICKER`, который переключается на [полноэкранный рендер](/docs/ru/fullscreen), это не изменяет рендер |

296| `CLAUDE_CODE_FORK_SUBAGENT` | Контролирует [режим fork](/docs/ru/sub-agents#turn-fork-mode-on-or-off), который позволяет Claude порождать [forked subagents](/docs/ru/sub-agents#fork-the-current-conversation) сам и включен по умолчанию только в интерактивных сеансах. Установите на `1`, чтобы включить его в `claude -p` и Agent SDK также, или `0`, чтобы отключить его в каждом виде сеанса. Вы можете запустить `/subtask` независимо от того, включен ли режим fork. Интерактивное значение по умолчанию требует Claude Code версии 2.1.232 или позже; на более ранних версиях установите переменную на `1`, чтобы включить режим fork |299| `CLAUDE_CODE_FORK_SUBAGENT` | Контролирует [режим fork](/docs/ru/sub-agents#turn-fork-mode-on-or-off), который позволяет Claude порождать [разветвленные подагенты](/docs/ru/sub-agents#fork-the-current-conversation) сам и включен по умолчанию только в интерактивных сеансах. Установите `1` для включения в `claude -p` и Agent SDK также, или `0` для отключения в каждом виде сеанса. Вы можете запустить `/subtask` независимо от того, включен ли режим fork. Интерактивное значение по умолчанию требует Claude Code версии 2.1.232 или позже; на более ранних версиях установите переменную на `1` для включения режима fork |

297| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Установите на `1`, чтобы выдать [subagent](/docs/ru/sub-agents) текст и блоки мышления в выводе `claude -p --output-format stream-json`, то же поведение, что и флаг [`--forward-subagent-text`](/docs/ru/cli-reference#cli-flags). Используйте переменную, когда средство запуска вызывает `claude` и не может передать флаг сам. В отличие от флага, который выходит с ошибкой вне неинтерактивного режима с выводом stream-json, переменная игнорируется там, чтобы вложенные вызовы продолжали работать, когда она установлена процессом. Требует Claude Code версии 2.1.211 или позже |300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Установите `1` для выдачи [подагента](/docs/ru/sub-agents) текста и блоков мышления в выводе `claude -p --output-format stream-json`, то же поведение, что и флаг [`--forward-subagent-text`](/docs/ru/cli-reference#cli-flags). Используйте переменную, когда обвязка вызывает `claude` и не может передать флаг сам. В отличие от флага, который выходит с ошибкой вне неинтерактивного режима с выводом stream-json, переменная игнорируется там, чтобы вложенные вызовы продолжали работать при установке процесса. Требует Claude Code версии 2.1.211 или позже |

298| `CLAUDE_CODE_GIT_BASH_PATH` | Только Windows: путь к исполняемому файлу Git Bash (`bash.exe`). Используйте, когда Git Bash установлен, но не в вашем PATH. Если путь не существует или файл не назван `bash.exe`, `sh.exe`, `bash` или `sh`, Claude Code игнорирует переменную и автоопределяет Git Bash, как если бы она была не установлена, логируя предупреждение, видимое с `--debug`. До версии 2.1.219 Claude Code выходил при запуске, когда путь не существовал, и использовал любой существующий файл как оболочку без проверки того, что это bash или sh. См. [Настройка Windows](/docs/ru/setup#set-up-on-windows) |301| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Таймаут в миллисекундах для запроса [обнаружения модели шлюза](/docs/ru/llm-gateway-protocol#model-discovery), который включает `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` (по умолчанию: `3000`). Повысьте это, когда вашему шлюзу нужно больше трех секунд для ответа на `/v1/models` при запуске. Принимает только простые цифры; `0`, отрицательные значения и другие написания сохраняют значение по умолчанию. Требует Claude Code версии 2.1.269 или позже |

299| `CLAUDE_CODE_GLOB_HIDDEN` | Установите на `false`, чтобы исключить скрытые файлы из результатов, когда Claude вызывает [инструмент Glob](/docs/ru/tools-reference#glob-tool-behavior). Включено по умолчанию. Не влияет на автодополнение файлов `@`, `ls`, Grep или Read |302| `CLAUDE_CODE_GIT_BASH_PATH` | Только Windows: путь к исполняемому файлу Git Bash (`bash.exe`). Используйте, когда Git Bash установлен, но не в вашем PATH. Если путь не существует или файл не назван `bash.exe`, `sh.exe`, `bash` или `sh`, Claude Code игнорирует переменную и автоопределяет Git Bash, как если бы она была не установлена, логируя предупреждение, видимое с `--debug`. До версии 2.1.219 Claude Code выходил при запуске, когда путь не существовал, и использовал любой существующий файл как оболочку без проверки, что это bash или sh. См. [Настройка Windows](/docs/ru/setup#set-up-on-windows) |

300| `CLAUDE_CODE_GLOB_NO_IGNORE` | Установите на `false`, чтобы заставить [инструмент Glob](/docs/ru/tools-reference#glob-tool-behavior) соблюдать шаблоны `.gitignore`. По умолчанию Glob возвращает все совпадающие файлы, включая игнорируемые git. Не влияет на автодополнение файлов `@`, которое имеет свой собственный параметр [`respectGitignore`](/docs/ru/settings-reference#respectgitignore) |303| `CLAUDE_CODE_GLOB_HIDDEN` | Установите `false` для исключения скрытых файлов из результатов, когда Claude вызывает [инструмент Glob](/docs/ru/tools-reference#glob-tool-behavior). Включено по умолчанию. Не влияет на автодополнение файлов `@`, `ls`, Grep или Read |

304| `CLAUDE_CODE_GLOB_NO_IGNORE` | Установите `false` для того, чтобы [инструмент Glob](/docs/ru/tools-reference#glob-tool-behavior) соблюдал шаблоны `.gitignore`. По умолчанию Glob возвращает все совпадающие файлы, включая игнорируемые git. Не влияет на автодополнение файлов `@`, которое имеет свой собственный параметр [`respectGitignore`](/docs/ru/settings-reference#respectgitignore) |

301| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Таймаут в секундах для обнаружения файлов инструмента Glob. По умолчанию 20 секунд на большинстве платформ и 60 секунд на WSL |305| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Таймаут в секундах для обнаружения файлов инструмента Glob. По умолчанию 20 секунд на большинстве платформ и 60 секунд на WSL |

302| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Сколько минут фоновая работа может держать активную цель в ожидании перед тем, как Claude Code [попросит Claude проверить ее](/docs/ru/goal#background-work-defers-evaluation). По умолчанию `30`. Установите `0`, чтобы отключить проверки. Дайте целые минуты в простых цифрах, максимум `10080`, что составляет одну неделю. Claude Code обрабатывает любое другое значение как не установленное и использует значение по умолчанию. Требует Claude Code версии 2.1.234 или позже |306| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Сколько минут фоновая работа может держать активную цель в ожидании перед тем как Claude Code [попросит Claude проверить это](/docs/ru/goal#background-work-defers-evaluation). По умолчанию `30`. Установите `0` для отключения проверок. Дайте целые минуты в простых цифрах, максимум `10080`, что составляет одну неделю. Claude Code обрабатывает любое другое значение как не установленное и использует значение по умолчанию. Требует Claude Code версии 2.1.234 или позже |

303| `CLAUDE_CODE_HIDE_CWD` | Установите на `1`, чтобы скрыть рабочий каталог в логотипе запуска. Полезно для скринширов или записей, где путь раскрывает имя пользователя вашей ОС |307| `CLAUDE_CODE_HIDE_CWD` | Установите `1` для скрытия рабочего каталога в логотипе запуска. Полезно для скринширов или записей, где путь раскрывает имя пользователя вашей ОС |

304| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Переопределить адрес хоста, используемый для подключения к расширению IDE. По умолчанию Claude Code автоопределяет правильный адрес, включая маршрутизацию WSL-to-Windows |308| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Переопределить адрес хоста, используемый для подключения к расширению IDE. По умолчанию Claude Code автоопределяет правильный адрес, включая маршрутизацию WSL-to-Windows |

305| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Установите на `1`, чтобы пропустить автоустановку расширений IDE. Эквивалентно установке [`autoInstallIdeExtension`](/docs/ru/settings-reference#autoinstallideextension) на `false` |309| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Установите `1` для пропуска автоустановки расширений IDE. Эквивалентно установке [`autoInstallIdeExtension`](/docs/ru/settings-reference#autoinstallideextension) на `false` |

306| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Установите на `1`, чтобы пропустить проверку записей файла блокировки IDE при подключении. Используйте, когда автоподключение не может найти вашу IDE, несмотря на то, что она работает |310| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Установите `1` для пропуска проверки записей файла блокировки IDE при подключении. Используйте, когда автоподключение не может найти вашу IDE, несмотря на то что она работает |

307| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Сколько [subagents](/docs/ru/sub-agents#concurrent-subagent-limit) может работать в одном сеансе перед тем, как инструмент Agent откажется порождать другой (по умолчанию: 20). Принимает положительное целое число в простых цифрах; что-либо еще игнорируется, поэтому переменная может отрегулировать ограничение, но не может его отключить. Требует Claude Code версии 2.1.217 или позже |311| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Сколько [подагентов](/docs/ru/sub-agents#concurrent-subagent-limit) может работать в одном сеансе перед тем как инструмент Agent отказывает в порождении другого (по умолчанию: 20). Принимает положительное целое число в простых цифрах; что-либо еще игнорируется, поэтому переменная может отрегулировать ограничение, но не может его отключить. Требует Claude Code версии 2.1.217 или позже |

308| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Переопределить размер окна контекста, который Claude Code предполагает для активной модели. Начиная с версии 2.1.193, как это применяется, зависит от того, как Claude Code разрешает ID модели; см. [Исправить окно для ID модели шлюза или пользовательского](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Используйте это при маршрутизации к модели через `ANTHROPIC_BASE_URL`, чье окно контекста не совпадает с встроенным размером для его имени |312| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Переопределить размер окна контекста, который Claude Code предполагает для активной модели. Начиная с версии 2.1.193, как это применяется, зависит от того, как Claude Code разрешает ID модели; см. [Исправить окно для ID шлюза или пользовательской модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Используйте это при маршрутизации к модели через `ANTHROPIC_BASE_URL`, чье окно контекста не совпадает с встроенным размером для его имени |

309| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Установить максимальное количество выходных токенов для большинства запросов. Значения по умолчанию и ограничения варьируются по модели; см. [максимальные выходные токены](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code по умолчанию использует 32000 для ID моделей, которые он не распознает, таких как имена, специфичные для шлюза, и понижает значения выше ограничения модели до ограничения. Увеличение этого значения уменьшает эффективное окно контекста, доступное перед [автокомпактированием](/docs/ru/costs#reduce-token-usage) |313| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Установить максимальное количество выходных токенов для большинства запросов. Значения по умолчанию и ограничения варьируются по модели; см. [максимальные выходные токены](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code по умолчанию использует 32000 для ID моделей, которые он не распознает, такие как имена, специфичные для шлюза, и понижает значения выше ограничения модели до ограничения. Увеличение этого значения уменьшает эффективное окно контекста, доступное перед [автокомпактированием](/docs/ru/costs#reduce-token-usage) |

310| `CLAUDE_CODE_MAX_RETRIES` | Переопределить количество раз для повтора неудачных запросов API (по умолчанию: 10). Ограничено 15 начиная с версии 2.1.186; начиная с версии 2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` поднимает значение по умолчанию и удаляет ограничение. Для неконтролируемых сеансов, которым нужно ждать через более длительные сбои, установите `CLAUDE_CODE_RETRY_WATCHDOG` вместо этого |314| `CLAUDE_CODE_MAX_RETRIES` | Переопределить количество раз для повтора неудачных запросов API (по умолчанию: 10). Ограничено 15 начиная с версии 2.1.186; начиная с версии 2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` повышает значение по умолчанию и удаляет ограничение. Для неконтролируемых сеансов, которым нужно ждать через более длительные сбои, установите `CLAUDE_CODE_RETRY_WATCHDOG` вместо этого |

311| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Удалено в версии 2.1.224 и теперь не работает. Ранее ограничивало общее количество [subagents](/docs/ru/sub-agents), которых Claude Code мог порождать с инструментом Agent в одном сеансе (по умолчанию: 200); порождение сверх ограничения завершалось с ошибкой `Subagent spawn limit reached`. [Ограничение параллельных subagents](/docs/ru/sub-agents#concurrent-subagent-limit) и [ограничение глубины](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents) по-прежнему применяются |315| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Удалено в версии 2.1.224 и теперь не работает. Ранее ограничивало общее количество [подагентов](/docs/ru/sub-agents), которых Claude мог порождать с инструментом Agent в одном сеансе (по умолчанию: 200); порождение сверх ограничения завершалось с `Subagent spawn limit reached`. [Ограничение одновременных подагентов](/docs/ru/sub-agents#concurrent-subagent-limit) и [ограничение глубины](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents) по-прежнему применяются |

312| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Количество [слоев subagent](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents), разрешенных ниже основного разговора (по умолчанию: 3). При значении по умолчанию subagents могут порождать собственные subagents, и subagent на третьем слое не может порождать дальше; установите `1`, чтобы отключить вложение. В версиях 2.1.217 через 2.1.218 значение по умолчанию было 1, поэтому subagent не мог порождать свой собственный, если вы не поднимали ограничение; версия 2.1.219 поднял значение по умолчанию до 3. Принимает положительное целое число в простых цифрах; что-либо еще игнорируется, поэтому ограничение может быть отрегулировано, но не удалено. Требует Claude Code версии 2.1.217 или позже |316| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Количество [слоев подагентов](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents) разрешено ниже основного разговора (по умолчанию: 3). При значении по умолчанию подагенты могут порождать своих собственных подагентов, и подагент на третьем слое не может порождать дальше; установите `1` для отключения вложения. В версиях 2.1.217 через 2.1.218 значение по умолчанию было 1, поэтому подагент не мог порождать своего собственного, если вы не повысили ограничение; версия 2.1.219 повысила значение по умолчанию до 3. Принимает положительное целое число в простых цифрах; что-либо еще игнорируется, поэтому ограничение может быть отрегулировано, но не удалено. Требует Claude Code версии 2.1.217 или позже |

313| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Максимальное количество инструментов только для чтения и subagents, которые могут выполняться параллельно (по умолчанию: 10). Более высокие значения увеличивают параллелизм, но потребляют больше ресурсов |317| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Максимальное количество инструментов только для чтения и подагентов, которые могут выполняться параллельно (по умолчанию: 10). Более высокие значения увеличивают параллелизм, но потребляют больше ресурсов |

314| `CLAUDE_CODE_MAX_TURNS` | Ограничить количество агентивных ходов, когда явное ограничение не передано. Эквивалентно передаче [`--max-turns`](/docs/ru/cli-reference#cli-flags), которая имеет приоритет, когда оба установлены. Значение, которое не является положительным целым числом, отклоняется при запуске с ошибкой, а не обрабатывается как отсутствие ограничения |318| `CLAUDE_CODE_MAX_TURNS` | Ограничить количество агентивных ходов, когда явное ограничение не передано. Эквивалентно передаче [`--max-turns`](/docs/ru/cli-reference#cli-flags), которая имеет приоритет при установке обоих. Значение, которое не является положительным целым числом, отклоняется при запуске с ошибкой, а не обрабатывается как отсутствие ограничения |

315| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Ограничение на общее количество вызовов [WebSearch](/docs/ru/tools-reference#websearch-tool-behavior), которые один сеанс может сделать (по умолчанию: 200). Когда Claude достигает ограничения, дальнейшие вызовы WebSearch возвращают уведомление, говорящее ему продолжить с информацией, которую он уже собрал. Принимает положительное целое число без верхнего ограничения. Что-либо еще игнорируется и применяется значение по умолчанию, поэтому ограничение может быть поднято, но не отключено. Требует Claude Code версии 2.1.212 или позже |319| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Ограничение на общее количество вызовов [WebSearch](/docs/ru/tools-reference#websearch-tool-behavior), которые один сеанс может сделать (по умолчанию: 200). Когда Claude достигает ограничения, дальнейшие вызовы WebSearch возвращают уведомление, говорящее ему продолжить с информацией, которую он уже собрал. Принимает положительное целое число без верхнего ограничения. Что-либо еще игнорируется и применяется значение по умолчанию, поэтому ограничение может быть повышено, но не отключено. Требует Claude Code версии 2.1.212 или позже |

316| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Установите на `1`, чтобы порождать MCP серверы stdio с только безопасной базовой окружением плюс настроенная окружение сервера, вместо наследования окружения вашей оболочки |320| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Установите `1` для порождения серверов stdio MCP с только безопасной базовой средой плюс настроенная `env` сервера, вместо наследования окружения вашей оболочки |

317| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Прошедшее время в миллисекундах перед тем, как все еще работающий вызов инструмента MCP [переместится в фоновую задачу](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls) (по умолчанию: 120000 или 2 минуты). Установите на `0`, чтобы отключить автоматическое фоновое выполнение. Требует Claude Code версии 2.1.212 или позже |321| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Прошедшее время в миллисекундах перед тем как все еще работающий вызов инструмента MCP [переходит в фоновую задачу](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls) (по умолчанию: 120000 или 2 минуты). Установите `0` для отключения автоматического фонового выполнения. Требует Claude Code версии 2.1.212 или позже |

318| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Таймаут простоя в миллисекундах для вызовов инструментов MCP. Когда сервер stdio, HTTP, SSE, WebSocket или [claude.ai connector](/docs/ru/mcp#use-mcp-servers-from-claude-ai) MCP не отправляет ответ и уведомление о прогрессе в течение этого времени, вызов инструмента прерывается с ошибкой вместо ожидания общего `MCP_TOOL_TIMEOUT`. Переопределяет значения по умолчанию для каждого транспорта 300000 (5 минут) для сетевых серверов и 1800000 (30 минут) для серверов stdio. Установите на `0`, чтобы отключить проверку простоя. Значения ниже 1000 поднимаются до одной секунды, и значение ограничено эффективным `MCP_TOOL_TIMEOUT`. Поле `timeout` для каждого сервера в `.mcp.json` не менее 1000 поднимает окно простоя этого сервера по крайней мере до значения `timeout`. Не применяется к серверам IDE или внутрипроцессным серверам SDK. Требует Claude Code версии 2.1.187 или позже. До версии 2.1.203 серверы stdio были освобождены от таймаута простоя |322| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Как долго в миллисекундах первый ход [неинтерактивного](/docs/ru/headless) сеанса ждет серверов MCP, которые все еще подключаются, вместо [ожидания первого хода](/docs/ru/agent-sdk/mcp#connection-timing) по умолчанию. При установке ожидание охватывает каждый ожидающий сервер. Установите `0` для пропуска ожидания. Сервер [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) сохраняет свое собственное ожидание `MCP_TIMEOUT` независимо от значения. Требует Claude Code версии 2.1.274 или позже |

319| `CLAUDE_CODE_MESSAGING_SOCKET` | Установлено Claude Code, не вами: в сеансах, которые привязывают [входящий сокет](/docs/ru/cross-session-messaging#the-sessions-inbox-socket), Claude Code экспортирует путь этого сокета к hooks и командам Bash, когда привязывает сокет. В сеансе, который начинается с включенной обработкой сообщений, Claude Code привязывает сокет перед запуском любого hook. Другие сеансы на машине доставляют сообщения на этот путь. Каждый сеанс экспортирует свой собственный сокет, а не унаследованный от родителя, и сообщения, поступающие на него, проходят через [входящие элементы управления](/docs/ru/cross-session-messaging#control-inbound-messages) сеанса. Блоки параметров `env` не могут его установить. Требует Claude Code версии 2.1.224 или позже |323| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Таймаут простоя в миллисекундах для вызовов инструментов MCP. Когда сервер stdio, HTTP, SSE, WebSocket или [соединитель claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) MCP не отправляет ответ и уведомление о прогрессе в течение этого времени, вызов инструмента прерывается с ошибкой вместо ожидания общего `MCP_TOOL_TIMEOUT`. Переопределяет значения по умолчанию для каждого транспорта 300000 (5 минут) для сетевых серверов и 1800000 (30 минут) для серверов stdio. Установите `0` для отключения проверки простоя. Значения ниже 1000 повышаются до одной секунды, и значение ограничивается эффективным `MCP_TOOL_TIMEOUT`. Сервер `timeout` в `.mcp.json` по крайней мере 1000 повышает окно простоя этого сервера по крайней мере до значения `timeout`. Не применяется к серверам IDE или серверам в процессе SDK. Требует Claude Code версии 2.1.187 или позже. До версии 2.1.203 серверы stdio были освобождены от таймаута простоя |

320| `CLAUDE_CODE_MESSAGING_TOKEN` | Установлено Claude Code, не вами: в сеансах, которые привязывают [входящий сокет](/docs/ru/cross-session-messaging#the-sessions-inbox-socket), Claude Code экспортирует этот токен для каждого сеанса к hooks и командам Bash рядом с `CLAUDE_CODE_MESSAGING_SOCKET`. Скрипт, публикующий на сокет, может отправить `{"type":"auth","token":"<token>"}` как первую строку, чтобы доказать, что он принадлежит сеансу. На собственном Windows Claude Code требует эту строку и закрывает любое подключение, которое не открывается с действительной. [Правила собственного дочернего элемента](/docs/ru/cross-session-messaging#the-sessions-inbox-socket) говорят, когда Claude Code консультирует токен. Каждый сеанс экспортирует свой собственный токен, никогда не унаследованный от родительского сеанса. Блоки параметров `env` не могут его установить. Требует Claude Code версии 2.1.228 или позже |324| `CLAUDE_CODE_MESSAGING_SOCKET` | Установлено Claude Code, а не вами: в сеансах, которые привязывают [сокет входящих сообщений](/docs/ru/cross-session-messaging#the-sessions-inbox-socket), Claude Code экспортирует путь этого сокета к hooks и командам Bash при привязке сокета. В сеансе, который начинается с включенной передачей сообщений, Claude Code привязывает сокет перед запуском любого hook. Другие сеансы на машине доставляют сообщения на этот путь. Каждый сеанс экспортирует свой собственный сокет, а не унаследованный от родителя, и сообщения, поступающие на него, проходят через [входящие элементы управления](/docs/ru/cross-session-messaging#control-inbound-messages) сеанса. Блоки параметров `env` не могут его установить. Требует Claude Code версии 2.1.224 или позже |

321| `CLAUDE_CODE_NATIVE_CURSOR` | Установите на `1`, чтобы показать собственный курсор терминала в каретке ввода вместо нарисованного блока. Курсор соблюдает параметры мигания, формы и фокуса терминала |325| `CLAUDE_CODE_MESSAGING_TOKEN` | Установлено Claude Code, а не вами: в сеансах, которые привязывают [сокет входящих сообщений](/docs/ru/cross-session-messaging#the-sessions-inbox-socket), Claude Code экспортирует этот токен для каждого сеанса к hooks и командам Bash рядом с `CLAUDE_CODE_MESSAGING_SOCKET`. Скрипт, отправляющий на сокет, может отправить `{"type":"auth","token":"<token>"}` как первую строку для доказательства того, что он принадлежит сеансу. На собственном Windows Claude Code требует эту строку и закрывает любое подключение, которое не открывается с действительной. [Правила собственного дочернего элемента](/docs/ru/cross-session-messaging#the-sessions-inbox-socket) говорят, когда Claude Code консультирует токен. Каждый сеанс экспортирует свой собственный токен, никогда унаследованный от родительского сеанса. Блоки параметров `env` не могут его установить. Требует Claude Code версии 2.1.228 или позже |

322| `CLAUDE_CODE_NEW_INIT` | Установите на `1`, чтобы заставить `/init` запустить интерактивный поток настройки. Поток спрашивает, какие файлы создавать, включая CLAUDE.md, skills и hooks, перед исследованием кодовой базы и их написанием. Без этой переменной `/init` автоматически создает CLAUDE.md без запроса |326| `CLAUDE_CODE_NATIVE_CURSOR` | Установите `1` для отображения собственного курсора терминала в каретке ввода вместо нарисованного блока. Курсор соблюдает параметры мигания, формы и фокуса терминала |

323| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Установите на `1`, чтобы писать вывод терминала через второй неблокирующий дескриптор файла, поэтому терминал, который перестает читать, такой как приостановленная панель управления tmux или застопорившееся SSH подключение, не может заморозить Claude Code в середине сеанса. Применяется на macOS, Linux и WSL, когда stdout — это терминал. Требует Claude Code версии 2.1.261 или позже |327| `CLAUDE_CODE_NEW_INIT` | Установите `1` для запуска `/init` интерактивного потока настройки. Поток спрашивает, какие файлы создавать, включая CLAUDE.md, skills и hooks, перед исследованием кодовой базы и их написанием. Без этой переменной `/init` создает CLAUDE.md автоматически без запроса |

324| `CLAUDE_CODE_NO_FLICKER` | Установите на `1`, чтобы включить [полноэкранный рендер](/docs/ru/fullscreen), исследовательский предпросмотр, который уменьшает мерцание и сохраняет память плоской в длинных разговорах. Переопределяет параметр [`tui`](/docs/ru/settings-reference#tui); вы также можете переключиться с `/tui fullscreen` |328| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Установите `1` для записи вывода терминала через второй неблокирующий дескриптор файла, поэтому терминал, который перестает читать, такой как приостановленная панель управления tmux или застопорившееся SSH подключение, не может заморозить Claude Code в середине сеанса. Применяется на macOS, Linux и WSL, когда stdout — это терминал. Требует Claude Code версии 2.1.261 или позже |

325| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Токен обновления OAuth для аутентификации Claude.ai. Если установлен, `claude auth login` обменивает этот токен напрямую вместо открытия браузера. Требует `CLAUDE_CODE_OAUTH_SCOPES`. Полезно для предоставления аутентификации в автоматизированных окружениях |329| `CLAUDE_CODE_NO_FLICKER` | Установите `1` для включения [полноэкранного рендера](/docs/ru/fullscreen), исследовательского предпросмотра, который уменьшает мерцание и сохраняет память плоской в длинных разговорах. Переопределяет параметр [`tui`](/docs/ru/settings-reference#tui); вы также можете переключаться с `/tui fullscreen` |

326| `CLAUDE_CODE_OAUTH_SCOPES` | Разделенные пробелом области OAuth, с которыми был выдан токен обновления, такие как `"user:profile user:inference user:sessions:claude_code"`. Требуется, когда установлен `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |330| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | OAuth токен обновления для аутентификации Claude.ai. При установке `claude auth login` обменивает этот токен напрямую вместо открытия браузера. Требует `CLAUDE_CODE_OAUTH_SCOPES`. Полезно для предоставления аутентификации в автоматизированных окружениях |

327| `CLAUDE_CODE_OAUTH_TOKEN` | Токен доступа OAuth для аутентификации claude.ai. Альтернатива `/login` для SDK и автоматизированных окружений. Имеет приоритет над учетными данными, хранящимися в цепочке ключей. Создайте один с помощью [`claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token). Если вы не запустите [`/login`](/docs/ru/authentication#authentication-precedence), Claude Code использует установленный вами токен для всего сеанса. Чтобы заменить истекший токен, создайте новый и перезагрузитесь |331| `CLAUDE_CODE_OAUTH_SCOPES` | Разделенные пробелом области OAuth, с которыми был выдан токен обновления, такие как `"user:profile user:inference user:sessions:claude_code"`. Требуется при установке `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |

332| `CLAUDE_CODE_OAUTH_TOKEN` | OAuth токен доступа для аутентификации claude.ai. Альтернатива `/login` для SDK и автоматизированных окружений. Имеет приоритет над учетными данными, хранящимися в связке ключей. Создайте один с [`claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token). Если вы не запустите [`/login`](/docs/ru/authentication#authentication-precedence), Claude Code использует установленный вами токен для всего сеанса. Чтобы заменить истекший токен, создайте новый и перезагрузитесь |

328| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Удалено в версии 2.1.160 и теперь не работает. Ранее закреплял [быстрый режим](/docs/ru/fast-mode) на Claude Opus 4.6 вместо текущего значения по умолчанию. Opus 4.6 больше не поддерживает быстрый режим |333| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Удалено в версии 2.1.160 и теперь не работает. Ранее закреплял [быстрый режим](/docs/ru/fast-mode) на Claude Opus 4.6 вместо текущего значения по умолчанию. Opus 4.6 больше не поддерживает быстрый режим |

329| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Максимальная длина атрибутов OpenTelemetry, содержащих содержимое (ответы модели, содержимое инструмента, системные подсказки, необработанные тела API), маркер усечения включен, в единицах кода UTF-16 (по умолчанию: 61440, т.е. 60 КБ). Поднимите это только, если ваш бэкэнд телеметрии принимает значения атрибутов больше 64 КБ, или понизьте, чтобы сократить объем телеметрии. Требует Claude Code версии 2.1.214 или позже. См. [Мониторинг](/docs/ru/monitoring-usage) |334| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Максимальная длина атрибутов OpenTelemetry, содержащих содержимое (ответы модели, содержимое инструмента, системные подсказки, необработанные тела API), маркер усечения включен, в единицах кода UTF-16 (по умолчанию: 61440, т.е. 60 КБ). Повысьте это только если ваш бэкенд телеметрии принимает значения атрибутов больше 64 КБ, или понизьте для уменьшения объема телеметрии. Требует Claude Code версии 2.1.214 или позже. См. [Мониторинг](/docs/ru/monitoring-usage) |

330| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Установите на `1`, чтобы писать диагностические ошибки экспортера OpenTelemetry в stderr. По умолчанию эти ошибки появляются только с `--debug`, поэтому неправильно настроенный экспортер, такой как столкновение портов Prometheus, в противном случае завершается молча. Требует Claude Code версии 2.1.179 или позже. См. [Мониторинг](/docs/ru/monitoring-usage) |335| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Установите `1` для записи диагностических ошибок экспортера OpenTelemetry в stderr. По умолчанию эти ошибки появляются только с `--debug`, поэтому неправильно настроенный экспортер, такой как столкновение портов Prometheus, в противном случае завершается молча. Требует Claude Code версии 2.1.179 или позже. См. [Мониторинг](/docs/ru/monitoring-usage) |

331| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Таймаут в миллисекундах для сброса ожидающих spans OpenTelemetry (по умолчанию: 5000). См. [Мониторинг](/docs/ru/monitoring-usage) |336| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Таймаут в миллисекундах для сброса ожидающих пролетов OpenTelemetry (по умолчанию: 5000). См. [Мониторинг](/docs/ru/monitoring-usage) |

332| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал для обновления динамических заголовков OpenTelemetry в миллисекундах (по умолчанию: 1740000 / 29 минут). См. [Динамические заголовки](/docs/ru/monitoring-usage#dynamic-headers) |337| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал для обновления динамических заголовков OpenTelemetry в миллисекундах (по умолчанию: 1740000 / 29 минут). См. [Динамические заголовки](/docs/ru/monitoring-usage#dynamic-headers) |

333| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Таймаут в миллисекундах для экспортера OpenTelemetry для завершения при выключении (по умолчанию: 2000). Увеличьте, если метрики отбрасываются при выходе. См. [Мониторинг](/docs/ru/monitoring-usage) |338| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Таймаут в миллисекундах для завершения экспортера OpenTelemetry при выключении (по умолчанию: 2000). Увеличьте, если метрики отбрасываются при выходе. См. [Мониторинг](/docs/ru/monitoring-usage) |

334| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Установите на `1`, чтобы позволить Claude Code запустить команду обновления вашего менеджера пакетов в фоне, когда доступна новая версия. Применяется к установкам Homebrew и WinGet. Другие менеджеры пакетов продолжают показывать команду обновления без запуска. См. [Автообновления](/docs/ru/setup#auto-updates) |339| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Установите `1` для разрешения Claude Code запускать команду обновления вашего менеджера пакетов в фоновом режиме, когда доступна новая версия. Применяется к установкам Homebrew и WinGet. Другие менеджеры пакетов продолжают показывать команду обновления без запуска. См. [Автообновления](/docs/ru/setup#auto-updates) |

335| `CLAUDE_CODE_PERFORCE_MODE` | Установите на `1`, чтобы включить защиту от записи, осведомленную о Perforce. Если установлено, Edit, Write и NotebookEdit завершаются ошибкой с подсказкой `p4 edit <file>`, если целевой файл не имеет бита владельца-записи, который Perforce очищает на синхронизированных файлах до тех пор, пока `p4 edit` их не откроет. Это предотвращает обход Claude Code отслеживания изменений Perforce |340| `CLAUDE_CODE_PERFORCE_MODE` | Установите `1` для включения защиты от записи с учетом Perforce. При установке Edit, Write и NotebookEdit завершаются с подсказкой `p4 edit <file>`, если целевой файл не имеет бита владельца-записи, который Perforce очищает на синхронизированных файлах до `p4 edit` открывает их. Это предотвращает Claude Code от обхода отслеживания изменений Perforce |

336| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Переопределить корневой каталог плагинов. Несмотря на имя, это устанавливает родительский каталог, а не сам кэш: рынки и кэш плагинов находятся в подкаталогах под этим путем. По умолчанию `~/.claude/plugins` |341| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Переопределить корневой каталог плагинов. Несмотря на имя, это устанавливает родительский каталог, а не сам кэш: рынки и кэш плагинов находятся в подкаталогах под этим путем. По умолчанию `~/.claude/plugins` |

337| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Таймаут в миллисекундах для операций git при установке или обновлении плагинов (по умолчанию: 120000). Увеличьте это значение для больших репозиториев или медленных сетевых подключений. См. [Операции Git истекают](/docs/ru/plugin-marketplaces#git-operations-time-out) |342| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Таймаут в миллисекундах для операций git при установке или обновлении плагинов (по умолчанию: 120000). Увеличьте это значение для больших репозиториев или медленных сетевых подключений. См. [Операции Git истекают](/docs/ru/plugin-marketplaces#git-operations-time-out) |

338| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Установите на `1`, чтобы пропустить попытку повторного клонирования и продолжить использование существующего кэша рынка, когда `git pull` завершается с ошибкой. Полезно в автономных или изолированных окружениях, где повторное клонирование завершилось бы так же. См. [Обновления рынка завершаются с ошибкой в автономных окружениях](/docs/ru/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |343| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Установите `1` для пропуска попытки повторного клонирования и сохранения использования существующей проверки рынка, когда обновление рынка не может достичь или аутентифицироваться на удаленном. Полезно в автономных или изолированных окружениях, где повторное клонирование завершилось бы так же. См. [Обновления рынка завершаются в автономных окружениях](/docs/ru/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |

339| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Установите на `1`, чтобы клонировать сокращенные источники GitHub `owner/repo` через HTTPS вместо SSH. Применяется к установке плагина и обновлению, а также к `/plugin marketplace add` и `update`. Полезно в CI runners, контейнерах или любом окружении без настроенного ключа SSH для `github.com` |344| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Установите `1` для клонирования сокращенных источников GitHub `owner/repo` через HTTPS вместо SSH. Применяется к установке и обновлению плагина, а также к `/plugin marketplace add` и `update`. Полезно в CI бегунах, контейнерах или любом окружении без настроенного ключа SSH для `github.com` |

340| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Путь к одному или нескольким каталогам семян плагинов только для чтения, разделенным `:` на Unix или `;` на Windows. Используйте это, чтобы упаковать предварительно заполненный каталог плагинов в образ контейнера. Claude Code регистрирует рынки из этих каталогов при запуске и использует предварительно кэшированные плагины без повторного клонирования. См. [Предварительно заполнить плагины для контейнеров](/docs/ru/plugin-marketplaces#pre-populate-plugins-for-containers) |345| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Путь к одному или нескольким каталогам семян плагинов только для чтения, разделенным `:` на Unix или `;` на Windows. Используйте это для упаковки предварительно заполненного каталога плагинов в образ контейнера. Claude Code регистрирует рын из этих каталогов при запуске и использует предварительно кэшированные плагины без повторного клонирования. См. [Предварительное заполнение плагинов для контейнеров](/docs/ru/plugin-marketplaces#pre-populate-plugins-for-containers) |

341| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Установите на `1`, чтобы остановить Claude Code от передачи `-ExecutionPolicy Bypass` при порождении PowerShell для вызовов инструментов, hooks и команд строки состояния, и вместо этого соблюдать эффективную политику выполнения машины. По умолчанию Claude Code обходит политику выполнения в области процесса, чтобы скрипты `.ps1` и импорты модулей работали на установках Windows с ограничением по умолчанию. Обход области процесса никогда не переопределяет Group Policy `MachinePolicy` или `UserPolicy` независимо от этого параметра |346| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Установите `1` для остановки Claude Code от передачи `-ExecutionPolicy Bypass` при порождении PowerShell для вызовов инструментов, hooks и команд строки состояния, и соблюдения политики выполнения машины вместо этого. По умолчанию Claude Code обходит политику выполнения в области процесса, поэтому скрипты `.ps1` и импорты модулей работают на установках Windows с ограничением по умолчанию. Обход области процесса никогда не переопределяет Group Policy `MachinePolicy` или `UserPolicy` независимо от этого параметра |

342| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Потолок в миллисекундах на ожидание простоя для фоновых subagents и рабочих процессов после финального хода в [неинтерактивном режиме](/docs/ru/headless#background-tasks-at-exit) с флагом `-p`. Ожидание простоя начинается заново каждый раз, когда Claude берет ход для обработки результата фонового. По умолчанию: `600000` или 10 минут. Когда ожидание простоя достигает потолка, Claude Code перестает ждать оставшихся фоновых задач и выходит. Установите на `0`, чтобы ждать бесконечно. Этот ограничение отделено от пятисекундного периода благодарности, который применяется к простым фоновым оболочкам. Требует Claude Code версии 2.1.182 или позже |347| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Потолок в миллисекундах на ожидание простоя для фоновых подагентов и workflows после финального хода в [неинтерактивном режиме](/docs/ru/headless#background-tasks-at-exit) с флагом `-p`. Ожидание простоя начинается заново каждый раз, когда Claude берет ход для обработки результата фона. По умолчанию: `600000` или 10 минут. Когда ожидание простоя достигает потолка, Claude Code перестает ждать оставшихся фоновых задач и выходит. Установите `0` для неопределенного ожидания. Этот ограничение отделено от пятисекундного периода благодарности, который применяется к простым фоновым оболочкам. Требует Claude Code версии 2.1.182 или позже |

343| `CLAUDE_CODE_PROCESS_WRAPPER` | Запустить процессы, которые Claude Code запускает из своего собственного двоичного файла, такие как фоновый сервис, который размещает [представление агента](/docs/ru/agent-view) сеансы, через корпоративный средство запуска, заданное как префикс argv, такой как `/opt/corp/launcher`. Установите это в блоке `env` пользовательских или [управляемых параметров](/docs/ru/managed-settings), а не как экспорт оболочки, чтобы отделенный фоновый сервис его унаследовал; параметры проекта и локальные параметры не могут его установить. Эквивалентно параметру [`processWrapper`](/docs/ru/settings-reference#processwrapper), который требует Claude Code версии 2.1.210 или позже; эта переменная имеет приоритет, когда оба установлены. Расширение VS Code настраивает свой собственный средство запуска отдельно через параметр `claudeProcessWrapper`. Игнорируется на Windows. См. [Запустить Claude Code за корпоративным средством запуска](/docs/ru/corporate-launcher) для формата значения, что охватывает средство запуска и контракт, который должно удовлетворять средство запуска. Требует Claude Code версии 2.1.208 или позже |348| `CLAUDE_CODE_PROCESS_WRAPPER` | Запустить процессы, которые Claude Code запускает из своего собственного двоичного файла, такие как фоновый сервис, который размещает сеансы [представления агента](/docs/ru/agent-view), через корпоративный средство запуска, заданное как префикс argv, такой как `/opt/corp/launcher`. Установите это в блоке `env` пользовательских или [управляемых параметров](/docs/ru/managed-settings), а не как экспорт оболочки, поэтому отсоединенный фоновый сервис его наследует; параметры проекта и локальные параметры не могут его установить. Эквивалентно параметру [`processWrapper`](/docs/ru/settings-reference#processwrapper), который требует Claude Code версии 2.1.210 или позже; эта переменная имеет приоритет при установке обоих. Расширение VS Code настраивает свой собственный средство запуска отдельно через параметр `claudeProcessWrapper`. Игнорируется на Windows. См. [Запустить Claude Code за корпоративным средством запуска](/docs/ru/corporate-launcher) для формата значения, что охватывает средство запуска и контракт, который должно удовлетворять средство запуска. Требует Claude Code версии 2.1.208 или позже |

344| `CLAUDE_CODE_PROJECT_DIR_NAME` | Установите вместе с `CLAUDE_CONFIG_DIR`, чтобы выбрать имя каталога `projects/`, в котором Claude Code хранит стенограммы этого сеанса и автоматическую память, вместо одного, полученного из пути рабочего каталога. Например, запуск Claude Code с `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` хранит их в `/srv/tenant-a/projects/work/`. Claude Code игнорирует эту переменную, когда `CLAUDE_CONFIG_DIR` не установлен, и читает ее только из окружения, из которого вы запускаете `claude`, никогда из блока параметров `env` [параметров файла](#in-settings-files). См. [Назовите каталог проекта сами](/docs/ru/sessions#name-the-project-directory-yourself). Требует Claude Code версии 2.1.234 или позже |349| `CLAUDE_CODE_PROJECT_DIR_NAME` | Установите вместе с `CLAUDE_CONFIG_DIR` для выбора имени каталога `projects/`, в котором Claude Code хранит стенограммы этого сеанса и автоматическую память, вместо одного, полученного из пути рабочего каталога. Например, запуск Claude Code с `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` хранит их в `/srv/tenant-a/projects/work/`. Claude Code игнорирует эту переменную, когда `CLAUDE_CONFIG_DIR` не установлен, и читает ее только из окружения, которое вы запускаете `claude` из, никогда из блока параметров `env` [параметров](#in-settings-files). См. [Назовите каталог проекта сами](/docs/ru/sessions#name-the-project-directory-yourself). Требует Claude Code версии 2.1.234 или позже |

345| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Установите `5m` или `1h`, единственные значения, которые Claude Code принимает, чтобы выбрать [TTL кэша подсказок](/docs/ru/prompt-caching#cache-lifetime) для основного разговора: ваши интерактивные, `-p` и SDK ходы, плюс помощники, которые работают встроенно с ними. Имеет приоритет над параметром `promptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, и `FORCE_PROMPT_CACHING_5M` переопределяет это. API выставляет счета за записи кэша на 1 час по более высокой ставке. Требует Claude Code версии 2.1.242 или позже |350| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Установите `5m` или `1h`, единственные значения, которые Claude Code принимает, для выбора [TTL кэша подсказок](/docs/ru/prompt-caching#cache-lifetime) для основного разговора: ваши интерактивные, `-p` и SDK ходы, плюс помощники, которые работают встроенно с ними. Имеет приоритет над параметром `promptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, и `FORCE_PROMPT_CACHING_5M` переопределяет это. API выставляет счета за записи кэша на 1 час по более высокой ставке. Требует Claude Code версии 2.1.242 или позже |

346| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Установите на `1`, чтобы распространять контекст трассировки W3C, когда `ANTHROPIC_BASE_URL` указывает на пользовательский прокси. Распространение охватывает заголовок `traceparent` на запросах модели и HTTP MCP и переменную окружения `TRACEPARENT` для подпроцессов Bash, PowerShell и hook. По умолчанию распространение включено только при прямом подключении к API Anthropic. Добавлено в версии 2.1.152. См. [Трассировки (бета)](/docs/ru/monitoring-usage#traces-beta) |351| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Установите `1` для распространения контекста трассировки W3C, когда `ANTHROPIC_BASE_URL` указывает на пользовательский прокси. Распространение охватывает заголовок `traceparent` на запросах модели и HTTP MCP и переменную окружения `TRACEPARENT` для подпроцессов Bash, PowerShell и hook. По умолчанию распространение включено только при прямом подключении к API Anthropic. Добавлено в версии 2.1.152. См. [Трассировки (бета)](/docs/ru/monitoring-usage#traces-beta) |

347| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Установлено хост-платформами, которые встраивают Claude Code и управляют маршрутизацией поставщика модели от его имени. Если установлено, Claude Code игнорирует переменные выбора поставщика, конечной точки и аутентификации, такие как `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` и `ANTHROPIC_API_KEY` в файлах параметров, поэтому пользовательские параметры не могут переопределить маршрутизацию хоста. Claude Code также игнорирует ключи выбора модели, такие как `model`, `fallbackModel` и `modelOverrides` в [управляемых параметрах](/docs/ru/managed-settings), какой бы управляемый источник их не доставлял, поэтому конфигурация модели хоста имеет приоритет над устаревшей закрепленной моделью. Claude Code также игнорирует переменные выбора модели, такие как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL` в управляемом блоке `env`; список разрешений [`availableModels`](/docs/ru/model-config#restrict-model-selection) в управляемых параметрах по-прежнему применяется, если только хост не предоставляет свой собственный. Claude Code также пропускает автоматический отказ от телеметрии, который он в противном случае применяет на сторонних поставщиках, таких как Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform и Microsoft Foundry, поэтому телеметрия следует стандартному отказу `DISABLE_TELEMETRY`. См. [Поведение по умолчанию по поставщику API](/docs/ru/data-usage#default-behaviors-by-api-provider) |352| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Установлено хост-платформами, которые встраивают Claude Code и управляют маршрутизацией поставщика модели от его имени. При установке Claude Code игнорирует переменные выбора поставщика, конечной точки и аутентификации, такие как `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` и `ANTHROPIC_API_KEY` в файлах параметров, поэтому пользовательские параметры не могут переопределить маршрутизацию хоста. Claude Code также игнорирует ключи выбора модели, такие как `model`, `fallbackModel` и `modelOverrides` в [управляемых параметрах](/docs/ru/managed-settings), какой бы управляемый источник их не доставлял, поэтому конфигурация модели хоста имеет приоритет над устаревшей закрепленной моделью. Claude Code также игнорирует переменные выбора модели, такие как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL` в управляемом блоке `env`; список разрешений [`availableModels`](/docs/ru/model-config#restrict-model-selection) в управляемых параметрах по-прежнему применяется, если только хост не предоставляет свой собственный. Claude Code также пропускает автоматический отказ от телеметрии, который он в противном случае применяет на сторонних поставщиках, таких как Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform и Microsoft Foundry, поэтому телеметрия следует стандартному отказу `DISABLE_TELEMETRY`. См. [Поведение по умолчанию по поставщику API](/docs/ru/data-usage#default-behaviors-by-api-provider) |

348| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Установите на `1`, чтобы позволить прокси выполнять разрешение DNS вместо вызывающей стороны. Opt-in для окружений, где прокси должен обрабатывать разрешение имен хостов |353| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Установите `1` для разрешения прокси выполнять разрешение DNS вместо вызывающей стороны. Opt-in для окружений, где прокси должен обрабатывать разрешение имен хостов |

349| `CLAUDE_CODE_REMOTE` | Установлено автоматически на `true`, когда Claude Code работает как [облачный сеанс](/docs/ru/claude-code-on-the-web). Прочитайте это из hook или скрипта настройки, чтобы обнаружить, находитесь ли вы в облачном сеансе |354| `CLAUDE_CODE_REMOTE` | Установите автоматически на `true`, когда Claude Code работает как [облачный сеанс](/docs/ru/claude-code-on-the-web). Прочитайте это из hook или скрипта настройки для обнаружения, находитесь ли вы в облачном сеансе |

350| `CLAUDE_CODE_REMOTE_SESSION_ID` | Установлено автоматически в [облачных сеансах](/docs/ru/claude-code-on-the-web) на ID текущего сеанса. Прочитайте это, чтобы построить ссылку обратно на стенограмму сеанса. См. [Ссылка вывода обратно на сеанс](/docs/ru/cloud-environments#link-output-back-to-the-session) |355| `CLAUDE_CODE_REMOTE_SESSION_ID` | Установите автоматически в [облачных сеансах](/docs/ru/claude-code-on-the-web) на ID текущего сеанса. Прочитайте это для построения ссылки обратно на стенограмму сеанса. См. [Ссылка вывода обратно на сеанс](/docs/ru/cloud-environments#link-output-back-to-the-session) |

351| `CLAUDE_CODE_RESTRICTED` | Установите на `1`, чтобы запустить сеанс в ограниченном режиме, то же самое, что передача [`--restricted`](/docs/ru/cli-reference#cli-flags). Claude Code игнорирует эту переменную в блоке `env` файла параметров. Требует Claude Code версии 2.1.248 или позже |356| `CLAUDE_CODE_RESTRICTED` | Установите `1` для запуска сеанса в ограниченном режиме, то же самое, что передача [`--restricted`](/docs/ru/cli-reference#cli-flags). Claude Code игнорирует эту переменную в блоке `env` файла параметров. Требует Claude Code версии 2.1.248 или позже |

352| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Установите на `1`, чтобы автоматически возобновить, если предыдущий сеанс завершился в середине хода. Используется в режиме SDK, чтобы модель продолжила без требования SDK повторно отправить подсказку. Чтобы отключить это, отмените установку переменной или установите ее на `0`. До версии 2.1.221 Claude Code игнорировал `0` и другие ложные значения, поэтому установка `0` по-прежнему вызывала возобновление в неинтерактивном режиме, и отмена установки переменной была единственным способом отключить это |357| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Установите `1` для автоматического возобновления, если предыдущий сеанс завершился в середине хода. Используется в режиме SDK, поэтому модель продолжает без требования SDK повторно отправить подсказку. Чтобы отключить это, отмените установку переменной или установите ее на `0`. До версии 2.1.221 Claude Code игнорировал `0` и другие ложные значения, поэтому установка `0` по-прежнему вызывала возобновление в неинтерактивном режиме и отмена установки переменной была единственным способом отключить это |

353| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Максимальный возраст в миллисекундах последнего сообщения стенограммы для сеанса, который завершился в середине хода, чтобы продолжить автоматически при возобновлении. Когда последнее сообщение старше этого ограничения, Claude Code пропускает как автоматическое возобновление `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`, так и введенное сообщение продолжения `CLAUDE_CODE_RESUME_PROMPT`, и сеанс начинается неактивным, чтобы вы продолжили явно. Отмена установки или `0` означает отсутствие ограничения; отрицательное или нечисловое значение применяет ограничение в один час. Скрипты порождения для долгоживущих агентов могут установить это, чтобы перезагрузка против старой стенограммы не повторно запускала устаревшую подсказку. Claude Code устанавливает ограничение в один час сам, когда перезагружает сбойный сеанс [представления агента](/docs/ru/agent-view), который унаследовал свой разговор из интерактивного сеанса. Требует Claude Code версии 2.1.211 или позже |358| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Максимальный возраст в миллисекундах последнего сообщения стенограммы для сеанса, который завершился в середине хода, для автоматического продолжения при возобновлении. Когда последнее сообщение старше этого ограничения, Claude Code пропускает как автоматическое возобновление `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`, так и введенное сообщение продолжения `CLAUDE_CODE_RESUME_PROMPT`, и сеанс начинается неактивным, чтобы вы продолжили явно. Отмена установки или `0` означает отсутствие ограничения, за исключением того, что ход, чей последний запрос завершился с ошибкой API, возобновляется только пока эта ошибка менее шести часов. Положительное значение ограничивает каждый ход, включая те; отрицательное или нечисловое значение применяет ограничение в один час. Скрипты порождения для долгоживущих агентов могут установить это, чтобы перезагрузка против старой стенограммы не повторно запускала устаревшую подсказку. Claude Code устанавливает ограничение в один час сам при перезагрузке сбойного сеанса [представления агента](/docs/ru/agent-view), который унаследовал свой разговор из интерактивного сеанса. Требует Claude Code версии 2.1.211 или позже |

354| `CLAUDE_CODE_RESUME_PROMPT` | Переопределить сообщение продолжения, введенное при возобновлении сеанса, который завершился в середине хода. По умолчанию `Continue from where you left off.`. Скрипты порождения для долгоживущих агентов могут установить это на более директивное сообщение загрузки. Пустая строка использует значение по умолчанию |359| `CLAUDE_CODE_RESUME_PROMPT` | Переопределить сообщение продолжения, введенное при возобновлении сеанса, который завершился в середине хода. По умолчанию `Continue from where you left off.`. Скрипты порождения для долгоживущих агентов могут установить это на более директивное сообщение загрузки. Пустая строка использует значение по умолчанию |

355| `CLAUDE_CODE_RETRY_WATCHDOG` | Установите на `1` для неконтролируемых сеансов, таких как harnesses оценки, CI задачи или удаленные рабочие. Повторяет ошибки емкости `429` и `529` бесконечно вместо отказа после попыток `CLAUDE_CODE_MAX_RETRIES`. Claude Code завершается сразу на `429`, который сообщает о пределе расходов или исчерпанных кредитах использования, даже на одном из [ограничения расходов шлюза](/docs/ru/errors#spend-limit-reached), которое сбрасывается по расписанию. До версии 2.1.239 сторожевой таймер повторял эти бесконечно. Сторожевой таймер отступает до 5 минут между попытками или до сброса лимита, когда ответ несет время сброса ограничения скорости, поэтому сеанс, который попадает на лимит использования, ждет оставшегося окна. На версии 2.1.199 или позже он также поднимает количество повторов по умолчанию для других переходных ошибок, таких как ошибки сервера, таймауты и отброшенные подключения, до 300, примерно три часа отступления, и удаляет ограничение 15 на `CLAUDE_CODE_MAX_RETRIES`, если вы явно установите эту переменную. Требует Claude Code версии 2.1.186 или позже |360| `CLAUDE_CODE_RETRY_WATCHDOG` | Установите `1` для неконтролируемых сеансов, таких как оценочные обвязки, CI задачи или удаленные рабочие. Повторяет ошибки емкости `429` и `529` неопределенно вместо отказа после попыток `CLAUDE_CODE_MAX_RETRIES`. Claude Code завершается сразу, когда запрос стандартной скорости получает `429`, который сообщает о лимите расходов или исчерпанных кредитах использования, даже один из [ограничения расходов шлюза](/docs/ru/errors#spend-limit-reached), который сбрасывается по расписанию. До версии 2.1.239 сторожевой таймер повторял эти неопределенно. Для запросов быстрого режима см. [Обработка ограничений скорости](/docs/ru/fast-mode#handle-rate-limits). Сторожевой таймер отступает до 5 минут между попытками или до сброса лимита, когда ответ несет время сброса ограничения скорости, поэтому сеанс, который попадает на лимит использования, ждет оставшегося окна. На версии 2.1.199 или позже это также повышает количество повторов по умолчанию для других переходных ошибок, таких как ошибки сервера, таймауты и отброшенные подключения, до 300, примерно три часа отступления, и удаляет ограничение 15 на `CLAUDE_CODE_MAX_RETRIES`, если вы явно установите эту переменную. Требует Claude Code версии 2.1.186 или позже |

356| `CLAUDE_CODE_SAFE_MODE` | Установите на `1`, чтобы запустить в безопасном режиме: CLAUDE.md, skills, плагины, hooks, MCP серверы, пользовательские команды и агенты, стили вывода, рабочие процессы, пользовательские темы, пользовательские сочетания клавиш, команды строки состояния и предложения файлов, серверы LSP и автоматическая память не загружаются для устранения неполадок сломанной конфигурации. Политика управляемых параметров по-прежнему применяется, включая настроенные политикой hooks, строку состояния и команды предложения файлов; управляемые плагины, управляемые skills, управляемые CLAUDE.md и настроенные политикой MCP серверы не загружаются. Эквивалентно передаче [`--safe-mode`](/docs/ru/cli-reference#cli-flags). Непосредственно порожденные дочерние процессы наследуют переменную |361| `CLAUDE_CODE_SAFE_MODE` | Установите `1` для запуска в безопасном режиме: CLAUDE.md, skills, плагины, hooks, MCP серверы, пользовательские команды и агенты, стили вывода, workflows, пользовательские темы, пользовательские сочетания клавиш, команды строки состояния и предложения файлов, LSP серверы и автоматическая память не загружаются для устранения неполадок сломанной конфигурации. Политика управляемых параметров по-прежнему применяется, включая hooks, настроенные политикой, строку состояния и команды предложения файлов; управляемые плагины, управляемые skills, управляемые CLAUDE.md и MCP серверы, настроенные политикой, не загружаются. Эквивалентно передаче [`--safe-mode`](/docs/ru/cli-reference#cli-flags). Непосредственно порожденные дочерние процессы наследуют переменную |

357| `CLAUDE_CODE_SCRIPT_CAPS` | Объект JSON, ограничивающий, сколько раз конкретные скрипты могут быть вызваны за сеанс, когда установлен `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — это подстроки, сопоставленные с текстом команды; значения — это ограничения количества вызовов целых чисел. Например, `{"deploy.sh": 2}` позволяет `deploy.sh` быть вызванным максимум дважды. Сопоставление основано на подстроке, поэтому трюки расширения оболочки, такие как `./scripts/deploy.sh $(evil)`, по-прежнему считаются против ограничения. Разветвление во время выполнения через `xargs` или `find -exec` не обнаруживается; это контроль защиты в глубину |362| `CLAUDE_CODE_SCRIPT_CAPS` | JSON объект, ограничивающий, сколько раз конкретные скрипты могут быть вызваны за сеанс, когда установлен `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — это подстроки, сопоставленные с текстом команды; значения — это ограничения количества вызовов целых чисел. Например, `{"deploy.sh": 2}` позволяет `deploy.sh` быть вызванным максимум дважды. Сопоставление основано на подстроке, поэтому трюки расширения оболочки, такие как `./scripts/deploy.sh $(evil)`, по-прежнему считаются против ограничения. Веерное расширение во время выполнения через `xargs` или `find -exec` не обнаруживается; это контроль защиты в глубину |

358| `CLAUDE_CODE_SCROLL_SPEED` | Установить множитель скорости прокрутки колеса мыши в [полноэкранном рендере](/docs/ru/fullscreen#mouse-wheel-scrolling). Принимает любое положительное значение до 20, включая дробные значения ниже 1, такие как `0.5`, чтобы замедлить ускоренную прокрутку трекпада и колеса в терминалах, которые уже усиливают события колеса. Установите на `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колеса за выемку без усиления. Игнорируется в интегрированном терминале JetBrains IDE, где Claude Code использует свою собственную обработку прокрутки |363| `CLAUDE_CODE_SCROLL_SPEED` | Установить множитель скорости прокрутки колеса мыши в [полноэкранном рендере](/docs/ru/fullscreen#mouse-wheel-scrolling). Принимает любое положительное значение до 20, включая дробные значения ниже 1, такие как `0.5`, для замедления ускоренной прокрутки трекпада и колеса в терминалах, которые уже усиливают события колеса. Установите `3` для соответствия `vim`, если ваш терминал отправляет одно событие колеса за выемку без усиления. Игнорируется в интегрированном терминале JetBrains IDE, где Claude Code использует свою собственную обработку прокрутки |

359| `CLAUDE_CODE_SEND_FEEDBACK` | Установите на `0`, чтобы отключить [обратную связь, составленную Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior) для сеанса. Установите на `1`, чтобы включить это там, где ваша учетная запись уже имеет доступ; переменная не может предоставить доступ сама, и другие переключатели, которые отключают обратную связь, такие как `DISABLE_FEEDBACK_COMMAND` и значение `off` параметра [`feedbackDrafts`](/docs/ru/settings-reference#feedbackdrafts), по-прежнему применяются |364| `CLAUDE_CODE_SEND_FEEDBACK` | Установите `0` для отключения [отзывов, составленных Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior) для сеанса. Установите `1` для включения там, где ваша учетная запись уже имеет доступ; переменная не может предоставить доступ сама, и другие переключатели, которые отключают отзывы, такие как `DISABLE_FEEDBACK_COMMAND` и значение `off` параметра [`feedbackDrafts`](/docs/ru/settings-reference#feedbackdrafts), по-прежнему применяются |

360| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределить бюджет времени в миллисекундах для [SessionEnd](/docs/ru/hooks#sessionend) hooks. Применяется к выходу сеанса, `/clear` и переключению сеансов через интерактивный `/resume`. По умолчанию бюджет составляет 1.5 секунды, автоматически поднимается до наивысшего `timeout`, настроенного для каждого hook в файлах параметров, до 60 секунд. Таймауты на hooks, предоставленных плагинами, не поднимают бюджет |365| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределить бюджет времени в миллисекундах для [SessionEnd](/docs/ru/hooks#sessionend) hooks. Значение также является таймаутом для каждого hook, который не устанавливает свой собственный `timeout`. Применяется к выходу сеанса, `/clear` и переключению сеансов через интерактивный `/resume`. По умолчанию бюджет составляет 1.5 секунды, автоматически повышается до наивысшего настроенного `timeout` для каждого hook в файлах параметров, до 60 секунд. Таймауты на hooks, предоставленные плагинами, не повышают бюджет |

361| `CLAUDE_CODE_SESSION_ID` | Установлено автоматически на текущий ID сеанса в подпроцессах инструментов Bash и PowerShell, подпроцессах [команды hook](/docs/ru/hooks) и подпроцессах [MCP сервера](/docs/ru/mcp) stdio. Для Bash, PowerShell и hooks это совпадает с полем `session_id` во входе JSON hook и обновляется на `/clear`. Подпроцесс MCP сервера сохраняет ID, с которым он был порожден. На `--resume <session-id>` он получает возобновленный ID, совпадающий с hooks и Bash. На `--continue` или `--resume` без явного ID он может получить начальный ID запуска вместо этого. Используйте для корреляции скриптов и внешних инструментов с сеансом Claude Code, который их запустил |366| `CLAUDE_CODE_SESSION_ID` | Установите автоматически на текущий ID сеанса в подпроцессах инструментов Bash и PowerShell, подпроцессах [команды hook](/docs/ru/hooks) и подпроцессах [MCP сервера](/docs/ru/mcp) stdio. Для Bash, PowerShell и hooks это совпадает с полем `session_id` в входных данных JSON hook и обновляется на `/clear`. Подпроцесс MCP сервера сохраняет ID, с которым он был порожден. На `--resume <session-id>` он получает возобновленный ID, совпадающий с hooks и Bash. На `--continue` или `--resume` без явного ID он может получить начальный ID запуска вместо этого. Используйте для корреляции скриптов и внешних инструментов с сеансом Claude Code, который их запустил |

362| `CLAUDE_CODE_SHELL` | Установить оболочку, которую Claude Code использует для запуска команд инструмента Bash. Принимает путь к двоичному файлу `bash` или `zsh`, например `/opt/homebrew/bin/bash`. Другие оболочки, такие как `fish`, не поддерживаются. Если значение не является рабочим путем `bash` или `zsh`, Claude Code игнорирует его и возвращается к автоопределению. Автоопределение использует ваш `$SHELL`, когда он указывает на `bash` или `zsh`, в противном случае он выбирает первый рабочий `zsh`, затем `bash`, найденный на вашем `PATH` и стандартных местах установки |367| `CLAUDE_CODE_SHELL` | Установить оболочку, которую Claude Code использует для запуска команд инструмента Bash. Принимает путь к двоичному файлу `bash` или `zsh`, например `/opt/homebrew/bin/bash`. Другие оболочки, такие как `fish`, не поддерживаются. Если значение не является рабочим путем `bash` или `zsh`, Claude Code игнорирует его и возвращается к автоопределению. Автоопределение использует ваш `$SHELL`, когда он указывает на `bash` или `zsh`, в противном случае он выбирает первый рабочий `zsh`, затем `bash`, найденный на вашем `PATH` и стандартных местах установки |

363| `CLAUDE_CODE_SHELL_PREFIX` | Префикс команды, который оборачивает команды оболочки, которые Claude Code порождает: вызовы инструмента Bash, команды [hook](/docs/ru/hooks), команды [строки состояния](/docs/ru/statusline) и команды запуска [MCP сервера](/docs/ru/mcp) stdio. Hooks PowerShell и exec-form hooks работают без префикса. Полезно для логирования или аудита. Установка пути к простому исполняемому файлу, такого как `/path/to/logger.sh`, запускает каждую команду как `/path/to/logger.sh '<command>'`. Оболочка получает командную строку как один аргумент, заключенный в кавычки оболочки, в `$1`, поэтому оболочка должна повторно оценить `$1` с помощью оболочки, например `exec bash -c "$1"`. Обработка `$1` как пути к простому исполняемому файлу нарушает серверы stdio MCP, которые передают аргументы, такие как `npx -y <package>`. Для вызовов инструмента Bash `$1` содержит полный вызов оболочки, который Claude Code собирает, включая настройку окружения, а не только команду, которую запустил Claude |368| `CLAUDE_CODE_SHELL_PREFIX` | Префикс команды, который оборачивает команды оболочки, которые Claude Code порождает: вызовы инструмента Bash, команды [hook](/docs/ru/hooks), команды [строки состояния](/docs/ru/statusline) и команды запуска [MCP сервера](/docs/ru/mcp) stdio. Hooks PowerShell и hooks в форме exec работают без префикса. Полезно для логирования или аудита. Установка пути к голому исполняемому файлу, такого как `/path/to/logger.sh`, запускает каждую команду как `/path/to/logger.sh '<command>'`. Обертка получает командную строку как один аргумент, заключенный в кавычки оболочки, в `$1`, поэтому обертка должна повторно оценить `$1` с оболочкой, например `exec bash -c "$1"`. Обработка `$1` как пути к голому исполняемому файлу нарушает серверы stdio MCP, которые передают аргументы, такие как `npx -y <package>`. Для вызовов инструмента Bash `$1` содержит полный вызов оболочки, который собирает Claude Code, включая настройку окружения, а не только команду, которую запустил Claude |

364| `CLAUDE_CODE_SIMPLE` | Установите на `1`, чтобы запустить с минимальной системной подсказкой и только инструментами Bash, чтения файлов и редактирования файлов. Инструменты MCP из `--mcp-config` по-прежнему доступны. Отключает автоопределение hooks, skills, пользовательских команд, subagents, плагинов, MCP серверов, автоматической памяти и CLAUDE.md. Skills в каталоге, который вы передаете с `--add-dir`, по-прежнему загружаются. Токены OAuth и учетные данные цепочки ключей не читаются, поэтому аутентификация Anthropic должна поступать из `ANTHROPIC_API_KEY` или `apiKeyHelper` в `--settings`. Эквивалентно передаче [`--bare`](/docs/ru/headless#start-faster-with-bare-mode) |369| `CLAUDE_CODE_SIMPLE` | Установите `1` для запуска с минимальной системной подсказкой и только инструментами Bash, чтения файлов и редактирования файлов. Инструменты MCP из `--mcp-config` по-прежнему доступны. Отключает автоопределение hooks, skills, пользовательских команд, подагентов, плагинов, MCP серверов, автоматической памяти и CLAUDE.md. Skills в каталоге, который вы передаете с `--add-dir`, по-прежнему загружаются. Токены OAuth и учетные данные связки ключей не читаются, поэтому аутентификация Anthropic должна поступать из `ANTHROPIC_API_KEY` или `apiKeyHelper` в `--settings`. Эквивалентно передаче [`--bare`](/docs/ru/headless#start-faster-with-bare-mode) |

365| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Установите на `1`, чтобы использовать более короткую системную подсказку и сокращенные описания инструментов на любой модели. Установите на `0`, `false`, `no` или `off`, чтобы отказаться, даже на моделях, где эксперимент или конфигурация сервера в противном случае включили бы это. Полный набор инструментов, hooks, MCP серверы и обнаружение CLAUDE.md остаются включенными |370| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Установите `1` для использования более короткой системной подсказки и сокращенных описаний инструментов на любой модели. Установите `0`, `false`, `no` или `off` для отказа даже на моделях, где эксперимент или конфигурация сервера в противном случае включили бы это. Полный набор инструментов, hooks, MCP серверы и обнаружение CLAUDE.md остаются включенными |

366| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Пропустить аутентификацию на стороне клиента для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), для шлюзов, которые подписывают запросы сами |371| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Пропустить аутентификацию на стороне клиента для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), для шлюзов, которые подписывают запросы сами |

367| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Установите на `1`, чтобы отключить кэш в процессе учетных данных, разрешенных из цепочки поставщика учетных данных AWS по умолчанию, поэтому Claude Code разрешает цепочку при каждом запросе API. С отключенным кэшем профиль, поддерживаемый SSO, запрашивает учетные данные из IAM Identity Center при каждом запросе. См. [кэширование учетных данных и таймаут разрешения](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout). Требует Claude Code версии 2.1.207 или позже |372| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Установите `1` для отключения кэша в процессе учетных данных, разрешенных из цепочки поставщика учетных данных AWS по умолчанию, поэтому Claude Code разрешает цепочку при каждом запросе API. С отключенным кэшем профиль, поддерживаемый SSO, запрашивает учетные данные из IAM Identity Center при каждом запросе. См. [кэширование учетных данных и таймаут разрешения](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout). Требует Claude Code версии 2.1.207 или позже |

368| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Пропустить аутентификацию AWS для Amazon Bedrock (например, при использовании LLM gateway) |373| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Пропустить аутентификацию AWS для Amazon Bedrock (например, при использовании LLM gateway) |

369| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Установите на `1`, чтобы обработать неудачную проверку доступности [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) как доступную для сетей, которые блокируют прямой запрос проверки на `api.anthropic.com`. Claude Code по-прежнему соблюдает ответ "отключено вашей организацией" |374| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Установите `1` для обработки неудачной проверки доступности [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) как доступной, для сетей, которые блокируют прямой запрос проверки на `api.anthropic.com`. Claude Code по-прежнему соблюдает ответ "отключено вашей организацией" |

370| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Установите на `1`, чтобы пропустить проверку доступности [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) на стороне клиента для прокси, которые перехватывают запрос проверки, а не отказывают в нем. API по-прежнему отклоняет запросы быстрого режима, когда ваша организация отключила быстрый режим |375| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Установите `1` для пропуска проверки доступности [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) на стороне клиента, для прокси, которые перехватывают запрос проверки, а не отказывают в нем. API по-прежнему отклоняет запросы быстрого режима, когда ваша организация отключила быстрый режим |

371| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Пропустить аутентификацию Azure для Microsoft Foundry для прокси или шлюза, который вводит свой собственный заголовок `Authorization`. Claude Code отправляет запросы без учетных данных Azure и сохраняет заголовок `Authorization`, который вы предоставляете, например через `ANTHROPIC_CUSTOM_HEADERS`. Игнорируется, когда установлены `ANTHROPIC_FOUNDRY_API_KEY` или `ANTHROPIC_FOUNDRY_AUTH_TOKEN`. До версии 2.1.203 эта переменная оставляла клиент Microsoft Foundry неспособным отправлять запросы, если ключ API также не был установлен |376| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Пропустить аутентификацию Azure для Microsoft Foundry, для прокси или шлюза, который вводит свой собственный заголовок `Authorization`. Claude Code отправляет запросы без учетных данных Azure и сохраняет заголовок `Authorization`, который вы предоставляете, например через `ANTHROPIC_CUSTOM_HEADERS`. Игнорируется, когда установлены `ANTHROPIC_FOUNDRY_API_KEY` или `ANTHROPIC_FOUNDRY_AUTH_TOKEN`. До версии 2.1.203 эта переменная оставляла клиент Microsoft Foundry неспособным отправлять запросы, если ключ API также не был установлен |

372| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Пропустить аутентификацию AWS для Amazon Bedrock Mantle (например, при использовании LLM gateway) |377| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Пропустить аутентификацию AWS для Amazon Bedrock Mantle (например, при использовании LLM gateway) |

373| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Установите на `1`, чтобы пропустить запись истории подсказок и стенограмм сеансов на диск. Сеансы, запущенные с этой переменной, не появляются в `--resume`, `--continue` или истории со стрелкой вверх. Полезно для эфемерных скриптовых сеансов |378| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Установите `1` для пропуска записи истории подсказок и стенограмм сеансов на диск. Сеансы, запущенные с этой переменной, не появляются в `--resume`, `--continue` или истории стрелки вверх. Полезно для эфемерных скриптовых сеансов |

374| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Пропустить аутентификацию Google для Google Cloud's Agent Platform (например, при использовании LLM gateway) |379| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Пропустить аутентификацию Google для Google Cloud's Agent Platform (например, при использовании LLM gateway) |

375| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Максимальное количество последовательных раз, когда [Stop](/docs/ru/hooks#stop) или [SubagentStop](/docs/ru/hooks#subagentstop) hook может блокировать завершение хода перед тем, как Claude Code переопределит его и завершит ход в любом случае (по умолчанию: 8). Установите на `0`, чтобы отключить ограничение. Поднимите это, если ваш hook законно нуждается в большем количестве итераций для разрешения |380| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Установите `1` для того, чтобы сеанс, запущенный с `--output-format stream-json`, написал [сообщение результата, называющее причину отказа Claude Code в запуске](/docs/ru/agent-sdk/typescript#startup_failure_reason) для отказов при запуске, которые в противном случае заканчиваются только stderr. Требует Claude Code версии 2.1.274 или позже |

376| `CLAUDE_CODE_SUBAGENT_MODEL` | Модель по умолчанию для [subagents](/docs/ru/sub-agents#choose-a-model), товарищей [команды агентов](/docs/ru/agent-teams#specify-teammates-and-models) и агентов [рабочего процесса](/docs/ru/workflows), которым не назначена модель другим способом. Принимает псевдоним, такой как `haiku`, или полное имя модели. Два источника имеют приоритет над ней: модель, которую Claude передает при порождении агента, и поле `model` в определении агента, включая `inherit`. Чтобы изменить это, установите [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/ru/sub-agents#run-every-subagent-on-one-model). См. [Выбрать модель](/docs/ru/sub-agents#choose-a-model) для полного порядка. Установка на `inherit` — это то же самое, что оставить его не установленным. До версии 2.1.251 эта переменная переопределяла как модель для каждого вызова, так и поле `model` определения |381| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Максимальное количество последовательных раз, когда [Stop](/docs/ru/hooks#stop) или [SubagentStop](/docs/ru/hooks#subagentstop) hook может блокировать завершение хода перед тем как Claude Code переопределяет это и завершает ход в любом случае (по умолчанию: 8). Установите `0` для отключения ограничения. Повысьте это, если ваш hook законно нуждается в большем количестве итераций для разрешения |

377| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Установите на `1`, чтобы принудительно применить одну модель к subagents, товарищам и агентам рабочего процесса. [Запустить каждый subagent на одной модели](/docs/ru/sub-agents#run-every-subagent-on-one-model) говорит, какая это модель. Требует Claude Code версии 2.1.257 или позже |382| `CLAUDE_CODE_SUBAGENT_MODEL` | Модель по умолчанию для [подагентов](/docs/ru/sub-agents#choose-a-model), товарищей [команды агентов](/docs/ru/agent-teams#specify-teammates-and-models) и агентов [workflow](/docs/ru/workflows), которым не назначена модель другим способом. Принимает псевдоним, такой как `haiku`, или полное имя модели. Два источника имеют приоритет над ним: модель, которую Claude передает при порождении агента, и поле `model` в определении агента, включая `inherit`. Чтобы изменить это, установите [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/ru/sub-agents#run-every-subagent-on-one-model). См. [Выбрать модель](/docs/ru/sub-agents#choose-a-model) для полного порядка. Установка его на `inherit` — это то же самое, что оставить его не установленным. До версии 2.1.251 эта переменная переопределяла как модель для каждого вызова, так и поле `model` определения |

378| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Установите `5m` или `1h`, единственные значения, которые Claude Code принимает, чтобы выбрать [TTL кэша подсказок](/docs/ru/prompt-caching#cache-lifetime) для запросов вне основного разговора, таких как [subagents](/docs/ru/sub-agents), рабочие процессы и фоновая работа. Имеет приоритет над параметром `subagentPromptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, и `FORCE_PROMPT_CACHING_5M` переопределяет это. API выставляет счета за записи кэша на 1 час по более высокой ставке. Требует Claude Code версии 2.1.242 или позже |383| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Установите `1` для принудительного применения одной модели к подагентам, товарищам и агентам workflow. [Запустить каждый подагент на одной модели](/docs/ru/sub-agents#run-every-subagent-on-one-model) говорит, какая модель это. Требует Claude Code версии 2.1.257 или позже |

379| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите на `1`, чтобы удалить учетные данные из окружений подпроцессов (инструмент Bash, hooks, MCP серверы stdio): учетные данные Anthropic и облачного поставщика, любую другую переменную, которую Claude Code распознает как учетные данные, и учетные данные, встроенные в URL реестра пакетов. Родительский процесс Claude сохраняет эти учетные данные для вызовов API, но дочерние процессы не могут их читать, уменьшая воздействие атак внедрения подсказок, которые пытаются экспортировать секреты через расширение оболочки. На Linux это также запускает подпроцессы Bash в изолированном пространстве имен PID, чтобы они не могли читать окружения хост-процессов через `/proc`; как побочный эффект, `ps`, `pgrep` и `kill` не могут видеть или сигнализировать хост-процессам. `claude-code-action` устанавливает это автоматически, когда настроен `allowed_non_write_users` |384| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Установите `5m` или `1h`, единственные значения, которые Claude Code принимает, для выбора [TTL кэша подсказок](/docs/ru/prompt-caching#cache-lifetime) для запросов вне основного разговора, таких как [подагенты](/docs/ru/sub-agents), workflows и фоновая работа. Имеет приоритет над параметром `subagentPromptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, и `FORCE_PROMPT_CACHING_5M` переопределяет это. API выставляет счета за записи кэша на 1 час по более высокой ставке. Требует Claude Code версии 2.1.242 или позже |

380| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Установите на `1` в неинтерактивном режиме (флаг `-p`), чтобы ждать завершения установки плагина перед первым запросом. Без этого плагины устанавливаются в фоне и могут быть недоступны на первом ходе. Объедините с `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, чтобы ограничить ожидание |385| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите `1` для удаления учетных данных из окружений подпроцессов (инструмент Bash, hooks, MCP серверы stdio): учетные данные Anthropic и облачного поставщика, любая другая переменная, которую Claude Code распознает как учетные данные, и учетные данные, встроенные в URL реестра пакетов. Родительский процесс Claude сохраняет эти учетные данные для вызовов API, но дочерние процессы не могут их читать, уменьшая воздействие атак внедрения подсказок, которые пытаются экспортировать секреты через расширение оболочки. На версии 2.1.251 или позже скраб также удаляет переменные указателя хранилища конфигурации Claude Code (такие как `CLAUDE_CONFIG_DIR`), поэтому дочерний процесс не может найти переместившийся каталог конфигурации. Оставьте скраб не установленным, если подпроцесс нуждается в этих переменных. На Linux это также запускает подпроцессы Bash в изолированном пространстве имен PID, поэтому они не могут читать окружения процессов хоста через `/proc`; как побочный эффект, `ps`, `pgrep` и `kill` не могут видеть или сигнализировать процессам хоста. `claude-code-action` устанавливает это автоматически, когда настроен `allowed_non_write_users` |

386| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Установите `1` в неинтерактивном режиме (флаг `-p`) для ожидания завершения установки плагина перед первым запросом. Без этого плагины устанавливаются в фоновом режиме и могут быть недоступны на первом ходе. Объедините с `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` для ограничения ожидания |

381| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Таймаут в миллисекундах для синхронной установки плагина. При превышении Claude Code продолжает без плагинов и логирует ошибку. Нет значения по умолчанию: без этой переменной синхронная установка ждет до завершения |387| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Таймаут в миллисекундах для синхронной установки плагина. При превышении Claude Code продолжает без плагинов и логирует ошибку. Нет значения по умолчанию: без этой переменной синхронная установка ждет до завершения |

382| `CLAUDE_CODE_SYNC_SKILLS` | Установите на `1`, чтобы загрузить ваши включенные skills claude.ai в `~/.claude/skills/synced/` и повторно синхронизировать каждые 10 минут. Перед запуском первого запроса Claude Code ждет до `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` для списка ваших skills. Сами загрузки завершаются в фоне, и Claude ждет загрузки skill, когда его вызывает. Имя папки `synced` [зарезервировано для этой загрузки](/docs/ru/skills#where-skills-live). До версии 2.1.227 skills загружались в `~/.claude/skills/` напрямую. Применяется только в неинтерактивном режиме с флагом `-p`. Требует аутентификацию claude.ai. [Сеансы Claude Code на веб-сайте](/docs/ru/claude-code-on-the-web) получают ваши включенные skills claude.ai автоматически; вам не нужно устанавливать это там. Claude Code применяет [дополнительные правила к загруженным skills](/docs/ru/skills#how-synced-skills-behave), такие как отсутствие запуска их команд `!` на вашей машине |388| `CLAUDE_CODE_SYNC_SKILLS` | Установите `1` в неинтерактивном режиме с флагом `-p` для того, чтобы Claude Code загрузил skills, включенные для вашей учетной записи claude.ai в этом запуске и ждал список их, до `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, перед запуском первого запроса. Сами загрузки завершаются в фоновом режиме, и Claude ждет загрузки skill, когда его вызывает. Требует аутентификацию claude.ai. Сеансы терминала, где вы входите с вашей учетной записью claude.ai [загружают эти skills](/docs/ru/skills#where-synced-skills-load) в `~/.claude/skills/synced/` и повторно синхронизируют примерно каждые 10 минут без этой переменной, поэтому установите ее только, когда запуск `-p` нуждается в ваших текущих skills на его первом запросе. До версии 2.1.273 сеансы терминала загружали их только в запуске `-p` с этой переменной. Имя папки `synced` [зарезервировано для этой загрузки](/docs/ru/skills#where-skills-live). До версии 2.1.227 skills загружались в `~/.claude/skills/` напрямую. Claude Code применяет [дополнительные правила к загруженным skills](/docs/ru/skills#how-synced-skills-behave), такие как отсутствие запуска их команд `!` на вашей машине |

383| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Таймаут в миллисекундах для повторной синхронизации skills в середине сеанса, когда установлен `CLAUDE_CODE_SYNC_SKILLS` (по умолчанию: 30000). Ограничивает загрузку, вызванную запросом хоста на перезагрузку skill во время сеанса. При превышении повторная синхронизация останавливается, и оставшиеся загрузки продолжаются в фоне |389| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Таймаут в миллисекундах для повторной синхронизации skills, которая работает в середине сеанса, когда приложение, построенное на [Agent SDK](/docs/ru/agent-sdk/typescript#query-object), перезагружает skills (по умолчанию: 30000). При превышении перезагрузка продолжает с какими бы skills ни прибыли, и оставшиеся загрузки завершаются в фоновом режиме |

384| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Таймаут в миллисекундах для первого запроса, чтобы ждать начального списка skills, когда установлен `CLAUDE_CODE_SYNC_SKILLS` (по умолчанию: 5000). При превышении первый запрос работает с какими бы skills ни прибыли. Загрузки завершаются в фоне в любом случае, и Claude ждет загрузки skill, когда его вызывает |390| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Таймаут в миллисекундах для первого запроса для ожидания начального списка skills, когда установлен `CLAUDE_CODE_SYNC_SKILLS` (по умолчанию: 5000). При превышении первый запрос работает с какими бы skills ни прибыли. Загрузки завершаются в фоновом режиме в любом случае, и Claude ждет загрузки skill, когда его вызывает |

385| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Установите на `false`, чтобы отключить подсветку синтаксиса в выводе diff. Полезно, когда цвета мешают вашей настройке терминала. Чтобы также отключить подсветку в блоках кода и предпросмотрах файлов, используйте параметр [`syntaxHighlightingDisabled`](/docs/ru/settings-reference#syntaxhighlightingdisabled) |391| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Установите `false` для отключения подсветки синтаксиса в выводе diff. Полезно, когда цвета мешают вашей настройке терминала. Чтобы также отключить подсветку в блоках кода и предпросмотрах файлов, используйте параметр [`syntaxHighlightingDisabled`](/docs/ru/settings-reference#syntaxhighlightingdisabled) |

386| `CLAUDE_CODE_TASK_LIST_ID` | Поделиться списком задач между сеансами. Установите один и тот же ID в несколько экземпляров Claude Code, чтобы координировать общий список задач в [сеансах, которые имеют инструменты Task](/docs/ru/tools-reference#task-tool-availability). См. [Список задач](/docs/ru/interactive-mode#task-list) |392| `CLAUDE_CODE_TASK_LIST_ID` | Поделиться списком задач между сеансами. Установите один и тот же ID в нескольких экземплярах Claude Code для координации на общем списке задач, в [сеансах, которые имеют инструменты Task](/docs/ru/tools-reference#task-tool-availability). См. [Список задач](/docs/ru/interactive-mode#task-list) |

387| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Переопределить в миллисекундах, как долго неинтерактивный сеанс ждет при выходе, пока его [команда агентов](/docs/ru/agent-teams) завершит разборку. Принимает 1000 до 60000; значение вне диапазона игнорируется и применяется значение по умолчанию 10000. Требует Claude Code версии 2.1.206 или позже |393| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Переопределить в миллисекундах, как долго неинтерактивный сеанс ждет при выходе, пока его [команда агентов](/docs/ru/agent-teams) завершит разборку. Принимает 1000 до 60000; значение вне диапазона игнорируется и применяется значение по умолчанию 10000. Требует Claude Code версии 2.1.206 или позже |

388| `CLAUDE_CODE_TMPDIR` | Переопределить временный каталог, используемый для внутренних временных файлов. Claude Code добавляет `/claude-{uid}/` на Unix или `/claude/` на Windows к этому пути. По умолчанию: `/tmp` на macOS, `os.tmpdir()` на Linux и Windows. На macOS и Linux [изолированные](/docs/ru/sandboxing) подпроцессы Bash получают короткий резервный `$TMPDIR` под системным значением по умолчанию, когда ваше переопределение — это длинный путь, так как некоторые инструменты завершаются с ошибкой, когда пути временных файлов становятся слишком длинными. Неизолированные команды Bash наследуют ваш `$TMPDIR` оболочки без изменений. Собственные временные файлы Claude Code всегда используют ваше переопределение. Установите это в вашей оболочке, пользовательских параметрах или управляемых параметрах. Игнорируется в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |394| `CLAUDE_CODE_TMPDIR` | Переопределить временный каталог, используемый для внутренних временных файлов. Claude Code добавляет `/claude-{uid}/` на Unix или `/claude/` на Windows к этому пути. По умолчанию: `/tmp` на macOS, `os.tmpdir()` на Linux и Windows. На macOS и Linux [изолированные](/docs/ru/sandboxing) подпроцессы Bash получают короткий резервный `$TMPDIR` под системным значением по умолчанию, когда ваше переопределение — это длинный путь, так как некоторые инструменты завершаются с ошибкой, когда пути временных файлов становятся слишком длинными. Неизолированные команды Bash наследуют `$TMPDIR` вашей оболочки без изменений. Собственные временные файлы Claude Code всегда используют ваше переопределение. Установите это в вашей оболочке, пользовательских параметрах или управляемых параметрах. Игнорируется в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |

389| `CLAUDE_CODE_TMUX_TRUECOLOR` | Установите на любое непустое значение, такое как `1`, чтобы позволить вывод 24-битного truecolor внутри tmux. **Установка на `0` или `false` по-прежнему позволяет truecolor**, в отличие от большинства переменных включения/отключения; отмените установку переменной, чтобы восстановить ограничение 256 цветов. По умолчанию Claude Code ограничивает 256 цветами, когда установлен `$TMUX`, потому что tmux не пропускает escape последовательности truecolor, если не настроен. Установите это после добавления `set -ga terminal-overrides ',*:Tc'` в ваш `~/.tmux.conf`. См. [Конфигурация терминала](/docs/ru/terminal-config) для других параметров tmux |395| `CLAUDE_CODE_TMUX_TRUECOLOR` | Установите на любое непустое значение, такое как `1`, для разрешения вывода 24-битного truecolor внутри tmux. **Установка его на `0` или `false` по-прежнему разрешает truecolor**, в отличие от большинства переменных включения/отключения; отмените установку переменной для восстановления ограничения 256 цветов. По умолчанию Claude Code ограничивает 256 цветами, когда установлен `$TMUX`, потому что tmux не пропускает последовательности выхода truecolor, если не настроен. Установите это после добавления `set -ga terminal-overrides ',*:Tc'` в ваш `~/.tmux.conf`. См. [Конфигурация терминала](/docs/ru/terminal-config) для других параметров tmux |

390| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | На Linux и WSL установите на разделенный запятыми список видов процессов, которые Claude Code [исключает из ограничения памяти инструмента](/docs/ru/tools-reference#memory-limit-on-linux-and-wsl), такие как `mcp` или `lsp`. Установите `none`, чтобы ограничить каждый вид, или `all-new`, чтобы ограничить только команды инструментов Bash, PowerShell и Monitor. Claude Code сохраняет команды инструментов Bash, PowerShell и Monitor под ограничением, что бы вы ни перечислили. Требует Claude Code версии 2.1.246 или позже |396| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | На Linux и WSL установите на разделенный запятыми список видов процессов Claude Code [исключает из ограничения памяти инструмента](/docs/ru/tools-reference#memory-limit-on-linux-and-wsl), такие как `mcp` или `lsp`. Установите `none` для ограничения каждого вида или `all-new` для ограничения только команд инструментов Bash, PowerShell и Monitor. Claude Code сохраняет команды инструментов Bash, PowerShell и Monitor под ограничением, что бы вы ни перечисляли. Требует Claude Code версии 2.1.246 или позже |

391| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | На Linux и WSL установите на размер, такой как `4G`, чтобы [ограничить память, которую команды инструментов Bash и PowerShell могут использовать](/docs/ru/tools-reference#memory-limit-on-linux-and-wsl), и команды инструмента Monitor на версии 2.1.246 или позже. Напишите размер в простых цифрах, отдельно для количества байтов или с суффиксом `K`, `M`, `G` или `T`. Установите `0` или `off`, чтобы отключить ограничение. После того, как первый процесс, который Claude Code запускает, включил или отключил ограничение, измененное значение вступает в силу при следующем запуске `claude`. Требует Claude Code версии 2.1.233 или позже |397| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | На Linux и WSL установите на размер, такой как `4G`, для [ограничения памяти, которую могут использовать команды инструментов Bash и PowerShell](/docs/ru/tools-reference#memory-limit-on-linux-and-wsl), и команды инструмента Monitor на версии 2.1.246 или позже. Напишите размер в простых цифрах, одних для количества байтов или с суффиксом `K`, `M`, `G` или `T`. Установите `0` или `off` для отключения ограничения. Как только первый процесс, который Claude Code запускает, включил или отключил ограничение, измененное значение вступает в силу при следующем запуске `claude`. Требует Claude Code версии 2.1.233 или позже |

392| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Крайний срок в миллисекундах перед тем, как Claude Code отменит диалог, который он пересылает удаленному клиенту, такому как [Remote Control](/docs/ru/remote-control) или хост SDK, или диалог одобрения для [удерживаемого кросс-сеансового сообщения](/docs/ru/cross-session-messaging#control-inbound-messages); запросы разрешения и вопросы `AskUserQuestion` используют свои собственные потоки и не управляются им. На Claude Code версии 2.1.236 или позже это также ограничивает диалог согласия на использование кредитов [Fable](/docs/ru/model-config#fable-and-usage-credits) в сеансе, который может работать без контроля. [Контролировать входящие сообщения](/docs/ru/cross-session-messaging#control-inbound-messages) и [неинтерактивные сеансы](/docs/ru/cross-session-messaging#non-interactive-sessions) охватывают полные правила истечения удерживаемого сообщения, включая случаи, когда крайний срок не применяется. Переопределяет параметр [`dialogExpiry`](/docs/ru/settings-reference#dialogexpiry). `0` или отрицательное значение отключает крайний срок |398| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Крайний срок в миллисекундах перед тем как Claude Code отменяет диалог, который он пересылает удаленному клиенту, такому как [Remote Control](/docs/ru/remote-control) или хост SDK, или диалог одобрения для [удерживаемого кросс-сеансового сообщения](/docs/ru/cross-session-messaging#control-inbound-messages); запросы разрешений и вопросы `AskUserQuestion` используют свои собственные потоки и не управляются им. На Claude Code версии 2.1.236 или позже это также ограничивает подсказку согласия на использование кредитов [Fable](/docs/ru/model-config#fable-and-usage-credits) в сеансе, который может работать без присмотра. [Контроль входящих сообщений](/docs/ru/cross-session-messaging#control-inbound-messages) и [неинтерактивные сеансы](/docs/ru/cross-session-messaging#non-interactive-sessions) охватывают полные правила истечения удерживаемого сообщения, включая случаи, когда крайний срок не применяется. Переопределяет параметр [`dialogExpiry`](/docs/ru/settings-reference#dialogexpiry). `0` или отрицательное значение отключает крайний срок |

393| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Использовать [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) |399| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Использовать [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) |

394| `CLAUDE_CODE_USE_BEDROCK` | Использовать [Amazon Bedrock](/docs/ru/amazon-bedrock) |400| `CLAUDE_CODE_USE_BEDROCK` | Использовать [Amazon Bedrock](/docs/ru/amazon-bedrock) |

395| `CLAUDE_CODE_USE_FOUNDRY` | Использовать [Microsoft Foundry](/docs/ru/microsoft-foundry) |401| `CLAUDE_CODE_USE_FOUNDRY` | Использовать [Microsoft Foundry](/docs/ru/microsoft-foundry) |

396| `CLAUDE_CODE_USE_MANTLE` | Использовать конечную точку Amazon Bedrock [Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) |402| `CLAUDE_CODE_USE_MANTLE` | Использовать конечную точку Amazon Bedrock [Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) |

397| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Установите на `1`, чтобы обнаруживать пользовательские команды, subagents и стили вывода, используя API файлов Node.js вместо ripgrep. Установите это, если встроенный двоичный файл ripgrep недоступен или заблокирован в вашем окружении. Не влияет на инструменты Grep или поиск файлов |403| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Установите `1` для обнаружения пользовательских команд, подагентов и стилей вывода с использованием API файлов Node.js вместо ripgrep. Установите это, если встроенный двоичный файл ripgrep недоступен или заблокирован в вашем окружении. Не влияет на инструменты Grep или поиск файлов |

398| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Контролирует инструмент PowerShell. На Windows без Git Bash инструмент включен автоматически; установите на `0`, чтобы отключить его. На Windows с установленным Git Bash инструмент включен по умолчанию для учетных записей claude.ai и Console; установите на `1`, чтобы включить его в сеансах Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, или `0`, чтобы отключить его. На Linux, macOS и WSL установите на `1`, чтобы включить его, что требует `pwsh` на вашем `PATH`. Когда включено на Windows, Claude может запускать команды PowerShell изначально вместо маршрутизации через Git Bash. См. [Инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) |404| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Контролирует инструмент PowerShell. На Windows без Git Bash инструмент включен автоматически; установите `0` для отключения. На Windows с установленным Git Bash инструмент включен по умолчанию для учетных записей claude.ai и Console; установите `1` для включения в сеансах Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, или `0` для отключения. На Linux, macOS и WSL установите `1` для включения, что требует `pwsh` на вашем `PATH`. Если включено на Windows, Claude может запускать команды PowerShell изначально вместо маршрутизации через Git Bash. См. [Инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) |

399| `CLAUDE_CODE_USE_VERTEX` | Использовать [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) |405| `CLAUDE_CODE_USE_VERTEX` | Использовать [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) |

400| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Установите на количество миллисекунд, которое [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior) сохраняет кэш ответа каждого полученного URL. По умолчанию `900000`, что составляет 15 минут. Принимает только простые цифры; `0`, десятичное число или любое другое написание сохраняет значение по умолчанию. Claude Code читает значение один раз за запуск, поэтому изменение в блоке параметров `env` применяется при следующем запуске `claude`. Требует Claude Code версии 2.1.233 или позже |406| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Установите на количество миллисекунд [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior) сохраняет кэш ответа каждого полученного URL. По умолчанию `900000`, что составляет 15 минут. Принимает только простые цифры; `0`, десятичное число или любое другое написание сохраняет значение по умолчанию. Claude Code читает значение один раз за запуск, поэтому изменение в блоке параметров `env` применяется при следующем запуске `claude`. Требует Claude Code версии 2.1.233 или позже |

401| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Верхняя граница в миллисекундах на то, как долго [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior) ждет загрузки страницы, включая любые перенаправления, которые она следует. Загрузка, которая не завершена к этому времени, завершается с ошибкой крайнего срока. По умолчанию `300000`, что составляет пять минут. Установите на `0`, чтобы удалить ограничение. Принимает только простые цифры; десятичное число или любое другое написание сохраняет значение по умолчанию. Требует Claude Code версии 2.1.268 или позже |407| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Верхняя граница в миллисекундах, как долго [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior) ждет загрузки страницы, включая любые перенаправления, которые она следует. Загрузка, которая не завершена к этому времени, завершается с ошибкой крайнего срока. По умолчанию `300000`, что составляет пять минут. Установите `0` для удаления ограничения. Принимает только простые цифры; десятичное число или любое другое написание сохраняет значение по умолчанию. Требует Claude Code версии 2.1.268 или позже |

402| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Верхняя граница в миллисекундах, на которую агент [рабочего процесса](/docs/ru/workflows) ждет, пока первый ответ того же префикса sibling начнется, перед отправкой своего собственного первого запроса. Когда fan-out запускает несколько агентов, которые делят [префикс кэша подсказок](/docs/ru/workflows#prompt-caching-in-a-fan-out), Claude Code удерживает всех, кроме первого агента, до этого времени, чтобы остальные читали кэшированный префикс вместо каждого обработки его без кэша. По умолчанию `5000`. Установите на `0`, чтобы отключить ожидание. Когда установлен `DISABLE_PROMPT_CACHING`, агенты никогда не ждут. Требует Claude Code версии 2.1.229 или позже |408| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Сколько агентов один запуск [workflow](/docs/ru/workflows) выполняет одновременно, от `1` до `256`. По умолчанию запуск выполняет до 16 агентов одновременно, меньше, когда Claude Code имеет меньше доступных CPU; очередные вызовы `agent()` ждут свободного слота. Стенограмма каждого работающего агента остается в памяти Claude Code, поэтому более высокие значения повышают использование памяти. Принимает только простые цифры; значения вне диапазона и другие написания сохраняют значение по умолчанию. Требует Claude Code версии 2.1.269 или позже |

409| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Верхняя граница в миллисекундах, как долго агент [workflow](/docs/ru/workflows) ждет первого ответа товарища с одинаковым префиксом перед отправкой своего собственного первого запроса. Когда веерное расширение запускает несколько агентов, которые делят [префикс кэша подсказок](/docs/ru/workflows#prompt-caching-in-a-fan-out), Claude Code удерживает всех, кроме первого агента, до этого времени, чтобы остальные читали кэшированный префикс вместо каждого обработки его без кэша. По умолчанию `5000`. Установите `0` для отключения ожидания. Когда установлен `DISABLE_PROMPT_CACHING`, агенты никогда не ждут. Требует Claude Code версии 2.1.229 или позже |

403| `CLAUDE_CONFIG_DIR` | Переопределить каталог конфигурации (по умолчанию: `~/.claude`). Все параметры, история сеансов и плагины хранятся под этим путем. Для учетных данных см. [где Claude Code хранит учетные данные](/docs/ru/authentication#credential-management). Полезно для запуска нескольких учетных записей рядом: например, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Установите это в вашей оболочке, пользовательских параметрах или управляемых параметрах. Игнорируется в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |410| `CLAUDE_CONFIG_DIR` | Переопределить каталог конфигурации (по умолчанию: `~/.claude`). Все параметры, история сеансов и плагины хранятся под этим путем. Для учетных данных см. [где Claude Code хранит учетные данные](/docs/ru/authentication#credential-management). Полезно для запуска нескольких учетных записей рядом: например, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Установите это в вашей оболочке, пользовательских параметрах или управляемых параметрах. Игнорируется в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |

404| `CLAUDE_DISABLE_ADOPT` | Установите на `1`, чтобы остановить текущую фоновую работу вместо переноса ее при фоновом выполнении сеанса нажатием `←` или с [`/background`](/docs/ru/agent-view#from-inside-a-session). Claude Code просит вас подтвердить перед фоновым выполнением, затем останавливает задачи, которые в противном случае переносились бы. Требует Claude Code версии 2.1.195 или позже |411| `CLAUDE_DISABLE_ADOPT` | Установите `1` для остановки текущей фоновой работы вместо переноса при фоновом выполнении сеанса нажатием `←` или с [`/background`](/docs/ru/agent-view#from-inside-a-session). Claude Code просит вас подтвердить перед фоновым выполнением, затем останавливает задачи, которые в противном случае переносились бы. Требует Claude Code версии 2.1.195 или позже |

405| `CLAUDE_EFFORT` | Установлено автоматически в подпроцессах инструмента Bash и команды hook на [уровень усилий](/docs/ru/model-config#adjust-effort-level), действующий при запуске подпроцесса: `low`, `medium`, `high`, `xhigh` или `max`. Ultracode не является отдельным уровнем и сообщается как `xhigh`. Совпадает с полем `effort.level`, переданным [hooks](/docs/ru/hooks). Установлено только, когда текущая модель поддерживает параметр усилий |412| `CLAUDE_EFFORT` | Установите автоматически в подпроцессах инструмента Bash и командах hook на [уровень усилий](/docs/ru/model-config#adjust-effort-level), действующий при запуске подпроцесса: `low`, `medium`, `high`, `xhigh` или `max`. Ultracode не является отдельным уровнем и сообщается как `xhigh`. Совпадает с полем `effort.level`, переданным [hooks](/docs/ru/hooks). Установлено только, когда текущая модель поддерживает параметр effort |

406| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Установите на `1`, чтобы принудительно включить сторожевой таймер простоя потока на уровне байтов, или установите на `0`, чтобы принудительно отключить его. `0` также отключает [крайний срок первого байта](/docs/ru/network-config#streaming-idle-watchdogs) на подключениях, где этот крайний срок работает. Если не установлено, сторожевой таймер включен по умолчанию для прямых подключений API Anthropic и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), и для потоковых ответов на подключениях [шлюза](/docs/ru/gateways), достигнутых через `ANTHROPIC_BASE_URL` или `ANTHROPIC_AWS_BASE_URL`; до версии 2.1.222 он не работал на этих подключениях шлюза, поэтому сторожевой таймер на уровне событий мог сообщить о стагнации там, даже пока приходили пинги keep-alive. Для таймаутов и того, как таймеры взаимодействуют, см. [Потоковые сторожевые таймеры простоя](/docs/ru/network-config#streaming-idle-watchdogs) |413| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Установите `1` для принудительного включения сторожевого таймера потока на уровне байтов, или установите `0` для принудительного отключения. `0` также отключает [крайний срок первого байта](/docs/ru/network-config#streaming-idle-watchdogs) на подключениях, где этот крайний срок работает. Если не установлено, сторожевой таймер включен по умолчанию для прямых подключений API Anthropic и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), и для потоковых ответов на подключениях [шлюза](/docs/ru/gateways), достигнутых через `ANTHROPIC_BASE_URL` или `ANTHROPIC_AWS_BASE_URL`; до версии 2.1.222 он не работал на этих подключениях шлюза, поэтому сторожевой таймер на уровне событий мог сообщить о стагнации там, даже пока поступали пинги keep-alive. Для таймаутов и того, как таймеры взаимодействуют, см. [Потоковые сторожевые таймеры](/docs/ru/network-config#streaming-idle-watchdogs) |

407| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Установите на `1`, чтобы включить сторожевой таймер простоя потока на уровне байтов на ответах Amazon Bedrock `vnd.amazon.eventstream`, что также включает [крайний срок первого байта](/docs/ru/network-config#streaming-idle-watchdogs) на потоковых запросах Bedrock. Отключено по умолчанию. Настройте таймаут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |414| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Установите `1` для включения сторожевого таймера потока на уровне байтов на ответах Amazon Bedrock `vnd.amazon.eventstream`, что также включает [крайний срок первого байта](/docs/ru/network-config#streaming-idle-watchdogs) на потоковых запросах Bedrock. Отключено по умолчанию. Настройте таймаут с `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

408| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Установите на `0`, чтобы принудительно отключить сторожевой таймер простоя потока на уровне событий, или установите на `1`, чтобы принудительно включить его. Если не установлено, сторожевой таймер включен по умолчанию для всех поставщиков. До версии 2.1.196 значение по умолчанию без установки было управляемым сервером на прямом API Anthropic и отключено на других поставщиках. Настройте таймаут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; для других таймеров стагнации, которые работают рядом с этим, см. [Потоковые сторожевые таймеры простоя](/docs/ru/network-config#streaming-idle-watchdogs) |415| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Установите `0` для принудительного отключения сторожевого таймера потока на уровне событий, или установите `1` для принудительного включения. Если не установлено, сторожевой таймер включен по умолчанию для всех поставщиков. До версии 2.1.196 значение по умолчанию без установки было управляемо сервером на прямом API Anthropic и отключено на других поставщиках. Настройте таймаут с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; для других таймаутов стагнации, которые работают рядом с этим, см. [Потоковые сторожевые таймеры](/docs/ru/network-config#streaming-idle-watchdogs) |

409| `CLAUDE_ENV_FILE` | Путь к скрипту оболочки, содержимое которого Claude Code запускает перед каждой командой Bash в том же процессе оболочки, поэтому экспорты в файле видны команде. Используйте для сохранения активации virtualenv или conda между командами. Также заполняется динамически [SessionStart](/docs/ru/hooks#persist-environment-variables), [Setup](/docs/ru/hooks#setup), [CwdChanged](/docs/ru/hooks#cwdchanged) и [FileChanged](/docs/ru/hooks#filechanged) hooks |416| `CLAUDE_ENV_FILE` | Путь к скрипту оболочки, содержимое которого Claude Code запускает перед каждой командой Bash в том же процессе оболочки, поэтому экспорты в файле видны команде. Используйте для сохранения активации virtualenv или conda между командами. Также заполняется динамически [SessionStart](/docs/ru/hooks#persist-environment-variables), [Setup](/docs/ru/hooks#setup), [CwdChanged](/docs/ru/hooks#cwdchanged) и [FileChanged](/docs/ru/hooks#filechanged) hooks |

410| `CLAUDE_JOB_DIR` | Установлено Claude Code в каждом [фоновом сеансе](/docs/ru/agent-view) на каталог `~/.claude/jobs/<id>` этого сеанса. Команды оболочки, которые запускает сеанс, наследуют его. Напишите временные файлы в [`$CLAUDE_JOB_DIR/tmp`](/docs/ru/agent-view#where-state-is-stored). Вызовы Claude `Write` и `Edit` там не запрашивают разрешение, и каталог удаляется при удалении сеанса |417| `CLAUDE_JOB_DIR` | Установите Claude Code в каждом [фоновом сеансе](/docs/ru/agent-view) на каталог `~/.claude/jobs/<id>` этого сеанса. Команды оболочки, которые запускает сеанс, наследуют это. Напишите временные файлы в [`$CLAUDE_JOB_DIR/tmp`](/docs/ru/agent-view#where-state-is-stored). Вызовы `Write` и `Edit` Claude там не запрашивают разрешение, и каталог удаляется при удалении сеанса |

411| `CLAUDE_PID` | Claude Code устанавливает это на свой собственный ID процесса в подпроцессах, которые он порождает: команды инструментов Bash и PowerShell и команды hook. На Linux интеграция оболочки инструмента Bash использует это, чтобы отказать шаблону `pkill`, который совпадал бы с самим процессом Claude Code; см. [справку по ошибкам](/docs/ru/errors#pkill-pattern-matches-the-claude-code-process). Прочитайте это из своих собственных скриптов, чтобы определить или сигнализировать родительский процесс Claude Code намеренно. Требует Claude Code версии 2.1.214 или позже |418| `CLAUDE_PID` | Claude Code устанавливает это на свой собственный ID процесса в подпроцессах, которые он порождает: команды инструментов Bash и PowerShell и команды hook. На Linux интеграция оболочки инструмента Bash использует это для отказа в шаблоне `pkill`, который совпадал бы с самим процессом Claude Code; см. [справку по ошибкам](/docs/ru/errors#pkill-pattern-matches-the-claude-code-process). Прочитайте это из своих собственных скриптов для определения или сигнализации родительскому процессу Claude Code намеренно. Требует Claude Code версии 2.1.214 или позже |

412| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Префикс для автоматически созданных имен сеансов [Remote Control](/docs/ru/remote-control), когда явное имя не предоставлено. По умолчанию имя хоста вашей машины, создавая имена, такие как `myhost-graceful-unicorn`. Флаг CLI `--remote-control-session-name-prefix` устанавливает то же значение для одного вызова |419| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Префикс для автоматически созданных имен сеансов [Remote Control](/docs/ru/remote-control), когда явное имя не предоставлено. По умолчанию имя хоста вашей машины, создавая имена, такие как `myhost-graceful-unicorn`. Флаг CLI `--remote-control-session-name-prefix` устанавливает то же значение для одного вызова |

413| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Крайний срок в миллисекундах для первого байта ответа потокового запроса на подключениях, где работает [крайний срок первого байта](/docs/ru/network-config#streaming-idle-watchdogs). Для того, как Claude Code его зажимает, дополнительное время, которое он добавляет для больших тел запроса, и как он выбирает крайний срок, когда вы оставляете это не установленным, см. [Нет ответа от API](/docs/ru/errors#no-response-from-api). Требует Claude Code версии 2.1.242 или позже |420| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Крайний срок в миллисекундах для первого байта ответа потокового запроса, на подключениях, где работает [крайний срок первого байта](/docs/ru/network-config#streaming-idle-watchdogs). Для того, как Claude Code его ограничивает, дополнительное время, которое он добавляет для больших тел запроса, и как он выбирает крайний срок, когда вы оставляете это не установленным, см. [Нет ответа от API](/docs/ru/errors#no-response-from-api). Требует Claude Code версии 2.1.242 или позже |

414| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Таймаут в миллисекундах перед тем, как сторожевые таймеры простоя потока на уровне событий и байтов закроют застопорившееся подключение. Когда вы явно устанавливаете эту переменную, минимум составляет `300000` (5 минут); более низкие значения молча зажимаются, чтобы поглотить паузы расширенного мышления и буферизацию прокси, и сторожевой таймер на уровне байтов ограничивает значение на 30 минут. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` имеет приоритет над этой переменной для сторожевого таймера на уровне байтов. Для значений по умолчанию без установки для каждого сторожевого таймера см. [Потоковые сторожевые таймеры простоя](/docs/ru/network-config#streaming-idle-watchdogs) |421| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Таймаут в миллисекундах перед тем как сторожевые таймеры потока на уровне событий и байтов закрывают застопорившееся подключение. Когда вы явно устанавливаете эту переменную, минимум составляет `300000` (5 минут); более низкие значения молча ограничиваются для поглощения пауз расширенного мышления и буферизации прокси, и сторожевой таймер на уровне байтов ограничивает значение на 30 минут. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` имеет приоритет над этой переменной для сторожевого таймера на уровне байтов. Для значений по умолчанию без установки для каждого сторожевого таймера см. [Потоковые сторожевые таймеры](/docs/ru/network-config#streaming-idle-watchdogs) |

415| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Удалено в версии 2.1.260 и теперь не работает. Ранее ограничивало, как долго [фоновая команда оболочки](/docs/ru/interactive-mode#background-bash-commands), которую запустил [subagent](/docs/ru/sub-agents), могла работать, в миллисекундах, с 60-минутным значением по умолчанию. См. [правила времени жизни фоновой команды](/docs/ru/tools-reference#background-commands) |422| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Удалено в версии 2.1.260 и теперь не работает. Ранее ограничивало, как долго [фоновая команда оболочки](/docs/ru/interactive-mode#background-bash-commands), которую запустил [подагент](/docs/ru/sub-agents), могла работать, в миллисекундах, с 60-минутным значением по умолчанию. См. [правила времени жизни фоновой команды](/docs/ru/tools-reference#background-commands) |

416| `DEBUG` | Установите на `1`, чтобы включить режим отладки, эквивалентно запуску с [`--debug`](/docs/ru/cli-reference#cli-flags). Журналы отладки записываются в `~/.claude/debug/<session-id>.txt` или в путь, установленный `CLAUDE_CODE_DEBUG_LOGS_DIR`. Только истинные значения `1`, `true`, `yes` и `on` включают режим отладки, поэтому шаблоны пространства имен, такие как `DEBUG=express:*`, установленные для других инструментов, не вызывают это |423| `DEBUG` | Установите `1` для включения режима отладки, эквивалентно запуску с [`--debug`](/docs/ru/cli-reference#cli-flags). Журналы отладки записываются в `~/.claude/debug/<session-id>.txt` или в путь, установленный `CLAUDE_CODE_DEBUG_LOGS_DIR`. Только истинные значения `1`, `true`, `yes` и `on` включают режим отладки, поэтому шаблоны пространства имен, такие как `DEBUG=express:*`, установленные для других инструментов, не вызывают это |

417| `DISABLE_AUTOUPDATER` | Установите на `1`, чтобы отключить автоматические фоновые обновления. Ручной `claude update` по-прежнему работает. Используйте `DISABLE_UPDATES`, чтобы заблокировать оба |424| `DISABLE_AUTOUPDATER` | Установите `1` для отключения автоматических фоновых обновлений. Ручной `claude update` по-прежнему работает. Используйте `DISABLE_UPDATES` для блокировки обоих |

418| `DISABLE_AUTO_COMPACT` | Установите на `1`, чтобы отключить автоматическое компактирование при приближении к пределу контекста. Ручная команда `/compact` остается доступной. Используйте, когда вы хотите явный контроль над тем, когда происходит компактирование. Переопределяет параметр [`autoCompactEnabled`](/docs/ru/settings-reference#autocompactenabled) |425| `DISABLE_AUTO_COMPACT` | Установите `1` для отключения автоматического компактирования при приближении к пределу контекста. Ручная команда `/compact` остается доступной. Используйте, когда вы хотите явный контроль над тем, когда происходит компактирование. Переопределяет параметр [`autoCompactEnabled`](/docs/ru/settings-reference#autocompactenabled) |

419| `DISABLE_COMPACT` | Установите на `1`, чтобы отключить все компактирование: как автоматическое компактирование, так и ручную команду `/compact` |426| `DISABLE_COMPACT` | Установите `1` для отключения всего компактирования: как автоматического компактирования, так и ручной команды `/compact` |

420| `DISABLE_COST_WARNINGS` | Установите на `1`, чтобы отключить сообщения предупреждения о стоимости |427| `DISABLE_COST_WARNINGS` | Установите `1` для отключения сообщений предупреждения о стоимости |

421| `DISABLE_DOCTOR_COMMAND` | Установите на `1`, чтобы скрыть skill проверки настройки [`/doctor`](/docs/ru/commands#all-commands) и его псевдоним `/checkup`. Полезно для управляемых развертываний, где пользователи не должны запускать диагностику настройки из сеанса. Не влияет на команду терминала `claude doctor`. До версии 2.1.205 эта переменная скрывала экран диагностики `/doctor` |428| `DISABLE_DOCTOR_COMMAND` | Установите `1` для скрытия skill [`/doctor`](/docs/ru/commands#all-commands) проверки настройки и его псевдонима `/checkup`. Полезно для управляемых развертываний, где пользователи не должны запускать диагностику настройки из сеанса. Не влияет на команду терминала `claude doctor`. До версии 2.1.205 эта переменная скрывала экран диагностики `/doctor` |

422| `DISABLE_ERROR_REPORTING` | Установите на любое непустое значение, такое как `1`, чтобы отказаться от отчетов об ошибках. **Установка на `0` или `false` по-прежнему отказывает**, в отличие от большинства переменных включения/отключения; отмените установку переменной, чтобы снова включить отчеты об ошибках |429| `DISABLE_ERROR_REPORTING` | Установите на любое непустое значение, такое как `1`, для отказа от отчетов об ошибках. **Установка его на `0` или `false` по-прежнему отказывает**, в отличие от большинства переменных включения/отключения; отмените установку переменной для повторного включения отчетов об ошибках |

423| `DISABLE_EXTRA_USAGE_COMMAND` | Установите на `1`, чтобы скрыть команду `/usage-credits`, которая позволяет пользователям покупать дополнительное использование сверх ограничений скорости |430| `DISABLE_EXTRA_USAGE_COMMAND` | Установите `1` для скрытия команды `/usage-credits`, которая позволяет пользователям покупать дополнительное использование сверх ограничений скорости |

424| `DISABLE_FEEDBACK_COMMAND` | Установите на `1`, чтобы отключить команду `/feedback` и [обратную связь, составленную Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior). Также отключает `/bug` и `/share`, которые сообщают через тот же путь; до версии 2.1.212 они были псевдонимами `/feedback`, поэтому команда была отключена под каждым именем. Также принимается старое имя `DISABLE_BUG_COMMAND` |431| `DISABLE_FEEDBACK_COMMAND` | Установите `1` для отключения команды `/feedback` и [отзывов, составленных Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior). Также отключает `/bug` и `/share`, которые сообщают через тот же путь; до версии 2.1.212 они были псевдонимами `/feedback`, поэтому команда была отключена под каждым именем. Также принимается старое имя `DISABLE_BUG_COMMAND` |

425| `DISABLE_GROWTHBOOK` | Установите на `1` или `true`, чтобы отключить получение флагов функций GrowthBook и использовать значения по умолчанию кода для каждого флага. Это делает [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, требующие получения флагов функций](#features-that-need-feature-flag-fetching) недоступными. Установка на `0` или `false` оставляет получение включенным. Логирование событий телеметрии остается включенным, если только `DISABLE_TELEMETRY` также не установлен |432| `DISABLE_GROWTHBOOK` | Установите `1` или `true` для отключения получения флагов функций GrowthBook и использования значений по умолчанию кода для каждого флага. Это делает [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, требующие получения флагов функций](#features-that-need-feature-flag-fetching) недоступными. Установка его на `0` или `false` оставляет получение включенным. Логирование событий телеметрии остается включенным, если только `DISABLE_TELEMETRY` также не установлен |

426| `DISABLE_INSTALLATION_CHECKS` | Установите на `1`, чтобы отключить предупреждения об установке. Используйте только при ручном управлении местоположением установки, так как это может скрыть проблемы со стандартными установками |433| `DISABLE_INSTALLATION_CHECKS` | Установите `1` для отключения предупреждений об установке. Используйте только при ручном управлении местоположением установки, так как это может скрыть проблемы со стандартными установками |

427| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Установите на `1`, чтобы скрыть команду `/install-github-app`. Уже скрыта при использовании сторонних поставщиков (Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry) |434| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Установите `1` для скрытия команды `/install-github-app`. Уже скрыта при использовании сторонних поставщиков (Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry) |

428| `DISABLE_INTERLEAVED_THINKING` | Установите на `1`, чтобы предотвратить отправку заголовка бета-версии interleaved-thinking. Полезно, когда ваш LLM шлюз или поставщик не поддерживает [interleaved thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |435| `DISABLE_INTERLEAVED_THINKING` | Установите `1` для предотвращения отправки заголовка бета-версии interleaved-thinking. Полезно, когда ваш LLM gateway или поставщик не поддерживает [interleaved thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |

429| `DISABLE_LOGIN_COMMAND` | Установите на `1`, чтобы скрыть команду `/login`. Полезно, когда аутентификация обрабатывается внешне через ключи API или `apiKeyHelper` |436| `DISABLE_LOGIN_COMMAND` | Установите `1` для скрытия команды `/login`. Полезно, когда аутентификация обрабатывается внешне через ключи API или `apiKeyHelper` |

430| `DISABLE_LOGOUT_COMMAND` | Установите на `1`, чтобы скрыть команду `/logout` |437| `DISABLE_LOGOUT_COMMAND` | Установите `1` для скрытия команды `/logout` |

431| `DISABLE_PROMPT_CACHING` | Установите на `1`, чтобы отключить [кэширование подсказок](/docs/ru/prompt-caching#disable-prompt-caching) для всех моделей (имеет приоритет над параметрами для каждой модели) |438| `DISABLE_PROMPT_CACHING` | Установите `1` для отключения [кэширования подсказок](/docs/ru/prompt-caching#disable-prompt-caching) для всех моделей (имеет приоритет над параметрами для каждой модели) |

432| `DISABLE_PROMPT_CACHING_FABLE` | Установите на `1`, чтобы отключить кэширование подсказок для моделей Fable |439| `DISABLE_PROMPT_CACHING_FABLE` | Установите `1` для отключения кэширования подсказок для моделей Fable |

433| `DISABLE_PROMPT_CACHING_HAIKU` | Установите на `1`, чтобы отключить кэширование подсказок для моделей Haiku |440| `DISABLE_PROMPT_CACHING_HAIKU` | Установите `1` для отключения кэширования подсказок для моделей Haiku |

434| `DISABLE_PROMPT_CACHING_OPUS` | Установите на `1`, чтобы отключить кэширование подсказок для моделей Opus |441| `DISABLE_PROMPT_CACHING_OPUS` | Установите `1` для отключения кэширования подсказок для моделей Opus |

435| `DISABLE_PROMPT_CACHING_SONNET` | Установите на `1`, чтобы отключить кэширование подсказок для моделей Sonnet |442| `DISABLE_PROMPT_CACHING_SONNET` | Установите `1` для отключения кэширования подсказок для моделей Sonnet |

436| `DISABLE_TELEMETRY` | Установите на любое непустое значение, такое как `1`, чтобы отказаться от телеметрии. **Установка на `0` или `false` по-прежнему отказывает**, в отличие от большинства переменных включения/отключения; отмените установку переменной, чтобы снова включить телеметрию. События телеметрии не включают пользовательские данные, такие как код, пути файлов или команды bash. Также отключает получение флагов функций с тем же эффектом, что и `DISABLE_GROWTHBOOK`, что делает [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, требующие получения флагов функций](#features-that-need-feature-flag-fetching) недоступными. См. [Отключить телеметрию для вашей организации](/docs/ru/managed-settings#turn-telemetry-off-for-your-organization) |443| `DISABLE_TELEMETRY` | Установите на любое непустое значение, такое как `1`, для отказа от телеметрии. **Установка его на `0` или `false` по-прежнему отказывает**, в отличие от большинства переменных включения/отключения; отмените установку переменной для повторного включения телеметрии. События телеметрии не включают пользовательские данные, такие как код, пути файлов или команды bash. Также отключает получение флагов функций с тем же эффектом, что и `DISABLE_GROWTHBOOK`, что делает [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, требующие получения флагов функций](#features-that-need-feature-flag-fetching) недоступными. См. [Отключить телеметрию для вашей организации](/docs/ru/managed-settings#turn-telemetry-off-for-your-organization) |

437| `DISABLE_UPDATES` | Установите на `1`, чтобы заблокировать все обновления, включая ручной `claude update` и `claude install`. Строже, чем `DISABLE_AUTOUPDATER`. Используйте при распределении Claude Code через ваши собственные каналы, и пользователи не должны самостоятельно обновляться |444| `DISABLE_UPDATES` | Установите `1` для блокировки всех обновлений, включая ручной `claude update` и `claude install`. Строже, чем `DISABLE_AUTOUPDATER`. Используйте при распределении Claude Code через ваши собственные каналы и пользователи не должны самостоятельно обновляться |

438| `DISABLE_UPGRADE_COMMAND` | Установите на `1`, чтобы скрыть команду `/upgrade` |445| `DISABLE_UPGRADE_COMMAND` | Установите `1` для скрытия команды `/upgrade` |

439| `DO_NOT_TRACK` | Установите на `1`, чтобы отказаться от телеметрии, с тем же эффектом, что и `DISABLE_TELEMETRY`, включая недоступность [Remote Control](/docs/ru/remote-control#requirements) и других [функций, требующих получения флагов функций](#features-that-need-feature-flag-fetching). Claude Code читает эту переменную как стандартный логический тип, поэтому `0` оставляет телеметрию включенной и соблюдает это как кросс-инструментальное соглашение, признанное многими CLI разработчиков |446| `DO_NOT_TRACK` | Установите `1` для отказа от телеметрии, с тем же эффектом, что и `DISABLE_TELEMETRY`, включая недоступность [Remote Control](/docs/ru/remote-control#requirements) и других [функций, требующих получения флагов функций](#features-that-need-feature-flag-fetching). Claude Code читает эту переменную как стандартное логическое значение, поэтому `0` оставляет телеметрию включенной и соблюдает это как кросс-инструментальное соглашение, признанное многими CLI разработчиков |

440| `ENABLE_BETA_TRACING_DETAILED` | Установите на `1` вместе с `BETA_TRACING_ENDPOINT`, чтобы включить [детальную бета-трассировку](/docs/ru/monitoring-usage#traces-beta), которая добавляет атрибуты span, содержащие содержимое, и span `claude_code.hook`. Интерактивные сеансы CLI также требуют, чтобы ваша организация была в списке разрешений для бета-версии. Обе переменные игнорируются в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |447| `ENABLE_BETA_TRACING_DETAILED` | Установите `1` вместе с `BETA_TRACING_ENDPOINT` для включения [детальной бета-трассировки](/docs/ru/monitoring-usage#traces-beta), которая добавляет атрибуты пролета, содержащие содержимое, и пролет `claude_code.hook`. Интерактивные сеансы CLI также требуют, чтобы ваша организация была в списке разрешений для бета-версии. Обе переменные игнорируются в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |

441| `ENABLE_CLAUDEAI_MCP_SERVERS` | Установите на `false`, чтобы остановить Claude Code от получения [MCP серверов claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai). Включено по умолчанию для вошедших в систему пользователей. Чтобы отключить для каждого проекта или организации, установите [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) в параметрах вместо этого |448| `ENABLE_CLAUDEAI_MCP_SERVERS` | Установите `false` для остановки Claude Code от получения [MCP серверов claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai). Включено по умолчанию для вошедших в систему пользователей. Чтобы отключить для каждого проекта или организации, установите [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) в параметрах вместо этого |

442| `ENABLE_PROMPT_CACHING_1H` | Установите на `1`, чтобы запросить [TTL кэша подсказок](/docs/ru/prompt-caching#cache-lifetime) в 1 час вместо 5 минут по умолчанию. Предназначено для пользователей ключей API, [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Пользователи подписки в рамках включенного использования получают TTL в 1 час автоматически на [основном разговоре](/docs/ru/prompt-caching#which-ttl-each-request-gets). Пользователи подписки, использующие [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), могут установить это, чтобы сохранить TTL в 1 час. Записи кэша на 1 час выставляются по более высокой ставке. Чтобы выбрать TTL для каждого ведра запроса вместо этого, используйте `CLAUDE_CODE_PROMPT_CACHE_TTL` и `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, которые имеют приоритет над этой переменной |449| `ENABLE_PROMPT_CACHING_1H` | Установите `1` для запроса [TTL кэша подсказок](/docs/ru/prompt-caching#cache-lifetime) в 1 час вместо значения по умолчанию 5 минут. Предназначено для пользователей ключей API, [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Пользователи подписки в рамках включенного использования получают TTL в 1 час автоматически на [основном разговоре](/docs/ru/prompt-caching#which-ttl-each-request-gets). Пользователи подписки, использующие [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), могут установить это для сохранения TTL в 1 час. Записи кэша на 1 час выставляются по более высокой ставке. Чтобы выбрать TTL для каждого ведра запроса вместо этого, используйте `CLAUDE_CODE_PROMPT_CACHE_TTL` и `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, которые имеют приоритет над этой переменной |

443| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Устарело. Используйте `ENABLE_PROMPT_CACHING_1H` вместо этого |450| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Устарело. Используйте `ENABLE_PROMPT_CACHING_1H` вместо этого |

444| `ENABLE_TOOL_SEARCH` | Контролирует [поиск инструментов MCP](/docs/ru/mcp#scale-with-mcp-tool-search). Если не установлено, Claude Code откладывает все инструменты MCP по умолчанию. Он по-прежнему загружает их заранее на моделях Google Cloud's Agent Platform ранее поколения Claude 4.5, на развертывании Microsoft Foundry, размещенном на Azure, и когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся первой стороной. `true` всегда откладывает и отправляет заголовок бета-версии, кроме тех же моделей Agent Platform и развертываний Microsoft Foundry; запросы завершаются ошибкой на прокси, которые не поддерживают `tool_reference`. `auto` загружает заранее, когда определения инструментов подходят в 10% контекста. `auto:N` устанавливает пользовательский порог, такой как `auto:5` для 5%. `false` загружает все инструменты заранее. Значение, которое вы устанавливаете сами, игнорируется, когда установлен `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`. До версии 2.1.221 Claude Code отключал поиск инструментов для всех моделей на Google Cloud's Agent Platform, если вы не установили эту переменную на `true` |451| `ENABLE_TOOL_SEARCH` | Контролирует [поиск инструментов MCP](/docs/ru/mcp#scale-with-mcp-tool-search). Если не установлено, Claude Code откладывает все инструменты MCP по умолчанию. Он по-прежнему загружает их заранее на моделях Google Cloud's Agent Platform ранее поколения Claude 4.5, на развертывании Microsoft Foundry, размещенном на Azure, и когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся первой стороной. `true` всегда откладывает и отправляет заголовок бета-версии, за исключением этих же моделей Agent Platform и развертываний Microsoft Foundry; запросы завершаются на прокси, которые не поддерживают `tool_reference`. `auto` загружает заранее, когда определения инструментов подходят в пределах 10% контекста. `auto:N` устанавливает пользовательский порог, такой как `auto:5` для 5%. `false` загружает все инструменты заранее. Значение, которое вы устанавливаете сами, игнорируется, когда установлен `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`. До версии 2.1.221 Claude Code отключал поиск инструментов для всех моделей на Google Cloud's Agent Platform, если вы не установили эту переменную на `true` |

445| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Установите на любое непустое значение, такое как `1`, чтобы заставить Claude Code остановить повтор при повторных ошибках перегрузки для каждой модели, когда не настроена резервная модель. **Установка на `0` или `false` по-прежнему включает это**, в отличие от большинства переменных включения/отключения; отмените установку переменной, чтобы восстановить поведение повтора по умолчанию. Без этого Claude Code останавливает повтор таким образом на моделях, которые он распознает как модели Opus, Fable или Mythos, когда вы аутентифицируетесь с помощью ключа API или [сторонним поставщиком](/docs/ru/third-party-integrations), а не подписки Claude. На Claude Code версии 2.1.160 или позже Claude Code переключается на вашу настроенную [цепочку резервных моделей](/docs/ru/model-config#fallback-model-chains) при повторных ошибках перегрузки для любой основной модели, поэтому эта переменная не влияет на переключение на резервную модель |452| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Установите на любое непустое значение, такое как `1`, для того, чтобы Claude Code перестал повторять попытки при повторных ошибках перегрузки для каждой модели, когда не настроена модель резервного варианта. **Установка его на `0` или `false` по-прежнему включает это**, в отличие от большинства переменных включения/отключения; отмените установку переменной для восстановления поведения повтора по умолчанию. Без этого Claude Code перестает повторять попытки таким образом на моделях, которые он распознает как модели Opus, Fable или Mythos, когда вы аутентифицируетесь с помощью ключа API или [сторонних поставщиков](/docs/ru/third-party-integrations), а не подписки Claude. На Claude Code версии 2.1.160 или позже Claude Code переключается на вашу настроенную [цепочку модели резервного варианта](/docs/ru/model-config#fallback-model-chains) при повторных ошибках перегрузки для любой основной модели, поэтому эта переменная не влияет на переключение на модель резервного варианта |

446| `FORCE_AUTOUPDATE_PLUGINS` | Установите на `1`, чтобы принудительно обновить плагины, даже когда основной автоматический обновитель отключен через `DISABLE_AUTOUPDATER` |453| `FORCE_AUTOUPDATE_PLUGINS` | Установите `1` для принудительного автообновления плагинов даже когда основной автообновитель отключен через `DISABLE_AUTOUPDATER` |

447| `FORCE_HYPERLINK` | Установите на `1`, чтобы включить кликабельные гиперссылки OSC 8, когда ваш терминал их поддерживает, но не автоопределен, или `0`, чтобы отключить их. Если не установлено, Claude Code включает гиперссылки только при обнаружении поддержки терминала. Claude Code анализирует это значение как число, а не логический тип, поэтому значение, такое как `false`, `no` или `off`, включает гиперссылки, а не отключает их. Значок [PR или merge request badge](/docs/ru/interactive-mode#pr-review-status) в нижнем колонтитуле отрендеривается как гиперссылка, даже когда Claude Code не может обнаружить поддержку терминала, например через SSH. Установите `0`, чтобы отрендерить значок как простой текст |454| `FORCE_HYPERLINK` | Установите `1` для включения кликабельных гиперссылок OSC 8, когда ваш терминал их поддерживает, но не автоопределяется, или `0` для отключения. Если не установлено, Claude Code включает гиперссылки только когда обнаруживает поддержку терминала. Claude Code анализирует это значение как число, а не логическое значение, поэтому значение, такое как `false`, `no` или `off`, включает гиперссылки, а не отключает их. Значок [статуса PR или merge request](/docs/ru/interactive-mode#pr-review-status) в нижнем колонтитуле отображается как гиперссылка даже когда Claude Code не может обнаружить поддержку терминала, например через SSH. Установите `0` для отображения значка как простого текста |

448| `FORCE_PROMPT_CACHING_5M` | Установите на `1`, чтобы принудительно применить TTL кэша подсказок в 5 минут, даже когда TTL в 1 час в противном случае применялся бы. Переопределяет `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` и параметры `promptCacheTtl` и `subagentPromptCacheTtl` |455| `FORCE_PROMPT_CACHING_5M` | Установите `1` для принудительного применения TTL кэша подсказок в 5 минут даже когда TTL в 1 час в противном случае применялся бы. Переопределяет `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` и параметры `promptCacheTtl` и `subagentPromptCacheTtl` |

449| `HTTP_PROXY` | Укажите HTTP прокси-сервер для сетевых подключений |456| `HTTP_PROXY` | Укажите HTTP прокси-сервер для сетевых подключений |

450| `HTTPS_PROXY` | Укажите HTTPS прокси-сервер для сетевых подключений |457| `HTTPS_PROXY` | Укажите HTTPS прокси-сервер для сетевых подключений |

451| `IS_DEMO` | Установите на любое непустое значение, такое как `1`, чтобы включить режим демонстрации: скрывает ваш адрес электронной почты и имя организации из заголовка и вывода `/status`, и пропускает onboarding. **Установка на `0` или `false` по-прежнему включает режим демонстрации**, в отличие от большинства переменных включения/отключения; отмените установку переменной, чтобы отключить его. Полезно при потоковой передаче или записи сеанса |458| `IS_DEMO` | Установите на любое непустое значение, такое как `1`, для включения режима демонстрации: скрывает ваш адрес электронной почты и имя организации из заголовка и вывода `/status`, и пропускает адаптацию. **Установка его на `0` или `false` по-прежнему включает режим демонстрации**, в отличие от большинства переменных включения/отключения; отмените установку переменной для отключения. Полезно при потоковой передаче или записи сеанса |

452| `MAX_MCP_OUTPUT_TOKENS` | Максимальное количество токенов, разрешенных в ответах инструментов MCP. Claude Code отображает предупреждение, когда вывод превышает 10,000 токенов. Инструменты, которые объявляют [`anthropic/maxResultSizeChars`](/docs/ru/mcp#raise-the-limit-for-a-specific-tool), используют это ограничение символов для текстового содержимого вместо этого, но содержимое изображения из этих инструментов по-прежнему подчиняется этой переменной (по умолчанию: 25000) |459| `MAX_MCP_OUTPUT_TOKENS` | Максимальное количество токенов, разрешенных в ответах инструментов MCP. Claude Code отображает предупреждение, когда вывод превышает 10 000 токенов. Инструменты, которые объявляют [`anthropic/maxResultSizeChars`](/docs/ru/mcp#raise-the-limit-for-a-specific-tool), используют это ограничение символов для текстового содержимого вместо этого, но содержимое изображения из этих инструментов по-прежнему подчиняется этой переменной (по умолчанию: 25000) |

453| `MAX_STRUCTURED_OUTPUT_RETRIES` | Количество попыток, которые Claude Code позволяет, когда ответ модели не проходит проверку против [`--json-schema`](/docs/ru/cli-reference#cli-flags) в неинтерактивном режиме с флагом `-p`; после такого количества неудачных попыток без действительного вывода запуск завершается. То же ограничение применяется, когда структурированный вывод subagent [рабочего процесса](/docs/ru/workflows) не проходит проверку. По умолчанию 5, первая попытка плюс четыре повтора |460| `MAX_STRUCTURED_OUTPUT_RETRIES` | Количество попыток Claude Code разрешает, когда ответ модели не проходит проверку против [`--json-schema`](/docs/ru/cli-reference#cli-flags) в неинтерактивном режиме с флагом `-p`; после такого количества неудачных попыток без действительного вывода запуск завершается. То же ограничение применяется, когда структурированный вывод подагента [workflow](/docs/ru/workflows) не проходит проверку. По умолчанию 5, первая попытка плюс четыре повтора |

454| `MAX_THINKING_TOKENS` | Фиксированный бюджет токенов для [расширенного мышления](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code ограничивает его на один токен ниже максимального выходного токена запроса и никогда ниже 1,024. См. `CLAUDE_CODE_MAX_OUTPUT_TOKENS` для того, как устанавливается это ограничение. Если не установлено и мышление включено, модели с [адаптивным рассуждением](/docs/ru/model-config#adjust-effort-level) выбирают свою собственную глубину мышления, и другие модели используют ограничение. Установите на `0`, чтобы отключить мышление на API Anthropic, кроме моделей Fable, которые не могут иметь отключенное мышление. На [сторонних поставщиках](/docs/ru/third-party-integrations) `0` опускает параметр `thinking` вместо этого. С отключенным мышлением на API Anthropic Claude Code отправляет усилие `high` вместо более высокого уровня на моделях, которые он знает [не принимают эту комбинацию](/docs/ru/errors#effort-isnt-available-with-thinking-turned-off), такие как Opus 5. Claude Code игнорирует ненулевые значения на моделях адаптивного рассуждения, кроме моделей, где `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` отключает адаптивное рассуждение |461| `MAX_THINKING_TOKENS` | Фиксированный бюджет токенов для [расширенного мышления](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code ограничивает это одним токеном ниже максимального выходного токена запроса и никогда ниже 1,024. См. `CLAUDE_CODE_MAX_OUTPUT_TOKENS` для того, как устанавливается это ограничение. Если не установлено и мышление включено, модели с [адаптивным рассуждением](/docs/ru/model-config#adjust-effort-level) выбирают свою собственную глубину мышления, и другие модели используют ограничение. Установите `0` для отключения мышления на API Anthropic, за исключением моделей Fable, которые не могут иметь отключенное мышление. На [сторонних поставщиках](/docs/ru/third-party-integrations) `0` пропускает параметр `thinking` вместо этого. При отключенном мышлении на API Anthropic Claude Code отправляет effort `high` вместо более высокого уровня на моделях, которые он знает [не принимают эту комбинацию](/docs/ru/errors#effort-isnt-available-with-thinking-turned-off), такие как Opus 5. Claude Code игнорирует ненулевые значения на моделях адаптивного рассуждения, за исключением моделей, где `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` отключает адаптивное рассуждение |

455| `MCP_CLIENT_SECRET` | Секрет клиента OAuth для MCP серверов, которые требуют [предварительно настроенные учетные данные](/docs/ru/mcp#use-pre-configured-oauth-credentials). Избегает интерактивного запроса при добавлении сервера с `--client-secret` |462| `MCP_CLIENT_SECRET` | Секрет клиента OAuth для MCP серверов, которые требуют [предварительно настроенные учетные данные](/docs/ru/mcp#use-pre-configured-oauth-credentials). Избегает интерактивного запроса при добавлении сервера с `--client-secret` |

456| `MCP_CONNECTION_NONBLOCKING` | Контролирует, ждет ли запуск подключения MCP серверов перед первым запросом. Запуск MCP неблокирующий по умолчанию: серверы подключаются в фоне и их инструменты становятся доступными по мере завершения. Установите на `0`, чтобы заставить Claude Code ждать подключения серверов перед первым запросом. Серверы, настроенные с [`alwaysLoad: true`](/docs/ru/mcp#exempt-a-server-from-deferral), по-прежнему заставляют запуск ждать, кроме случаев, когда обслуживаются из [кэша обнаружения](/docs/ru/mcp#server-status-detail), так как их инструменты должны присутствовать при построении первой подсказки. В неинтерактивном режиме (`-p`) Claude Code также ждет все еще ожидающих серверов перед первым ходом независимо от этой переменной, с более длительным крайним сроком, когда вы явно передаете [`--mcp-config`](/docs/ru/cli-reference#cli-flags); см. запись этого флага для исключения кэшированного сервера |463| `MCP_CONNECTION_NONBLOCKING` | Контролирует, ждет ли запуск MCP серверов для подключения перед первым запросом. Запуск MCP неблокирующий по умолчанию: серверы подключаются в фоновом режиме и их инструменты становятся доступными по мере завершения. Установите `0` для ожидания Claude Code подключения серверов перед первым запросом. Серверы, настроенные с [`alwaysLoad: true`](/docs/ru/mcp#exempt-a-server-from-deferral), по-прежнему заставляют запуск ждать независимо от этого, за исключением случаев, когда они обслуживаются из [кэша обнаружения](/docs/ru/mcp#server-status-detail), так как их инструменты должны присутствовать при построении первой подсказки. В неинтерактивном режиме (`-p`) без `--input-format stream-json` Claude Code также ждет все еще ожидающих серверов перед первым ходом независимо от этой переменной. Когда вы передаете [`--mcp-config`](/docs/ru/cli-reference#cli-flags) явно, ожидание имеет более длительный крайний срок; см. запись этого флага для исключения кэшированного сервера |

457| `MCP_CONNECT_TIMEOUT_MS` | Как долго блокирующий запуск MCP ждет, в миллисекундах, для пакета подключения перед снимком списка инструментов (по умолчанию: 5000). Применяется, когда `MCP_CONNECTION_NONBLOCKING=0` или для серверов, отмеченных [`alwaysLoad: true`](/docs/ru/mcp#exempt-a-server-from-deferral). Серверы, все еще ожидающие на крайнем сроке, продолжают подключаться в фоне. Отличается от `MCP_TIMEOUT`, который ограничивает попытку подключения отдельного сервера |464| `MCP_CONNECT_TIMEOUT_MS` | Как долго блокирующий запуск MCP ждет, в миллисекундах, пакета подключения перед снимком списка инструментов (по умолчанию: 5000). Применяется, когда `MCP_CONNECTION_NONBLOCKING=0` или для серверов, отмеченных [`alwaysLoad: true`](/docs/ru/mcp#exempt-a-server-from-deferral). Серверы все еще ожидающие на крайнем сроке продолжают подключаться в фоновом режиме. Отличается от `MCP_TIMEOUT`, который ограничивает попытку подключения отдельного сервера |

458| `MCP_DISCOVERY_CACHE` | Включает или отключает [кэш обнаружения MCP](/docs/ru/mcp#server-status-detail). С включенным кэшем удаленный HTTP или SSE сервер, который вы использовали раньше, может показать [статус `cached`](/docs/ru/mcp#server-status-detail), и Claude Code подключает его при первом вызове инструмента вместо запуска. Кэш отключен по умолчанию, если постепенный выпуск не включил его для вашей учетной записи. Установите на `1`, чтобы включить его, или `0`, чтобы сохранить его отключенным, даже если выпуск включил его. До версии 2.1.238 кэш был включен по умолчанию. Статус `cached` требует Claude Code версии 2.1.221 или позже |465| `MCP_DISCOVERY_CACHE` | Включает или отключает [кэш обнаружения MCP](/docs/ru/mcp#server-status-detail). С включенным кэшем удаленный HTTP или SSE сервер, который вы использовали раньше, может показать [статус `cached`](/docs/ru/mcp#server-status-detail), и Claude Code подключает его при первом вызове инструмента вместо запуска. Кэш отключен по умолчанию, если постепенное развертывание не включило его для вашей учетной записи. Установите `1` для включения или `0` для сохранения отключенным даже когда развертывание включило его. До версии 2.1.238 кэш был включен по умолчанию. Статус `cached` требует Claude Code версии 2.1.221 или позже |

459| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Максимальный возраст в секундах записи [кэша обнаружения](/docs/ru/mcp#server-status-detail) (по умолчанию: 14400 или 4 часа). При запуске, где запись старше этого, Claude Code отбрасывает ее и подключает сервер при запуске, как при отключенном кэше. Claude Code ограничивает значение на 7 дней. До версии 2.1.238 значение по умолчанию было 86400 или 24 часа, и Claude Code не ограничивал значение |466| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Максимальный возраст в секундах записи [кэша обнаружения](/docs/ru/mcp#server-status-detail) (по умолчанию: 14400 или 4 часа). При запуске, где запись старше этого, Claude Code отбрасывает ее и подключает сервер при запуске, как при отключенном кэше. Claude Code ограничивает значение 7 днями. До версии 2.1.238 значение по умолчанию было 86400 или 24 часа, и Claude Code не ограничивал значение |

460| `MCP_DISCOVERY_CACHE_STRIKES` | При запуске, где запись [кэша обнаружения](/docs/ru/mcp#server-status-detail) старше `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code обновляет ее в фоне. Эта переменная устанавливает, сколько обновлений подряд может завершиться с ошибкой, прежде чем Claude Code отбросит запись и подключит сервер при следующем запуске вместо этого (по умолчанию: 1). Поднимите это, если ваше сетевое подключение иногда отключается, чтобы одно неудачное обновление не отбросило запись. Требует Claude Code версии 2.1.238 или позже |467| `MCP_DISCOVERY_CACHE_STRIKES` | При запуске, где запись [кэша обнаружения](/docs/ru/mcp#server-status-detail) старше `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code обновляет ее в фоновом режиме. Эта переменная устанавливает, сколько обновлений подряд может завершиться с ошибкой перед тем как Claude Code отбросит запись и подключит сервер при следующем запуске вместо этого (по умолчанию: 1). Повысьте это, если ваше сетевое подключение иногда отключается, чтобы одно неудачное обновление не отбросило запись. Требует Claude Code версии 2.1.238 или позже |

461| `MCP_DISCOVERY_CACHE_TTL_S` | Секунды, в течение которых Claude Code использует запись [кэша обнаружения](/docs/ru/mcp#server-status-detail) без обновления (по умолчанию: 900). При запуске, где запись старше этого, Claude Code по-прежнему использует ее, но обновляет ее в фоне. После того, как запись старше `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code отбрасывает ее вместо этого. Claude Code ограничивает значение на `MCP_DISCOVERY_CACHE_MAX_STALE_S`, что составляет 4 часа по умолчанию. До версии 2.1.238 Claude Code не ограничивал значение |468| `MCP_DISCOVERY_CACHE_TTL_S` | Секунды, в течение которых Claude Code использует запись [кэша обнаружения](/docs/ru/mcp#server-status-detail) без обновления (по умолчанию: 900). При запуске, где запись старше этого, Claude Code по-прежнему использует ее, но обновляет в фоновом режиме. Как только запись старше `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code отбрасывает ее вместо этого. Claude Code ограничивает значение `MCP_DISCOVERY_CACHE_MAX_STALE_S`, которое по умолчанию составляет 4 часа. До версии 2.1.238 Claude Code не ограничивал значение |

462| `MCP_OAUTH_CALLBACK_PORT` | Фиксированный порт для обратного вызова OAuth, как альтернатива `--callback-port` при добавлении MCP сервера с [предварительно настроенными учетными данными](/docs/ru/mcp#use-pre-configured-oauth-credentials) |469| `MCP_OAUTH_CALLBACK_PORT` | Фиксированный порт для обратного вызова перенаправления OAuth, как альтернатива `--callback-port` при добавлении MCP сервера с [предварительно настроенными учетными данными](/docs/ru/mcp#use-pre-configured-oauth-credentials) |

463| `MCP_PROTOCOL_NEGOTIATION` | Только на [v2 MCP клиентском рантайме](/docs/ru/mcp#mcp-client-runtimes), проверяет ли Claude Code серверы на ревизию протокола MCP 2026-07-28. Установите `auto`, чтобы проверить HTTP, claude.ai connector и серверы stdio; сервер, который не отвечает на зонд, подключается на более ранний протокол вместо этого, как серверы SSE и WebSocket всегда делают. Установите `legacy`, чтобы пропустить зонд для каждого сервера. Без переменной Claude Code проверяет HTTP и claude.ai connector серверы на Claude Code версии 2.1.232 или позже, с исключениями, которые раздел [MCP клиентские рантаймы](/docs/ru/mcp#mcp-client-runtimes) перечисляет. Любое другое значение игнорируется с предупреждением в журнале отладки. Требует Claude Code версии 2.1.221 или позже |470| `MCP_PROTOCOL_NEGOTIATION` | На [v2 MCP клиентском рантайме](/docs/ru/mcp#mcp-client-runtimes) только, проверяет ли Claude Code серверы для пересмотра протокола MCP 2026-07-28. Установите `auto` для проверки HTTP, соединителей claude.ai и серверов stdio; сервер, который не отвечает на зонд, подключается на более раннем протоколе вместо этого, как серверы SSE и WebSocket всегда делают. Установите `legacy` для пропуска зонда для каждого сервера. Без переменной Claude Code проверяет HTTP серверы и также проверяет серверы соединителей claude.ai в сеансах, где он [получает флаги функций](#features-that-need-feature-flag-fetching). Любое другое значение игнорируется с предупреждением в журнале отладки. Требует Claude Code версии 2.1.221 или позже |

464| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество удаленных MCP серверов (HTTP/SSE) для подключения параллельно при запуске (по умолчанию: 20) |471| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество удаленных MCP серверов (HTTP/SSE) для подключения параллельно при запуске (по умолчанию: 20) |

465| `MCP_SDK_GENERATION` | Закрепить, какой [MCP клиентский рантайм](/docs/ru/mcp#mcp-client-runtimes) этот процесс подключает к MCP серверам: `v1`, построенный на MCP TypeScript SDK 1.x, или `v2`, построенный на [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Без переменной Claude Code использует v2 на Claude Code версии 2.1.232 или позже, кроме случаев, когда этот раздел говорит, что он использует v1. На Claude Code версии 2.1.221 или позже рантайм v2 проверяет издателя, который MCP OAuth сервер возвращает в своем ответе авторизации, и завершает вход с ошибкой, которая начинается с `Issuer mismatch in authorization response`, когда он не совпадает. Рантайм v1 не запускает эту проверку. Если вы установите неузнанное значение, Claude Code игнорирует его и пишет предупреждение в журнал отладки. Claude Code читает значение один раз за процесс. Требует Claude Code версии 2.1.218 или позже |472| `MCP_SDK_GENERATION` | Закрепить, какой [MCP клиентский рантайм](/docs/ru/mcp#mcp-client-runtimes) этот процесс подключает к MCP серверам: `v1`, построенный на MCP TypeScript SDK 1.x, или `v2`, построенный на [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Без переменной Claude Code использует v2, начиная с версий, перечисленных в этом разделе. На Claude Code версии 2.1.221 или позже рантайм v2 проверяет издателя, который MCP OAuth сервер возвращает в своем ответе авторизации, и завершает вход с ошибкой, которая начинается с `Issuer mismatch in authorization response`, когда это не совпадает. Рантайм v1 не выполняет эту проверку. Если вы установите неузнанное значение, Claude Code игнорирует его и записывает предупреждение в журнал отладки. Claude Code читает значение один раз за процесс. Требует Claude Code версии 2.1.218 или позже |

466| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество локальных MCP серверов (stdio) для подключения параллельно при запуске (по умолчанию: 3) |473| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество локальных MCP серверов (stdio) для подключения параллельно при запуске (по умолчанию: 3) |

467| `MCP_TIMEOUT` | Таймаут в миллисекундах для запуска MCP сервера (по умолчанию: 30000 или 30 секунд) |474| `MCP_TIMEOUT` | Таймаут в миллисекундах для запуска MCP сервера (по умолчанию: 30000 или 30 секунд) |

468| `MCP_TOOL_TIMEOUT` | Таймаут в миллисекундах для выполнения инструмента MCP (по умолчанию: 100000000, примерно 28 часов). Для HTTP, SSE или claude.ai connector сервера каждый запрос также истекает через 60 секунд по умолчанию; установите эту переменную или поле `timeout` для каждого сервера выше 60000, чтобы поднять это ограничение для каждого запроса. Более низкое значение по-прежнему сокращает общий таймаут выполнения инструмента, но оставляет ограничение для каждого запроса на 60 секунд. Серверы stdio и WebSocket не имеют таймера для каждого запроса. Поле `timeout` для каждого сервера в `.mcp.json` переопределяет это для этого сервера. Поле `timeout` для каждого сервера не менее 1000 также устанавливает минимальное окно простоя для вызовов инструментов этого сервера, поэтому `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` никогда не прерывает их раньше; этот пол требует Claude Code версии 2.1.203 или позже. Для переменной окружения значения ниже 1000 ограничиваются одной секундой; для поля для каждого сервера значения ниже 1000 игнорируются |475| `MCP_TOOL_TIMEOUT` | Таймаут в миллисекундах для выполнения инструмента MCP (по умолчанию: 100000000, примерно 28 часов). Для HTTP, SSE или сервера соединителя claude.ai каждый запрос также истекает через 60 секунд по умолчанию; установите эту переменную или сервер `timeout` выше 60000 для повышения этого ограничения для каждого запроса. Более низкое значение по-прежнему сокращает общий таймаут выполнения инструмента, но оставляет ограничение для каждого запроса на 60 секунд. Серверы stdio и WebSocket не имеют таймера для каждого запроса. Поле `timeout` для каждого сервера в `.mcp.json` переопределяет это для этого сервера. Поле `timeout` для каждого сервера по крайней мере 1000 также устанавливает минимальное окно простоя для вызовов инструментов этого сервера, поэтому `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` никогда не прерывает их раньше; этот пол требует Claude Code версии 2.1.203 или позже. Для переменной окружения значения ниже 1000 ограничиваются одной секундой; для поля для каждого сервера значения ниже 1000 игнорируются |

469| `NO_PROXY` | Список доменов и IP, на которые запросы будут выданы напрямую, обходя прокси |476| `NO_PROXY` | Список доменов и IP, на которые запросы будут выданы напрямую, обходя прокси |

470| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Стандартное ограничение SDK OpenTelemetry на длину значения атрибута. Claude Code ограничивает атрибуты телеметрии, содержащие содержимое, на меньшее из этого и `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, поэтому маркер усечения остается в пределах ограничения SDK. Claude Code читает варианты `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` и `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` так же и применяется наименьшее установленное значение ко всем сигналам. Требует Claude Code версии 2.1.214 или позже. См. [Мониторинг](/docs/ru/monitoring-usage#common-configuration-variables) |477| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Стандартное ограничение SDK OpenTelemetry на длину значения атрибута. Claude Code ограничивает атрибуты телеметрии, содержащие содержимое, меньшим из этого и `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, поэтому маркер усечения остается в пределах ограничения SDK. Claude Code читает варианты `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` и `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` так же и применяется наименьшее установленное значение ко всем сигналам. Требует Claude Code версии 2.1.214 или позже. См. [Мониторинг](/docs/ru/monitoring-usage#common-configuration-variables) |

471| `OTEL_LOG_ASSISTANT_RESPONSES` | Установите на `1`, чтобы включить текст ответа модели на событиях журнала OpenTelemetry `assistant_response`. Если не установлено, используется значение `OTEL_LOG_USER_PROMPTS`. Установите на `0`, чтобы сохранить ответы отредактированными, даже если установлен `OTEL_LOG_USER_PROMPTS`. Требует Claude Code версии 2.1.193 или позже. См. [Мониторинг](/docs/ru/monitoring-usage#assistant-response-event) |478| `OTEL_LOG_ASSISTANT_RESPONSES` | Установите `1` для включения текста ответа модели в события журнала OpenTelemetry `assistant_response`. Если не установлено, используется значение `OTEL_LOG_USER_PROMPTS`. Установите `0` для сохранения ответов отредактированными даже когда установлен `OTEL_LOG_USER_PROMPTS`. Требует Claude Code версии 2.1.193 или позже. См. [Мониторинг](/docs/ru/monitoring-usage#assistant-response-event) |

472| `OTEL_LOG_RAW_API_BODIES` | Выдать JSON запроса и ответа Anthropic Messages API как события журнала `api_request_body` / `api_response_body`. Установите на `1` для встроенных тел, усеченных на пределе содержимого, или `file:<dir>`, чтобы написать неусеченные тела на диск и выдать путь `body_ref` вместо этого. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` настраивает предел содержимого, 60 КБ по умолчанию. Отключено по умолчанию; тела включают всю историю разговора. Установите это в вашей оболочке, пользовательских параметрах или управляемых параметрах. Игнорируется в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). См. [Мониторинг](/docs/ru/monitoring-usage#api-request-body-event) |479| `OTEL_LOG_RAW_API_BODIES` | Выдавать JSON запроса и ответа API Anthropic Messages как события журнала `api_request_body` / `api_response_body`. Установите `1` для встроенных тел, усеченных на пределе содержимого, или `file:<dir>` для записи неусеченных тел на диск и выдачи пути `body_ref` вместо этого. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` настраивает предел содержимого, 60 КБ по умолчанию. Отключено по умолчанию; тела включают всю историю разговора. Установите это в вашей оболочке, пользовательских параметрах или управляемых параметрах. Игнорируется в [параметрах проекта и локальных параметрах](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). См. [Мониторинг](/docs/ru/monitoring-usage#api-request-body-event) |

473| `OTEL_LOG_TOOL_CONTENT` | Установите на `1`, чтобы включить содержимое входа и выхода инструмента в события span OpenTelemetry. Отключено по умолчанию для защиты конфиденциальных данных. См. [Мониторинг](/docs/ru/monitoring-usage) |480| `OTEL_LOG_TOOL_CONTENT` | Установите `1` для включения содержимого инструмента в событие пролета OpenTelemetry `tool.output`. Атрибуты пролета несут содержимое инструмента под [своими собственными вратами](/docs/ru/monitoring-usage#new-context-gates). Требует [трассировку](/docs/ru/monitoring-usage#traces-beta). Отключено по умолчанию для защиты конфиденциальных данных. См. [Мониторинг](/docs/ru/monitoring-usage#tool-output-span-event) |

474| `OTEL_LOG_TOOL_DETAILS` | Установите на `1`, чтобы включить аргументы входа инструмента, имена MCP серверов, имена рабочих процессов, созданные пользователем, необработанные строки ошибок при сбоях инструмента, категорию отказа на событиях `api_refusal` и другие детали инструмента в трассировках и журналах OpenTelemetry. Отключено по умолчанию для защиты PII. См. [Мониторинг](/docs/ru/monitoring-usage) |481| `OTEL_LOG_TOOL_DETAILS` | Установите `1` для включения аргументов входа инструмента, имен MCP серверов, имен workflow, созданных пользователем, необработанных строк ошибок при отказах инструментов, категории отказа `category` на событиях `api_refusal` и других деталей инструмента в трассировках и журналах OpenTelemetry. Отключено по умолчанию для защиты PII. См. [Мониторинг](/docs/ru/monitoring-usage) |

475| `OTEL_LOG_USER_PROMPTS` | Установите на `1`, чтобы включить текст подсказки пользователя в трассировки и журналы OpenTelemetry. Отключено по умолчанию (подсказки отредактированы). См. [Мониторинг](/docs/ru/monitoring-usage) |482| `OTEL_LOG_USER_PROMPTS` | Установите `1` для включения текста подсказки пользователя в трассировки и журналы OpenTelemetry. Отключено по умолчанию (подсказки отредактированы). См. [Мониторинг](/docs/ru/monitoring-usage) |

476| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Установите на `false`, чтобы исключить UUID учетной записи из атрибутов метрик (по умолчанию: включено). См. [Мониторинг](/docs/ru/monitoring-usage) |483| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Установите `false` для исключения UUID учетной записи из атрибутов метрик (по умолчанию: включено). См. [Мониторинг](/docs/ru/monitoring-usage) |

477| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Установите на `true`, чтобы включить точку входа сеанса в атрибуты метрик (по умолчанию: исключено). Добавлено в версии 2.1.152. См. [Мониторинг](/docs/ru/monitoring-usage) |484| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Установите `true` для включения точки входа сеанса в атрибуты метрик (по умолчанию: исключено). Добавлено в версии 2.1.152. См. [Мониторинг](/docs/ru/monitoring-usage) |

478| `OTEL_METRICS_INCLUDE_REPOSITORY` | Установите на `true`, чтобы пометить метрики и события OpenTelemetry атрибутами `vcs.*`, определяющими репозиторий сеанса (по умолчанию: исключено). Требует Claude Code версии 2.1.269 или позже. См. [Атрибуты репозитория](/docs/ru/monitoring-usage#repository-attributes) |485| `OTEL_METRICS_INCLUDE_REPOSITORY` | Установите `true` для тегирования метрик и событий OpenTelemetry с атрибутами `vcs.*`, определяющими репозиторий сеанса (по умолчанию: исключено). Требует Claude Code версии 2.1.269 или позже. См. [Атрибуты репозитория](/docs/ru/monitoring-usage#repository-attributes) |

479| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Начиная с версии 2.1.161, Claude Code присоединяет ключи `OTEL_RESOURCE_ATTRIBUTES` к меткам точек данных метрик. Установите на `false`, чтобы исключить их (по умолчанию: включено). См. [Мониторинг](/docs/ru/monitoring-usage#multi-team-organization-support) |486| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Начиная с версии 2.1.161, Claude Code присоединяет ключи `OTEL_RESOURCE_ATTRIBUTES` к меткам точек данных метрик. Установите `false` для исключения (по умолчанию: включено). См. [Мониторинг](/docs/ru/monitoring-usage#multi-team-organization-support) |

480| `OTEL_METRICS_INCLUDE_SESSION_ID` | Установите на `false`, чтобы исключить ID сеанса из атрибутов метрик (по умолчанию: включено). См. [Мониторинг](/docs/ru/monitoring-usage) |487| `OTEL_METRICS_INCLUDE_SESSION_ID` | Установите `false` для исключения ID сеанса из атрибутов метрик (по умолчанию: включено). См. [Мониторинг](/docs/ru/monitoring-usage) |

481| `OTEL_METRICS_INCLUDE_VERSION` | Установите на `true`, чтобы включить версию Claude Code в атрибуты метрик (по умолчанию: исключено). См. [Мониторинг](/docs/ru/monitoring-usage) |488| `OTEL_METRICS_INCLUDE_VERSION` | Установите `true` для включения версии Claude Code в атрибуты метрик (по умолчанию: исключено). См. [Мониторинг](/docs/ru/monitoring-usage) |

482| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Переопределить бюджет символов для метаданных skill, показанных инструменту [Skill](/docs/ru/skills#control-who-invokes-a-skill). Бюджет масштабируется динамически на 1% окна контекста, с резервным значением 8,000 символов. Устаревшее имя сохранено для обратной совместимости |489| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Переопределить бюджет символов для метаданных skill, показанных [инструменту Skill](/docs/ru/skills#control-who-invokes-a-skill). Бюджет масштабируется динамически на 1% окна контекста, с резервным значением 8,000 символов. Устаревшее имя сохранено для обратной совместимости |

483| `TASK_MAX_OUTPUT_LENGTH` | Максимальное количество символов вывода [фоновой задачи](/docs/ru/tools-reference#background-commands), которое инструмент `TaskOutput` сохраняет (по умолчанию: 32000; максимум: 160000). Если вы установите параметр [`taskOutputMaxChars`](/docs/ru/settings-reference#taskoutputmaxchars), Claude Code игнорирует эту переменную |490| `TASK_MAX_OUTPUT_LENGTH` | Максимальное количество символов вывода [фоновой задачи](/docs/ru/tools-reference#background-commands), которое инструмент `TaskOutput` сохраняет (по умолчанию: 32000; максимум: 160000). Если вы установите параметр [`taskOutputMaxChars`](/docs/ru/settings-reference#taskoutputmaxchars), Claude Code игнорирует эту переменную |

484| `USE_BUILTIN_RIPGREP` | Установите на `0`, чтобы использовать установленный в системе `rg` вместо `rg`, включенного в Claude Code |491| `USE_BUILTIN_RIPGREP` | Установите `0` для использования установленного в системе `rg` вместо `rg`, включенного в Claude Code |

485| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Переопределить регион для Claude 3.5 Haiku при использовании Google Cloud's Agent Platform |492| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Переопределить регион для Claude 3.5 Haiku при использовании Google Cloud's Agent Platform |

486| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Переопределить регион для Claude 3.5 Sonnet при использовании Google Cloud's Agent Platform |493| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Переопределить регион для Claude 3.5 Sonnet при использовании Google Cloud's Agent Platform |

487| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Переопределить регион для Claude 3.7 Sonnet при использовании Google Cloud's Agent Platform |494| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Переопределить регион для Claude 3.7 Sonnet при использовании Google Cloud's Agent Platform |


514 521 

515Когда получение отключено, вы не можете:522Когда получение отключено, вы не можете:

516 523 

524* Иметь Claude Code [читающий файлы `AGENTS.md`](/docs/ru/memory#agents-md) как инструкции проекта; он загружает только файлы `CLAUDE.md`

517* [Запускать сеансы в режиме auto по умолчанию](/docs/ru/permission-modes#which-mode-a-session-starts-in) на планах Pro, Max и Team525* [Запускать сеансы в режиме auto по умолчанию](/docs/ru/permission-modes#which-mode-a-session-starts-in) на планах Pro, Max и Team

518* Иметь расширение VS Code [читающее файлы параметров для режима разрешений при запуске](/docs/ru/permission-modes#switch-permission-modes)526* Иметь расширение VS Code [читающее файлы параметров для режима разрешений при запуске](/docs/ru/permission-modes#switch-permission-modes)

519* Запускать [`/auto-mode-setup`](/docs/ru/auto-mode-config#generate-environment-entries) для создания записей `autoMode.environment`527* Запускать [`/auto-mode-setup`](/docs/ru/auto-mode-config#generate-environment-entries) для создания записей `autoMode.environment`


521* [Отправлять сообщения сеансам за пределами этой машины](/docs/ru/cross-session-messaging#message-sessions-on-other-machines); обмен сообщениями между сеансами на этой машине работает с отключённым получением529* [Отправлять сообщения сеансам за пределами этой машины](/docs/ru/cross-session-messaging#message-sessions-on-other-machines); обмен сообщениями между сеансами на этой машине работает с отключённым получением

522* Запускать [`claude import` или команду `/import`](/docs/ru/cli-reference#cli-commands)530* Запускать [`claude import` или команду `/import`](/docs/ru/cli-reference#cli-commands)

523* Запускать [`/skill-doctor`](/docs/ru/skills#find-unused-skills) или открывать его отчёт на вкладке **Stats** в `/plugin`531* Запускать [`/skill-doctor`](/docs/ru/skills#find-unused-skills) или открывать его отчёт на вкладке **Stats** в `/plugin`

532* Синхронизировать [skills](/docs/ru/skills#where-synced-skills-load) и [plugins](/docs/ru/plugins-reference#synced-plugins), включённые для вашей учётной записи claude.ai, в сеансы терминала

524* Использовать [инструмент советника](/docs/ru/advisor#requirements)533* Использовать [инструмент советника](/docs/ru/advisor#requirements)

525* Читать или отвечать на [комментарии к артефакту](/docs/ru/artifacts#collect-comments-on-an-artifact)534* Читать или отвечать на [комментарии к артефакту](/docs/ru/artifacts#collect-comments-on-an-artifact)

526* Получить [среду выполнения MCP клиента v2](/docs/ru/mcp#mcp-client-runtimes) и его зонд протокола без установки `MCP_SDK_GENERATION` и `MCP_PROTOCOL_NEGOTIATION`; Claude Code использует среду выполнения v1, если вы не установите `MCP_SDK_GENERATION=v2`, и пропускает зонд, если вы не установите `MCP_PROTOCOL_NEGOTIATION=auto`535* Иметь Claude Code, зондирующий серверы соединителя claude.ai для [MCP протокола версии 2026-07-28](/docs/ru/mcp#mcp-client-runtimes), если вы не установите `MCP_PROTOCOL_NEGOTIATION=auto`

527* Получить [инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) по умолчанию для учётных записей claude.ai и Console на Windows с установленным Git Bash; Claude Code маршрутизирует команды оболочки через Git Bash, если вы не установите `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. На Windows без Git Bash инструмент остаётся включённым536* Получить [инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) по умолчанию для учётных записей claude.ai и Console на Windows с установленным Git Bash; Claude Code маршрутизирует команды оболочки через Git Bash, если вы не установите `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. На Windows без Git Bash инструмент остаётся включённым

528* Получить [отзыв, составленный Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), который Claude Code включает через полученный флаг537* Получить [отзыв, составленный Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), который Claude Code включает через полученный флаг

529* Иметь Claude Code [исключающий инструменты MCP, чья схема входных данных будет отклонена API](/docs/ru/mcp#tools-with-invalid-input-schemas); он отправляет схему в любом случае, и запрос, который её включает, завершается с ошибкой [400, указывающей инструмент по его позиции](/docs/ru/errors#tool-input-schema-is-invalid)538* Иметь Claude Code [исключающий инструменты MCP, чья схема входных данных будет отклонена API](/docs/ru/mcp#tools-with-invalid-input-schemas); он отправляет схему в любом случае, и запрос, который её включает, завершается с ошибкой [400, указывающей инструмент по его позиции](/docs/ru/errors#tool-input-schema-is-invalid)

errors.md +445 −69

Details

70| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |70| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |

71| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |71| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |

72| `Login expired · Please run /login` | [Authentication](#login-expired) |72| `Login expired · Please run /login` | [Authentication](#login-expired) |

73| `Claude login not accepted · Run /login, then try again` | [Authentication](#claude-login-not-accepted) |

73| `Not signed in to the Cloud gateway — run /login.` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |74| `Not signed in to the Cloud gateway — run /login.` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |

74| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |75| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |

75| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentication](#login-expired) |76| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentication](#login-expired) |


79| `Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile` | [Authentication](#anthropic-profile-login-expired) |80| `Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile` | [Authentication](#anthropic-profile-login-expired) |

80| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |81| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |

81| `claude.ai rejected the session token` / `session token rejected` | [Authentication](#claude-ai-rejected-the-session-token) |82| `claude.ai rejected the session token` / `session token rejected` | [Authentication](#claude-ai-rejected-the-session-token) |

83| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

84| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

85| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

86| `MCP server "<name>" requires re-authorization (token expired)` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

82| `Issuer mismatch in authorization response (RFC 9207)` | [Authentication](#issuer-mismatch-in-authorization-response) |87| `Issuer mismatch in authorization response (RFC 9207)` | [Authentication](#issuer-mismatch-in-authorization-response) |

83| `Cloud gateway session expired — run /login to reconnect.` | [Authentication](#cloud-gateway-session-expired) |88| `Cloud gateway session expired — run /login to reconnect.` | [Authentication](#cloud-gateway-session-expired) |

84| `Cloud gateway <url> no longer accepts this session` | [Authentication](#cloud-gateway-session-expired) |89| `Cloud gateway <url> no longer accepts this session` | [Authentication](#cloud-gateway-session-expired) |

85| `AWS credentials expired or invalid` | [Authentication](#aws-credentials-expired-or-invalid) |90| `AWS credentials expired or invalid` | [Authentication](#aws-credentials-expired-or-invalid) |

86| `AWS authentication failed` | [Authentication](#aws-authentication-failed) |91| `AWS authentication failed` | [Authentication](#aws-authentication-failed) |

92| `Google Cloud credentials expired or invalid` | [Authentication](#google-cloud-credentials-expired-or-invalid) |

93| `Google Cloud authentication failed` | [Authentication](#google-cloud-authentication-failed) |

94| `Microsoft Foundry authentication failed` | [Authentication](#microsoft-foundry-authentication-failed) |

95| `Gateway refused the request` | [Authentication](#gateway-refused-the-request) |

87| `Could not load AWS credentials` / `Could not load Google Cloud credentials` | [Authentication](#could-not-load-aws-or-google-cloud-credentials) |96| `Could not load AWS credentials` / `Could not load Google Cloud credentials` | [Authentication](#could-not-load-aws-or-google-cloud-credentials) |

88| `AWS default-chain credential resolve timed out` | [Authentication](#aws-default-chain-credential-resolve-timed-out) |97| `AWS default-chain credential resolve timed out` | [Authentication](#aws-default-chain-credential-resolve-timed-out) |

89| `Timed out after 60s waiting for AWS` | [Authentication](#bedrock-setup-verification-timed-out-waiting-for-aws) |98| `Timed out after 60s waiting for AWS` | [Authentication](#bedrock-setup-verification-timed-out-waiting-for-aws) |

90| `A request to AWS timed out. Check your network and proxy settings, then try again.` | [Authentication](#bedrock-setup-verification-timed-out-waiting-for-aws) |99| `A request to AWS timed out. Check your network and proxy settings, then try again.` | [Authentication](#bedrock-setup-verification-timed-out-waiting-for-aws) |

91| `Could not load the default credentials` on Google Cloud's Agent Platform | [Authentication](#could-not-load-aws-or-google-cloud-credentials) |100| `Could not load the default credentials` on Google Cloud's Agent Platform | [Authentication](#could-not-load-aws-or-google-cloud-credentials) |

92| `Unable to connect to API` | [Network](#unable-to-connect-to-api) |101| `Unable to connect to API` | [Network](#unable-to-connect-to-api) |

93| `Connection refused —` / `Can't reach the API server —` / `No internet route —` / `Couldn't connect through your proxy` / `Connection dropped`, each ending with an error code in parentheses | [Network](#unable-to-connect-to-api) |102| `Connection refused —` / `Can't reach the API server —` / `No internet route —` / `Couldn't connect through your proxy` / `Connection dropped`, каждое с кодом ошибки в скобках | [Network](#unable-to-connect-to-api) |

94| `Unable to connect to Anthropic services` during setup | [Network](#unable-to-connect-to-anthropic-services) |103| `Unable to connect to Anthropic services` during setup | [Network](#unable-to-connect-to-anthropic-services) |

95| `Socket is closed` | [Network](#socket-is-closed) |104| `Socket is closed` | [Network](#socket-is-closed) |

96| `Waiting for API response · will retry in` | [Automatic retries](#automatic-retries), или [Network](#unable-to-connect-to-api) если это продолжается |105| `Waiting for API response · will retry in` | [Automatic retries](#automatic-retries), или [Network](#unable-to-connect-to-api) если это продолжается |


151| `Download timed out: exceeded the total deadline` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |160| `Download timed out: exceeded the total deadline` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |

152| `--bg and --print conflict` | [Command-line errors](#command-line-errors) |161| `--bg and --print conflict` | [Command-line errors](#command-line-errors) |

153| `Cloud sessions cannot be created from a --restricted session` | [Command-line errors](#cloud-sessions-cannot-be-created-from-a-restricted-session) |162| `Cloud sessions cannot be created from a --restricted session` | [Command-line errors](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

163| `Cloud sessions are disabled by your organization's policy` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |

164| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |

154| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#command-line-errors) |165| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#command-line-errors) |

155| `Error: Invalid --agents configuration:` | [Command-line errors](#invalid-agents-configuration) |166| `Error: Invalid --agents configuration:` | [Command-line errors](#invalid-agents-configuration) |

156| `Error: Settings file exceeds the 2MiB limit` | [Command-line errors](#settings-file-exceeds-the-2mib-limit) |167| `Error: Settings file exceeds the 2MiB limit` | [Command-line errors](#settings-file-exceeds-the-2mib-limit) |


167| `Server rejected the Authorization header minted by the configured headersHelper` | [Command-line errors](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |178| `Server rejected the Authorization header minted by the configured headersHelper` | [Command-line errors](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |

168| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Command-line errors](#mcp-permission-prompt-tool-not-found) |179| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Command-line errors](#mcp-permission-prompt-tool-not-found) |

169| `OAuth callback port <port> is already in use — another process may be holding it` | [Command-line errors](#oauth-callback-port-is-already-in-use) |180| `OAuth callback port <port> is already in use — another process may be holding it` | [Command-line errors](#oauth-callback-port-is-already-in-use) |

181| `No available ports for OAuth redirect` | [Command-line errors](#no-available-ports-for-oauth-redirect) |

170| `Shell command failed for pattern "..."`, from `/security-review` or any skill that injects dynamic context | [Command-line errors](#security-review-fails-without-origin-head) |182| `Shell command failed for pattern "..."`, from `/security-review` or any skill that injects dynamic context | [Command-line errors](#security-review-fails-without-origin-head) |

171| `Shell command permission check failed for pattern "..."`, from a skill that injects dynamic context | [Command-line errors](#security-review-fails-without-origin-head) |183| `Shell command permission check failed for pattern "..."`, from a skill that injects dynamic context | [Command-line errors](#security-review-fails-without-origin-head) |

172| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Command-line errors](#security-review-fails-without-origin-head) |184| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Command-line errors](#security-review-fails-without-origin-head) |


181| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Command-line errors](#no-github-account-is-connected-to-your-claude-account) |193| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Command-line errors](#no-github-account-is-connected-to-your-claude-account) |

182| `Your connected GitHub account can't see <owner>/<repo>` | [Command-line errors](#your-connected-github-account-cant-see-the-repository) |194| `Your connected GitHub account can't see <owner>/<repo>` | [Command-line errors](#your-connected-github-account-cant-see-the-repository) |

183| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Command-line errors](#the-github-app-preflight-failed-transiently) |195| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Command-line errors](#the-github-app-preflight-failed-transiently) |

196| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Command-line errors](#github-isnt-connected-to-your-claude-account) |

197| `Single sign-on authorization needed` | [Command-line errors](#single-sign-on-authorization-needed) |

184| `Failed to resume the conversation` | [Command-line errors](#failed-to-resume-the-conversation) |198| `Failed to resume the conversation` | [Command-line errors](#failed-to-resume-the-conversation) |

185| `No conversation found with session ID: <session-id>` | [Command-line errors](#no-conversation-found-with-the-session-id) |199| `No conversation found with session ID: <session-id>` | [Command-line errors](#no-conversation-found-with-the-session-id) |

186| `Cannot switch renderers in this session` | [Command-line errors](#cannot-switch-renderers-in-this-session) |200| `Cannot switch renderers in this session` | [Command-line errors](#cannot-switch-renderers-in-this-session) |


188| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [Command-line errors](#terminal-setup-left-your-zed-keymap-unchanged) |202| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [Command-line errors](#terminal-setup-left-your-zed-keymap-unchanged) |

189| `Your Zed keymap isn't a readable list of keybindings` | [Command-line errors](#terminal-setup-left-your-zed-keymap-unchanged) |203| `Your Zed keymap isn't a readable list of keybindings` | [Command-line errors](#terminal-setup-left-your-zed-keymap-unchanged) |

190| `Skill usage reports are not available on this connection.` | [Command-line errors](#skill-usage-reports-are-not-available-on-this-connection) |204| `Skill usage reports are not available on this connection.` | [Command-line errors](#skill-usage-reports-are-not-available-on-this-connection) |

205| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Command-line errors](#custom-output-styles-cant-be-selected-over-remote-control) |

206| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Command-line errors](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

191| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin errors](#plugin-eval-is-currently-in-early-access) |207| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin errors](#plugin-eval-is-currently-in-early-access) |

192| `Marketplace "<name>" is registered from an untrusted source` | [Plugin errors](#marketplace-is-registered-from-an-untrusted-source) |208| `Marketplace "<name>" is registered from an untrusted source` | [Plugin errors](#marketplace-is-registered-from-an-untrusted-source) |

193| `references ${user_config.*} in a shell-form command` | [Plugin errors](#plugin-command-references-user-config) |209| `references ${user_config.*} in a shell-form command` | [Plugin errors](#plugin-command-references-user-config) |


207| `pkill: refusing to run` | [Tool errors](#pkill-pattern-matches-the-claude-code-process) |223| `pkill: refusing to run` | [Tool errors](#pkill-pattern-matches-the-claude-code-process) |

208| `Failed to write to <name>'s inbox — nothing was sent` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |224| `Failed to write to <name>'s inbox — nothing was sent` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |

209| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |225| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Tool errors](#failed-to-write-to-a-teammate-inbox) |

226| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Tool errors](#teammate-agent-definition-not-restored) |

210| `Message too large for cross-session delivery` | [Tool errors](#message-too-large-for-cross-session-delivery) |227| `Message too large for cross-session delivery` | [Tool errors](#message-too-large-for-cross-session-delivery) |

211| `Too many messages to this session just now` | [Tool errors](#too-many-messages-to-this-session-just-now) |228| `Too many messages to this session just now` | [Tool errors](#too-many-messages-to-this-session-just-now) |

212| `Refusing to send: reply target is a symlink` / `Refusing to send: cannot vet reply target` | [Tool errors](#refusing-to-send-a-cross-session-message) |229| `Refusing to send: reply target is a symlink` / `Refusing to send: cannot vet reply target` | [Tool errors](#refusing-to-send-a-cross-session-message) |

213| `Refusing to send: connected endpoint is not the expected process` / `Refusing to send: connected endpoint identity could not be read` | [Tool errors](#refusing-to-send-a-cross-session-message) |230| `Refusing to send: connected endpoint is not the expected process` / `Refusing to send: connected endpoint identity could not be read` | [Tool errors](#refusing-to-send-a-cross-session-message) |

214| `Refusing to send: connected endpoint is not owned by this user` / `Refusing to send: connected endpoint owner could not be read` | [Tool errors](#refusing-to-send-a-cross-session-message) |231| `Refusing to send: connected endpoint is not owned by this user` / `Refusing to send: connected endpoint owner could not be read` | [Tool errors](#refusing-to-send-a-cross-session-message) |

215| `Refusing to send: connected endpoint is a different process with the expected pid` | [Tool errors](#refusing-to-send-a-cross-session-message) |232| `Refusing to send: connected endpoint is a different process with the expected pid` | [Tool errors](#refusing-to-send-a-cross-session-message) |

216| `Refusing to read <path>: its symlink resolution changed after permission was checked` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [Tool errors](#refusing-after-a-symlink-changed) |233| `Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>)` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [Tool errors](#refusing-after-a-symlink-changed) |

217| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [Tool errors](#refusing-after-a-symlink-changed) |234| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [Tool errors](#refusing-after-a-symlink-changed) |

235| `Refusing to write through symlink: <path>` / `Refusing to write into symlinked directory: <path>` | [Tool errors](#refusing-after-a-symlink-changed) |

218| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [Tool errors](#refusing-after-a-symlink-changed) |236| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [Tool errors](#refusing-after-a-symlink-changed) |

219| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [Tool errors](#refusing-after-a-symlink-changed) |237| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [Tool errors](#refusing-after-a-symlink-changed) |

220| `task output swap refused (tasks dir moved or linked)` | [Tool errors](#task-output-swap-refused) |238| `task output swap refused (tasks dir moved or linked)` | [Tool errors](#task-output-swap-refused) |

221| `Command killed: its output file was replaced or could no longer be verified` | [Tool errors](#task-output-swap-refused) |239| `Command killed: its output file was replaced or could no longer be verified` | [Tool errors](#task-output-swap-refused) |

222| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |240| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |

223| `the source file has the replacement character U+FFFD` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |241| `the source file has the replacement character U+FFFD` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |

242| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |

243| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |

244| `WebFetch cannot fetch localhost or other hostnames without a dot` | [Tool errors](#webfetch-cannot-fetch-localhost) |

224| `Can't open MCP settings while no terminal is attached to this background session` | [Background session errors](#commands-refused-in-a-background-session) |245| `Can't open MCP settings while no terminal is attached to this background session` | [Background session errors](#commands-refused-in-a-background-session) |

225| `Can't open MCP settings in a background session` | [Background session errors](#commands-refused-in-a-background-session) |246| `Can't open MCP settings in a background session` | [Background session errors](#commands-refused-in-a-background-session) |

226| `blocked because the path is spelled in a form that cannot be safely resolved` | [Background session errors](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |247| `blocked because the path is spelled in a form that cannot be safely resolved` | [Background session errors](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |


229| `Can't open — this session is running in another terminal` | [Background session errors](#this-session-is-running-in-another-terminal) |250| `Can't open — this session is running in another terminal` | [Background session errors](#this-session-is-running-in-another-terminal) |

230| `This conversation is already open in another running Claude session` | [Background session errors](#this-session-is-running-in-another-terminal) |251| `This conversation is already open in another running Claude session` | [Background session errors](#this-session-is-running-in-another-terminal) |

231| `This session's saved conversation is no longer on disk` | [Background session errors](#this-sessions-saved-conversation-is-no-longer-on-disk) |252| `This session's saved conversation is no longer on disk` | [Background session errors](#this-sessions-saved-conversation-is-no-longer-on-disk) |

253| `kept <id> — its worktree is still at <path>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |

232| `kept <id> — <n> unpushed commits on <branch>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |254| `kept <id> — <n> unpushed commits on <branch>` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |

233| `kept <id> — worktree has commits that are not pushed anywhere` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |255| `kept <id> — worktree has commits that are not pushed anywhere` | [Background session errors](#worktree-has-commits-that-are-not-pushed-anywhere) |

234| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [Background session errors](#terminal-host-process-died) |256| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [Background session errors](#terminal-host-process-died) |


242| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Background session errors](#working-directory-no-longer-exists-when-starting-a-background-session) |264| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Background session errors](#working-directory-no-longer-exists-when-starting-a-background-session) |

243| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Background session errors](#eacces-when-starting-a-background-session) |265| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Background session errors](#eacces-when-starting-a-background-session) |

244| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |266| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |

267| `The connection to Claude Code ended before this message completed` | [Wrapper and IDE errors](#the-connection-to-claude-code-ended-before-this-message-completed) |

245| `Could not locate the Claude CLI on PATH` | [Wrapper and IDE errors](#could-not-locate-the-claude-cli-on-path) |268| `Could not locate the Claude CLI on PATH` | [Wrapper and IDE errors](#could-not-locate-the-claude-cli-on-path) |

246| `Restored the code, but skipped N files` | [Rewind warnings and errors](#restored-the-code-but-skipped-files) |269| `Restored the code, but skipped N files` | [Rewind warnings and errors](#restored-the-code-but-skipped-files) |

247| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind warnings and errors](#no-files-were-restored) |270| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind warnings and errors](#no-files-were-restored) |


325Вы можете настроить поведение повторных попыток с помощью этих переменных окружения:348Вы можете настроить поведение повторных попыток с помощью этих переменных окружения:

326 349 

327| Переменная | По умолчанию | Эффект |350| Переменная | По умолчанию | Эффект |

328| :---------------------------------------------------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |351| :---------------------------------------------------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

329| [`CLAUDE_CODE_MAX_RETRIES`](/docs/ru/env-vars) | 10 | Количество попыток повторной попытки. Ограничено 15 начиная с v2.1.186; начиная с v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` повышает значение по умолчанию и удаляет ограничение. Снизьте его, чтобы быстрее выявлять сбои в скриптах. |352| [`CLAUDE_CODE_MAX_RETRIES`](/docs/ru/env-vars) | 10 | Количество попыток повторной попытки. Ограничено 15 начиная с v2.1.186; начиная с v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` повышает значение по умолчанию и удаляет ограничение. Снизьте его, чтобы быстрее выявлять сбои в скриптах. |

330| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ru/env-vars) | не установлено | Установите на `1` в автоматических сеансах, таких как задания CI, чтобы повторять ошибки пропускной способности `429` и `529` бесконечно вместо отказа после `CLAUDE_CODE_MAX_RETRIES` попыток. Claude Code отказывает сразу же при `429`, который сообщает о лимите расходов или исчерпанных кредитах использования, даже при одном из [gateway spend cap](#spend-limit-reached), который сбрасывается по расписанию. До v2.1.239 сторож повторял эти бесконечно. На v2.1.199 или позже он также повышает количество повторных попыток по умолчанию для других временных ошибок, таких как ошибки сервера, тайм-ауты и разорванные соединения, до 300, примерно три часа задержки, и удаляет ограничение 15 на `CLAUDE_CODE_MAX_RETRIES`, если вы явно установите эту переменную. |353| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ru/env-vars) | не установлено | Установите на `1` в автоматических сеансах, таких как задания CI, чтобы повторять ошибки пропускной способности `429` и `529` бесконечно вместо отказа после `CLAUDE_CODE_MAX_RETRIES` попыток. Claude Code отказывает сразу же при `429`, который сообщает о лимите расходов или исчерпанных кредитах использования, даже при одном из [gateway spend cap](#spend-limit-reached), который сбрасывается по расписанию. До v2.1.239 сторож повторял эти бесконечно. На v2.1.199 или позже он также повышает количество повторных попыток по умолчанию для других временных ошибок, таких как ошибки сервера, тайм-ауты и разорванные соединения, до 300, примерно три часа задержки, и удаляет ограничение 15 на `CLAUDE_CODE_MAX_RETRIES`, если вы явно установите эту переменную. Для запросов в режиме быстрого выполнения см. [Handle rate limits](/docs/ru/fast-mode#handle-rate-limits). |

331| [`API_TIMEOUT_MS`](/docs/ru/env-vars) | 600000 | Тайм-аут для каждого запроса в миллисекундах. Повысьте его для медленных сетей или прокси. Он также ограничивает, как долго Claude Code ждёт заголовков ответа, описано в [No response from API](#no-response-from-api). |354| [`API_TIMEOUT_MS`](/docs/ru/env-vars) | 600000 | Тайм-аут для каждого запроса в миллисекундах. Повысьте его для медленных сетей или прокси. Он также ограничивает, как долго Claude Code ждёт заголовков ответа, описано в [No response from API](#no-response-from-api). |

332| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ru/env-vars) | не установлено | Дедлайн в миллисекундах для первого байта ответа потокового запроса. Требуется Claude Code v2.1.242 или позже. Для того, как Claude Code выбирает дедлайн, когда это не установлено, см. [No response from API](#no-response-from-api). |355| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ru/env-vars) | не установлено | Дедлайн в миллисекундах для первого байта ответа потокового запроса. Требуется Claude Code v2.1.242 или позже. Для того, как Claude Code выбирает дедлайн, когда это не установлено, см. [No response from API](#no-response-from-api). |

333 356 


591Выбранная модель использует расширенное окно контекста с расширением 1M-токена, и ваш план включает его только через кредиты использования.614Выбранная модель использует расширенное окно контекста с расширением 1M-токена, и ваш план включает его только через кредиты использования.

592 615 

593```text theme={null}616```text theme={null}

594API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context617API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context

595```618```

596 619 

597Это проверка прав доступа, а не исчерпание квоты. Она срабатывает даже когда ваши лимиты сеанса и недели имеют оставшуюся ёмкость. См. [Extended context](/docs/ru/model-config#extended-context) для информации о том, какие планы включают контекст 1M напрямую и какие требуют кредитов использования. Claude Code выполняет эту проверку, когда вы выбираете модель с помощью `/model`, и только при прямом подключении к API Anthropic; если вы указываете `ANTHROPIC_BASE_URL` на [LLM gateway](/docs/ru/llm-gateway), `/model` позволяет выбрать `[1m]` и шлюз решает, будет ли запрос успешным.620Это проверка прав доступа, а не исчерпание квоты. Она срабатывает даже когда ваши лимиты сеанса и недели имеют оставшуюся ёмкость. См. [Extended context](/docs/ru/model-config#extended-context) для информации о том, какие планы включают контекст 1M напрямую и какие требуют кредитов использования. Claude Code выполняет эту проверку, когда вы выбираете модель с помощью `/model`, и только при прямом подключении к API Anthropic; если вы указываете `ANTHROPIC_BASE_URL` на [LLM gateway](/docs/ru/llm-gateway), `/model` позволяет выбрать `[1m]` и шлюз решает, будет ли запрос успешным.


601**Что делать:**624**Что делать:**

602 625 

603* Запустите `/model` и выберите вариант без суффикса `[1m]`, чтобы вернуться к стандартному окну контекста626* Запустите `/model` и выберите вариант без суффикса `[1m]`, чтобы вернуться к стандартному окну контекста

604* Где сообщение называет `/usage-credits`, запустите его, чтобы включить поэтапное выставление счётов для варианта 1M на Pro и Max, или запросить кредиты использования у администратора на Team и Enterprise627* Где сообщение называет `/usage-credits`, запустите его, чтобы включить поэтапное выставление счётов для варианта 1M на Pro и Max, или запросить кредиты использования у администратора на Team и Enterprise. Перезагрузите Claude Code после включения кредитов использования. До перезагрузки сеанс остаётся на стандартном лимите контекста.

605* Если ошибка сохраняется после `/model`, ID модели 1M может быть установлен в другом месте. См. [Setting your model](/docs/ru/model-config#setting-your-model) для проверки мест конфигурации в порядке приоритета.628* Если ошибка сохраняется после `/model`, ID модели 1M может быть установлен в другом месте. См. [Setting your model](/docs/ru/model-config#setting-your-model) для проверки мест конфигурации в порядке приоритета.

606* Чтобы полностью удалить варианты 1M из выбора модели, установите [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ru/env-vars)629* Чтобы полностью удалить варианты 1M из выбора модели, установите [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ru/env-vars)

607 630 

631До версии v2.1.268 сообщение заканчивалось на `run /usage-credits to turn them on, or /model to switch to standard context` и не упоминало перезагрузку.

632 

608<h3 id="the-prompt-to-confirm-went-unanswered">633<h3 id="the-prompt-to-confirm-went-unanswered">

609 The prompt to confirm went unanswered634 The prompt to confirm went unanswered

610</h3>635</h3>


776 Could not resolve authentication method801 Could not resolve authentication method

777</h3>802</h3>

778 803 

779Сеанс достиг клиента API без каких-либо учетных данных. [Background sessions](/docs/ru/agent-view) и облачные сеансы показывают это сообщение, когда рабочий процесс запускается без учетных данных. Интерактивные, `-p` и запуски Agent SDK сообщают о том же состоянии, что и [Not logged in](#not-logged-in), и записывают эту строку только в журнал отладки, поэтому если вы нашли ее там, следуйте этой записи вместо этого.804Сеанс достиг клиента API без каких-либо учетных данных. [Background sessions](/docs/ru/agent-view) и облачные сеансы показывают это сообщение, когда рабочий процесс запускается без учетных данных. Интерактивные, `-p` и запуски Agent SDK сообщают о том же состоянии, что и [Not logged in](#not-logged-in) и записывают эту строку только в журнал отладки, поэтому если вы нашли ее там, следуйте этой записи вместо этого.

780 805 

781```text theme={null}806```text theme={null}

782Could 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 omitted807Could 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


971 996 

972* Переменную поставщика `CLAUDE_CODE_USE_*`, такую как `CLAUDE_CODE_USE_BEDROCK` для [Amazon Bedrock](/docs/ru/amazon-bedrock) или `CLAUDE_CODE_USE_VERTEX` для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai)997* Переменную поставщика `CLAUDE_CODE_USE_*`, такую как `CLAUDE_CODE_USE_BEDROCK` для [Amazon Bedrock](/docs/ru/amazon-bedrock) или `CLAUDE_CODE_USE_VERTEX` для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai)

973* [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), указывающий на хост, отличный от `api.anthropic.com`, такой как [LLM gateway](/docs/ru/llm-gateway) или прокси, даже при входе с claude.ai; до v2.1.196 пользовательский базовый URL не блокировал Remote Control998* [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), указывающий на хост, отличный от `api.anthropic.com`, такой как [LLM gateway](/docs/ru/llm-gateway) или прокси, даже при входе с claude.ai; до v2.1.196 пользовательский базовый URL не блокировал Remote Control

999* `ANTHROPIC_UNIX_SOCKET` установлен, поэтому сеанс отправляет свои запросы через локальный сокет, а не на `api.anthropic.com`

974* Вход в корпоративный [cloud gateway](/docs/ru/claude-apps-gateway) через `/login`, который не поддерживает Remote Control и не имеет переменной для отмены установки1000* Вход в корпоративный [cloud gateway](/docs/ru/claude-apps-gateway) через `/login`, который не поддерживает Remote Control и не имеет переменной для отмены установки

975 1001 

976**Что делать:**1002**Что делать:**


1117 1143 

1118Сеансы, аутентифицированные с помощью ключа API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или поставщика третьей стороны, не используют сохраненный вход и никогда не видят это сообщение.1144Сеансы, аутентифицированные с помощью ключа API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или поставщика третьей стороны, не используют сохраненный вход и никогда не видят это сообщение.

1119 1145 

1120Вы можете проверить это состояние перед тем, как запрос завершится ошибкой: [`/status`](/docs/ru/commands) показывает строку `Login`, читающую `Expired — log in again`, плюс организацию и электронную почту, которые она сохранила для истекшего входа. Строка появляется только, когда сохраненный вход является вашим активным учетным данным и больше не может быть обновлен. Сеансы, аутентифицированные другим способом, не показывают строку, даже если истекший вход остается сохраненным. До v2.1.210 `/status` не давал никакого указания в этом состоянии, что вход когда-либо существовал, потому что очищенное учетное данное оставило ему нечего сообщать.1146Вы можете проверить это состояние перед тем, как запрос завершится ошибкой: [`/status`](/docs/ru/commands) показывает строку `Login`, читающую `Expired — log in again`, плюс организацию и электронную почту, которые она сохранила для истекшего входа. Строка появляется только, когда сохраненный вход является вашим активным учетным данным и больше не может быть обновлен. Сеансы, аутентифицированные другим способом, не показывают строку, даже если истекший вход остается сохраненным. До v2.1.210 `/status` не давал никакого указания в этом состоянии, что вход когда-либо существовал, потому что очищенное учетное данные оставило ему нечего сообщать.

1121 1147 

1122**Что делать:**1148**Что делать:**

1123 1149 


1125* В неинтерактивном режиме запустите `claude` в том же окружении, завершите `/login`, затем перезапустите вашу команду. Для автоматизации, которая не может войти интерактивно, аутентифицируйтесь с помощью `ANTHROPIC_API_KEY` или [generate a long-lived token with `claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token).1151* В неинтерактивном режиме запустите `claude` в том же окружении, завершите `/login`, затем перезапустите вашу команду. Для автоматизации, которая не может войти интерактивно, аутентифицируйтесь с помощью `ANTHROPIC_API_KEY` или [generate a long-lived token with `claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token).

1126* Если вход продолжает не удаваться, см. [Login and authentication](/docs/ru/troubleshoot-install#login-and-authentication)1152* Если вход продолжает не удаваться, см. [Login and authentication](/docs/ru/troubleshoot-install#login-and-authentication)

1127 1153 

1154<h3 id="claude-login-not-accepted">

1155 Claude login not accepted

1156</h3>

1157 

1158Вы попытались запустить [cloud session](/docs/ru/claude-code-on-the-web), и сервер отказался создать его с 401: он не принял вход Claude, который отправила эта машина, обычно потому, что вход истек или был отозван.

1159 

1160Первая часть строки — это собственная причина сервера, когда он дает одну. В противном случае строка читается:

1161 

1162```text theme={null}

1163Claude login not accepted · Run /login, then try again

1164```

1165 

1166**Что делать:**

1167 

1168* Запустите `/login`, завершите вход, затем запустите сеанс снова

1169 

1128<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1170<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1129 Administrator policy requires a Cloud gateway sign-in1171 Administrator policy requires a Cloud gateway sign-in

1130</h3>1172</h3>


1153 1195 

1154На v2.1.265 регрессия также показала первое сообщение в некоторых конфигурациях LLM-gateway и прокси, которые аутентифицируются с помощью ключа API, `apiKeyHelper` или пользовательских заголовков, даже без требования администратора на машине. Обновитесь до v2.1.266 или более поздней версии. Вам не нужно менять вашу конфигурацию.1196На v2.1.265 регрессия также показала первое сообщение в некоторых конфигурациях LLM-gateway и прокси, которые аутентифицируются с помощью ключа API, `apiKeyHelper` или пользовательских заголовков, даже без требования администратора на машине. Обновитесь до v2.1.266 или более поздней версии. Вам не нужно менять вашу конфигурацию.

1155 1197 

1156До v2.1.261 на машинах, которые установили `forceLoginMethod` на `"gateway"`, Claude Code использовал оставшийся сохраненный вход вместо того, чтобы завершить запросы модели ошибкой, и сообщал о настроенном учетном данном окружения с `This machine's managed settings require a first-party login` вместо сообщения при запуске. До v2.1.265 машина, чьи параметры управления установили только `forceLoginGatewayUrl`, не требовала входа шлюза, и Claude Code использовал оставшееся учетное данное там.1198До v2.1.261 на машинах, которые установили `forceLoginMethod` на `"gateway"`, Claude Code использовал оставшийся сохраненный вход вместо того, чтобы завершить запросы модели ошибкой, и сообщал о настроенном учетном данном окружения с `This machine's managed settings require a first-party login` вместо сообщения при запуске. До v2.1.265 машина, чьи параметры управления установили только `forceLoginGatewayUrl`, не требовала входа шлюза, и Claude Code использовал оставшееся учетное данные там.

1157 1199 

1158<h3 id="your-account-is-on-hold">1200<h3 id="your-account-is-on-hold">

1159 Your account is on hold1201 Your account is on hold


1177 Anthropic profile login expired1219 Anthropic profile login expired

1178</h3>1220</h3>

1179 1221 

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

1181 1223 

1182```text theme={null}1224```text theme={null}

1183Anthropic profile login expired · Re-authenticate your Anthropic profile1225Anthropic profile login expired · Re-authenticate your Anthropic profile

1184Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile1226Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile

1185```1227```

1186 1228 

1187Это появляется только, когда активное учетное данное поступает из профиля учетных данных Anthropic, который вы выбираете с переменной окружения `ANTHROPIC_PROFILE`, который Claude Code обнаруживает как активный профиль в вашем каталоге конфигурации Anthropic, или который Claude Code написал, когда вы [signed in without an API key](/docs/ru/authentication#sign-in-without-an-api-key). Сеансы, которые аутентифицируются с помощью опции claude.ai `/login`, ключа API, токена-носителя, такого как `ANTHROPIC_AUTH_TOKEN`, или поставщика третьей стороны, никогда не видят это сообщение.1229Это появляется только, когда активное учетное данные поступает из профиля учетных данных Anthropic, который вы выбираете с переменной окружения `ANTHROPIC_PROFILE`, который Claude Code обнаруживает как активный профиль в вашем каталоге конфигурации Anthropic, или который Claude Code написал, когда вы [signed in without an API key](/docs/ru/authentication#sign-in-without-an-api-key). Сеансы, которые аутентифицируются с помощью опции claude.ai `/login`, ключа API, токена-носителя, такого как `ANTHROPIC_AUTH_TOKEN`, или поставщика третьей стороны, никогда не видят это сообщение.

1188 1230 

1189На машине, которая [offers the keyless sign-in](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login`, выберите учетную запись Anthropic Console и войдите снова, чтобы обновить профиль, который написал вход без ключа Console или CLI Claude Platform `ant auth login`. Claude Code заменяет истекшее учетное данные в этом профиле. Для профиля федерации или профиля, созданного другим инструментом, `/login` не обновляет учетное данные. Какую форму вы видите, зависит от того, выбрали ли вы профиль или Claude Code его обнаружил:1231На машине, которая [offers the keyless sign-in](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login`, выберите учетную запись Anthropic Console и войдите снова, чтобы обновить профиль, который написал вход без ключа Console или CLI Claude Platform `ant auth login`. Claude Code заменяет истекшее учетные данные в этом профиле. Для профиля федерации или профиля, созданного другим инструментом, `/login` не обновляет учетные данные. Какую форму вы видите, зависит от того, выбрали ли вы профиль или Claude Code его обнаружил:

1190 1232 

1191* Когда вы явно установили `ANTHROPIC_PROFILE`, сообщение заканчивается с `Re-authenticate your Anthropic profile`.1233* Когда вы явно установили `ANTHROPIC_PROFILE`, сообщение заканчивается с `Re-authenticate your Anthropic profile`.

1192* Когда Claude Code обнаружил профиль из вашего каталога конфигурации, сообщение предлагает `/login`, потому что Claude Code дает рабочему `/login` приоритет над обнаруженным профилем и затем аутентифицируется с вашей учетной записью claude.ai или Console вместо этого. До v2.1.234 Claude Code показал форму `Re-authenticate your Anthropic profile` в этом случае тоже.1234* Когда Claude Code обнаружил профиль из вашего каталога конфигурации, сообщение предлагает `/login`, потому что Claude Code дает рабочему `/login` приоритет над обнаруженным профилем и затем аутентифицируется с вашей учетной записью claude.ai или Console вместо этого. До v2.1.234 Claude Code показал форму `Re-authenticate your Anthropic profile` в этом случае тоже.


1194**Что делать:**1236**Что делать:**

1195 1237 

1196* Войдите в профиль снова, затем повторите попытку: на машине, которая [offers the keyless sign-in](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login` и выберите учетную запись Anthropic Console для профиля, который написал вход без ключа Console или CLI Claude Platform `ant auth login`; для других профилей используйте инструмент, который их создал1238* Войдите в профиль снова, затем повторите попытку: на машине, которая [offers the keyless sign-in](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login` и выберите учетную запись Anthropic Console для профиля, который написал вход без ключа Console или CLI Claude Platform `ant auth login`; для других профилей используйте инструмент, который их создал

1197* Если администратор подготовил учетное данные профиля, попросите его выдать новое1239* Если администратор подготовил учетные данные профиля, попросите его выдать новое

1198* Запустите `/status`, чтобы подтвердить активный источник учетных данных и имя профиля1240* Запустите `/status`, чтобы подтвердить активный источник учетных данных и имя профиля

1199* Чтобы перестать использовать профиль, отмените установку `ANTHROPIC_PROFILE`, если вы его установили, затем аутентифицируйтесь другим способом, например `/login` или `ANTHROPIC_API_KEY`1241* Чтобы перестать использовать профиль, отмените установку `ANTHROPIC_PROFILE`, если вы его установили, затем аутентифицируйтесь другим способом, например `/login` или `ANTHROPIC_API_KEY`

1200 1242 


1229 1271 

1230До v2.1.222 Claude Code отметил соединитель как нуждающийся в аутентификации вместо этого, что указывал вас на поток авторизации соединителя, даже если завершение его не разрешало состояние.1272До v2.1.222 Claude Code отметил соединитель как нуждающийся в аутентификации вместо этого, что указывал вас на поток авторизации соединителя, даже если завершение его не разрешало состояние.

1231 1273 

1274<h3 id="mcp-server-needs-you-to-sign-in-again">

1275 MCP server needs you to sign in again

1276</h3>

1277 

1278Удаленный [MCP server](/docs/ru/mcp) отклонил учетные данные при вызове инструмента в середине сеанса, обычно потому, что вход или токен истек или потому, что токен не имеет разрешения, которое требует инструмент. Вызов инструмента завершается ошибкой, и `/mcp` отмечает сервер как [needing authentication](/docs/ru/mcp#authenticate-with-remote-mcp-servers).

1279 

1280Для сервера, на который вы входите из Claude Code, включая соединитель claude.ai, вход истек или был отозван:

1281 

1282```text theme={null}

1283MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)

1284```

1285 

1286Запустите `/mcp`, выберите сервер и войдите снова из его меню.

1287 

1288Для сервера, настроенного с помощью скрипта [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), Claude Code уже повторно запустил помощника и повторил вызов один раз перед отображением этого:

1289 

1290```text theme={null}

1291MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)

1292```

1293 

1294Проверьте, что помощник возвращает учетные данные, которые сервер принимает, затем переподключитесь из `/mcp`, который запускает помощника снова.

1295 

1296Для сервера со статическим заголовком `Authorization` в его конфигурации:

1297 

1298```text theme={null}

1299MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)

1300```

1301 

1302Обновите значение заголовка там, где сервер настроен, затем переподключитесь из `/mcp`.

1303 

1304До v2.1.273 все три случая показали `MCP server "<name>" requires re-authorization (token expired)`.

1305 

1306Сервер также может отказать вызову инструмента с HTTP 403 `insufficient_scope`, чтобы попросить вас авторизовать область, иногда ту, которую ваш токен уже указывает. Сообщение называет эту область:

1307 

1308```text theme={null}

1309MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate

1310```

1311 

1312Запустите `/mcp`, выберите сервер и аутентифицируйтесь снова из его меню.

1313 

1314Когда конфигурация сервера не устанавливает ни [`oauth.scopes`](/docs/ru/mcp#restrict-oauth-scopes), ни [`authServerMetadataUrl`](/docs/ru/mcp#override-oauth-metadata-discovery), Claude Code запрашивает область, которую назвал сервер. С любым параметром Claude Code запрашивает области этого параметра вместо этого. Если вы закрепили `oauth.scopes`, добавьте отсутствующую область в этот список перед повторной аутентификацией.

1315 

1316До v2.1.274 этот случай показал сообщение `needs you to sign in again`, и до v2.1.273 он показал `requires re-authorization (token expired)` как другие случаи.

1317 

1232<h3 id="issuer-mismatch-in-authorization-response">1318<h3 id="issuer-mismatch-in-authorization-response">

1233 Issuer mismatch in authorization response1319 Issuer mismatch in authorization response

1234</h3>1320</h3>


1253 AWS credentials expired or invalid1339 AWS credentials expired or invalid

1254</h3>1340</h3>

1255 1341 

1256Это сообщение требует Claude Code v2.1.198 или более поздней версии и появляется только, когда [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration) установлен в вашем файле параметров. Ваш токен сеанса AWS истек или был отклонен, и автоматическое обновление, которое Claude Code уже запустил, не произвело учетное данные, которое API принимает. Это появляется на 401 из [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [Mantle endpoint](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), что является тем, как эти поставщики сообщают об истекшем токене безопасности.1342Ваш токен сеанса AWS истек или был отклонен. Это сообщение появляется на 401 из [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [Mantle endpoint](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), что является тем, как эти поставщики сообщают об истекшем токене безопасности.

1257 1343 

1258Подсказка действия в середине называет команду `awsAuthRefresh` из ваших параметров, поэтому она варьируется. Стабильная часть — это ведущая `AWS credentials expired or invalid`:1344Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая `AWS credentials expired or invalid`:

1259 1345 

1260```text theme={null}1346```text theme={null}

1261AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...1347AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...

1262```1348```

1263 1349 

1264Без `awsAuthRefresh`, настроенного, то же 401 показывает общее сообщение `Please run /login` вместо этого, которое не может обновить учетные данные AWS.1350До v2.1.273 это сообщение появлялось только, когда `awsAuthRefresh` был настроен.

1265 1351 

1266**Что делать:**1352**Что делать:**

1267 1353 

1268* Запустите команду `awsAuthRefresh`, названную в сообщении, такую как `aws sso login --profile myprofile`, в другом терминале и завершите вход в браузер, затем повторите попытку1354* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором

1269* В интерактивном сеансе запустите `/login`, выберите **3rd-party platform**, затем выберите **Claude Platform on AWS · refresh credentials** под **Using 3rd-party platforms**, чтобы запустить ту же команду без перезапуска Claude Code. См. [Configure AWS credentials](/docs/ru/claude-platform-on-aws#1-configure-aws-credentials)1355* Если [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration) установлен, запустите команду, названную в сообщении, такую как `aws sso login --profile myprofile`, в другом терминале и завершите вход в браузер, затем повторите попытку. В противном случае обновите учетные данные AWS, которые вы используете сами: ваш вход SSO, ключи доступа, ключ API или токен прокси

1356* С `awsAuthRefresh`, установленным в интерактивном сеансе, вы можете вместо этого запустить `/login`, выбрать **3rd-party platform**, затем выбрать **Claude Platform on AWS · refresh credentials** под **Using 3rd-party platforms**, чтобы запустить ту же команду без перезапуска Claude Code. См. [Configure AWS credentials](/docs/ru/claude-platform-on-aws#1-configure-aws-credentials)

1270* Если ошибка повторяется после успешного выполнения команды обновления, подтвердите, что идентификатор действителен вне Claude Code с помощью `aws sts get-caller-identity` в той же оболочке и профиле1357* Если ошибка повторяется после успешного выполнения команды обновления, подтвердите, что идентификатор действителен вне Claude Code с помощью `aws sts get-caller-identity` в той же оболочке и профиле

1271 1358 

1272<h3 id="aws-authentication-failed">1359<h3 id="aws-authentication-failed">

1273 AWS authentication failed1360 AWS authentication failed

1274</h3>1361</h3>

1275 1362 

1276Это сообщение требует Claude Code v2.1.198 или более поздней версии и появляется только, когда [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration) установлен в вашем файле параметров. Ваш поставщик AWS вернул 403, или [Amazon Bedrock](/docs/ru/amazon-bedrock) вернул 401.1363Ваш поставщик AWS вернул 403, или [Amazon Bedrock](/docs/ru/amazon-bedrock) вернул 401.

1277 1364 

1278Claude Code не может сказать, какую причину вы попали. Amazon Bedrock сообщает об истекшем токене безопасности как 403, но 403 также является тем, как он сообщает об отказе в авторизации, такой как `AccessDeniedException` из отсутствующего разрешения IAM или модели, которая не включена для вашей учетной записи.1365Amazon Bedrock сообщает об истекшем токене безопасности как 403, но 403 также является тем, как он сообщает об отказе в авторизации, такой как `AccessDeniedException` из отсутствующего разрешения IAM. Claude Code не может различить эти две причины.

1279 1366 

1280401 из Amazon Bedrock также приземляется здесь, а не под [AWS credentials expired or invalid](#aws-credentials-expired-or-invalid), потому что Amazon Bedrock не сообщает об истекшем токене как 401. 401 из этой конечной точки обычно поступает из чего-то еще в пути запроса, такого как корпоративный прокси.1367401 из Amazon Bedrock также приземляется здесь, а не под [AWS credentials expired or invalid](#aws-credentials-expired-or-invalid), потому что Amazon Bedrock не сообщает об истекшем токене как 401. 401 из этой конечной точки обычно поступает из чего-то еще в пути запроса, такого как корпоративный прокси.

1281 1368 


1285AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...1372AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...

1286```1373```

1287 1374 

1288Подсказка действия в середине называет команду `awsAuthRefresh` из ваших параметров, поэтому она варьируется. Стабильная часть — это ведущая `AWS authentication failed`.1375Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая `AWS authentication failed`.

1376 

1377Когда 403 — это ответ Amazon Bedrock, что у вас нет доступа к модели с указанным ID модели, подсказка вместо этого говорит вам включить модель для вашей учетной записи и региона в консоли Amazon Bedrock.

1378 

1379До v2.1.273 это сообщение появлялось только, когда `awsAuthRefresh` был настроен.

1289 1380 

1290**Что делать:**1381**Что делать:**

1291 1382 

1292* Запустите команду `awsAuthRefresh`, названную в сообщении, или `aws sso login`, на случай, если истекшее учетное данные является причиной1383* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором

1384* Обновите ваши учетные данные AWS на случай, если истекшее учетное данные является причиной: запустите команду [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration), названную в сообщении, когда она установлена, или обновите ваш вход SSO, ключи доступа, ключ API или токен прокси сами

1293* Если ваши учетные данные текущие, подтвердите разрешения IAM в [IAM configuration](/docs/ru/amazon-bedrock#iam-configuration), прикреплены к идентификатору, который вы используете, и что выбранная модель включена для вашей учетной записи и региона1385* Если ваши учетные данные текущие, подтвердите разрешения IAM в [IAM configuration](/docs/ru/amazon-bedrock#iam-configuration), прикреплены к идентификатору, который вы используете, и что выбранная модель включена для вашей учетной записи и региона

1294* Запустите `aws sts get-caller-identity`, чтобы подтвердить, какой идентификатор используют ваши запросы; устаревший `AWS_PROFILE` или профиль по умолчанию — это частая причина несоответствия разрешений1386* Запустите `aws sts get-caller-identity`, чтобы подтвердить, какой идентификатор используют ваши запросы; устаревший `AWS_PROFILE` или профиль по умолчанию — это частая причина несоответствия разрешений

1295 1387 

1388<h3 id="google-cloud-credentials-expired-or-invalid">

1389 Google Cloud credentials expired or invalid

1390</h3>

1391 

1392Ваши учетные данные Google Cloud для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) истекли или были отклонены: запрос вернул 401, что является тем, как Agent Platform сообщает об истечении учетных данных.

1393 

1394Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая `Google Cloud credentials expired or invalid`:

1395 

1396```text theme={null}

1397Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...

1398```

1399 

1400**Что делать:**

1401 

1402* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором

1403* Если вы аутентифицируетесь с учетными данными приложения по умолчанию, запустите команду [`gcpAuthRefresh`](/docs/ru/google-vertex-ai#advanced-credential-configuration), названную в сообщении, или `gcloud auth application-default login`, и завершите вход, затем повторите попытку

1404* Если вы маршрутизируете через [LLM gateway](/docs/ru/llm-gateway) с установленным `CLAUDE_CODE_SKIP_VERTEX_AUTH`, обновите токен шлюза в `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_CUSTOM_HEADERS`, затем повторите попытку

1405* Если вы аутентифицируетесь с файлом ключа учетной записи обслуживания, подтвердите, что `GOOGLE_APPLICATION_CREDENTIALS` указывает на действительный ключ. См. [Configure GCP credentials](/docs/ru/google-vertex-ai#3-configure-gcp-credentials)

1406* Если ошибка повторяется после обновления, подтвердите, что идентификатор работает вне Claude Code с помощью `gcloud auth application-default print-access-token` в той же оболочке

1407 

1408До v2.1.273 401 из Agent Platform показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Google Cloud.

1409 

1410<h3 id="google-cloud-authentication-failed">

1411 Google Cloud authentication failed

1412</h3>

1413 

1414[Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) вернул 403, который он использует для отказов в авторизации, а не для истекших учетных данных. Обычно идентификатор, с которым вы аутентифицируетесь, отсутствует разрешение IAM, или модель не включена для вашего проекта.

1415 

1416Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая `Google Cloud authentication failed`:

1417 

1418```text theme={null}

1419Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...

1420```

1421 

1422**Что делать:**

1423 

1424* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором

1425* Подтвердите роли в [IAM configuration](/docs/ru/google-vertex-ai#iam-configuration), предоставлены идентификатору, с которым вы аутентифицируетесь

1426* Подтвердите, что модель включена для вашего проекта. См. [Request model access](/docs/ru/google-vertex-ai#2-request-model-access)

1427 

1428До v2.1.273 403 из Agent Platform показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Google Cloud.

1429 

1430<h3 id="microsoft-foundry-authentication-failed">

1431 Microsoft Foundry authentication failed

1432</h3>

1433 

1434[Microsoft Foundry](/docs/ru/microsoft-foundry) вернул 401 или 403: учетные данные Azure в запросе были отклонены, или идентификатор позади них не имеет доступа к ресурсу Foundry. `/login` не может создавать учетные данные Azure. Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая `Microsoft Foundry authentication failed`:

1435 

1436```text theme={null}

1437Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...

1438```

1439 

1440**Что делать:**

1441 

1442* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором

1443* Обновите учетные данные, которые вы настроили в [Configure Azure credentials](/docs/ru/microsoft-foundry#2-configure-azure-credentials): поверните `ANTHROPIC_FOUNDRY_API_KEY`, создайте свежий `ANTHROPIC_FOUNDRY_AUTH_TOKEN`, или запустите `az login`, чтобы цепь учетных данных Microsoft Entra по умолчанию могла войти снова

1444* Если учетные данные текущие, подтвердите, что идентификатор имеет доступ к ресурсу Foundry. См. [Azure RBAC configuration](/docs/ru/microsoft-foundry#azure-rbac-configuration)

1445 

1446До v2.1.273 401 или 403 из Microsoft Foundry показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Azure.

1447 

1296<h3 id="could-not-load-aws-or-google-cloud-credentials">1448<h3 id="could-not-load-aws-or-google-cloud-credentials">

1297 Could not load AWS or Google Cloud credentials1449 Could not load AWS or Google Cloud credentials

1298</h3>1450</h3>


1383* Запустите `/login` в сеансе и завершите вход в браузер1535* Запустите `/login` в сеансе и завершите вход в браузер

1384* Для неинтерактивного запуска запустите `claude` в том же окружении, запустите `/login`, затем перезапустите вашу команду1536* Для неинтерактивного запуска запустите `claude` в том же окружении, запустите `/login`, затем перезапустите вашу команду

1385 1537 

1538<h3 id="gateway-refused-the-request">

1539 Gateway refused the request

1540</h3>

1541 

1542Вы подписаны через [Claude apps gateway](/docs/ru/claude-apps-gateway), и запрос вернул 403: шлюз, или вышестоящий позади него, отказал в нем. Повторный вход не изменяет отказ, поэтому сообщение указывает на администратора вашего шлюза:

1543 

1544```text theme={null}

1545Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...

1546```

1547 

1548**Что делать:**

1549 

1550* Попросите администратора вашего шлюза посмотреть запрос. Хвост `API Error:` содержит отказ, который вернул шлюз

1551* Для администраторов: [access control rule](/docs/ru/claude-apps-gateway-config#http-tuning) на шлюзе возвращает 403, который [audit log](/docs/ru/claude-apps-gateway-deploy#logs) записывает с его причиной, и отказ авторизации вышестоящего проходит через [Upstream error messages](/docs/ru/claude-apps-gateway-config#upstream-error-messages)

1552 

1553До v2.1.273 403 на сеансе шлюза показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, и повторный вход не очистил отказ.

1554 

1386<h2 id="network-and-connection-errors">1555<h2 id="network-and-connection-errors">

1387 Ошибки сети и подключения1556 Ошибки сети и подключения

1388</h2>1557</h2>


1400Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)1569Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)

1401Can't reach the API server — check your internet or DNS (ENOTFOUND)1570Can't reach the API server — check your internet or DNS (ENOTFOUND)

1402No internet route — check your connection or VPN (EHOSTUNREACH)1571No internet route — check your connection or VPN (EHOSTUNREACH)

1403Couldn't connect through your proxy (ERR_PROXY_TUNNEL)1572Couldn't connect through your proxy (ERR_PROXY_TUNNEL) — the proxy refused the tunnel: check its credentials and that it allows this host

1404Connection dropped (ECONNRESET)1573Connection dropped (ECONNRESET)

1405fetch failed1574fetch failed

1406Request timed out. Check your internet connection and proxy settings1575Request timed out. Check your internet connection and proxy settings


1478После этого открытия сообщение сообщает, что вернулось и какой запрос не удался:1647После этого открытия сообщение сообщает, что вернулось и какой запрос не удался:

1479 1648 

1480* Предложение `Response:` с типом содержимого, типом тела, таким как `body is an HTML page` или `empty body`, его размером в байтах и наличием ли в ответе идентификатора запроса Anthropic. Когда ответ указывает на узнаваемый сервер, такой как `nginx` или `cloudflare`, или содержит заголовки промежуточного звена, такие как `cf-ray` или `via`, предложение также их перечисляет.1649* Предложение `Response:` с типом содержимого, типом тела, таким как `body is an HTML page` или `empty body`, его размером в байтах и наличием ли в ответе идентификатора запроса Anthropic. Когда ответ указывает на узнаваемый сервер, такой как `nginx` или `cloudflare`, или содержит заголовки промежуточного звена, такие как `cf-ray` или `via`, предложение также их перечисляет.

1481* Предложение, указывающее идентификатор неудачного потокового запроса и сбой, который вызвал повторную попытку. Когда поток открылся до сбоя, он также сообщает, сколько событий потока прибыло и, если какие-то прибыли, как долго поток молчал, когда попытка не удалась.1650* Предложение, указывающее идентификатор неудачного потокового запроса и сбой, который вызвал повторную попытку. Когда поток открылся до сбоя, оно также сообщает, сколько событий потока прибыло и, если какие-то прибыли, как долго поток молчал, когда попытка не удалась.

1482 1651 

1483До версии v2.1.234 сообщение заканчивалось после `intercepting the request`.1652До версии v2.1.234 сообщение заканчивалось после `intercepting the request`.

1484 1653 

1654До версии v2.1.271 ответ, который нёс действительное сообщение API под типом содержимого, отличным от JSON, таким как `text/plain`, также заканчивал ход этой ошибкой. Некоторые шлюзы LLM используют этот тип содержимого для ответа без потока.

1655 

1485**Что делать:**1656**Что делать:**

1486 1657 

1487* Прочитайте предложение `Response:`, чтобы увидеть, какая система ответила. HTML-тело, отсутствие идентификатора запроса Anthropic или названный сервер, такой как `nginx` или `cloudflare`, означает, что что-то между Claude Code и API ответило вместо него1658* Прочитайте предложение `Response:`, чтобы увидеть, какая система ответила. HTML-тело, отсутствие идентификатора запроса Anthropic или названный сервер, такой как `nginx` или `cloudflare`, означает, что что-то между Claude Code и API ответило вместо него


1530Прокси или устройство безопасности в вашей сети перехватывает трафик TLS со своим собственным сертификатом, и Claude Code ему не доверяет.1701Прокси или устройство безопасности в вашей сети перехватывает трафик TLS со своим собственным сертификатом, и Claude Code ему не доверяет.

1531 1702 

1532```text theme={null}1703```text theme={null}

1533Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates1704Unable to connect to API: SSL certificate verification failed (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config

1534Unable to connect to API: Self-signed certificate detected. Check your proxy or corporate SSL certificates1705Unable to connect to API: Self-signed certificate detected (SELF_SIGNED_CERT_IN_CHAIN). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config

1535```1706```

1536 1707 

1708До версии v2.1.273 оба сообщения заканчивались на `Check your proxy or corporate SSL certificates`, без кода OpenSSL или подсказки `NODE_EXTRA_CA_CERTS`.

1709 

1537Начиная с версии v2.1.199, сбой проверки сертификата не повторяется, поэтому эта ошибка появляется при первой попытке вместо того, чтобы появиться после полного [retry budget](#automatic-retries). Более ранние версии потратили несколько минут на повторные попытки перед её отображением. Переходящие условия TLS, такие как тайм-аут рукопожатия, всё ещё повторяются.1710Начиная с версии v2.1.199, сбой проверки сертификата не повторяется, поэтому эта ошибка появляется при первой попытке вместо того, чтобы появиться после полного [retry budget](#automatic-retries). Более ранние версии потратили несколько минут на повторные попытки перед её отображением. Переходящие условия TLS, такие как тайм-аут рукопожатия, всё ещё повторяются.

1538 1711 

1539Во время `/login` и проверки подключения при запуске тот же сбой сообщается с кодом OpenSSL и исправлением в строке:1712Во время `/login` и проверки подключения при запуске тот же сбой производит другое сообщение:

1540 1713 

1541```text theme={null}1714```text theme={null}

1542SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run `claude doctor` for details.1715SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run `claude doctor` for details.


1714 1887 

1715Сначала разрешите названную ошибку; `/compact` завершается с той же ошибкой, пока вы этого не сделаете. До версии 2.1.229 неудачное автоматическое компактирование выводило `Prompt is too long` без указания причины.1888Сначала разрешите названную ошибку; `/compact` завершается с той же ошибкой, пока вы этого не сделаете. До версии 2.1.229 неудачное автоматическое компактирование выводило `Prompt is too long` без указания причины.

1716 1889 

1890Когда автоматическое компактирование выполняется на этой ошибке, оно обычно суммирует ваши самые старые обмены и сохраняет самые новые. В качестве последней меры Claude Code суммирует иначе:

1891 

1892* Когда он не может суммировать какой-либо целый обмен, Claude Code сохраняет ваш самый новый prompt слово в слово и суммирует всё перед ним.

1893* В этом случае, когда разговор не заканчивается вашим prompt, Claude Code суммирует весь разговор вместо этого.

1894 

1895Claude Code пропускает это восстановление, когда содержимое, которое оно должно было бы перенести, не содержит ответа модели и менее примерно 1000 токенов вашего собственного текста, такого как короткий повтор, отправленный после чрезмерно большой вставки. Запустите `/clear` для начала заново. До версии 2.1.269 компактирование завершалось с ошибкой всякий раз, когда оно не могло суммировать целый обмен, поэтому сеанс в этом состоянии получал эту ошибку снова на каждом ходу.

1896 

1717Однооборотный разговор не имеет более ранних ходов для суммирования. Когда автоматическое компактирование должно было выполниться на одном, Claude Code пропускает попытку и объясняет, что заполняет запрос. Когда API не сообщает количество токенов в своей ошибке, сообщение читается:1897Однооборотный разговор не имеет более ранних ходов для суммирования. Когда автоматическое компактирование должно было выполниться на одном, Claude Code пропускает попытку и объясняет, что заполняет запрос. Когда API не сообщает количество токенов в своей ошибке, сообщение читается:

1718 1898 

1719```text theme={null}1899```text theme={null}


1736 1916 

1737**Что делать:**1917**Что делать:**

1738 1918 

1739* В многооборотном разговоре запустите `/compact` для суммирования более ранних ходов и освобождения места, или `/clear` для начала заново. Однооборотный разговор не может быть компактирован, поэтому вместо этого уменьшите размер запроса1919* Запустите `/compact` для суммирования более ранних ходов и освобождения места, или `/clear` для начала заново. Если `/compact` ответит `Not enough messages to compact.`, разговор — это однооборотный обмен без более ранних ходов для суммирования, поэтому место занято этим одним prompt и тем, что Claude Code отправляет с каждым запросом: запустите `/clear` и отправьте заново с меньшим вставленным текстом или меньшими вложениями, или уменьшите определения инструментов и файлы памяти, используя шаги ниже

1740* Запустите `/context` для просмотра разбивки того, что потребляет окно: системный prompt, инструменты, файлы памяти и сообщения1920* Запустите `/context` для просмотра разбивки того, что потребляет окно: системный prompt, инструменты, файлы памяти и сообщения

1741* Отключите MCP серверы, которые вы не используете, с помощью `/mcp disable <имя>` для удаления их определений инструментов из контекста1921* Отключите MCP серверы, которые вы не используете, с помощью `/mcp disable <имя>` для удаления их определений инструментов из контекста

1742* Обрежьте большие файлы памяти `CLAUDE.md` или переместите инструкции в [правила с областью действия пути](/docs/ru/memory#path-specific-rules), которые загружаются только при необходимости1922* Обрежьте большие файлы памяти `CLAUDE.md` или переместите инструкции в [правила с областью действия пути](/docs/ru/memory#path-specific-rules), которые загружаются только при необходимости


2019 Model is restricted by your organization's settings2199 Model is restricted by your organization's settings

2020</h3>2200</h3>

2021 2201 

2022Администратор вашей организации отключил эту модель в консоли администратора claude.ai, или она исключена списком разрешений [`availableModels`](/docs/ru/model-config#restrict-model-selection) в управляемых настройках. Когда ограниченная модель была установлена с `--model`, `ANTHROPIC_MODEL` или настройкой `model`, Claude Code подставляет разрешённую модель и продолжает. Ввод `/model <имя>` для ограниченной модели отклоняется с `Run /model to choose a different model.` и сеанс сохраняет свою текущую модель.2202Администратор вашей организации отключил эту модель в консоли администратора claude.ai, или она исключена списком разрешений [`availableModels`](/docs/ru/model-config#restrict-model-selection) в управляемых настройках. Когда ограниченная модель была установлена с `--model`, `ANTHROPIC_MODEL` или настройкой `model`, Claude Code подставляет разрешённую модель и продолжает. Ввод `/model <имя>` для ограниченной модели отклоняется с `Run /model to choose a different model.` и сеанс сохраняет свою текущую модель. Уведомление о подстановке также может появиться в середине сеанса после того, как администратор отключит модель, на которой работает сеанс, в консоли администратора claude.ai.

2023 2203 

2024```text theme={null}2204```text theme={null}

2025Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.2205Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.


2303 Облачные сеансы не могут быть созданы из сеанса --restricted2483 Облачные сеансы не могут быть созданы из сеанса --restricted

2304</h3>2484</h3>

2305 2485 

2306Когда вы запускаете сеанс с [`--restricted`](/docs/ru/cli-reference#cli-flags), Claude Code отказывается создавать [облачные сеансы](/docs/ru/claude-code-on-the-web#from-terminal-to-web) из него, потому что новый сеанс будет работать вне ограниченного процесса и не будет применять ограниченный режим. Claude Code отказывает на клиенте, перед контактом с сервером, поэтому облачный сеанс не создаётся:2486Когда вы запускаете сеанс с [`--restricted`](/docs/ru/cli-reference#cli-flags), Claude Code отказывается создавать [облачные сеансы](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) из него, потому что новый сеанс будет работать вне ограниченного процесса и не будет применять ограниченный режим. Claude Code отказывает на клиенте, перед контактом с сервером, поэтому облачный сеанс не создаётся:

2307 2487 

2308```text theme={null}2488```text theme={null}

2309Cloud sessions cannot be created from a --restricted session: they would not enforce it.2489Cloud sessions cannot be created from a --restricted session: they would not enforce it.


2316 2496 

2317До версии 2.1.248 Claude Code не имел флага `--restricted`; более ранние версии отклоняют сам флаг с ошибкой неизвестного параметра.2497До версии 2.1.248 Claude Code не имел флага `--restricted`; более ранние версии отклоняют сам флаг с ошибкой неизвестного параметра.

2318 2498 

2499<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

2500 Облачные сеансы отключены политикой вашей организации

2501</h3>

2502 

2503Политика `allow_remote_sessions` вашей организации отключена, поэтому [облачные сеансы](/docs/ru/claude-code-on-the-web) и команды, которые их используют, недоступны:

2504 

2505```text theme={null}

2506Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

2507```

2508 

2509Сообщение появляется, когда вы [создаёте облачный сеанс из терминала](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) и когда вы отправляете команду, которая требует облачные сеансы, такие как `/teleport`, `/remote-env` или `/web-setup`. До версии 2.1.268 отправка одной из этих команд возвращала [`Unknown command`](#unknown-command) вместо этого.

2510 

2511Это политика организации на стороне сервера, поэтому её нельзя переопределить из локальных параметров, переменных окружения или флагов CLI.

2512 

2513Если Claude Code ещё не загрузил политику вашей организации или не может её получить, эти команды отвечают `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` вместо этого.

2514 

2515**Что делать:**

2516 

2517* Попросите [Owner](/docs/ru/server-managed-settings#access-control) в вашей организации включить облачные сеансы в параметрах администратора Claude Code на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

2518* Если сообщение говорит, что оно не смогло проверить политику, проверьте подключение к сети, затем перезагрузите Claude Code и попробуйте снова

2519 

2319<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2520<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

2320 Значение --json-schema не является действительной JSON Schema2521 Значение --json-schema не является действительной JSON Schema

2321</h3>2522</h3>


2592* Если другой программе постоянно нужен этот порт, зарегистрируйте другой URI перенаправления на сервере и установите его порт с помощью `MCP_OAUTH_CALLBACK_PORT` или `--callback-port`, в зависимости от того, что вы используете2793* Если другой программе постоянно нужен этот порт, зарегистрируйте другой URI перенаправления на сервере и установите его порт с помощью `MCP_OAUTH_CALLBACK_PORT` или `--callback-port`, в зависимости от того, что вы используете

2593* Затем запустите вход снова, например выбрав сервер в `/mcp`2794* Затем запустите вход снова, например выбрав сервер в `/mcp`

2594 2795 

2796<h3 id="no-available-ports-for-oauth-redirect">

2797 Нет доступных портов для перенаправления OAuth

2798</h3>

2799 

2800Когда вы входите на удалённый сервер MCP с помощью [OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers), Claude Code запускает локальный слушатель для получения обратного вызова входа. Вход не удаётся с этим сообщением, когда Claude Code не может привязать локальный порт для него. Что-то на машине препятствует прослушиванию на `127.0.0.1`, например программное обеспечение безопасности или политика песочницы, которая запрещает локальные слушатели.

2801 

2802```text theme={null}

2803No available ports for OAuth redirect

2804```

2805 

2806До версии 2.1.268 Claude Code не переходил на порт, назначенный операционной системой, поэтому сообщение также появлялось, когда только его самостоятельно выбранные порты не могли быть привязаны. Это может произойти на хостах Windows, где Hyper-V резервирует диапазоны портов, которые охватывают порты, которые Claude Code выбирает.

2807 

2808**Что делать:**

2809 

2810* Проверьте, блокирует ли программное обеспечение безопасности или политика песочницы процессы от прослушивания на `127.0.0.1`, и разрешите Claude Code привязать локальный порт

2811* Затем запустите вход снова, например выбрав сервер в `/mcp`

2812 

2595<h3 id="security-review-fails-without-origin-head">2813<h3 id="security-review-fails-without-origin-head">

2596 /security-review не работает без origin/HEAD2814 /security-review не работает без origin/HEAD

2597</h3>2815</h3>


2605'git <command> [<revision>...] -- [<file>...]'2823'git <command> [<revision>...] -- [<file>...]'

2606```2824```

2607 2825 

2608Цитируемая команда варьируется между запусками: обзор запускает несколько команд `git` против `origin/HEAD` одновременно и сообщает, какая не работает первой, поэтому вы можете увидеть `git log` или другой `git diff` на его месте. Git создаёт ссылку только когда стандартная ветка удалённого как объявлена удалённым, так и охвачена вашей спецификацией получения. Полный `git clone` удалённого с коммитами соответствует обоим условиям. Получение одной ветки и получение CI имеют слишком узкую спецификацию, HEAD на стороне сервера, указывающий на ветку, которую никто не отправил, не объявляет стандартную, и репозиторий без удалённого `origin` или того, из которого вы никогда не получали, не предоставляет ни того, ни другого.2826Сообщение может цитировать `git log` или другой `git diff` вместо этого. Git создаёт `origin/HEAD` только когда удалённый объявляет стандартную ветку и ваша спецификация получения её охватывает, что полный `git clone` удалённого с коммитами делает. Ссылка отсутствует в этих установках:

2609 2827 

2610Claude Code показывает ту же ошибку для любого skill, который [внедряет динамический контекст](/docs/ru/skills#when-an-injected-command-fails). Неудачная внедрённая команда прерывает вызов этого skill. Две соседние строки срабатывают перед запуском команды вообще:2828* Получение одной ветки или получение CI, которое получает слишком узкую спецификацию

2829* Удалённый, чей HEAD на стороне сервера указывает на ветку, которую никто не отправил

2830* Репозиторий без удалённого `origin` или того, из которого вы никогда не получали

2611 2831 

2612* `Shell command permission check failed for pattern "..."`: проверка разрешения команды вернула что-то другое, чем разрешение. Внедрённые команды никогда не запрашивают, поэтому вызов прерывается без вопроса. Предварительно одобрите команды, которые не соответствуют никакому правилу, с помощью [`allowed-tools`](/docs/ru/skills#pre-approve-tools-for-a-skill). Соответствующее правило ask или deny всё ещё прерывает вызов независимо от `allowed-tools`2832Claude Code показывает ту же ошибку для любого skill, который [внедряет динамический контекст](/docs/ru/skills#when-an-injected-command-fails), и неудачная внедрённая команда прерывает вызов этого skill. Две соседние строки срабатывают перед запуском команды вообще:

2833 

2834* `Shell command permission check failed for pattern "..."`: проверка разрешения команды не разрешила её. [Permission checks on injected commands](/docs/ru/skills#permission-checks-on-injected-commands) охватывает, какие результаты прерывают в каждом режиме разрешений и как предварительно одобрить команду с помощью `allowed-tools`

2613* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter skill требует bash на машине без него. Установите Git для Windows или измените frontmatter на `shell: powershell`. См. [How injected commands run](/docs/ru/skills#how-injected-commands-run)2835* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter skill требует bash на машине без него. Установите Git для Windows или измените frontmatter на `shell: powershell`. См. [How injected commands run](/docs/ru/skills#how-injected-commands-run)

2614 2836 

2615**Что делать:**2837**Что делать:**


2669 Неизвестная команда2891 Неизвестная команда

2670</h3>2892</h3>

2671 2893 

2672Вы отправили имя `/`, которое не соответствует никакой команде в этом сеансе, поэтому Claude Code сообщает имя вместо запуска чего-либо:2894В интерактивном сеансе терминала вы отправили имя `/`, которое не соответствует никакой команде в этом сеансе, поэтому Claude Code сообщает имя вместо запуска чего-либо:

2673 2895 

2674```text theme={null}2896```text theme={null}

2675Unknown command: /hepl. Did you mean /help?2897Unknown command: /hepl. Did you mean /help?


2678Claude Code предлагает ближайшее имя команды или псевдоним, который меню перечисляет в этом сеансе. Когда ничего не близко, сообщение заканчивается после имени. Причина обычно одна из следующих:2900Claude Code предлагает ближайшее имя команды или псевдоним, который меню перечисляет в этом сеансе. Когда ничего не близко, сообщение заканчивается после имени. Причина обычно одна из следующих:

2679 2901 

2680* Опечатка, такая как `/hepl` для `/help`. [How the command menu matches what you type](/docs/ru/commands#how-the-command-menu-matches-what-you-type) охватывает выбор близкого совпадения перед отправкой2902* Опечатка, такая как `/hepl` для `/help`. [How the command menu matches what you type](/docs/ru/commands#how-the-command-menu-matches-what-you-type) охватывает выбор близкого совпадения перед отправкой

2681* Команда, которая существует, но недоступна в этом сеансе, потому что требование не выполнено, такое как ваша платформа, план или метод аутентификации. Записи устранения неполадок для [`/web-setup`](/docs/ru/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) и [`/schedule`](/docs/ru/routines#schedule-returns-unknown-command) проходят через два распространённых случая. Некоторые команды отвечают своим собственным сообщением, когда политика вашей организации их отключает2903* Команда, которая существует, но недоступна в этом сеансе, потому что требование не выполнено, такое как ваша платформа, план или метод аутентификации. Записи устранения неполадок для [`/web-setup`](/docs/ru/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) и [`/schedule`](/docs/ru/routines#schedule-returns-unknown-command) проходят через два распространённых случая. Некоторые команды отвечают своим собственным сообщением, когда политика вашей организации их отключает, такие как [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)

2682* Команда из [плагина](/docs/ru/plugins) или [сервера MCP](/docs/ru/mcp#use-mcp-prompts-as-commands), который не установлен или не подключен в этом сеансе2904* Команда из [плагина](/docs/ru/plugins) или [сервера MCP](/docs/ru/mcp#use-mcp-prompts-as-commands), который не установлен или не подключен в этом сеансе

2683 2905 

2906Claude Code отвечает на несовпадающее имя `/` этим способом только в интерактивном сеансе терминала. Во всех остальных сеансах он отправляет приглашение Claude как обычное сообщение вместо этого, с примечанием, что команда не запустилась и список команд, которые Claude может запустить в сеансе. Эти сеансы включают:

2907 

2908* Запуски `-p`

2909* Приложения [Agent SDK](/docs/ru/agent-sdk/overview)

2910* Вкладка Code [Desktop app](/docs/ru/desktop)

2911* Панель чата [VS Code extension](/docs/ru/vs-code)

2912* [Облачные сеансы](/docs/ru/claude-code-on-the-web) и [рутины](/docs/ru/routines)

2913 

2914Для встроенной команды, которая не может работать в одном из этих сеансов, Claude Code всё ещё отвечает, что команда недоступна вместо отправки её Claude. До версии 2.1.274 только облачные сеансы и рутины отправляли несовпадающее имя Claude. До версии 2.1.273 они также отвечали `Unknown command`.

2915 

2684Claude Code не рассматривает каждое приглашение, которое начинается с `/`, как команду. Он отправляет приглашение Claude как обычное сообщение, когда первое слово после `/` начинается с пунктуации, такой как `/--`, который открывает комментарий документа Lean, или является путём, такой как `/var/log/syslog`.2916Claude Code не рассматривает каждое приглашение, которое начинается с `/`, как команду. Он отправляет приглашение Claude как обычное сообщение, когда первое слово после `/` начинается с пунктуации, такой как `/--`, который открывает комментарий документа Lean, или является путём, такой как `/var/log/syslog`.

2685 2917 

2686До версии 2.1.236, если вы нажали `Enter`, пока меню команд перечисляло близкое совпадение для имени, которое вы ввели, Claude Code запускал это совпадение, поэтому опечатка, такая как `/hepl`, запускала `/help` вместо выдачи этого сообщения.2918До версии 2.1.236, если вы нажали `Enter`, пока меню команд перечисляло близкое совпадение для имени, которое вы ввели, Claude Code запускал это совпадение, поэтому опечатка, такая как `/hepl`, запускала `/help` вместо выдачи этого сообщения.


2799 3031 

2800До версии 2.1.251 Claude Code заканчивал сообщение с `Please set up GitHub on https://claude.ai/code` даже когда проверка GitHub не прошла только временно, и совет по настройке не может очистить временный отказ.3032До версии 2.1.251 Claude Code заканчивал сообщение с `Please set up GitHub on https://claude.ai/code` даже когда проверка GitHub не прошла только временно, и совет по настройке не может очистить временный отказ.

2801 3033 

3034<h3 id="github-isnt-connected-to-your-claude-account">

3035 GitHub не подключён к вашей учётной записи Claude

3036</h3>

3037 

3038Вы запустили [облачный сеанс](/docs/ru/claude-code-on-the-web) из вашего локального репозитория, например с помощью `/autofix-pr`. Ни одна учётная запись GitHub не подключена к вашей учётной записи Claude, или соединение истекло, поэтому Claude Code отказывает запуск:

3039 

3040```text theme={null}

3041GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github

3042```

3043 

3044Когда вы создаёте рутину с помощью [`/schedule`](/docs/ru/routines), то же сообщение появляется как примечание настройки, которое указывает репозиторий; примечание не блокирует создание рутины.

3045 

3046**Что делать:**

3047 

3048* Запустите `/web-setup` для подключения вашего входа GitHub CLI к вашей учётной записи Claude или подключите учётную запись на [claude.ai/connect-github](https://claude.ai/connect-github). См. [GitHub authentication options](/docs/ru/claude-code-on-the-web#github-authentication-options) для того, как они отличаются.

3049* Повторно запустите команду через минуту после подключения

3050 

3051До версии 2.1.268 Claude Code сообщал об этом как о временном отказе проверки Claude GitHub App и предлагал повторить попытку или установить приложение; ни то, ни другое не подключает учётную запись GitHub.

3052 

3053<h3 id="single-sign-on-authorization-needed">

3054 Требуется авторизация единого входа

3055</h3>

3056 

3057Вы запустили [`/install-github-app`](/docs/ru/github-actions#quick-setup) и выбрали репозиторий, организация которого применяет единый вход SAML. Перед настройкой Claude Code проверяет ваш доступ к репозиторию с помощью GitHub CLI, и GitHub отказал эту проверку, потому что ваш токен `gh` ещё не авторизован для организации. Мастер показывает предупреждение с шагами для авторизации:

3058 

3059```text theme={null}

3060Single sign-on authorization needed

3061<owner>/<repo> belongs to an organization that enforces SAML single sign-on, and your GitHub CLI token isn't authorized for it yet.

3062```

3063 

3064**Что делать:**

3065 

3066* Повторно авторизуйте ваш вход GitHub CLI с областями `repo` и `workflow`, запустив `gh auth refresh -h github.com -s repo,workflow`, и авторизуйте организацию, когда GitHub запросит единый вход

3067* Если вы аутентифицируетесь с личным токеном доступа в `GH_TOKEN`, откройте [github.com/settings/tokens](https://github.com/settings/tokens), выберите **Configure SSO** на токене и авторизуйте организацию

3068* Запустите `/install-github-app` снова

3069 

3070До версии 2.1.273 Claude Code показывал предупреждение `Admin permissions required` для этого условия вместо этого.

3071 

2802<h3 id="failed-to-resume-the-conversation">3072<h3 id="failed-to-resume-the-conversation">

2803 Не удалось возобновить разговор3073 Не удалось возобновить разговор

2804</h3>3074</h3>


2909 3179 

2910* Запустите `/skill-doctor` в терминале на машине, где работает сеанс, или запустите `claude -p "/skill-doctor"` там3180* Запустите `/skill-doctor` в терминале на машине, где работает сеанс, или запустите `claude -p "/skill-doctor"` там

2911 3181 

3182<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

3183 Пользовательские стили вывода не могут быть выбраны через Remote Control

3184</h3>

3185 

3186Вы запустили [`/output-style`](/docs/ru/output-styles#change-your-output-style) из мобильного приложения или веб-версии через [Remote Control](/docs/ru/remote-control), или команда пришла в сообщении, переданном в сеанс. Потому что такой ход может не поступить от владельца учётной записи, Claude Code перечисляет и выбирает только [встроенные стили](/docs/ru/output-styles#built-in-output-styles) на нём и добавляет это уведомление всякий раз, когда команда перечисляет стили или не распознаёт имя, которое вы дали. Имя [пользовательского стиля](/docs/ru/output-styles#create-a-custom-output-style) получает тот же ответ, что и имя, которое не существует:

3187 

3188```text theme={null}

3189Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.

3190```

3191 

3192**Что делать:**

3193 

3194* Выберите встроенный стиль, например `/output-style concise`

3195* Чтобы использовать пользовательский стиль, установите [`outputStyle`](/docs/ru/settings-reference#outputstyle) в `.claude/settings.local.json` проекта или запустите `/output-style <style>` в собственном терминале сеанса, если он у него есть

3196 

3197<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3198 Стили вывода сохраняются в локальные параметры, которые этот сеанс не загружает

3199</h3>

3200 

3201Вы попытались переключить [стили вывода](/docs/ru/output-styles) с помощью `/output-style <style>` или `/config outputStyle=<style>` в сеансе, чьи источники параметров исключают `local`. Примеры — сеанс [Agent SDK](/docs/ru/agent-sdk/typescript), чьи [`settingSources`](/docs/ru/agent-sdk/typescript#options) оставляют `"local"` и сеанс CLI, запущенный с [`--setting-sources`](/docs/ru/cli-reference#cli-flags) значением, которое оставляет `local`. Обе команды сохраняют стиль в `.claude/settings.local.json`, файл, который такой сеанс никогда не читает обратно, поэтому Claude Code отказывает вместо записи параметра, который не будет иметь никакого эффекта:

3202 

3203```text theme={null}

3204Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.

3205```

3206 

3207**Что делать:**

3208 

3209* Добавьте `local` к источникам параметров сеанса и переключитесь снова

3210* Установите ключ [`outputStyle`](/docs/ru/settings-reference#outputstyle) в файле параметров, который сеанс загружает, такой как `.claude/settings.json` в проекте или `~/.claude/settings.json`. В TypeScript SDK установите `outputStyle` внутри встроенного объекта `settings` вместо этого; см. [Activate an output style](/docs/ru/agent-sdk/modifying-system-prompts#activate-an-output-style)

3211 

2912<h2 id="plugin-errors">3212<h2 id="plugin-errors">

2913 Ошибки плагинов3213 Ошибки плагинов

2914</h2>3214</h2>

2915 3215 

2916Эти ошибки возникают из [конфигурации плагинов](/docs/ru/plugins) и [маркетплейса](/docs/ru/plugin-marketplaces). Для проблем с плагинами, которые не выдают одно из сообщений на этой странице, например маркетплейс, который не загружается, или плагин, который устанавливается, но не отображается, см. [Устранение неполадок плагинов](/docs/ru/discover-plugins#troubleshooting).3216Эти ошибки возникают из [конфигурации плагинов](/docs/ru/plugins) и [конфигурации маркетплейса](/docs/ru/plugin-marketplaces). Для проблем с плагинами, которые не выдают одно из сообщений на этой странице, например маркетплейс, который не загружается, или плагин, который устанавливается, но не отображается, см. [Устранение неполадок плагинов](/docs/ru/discover-plugins#troubleshooting).

2917 3217 

2918<h3 id="plugin-eval-is-currently-in-early-access">3218<h3 id="plugin-eval-is-currently-in-early-access">

2919 plugin eval is currently in early access3219 plugin eval is currently in early access

2920</h3>3220</h3>

2921 3221 

2922Вы запустили [`claude plugin eval`](/docs/ru/plugin-evals) или `claude plugin eval init`, и он завершился с кодом 1 с одним из этих сообщений перед выполнением чего-либо:3222Вы запустили [`claude plugin eval`](/docs/ru/plugin-evals) или `claude plugin eval init`, и команда завершилась с кодом 1 с одним из этих сообщений перед выполнением каких-либо действий:

2923 3223 

2924```text theme={null}3224```text theme={null}

2925`plugin eval` is currently in early access3225`plugin eval` is currently in early access


2929`plugin eval` is currently unavailable3229`plugin eval` is currently unavailable

2930```3230```

2931 3231 

2932Первое сообщение означает, что ваша сборка старше v2.1.269, первой версии, где команда общедоступна. Второе означает, что Anthropic отключила команду на стороне сервера; ничто на вашей машине не включит её обратно.3232Первое сообщение означает, что ваша сборка старше v2.1.269, первой версии, где команда общедоступна. Второе означает, что Anthropic отключила команду на стороне сервера; ничто на вашем компьютере не включит её обратно.

2933 3233 

2934**Что делать:**3234**Что делать:**

2935 3235 

2936* Запустите `claude --version`, затем `claude update`, и запустите команду снова в новом сеансе. См. [требования для plugin evals](/docs/ru/plugin-evals#requirements)3236* Запустите `claude --version`, затем `claude update`, и запустите команду снова в новом сеансе. См. [требования для plugin evals](/docs/ru/plugin-evals#requirements)

2937* Если вы видите второе сообщение в текущей сборке, попробуйте снова позже после другого `claude update`3237* Если вы видите второе сообщение в текущей сборке, попробуйте снова позже после ещё одного `claude update`

2938 3238 

2939<h3 id="marketplace-is-registered-from-an-untrusted-source">3239<h3 id="marketplace-is-registered-from-an-untrusted-source">

2940 Marketplace is registered from an untrusted source3240 Marketplace is registered from an untrusted source


2951**Что делать:**3251**Что делать:**

2952 3252 

2953* Если маркетплейс уже зарегистрирован, запустите `claude plugin marketplace remove <name>`, затем добавьте его снова из официального репозитория `github.com/anthropics`3253* Если маркетплейс уже зарегистрирован, запустите `claude plugin marketplace remove <name>`, затем добавьте его снова из официального репозитория `github.com/anthropics`

2954* Если вы публикуете сторонний маркетплейс, который использовал имя до того, как оно было зарезервировано, переименуйте его и попросите пользователей добавить его снова из вашего источника3254* Если вы публикуете сторонний маркетплейс, который использовал это имя до того, как оно было зарезервировано, переименуйте его и попросите пользователей добавить его снова из вашего источника

2955* См. список зарезервированных имён в разделе [Marketplace schema](/docs/ru/plugin-marketplaces#marketplace-schema)3255* См. список зарезервированных имён в разделе [Marketplace schema](/docs/ru/plugin-marketplaces#marketplace-schema)

2956 3256 

2957<h3 id="plugin-command-references-user-config">3257<h3 id="plugin-command-references-user-config">

2958 Plugin command references user\_config in a shell command3258 Plugin command references user\_config in a shell command

2959</h3>3259</h3>

2960 3260 

2961Хук плагина, [monitor](/docs/ru/plugins-reference#monitors), или команда MCP [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication) ссылается на [опцию плагина](/docs/ru/plugins-reference#user-configuration) `${user_config.KEY}`, и подставленная строка будет передана в оболочку. Настроенное значение, содержащее `$(...)`, обратные кавычки или `;`, будет выполнено как код там, поэтому Claude Code отказывается запускать компонент вместо подстановки значения. Проверка выполняется на шаблоне команды, поэтому ошибка появляется даже когда значение ещё не настроено. До версии v2.1.207 значение подставлялось в команду оболочки.3261Хук плагина, [monitor](/docs/ru/plugins-reference#monitors), или команда MCP [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication) ссылается на опцию `${user_config.KEY}` [плагина](/docs/ru/plugins-reference#user-configuration), и подставленная строка будет передана в оболочку. Настроенное значение, содержащее `$(...)`, обратные кавычки или `;`, будет выполнено как код там, поэтому Claude Code отказывается запускать компонент вместо подстановки значения. Проверка выполняется на шаблоне команды, поэтому ошибка появляется даже когда значение ещё не настроено. До версии v2.1.207 значение подставлялось в команду оболочки.

2962 3262 

2963Формулировка зависит от того, какая поверхность ссылалась на опцию. Хук в форме оболочки сообщает:3263Формулировка зависит от того, какая поверхность ссылалась на опцию. Хук в форме оболочки сообщает:

2964 3264 


2988 Plugin archive integrity check failed3288 Plugin archive integrity check failed

2989</h3>3289</h3>

2990 3290 

2991Запись маркетплейса плагина использует [источник `archive`](/docs/ru/plugin-marketplaces#zip-archives) с привязкой `sha256`, и дайджест загруженного файла не совпадает с привязкой. Claude Code отказывает в установке, поэтому ничего не меняется в кэше плагинов. Несоответствие имеет три возможные причины:3291Запись маркетплейса плагина использует [источник `archive`](/docs/ru/plugin-marketplaces#zip-archives) с закреплением `sha256`, и дайджест загруженного файла не совпадает с закреплением. Claude Code отказывает в установке, поэтому ничего не меняется в кэше плагинов. Несовпадение имеет три возможные причины:

2992 3292 

2993* Файл по URL изменился после того, как автор вычислил привязку3293* Файл по URL-адресу изменился после того, как автор вычислил закрепление

2994* Автор ввёл неправильный дайджест в запись маркетплейса3294* Автор ввёл неправильный дайджест в запись маркетплейса

2995* URL служит другой файл, чем тот, который автор привязал3295* URL-адрес служит другим файлом, чем тот, который автор закрепил

2996 3296 

2997```text theme={null}3297```text theme={null}

2998Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.3298Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.


3000 3300 

3001**Что делать:**3301**Что делать:**

3002 3302 

3003* Если вы публикуете плагин, пересчитайте дайджест точного файла, который служит URL, например с помощью `shasum -a 256 my-plugin.zip`, или `Get-FileHash -Algorithm SHA256 my-plugin.zip` в PowerShell, и обновите `sha256` в записи маркетплейса3303* Если вы публикуете плагин, пересчитайте дайджест точного файла, который служит URL-адрес, например с помощью `shasum -a 256 my-plugin.zip`, или `Get-FileHash -Algorithm SHA256 my-plugin.zip` в PowerShell, и обновите `sha256` в записи маркетплейса

3004* Если вы устанавливаете плагин, запустите `/plugin marketplace update <name>` для обновления каталога на случай, если запись была исправлена, затем повторите попытку установки3304* Если вы устанавливаете плагин, запустите `/plugin marketplace update <name>` для обновления каталога на случай, если запись была исправлена, затем повторите попытку установки

3005* Если дайджесты всё ещё не совпадают после обновления, спросите владельца маркетплейса, какой файл они привязали перед установкой3305* Если дайджесты всё ещё не совпадают после обновления, спросите владельца маркетплейса, какой файл они закрепили перед установкой

3006 3306 

3007<h3 id="path-escapes-plugin-directory">3307<h3 id="path-escapes-plugin-directory">

3008 Path escapes plugin directory3308 Path escapes plugin directory


3034 3334 

3035**Что делать:**3335**Что делать:**

3036 3336 

3037* Переместите упомянутый файл внутри директории плагина и укажите на него путём с относительным путём `./`3337* Переместите упомянутый файл внутри директории плагина и укажите на него с помощью относительного пути `./`

3038* Если путь является символической ссылкой на файл вне плагина, замените символическую ссылку копией файла3338* Если путь является символической ссылкой на файл вне плагина, замените символическую ссылку копией файла

3039* Если сообщение говорит, что путь содержит обратную косую черту, напишите путь с прямыми косыми чертами, например `./commands/deploy.md`3339* Если сообщение говорит, что путь содержит обратную косую черту, напишите путь с прямыми косыми чертами, например `./commands/deploy.md`

3040* Для совместного использования файлов с другими плагинами в том же маркетплейсе свяжите их с символической ссылкой внутри директории плагина, следуя [правилам символических ссылок](/docs/ru/plugins-reference#share-files-within-a-marketplace-with-symlinks)3340* Для совместного использования файлов с другими плагинами в одном маркетплейсе свяжите их с помощью символической ссылки внутри директории плагина, следуя [правилам символических ссылок](/docs/ru/plugins-reference#share-files-within-a-marketplace-with-symlinks)

3041 3341 

3042<h3 id="path-could-not-be-checked">3342<h3 id="path-could-not-be-checked">

3043 Path could not be checked3343 Path could not be checked


3045 3345 

3046Claude Code попросила операционную систему проверить, существует ли путь плагина, и получила ошибку, отличную от «не найдено», поэтому она не загружает то, что называет путь. Сколько плагина загружается, зависит от того, какой путь не удался:3346Claude Code попросила операционную систему проверить, существует ли путь плагина, и получила ошибку, отличную от «не найдено», поэтому она не загружает то, что называет путь. Сколько плагина загружается, зависит от того, какой путь не удался:

3047 3347 

3048* Одна из [папок компонентов по умолчанию](/docs/ru/plugins-reference#file-locations-reference) плагина, такая как `skills/` или `commands/`: другие компоненты плагина всё ещё загружаются3348* Одно из [расположений компонентов по умолчанию](/docs/ru/plugins-reference#file-locations-reference) плагина, такое как папка `skills/`, файл `monitors/monitors.json` или [`SKILL.md` в корне плагина](/docs/ru/plugins-reference#skills): остальные компоненты плагина всё ещё загружаются

3049* Собственная директория плагина: ничего из этого плагина не загружается3349* Собственная директория плагина: ничего из этого плагина не загружается

3050 3350 

3051Вы не видите эту ошибку для пути, который вообще не существует. В `/plugin` ошибка появляется под плагином и называет путь и код, который вернула операционная система:3351Вы не видите эту ошибку для пути, который вообще не существует. В `/plugin` ошибка появляется под плагином и называет путь и код, который вернула операционная система:


3056 3356 

3057В `claude plugin list` та же ошибка читается как `Path not found: /home/user/my-plugin/skills (skills, ELOOP)`.3357В `claude plugin list` та же ошибка читается как `Path not found: /home/user/my-plugin/skills (skills, ELOOP)`.

3058 3358 

3059Причины, которые производят эту ошибку, включают:3359Причины, которые вызывают эту ошибку, включают:

3060 3360 

3061* `ELOOP`: символическая ссылка в пути указывает на себя или образует цикл3361* `ELOOP`: символическая ссылка в пути указывает на себя или образует цикл

3062* `EIO` или `ESTALE`: путь находится на сетевом монтировании, которое сломано или устарело3362* `EIO` или `ESTALE`: путь находится на сетевом монтировании, которое нарушено или устарело

3063* `EACCES`: один из директорий выше пути отказывает вам в разрешении на его обход3363* `EACCES`: один из директорий выше пути отказывает вам в разрешении на его обход

3064 3364 

3065**Что делать:**3365**Что делать:**


3075 Marketplace entry path does not stay inside the marketplace directory3375 Marketplace entry path does not stay inside the marketplace directory

3076</h3>3376</h3>

3077 3377 

3078[Запись маркетплейса](/docs/ru/plugin-marketplaces#plugin-entries) плагина объявляет путь источника, который Claude Code не может разрешить в местоположение внутри собственной директории маркетплейса, поэтому плагин не устанавливается и не загружается. Отказ охватывает:3378[Запись маркетплейса](/docs/ru/plugin-marketplaces#plugin-entries) плагина объявляет путь источника, который Claude Code не может разрешить в расположение внутри собственной директории маркетплейса, поэтому плагин не устанавливается и не загружается. Отказ охватывает:

3079 3379 

3080* Путь записи, который является абсолютным, выходит из маркетплейса с `..`, или написан как сетевой путь3380* Путь записи, который является абсолютным, поднимается из маркетплейса с помощью `..`, или написан как сетевой путь

3081* Запись в маркетплейсе, полученном из удалённого источника, такого как git или URL, которая достигает своей цели через символическую ссылку, разрешающуюся вне директории маркетплейса3381* Запись в маркетплейсе, полученном из удалённого источника, такого как git или URL, которая достигает своей цели через символическую ссылку, разрешающуюся вне директории маркетплейса

3082* Относительная запись в маркетплейсе, добавленном из прямого URL к его `marketplace.json`: Claude Code загружает только этот файл, поэтому локальные файлы плагинов не существуют для пути, чтобы назвать. См. [Plugins with relative paths fail in URL-based marketplaces](/docs/ru/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces)3382* Относительная запись в маркетплейсе, добавленном из прямого URL-адреса его `marketplace.json`: Claude Code загружает только этот файл, поэтому локальные файлы плагинов не существуют для пути, чтобы назвать. См. [Plugins with relative paths fail in URL-based marketplaces](/docs/ru/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces)

3083 3383 

3084`claude plugin install` сообщает об отказе следующим образом:3384`claude plugin install` сообщает об отказе следующим образом:

3085 3385 


3096**Что делать:**3396**Что делать:**

3097 3397 

3098* Если вы поддерживаете маркетплейс, напишите `source` записи как простой относительный путь, такой как `./plugins/my-plugin`, и держите любую символическую ссылку, которую он пересекает, указывающей внутри директории маркетплейса3398* Если вы поддерживаете маркетплейс, напишите `source` записи как простой относительный путь, такой как `./plugins/my-plugin`, и держите любую символическую ссылку, которую он пересекает, указывающей внутри директории маркетплейса

3099* Если вы добавили маркетплейс из прямого URL, относительные записи не могут разрешиться. Попросите автора маркетплейса использовать [другой источник плагина](/docs/ru/plugin-marketplaces#plugin-sources), или добавьте маркетплейс из его репозитория git вместо этого3399* Если вы добавили маркетплейс из прямого URL-адреса, относительные записи не могут разрешиться. Попросите автора маркетплейса использовать [другой источник плагина](/docs/ru/plugin-marketplaces#plugin-sources), или добавьте маркетплейс из его репозитория git вместо этого

3100 3400 

3101<h3 id="failed-to-load-marketplace-configuration">3401<h3 id="failed-to-load-marketplace-configuration">

3102 Failed to load marketplace configuration3402 Failed to load marketplace configuration


3104 3404 

3105Claude Code хранит маркетплейсы плагинов, которые вы добавили, в файле реестра в `~/.claude/plugins/known_marketplaces.json`. Команда плагина, которой нужен реестр, такая как `claude plugin install`, не выполняется с одним из двух сообщений, когда Claude Code не может использовать файл:3405Claude Code хранит маркетплейсы плагинов, которые вы добавили, в файле реестра в `~/.claude/plugins/known_marketplaces.json`. Команда плагина, которой нужен реестр, такая как `claude plugin install`, не выполняется с одним из двух сообщений, когда Claude Code не может использовать файл:

3106 3406 

3107* `Failed to load marketplace configuration`: файл не является действительным JSON, или не может быть прочитан. Пустой файл не работает таким образом.3407* `Failed to load marketplace configuration`: файл не является действительным JSON, или не может быть прочитан. Пустой файл также не работает таким образом.

3108* `Marketplace configuration file is corrupted`: файл является действительным JSON, но его содержимое не соответствует схеме реестра.3408* `Marketplace configuration file is corrupted`: файл является действительным JSON, но его содержимое не соответствует схеме реестра.

3109 3409 

3110Отсутствующий файл не является сбоем: Claude Code рассматривает его как реестр без маркетплейсов.3410Отсутствующий файл не является ошибкой: Claude Code рассматривает его как реестр без маркетплейсов.

3111 3411 

3112С пустым файлом `claude plugin install` сообщает:3412С пустым файлом `claude plugin install` сообщает:

3113 3413 


3115✘ Failed to install plugin "my-plugin": Failed to load marketplace configuration: JSON Parse error: Unexpected EOF3415✘ Failed to install plugin "my-plugin": Failed to load marketplace configuration: JSON Parse error: Unexpected EOF

3116```3416```

3117 3417 

3118До версии v2.1.246 `claude plugin install` не сообщал об этом сбое.3418До версии v2.1.246 `claude plugin install` не сообщал об этой ошибке.

3119 3419 

3120**Что делать:**3420**Что делать:**

3121 3421 

3122* Откройте `~/.claude/plugins/known_marketplaces.json` и исправьте JSON, или исправьте записи, которые сообщение называет как не соответствующие схеме реестра3422* Откройте `~/.claude/plugins/known_marketplaces.json` и исправьте JSON, или исправьте записи, которые сообщение называет как не соответствующие схеме реестра

3123* Если вы не можете исправить это, удалите файл или замените его содержимое на `{}`, затем повторно добавьте каждый маркетплейс с помощью `claude plugin marketplace add <source>`. Claude Code повторно регистрирует маркетплейсы, которые ваши пользовательские или управляемые параметры объявляют в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces), в следующий раз, когда вы запустите его в папке, которую вы доверили.3423* Если вы не можете исправить это, удалите файл или замените его содержимое на `{}`, затем добавьте каждый маркетплейс снова с помощью `claude plugin marketplace add <source>`. Claude Code повторно регистрирует маркетплейсы, которые ваш пользователь или управляемые параметры объявляют в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces), в следующий раз, когда вы запустите его в папке, которую вы доверили.

3124 3424 

3125<h2 id="tool-errors">3425<h2 id="tool-errors">

3126 Ошибки инструментов3426 Ошибки инструментов


3254* Попросите отправителя повторно отправить сообщение; конкуренция за блокировку входящих сообщений является временной и разрешается при повторной попытке3554* Попросите отправителя повторно отправить сообщение; конкуренция за блокировку входящих сообщений является временной и разрешается при повторной попытке

3255* Проверьте свободное место на диске и убедитесь, что `~/.claude/teams` и файлы под ним доступны для записи вашим пользователем3555* Проверьте свободное место на диске и убедитесь, что `~/.claude/teams` и файлы под ним доступны для записи вашим пользователем

3256 3556 

3557<h3 id="teammate-agent-definition-not-restored">

3558 Teammate's agent definition was not restored

3559</h3>

3560 

3561Claude отправил сообщение остановленному товарищу [команды агентов](/docs/ru/agent-teams), и Claude Code вернул его без повторного применения [определения подагента](/docs/ru/agent-teams#use-subagent-definitions-for-teammates), из которого он был порождён, потому что его файл определения поступил из папки без сохранённого доверия. Уведомление следует за отчётом о возобновлении в результате инструмента отправляющего агента:

3562 

3563```text wrap theme={null}

3564Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.

3565```

3566 

3567Проверка применяется к определению в каталоге `.claude/agents/` проекта или каталога `--add-dir`, и принятие диалога доверия для родительской папки не удовлетворяет это.

3568 

3569**Что делать:**

3570 

3571* Запустите `claude` в папке, которую называет [журнал отладки](/docs/ru/debug-your-config), и примите диалог доверия. Определение повторно применяется в следующий раз, когда Claude Code вернёт товарища; вам не нужно перезагружать сеанс лидера

3572* Или установите запись `hasTrustDialogAccepted` на `true` в `~/.claude.json`, используя точный ключ `projects["<path>"]`, который печатает журнал отладки

3573 

3257<h3 id="message-too-large-for-cross-session-delivery">3574<h3 id="message-too-large-for-cross-session-delivery">

3258 Message too large for cross-session delivery3575 Message too large for cross-session delivery

3259</h3>3576</h3>


3326 3643 

3327Claude Code проверяет [правила разрешений](/docs/ru/permissions#read-and-edit) пути файла, затем подтверждает это разрешение снова, когда инструмент открывает файл или начинает поиск. Когда он не может подтвердить, что путь по-прежнему ведёт к месту, которое проверка одобрила, Claude Code отказывает в операции вместо того, чтобы следовать ей. Отказ появляется в результате инструмента:3644Claude Code проверяет [правила разрешений](/docs/ru/permissions#read-and-edit) пути файла, затем подтверждает это разрешение снова, когда инструмент открывает файл или начинает поиск. Когда он не может подтвердить, что путь по-прежнему ведёт к месту, которое проверка одобрила, Claude Code отказывает в операции вместо того, чтобы следовать ей. Отказ появляется в результате инструмента:

3328 3645 

3329```text theme={null}3646```text wrap theme={null}

3330Refusing to read /path/to/file: its symlink resolution changed after permission was checked. If a link in the working directory is being rewritten concurrently, stop that and retry.3647Refusing to read /path/to/file: its symlink resolution changed after permission was checked (a link on the way now leads somewhere the check did not see). If a link in the working directory is being rewritten concurrently, stop that and retry.

3331```3648```

3332 3649 

3333Текст после пути называет причину:3650Каждый отказ называет его причину:

3334 3651 

3335* `its symlink resolution changed after permission was checked`: символическая ссылка вдоль пути или в корне поиска Grep или Glob была заменена между проверкой разрешения и операцией3652* `its symlink resolution changed after permission was checked`: символическая ссылка вдоль пути или в корне поиска Grep или Glob была заменена между проверкой разрешения и операцией. В отказе чтения фраза в скобках называет, какое сравнение не удалось.

3336* `its parent-directory symlink resolution changed after permission was checked`: каталог, через который проходит путь записи, больше не разрешается в одобренное место3653* `its parent-directory symlink resolution changed after permission was checked`: каталог, через который проходит путь записи, больше не разрешается в одобренное место

3337* `it is a symbolic link. Write to the link's target path instead`: символическая ссылка находится в одобренном месте записи3654* `it is a symbolic link. Write to the link's target path instead`: символическая ссылка находится в одобренном месте записи, например `CLAUDE.md`, который является символической ссылкой на `AGENTS.md`; сообщение направляет Claude к цели ссылки

3655* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: то же самое условие, обнаруженное, когда другой писатель открывает файл, например запись в символически связанный `.mcp.json`

3656* `Refusing to write into symlinked directory: <path>`: каталог, который содержит файл, сам является символической ссылкой, например каталог `.claude/` проекта, связанный с другим местоположением

3338* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: правило отказа `Read` для поиска называет путь, который проходит через символическую ссылку, и эта ссылка изменилась, пока Claude Code готовил поиск3657* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: правило отказа `Read` для поиска называет путь, который проходит через символическую ссылку, и эта ссылка изменилась, пока Claude Code готовил поиск

3339* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`: корень поиска существует, но не смог быть открыт; код в скобках — это ошибка операционной системы3658* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`: корень поиска существует, но не смог быть открыт; код в скобках — это ошибка операционной системы

3340* `its permission check expired before it ran (too many concurrent file operations). Retry.`: Claude Code вытеснил запись одобрения при множественных одновременных операциях с файлами перед использованием инструментом; повторная попытка выполняет свежую проверку разрешения3659* `its permission check expired before it ran (too many concurrent file operations). Retry.`: Claude Code вытеснил запись одобрения при множественных одновременных операциях с файлами перед использованием инструментом; повторная попытка выполняет свежую проверку разрешения


3345* Обычно ничего: отказ достигает Claude как результат инструмента, и отказанная операция не выполняется3664* Обычно ничего: отказ достигает Claude как результат инструмента, и отказанная операция не выполняется

3346* Если отказ символической ссылки повторяется на одном пути, найдите, что продолжает переписывать ссылку там, например инструмент сборки или наблюдатель файлов, или попросите Claude использовать разрешённый путь файла вместо связанного3665* Если отказ символической ссылки повторяется на одном пути, найдите, что продолжает переписывать ссылку там, например инструмент сборки или наблюдатель файлов, или попросите Claude использовать разрешённый путь файла вместо связанного

3347* Если этот отказ появляется для каждого файла, пока Claude Code работает на Windows внутри AppContainer или песочницы с ограниченным токеном, обновитесь до версии 2.1.265 или позже3666* Если этот отказ появляется для каждого файла, пока Claude Code работает на Windows внутри AppContainer или песочницы с ограниченным токеном, обновитесь до версии 2.1.265 или позже

3667* Если отказ чтения появляется на macOS для файла, который ничто не переписывает, например скриншота, перетащенного в подсказку, обновитесь до версии 2.1.273 или позже

3348* Для отказа ripgrep установите ripgrep с помощью вашего менеджера пакетов, чтобы `rg` разрешался в абсолютный путь на `PATH`, или сохраняйте поиски под рабочим каталогом3668* Для отказа ripgrep установите ripgrep с помощью вашего менеджера пакетов, чтобы `rg` разрешался в абсолютный путь на `PATH`, или сохраняйте поиски под рабочим каталогом

3349 3669 

3350До версии 2.1.251 Claude Code повторно проверял разрешение пути только для записей файлов, поэтому ссылка, заменённая после проверки разрешения, могла перенаправить чтение или поиск в другое место без сообщения. Из этих отказов только отказ записи родительского каталога появляется в более ранних версиях.3670До версии 2.1.251 Claude Code повторно проверял разрешение пути только для записей файлов, поэтому ссылка, заменённая после проверки разрешения, могла перенаправить чтение или поиск в другое место без сообщения. Из этих отказов только отказ записи родительского каталога, через символическую ссылку и в символически связанный каталог появляются в более ранних версиях.

3351 3671 

3352<h3 id="task-output-swap-refused">3672<h3 id="task-output-swap-refused">

3353 Task output swap refused3673 Task output swap refused


3396 3716 

3397До версии 2.1.267 Claude Code загружал такой файл без проверки, и сервер отказывал в публикации вместо этого.3717До версии 2.1.267 Claude Code загружал такой файл без проверки, и сервер отказывал в публикации вместо этого.

3398 3718 

3719<h3 id="reading-a-local-file-from-outside-the-connected-folders">

3720 Reading a local file from outside the connected folders in a Cowork session

3721</h3>

3722 

3723В сеансе [Cowork](https://claude.com/docs/cowork/overview), работающем на вашей машине в приложении Claude Desktop, Claude назвал локальный файл для [артефакта](/docs/ru/artifacts). Claude Code не смог подтвердить, что файл является простым файлом внутри подключённых папок сеанса: путь находится вне этих папок, проходит через символическую ссылку или написан таким образом, что может назвать другой файл, чем он кажется. Чтение такого файла требует вашего одобрения, и в сеансе, который не может показать вам карточку одобрения, например в сеансе, установленном на пропуск всех одобрений, Claude Code отказывает в чтении.

3724 

3725Отказ появляется в результате инструмента Artifact; когда файл не смог быть проверен вообще, он называет эту ошибку вместо этого:

3726 

3727```text wrap theme={null}

3728Reading a local file from outside this session's connected folders, or through a link, needs the approval card, and no one can answer it in this Cowork session. Use a plain file inside the connected folders; do not retry this file in this session.

3729 

3730cannot read file_path (ENOENT) — the file could not be examined, and no one can answer the approval card in this Cowork session. Check that the file exists as a plain file inside the connected folders, then retry with that path.

3731```

3732 

3733**Что делать:**

3734 

3735* Обычно ничего: сообщение говорит Claude использовать простой файл внутри подключённых папок вместо этого

3736* Чтобы поместить этот точный файл в артефакт, скопируйте его в одну из подключённых папок сеанса как обычный файл, а не символическую ссылку, и попросите снова

3737 

3738<h3 id="webfetch-cannot-fetch-localhost">

3739 WebFetch cannot fetch localhost

3740</h3>

3741 

3742Claude вызвал [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior) с URL-адресом, чьё имя хоста не содержит точку, например `http://localhost:3000` или простое имя интранета, например `http://wiki/`. WebFetch отказывает в этих URL-адресах перед выполнением любого запроса:

3743 

3744```text wrap theme={null}

3745WebFetch cannot fetch localhost or other hostnames without a dot. To reach a local server, use Bash with curl instead.

3746```

3747 

3748**Что делать:**

3749 

3750* Обычно ничего: сообщение указывает Claude на `curl` через инструмент Bash, который может достичь локальных и интранет-серверов

3751 

3752До версии 2.1.268 WebFetch сообщал об этих URL-адресах с общей ошибкой `Invalid URL`.

3753 

3399<h2 id="background-session-errors">3754<h2 id="background-session-errors">

3400 Ошибки фоновых сеансов3755 Ошибки фоновых сеансов

3401</h2>3756</h2>


3521Вы попытались удалить [фоновый сеанс](/docs/ru/agent-view#what-deleting-a-session-removes), чей worktree содержит коммиты, которые Claude Code не может подтвердить, что они сохранены где-то ещё. Claude Code сохраняет worktree и строку сеанса вместо того, чтобы уничтожить коммиты без присмотра. `claude rm` называет ветвь и неотправленные коммиты и говорит, как действовать:3876Вы попытались удалить [фоновый сеанс](/docs/ru/agent-view#what-deleting-a-session-removes), чей worktree содержит коммиты, которые Claude Code не может подтвердить, что они сохранены где-то ещё. Claude Code сохраняет worktree и строку сеанса вместо того, чтобы уничтожить коммиты без присмотра. `claude rm` называет ветвь и неотправленные коммиты и говорит, как действовать:

3522 3877 

3523```text theme={null}3878```text theme={null}

3524kept 7c5dcf5d — 2 unpushed commits on claude/fix-login (a1b2c3d Fix login flow, … and 1 more)3879kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"

3525 worktree: /home/you/project/.claude/worktrees/fix-login3880 2 unpushed commits on "claude/fix-login": a1b2c3d "Fix login flow" and 1 more. They exist on no remote, so deleting the worktree would lose them.

3526 push them, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef3881 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

3527```3882```

3528 3883 

3529Когда Claude Code не может суммировать коммиты, сообщение читается `worktree has commits that are not pushed anywhere` вместо этого. В [представлении агента](/docs/ru/agent-view) строка сеанса показывает `not deleted` с той же причиной.3884Когда Claude Code не может суммировать коммиты, сообщение читается `The worktree has unpushed commits` вместо этого. В [представлении агента](/docs/ru/agent-view) строка сеанса показывает `not deleted` с той же причиной.

3530 3885 

3531Коммиты на удалённом хранилище не блокируют удаление. Также не блокируют коммиты на локальной копии ветви по умолчанию вашего удалённого хранилища `origin`, пока эта ветвь проверена в вашей основной проверке, в самом каталоге репозитория, а не в worktree.3886Коммиты на удалённом хранилище не блокируют удаление. Также не блокируют коммиты на локальной копии ветви по умолчанию вашего удалённого хранилища `origin`, пока эта ветвь проверена в вашей основной проверке, в самом каталоге репозитория, а не в worktree.

3532 3887 


3536* Чтобы отклонить коммиты, запустите команду `claude rm <id> --discard-unpushed`, которую выводит сообщение, или нажмите `Ctrl+X` дважды на строке сеанса в представлении агента снова. Это удаляет сеанс и worktree вместе с его ветвью, неотправленными коммитами и любыми незафиксированными изменениями. Если worktree получил коммит с момента отказа, Claude Code сохраняет его снова и показывает обновленное состояние3891* Чтобы отклонить коммиты, запустите команду `claude rm <id> --discard-unpushed`, которую выводит сообщение, или нажмите `Ctrl+X` дважды на строке сеанса в представлении агента снова. Это удаляет сеанс и worktree вместе с его ветвью, неотправленными коммитами и любыми незафиксированными изменениями. Если worktree получил коммит с момента отказа, Claude Code сохраняет его снова и показывает обновленное состояние

3537* Когда сообщение говорит, что worktree также записан другим завершённым сеансом, удаление снова не отклоняет его: отправьте коммиты, затем удалите сеанс снова3892* Когда сообщение говорит, что worktree также записан другим завершённым сеансом, удаление снова не отклоняет его: отправьте коммиты, затем удалите сеанс снова

3538 3893 

3894До версии 2.1.268 `claude rm` помещал сводку коммитов на саму строку `kept`. Когда `claude rm` не мог суммировать коммиты, строка `kept` читалась `worktree has commits that are not pushed anywhere` вместо сводки.

3895 

3539До версии 2.1.260 сообщение не называло ветвь или коммиты, и удаление снова отклонялось так же: удаление сеанса без отправки означало удаление worktree самостоятельно с помощью `git worktree remove --force <path>`, затем запуск `claude rm <id>` снова.3896До версии 2.1.260 сообщение не называло ветвь или коммиты, и удаление снова отклонялось так же: удаление сеанса без отправки означало удаление worktree самостоятельно с помощью `git worktree remove --force <path>`, затем запуск `claude rm <id>` снова.

3540 3897 

3541До версии 2.1.248 ветвь по умолчанию, проверенная в вашей основной проверке, не считалась: ветвь, которую вы уже объединили там, всё ещё вызывала этот отказ, пока её коммиты не достигали удалённого хранилища.3898До версии 2.1.248 ветвь по умолчанию, проверенная в вашей основной проверке, не считалась: ветвь, которую вы уже объединили там, всё ещё вызывала этот отказ, пока её коммиты не достигали удалённого хранилища.


3759Error: Claude Code process exited with code 14116Error: Claude Code process exited with code 1

3760```4117```

3761 4118 

4119На Windows встроенная сборка может завершиться с кодом `4294967295` сразу после завершения хода. Когда этот выход происходит на границе хода, без ожидающего сообщения и без выполняющейся фоновой задачи, [расширение VS Code](/docs/ru/vs-code) закрывает сеанс без уведомления вместо отображения этой ошибки. Ваше следующее сообщение возобновляет разговор.

4120 

4121До версии 2.1.273 расширение показывало ошибку для этого выхода на каждой границе хода, хотя ничего не было потеряно.

4122 

3762**Что делать:**4123**Что делать:**

3763 4124 

3764* В VS Code перейдите по ссылке **View output logs**, показанной с ошибкой, чтобы увидеть основную ошибку4125* В VS Code перейдите по ссылке **View output logs**, показанной с ошибкой, чтобы увидеть основную ошибку


3782* Установите запись PATH как переменную окружения пользователя или системы, а не в вашем профиле PowerShell. Расширение не запускает ваш профиль, поэтому редактирование PATH, которое существует только там, никогда до него не доходит.4143* Установите запись PATH как переменную окружения пользователя или системы, а не в вашем профиле PowerShell. Расширение не запускает ваш профиль, поэтому редактирование PATH, которое существует только там, никогда до него не доходит.

3783* Перезагрузите VS Code после изменения PATH. Расширение проверяет PATH, который VS Code захватил при запуске, поэтому изменение PATH вступает в силу только после перезагрузки.4144* Перезагрузите VS Code после изменения PATH. Расширение проверяет PATH, который VS Code захватил при запуске, поэтому изменение PATH вступает в силу только после перезагрузки.

3784 4145 

4146<h3 id="the-connection-to-claude-code-ended-before-this-message-completed">

4147 The connection to Claude Code ended before this message completed

4148</h3>

4149 

4150[Расширение VS Code](/docs/ru/vs-code) отправило ваше сообщение процессу `claude`, и соединение завершилось без ошибки до того, как процесс подтвердил или завершил его. Расширение не может определить, было ли сообщение обработано, поэтому оно просит вас отправить его снова:

4151 

4152```text theme={null}

4153The connection to Claude Code ended before this message completed — it may not have been processed, so please send it again.

4154```

4155 

4156**Что делать:**

4157 

4158* Отправьте сообщение снова. Следующее сообщение запускает свежий процесс `claude`, который возобновляет разговор.

4159* Если это повторяется, запустите `claude` в терминале в том же проекте. Ошибка, которая продолжает завершать процесс, обычно воспроизводится там с её реальным сообщением об ошибке.

4160 

3785<h2 id="rewind-warnings-and-errors">4161<h2 id="rewind-warnings-and-errors">

3786 Предупреждения и ошибки Rewind4162 Предупреждения и ошибки Rewind

3787</h2>4163</h2>

fast-mode.md +33 −20

Details

32* Введите `/fast` и нажмите Tab для включения или отключения32* Введите `/fast` и нажмите Tab для включения или отключения

33* Установите `"fastMode": true` в вашем [файле пользовательских настроек](/docs/ru/settings)33* Установите `"fastMode": true` в вашем [файле пользовательских настроек](/docs/ru/settings)

34 34 

35По умолчанию быстрый режим, который вы включаете в интерактивном сеансе, сохраняется между сеансами. В [неинтерактивном режиме](/docs/ru/headless) с флагом `-p` команда `/fast` работает только в сеансе, запущенном с быстрым режимом в его значении [`--settings`](/docs/ru/cli-reference#cli-flags), например `claude -p --settings '{"fastMode": true}'`; переключение затем применяется только к этому сеансу и не сохраняется как ваше значение по умолчанию, а в любом другом неинтерактивном сеансе команда сообщает, что быстрый режим недоступен. Вы можете настроить быстрый режим на сброс каждого сеанса. Подробности см. в разделе [обязательное согласие за сеанс](#require-per-session-opt-in).35По умолчанию быстрый режим, который вы включаете в интерактивном сеансе, сохраняется между сеансами. Вы можете настроить быстрый режим на сброс каждого сеанса. Подробности см. в разделе [обязательное согласие за сеанс](#require-per-session-opt-in).

36 

37Вне [облачного сеанса](#use-fast-mode-in-cloud-sessions), в [неинтерактивном режиме](/docs/ru/headless) с флагом `-p` команда `/fast` работает только в сеансе, запущенном с быстрым режимом в его значении [`--settings`](/docs/ru/cli-reference#cli-flags), например `claude -p --settings '{"fastMode": true}'`; переключение затем применяется только к этому сеансу и не сохраняется как ваше значение по умолчанию. Форма `-p` требует Claude Code v2.1.205 или более поздней версии. В остальных случаях в неинтерактивном режиме команда сообщает, что быстрый режим недоступен.

36 38 

37Вы можете запустить `/fast` во время работы Claude, и Claude Code переключает быстрый режим без ожидания завершения хода. Claude Code завершает текущий ход с его исходной скоростью, поэтому изменение скорости вступает в силу со следующего хода. Если ваша текущая модель не поддерживает быстрый режим, его включение также переключает вашу модель, и Claude Code использует новую модель со следующего запроса в этом ходе.39Вы можете запустить `/fast` во время работы Claude, и Claude Code переключает быстрый режим без ожидания завершения хода. Claude Code завершает текущий ход с его исходной скоростью, поэтому изменение скорости вступает в силу со следующего хода. Если ваша текущая модель не поддерживает быстрый режим, его включение также переключает вашу модель, и Claude Code использует новую модель со следующего запроса в этом ходе.

38 40 


62 64 

63Claude Code повторно отправляет статус быстрого режима сеанса на устройства, подключенные через Remote Control, после переключения модели, переподключения или неудачной [проверки доступности](#use-fast-mode-behind-proxies-and-llm-gateways).65Claude Code повторно отправляет статус быстрого режима сеанса на устройства, подключенные через Remote Control, после переключения модели, переподключения или неудачной [проверки доступности](#use-fast-mode-behind-proxies-and-llm-gateways).

64 66 

67<h3 id="use-fast-mode-in-cloud-sessions">

68 Использование быстрого режима в облачных сеансах

69</h3>

70 

71Быстрый режим работает в [облачных сеансах](/docs/ru/claude-code-on-the-web), когда он доступен на вашей учетной записи, независимо от того, работает ли сеанс на инфраструктуре, управляемой Anthropic, или на [самостоятельно размещенном runner](/docs/ru/self-hosted-environments). Требует Claude Code v2.1.271 или более поздней версии в окружении сеанса.

72 

73Введите `/fast on` в сеансе, чтобы включить быстрый режим. Он остается включенным только для этого сеанса и не сохраняется как ваше значение по умолчанию. [Требования](#requirements) применяются и в облачных сеансах.

74 

65<h2 id="understand-the-cost-tradeoff">75<h2 id="understand-the-cost-tradeoff">

66 Понимание компромисса стоимости76 Понимание компромисса стоимости

67</h2>77</h2>


122 132 

123Быстрый режим требует всех следующих условий:133Быстрый режим требует всех следующих условий:

124 134 

125* **Только API Anthropic или подписка**: быстрый режим доступен через API Anthropic Console и для планов подписки Claude с использованием дополнительного использования. Он недоступен на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform на AWS. Организации Console также должны иметь [доступ к быстрому режиму, предоставленный](#enable-fast-mode-for-your-organization).135* **Только Anthropic API или подписка**: быстрый режим доступен через Anthropic Console API и для планов подписки Claude с использованием кредитов. Он недоступен на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform на AWS. Организации Console также должны иметь [доступ к быстрому режиму](#enable-fast-mode-for-your-organization).

126* **Дополнительное использование включено для планов подписки**: на плане Pro, Max, Team или Enterprise ваша учетная запись должна иметь [дополнительное использование](/docs/ru/costs#add-usage-credits-to-your-subscription) включенное, что позволяет выставлять счета сверх включенного использования вашего плана. До тех пор, пока оно не включено, `/fast` показывает "Fast mode requires usage credits". Способ его включения зависит от вашего плана:136* **Кредиты использования включены для планов подписки**: на плане Pro, Max, Team или Enterprise ваша учетная запись должна иметь [кредиты использования](/docs/ru/costs#add-usage-credits-to-your-subscription) включенными, что позволяет выставлять счета сверх включенного использования вашего плана. До их включения `/fast` сообщает "Fast mode requires usage credits". Способ их включения зависит от вашего плана:

127 * На Pro и Max включите его в разделе **Usage credits** на странице [**Settings > Usage**](https://claude.ai/settings/usage) на claude.ai или запустите `/usage-credits` для открытия этой страницы.137 * На Pro и Max включите их в разделе **Usage credits** на странице [**Settings > Usage**](https://claude.ai/settings/usage) на claude.ai или запустите `/usage-credits` для открытия этой страницы.

128 * На Team и Enterprise член с доступом к выставлению счетов включает его для организации в [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), а член без доступа запускает `/usage-credits` для отправки запроса администраторам организации.138 * На Team и Enterprise член с доступом к выставлению счетов включает их для организации в [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), а член без доступа запускает `/usage-credits` для отправки запроса администраторам организации.

129 139 

130<Note>140<Note>

131 Использование быстрого режима выставляется непосредственно на дополнительное использование, даже если у вас осталось использование в вашем плане.141 Использование быстрого режима берет кредиты непосредственно из кредитов использования, даже если у вас остается использование в вашем плане.

132</Note>142</Note>

133 143 

134* **Платная организация Console**: учетные записи Claude Console не используют дополнительное использование, и ваша организация платит за быстрый режим за токен вместе с остальным использованием API. На бесплатном плане Evaluation Console `/fast` показывает "Fast mode unavailable during evaluation. Please purchase credits." Чтобы очистить его, приобретите дополнительное использование в [параметрах выставления счетов Console](https://platform.claude.com/settings/billing).144* **Платная организация Console**: учетные записи Claude Console не используют кредиты использования, и ваша организация платит за быстрый режим за токен вместе с остальным использованием API. На бесплатном плане Evaluation Console `/fast` показывает "Fast mode unavailable during evaluation. Please purchase credits." Чтобы это исправить, приобретите кредиты в [параметрах выставления счетов Console](https://platform.claude.com/settings/billing).

135* **Включение владельцем для Team и Enterprise**: быстрый режим отключен по умолчанию для организаций Team и Enterprise. Владелец должен явно [включить быстрый режим](#enable-fast-mode-for-your-organization) перед тем, как пользователи смогут получить к нему доступ.145* **Включение владельцем для Team и Enterprise**: быстрый режим отключен по умолчанию для организаций Team и Enterprise. Владелец должен явно [включить быстрый режим](#enable-fast-mode-for-your-organization) перед тем, как пользователи смогут получить к нему доступ.

136 146 

137<Note>147<Note>

138 Если быстрый режим не был включен для вашей организации, команда `/fast` покажет "Fast mode has been disabled by your organization." Если список разрешенных моделей вашей организации [`availableModels`](/docs/ru/model-config#restrict-model-selection) исключает модель быстрого режима Opus, `/fast` отклоняется с сообщением "is not in your organization's allowed models". Исключением является сеанс, уже работающий на разрешенной модели Opus, которая поддерживает быстрый режим: `/fast` затем включает быстрый режим на вашей текущей модели вместо переключения моделей.148 Два параметра организации могут заблокировать включение быстрого режима с помощью `/fast`:

149 

150 * **Быстрый режим не включен**: если быстрый режим не был включен для вашей организации, включение быстрого режима с помощью `/fast` показывает "Fast mode has been disabled by your organization."

151 * **Модель быстрого режима не разрешена**: если список разрешений [`availableModels`](/docs/ru/model-config#restrict-model-selection) вашей организации исключает модель Opus быстрого режима, включение отклоняется с "is not in your organization's allowed models". В сеансе, уже работающем на разрешенной модели Opus, поддерживающей быстрый режим, `/fast` вместо этого включает быстрый режим на вашей текущей модели без переключения моделей.

139</Note>152</Note>

140 153 

141<h3 id="enable-fast-mode-for-your-organization">154<h3 id="enable-fast-mode-for-your-organization">


144 157 

145Место, где вы включаете быстрый режим, зависит от того, какой продукт использует ваша организация:158Место, где вы включаете быстрый режим, зависит от того, какой продукт использует ваша организация:

146 159 

147* **Console** (клиенты API): администратор включает это в [Параметрах Claude Code](https://platform.claude.com/claude-code/preferences). Быстрый режим находится в [исследовательском предпросмотре](#research-preview), поэтому ваша организация также должна иметь доступ к быстрому режиму, предоставленный перед тем, как запросы быстрого режима будут успешными. Чтобы получить доступ, свяжитесь с вашим менеджером по работе с клиентами или присоединитесь к списку ожидания, как описано в [быстром режиме на Claude API](https://platform.claude.com/docs/en/build-with-claude/fast-mode).160* **Console** (клиенты API): администратор включает его в [Claude Code preferences](https://platform.claude.com/claude-code/preferences). Быстрый режим находится в [исследовательском предпросмотре](#research-preview), поэтому ваша организация также должна иметь доступ к быстрому режиму, предоставленный перед тем, как запросы быстрого режима будут успешными. Чтобы получить доступ, свяжитесь с вашим менеджером по работе с клиентами или присоединитесь к списку ожидания, как описано в [быстром режиме на Claude API](https://platform.claude.com/docs/en/build-with-claude/fast-mode).

148 161 

149 Без предоставленного доступа API отклоняет каждый запрос быстрого режима с кодом 429, и Claude Code рассматривает каждое отклонение как [ограничение скорости быстрого режима](#handle-rate-limits). В отличие от периода ожидания ограничения скорости, отклонения продолжаются до тех пор, пока доступ не будет предоставлен.162 Без предоставленного доступа API отклоняет каждый запрос быстрого режима с кодом 429, и Claude Code рассматривает каждое отклонение как [ограничение скорости быстрого режима](#handle-rate-limits). В отличие от периода ожидания ограничения скорости, отклонения продолжаются до тех пор, пока доступ не будет предоставлен.

150* **Claude AI** (Team и Enterprise): владелец включает это в [Admin Settings > Claude Code](https://claude.ai/admin-settings/claude-code)163* **Claude AI** (Team и Enterprise): владелец включает его в [Admin Settings > Claude Code](https://claude.ai/admin-settings/claude-code)

151 164 

152Другой вариант полного отключения быстрого режима — установить `CLAUDE_CODE_DISABLE_FAST_MODE=1`. См. [Переменные окружения](/docs/ru/env-vars).165Другой вариант полного отключения быстрого режима — установить `CLAUDE_CODE_DISABLE_FAST_MODE=1`. См. [Переменные окружения](/docs/ru/env-vars).

153 166 


155 Использование быстрого режима за прокси и шлюзами LLM168 Использование быстрого режима за прокси и шлюзами LLM

156</h3>169</h3>

157 170 

158Перед предложением быстрого режима Claude Code проверяет доступность быстрого режима вашей организации с помощью запроса непосредственно к `api.anthropic.com`. Проверка не следует [`ANTHROPIC_BASE_URL`](/docs/ru/llm-gateway-connect#set-the-base-url-and-credential), поэтому в сети, которая маршрутизирует трафик Claude через [шлюз LLM](/docs/ru/llm-gateway) и блокирует прямой исходящий трафик к `api.anthropic.com`, проверка не удается, даже если запросы вывода работают. Проверка использует настроенный [HTTP прокси](/docs/ru/network-config#proxy-configuration), поэтому блокировка сети не удается только там, где `api.anthropic.com` недоступен даже через прокси.171Перед предложением быстрого режима Claude Code проверяет доступность быстрого режима вашей организации с помощью запроса непосредственно к `api.anthropic.com`. Проверка не следует [`ANTHROPIC_BASE_URL`](/docs/ru/llm-gateway-connect#set-the-base-url-and-credential), поэтому в сети, которая маршрутизирует трафик Claude через [шлюз LLM](/docs/ru/llm-gateway) и блокирует прямой исходящий трафик к `api.anthropic.com`, проверка не удается, даже если запросы вывода работают. Проверка использует настроенный [HTTP прокси](/docs/ru/network-config#proxy-configuration), поэтому блокировка сети не удается проверке только там, где `api.anthropic.com` недостижим даже через прокси.

159 172 

160Когда проверка не удается, `/fast` сообщает "Fast mode unavailable due to network connectivity issues", и запросы выполняются на стандартной скорости, даже если ваша организация имеет включенный быстрый режим. Проверка, которая была успешной в прошлом, продолжает работать из своего кэшированного результата, поэтому заблокированная проверка в основном влияет на новые установки.173Когда проверка не удается, `/fast` сообщает "Fast mode unavailable due to network connectivity issues", и запросы выполняются на стандартной скорости, даже если ваша организация имеет включенный быстрый режим. Проверка, которая была успешной в прошлом, продолжает работать из своего кэшированного результата, поэтому заблокированная проверка в основном влияет на новые установки.

161 174 

162То же сообщение о подключении появляется в открытой сети, когда проверка достигает `api.anthropic.com`, но представляет учетные данные, которые Anthropic отклоняет. Сеанс, чей разрешенный ключ является учетными данными, выданными шлюзом, хранящимися в [`ANTHROPIC_API_KEY`](/docs/ru/llm-gateway-connect#set-the-base-url-and-credential) или созданными [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), отправляет проверку с этим ключом, и отклоненный запрос сообщается как сбой подключения.175То же сообщение о подключении появляется в открытой сети, когда проверка достигает `api.anthropic.com`, но представляет учетные данные, которые Anthropic отклоняет. Сеанс, чей разрешенный ключ является учетными данными, выданными шлюзом, хранящимися в [`ANTHROPIC_API_KEY`](/docs/ru/llm-gateway-connect#set-the-base-url-and-credential) или созданными [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), отправляет проверку с этим ключом, и отклоненный запрос сообщается как сбой подключения.

163 176 

164Чтобы восстановить быстрый режим, разрешите прямой исходящий трафик к `api.anthropic.com`, где блокировка сети является причиной, или установите переменную, которая соответствует тому, как проверка не удается:177Чтобы восстановить быстрый режим, разрешите прямой исходящий трафик к `api.anthropic.com`, где причина — блокировка сети, или установите переменную, которая соответствует тому, как проверка не удается:

165 178 

166* `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` рассматривает неудачную проверку как доступную и все еще соблюдает ответ "disabled by your organization". Используйте его, когда ваша сеть отказывает в соединении или когда Anthropic отклоняет учетные данные шлюза; разрешение не помогает в случае учетных данных, так как ничего не блокируется.179* `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` рассматривает неудачную проверку как доступную и все еще соблюдает ответ "disabled by your organization". Используйте его, когда ваша сеть отказывает в соединении или когда Anthropic отклоняет учетные данные шлюза; разрешение не помогает в случае учетных данных, так как ничего не блокируется.

167* `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` пропускает проверку полностью. Используйте его, когда ваша сеть перехватывает запрос вместо отказа в нем.180* `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` пропускает проверку полностью. Используйте его, когда ваша сеть перехватывает запрос вместо того, чтобы отказать в нем.

168 181 

169Две конфигурации шлюза сообщают "Fast mode has been disabled by your organization" вместо сообщения о подключении, даже если ваша организация имеет включенный быстрый режим:182Две конфигурации шлюза сообщают "Fast mode has been disabled by your organization" вместо сообщения о подключении, даже если ваша организация имеет включенный быстрый режим:

170 183 

171* Сеанс, который аутентифицируется только с помощью [`ANTHROPIC_AUTH_TOKEN`](/docs/ru/llm-gateway-connect#set-the-base-url-and-credential), пропускает проверку: без входа в claude.ai или ключа API Anthropic, и без кэшированной успешной проверки, Claude Code рассматривает быстрый режим как отключенный вашей организацией без отправки запроса.184* Сеанс, который аутентифицируется только с помощью [`ANTHROPIC_AUTH_TOKEN`](/docs/ru/llm-gateway-connect#set-the-base-url-and-credential), пропускает проверку: без входа в claude.ai или ключа Anthropic API и без кэшированной успешной проверки, Claude Code рассматривает быстрый режим как отключенный вашей организацией без отправки запроса.

172* Прокси, который перехватывает проверку и отвечает своей собственной страницей, например TLS-инспектирующий прокси, возвращающий страницу блокировки HTTP 200, читается как ответ, говорящий, что ваша организация имеет отключенный быстрый режим.185* Прокси, который перехватывает проверку и отвечает своей собственной страницей, например TLS-инспектирующий прокси, возвращающий страницу блокировки HTTP 200, читается как ответ, говорящий, что ваша организация отключила быстрый режим.

173 186 

174В обоих случаях установите `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` для восстановления быстрого режима. `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` не применяется ни к одному из этих случаев, так как он только обходит неудачные проверки, и оба эти случая вместо этого производят отключенный ответ. Разрешение прямого исходящего трафика не помогает в случае токена-носителя, который никогда не отправляет запрос.187В обоих случаях установите `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` для восстановления быстрого режима. `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` не применяется ни к одному из этих случаев, так как он только обходит неудачные проверки, а оба эти случая производят ответ об отключении. Разрешение прямого исходящего трафика не помогает в случае токена-носителя, который никогда не отправляет запрос.

175 188 

176Переменные влияют только на проверку на стороне клиента. Когда ваша организация имеет отключенный быстрый режим, API отклоняет запросы быстрого режима независимо от того, установлены ли они или нет.189Переменные влияют только на проверку на стороне клиента. Когда ваша организация имеет отключенный быстрый режим, API отклоняет запросы быстрого режима независимо от того, установлены ли они. Отклонение от API остается в силе даже с установленной переменной пропуска. Claude Code повторяет отклоненный запрос на стандартной скорости, отключает быстрый режим и `/fast` сообщает, что ваша организация отключила быстрый режим.

177 190 

178Установка `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` также подавляет проверку доступности. Без ранее кэшированной успешной проверки `/fast` сообщает "Fast mode is currently unavailable"; обе переменные пропуска восстанавливают быстрый режим в этой конфигурации также.191Установка `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` также подавляет проверку доступности. Без ранее кэшированной успешной проверки `/fast` сообщает "Fast mode is currently unavailable"; обе переменные пропуска восстанавливают быстрый режим в этой конфигурации также.

179 192 

180<h3 id="require-per-session-opt-in">193<h3 id="require-per-session-opt-in">

181 Обязательное согласие за сеанс194 Требование явного согласия для каждого сеанса

182</h3>195</h3>

183 196 

184По умолчанию быстрый режим, который пользователь включает в интерактивном сеансе, сохраняется между сеансами. Чтобы изменить это, установите `fastModePerSessionOptIn` на `true` в любом [файле параметров](/docs/ru/settings#where-settings-live), что приводит к тому, что каждый сеанс начинается с отключенным быстрым режимом и требует от пользователей явного включения его с помощью `/fast`. Владельцы на планах [Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) или [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) могут развернуть это организационно через [параметры, управляемые сервером](/docs/ru/server-managed-settings).197По умолчанию быстрый режим, который пользователь включает в интерактивном сеансе, сохраняется между сеансами. Чтобы изменить это, установите `fastModePerSessionOptIn` на `true` в любом [файле параметров](/docs/ru/settings#where-settings-live), что приводит к тому, что каждый сеанс начинается с отключенным быстрым режимом и требует от пользователей явного включения его с помощью `/fast`. Владельцы на планах [Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) или [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) могут развернуть его на уровне организации через [параметры, управляемые сервером](/docs/ru/server-managed-settings).

185 198 

186```json theme={null}199```json theme={null}

187{200{


189}202}

190```203```

191 204 

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

193 206 

194<h2 id="handle-rate-limits">207<h2 id="handle-rate-limits">

195 Обработка лимитов скорости208 Обработка лимитов скорости

Details

36* [Checkpoints](/docs/ru/checkpointing), [sandboxing](/docs/ru/sandboxing) и [Workflows](/docs/ru/workflows)36* [Checkpoints](/docs/ru/checkpointing), [sandboxing](/docs/ru/sandboxing) и [Workflows](/docs/ru/workflows)

37* [Метрики OpenTelemetry](/docs/ru/monitoring-usage) и [управляемый файл параметров](/docs/ru/managed-settings#delivery-mechanisms)37* [Метрики OpenTelemetry](/docs/ru/monitoring-usage) и [управляемый файл параметров](/docs/ru/managed-settings#delivery-mechanisms)

38 38 

39Три из них имеют различия, зависящие от поставщика:39Они имеют различия, зависящие от поставщика:

40 40 

41* **Память CLAUDE.md**: файлы `CLAUDE.md` загружаются у каждого поставщика. Чтение [файлов `AGENTS.md`](/docs/ru/memory#agents-md) в качестве инструкций проекта также требует сеанса, который [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching)

41* **MCP servers**: [коннекторы из claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) загружаются только когда ваша подписка claude.ai является активным методом аутентификации. [Поиск инструментов](/docs/ru/mcp#configure-tool-search) отключён по умолчанию когда `ANTHROPIC_BASE_URL` указывает на хост, не принадлежащий первой стороне, и не поддерживается на моделях Google Cloud's Agent Platform более ранних, чем поколение Claude 4.5, или на развёртываниях Microsoft Foundry [размещённых на Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)42* **MCP servers**: [коннекторы из claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) загружаются только когда ваша подписка claude.ai является активным методом аутентификации. [Поиск инструментов](/docs/ru/mcp#configure-tool-search) отключён по умолчанию когда `ANTHROPIC_BASE_URL` указывает на хост, не принадлежащий первой стороне, и не поддерживается на моделях Google Cloud's Agent Platform более ранних, чем поколение Claude 4.5, или на развёртываниях Microsoft Foundry [размещённых на Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)

42* **Subagents**: встроенный [Explore subagent](/docs/ru/sub-agents#built-in-subagents) ограничивает унаследованную модель до Opus на Claude API и наследует модель основного разговора напрямую у любого другого поставщика, включая Claude Platform на AWS43* **Subagents**: встроенный [Explore subagent](/docs/ru/sub-agents#built-in-subagents) ограничивает унаследованную модель до Opus на Claude API и наследует модель основного разговора напрямую у любого другого поставщика, включая Claude Platform на AWS

43* **[Commands](/docs/ru/commands#all-commands)**:44* **[Commands](/docs/ru/commands#all-commands)**:


226 227 

227<Note>228<Note>

228 Если вы аутентифицируетесь через [LLM gateway](/docs/ru/llm-gateway), доступность функций соответствует базовому поставщику, на который шлюз перенаправляет запросы, за исключением функций, которые сам Claude Code отключает. Когда `ANTHROPIC_BASE_URL` указывает на хост, отличный от `api.anthropic.com`, Claude Code отключает функции такие как [Remote Control](/docs/ru/remote-control#requirements) и [server-managed settings](/docs/ru/server-managed-settings#platform-availability), независимо от того, что перенаправляет шлюз. Некоторые функции, доступные только для Anthropic, такие как [Advisor](/docs/ru/advisor), работают только если шлюз перенаправляет запросы без изменений на API Anthropic.229 Если вы аутентифицируетесь через [LLM gateway](/docs/ru/llm-gateway), доступность функций соответствует базовому поставщику, на который шлюз перенаправляет запросы, за исключением функций, которые сам Claude Code отключает. Когда `ANTHROPIC_BASE_URL` указывает на хост, отличный от `api.anthropic.com`, Claude Code отключает функции такие как [Remote Control](/docs/ru/remote-control#requirements) и [server-managed settings](/docs/ru/server-managed-settings#platform-availability), независимо от того, что перенаправляет шлюз. Некоторые функции, доступные только для Anthropic, такие как [Advisor](/docs/ru/advisor), работают только если шлюз перенаправляет запросы без изменений на API Anthropic.

230 

231 Для информации о том, как запросы, которые отправляет Claude Code, различаются между шлюзом в формате Amazon Bedrock или Agent Platform, шлюзом `ANTHROPIC_BASE_URL` и входом в Claude apps gateway, см. [поведение клиента по методу подключения](/docs/ru/llm-gateway-protocol#how-the-connection-method-changes-client-behavior).

229</Note>232</Note>

230 233 

231<h3 id="summary-by-provider">234<h3 id="summary-by-provider">


303 306 

304| Функция | Pro | Max | Team | Enterprise |307| Функция | Pro | Max | Team | Enterprise |

305| :-------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |308| :-------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |

306| [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |309| [Cloud sessions](/docs/ru/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

307| [Routines](/docs/ru/routines) | ✓ | ✓ | ✓ | ✓ |310| [Routines](/docs/ru/routines) | ✓ | ✓ | ✓ | ✓ |

308| [Remote Control](/docs/ru/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |311| [Remote Control](/docs/ru/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |

309| [Channels](/docs/ru/channels) | ✓ | ✓ | Admin-enabled | Admin-enabled |312| [Channels](/docs/ru/channels) | ✓ | ✓ | Admin-enabled | Admin-enabled |


319| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |322| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |

320| [Zero Data Retention](/docs/ru/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |323| [Zero Data Retention](/docs/ru/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |

321 324 

322<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> На Enterprise требуется премиум-место или место Chat + Claude Code. См. [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web).<br />325<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> На Enterprise требуется премиум-место или место Chat + Claude Code. См. [Cloud sessions](/docs/ru/claude-code-on-the-web).<br />

323<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> Не включено в стандартный план Enterprise. Требует отдельного включения Anthropic для квалифицированных аккаунтов. См. [Zero Data Retention](/docs/ru/zero-data-retention).326<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> Не включено в стандартный план Enterprise. Требует отдельного включения Anthropic для квалифицированных аккаунтов. См. [Zero Data Retention](/docs/ru/zero-data-retention).

324 327 

325Для информации о ценах и полного сравнения планов см. [Team plans](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) и [Enterprise plans](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).328Для информации о ценах и полного сравнения планов см. [Team plans](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) и [Enterprise plans](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

Details

294 294 

295 * Системный prompt агента, а не системный prompt Claude Code295 * Системный prompt агента, а не системный prompt Claude Code

296 * Полный контент skills, указанных в поле `skills:` агента296 * Полный контент skills, указанных в поле `skills:` агента

297 * CLAUDE.md и статус git, за исключением встроенных агентов Explore и Plan [которые опускают оба](/docs/ru/sub-agents#what-loads-at-startup)297 * CLAUDE.md и статус git, за исключением встроенных агентов Explore и Plan [которые опускают оба](/docs/ru/sub-agents#what-loads-at-startup), и агента, чьё определение устанавливает [`omitClaudeMd`](/docs/ru/sub-agents#supported-frontmatter-fields), пропускает пользовательские, проектные и локальные файлы CLAUDE.md

298 * Любой контекст, который основной агент передаёт в prompt298 * Любой контекст, который основной агент передаёт в prompt

299 299 

300 Для [fork](/docs/ru/sub-agents#fork-the-current-conversation), Claude Code загружает разговор родителя до сих пор, системный prompt и инструменты вместо.300 Для [fork](/docs/ru/sub-agents#fork-the-current-conversation), Claude Code загружает разговор родителя до сих пор, системный prompt и инструменты вместо.

fullscreen.md +1 −0

Details

102* **Щелкните предложение в списке команд `/` или файлов `@`**, чтобы принять его. При наведении курсора строка под ним выделяется.102* **Щелкните предложение в списке команд `/` или файлов `@`**, чтобы принять его. При наведении курсора строка под ним выделяется.

103* **Щелкните опцию в меню выбора**, чтобы выбрать её. Это касается запросов разрешений, `/model`, `/config` и других диалогов, которые показывают список опций. При наведении курсора на строку отображается указатель. Требуется Claude Code v2.1.187 или более поздняя версия.103* **Щелкните опцию в меню выбора**, чтобы выбрать её. Это касается запросов разрешений, `/model`, `/config` и других диалогов, которые показывают список опций. При наведении курсора на строку отображается указатель. Требуется Claude Code v2.1.187 или более поздняя версия.

104* **Щелкните опцию в меню множественного выбора**, чтобы переключить её, и нажмите кнопку отправки, чтобы подтвердить ваш выбор. Щелчок по строке свободного текста, например по строке `Other` в вопросе с несколькими вариантами ответов, фокусирует её поле ввода, чтобы вы могли ввести ответ. Требуется Claude Code v2.1.208 или более поздняя версия.104* **Щелкните опцию в меню множественного выбора**, чтобы переключить её, и нажмите кнопку отправки, чтобы подтвердить ваш выбор. Щелчок по строке свободного текста, например по строке `Other` в вопросе с несколькими вариантами ответов, фокусирует её поле ввода, чтобы вы могли ввести ответ. Требуется Claude Code v2.1.208 или более поздняя версия.

105* **Щелкните значение параметра в панели `/config`**, чтобы изменить его, и прокручивайте список параметров колесом мыши. Требуется Claude Code v2.1.271 или более поздняя версия.

105* **Щелкните свёрнутый результат инструмента**, чтобы развернуть его и увидеть полный результат. Щелкните снова, чтобы свернуть. Вызов инструмента и его результат разворачиваются вместе. Щелкаемы только сообщения, которые имеют больше информации для отображения.106* **Щелкните свёрнутый результат инструмента**, чтобы развернуть его и увидеть полный результат. Щелкните снова, чтобы свернуть. Вызов инструмента и его результат разворачиваются вместе. Щелкаемы только сообщения, которые имеют больше информации для отображения.

106 * Щелчок также разворачивает результат команды оболочки `!`, будь то старый усечённый результат или строка прямого хода во время выполнения команды. Требуется Claude Code v2.1.257 или более поздняя версия.107 * Щелчок также разворачивает результат команды оболочки `!`, будь то старый усечённый результат или строка прямого хода во время выполнения команды. Требуется Claude Code v2.1.257 или более поздняя версия.

107* **Удерживайте `Cmd` на macOS или `Ctrl` на Linux и Windows и щелкните URL или путь к файлу**, чтобы открыть его. Простые URL-адреса `http://` и `https://` открываются в вашем браузере, а пути к файлам в результатах инструментов, например те, которые выводятся после Edit или Write, открываются в вашем приложении по умолчанию. Простой щелчок без модификатора не открывает ссылки, что соответствует поведению встроенного терминала.108* **Удерживайте `Cmd` на macOS или `Ctrl` на Linux и Windows и щелкните URL или путь к файлу**, чтобы открыть его. Простые URL-адреса `http://` и `https://` открываются в вашем браузере, а пути к файлам в результатах инструментов, например те, которые выводятся после Edit или Write, открываются в вашем приложении по умолчанию. Простой щелчок без модификатора не открывает ссылки, что соответствует поведению встроенного терминала.

Details

11Несколько продуктов используют имя Claude Code. На этой странице рассматривается интеграция рабочего процесса `claude-code-action`, которую вы настраиваете с помощью файлов рабочего процесса в вашем репозитории. Для связанных продуктов см.:11Несколько продуктов используют имя Claude Code. На этой странице рассматривается интеграция рабочего процесса `claude-code-action`, которую вы настраиваете с помощью файлов рабочего процесса в вашем репозитории. Для связанных продуктов см.:

12 12 

13* [Code Review](/docs/ru/code-review): автоматическая проверка на каждом pull request без написания рабочего процесса13* [Code Review](/docs/ru/code-review): автоматическая проверка на каждом pull request без написания рабочего процесса

14* [Claude Code на веб-сайте](/docs/ru/claude-code-on-the-web): сеансы Claude Code из вашего браузера или телефона14* [Claude Code в облаке](/docs/ru/claude-code-on-the-web): сеансы Claude Code, которые работают на облачной инфраструктуре вместо вашей машины

15* [Claude Agent SDK](/docs/ru/agent-sdk/overview): пользовательская автоматизация вне GitHub Actions. Claude Code GitHub Action построен на основе SDK15* [Claude Agent SDK](/docs/ru/agent-sdk/overview): пользовательская автоматизация вне GitHub Actions. Claude Code GitHub Action построен на основе SDK

16* [GitHub Enterprise Server](/docs/ru/github-enterprise-server): Claude Code с самостоятельно размещённым GitHub16* [GitHub Enterprise Server](/docs/ru/github-enterprise-server): Claude Code с самостоятельно размещённым GitHub

17 17 


131 Разрешения GitHub App131 Разрешения GitHub App

132</h3>132</h3>

133 133 

134[Claude GitHub App](https://github.com/apps/claude) используется каждой функцией Claude, которая интегрируется с GitHub, включая Claude Code GitHub Action, [Code Review](/docs/ru/code-review) и [автоисправление для pull requests](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests) на Claude Code на веб-сайте. GitHub App имеет единый набор разрешений, охватывающий все его функции, поэтому набор включает некоторые разрешения, которые Claude Code GitHub Action не использует.134[Claude GitHub App](https://github.com/apps/claude) используется каждой функцией Claude, которая интегрируется с GitHub, включая Claude Code GitHub Action, [Code Review](/docs/ru/code-review) и [автоисправление для pull requests](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests) в облачных сеансах. GitHub App имеет единый набор разрешений, охватывающий все его функции, поэтому набор включает некоторые разрешения, которые Claude Code GitHub Action не использует.

135 135 

136Когда вы устанавливаете приложение, вы предоставляете следующие разрешения:136Когда вы устанавливаете приложение, вы предоставляете следующие разрешения:

137 137 

Details

41 Настройка интеграции41 Настройка интеграции

42</h2>42</h2>

43 43 

44Помимо предварительных требований, вы создаете четыре вещи: идентификацию GitHub для Claude Code GitHub Action, конфигурацию доверия на стороне облака, секреты репозитория и файл рабочего процесса. Шаги ниже проходят через каждый из них.44Помимо предварительных требований, вы создаете идентификацию GitHub для Claude Code GitHub Action, конфигурацию доверия на стороне облака, секреты репозитория и файл рабочего процесса. Шаги ниже проходят через каждый из них.

45 45 

46<Steps>46<Steps>

47 <Step title="Выберите идентификацию GitHub">47 <Step title="Выберите идентификацию GitHub">

48 Claude Code GitHub Action отправляет коммиты и публикует комментарии через идентификацию GitHub. [Быстрая настройка](/docs/ru/github-actions#quick-setup) устанавливает официальное приложение Claude GitHub App для этого. С облачным провайдером вы выбираете идентификацию сами:48 Claude Code GitHub Action отправляет коммиты и публикует комментарии через идентификацию GitHub. [Быстрая настройка](/docs/ru/github-actions#quick-setup) устанавливает официальное приложение Claude GitHub App для этого. С облачным провайдером вы выбираете идентификацию сами:

49 49 

50 * **Официальное [приложение Claude GitHub App](https://github.com/apps/claude)**: установите его на репозиторий, или пропустите на следующий шаг, если оно уже установлено50 * **Официальное [приложение Claude GitHub App](https://github.com/apps/claude)**: установите его на репозиторий, или пропустите на следующий шаг, если оно уже установлено

51 * **Пользовательское приложение GitHub**: создайте свое собственное приложение, описанное ниже, когда вам нужны только три разрешения, которые использует Claude Code GitHub Action, а не [полный набор официального приложения](/docs/ru/github-actions#github-app-permissions)51 * **Пользовательское приложение GitHub**: создайте свое собственное приложение, когда вам нужны только три разрешения, которые использует Claude Code GitHub Action, а не [полный набор официального приложения](/docs/ru/github-actions#github-app-permissions)

52 * **Автоматический `GITHUB_TOKEN` GitHub**: нет приложения для создания или установки, но GitHub не запускает ваши CI рабочие процессы на коммитах, сделанных с его помощью52 * **Автоматический `GITHUB_TOKEN` GitHub**: нет приложения для создания или установки, но GitHub не запускает ваши CI рабочие процессы на коммитах, сделанных с его помощью

53 53 

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

Details

4 4 

5# Claude Code с GitHub Enterprise Server5# Claude Code с GitHub Enterprise Server

6 6 

7> Подключите Claude Code к вашему самостоятельно размещённому экземпляру GitHub Enterprise Server для веб-сессий, проверки кода и маркетплейсов плагинов.7> Подключите Claude Code к вашему самостоятельно размещённому экземпляру GitHub Enterprise Server для облачных сессий, проверки кода и маркетплейсов плагинов.

8 8 

9<Note>9<Note>

10 Поддержка GitHub Enterprise Server доступна для планов Team и Enterprise.10 Поддержка GitHub Enterprise Server доступна для планов Team и Enterprise.

11</Note>11</Note>

12 12 

13Поддержка GitHub Enterprise Server (GHES) позволяет вашей организации использовать Claude Code с репозиториями, размещёнными на вашем самоуправляемом экземпляре GitHub вместо github.com. После того как администратор подключит ваш экземпляр GHES, разработчики смогут запускать веб-сессии и получать автоматизированные проверки кода без какой-либо конфигурации для каждого репозитория. Маркетплейсы плагинов, размещённые на вашем экземпляре, также поддерживаются; требования к учётным данным различаются в зависимости от поверхности, как описано в [Plugin marketplaces on GHES](#plugin-marketplaces-on-ghes).13Поддержка GitHub Enterprise Server (GHES) позволяет вашей организации использовать Claude Code с репозиториями, размещёнными на вашем самоуправляемом экземпляре GitHub вместо github.com. После того как администратор подключит ваш экземпляр GHES, разработчики смогут запускать облачные сессии и получать автоматизированные проверки кода без какой-либо конфигурации для каждого репозитория. Маркетплейсы плагинов, размещённые на вашем экземпляре, также поддерживаются; требования к учётным данным различаются в зависимости от поверхности, как описано в [Plugin marketplaces on GHES](#plugin-marketplaces-on-ghes).

14 14 

15Для репозиториев на github.com см. [Claude Code в веб-интерфейсе](/docs/ru/claude-code-on-the-web) и [Проверка кода](/docs/ru/code-review). Чтобы запустить Claude в вашей собственной инфраструктуре CI, см. [GitHub Actions](/docs/ru/github-actions).15Для репозиториев на github.com см. [Claude Code в облаке](/docs/ru/claude-code-on-the-web) и [Проверка кода](/docs/ru/code-review). Чтобы запустить Claude в вашей собственной инфраструктуре CI, см. [GitHub Actions](/docs/ru/github-actions).

16 16 

17<h2 id="what-works-with-github-enterprise-server">17<h2 id="what-works-with-github-enterprise-server">

18 Что работает с GitHub Enterprise Server18 Что работает с GitHub Enterprise Server


21В таблице ниже показано, какие функции Claude Code поддерживают GHES и какие различия есть по сравнению с поведением github.com.21В таблице ниже показано, какие функции Claude Code поддерживают GHES и какие различия есть по сравнению с поведением github.com.

22 22 

23| Функция | Поддержка GHES | Примечания |23| Функция | Поддержка GHES | Примечания |

24| :--------------------------- | :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------- |24| :-------------------- | :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------- |

25| Claude Code в веб-интерфейсе | ✅ Поддерживается | Администратор подключает экземпляр GHES один раз; разработчики используют `claude --cloud` или [claude.ai/code](https://claude.ai/code) как обычно |25| Cloud sessions | ✅ Поддерживается | Владелец подключает экземпляр GHES один раз; разработчики используют `claude --cloud` или [claude.ai/code](https://claude.ai/code) как обычно |

26| Проверка кода | ✅ Поддерживается | Те же автоматизированные проверки PR, что и на github.com |26| Проверка кода | ✅ Поддерживается | Те же автоматизированные проверки PR, что и на github.com |

27| Claude Security | ✅ Поддерживается | Доступно в открытой бета-версии для планов Enterprise на [claude.ai/security](https://claude.ai/security) |27| Claude Security | ✅ Поддерживается | Доступно в открытой бета-версии для планов Enterprise на [claude.ai/security](https://claude.ai/security) |

28| Сессии Teleport | ✅ Поддерживается | Перемещайте сессии между веб-интерфейсом и терминалом с помощью `--teleport` |28| Teleport sessions | ✅ Поддерживается | Перемещайте сессии между облаком и терминалом с помощью `--teleport` |

29| Маркетплейсы плагинов | ✅ Поддерживается | Требования к учётным данным различаются в зависимости от поверхности. См. [Маркетплейсы плагинов на GHES](#plugin-marketplaces-on-ghes) |29| Маркетплейсы плагинов | ✅ Поддерживается | Требования к учётным данным различаются в зависимости от поверхности. См. [Маркетплейсы плагинов на GHES](#plugin-marketplaces-on-ghes) |

30| Метрики вклада | ✅ Поддерживается | Доставляются через webhooks на [панель аналитики](/docs/ru/analytics) |30| Метрики вклада | ✅ Поддерживается | Доставляются через webhooks на [панель аналитики](/docs/ru/analytics) |

31| GitHub Actions | ✅ Поддерживается | Требует ручной настройки workflow; `/install-github-app` доступен только для github.com |31| GitHub Actions | ✅ Поддерживается | Требует ручной настройки workflow; `/install-github-app` доступен только для github.com |


110cd api-service110cd api-service

111```111```

112 112 

113Затем запустите веб-сессию. Claude обнаруживает хост GHES из вашего git remote и маршрутизирует сессию через настроенный экземпляр вашей организации:113Затем запустите облачную сессию. Claude обнаруживает хост GHES из вашего git remote и маршрутизирует сессию через настроенный экземпляр вашей организации:

114 114 

115```bash theme={null}115```bash theme={null}

116claude --cloud "Add retry logic to the payment webhook handler"116claude --cloud "Add retry logic to the payment webhook handler"

117```117```

118 118 

119Сессия клонирует ваш репозиторий из GHES и отправляет изменения обратно в ветку. Отслеживайте прогресс на [claude.ai/code](https://claude.ai/code). См. [Claude Code в веб-интерфейсе](/docs/ru/claude-code-on-the-web) для полного рабочего процесса облачной сессии, включая проверку diff, автоисправление и процедуры.119Сессия клонирует ваш репозиторий из GHES и отправляет изменения обратно в ветку. Отслеживайте прогресс на [claude.ai/code](https://claude.ai/code). См. [Use Claude Code in the cloud](/docs/ru/claude-code-on-the-web) для полного рабочего процесса облачной сессии, включая проверку diff, автоисправление и процедуры.

120 120 

121<h3 id="teleport-sessions-to-your-terminal">121<h3 id="teleport-sessions-to-your-terminal">

122 Телепортируйте сессии в ваш терминал122 Телепортируйте сессии в ваш терминал

123</h3>123</h3>

124 124 

125Перенесите веб-сессию в ваш локальный терминал с помощью `claude --teleport`. Teleport проверяет, что вы находитесь в checkout того же репозитория GHES, прежде чем получить ветку и загрузить историю сессии. См. [требования teleport](/docs/ru/claude-code-on-the-web#teleport-requirements) для получения подробной информации.125Перенесите облачную сессию в ваш локальный терминал с помощью `claude --teleport`. Teleport проверяет, что вы находитесь в checkout того же репозитория GHES, прежде чем получить ветку и загрузить историю сессии. См. [требования teleport](/docs/ru/claude-code-on-the-web#teleport-requirements) для получения подробной информации.

126 126 

127<h2 id="plugin-marketplaces-on-ghes">127<h2 id="plugin-marketplaces-on-ghes">

128 Маркетплейсы плагинов на GHES128 Рынки плагинов на GHES

129</h2>129</h2>

130 130 

131Размещайте маркетплейсы плагинов на вашем экземпляре GHES для распределения внутренних инструментов по всей вашей организации. Структура маркетплейса идентична маркетплейсам, размещённым на github.com, но установка работает по-разному в зависимости от того, где вы добавляете маркетплейс, и учётные данные различаются на разных поверхностях:131Размещайте рынки плагинов на вашем экземпляре GHES для распределения внутренних инструментов по всей организации. Структура рынка идентична рынкам, размещённым на github.com, но установка работает по-разному в зависимости от того, где вы добавляете рынок, и учётные данные различаются на разных поверхностях:

132 132 

133| Поверхность | Как работает установка | Что нужно каждому пользователю |133| Поверхность | Как работает установка | Что нужно каждому пользователю |

134| :----------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |134| :----------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

135| Claude Code CLI и десктоп | Claude Code клонирует репозиторий маркетплейса, используя существующие учётные данные git машины | Доступ Git к вашему хосту GHES с их машины |135| Claude Code CLI и desktop | Claude Code клонирует репозиторий рынка, используя существующие учётные данные git машины | Доступ Git к вашему хосту GHES с их машины |

136| Управляемые параметры (`extraKnownMarketplaces`) | Claude Code регистрирует запись и клонирует репозиторий, используя существующие учётные данные git машины | Доступ Git к вашему хосту GHES с их машины |136| Управляемые параметры (`extraKnownMarketplaces`) | Claude Code регистрирует запись и клонирует репозиторий, используя существующие учётные данные git машины | Доступ Git к вашему хосту GHES с их машины |

137| Параметры плагина организации claude.ai | Владелец выбирает экземпляр GHES в качестве источника; серверная часть Anthropic получает и синхронизирует репозиторий, используя GitHub App из [настройки администратора](#admin-setup) | Ничего для каждого пользователя после добавления. Владельцу, добавляющему его, нужна собственная подключённая учётная запись GitHub Enterprise в качестве проверки доступа, и GitHub App должно быть установлено на репозиторий маркетплейса |137| Параметры плагина организации claude.ai | Владелец выбирает экземпляр GHES в качестве источника; серверная часть Anthropic получает и синхронизирует репозиторий, используя GitHub App из [настройки администратора](#admin-setup) | Ничего на пользователя после добавления. Владельцу, добавляющему его, нужна собственная учётная запись GitHub Enterprise, подключённая в качестве проверки доступа, и GitHub App должно быть установлено на репозиторий рынка |

138| Параметры пользователя claude.ai | Серверная часть Anthropic получает репозиторий, используя подключение GitHub Enterprise отправляющего пользователя | Собственная учётная запись GitHub Enterprise, подключённая к Claude |138| Параметры пользователя claude.ai | Серверная часть Anthropic получает репозиторий, используя подключение GitHub Enterprise отправляющего пользователя | Собственная учётная запись GitHub Enterprise, подключённая к Claude |

139| Claude Code в веб-версии | Облачные сеансы клонируют маркетплейсы внутри песочницы сеанса. Песочница может достичь вашего экземпляра GHES только когда репозиторий сеанса находится на том же экземпляре, и его учётные данные git ограничены репозиториями сеанса | Ненадёжно для маркетплейсов, размещённых на GHES: другой хост, чем репозиторий сеанса, недостижим, и даже установки на одном экземпляре могут не пройти. Используйте вместо этого CLI, управляемые параметры или claude.ai |139| Cloud sessions | Cloud sessions клонируют рынки внутри песочницы сеанса. Песочница может достичь вашего экземпляра GHES только когда репозиторий сеанса находится на том же экземпляре, и его учётные данные git ограничены репозиториями сеанса | Ненадёжно для рынков, размещённых на GHES: другой хост, чем репозиторий сеанса, недостижим, и даже установки на одном экземпляре могут не пройти. Используйте вместо этого CLI, управляемые параметры или claude.ai |

140 140 

141<Warning>141<Warning>

142 Подключения GitHub Enterprise на claude.ai являются пользовательскими, когда маркетплейс добавляется из параметров пользователя. [Настройка администратора](#admin-setup) подключает ваш экземпляр GHES к вашей организации, но она не подключает отдельные учётные записи пользователей: каждый пользователь, который добавляет маркетплейс GHES из своих собственных параметров, должен сначала подключить собственную учётную запись GitHub Enterprise, и подключение одного пользователя, включая подключение Владельца, не охватывает никого другого. Маркетплейсы, добавленные Владельцем в параметры плагина организации, не накладывают это требование на пользователей, потому что текущие получения используют GitHub App организации. Владельцу, добавляющему маркетплейс, всё ещё нужна собственная подключённая учётная запись GitHub Enterprise во время добавления.142 Подключения GitHub Enterprise на claude.ai являются пользовательскими, когда рынок добавляется из параметров пользователя. [Настройка администратора](#admin-setup) подключает ваш экземпляр GHES к вашей организации, но она не подключает отдельные учётные записи пользователей: каждый пользователь, который добавляет рынок GHES из своих собственных параметров, должен сначала подключить собственную учётную запись GitHub Enterprise, и подключение одного пользователя, включая подключение Владельца, не охватывает никого другого. Рынки, добавленные Владельцем в параметры плагина организации, не налагают это требование на пользователей, потому что текущие получения используют GitHub App организации. Владельцу, добавляющему рынок, всё ещё нужна собственная учётная запись GitHub Enterprise, подключённая во время добавления.

143</Warning>143</Warning>

144 144 

145<h3 id="add-a-ghes-marketplace">145<h3 id="add-a-ghes-marketplace">

146 Добавьте маркетплейс GHES146 Добавить рынок GHES

147</h3>147</h3>

148 148 

149Сокращение `owner/repo` всегда разрешается на github.com. Для маркетплейсов, размещённых на GHES, используйте полный URL-адрес git, заменив `github.example.com` и путь репозитория на свои собственные. Рекомендуются HTTPS URL-адреса:149Сокращение `owner/repo` всегда разрешается в github.com. Для рынков, размещённых на GHES, используйте полный URL git, заменив `github.example.com` и путь репозитория на свои. Рекомендуются URL HTTPS:

150 150 

151```bash theme={null}151```bash theme={null}

152/plugin marketplace add https://github.example.com/platform/claude-plugins.git152/plugin marketplace add https://github.example.com/platform/claude-plugins.git

153```153```

154 154 

155SSH URL-адреса работают, если машина уже доверяет вашему хосту GHES:155URL SSH работают, если машина уже доверяет вашему хосту GHES:

156 156 

157```bash theme={null}157```bash theme={null}

158/plugin marketplace add git@github.example.com:platform/claude-plugins.git158/plugin marketplace add git@github.example.com:platform/claude-plugins.git

159```159```

160 160 

161Claude Code запускает git неинтерактивно и отклоняет SSH-подключения к хостам, которые отсутствуют в файле `known_hosts` машины. HTTPS URL-адрес с помощником учётных данных git избегает требования `known_hosts`.161Claude Code запускает git неинтерактивно и отклоняет SSH-подключения к хостам, которые отсутствуют в файле `known_hosts` машины. URL HTTPS с помощником учётных данных git избегает требования `known_hosts`.

162 162 

163См. [Создание и распределение маркетплейса плагинов](/docs/ru/plugin-marketplaces) для полного руководства по созданию маркетплейсов.163Полное руководство по созданию рынков см. в разделе [Создание и распределение рынка плагинов](/docs/ru/plugin-marketplaces).

164 164 

165<h3 id="pre-register-ghes-marketplaces-with-managed-settings">165<h3 id="pre-register-ghes-marketplaces-with-managed-settings">

166 Предварительно зарегистрируйте маркетплейсы GHES с управляемыми параметрами166 Предварительная регистрация рынков GHES с управляемыми параметрами

167</h3>167</h3>

168 168 

169Параметр `extraKnownMarketplaces` предварительно регистрирует маркетплейс, чтобы разработчики получили его без ручной настройки. Это работает из [любого файла параметров](/docs/ru/settings-reference#extraknownmarketplaces), включая `.claude/settings.json` репозитория; управляемые параметры доставляют его по всей организации:169Параметр `extraKnownMarketplaces` предварительно регистрирует рынок, чтобы разработчики получили его без ручной настройки. Он работает из [любого файла параметров](/docs/ru/settings-reference#extraknownmarketplaces), включая `.claude/settings.json` репозитория; управляемые параметры доставляют его по всей организации:

170 170 

171```json theme={null}171```json theme={null}

172{172{


181}181}

182```182```

183 183 

184Claude Code устанавливает эти маркетплейсы локально: он регистрирует каждую запись и клонирует репозиторий с существующими учётными данными git машины. Этот путь не проходит через claude.ai, поэтому подключение GitHub Enterprise для каждого пользователя не требуется. Для успешного развёртывания:184Claude Code устанавливает эти рынки локально: он регистрирует каждую запись и клонирует репозиторий с существующими учётными данными git машины. Этот путь не проходит через claude.ai, поэтому подключение GitHub Enterprise для каждого пользователя не требуется. Для успешного развёртывания:

185 185 

186* **Используйте полный URL-адрес git.** Сокращение `owner/repo` всегда разрешается на github.com и не может ссылаться на хост GHES.186* **Используйте полный URL git.** Сокращение `owner/repo` всегда разрешается в github.com и не может ссылаться на хост GHES.

187* **Предпочитайте HTTPS URL-адреса.** SSH-клоны не работают на машинах, которые уже не доверяют ключу хоста GHES. HTTPS URL-адрес с помощником учётных данных git вашей организации работает на любой машине с настроенными учётными данными.187* **Предпочитайте URL HTTPS.** SSH-клоны не работают на машинах, которые ещё не доверяют ключу хоста GHES. URL HTTPS с помощником учётных данных git вашей организации работает на любой машине с настроенными учётными данными.

188* **Подтвердите, что каждая машина может клонировать с вашего хоста GHES.** Если машине не хватает учётных данных, маркетплейс регистрируется, но никогда не устанавливается, и его плагины сообщают об отсутствии вместо запроса учётных данных.188* **Подтвердите, что каждая машина может клонировать с вашего хоста GHES.** Если машине не хватает учётных данных, рынок регистрируется, но никогда не устанавливается, и его плагины сообщают об отсутствии вместо запроса учётных данных.

189* **Подтвердите, что параметр достигает каждой машины.** Файл управляемых параметров вступает в силу только на машинах, на которые он развёрнут, например через вашу систему управления устройствами. См. [Развёртывание управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms) для расположения файлов.189* **Подтвердите, что параметр достигает каждой машины.** Файл управляемых параметров вступает в силу только на машинах, на которые он развёрнут, например через вашу систему управления устройствами. Расположение файлов см. в разделе [Развёртывание управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms).

190 190 

191<h3 id="allowlist-ghes-marketplaces-in-managed-settings">191<h3 id="allowlist-ghes-marketplaces-in-managed-settings">

192 Добавьте маркетплейсы GHES в список разрешений в управляемых параметрах192 Разрешить рынки GHES в управляемых параметрах

193</h3>193</h3>

194 194 

195Если ваша организация использует [управляемые параметры](/docs/ru/settings) для ограничения того, какие маркетплейсы разработчики могут добавлять, используйте тип источника `hostPattern` для разрешения всех маркетплейсов из вашего экземпляра GHES без перечисления каждого репозитория. См. [Механизмы доставки](/docs/ru/managed-settings#delivery-mechanisms) для расположения файлов на каждой платформе. Добавьте JSON в ваш файл `managed-settings.json` или эквивалентную политику MDM:195Если ваша организация использует [управляемые параметры](/docs/ru/settings) для ограничения того, какие рынки разработчики могут добавлять, используйте тип источника `hostPattern` для разрешения всех рынков с вашего экземпляра GHES без перечисления каждого репозитория. Расположение файлов на каждой платформе см. в разделе [Механизмы доставки](/docs/ru/managed-settings#delivery-mechanisms). Добавьте JSON в файл `managed-settings.json` или эквивалентную политику MDM:

196 196 

197```json theme={null}197```json theme={null}

198{198{


205}205}

206```206```

207 207 

208См. справочник параметров [strictKnownMarketplaces](/docs/ru/settings-reference#strictknownmarketplaces) и [extraKnownMarketplaces](/docs/ru/settings-reference#extraknownmarketplaces) для полной схемы.208Полную схему см. в справочнике параметров [strictKnownMarketplaces](/docs/ru/settings-reference#strictknownmarketplaces) и [extraKnownMarketplaces](/docs/ru/settings-reference#extraknownmarketplaces).

209 209 

210<h2 id="limitations">210<h2 id="limitations">

211 Ограничения211 Ограничения


220 Troubleshooting220 Troubleshooting

221</h2>221</h2>

222 222 

223<h3 id="web-session-fails-to-clone-repository">223<h3 id="cloud-session-fails-to-clone-repository">

224 Веб-сессия не может клонировать репозиторий224 Cloud session fails to clone repository

225</h3>225</h3>

226 226 

227Если `claude --cloud` завершается с ошибкой клонирования, убедитесь, что владелец завершил настройку для вашего экземпляра GHES и что GitHub App установлено на репозитории, над которым вы работаете. Попросите владельца, который подключил экземпляр, подтвердить, что имя хоста, зарегистрированное в параметрах Claude, совпадает с именем хоста в вашем git remote.227Если `claude --cloud` завершается с ошибкой клонирования, убедитесь, что владелец завершил настройку для вашего экземпляра GHES и что GitHub App установлено на репозитории, над которым вы работаете. Попросите владельца, который подключил экземпляр, подтвердить, что имя хоста, зарегистрированное в параметрах Claude, совпадает с именем хоста в вашем git remote.


246 Экземпляр GHES недоступен246 Экземпляр GHES недоступен

247</h3>247</h3>

248 248 

249Если проверки или веб-сессии истекают по времени, ваш экземпляр GHES может быть недоступен из инфраструктуры Anthropic. Убедитесь, что ваш брандмауэр разрешает входящие соединения с [IP-адресов Anthropic](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses). Сессии в [самостоятельно размещённой среде](/docs/ru/self-hosted-environments) достигают GHES изнутри вашей сети, поэтому для них проверьте собственный сетевой путь runner и [SCM connector](/docs/ru/self-hosted-environments-reference#scm-connector-flags) вместо этого.249Если проверки или облачные сессии истекают по времени, ваш экземпляр GHES может быть недоступен из инфраструктуры Anthropic. Убедитесь, что ваш брандмауэр разрешает входящие соединения с [IP-адресов Anthropic](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses). Сессии в [самостоятельно размещённой среде](/docs/ru/self-hosted-environments) достигают GHES изнутри вашей сети, поэтому для них проверьте собственный сетевой путь runner и [SCM connector](/docs/ru/self-hosted-environments-reference#scm-connector-flags) вместо этого.

250 250 

251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">

252 Запуск сессии не удаётся с `Unable to get organization UUID`252 Запуск сессии не удаётся с `Unable to get organization UUID`

253</h3>253</h3>

254 254 

255Веб-сессии требуют организацию Team или Enterprise. Выполните вход с помощью `/login`, используя учётную запись вашей организации. Если вы аутентифицируетесь с помощью ключа API, веб-сессии завершаются ошибкой раньше с сообщением, просящим вас запустить `/login`.255Облачные сессии требуют организацию Team или Enterprise. Выполните вход с помощью `/login`, используя учётную запись вашей организации. Если вы аутентифицируетесь с помощью ключа API, облачные сессии завершаются ошибкой раньше с сообщением, просящим вас запустить `/login`.

256 256 

257<h2 id="related-resources">257<h2 id="related-resources">

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

glossary.md +22 −5

Details

12 A12 A

13</h2>13</h2>

14 14 

15<h3 id="agents-md">

16 AGENTS.md

17</h3>

18 

19Файл markdown с инструкциями проекта, которые вы пишете для AI-агентов кодирования. Если в вашем репозитории есть такой файл и нет [CLAUDE.md](#claude-md), Claude читает его как инструкции вашего проекта без необходимости добавления второго файла. Вы можете изменить параметр **Project instructions** в `/config`, чтобы Claude читал оба файла или только `CLAUDE.md`. Прямое чтение `AGENTS.md` требует Claude Code v2.1.277 или более поздней версии в сеансе, который получает флаги функций; в других версиях импортируйте его из CLAUDE.md.

20 

21Подробнее: [AGENTS.md](/docs/ru/memory#agents-md)

22 

15<h3 id="agent-teams">23<h3 id="agent-teams">

16 Agent teams24 Agent teams

17</h3>25</h3>


122 130 

123Файл markdown с постоянными инструкциями, которые вы пишете для Claude, загружаемый в начале каждого сеанса как пользовательское сообщение после системного prompt. Поместите сюда соглашения проекта, заметки об архитектуре и правила "всегда делай X". CLAUDE.md в корне проекта сохраняется при [compaction](#compaction) и перечитывается свежим с диска после этого.131Файл markdown с постоянными инструкциями, которые вы пишете для Claude, загружаемый в начале каждого сеанса как пользовательское сообщение после системного prompt. Поместите сюда соглашения проекта, заметки об архитектуре и правила "всегда делай X". CLAUDE.md в корне проекта сохраняется при [compaction](#compaction) и перечитывается свежим с диска после этого.

124 132 

125Вы можете разместить CLAUDE.md в области проекта в `./CLAUDE.md` или `./.claude/CLAUDE.md`, в области пользователя в `~/.claude/CLAUDE.md` или как [managed policy](#managed-settings) для вашей организации. Все обнаруженные файлы объединяются в контекст, а не переопределяют друг друга, упорядочены от самой широкой области к наиболее специфичной.133Вы можете разместить CLAUDE.md в области проекта в `./CLAUDE.md` или `./.claude/CLAUDE.md`, в области пользователя в `~/.claude/CLAUDE.md` или как [managed policy](#managed-settings) для вашей организации. Все обнаруженные файлы объединяются в контекст, а не переопределяют друг друга, упорядочены от самой широкой области к наиболее специфичной. Claude Code также может загружать файлы [AGENTS.md](#agents-md) проекта, отдельно или вместе с CLAUDE.md.

126 134 

127Подробнее: [CLAUDE.md files](/docs/ru/memory#claude-md-files)135Подробнее: [CLAUDE.md files](/docs/ru/memory#claude-md-files)

128 136 

137<h3 id="cloud-session">

138 Cloud session

139</h3>

140 

141Сеанс Claude Code, который продолжает работать после закрытия вашего ноутбука, потому что он работает на облачной инфраструктуре вместо вашей машины: управляется Anthropic по умолчанию или [self-hosted environment](/docs/ru/self-hosted-environments), которую управляет ваша организация. Вы запускаете его с claude.ai/code, мобильного приложения Claude, приложения Desktop с выбранным **Cloud**, `claude --cloud` или [routine](/docs/ru/routines). Сеанс в вашем терминале, IDE или приложении Desktop с выбранным **Local** — это локальный сеанс; чтобы получить доступ к локальному сеансу с другого устройства, используйте [Remote Control](#remote-control).

142 

143Подробнее: [Use Claude Code in the cloud](/docs/ru/claude-code-on-the-web)

144 

129<h3 id="command">145<h3 id="command">

130 Command146 Command

131</h3>147</h3>


332 Remote Control348 Remote Control

333</h3>349</h3>

334 350 

335Способ продолжить локальный сеанс Claude Code с вашего телефона или браузера через claude.ai. Ваш код остаётся на вашей машине; только UI является удалённым. Отличается от Claude Code в веб-версии, который работает в облачной песочнице.351Способ продолжить локальный сеанс Claude Code с вашего телефона или браузера через claude.ai. Ваш код и файлы остаются на вашей машине; интерфейс является удалённым. Отличается от [облачного сеанса](/docs/ru/claude-code-on-the-web), который работает в облачной песочнице.

336 352 

337Подробнее: [Remote Control](/docs/ru/remote-control)353Подробнее: [Remote Control](/docs/ru/remote-control)

338 354 


408 Teleport424 Teleport

409</h3>425</h3>

410 426 

411Команда, `/teleport`, которая вытягивает облачный сеанс Claude Code в ваш локальный терминал. Claude получает ветку, загружает историю разговора и возобновляет с последнего состояния веб-сеанса. Обратное направление — `--cloud`, которое отправляет локальную задачу для запуска в веб-версии.427Команда, `/teleport`, которая вытягивает облачный сеанс Claude Code в ваш локальный терминал. Claude получает ветку, загружает историю разговора и возобновляет с последнего состояния облачного сеанса. Обратное направление — `--cloud`, которое отправляет локальную задачу для запуска в облаке.

412 428 

413Подробнее: [From web to terminal](/docs/ru/claude-code-on-the-web#from-web-to-terminal)429Подробнее: [From cloud to terminal](/docs/ru/claude-code-on-the-web#from-cloud-to-terminal)

414 430 

415<h3 id="tool">431<h3 id="tool">

416 Tool432 Tool


461Эти термины появляются в старых документах, постах блога и содержимом сообщества. Используйте текущее имя при поиске на этом сайте.477Эти термины появляются в старых документах, постах блога и содержимом сообщества. Используйте текущее имя при поиске на этом сайте.

462 478 

463| Old term | Now called | Notes |479| Old term | Now called | Notes |

464| --------------- | --------------------------------------------- | ------------------------------------ |480| ----------------------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------- |

465| Headless mode | [Non-interactive mode](#non-interactive-mode) | Same `-p` flag, same behavior |481| Headless mode | [Non-interactive mode](#non-interactive-mode) | Same `-p` flag, same behavior |

482| Web session; "Claude Code on the web" as the name for any cloud session | [Cloud session](#cloud-session) | "Claude Code on the web" now names only the browser surface at claude.ai/code |

466| Custom commands | [Skills](#skill) | `.claude/commands/` files still work |483| Custom commands | [Skills](#skill) | `.claude/commands/` files still work |

467| Slash commands | Commands | "Slash" dropped from product copy |484| Slash commands | Commands | "Slash" dropped from product copy |

headless.md +7 −1

Details

343Флаг `--allowedTools` использует [синтаксис правила разрешений](/docs/ru/settings-reference#permission-rule-syntax). Завершающий ` *` включает сопоставление префиксов, поэтому `Bash(git diff *)` разрешает любую команду, начинающуюся с `git diff`. Пробел перед `*` важен: без него `Bash(git diff*)` также совпадал бы с `git diff-index`.343Флаг `--allowedTools` использует [синтаксис правила разрешений](/docs/ru/settings-reference#permission-rule-syntax). Завершающий ` *` включает сопоставление префиксов, поэтому `Bash(git diff *)` разрешает любую команду, начинающуюся с `git diff`. Пробел перед `*` важен: без него `Bash(git diff*)` также совпадал бы с `git diff-index`.

344 344 

345<Note>345<Note>

346 Вызванные пользователем [skills](/docs/ru/skills) и пользовательские команды работают в режиме `-p`: включите `/skill-name` в строку приглашения и Claude Code развернёт её перед запуском. Встроенные команды, которые работают только в интерфейсе терминала, такие как `/login`, недоступны в режиме `-p`. `/model`, `/effort`, `/fast`, `/color` и `/rename` принимают значение как аргумент, например `/model sonnet`, а `/mcp` без аргумента выводит текстовую сводку статуса сервера; эти формы требуют Claude Code версии 2.1.205 или позже и следуют [примечаниям доступности](/docs/ru/commands#all-commands) каждой команды. Чтобы изменить параметр из вызова `-p`, передайте `key=value` в `/config`, например `/config thinking=false`.346 Поддержка команд отличается в режиме `-p`:

347 

348 * Вызванные пользователем [skills](/docs/ru/skills) и пользовательские команды работают. Включите `/skill-name` в строку приглашения и Claude Code развернёт её перед запуском.

349 * Встроенные команды, которые работают только в интерфейсе терминала, такие как `/login`, недоступны.

350 * `/model`, `/effort`, `/fast`, `/color` и `/rename` принимают значение как аргумент, например `/model sonnet`, а `/mcp` без аргумента выводит текстовую сводку статуса сервера. Эти формы требуют Claude Code версии 2.1.205 или позже и следуют [примечаниям доступности](/docs/ru/commands#all-commands) каждой команды.

351 * Чтобы изменить параметр, передайте `key=value` в `/config`, например `/config thinking=false`.

352 * `/output-style <style>` переключает [стили вывода](/docs/ru/output-styles) и `/output-style` один переключает их список. Требует Claude Code версии 2.1.269 или позже.

347</Note>353</Note>

348 354 

349<h3 id="customize-the-system-prompt">355<h3 id="customize-the-system-prompt">

hooks.md +1455 −689

Details

10 Для краткого руководства с примерами см. [Автоматизация рабочих процессов с помощью hooks](/docs/ru/hooks-guide).10 Для краткого руководства с примерами см. [Автоматизация рабочих процессов с помощью hooks](/docs/ru/hooks-guide).

11</Tip>11</Tip>

12 12 

13Hooks — это определяемые пользователем команды оболочки, конечные точки HTTP или подсказки LLM, которые выполняются автоматически в определённых точках жизненного цикла Claude Code. Используйте этот справочник для поиска схем событий, параметров конфигурации, форматов JSON входа/выхода и расширенных функций, таких как асинхронные hooks, HTTP hooks и MCP tool hooks. Если вы настраиваете hooks впервые, начните с [руководства](/docs/ru/hooks-guide).13Hooks — это определяемые пользователем команды оболочки, конечные точки HTTP, вызовы инструментов MCP, подсказки LLM или подагенты, которые выполняются автоматически в определённых точках жизненного цикла Claude Code. Claude Code запускает одни и те же события hook везде, где он работает: сеансы в терминале, расширения IDE, [приложение Desktop](/docs/ru/desktop-quickstart) и [облачные сеансы](/docs/ru/claude-code-on-the-web). Используйте этот справочник для поиска схем событий, параметров конфигурации, форматов JSON входа/выхода и расширенных функций, таких как асинхронные hooks, HTTP hooks и MCP tool hooks.

14 14 

15<h2 id="hook-lifecycle">15<h2 id="hook-lifecycle">

16 Жизненный цикл hook16 Жизненный цикл hook

17</h2>17</h2>

18 18 

19Hooks срабатывают в определённых точках во время сеанса Claude Code. Когда событие срабатывает и совпадает с фильтром, Claude Code передаёт JSON-контекст события вашему обработчику hook. Для command hooks входные данные поступают на stdin. Для HTTP hooks они поступают как тело POST-запроса. Ваш обработчик может затем проверить входные данные, выполнить действие и опционально вернуть решение.19Claude Code запускает hooks в определённых точках во время сеанса. Когда событие срабатывает и совпадает с фильтром, Claude Code передаёт JSON-контекст события вашему обработчику hook. Для command hooks входные данные поступают на stdin. Для HTTP hooks они поступают как тело POST-запроса. Ваш обработчик может затем проверить входные данные, выполнить действие и опционально вернуть решение.

20 20 

21События срабатывают в трёх ритмах:21События срабатывают в трёх ритмах:

22 22 

23* один раз за сеанс: `SessionStart` и `SessionEnd`23* один раз за сеанс: `SessionStart` и `SessionEnd`

24* один раз за ход: `UserPromptSubmit`, `Stop` и `StopFailure`24* один раз за ход: `UserPromptSubmit`, `Stop` и `StopFailure`

25* при каждом вызове инструмента внутри агентного цикла: `PreToolUse` и `PostToolUse`25* при каждом вызове инструмента внутри агентного цикла: `PreToolUse` и `PostToolUse`, за исключением вызовов [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), которые пропускают оба

26 26 

27<div style={{maxWidth: "500px", margin: "0 auto"}}>27<div style={{maxWidth: "500px", margin: "0 auto"}}>

28 <Frame>28 <Frame>

29 <img src="https://mintcdn.com/claude-code/x7pO8l4XcvAXCoVc/images/hooks-lifecycle.svg?fit=max&auto=format&n=x7pO8l4XcvAXCoVc&q=85&s=81b9256c1bbe8832553485f5d9e9c746" alt="Диаграмма жизненного цикла hook, показывающая опциональный Setup, переходящий в SessionStart, затем цикл за ход, содержащий UserPromptSubmit, UserPromptExpansion для slash commands, вложенный агентный цикл (PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, PostToolBatch, SubagentStart/Stop, TaskCreated, TaskCompleted) и Stop или StopFailure, за которым следуют TeammateIdle, PreCompact, PostCompact и SessionEnd, с Elicitation и ElicitationResult вложенными внутри выполнения MCP tool, PermissionDenied как боковая ветвь от PermissionRequest для автоматических отказов, WorktreeCreate, WorktreeRemove, Notification, ConfigChange, InstructionsLoaded, CwdChanged и FileChanged как отдельные асинхронные события, и MessageDisplay как событие только для отображения, которое выполняется во время потоковой передачи текста сообщения помощника" width="520" height="1336" data-path="images/hooks-lifecycle.svg" />29 <img src="https://mintcdn.com/claude-code/x7pO8l4XcvAXCoVc/images/hooks-lifecycle.svg?fit=max&auto=format&n=x7pO8l4XcvAXCoVc&q=85&s=81b9256c1bbe8832553485f5d9e9c746" className="dark:hidden" alt="Диаграмма жизненного цикла hook, показывающая опциональный Setup, переходящий в SessionStart, затем цикл за ход, содержащий UserPromptSubmit, UserPromptExpansion для slash commands, вложенный агентный цикл (PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, PostToolBatch, SubagentStart/Stop, TaskCreated, TaskCompleted) и Stop или StopFailure, за которым следуют TeammateIdle, PreCompact, PostCompact и SessionEnd, с Elicitation и ElicitationResult вложенными внутри выполнения MCP tool, PermissionDenied как боковая ветвь от PermissionRequest для автоматических отказов, WorktreeCreate, WorktreeRemove, Notification, ConfigChange, InstructionsLoaded, CwdChanged, FileChanged и DirectoryAdded как отдельные асинхронные события, PreModelSwitch как отдельное последовательное событие, которое запускается перед запрошенным переключением модели, PostModelSwitch как отдельное асинхронное событие, которое запускается после изменения модели сеанса, и MessageDisplay как событие только для отображения, которое запускается во время потоковой передачи текста сообщения помощника" width="520" height="1336" data-path="images/hooks-lifecycle.svg" />

30 

31 <img src="https://mintcdn.com/claude-code/x7pO8l4XcvAXCoVc/images/hooks-lifecycle-dark.svg?fit=max&auto=format&n=x7pO8l4XcvAXCoVc&q=85&s=c9b3d88487335f58cce0b52e2f9e7531" className="hidden dark:block" alt="Диаграмма жизненного цикла hook, показывающая опциональный Setup, переходящий в SessionStart, затем цикл за ход, содержащий UserPromptSubmit, UserPromptExpansion для slash commands, вложенный агентный цикл (PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, PostToolBatch, SubagentStart/Stop, TaskCreated, TaskCompleted) и Stop или StopFailure, за которым следуют TeammateIdle, PreCompact, PostCompact и SessionEnd, с Elicitation и ElicitationResult вложенными внутри выполнения MCP tool, PermissionDenied как боковая ветвь от PermissionRequest для автоматических отказов, WorktreeCreate, WorktreeRemove, Notification, ConfigChange, InstructionsLoaded, CwdChanged, FileChanged и DirectoryAdded как отдельные асинхронные события, PreModelSwitch как отдельное последовательное событие, которое запускается перед запрошенным переключением модели, PostModelSwitch как отдельное асинхронное событие, которое запускается после изменения модели сеанса, и MessageDisplay как событие только для отображения, которое запускается во время потоковой передачи текста сообщения помощника" width="520" height="1336" data-path="images/hooks-lifecycle-dark.svg" />

30 </Frame>32 </Frame>

31</div>33</div>

32 34 

33Таблица ниже суммирует, когда срабатывает каждое событие. Раздел [Hook events](#hook-events) документирует полную схему входа и параметры управления решением для каждого события.35Таблица ниже суммирует, когда срабатывает каждое событие. Раздел [Hook events](#hook-events) документирует полную схему входа и параметры управления решением для каждого события.

34 36 

35| Event | When it fires |37| Событие | Когда оно срабатывает |

36| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |38| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

37| `SessionStart` | When a session begins or resumes |39| `SessionStart` | Когда сеанс начинается или возобновляется |

38| `Setup` | When you start Claude Code with `--init-only`, or with `--init` or `--maintenance` in `-p` mode. For one-time preparation in CI or scripts |40| `Setup` | Когда вы запускаете Claude Code с `--init-only`, или с `--init` или `--maintenance` в режиме `-p`. Для одноразовой подготовки в CI или скриптах |

39| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |41| `UserPromptSubmit` | Когда вы отправляете запрос, прежде чем Claude его обработает |

40| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |42| `UserPromptExpansion` | Когда команда, введённая пользователем, расширяется в запрос, прежде чем она достигнет Claude. Может заблокировать расширение |

41| `PreToolUse` | Before a tool call executes. Can block it |43| `PreToolUse` | Перед выполнением вызова инструмента. Может заблокировать его |

42| `PermissionRequest` | When a tool call needs a permission decision |44| `PermissionRequest` | Когда вызов инструмента требует решения о разрешении |

43| `PermissionDenied` | When auto mode denies a tool call, including denials without a classifier verdict. Use JSON `hookSpecificOutput.retry: true` to tell the model it may retry the denied tool call. Claude Code ignores `retry` when the classifier produced no verdict |45| `PermissionDenied` | Когда автоматический режим отклоняет вызов инструмента, включая отклонения без вердикта классификатора. Используйте JSON `hookSpecificOutput.retry: true`, чтобы сообщить модели, что она может повторить попытку отклонённого вызова инструмента. Claude Code игнорирует `retry`, когда классификатор не выдал вердикт |

44| `PostToolUse` | After a tool call succeeds |46| `PostToolUse` | После успешного выполнения вызова инструмента |

45| `PostToolUseFailure` | After a tool call fails |47| `PostToolUseFailure` | После неудачного выполнения вызова инструмента |

46| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |48| `PostToolBatch` | После разрешения полного пакета параллельных вызовов инструментов, перед следующим вызовом модели |

47| `Notification` | When Claude Code sends a notification |49| `Notification` | Когда Claude Code отправляет уведомление |

48| `MessageDisplay` | While assistant message text is displayed |50| `MessageDisplay` | Во время отображения текста сообщения помощника |

49| `SubagentStart` | When a subagent is spawned |51| `SubagentStart` | Когда порождается подагент |

50| `SubagentStop` | When a subagent finishes |52| `SubagentStop` | Когда подагент завершает работу |

51| `TaskCreated` | When a task is being created via `TaskCreate` |53| `TaskCreated` | Когда задача создаётся через `TaskCreate` |

52| `TaskCompleted` | When a task is being marked as completed |54| `TaskCompleted` | Когда задача отмечается как завершённая |

53| `Stop` | When Claude finishes responding |55| `Stop` | Когда Claude завершает ответ |

54| `StopFailure` | When the turn ends due to an API error |56| `StopFailure` | Когда ход завершается из-за ошибки API |

55| `TeammateIdle` | When an [agent team](/docs/en/agent-teams) teammate is about to go idle |57| `TeammateIdle` | Когда товарищ по команде [команды агентов](/docs/ru/agent-teams) собирается перейти в режим ожидания |

56| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |58| `InstructionsLoaded` | Когда файл CLAUDE.md или `.claude/rules/*.md` загружается в контекст. Срабатывает при запуске сеанса и когда файлы ленивой загрузки загружаются во время сеанса |

57| `ConfigChange` | When a configuration file changes during a session |59| `ConfigChange` | Когда файл конфигурации изменяется во время сеанса |

58| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |60| `CwdChanged` | Когда рабочий каталог изменяется, например когда Claude выполняет команду `cd`. Полезно для реактивного управления окружением с помощью инструментов, таких как direnv |

59| `DirectoryAdded` | When a working directory is added mid-session via `/add-dir` or the SDK `register_repo_root` control request |61| `DirectoryAdded` | Когда рабочий каталог добавляется в середине сеанса через `/add-dir` или запрос управления SDK `register_repo_root` |

60| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |62| `FileChanged` | Когда наблюдаемый файл изменяется на диске. Поле `matcher` указывает, какие имена файлов отслеживать |

61| `WorktreeCreate` | When a worktree is being created via `--worktree`, `isolation: "worktree"`, or for a background session. Replaces default git behavior |63| `WorktreeCreate` | Когда worktree создаётся через `--worktree`, `isolation: "worktree"`, или для фонового сеанса. Заменяет поведение git по умолчанию |

62| `WorktreeRemove` | When a worktree is being removed at session exit, when a subagent finishes, or when you delete a background session |64| `WorktreeRemove` | Когда worktree удаляется при выходе из сеанса, когда подагент завершает работу, или когда вы удаляете фоновый сеанс |

63| `PreCompact` | Before context compaction |65| `PreCompact` | Перед компактизацией контекста |

64| `PostCompact` | After context compaction completes |66| `PostCompact` | После завершения компактизации контекста |

65| `PreModelSwitch` | Before Claude Code applies a model switch that you or a client requested. Can block the switch |67| `PreModelSwitch` | Перед тем как Claude Code применяет переключение модели, которое вы или клиент запросили. Может заблокировать переключение |

66| `PostModelSwitch` | After the session's model changes, including changes Claude Code makes on its own, such as restoring the model when you resume a session |68| `PostModelSwitch` | После изменения модели сеанса, включая изменения, которые Claude Code делает самостоятельно, такие как восстановление модели при возобновлении сеанса |

67| `Elicitation` | When an MCP server requests user input during a tool call |69| `Elicitation` | Когда сервер MCP запрашивает ввод пользователя во время вызова инструмента |

68| `ElicitationResult` | After a user responds to an MCP elicitation, before the response is sent back to the server |70| `ElicitationResult` | После того как пользователь отвечает на запрос MCP, перед отправкой ответа обратно на сервер |

69| `SessionEnd` | When a session terminates |71| `SessionEnd` | Когда сеанс завершается |

70 72 

71<h3 id="how-a-hook-resolves">73<h3 id="how-a-hook-resolves">

72 Как разрешается hook74 Как разрешается hook

73</h3>75</h3>

74 76 

75Чтобы увидеть, как эти части работают вместе, рассмотрим этот hook `PreToolUse`, который блокирует деструктивные команды оболочки. Фильтр `matcher` сужает область до вызовов инструмента Bash, а условие `if` сужает её дальше до команд Bash, совпадающих с `rm *`, поэтому `block-rm.sh` запускается только когда оба фильтра совпадают:77Чтобы увидеть, как событие, фильтр и обработчик работают вместе, рассмотрим этот hook `PreToolUse`, который блокирует деструктивные команды оболочки.

76 78 

77```json theme={null}79<Tabs>

78{80 <Tab title="macOS/Linux">

81 Фильтр `matcher` сужает область до вызовов инструмента Bash, а условие `if` сужает её дальше до команд Bash, совпадающих с `rm *`, поэтому `block-rm.sh` запускается только когда оба фильтра совпадают:

82 

83 ```json theme={null}

84 {

79 "hooks": {85 "hooks": {

80 "PreToolUse": [86 "PreToolUse": [

81 {87 {


91 }97 }

92 ]98 ]

93 }99 }

94}100 }

95```101 ```

96 102 

97Скрипт читает JSON входные данные из stdin, извлекает команду и возвращает `permissionDecision` со значением `"deny"`, если она содержит `rm -rf`:103 Скрипт читает JSON входные данные из stdin, извлекает команду и возвращает `permissionDecision` со значением `"deny"`, если она содержит `rm -rf`. Сохраните его в `.claude/hooks/block-rm.sh` в вашем проекте и сделайте его исполняемым с помощью `chmod +x .claude/hooks/block-rm.sh`, чтобы Claude Code мог его запустить:

98 104 

99```bash theme={null}105 ```bash theme={null}

100#!/bin/bash106 #!/bin/bash

101# .claude/hooks/block-rm.sh107 # .claude/hooks/block-rm.sh

102COMMAND=$(jq -r '.tool_input.command')108 COMMAND=$(jq -r '.tool_input.command')

103 109 

104if echo "$COMMAND" | grep -q 'rm -rf'; then110 if echo "$COMMAND" | grep -q 'rm -rf'; then

105 jq -n '{111 jq -n '{

106 hookSpecificOutput: {112 hookSpecificOutput: {

107 hookEventName: "PreToolUse",113 hookEventName: "PreToolUse",


109 permissionDecisionReason: "Destructive command blocked by hook"115 permissionDecisionReason: "Destructive command blocked by hook"

110 }116 }

111 }'117 }'

112else118 else

113 exit 0 # no decision; normal permission flow applies119 exit 0 # no decision; normal permission flow applies

114fi120 fi

115```121 ```

122 

123 Этот скрипт, как и другие примеры Bash на этой странице, которые анализируют JSON входные данные, использует `jq`, поэтому установите `jq` и убедитесь, что он находится в вашем `PATH` перед попыткой их использования.

124 </Tab>

125 

126 <Tab title="Windows (PowerShell)">

127 Фильтр `Bash|PowerShell` охватывает [инструмент PowerShell](#powershell) а также Bash. Одно правило `if` совпадает только с вызовами одного инструмента, поэтому каждый инструмент получает свой обработчик: первый сужает область до команд Bash, совпадающих с `rm *`, второй — до команд PowerShell, совпадающих с `Remove-Item *`. Оба запускают один и тот же скрипт через `powershell.exe`:

128 

129 ```json theme={null}

130 {

131 "hooks": {

132 "PreToolUse": [

133 {

134 "matcher": "Bash|PowerShell",

135 "hooks": [

136 {

137 "type": "command",

138 "if": "Bash(rm *)",

139 "command": "powershell.exe",

140 "args": [

141 "-NoProfile",

142 "-ExecutionPolicy",

143 "Bypass",

144 "-File",

145 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

146 ]

147 },

148 {

149 "type": "command",

150 "if": "PowerShell(Remove-Item *)",

151 "command": "powershell.exe",

152 "args": [

153 "-NoProfile",

154 "-ExecutionPolicy",

155 "Bypass",

156 "-File",

157 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

158 ]

159 }

160 ]

161 }

162 ]

163 }

164 }

165 ```

166 

167 Флаг `-NoProfile` пропускает загрузку вашего профиля PowerShell, чтобы hook запустился быстро, а `-ExecutionPolicy Bypass` позволяет PowerShell запустить локальный файл скрипта.

168 

169 Скрипт читает JSON входные данные из stdin, извлекает команду и возвращает `permissionDecision` со значением `"deny"`, если она содержит `rm -rf` или `Remove-Item` с последующим `-Recurse`. Сохраните его в `.claude/hooks/block-rm.ps1` в вашем проекте:

170 

171 ```powershell theme={null}

172 # .claude/hooks/block-rm.ps1

173 $callInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

174 $command = $callInput.tool_input.command

175 

176 if ($command -match 'rm -rf|Remove-Item.*-Recurse') {

177 @{

178 hookSpecificOutput = @{

179 hookEventName = "PreToolUse"

180 permissionDecision = "deny"

181 permissionDecisionReason = "Destructive command blocked by hook"

182 }

183 } | ConvertTo-Json

184 } else {

185 exit 0 # no decision; normal permission flow applies

186 }

187 ```

188 </Tab>

189</Tabs>

116 190 

117Теперь предположим, что Claude Code решает запустить `Bash "rm -rf /tmp/build"`. Вот что происходит:191Теперь предположим, что Claude Code решает запустить `Bash "rm -rf /tmp/build"` с конфигурацией macOS/Linux. Вот что происходит:

118 192 

119<Frame>193<Frame>

120 <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" />194 <img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/hook-resolution.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=be0bf3053550c26de5f54cd64674c197" className="dark:hidden" alt="Диаграмма разрешения hook: срабатывает событие PreToolUse, фильтр проверяет совпадение Bash, затем условие if проверяет совпадение Bash(rm *). Если оба совпадают, команда hook запускается и возвращает permissionDecision deny, поэтому вызов инструмента блокируется и Claude Code продолжает работу. Если одна из проверок не совпадает, hook пропускается и вызов инструмента может продолжить работу." width="930" height="270" data-path="images/hook-resolution.svg" />

195 

196 <img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/hook-resolution-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e80af91f8507cee6bd51ac3c2dd92f63" className="hidden dark:block" alt="Диаграмма разрешения hook: срабатывает событие PreToolUse, фильтр проверяет совпадение Bash, затем условие if проверяет совпадение Bash(rm *). Если оба совпадают, команда hook запускается и возвращает permissionDecision deny, поэтому вызов инструмента блокируется и Claude Code продолжает работу. Если одна из проверок не совпадает, hook пропускается и вызов инструмента может продолжить работу." width="930" height="270" data-path="images/hook-resolution-dark.svg" />

121</Frame>197</Frame>

122 198 

123<Steps>199<Steps>


183Место, где вы определяете hook, определяет его область действия:259Место, где вы определяете hook, определяет его область действия:

184 260 

185| Расположение | Область действия | Общий доступ |261| Расположение | Область действия | Общий доступ |

186| :---------------------------------------------------------- | :--------------------- | :-------------------------------------------------- |262| :--------------------------------------- | :----------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

187| `~/.claude/settings.json` | Все ваши проекты | Нет, локально на вашей машине |263| `~/.claude/settings.json` | Все ваши проекты | Нет, локально на вашей машине |

188| `.claude/settings.json` | Один проект | Да, можно зафиксировать в репозитории |264| `.claude/settings.json` | Один проект | Да, можно зафиксировать в репозитории |

189| `.claude/settings.local.json` | Один проект | Нет, игнорируется git когда Claude Code создаёт его |265| `.claude/settings.local.json` | Один проект | Нет, игнорируется git когда Claude Code сохраняет параметр в него |

190| Управляемые параметры политики | Организация | Да, контролируется администратором |266| Управляемые параметры политики | Организация | Да, контролируется администратором |

191| [Plugin](/docs/ru/plugins) `hooks/hooks.json` | Когда плагин включен | Да, поставляется с плагином |267| [Plugin](/docs/ru/plugins) `hooks/hooks.json` | Когда плагин включен | Да, поставляется с плагином |

192| [Skill](/docs/ru/skills) или [agent](/docs/ru/sub-agents) frontmatter | Пока компонент активен | Да, определено в файле компонента |268| [Skill](/docs/ru/skills) frontmatter | Остаток сеанса после вызова skill. См. [Hooks in skills and agents](#hooks-in-skills-and-agents) | Да, определено в файле skill |

269| [Subagent](/docs/ru/sub-agents) frontmatter | Пока этот subagent работает | Да, определено в файле subagent |

270 

271Облачные сеансы на [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) не читают ваш локальный `~/.claude/settings.json`; hooks там поступают из репозитория, что означает его `.claude/settings.json` в сеансе с одним репозиторием и плагины, которые он объявляет в любом сеансе, и из управляемых на сервере параметров вашей организации. В [самостоятельно размещённой среде](/docs/ru/self-hosted-environments-configuration#permissions-and-tool-approval), Claude Code также запускает hooks, которые оператор инициализировал из `~/.claude/` хоста runner, и запускает hooks в файле управляемых параметров образа runner, когда этот файл находится среди [управляемых источников, которые применяет Claude Code](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), что по умолчанию означает только когда ни управляемые на сервере параметры, ни доставленная MDM политика Claude Code не предоставляют управляемый уровень. См. [что переносится из вашей установки](/docs/ru/cloud-environments#what-carries-over-from-your-setup) для того, какие файлы достигают облачного сеанса.

272 

273Для получения подробной информации о разрешении файлов настроек см. [settings](/docs/ru/settings).

274 

275Hooks из файлов настроек, управляемых параметров политики и плагинов также запускаются внутри [subagents](/docs/ru/sub-agents). Когда subagent вызывает инструмент, события инструмента, такие как `PreToolUse` и `PostToolUse`, запускают те же настроенные hooks, что и в основном разговоре, и входные данные содержат поля `agent_id` и `agent_type` [общих входных полей](#common-input-fields), которые идентифицируют subagent.

276 

277Администраторы предприятия могут использовать `allowManagedHooksOnly` для ограничения того, какие hooks запускаются:

193 278 

194Для получения подробной информации о разрешении файлов настроек см. [settings](/docs/ru/settings). Администраторы предприятия могут использовать `allowManagedHooksOnly` для блокировки пользовательских, проектных и плагинных hooks. Hooks из плагинов, принудительно включённых в управляемых параметрах `enabledPlugins`, исключены, поэтому администраторы могут распространять проверенные hooks через организационный marketplace. См. [Hook configuration](/docs/ru/settings#hook-configuration).279* Ваши пользовательские, проектные, локальные и плагинные hooks блокируются. Hooks из плагинов, принудительно включённых в управляемых параметрах `enabledPlugins`, исключены

280* Claude Code также сужает ваши параметры [`statusLine`](/docs/ru/statusline), [`fileSuggestion`](/docs/ru/settings-reference#filesuggestion) и [`subagentStatusLine`](/docs/ru/statusline#subagent-status-lines) до управляемых параметров

281* Claude Code также отключает плагины с источником [`command`](/docs/ru/plugin-marketplaces#command-sources), включая плагины, принудительно включённые в управляемых параметрах `enabledPlugins`, если только [`disableCommandPluginSources`](/docs/ru/settings-reference#disablecommandpluginsources) явно не установлен на `false`. Источники `command` требуют Claude Code v2.1.229 или позже

282* Claude Code также блокирует команды marketplace [`headersHelper`](/docs/ru/plugin-marketplaces#authenticate-archive-downloads) если только [`disableCommandPluginSources`](/docs/ru/settings-reference#disablecommandpluginsources) явно не установлен на `false`, за исключением marketplace, которые сами управляемые параметры объявляют

283 

284См. [что запускается под `allowManagedHooksOnly`](/docs/ru/settings-reference#what-runs-under-allowmanagedhooksonly).

285 

286Hook записи объединяются на уровнях параметров, а не заменяют друг друга: пользовательские, проектные и локальные параметры добавляют свои собственные hooks без удаления управляемых, и параметр [`disableAllHooks`](#disable-or-remove-hooks) не может отключить управляемые hooks извне управляемых параметров.

287 

288[HTTP hook allowlists](/docs/ru/settings-reference#hook-and-skill-settings) применяются к hooks из каждого источника, включая управляемые параметры политики:

289 

290* `allowedHttpHookUrls`: когда определено на любом уровне параметров, Claude Code запускает обработчик HTTP hook только если его URL совпадает с объединённым allowlist

291* `httpHookAllowedEnvVars`: когда определено, Claude Code интерполирует только переменные окружения из этого списка в заголовки hook

195 292 

196<h3 id="matcher-patterns">293<h3 id="matcher-patterns">

197 Matcher patterns294 Matcher patterns


218Каждый тип события совпадает с другим полем:315Каждый тип события совпадает с другим полем:

219 316 

220| Событие | На что фильтр влияет | Примеры значений фильтра |317| Событие | На что фильтр влияет | Примеры значений фильтра |

221| :------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |318| :------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

222| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | имя инструмента | `Bash`, `Edit\|Write`, `mcp__.*` |319| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | имя инструмента | `Bash`, `Edit\|Write`, `mcp__.*` |

223| `SessionStart` | как сеанс начался | `startup`, `resume`, `clear`, `compact` |320| `SessionStart` | как сеанс начался | `startup`, `resume`, `clear`, `compact`, `fork` |

224| `Setup` | какой флаг CLI запустил setup | `init`, `maintenance` |321| `Setup` | какой флаг CLI запустил setup | `init`, `maintenance` |

225| `SessionEnd` | почему сеанс закончился | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |322| `SessionEnd` | почему сеанс закончился | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

226| `Notification` | тип уведомления | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed` |323| `Notification` | тип уведомления | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |

227| `SubagentStart` | тип агента | `general-purpose`, `Explore`, `Plan`, пользовательские имена агентов или имена с областью плагина, такие как `^my-plugin:reviewer$` |324| `SubagentStart` | тип агента | `general-purpose`, `Explore`, `Plan`, пользовательские имена агентов или имена с областью плагина, такие как `^my-plugin:reviewer$` |

228| `PreCompact`, `PostCompact` | что вызвало компактирование | `manual`, `auto` |325| `PreCompact`, `PostCompact` | что вызвало компактирование | `manual`, `auto` |

326| `PreModelSwitch`, `PostModelSwitch` | каноническое имя модели, на которую переключается сеанс, как описано в [PreModelSwitch](#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |

229| `SubagentStop` | тип агента | те же значения, что и `SubagentStart` |327| `SubagentStop` | тип агента | те же значения, что и `SubagentStart` |

230| `ConfigChange` | источник конфигурации | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |328| `ConfigChange` | источник конфигурации | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |

231| `CwdChanged` | поддержка фильтра отсутствует | всегда срабатывает при каждом изменении каталога |329| `CwdChanged` | поддержка фильтра отсутствует | всегда срабатывает при каждом возникновении |

330| `DirectoryAdded` | как был добавлен каталог | `slash_command`, `register_repo_root` |

232| `FileChanged` | буквальные имена файлов для наблюдения (см. [FileChanged](#filechanged)) | `.envrc\|.env` |331| `FileChanged` | буквальные имена файлов для наблюдения (см. [FileChanged](#filechanged)) | `.envrc\|.env` |

233| `StopFailure` | тип ошибки | `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `unknown` |332| `StopFailure` | тип ошибки | `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, `unknown` |

234| `InstructionsLoaded` | причина загрузки | `session_start`, `nested_traversal`, `path_glob_match`, `include`, `compact` |333| `InstructionsLoaded` | причина загрузки | `session_start`, `nested_traversal`, `path_glob_match`, `include`, `compact` |

235| `UserPromptExpansion` | имя команды | ваши имена skills или команд |334| `UserPromptExpansion` | имя команды | ваши имена skill или команд |

236| `Elicitation` | имя MCP сервера | ваши настроенные имена MCP серверов |335| `Elicitation` | имя MCP сервера | ваши настроенные имена MCP серверов |

237| `ElicitationResult` | имя MCP сервера | те же значения, что и `Elicitation` |336| `ElicitationResult` | имя MCP сервера | те же значения, что и `Elicitation` |

238| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` | поддержка фильтра отсутствует | всегда срабатывает при каждом вхождении |337| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` | поддержка фильтра отсутствует | всегда срабатывает при каждом вхождении |

239 338 

240Фильтр запускается против поля из [JSON входа](#hook-input-and-output), который Claude Code отправляет вашему hook на stdin. Для событий инструмента это поле — `tool_name`. Каждый раздел [hook event](#hook-events) перечисляет полный набор значений фильтра и схему входа для этого события.339Совпадение `StopFailure` на `cloud_credential_error` требует Claude Code v2.1.267 или позже, первой версии, которая сообщает об ошибках загрузки учётных данных под этим значением вместо `server_error` или `unknown`.

340 

341Для большинства событий Claude Code оценивает фильтр против поля из [JSON входа](#hook-input-and-output), который он отправляет вашему hook на stdin. Для событий инструмента это поле — `tool_name`. Для `PreModelSwitch` и `PostModelSwitch`, Claude Code оценивает фильтр против канонического имени, которое он выводит из `to_model`, как описано в [PreModelSwitch](#premodelswitch). Каждый раздел [hook event](#hook-events) перечисляет полный набор значений фильтра и схему входа для этого события.

241 342 

242Этот пример запускает скрипт линтинга только когда Claude пишет или редактирует файл:343Этот пример запускает скрипт линтинга только когда Claude пишет или редактирует файл:

243 344 


259}360}

260```361```

261 362 

262`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` и `CwdChanged` не поддерживают фильтры и всегда срабатывают при каждом вхождении. Если вы добавите поле `matcher` к этим событиям, оно будет молча проигнорировано.363Если вы добавите поле `matcher` к событию без поддержки фильтра, оно будет молча проигнорировано.

263 364 

264Для событий инструмента вы можете фильтровать более узко, установив поле [`if`](#common-fields) на отдельных обработчиках hook. `if` использует [синтаксис правила разрешения](/docs/ru/permissions) для совпадения с именем инструмента и аргументами вместе, поэтому `"Bash(git *)"` запускается когда любая подкоманда входа Bash совпадает с `git *` и `"Edit(*.ts)"` запускается только для файлов TypeScript.365Для событий инструмента вы можете фильтровать более узко, установив поле [`if`](#common-fields) на отдельных обработчиках hook. `if` использует [синтаксис правила разрешения](/docs/ru/permissions) для совпадения с именем инструмента и аргументами вместе, поэтому `"Bash(git *)"` запускается когда любая подкоманда входа Bash совпадает с `git *` и `"Edit(*.ts)"` запускается только для файлов TypeScript.

265 366 


323* **[Command hooks](#command-hook-fields)** (`type: "command"`): запускают команду оболочки. Ваш скрипт получает [JSON входные данные](#hook-input-and-output) события на stdin и передаёт результаты обратно через коды выхода и stdout.424* **[Command hooks](#command-hook-fields)** (`type: "command"`): запускают команду оболочки. Ваш скрипт получает [JSON входные данные](#hook-input-and-output) события на stdin и передаёт результаты обратно через коды выхода и stdout.

324* **[HTTP hooks](#http-hook-fields)** (`type: "http"`): отправляют JSON входные данные события как HTTP POST запрос на URL. Конечная точка передаёт результаты обратно через тело ответа, используя тот же [JSON формат выхода](#json-output), что и command hooks.425* **[HTTP hooks](#http-hook-fields)** (`type: "http"`): отправляют JSON входные данные события как HTTP POST запрос на URL. Конечная точка передаёт результаты обратно через тело ответа, используя тот же [JSON формат выхода](#json-output), что и command hooks.

325* **[MCP tool hooks](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): вызывают инструмент на уже подключённом [MCP сервере](/docs/ru/mcp). Текстовый вывод инструмента обрабатывается как stdout command hook.426* **[MCP tool hooks](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): вызывают инструмент на уже подключённом [MCP сервере](/docs/ru/mcp). Текстовый вывод инструмента обрабатывается как stdout command hook.

326* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): отправляют подсказку модели Claude для однооборотной оценки. Модель возвращает решение да/нет как JSON. См. [Prompt-based hooks](#prompt-based-hooks).427* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): отправляют подсказку модели Claude для однооборотной оценки. Модель возвращает решение как JSON. См. [Prompt-based hooks](#prompt-based-hooks).

327* **[Agent hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): порождают subagent, который может использовать инструменты, такие как Read, Grep и Glob, для проверки условий перед возвратом решения. Agent hooks являются экспериментальными и могут измениться. См. [Agent-based hooks](#agent-based-hooks).428* **[Agent hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): порождают subagent, который может использовать инструменты, такие как Read, Grep и Glob, для проверки условий перед возвратом решения. Agent hooks являются экспериментальными и могут измениться. См. [Agent-based hooks](#agent-based-hooks).

328 429 

329Все совпадающие hooks запускаются параллельно, и идентичные обработчики автоматически дедублируются. Command hooks дедублируются по строке команды и `args`, а HTTP hooks дедублируются по URL.430Все совпадающие hooks запускаются параллельно. Если вы определите один и тот же обработчик в более чем одном файле настроек, он запускается один раз. Копия плагина или skill одного и того же обработчика остаётся отдельной.

431 

432Обработчики запускаются в текущем каталоге с окружением Claude Code. Если текущий каталог больше не существует, например worktree или временный каталог, который другая оболочка удалила в середине сеанса, Claude Code запускает command hooks из первого из них, который всё ещё существует: каталог, в котором сеанс начался, корень проекта, ваш домашний каталог или системный временный каталог. Claude Code записывает предупреждение, называющее резервный каталог, в [debug log](#debug-hooks).

330 433 

331Обработчики запускаются в текущем каталоге с окружением Claude Code. Переменная окружения `$CLAUDE_CODE_REMOTE` устанавливается на `"true"` в удалённых веб-окружениях и не устанавливается в локальном CLI. Начиная с v2.1.199, [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/ru/env-vars) устанавливается на ID сеанса [Remote Control](/docs/ru/remote-control) пока локальный сеанс имеет активное соединение Remote Control.434Переменная окружения `$CLAUDE_CODE_REMOTE` устанавливается на `"true"` в удалённых веб-окружениях и не устанавливается в локальном CLI. Claude Code v2.1.199 и позже устанавливает [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/ru/env-vars) на ID сеанса [Remote Control](/docs/ru/remote-control) пока локальный сеанс имеет активное соединение Remote Control.

332 435 

333<h4 id="common-fields">436<h4 id="common-fields">

334 Common fields437 Common fields


337Эти поля применяются ко всем типам hooks:440Эти поля применяются ко всем типам hooks:

338 441 

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

340| :-------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |443| :-------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

341| `type` | да | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` или `"agent"` |444| `type` | да | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` или `"agent"` |

342| `if` | нет | Синтаксис правила разрешения для фильтрации срабатывания этого hook, такой как `"Bash(git *)"` или `"Edit(*.ts)"`. Hook запускается только если вызов инструмента совпадает с шаблоном. См. таблицу [Bash matching table](#bash-if-matching) ниже для того, как Bash шаблоны оцениваются против подкоманд, `$()` и обратных кавычек. Оценивается только на событиях инструмента: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` и `PermissionDenied`. На других событиях hook с установленным `if` никогда не запускается. Использует тот же синтаксис, что и [правила разрешения](/docs/ru/permissions) |445| `if` | нет | Синтаксис правила разрешения для фильтрации срабатывания этого hook, такой как `"Bash(git *)"` или `"Edit(*.ts)"`. Hook запускается только если вызов инструмента совпадает с шаблоном. См. таблицу [Bash matching table](#bash-if-matching) ниже для того, как Bash шаблоны оцениваются против подкоманд, `$()` и обратных кавычек. Оценивается только на событиях инструмента: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` и `PermissionDenied`. На других событиях hook с установленным `if` никогда не запускается. Использует тот же синтаксис, что и [правила разрешения](/docs/ru/permissions) |

343| `timeout` | нет | Секунды перед отменой. Значения по умолчанию: 600 для `command`, `http` и `mcp_tool`; 30 для `prompt`; 60 для `agent`. [`UserPromptSubmit`](#userpromptsubmit) снижает значение по умолчанию для `command`, `http` и `mcp_tool` до 30, и [`MessageDisplay`](#messagedisplay) снижает его до 10 |446| `timeout` | нет | Секунды перед отменой. Claude Code не применяет его на command hook, который вы запускаете с [`async: true`](#run-hooks-in-the-background). Значения по умолчанию: 600 для `command`, `http` и `mcp_tool`; 30 для `prompt`; 60 для `agent`. Claude Code снижает значение по умолчанию для `command`, `http` и `mcp_tool` до 30 на [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch) и [`PostModelSwitch`](#postmodelswitch), и до 10 на [`MessageDisplay`](#messagedisplay). Hooks [`SessionEnd`](#sessionend) делят бюджет 1.5 секунды; если ваши параметры устанавливают более длительный `timeout` для каждого hook, Claude Code повышает бюджет, чтобы совпадать, до 60 секунд |

344| `statusMessage` | нет | Пользовательское сообщение спиннера, отображаемое во время выполнения hook |447| `statusMessage` | нет | Пользовательское сообщение спиннера, отображаемое во время выполнения hook |

345| `once` | нет | Если `true`, запускается один раз за сеанс затем удаляется. Только для hooks, объявленных в [skill frontmatter](#hooks-in-skills-and-agents); игнорируется в файлах настроек и agent frontmatter |448| `once` | нет | Если `true`, Claude Code удаляет hook после его первого успешного запуска. Запуск, который не удаётся, блокирует с кодом выхода 2 или истекает по времени, оставляет hook на месте, поэтому он запускается снова при следующем совпадающем событии. Только для hooks, объявленных в [skill frontmatter](#hooks-in-skills-and-agents); игнорируется в файлах настроек и agent frontmatter |

346 449 

347Поле `if` содержит ровно одно правило разрешения. Нет синтаксиса `&&`, `||` или списка для объединения правил; чтобы применить несколько условий, определите отдельный обработчик hook для каждого.450Поле `if` содержит ровно одно правило разрешения. Нет синтаксиса `&&`, `||` или списка для объединения правил; чтобы применить несколько условий, определите отдельный обработчик hook для каждого.

348 451 

452В условии `if` для инструмента файла, шаблон каталога с одним сегментом, такой как `"Edit(src/**)"`, совпадает только с каталогом `src` в рабочем каталоге и файлами под ним. Чтобы совпадать с каталогом с именем `src` на любой глубине, напишите `"Edit(**/src/**)"`. До v2.1.214, `"Edit(src/**)"` совпадал с каталогом с именем `src` на любой глубине под рабочим каталогом.

453 

349<span id="bash-if-matching" />Для Bash шаблонов, запускается ли ваша команда hook зависит от формы шаблона и команды Bash, которую вызывает Claude. Ведущие присваивания `VAR=value` удаляются перед совпадением.454<span id="bash-if-matching" />Для Bash шаблонов, запускается ли ваша команда hook зависит от формы шаблона и команды Bash, которую вызывает Claude. Ведущие присваивания `VAR=value` удаляются перед совпадением.

350 455 

351| `if` шаблон | Bash команда | Hook запускается? | Почему |456| `if` шаблон | Bash команда | Hook запускается? | Почему |

352| :----------------- | :--------------------- | :---------------- | :---------------------------------------------------------------------------------------------------------------------- |457| :----------------- | :-------------------------- | :---------------- | :---------------------------------------------------------------------------------------------------------------------------------- |

353| `Bash(git *)` | `FOO=bar git push` | да | ведущие присваивания удаляются; `git push` совпадает |458| `Bash(git *)` | `FOO=bar git push` | да | ведущие присваивания удаляются; `git push` совпадает |

354| `Bash(git *)` | `npm test && git push` | да | каждая подкоманда проверяется; `git push` совпадает |459| `Bash(git *)` | `npm test && git push` | да | каждая подкоманда проверяется; `git push` совпадает |

355| `Bash(rm *)` | `echo $(rm -rf /)` | да | команды внутри `$()` и обратных кавычек проверяются; `rm -rf /` совпадает |460| `Bash(rm *)` | `echo $(rm -rf /)` | да | команды внутри `$()` и обратных кавычек проверяются; `rm -rf /` совпадает |

356| `Bash(rm *)` | `echo $(date)` | нет | ни одна подкоманда не совпадает с `rm *` |461| `Bash(rm *)` | `echo $(date)` | нет | ни одна подкоманда не совпадает с `rm *` |

462| `Bash(cat *)` | `echo before $(date) after` | нет | подстановка может находиться в любой позиции аргумента, поэтому проверяются полная команда и `date`; ни одна не совпадает с `cat *` |

463| `Bash(git *)` | `$TOOL git push` | да | Claude Code не может определить, на что расширяется имя команды, поэтому он запускает hook |

357| `Bash(git push *)` | `echo $(date)` | да | шаблоны, которые указывают больше чем имя команды, запускают hook в любом случае на `$()`, обратных кавычках или `$VAR` |464| `Bash(git push *)` | `echo $(date)` | да | шаблоны, которые указывают больше чем имя команды, запускают hook в любом случае на `$()`, обратных кавычках или `$VAR` |

358 465 

359Фильтр также открывается с ошибкой, запуская ваш hook независимо от шаблона, когда команда Bash не может быть проанализирована. Поскольку фильтр `if` является лучшим усилием, используйте [систему разрешений](/docs/ru/permissions) вместо hook для обеспечения жёсткого разрешения или отказа.466Когда Claude Code не может определить, какие команды запускает входные данные Bash, он запускает ваш hook независимо от шаблона. Поскольку фильтр `if` является лучшим усилием, используйте [систему разрешений](/docs/ru/permissions) вместо hook для обеспечения жёсткого разрешения или отказа.

360 467 

361<h4 id="command-hook-fields">468<h4 id="command-hook-fields">

362 Command hook fields469 Command hook fields


369| `command` | да | Команда оболочки для выполнения. С `args`, исполняемый файл для прямого запуска. См. [Exec form and shell form](#exec-form-and-shell-form) |476| `command` | да | Команда оболочки для выполнения. С `args`, исполняемый файл для прямого запуска. См. [Exec form and shell form](#exec-form-and-shell-form) |

370| `args` | нет | Список аргументов. Когда присутствует, `command` разрешается как исполняемый файл и запускается напрямую с `args` как вектор аргументов, без участия оболочки. См. [Exec form and shell form](#exec-form-and-shell-form) |477| `args` | нет | Список аргументов. Когда присутствует, `command` разрешается как исполняемый файл и запускается напрямую с `args` как вектор аргументов, без участия оболочки. См. [Exec form and shell form](#exec-form-and-shell-form) |

371| `async` | нет | Если `true`, запускается в фоне без блокировки. См. [Run hooks in the background](#run-hooks-in-the-background) |478| `async` | нет | Если `true`, запускается в фоне без блокировки. См. [Run hooks in the background](#run-hooks-in-the-background) |

372| `asyncRewake` | нет | Если `true`, запускается в фоне и пробуждает Claude при коде выхода 2. Подразумевает `async`. Stderr hook или stdout, если stderr пусто, показывается Claude как системное напоминание, чтобы он мог реагировать на долгоживущий фоновый сбой |479| `asyncRewake` | нет | Если `true`, запускается в фоне и пробуждает Claude при коде выхода 2. Hook stderr или stdout, если stderr пусто, показывается Claude как системное напоминание, чтобы он мог реагировать на долгоживущий фоновый сбой |

373| `shell` | нет | Оболочка для использования для этого hook. Принимает `"bash"` или `"powershell"`. По умолчанию `"bash"`, или `"powershell"` на Windows когда Git Bash не установлен. Установка `"powershell"` запускает команду через PowerShell на Windows. Не требует `CLAUDE_CODE_USE_POWERSHELL_TOOL`, так как hooks порождают PowerShell напрямую. Игнорируется когда установлен `args` |480| `shell` | нет | Оболочка для использования для этого hook. Принимает `"bash"` или `"powershell"`. По умолчанию `"bash"`, или `"powershell"` на Windows когда Git Bash не установлен. Установка `"powershell"` запускает команду через PowerShell на Windows. Не требует `CLAUDE_CODE_USE_POWERSHELL_TOOL`, так как hooks порождают PowerShell напрямую. Игнорируется когда установлен `args` |

374 481 

375<a id="exec-form-and-shell-form" />482<a id="exec-form-and-shell-form" />


431 538 

432Claude Code отправляет [JSON входные данные](#hook-input-and-output) hook как тело POST запроса с `Content-Type: application/json`. Тело ответа использует тот же [JSON формат выхода](#json-output), что и command hooks.539Claude Code отправляет [JSON входные данные](#hook-input-and-output) hook как тело POST запроса с `Content-Type: application/json`. Тело ответа использует тот же [JSON формат выхода](#json-output), что и command hooks.

433 540 

434Обработка ошибок отличается от command hooks: ответы не 2xx, сбои соединения и таймауты все производят неблокирующие ошибки, которые позволяют выполнению продолжаться. Чтобы заблокировать вызов инструмента или отклонить разрешение, верните ответ 2xx с JSON телом, содержащим `decision: "block"` или `hookSpecificOutput` с `permissionDecision: "deny"`.541Обработка ошибок отличается от command hooks; см. [HTTP response handling](#http-response-handling).

435 542 

436Этот пример отправляет события `PreToolUse` на локальный сервис валидации, аутентифицируясь с токеном из переменной окружения `MY_TOKEN`:543Этот пример отправляет события `PreToolUse` на локальный сервис валидации, аутентифицируясь с токеном из переменной окружения `MY_TOKEN`:

437 544 


470| `tool` | да | Имя инструмента для вызова на этом сервере |577| `tool` | да | Имя инструмента для вызова на этом сервере |

471| `input` | нет | Аргументы, передаваемые инструменту. Строковые значения поддерживают подстановку `${path}` из [JSON входа](#hook-input-and-output) hook, такую как `"${tool_input.file_path}"` |578| `input` | нет | Аргументы, передаваемые инструменту. Строковые значения поддерживают подстановку `${path}` из [JSON входа](#hook-input-and-output) hook, такую как `"${tool_input.file_path}"` |

472 579 

473Текстовое содержимое инструмента обрабатывается как stdout command hook: если оно анализируется как действительный [JSON выход](#json-output), оно обрабатывается как решение, в противном случае оно показывается как простой текст. Если названный сервер не подключён или инструмент возвращает `isError: true`, hook производит неблокирующую ошибку и выполнение продолжается.580Claude Code читает текстовое содержимое инструмента так же, как читает command-hook stdout, следуя [правилу разбора под кодом выхода 0](#exit-code-0). Если названный сервер не подключён или инструмент возвращает `isError: true`, hook производит неблокирующую ошибку и выполнение продолжается.

474 

475MCP tool hooks доступны на каждом hook событии после того, как Claude Code подключился к вашим MCP серверам. `SessionStart` и `Setup` обычно срабатывают до завершения подключения серверов, поэтому hooks на этих событиях должны ожидать ошибку "не подключено" при первом запуске.

476 581 

477Этот пример вызывает инструмент `security_scan` на MCP сервере `my_server` после каждого `Write` или `Edit`, передавая путь отредактированного файла:582Этот пример вызывает инструмент `security_scan` на MCP сервере `my_server` после каждого `Write` или `Edit`, передавая путь отредактированного файла:

478 583 


496}601}

497```602```

498 603 

604MCP tool hook может запускаться только после того, как Claude Code сделал MCP серверы сеанса доступными для hooks. `SessionStart` и `Setup` могут срабатывать до этого момента:

605 

606* **При запуске**: `SessionStart` срабатывает перед доступностью серверов, включая когда вы запускаете с `--continue` или `--resume`. Claude Code пропускает `mcp_tool` hooks события без вызова их инструментов, и [debug log](#debug-hooks) записывает `mcp_tool hooks are not available for the 'SessionStart' hook event (no MCP client context)`.

607* **Позже в работающем сеансе**: после `/clear` или компактирования, `SessionStart` срабатывает снова с серверами уже доступными, и его `mcp_tool` hooks запускаются.

608* **На `Setup`**: `Setup` всегда срабатывает перед доступностью серверов, поэтому Claude Code пропускает его `mcp_tool` hooks каждый раз и записывает то же сообщение, называющее `Setup`.

609 

610Например, эта конфигурация вызывает инструмент `load_context` на MCP сервере `my_server` из hook `SessionStart` без фильтра, поэтому она применяется к каждому источнику `SessionStart`:

611 

612```json theme={null}

613{

614 "hooks": {

615 "SessionStart": [

616 {

617 "hooks": [

618 {

619 "type": "mcp_tool",

620 "server": "my_server",

621 "tool": "load_context"

622 }

623 ]

624 }

625 ]

626 }

627}

628```

629 

630Когда вы запускаете `claude`, Claude Code пропускает этот hook, никогда не вызывает `load_context` и записывает сообщение `no MCP client context` в debug log. Запустите `/clear` в том же сеансе и hook запустится и вызовет `load_context`. Hook `type: "command"` на `SessionStart` запускается при запуске, поэтому используйте один для всего, что сеансу нужно с его первого хода.

631 

499<h4 id="prompt-and-agent-hook-fields">632<h4 id="prompt-and-agent-hook-fields">

500 Prompt and agent hook fields633 Prompt and agent hook fields

501</h4>634</h4>


513 646 

514Используйте эти заполнители для ссылки на скрипты hook относительно корня проекта или плагина, независимо от рабочего каталога при запуске hook:647Используйте эти заполнители для ссылки на скрипты hook относительно корня проекта или плагина, независимо от рабочего каталога при запуске hook:

515 648 

516* `${CLAUDE_PROJECT_DIR}`: корень проекта. Claude Code также устанавливает эту переменную в окружении [stdio MCP серверов](/docs/ru/mcp#option-3-add-a-local-stdio-server) и plugin LSP серверов.649* `${CLAUDE_PROJECT_DIR}`: корень проекта, где сеанс начался. Claude Code также устанавливает эту переменную в окружении [stdio MCP серверов](/docs/ru/mcp#option-3-add-a-local-stdio-server) и plugin LSP серверов.

517* `${CLAUDE_PLUGIN_ROOT}`: каталог установки плагина, для скриптов, поставляемых с [плагином](/docs/ru/plugins). Изменяется при каждом обновлении плагина.650* `${CLAUDE_PLUGIN_ROOT}`: каталог установки плагина, для скриптов, поставляемых с [плагином](/docs/ru/plugins). См. [plugin environment variables](/docs/ru/plugins-reference#environment-variables) для того, как путь ведёт себя при обновлениях.

518* `${CLAUDE_PLUGIN_DATA}`: [каталог постоянных данных](/docs/ru/plugins-reference#persistent-data-directory) плагина, для зависимостей и состояния, которые должны пережить обновления плагина.651* `${CLAUDE_PLUGIN_DATA}`: [каталог постоянных данных](/docs/ru/plugins-reference#persistent-data-directory) плагина, для зависимостей и состояния, которые должны пережить обновления плагина.

519 652 

520Предпочитайте [exec form](#exec-form-and-shell-form) для любого hook, который ссылается на path placeholder. Exec form передаёт каждый элемент `args` как один аргумент без токенизации оболочки, поэтому пути с пробелами или специальными символами не нуждаются в кавычках. В shell form оберните каждый заполнитель в двойные кавычки.653<Note>

654 **Worktrees отличаются.** Если Claude входит в [worktree](/docs/ru/worktrees) во время сеанса, Claude Code держит `${CLAUDE_PROJECT_DIR}` там, где он был, и передаёт путь worktree вашим hooks другим способом:

655 

656 * **`${CLAUDE_PROJECT_DIR}` остаётся на месте**: он всё ещё указывает на корень проекта, где сеанс начался, поэтому команда, такая как `${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh`, всё ещё запускает скрипт в основной checkout.

657 * **`cwd` следует за Claude**: поле `cwd` в [входных JSON](#common-input-fields) hook — это корень worktree после того, как Claude входит в worktree, и новый каталог после того, как Claude запускает `cd`. Прочитайте его, когда hook нужно знать, в каком каталоге Claude работает.

658</Note>

659 

660Предпочитайте [exec form](#exec-form-and-shell-form) для любого hook, который ссылается на path placeholder. В shell form оберните каждый заполнитель в двойные кавычки.

521 661 

522<Tabs>662<Tabs>

523 <Tab title="Project scripts">663 <Tab title="Project scripts">


577 Hooks in skills and agents717 Hooks in skills and agents

578</h3>718</h3>

579 719 

580В дополнение к файлам настроек и плагинам, hooks могут быть определены непосредственно в [skills](/docs/ru/skills) и [subagents](/docs/ru/sub-agents) с использованием frontmatter. Эти hooks ограничены жизненным циклом компонента и запускаются только когда этот компонент активен.720В дополнение к файлам настроек и плагинам, hooks могут быть определены непосредственно в [skills](/docs/ru/skills) и [subagents](/docs/ru/sub-agents) с использованием frontmatter, в том же формате конфигурации, что и hooks на основе настроек. Как долго Claude Code их регистрирует, зависит от компонента:

581 

582Поддерживаются все hook события. Для subagents, `Stop` hooks автоматически преобразуются в `SubagentStop`, так как это событие, которое срабатывает при завершении subagent.

583 721 

584Hooks используют тот же формат конфигурации, что и hooks на основе настроек, но ограничены жизненным циклом компонента и очищаются при его завершении.722* **Subagent hooks**: Claude Code запускает их только пока этот subagent работает и удаляет их, когда он завершается. Claude Code преобразует hook `Stop` здесь в `SubagentStop`, событие, которое срабатывает при завершении subagent.

723* **Skill hooks**: Claude Code регистрирует их, когда вы или Claude вызываете skill, и продолжает запускать их для остатка сеанса, на ходах после собственного хода skill. Чтобы Claude Code удалил hook после его первого успешного запуска вместо этого, установите [`once: true`](#common-fields) на нём.

585 724 

586Этот skill определяет hook `PreToolUse`, который запускает скрипт проверки безопасности перед каждой командой `Bash`:725Этот skill определяет hook `PreToolUse`, который запускает скрипт проверки безопасности перед каждой командой `Bash`:

587 726 


598---737---

599```738```

600 739 

601Agents используют тот же формат в своём YAML frontmatter.740Subagents используют тот же формат в своём YAML frontmatter.

741 

742Frontmatter hooks в project skill следуют тому же [правилу доверия рабочей области, что и hooks в файлах настроек](#workspace-trust). Claude Code регистрирует их, когда вы или Claude вызываете skill, включая в запуск `-p` в папке, которую вы не доверяли.

743 

744Frontmatter hooks в project subagent запускаются только после того, как вы примете [диалог доверия рабочей области](/docs/ru/permissions#project-allow-rules-and-workspace-trust) для папки, из которой пришёл файл агента. Сеанс `-p` не считается принятием. [Что запускается перед тем, как вы доверяете папке](/docs/ru/permissions#what-runs-before-you-trust-a-folder) сравнивает это с правилом файла настроек, и страница subagents перечисляет [какие области исключены](/docs/ru/sub-agents#hooks-in-subagent-frontmatter). До v2.1.218, эти hooks могли запускаться из папок, которым вы не доверяли.

602 745 

603<h3 id="the-/hooks-menu">746<h3 id="the-/hooks-menu">

604 Меню `/hooks`747 Меню `/hooks`


608 751 

609Меню отображает все пять типов hook: `command`, `prompt`, `agent`, `http` и `mcp_tool`. Каждый hook помечен префиксом `[type]` и источником, указывающим, где он был определён:752Меню отображает все пять типов hook: `command`, `prompt`, `agent`, `http` и `mcp_tool`. Каждый hook помечен префиксом `[type]` и источником, указывающим, где он был определён:

610 753 

611* `User`: из `~/.claude/settings.json`754* `User Settings`: из `~/.claude/settings.json`

612* `Project`: из `.claude/settings.json`755* `Project Settings`: из `.claude/settings.json`

613* `Local`: из `.claude/settings.local.json`756* `Local Settings`: из `.claude/settings.local.json`

614* `Plugin`: из `hooks/hooks.json` плагина757* `Plugin Hooks`: из `hooks/hooks.json` плагина

615* `Session`: зарегистрирован в памяти для текущего сеанса758* `Session Hooks`: зарегистрирован в памяти для текущего сеанса

616* `Built-in`: зарегистрирован внутри Claude Code

617 759 

618Выбор hook открывает представление деталей, показывающее его событие, фильтр, тип, исходный файл и полную команду, подсказку или URL. Меню только для чтения: чтобы добавить, изменить или удалить hooks, отредактируйте JSON настроек напрямую или попросите Claude сделать изменение.760Выбор hook открывает представление деталей, показывающее его событие, фильтр, тип, исходный файл и полную команду, подсказку или URL. Меню только для чтения: чтобы добавить, изменить или удалить hooks, отредактируйте JSON настроек напрямую или попросите Claude сделать изменение.

619 761 


623 765 

624Чтобы удалить hook, удалите его запись из JSON файла настроек.766Чтобы удалить hook, удалите его запись из JSON файла настроек.

625 767 

626Чтобы временно отключить все hooks без их удаления, установите `"disableAllHooks": true` в файле настроек. Нет способа отключить отдельный hook, сохраняя его в конфигурации.768Чтобы временно отключить все hooks без их удаления, установите `"disableAllHooks": true` в файле настроек. Claude Code читает значение, оставшееся после применения [приоритета параметров](/docs/ru/settings#settings-precedence), поэтому `"disableAllHooks": false` в `.claude/settings.json` проекта переопределяет `true` в ваших пользовательских параметрах. Чтобы отключить hooks для одного запуска, независимо от того, что говорят параметры проекта, передайте `--settings '{"disableAllHooks": true}'`, что имеет приоритет над параметрами проекта и локальными параметрами. Нет способа отключить отдельный hook, сохраняя его в конфигурации.

627 769 

628Параметр `disableAllHooks` соблюдает иерархию управляемых настроек. Если администратор настроил hooks через управляемые параметры политики, `disableAllHooks`, установленный в пользовательских, проектных или локальных настройках, не может отключить эти управляемые hooks. Только `disableAllHooks`, установленный на уровне управляемых настроек, может отключить управляемые hooks.770Параметр `disableAllHooks` соблюдает иерархию управляемых параметров. Если администратор настроил hooks через управляемые параметры политики, `disableAllHooks`, установленный в пользовательских, проектных или локальных параметрах, не может отключить эти управляемые hooks. Только `disableAllHooks`, установленный на уровне управляемых параметров, может отключить управляемые hooks. Для полного охвата каждого уровня см. [`disableAllHooks`](/docs/ru/settings-reference#disableallhooks).

629 771 

630Прямые редактирования hooks в файлах настроек обычно захватываются автоматически наблюдателем файлов.772Прямые редактирования hooks в файлах настроек обычно захватываются автоматически наблюдателем файлов.

631 773 


633 Входные и выходные данные Hook775 Входные и выходные данные Hook

634</h2>776</h2>

635 777 

636Command hooks получают JSON данные через stdin и передают результаты через коды выхода, stdout и stderr. HTTP hooks получают тот же JSON как тело POST запроса и передают результаты через тело HTTP ответа. Этот раздел охватывает поля и поведение, общие для всех событий. Каждый раздел события под [Hook events](#hook-events) включает его специфическую схему входа и параметры управления решением.778Hooks команд получают JSON-данные через stdin и передают результаты через коды выхода, stdout и stderr. HTTP hooks получают тот же JSON, что и тело POST-запроса, и передают результаты через тело HTTP-ответа. В этом разделе рассматриваются поля и поведение, общие для всех событий. Каждый раздел события в разделе [Hook events](#hook-events) включает его конкретную схему входных данных и параметры управления решением.

637 779 

638На macOS и Linux command hooks запускаются в своём собственном сеансе без управляющего терминала начиная с v2.1.139. Процесс hook и любые дочерние процессы не могут открыть `/dev/tty` или отправлять escape последовательности непосредственно в интерфейс Claude Code. Windows не имеет `/dev/tty`. Чтобы вывести сообщение пользователю на любой платформе, верните [`systemMessage`](#json-output) в JSON выходе. Чтобы вызвать уведомление рабочего стола, установить заголовок окна или издать звуковой сигнал, верните [`terminalSequence`](#emit-terminal-notifications) вместо этого.780На macOS и Linux hooks команд запускаются в собственном сеансе без управляющего терминала. Процесс hook и любые дочерние процессы не могут открыть `/dev/tty` или отправлять последовательности escape непосредственно в интерфейс Claude Code. Windows не имеет `/dev/tty`.

781 

782Чтобы вывести сообщение пользователю на любой платформе, верните [`systemMessage`](#json-output) в JSON-выводе. Некоторые события игнорируют его или доставляют его в другое место, и в каждом [разделе события](#hook-events) указано, как это происходит. Чтобы вызвать уведомление рабочего стола, установить заголовок окна или издать звуковой сигнал, верните [`terminalSequence`](#emit-terminal-notifications) вместо этого.

639 783 

640<h3 id="common-input-fields">784<h3 id="common-input-fields">

641 Общие входные поля785 Общие входные поля

642</h3>786</h3>

643 787 

644Hook события получают эти поля как JSON, в дополнение к полям, специфичным для события, документированным в каждом разделе [hook event](#hook-events). Для command hooks этот JSON поступает через stdin. Для HTTP hooks он поступает как тело POST запроса.788Hook события получают эти поля в виде JSON в дополнение к полям, специфичным для события, задокументированным в каждом разделе [hook event](#hook-events). Для hooks команд этот JSON поступает через stdin. Для HTTP hooks он поступает как тело POST-запроса.

645 789 

646| Поле | Описание |790| Поле | Описание |

647| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |791| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

648| `session_id` | Текущий идентификатор сеанса |792| `session_id` | Текущий идентификатор сеанса |

649| `prompt_id` | UUID, идентифицирующий пользовательский запрос, который в настоящее время обрабатывается. Совпадает с атрибутом [`prompt.id` на событиях OpenTelemetry](/docs/ru/monitoring-usage#event-correlation-attributes), поэтому вы можете коррелировать выход hook с телеметрией для одного запроса. Отсутствует до первого пользовательского ввода. Требует Claude Code v2.1.196 или позже |793| `prompt_id` | UUID, идентифицирующий пользовательский запрос, который в настоящее время обрабатывается. Совпадает с атрибутом [`prompt.id` на событиях OpenTelemetry](/docs/ru/monitoring-usage#event-correlation-attributes), поэтому вы можете коррелировать выход hook с телеметрией для одного запроса. Отсутствует до первого ввода пользователя. Требуется Claude Code v2.1.196 или позже |

650| `transcript_path` | Путь к JSON разговора. Файл транскрипта записывается асинхронно и может отставать от разговора в памяти, поэтому он может ещё не включать самые последние сообщения текущего хода, когда срабатывает hook. Hooks, которым нужен финальный текст ассистента текущего хода, должны использовать `last_assistant_message` на [Stop](#stop) и [SubagentStop](#subagentstop) вместо чтения транскрипта |794| `transcript_path` | Путь к файлу JSON разговора. Файл транскрипта записывается асинхронно и может отставать от разговора в памяти, поэтому он может еще не включать самые последние сообщения текущего хода, когда срабатывает hook. Hooks, которым нужен финальный текст ассистента текущего хода, должны использовать `last_assistant_message` на [Stop](#stop) и [SubagentStop](#subagentstop) вместо чтения транскрипта |

651| `cwd` | Текущий рабочий каталог при вызове hook |795| `cwd` | Текущий рабочий каталог при вызове hook |

652| `permission_mode` | Текущий [режим разрешения](/docs/ru/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` или `"bypassPermissions"`. Режим, обозначенный как **Manual**, поступает как `"default"`, никогда не как `"manual"`, поэтому скрипты, которые совпадают с `"default"`, продолжают работать. Не все события получают это поле. Проверьте пример JSON в каждом разделе [hook event](#hook-events) |796| `scratchpad_dir` | Путь к каталогу scratchpad сеанса, где Claude хранит временные рабочие файлы. Отсутствует, когда сеанс не имеет scratchpad или временный каталог недоступен. Требуется Claude Code v2.1.257 или позже |

653| `effort` | Объект с полем `level`, содержащим активный [уровень усилий](/docs/ru/model-config#adjust-effort-level) для хода: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Если запрошенный уровень усилий модели превышает то, что поддерживает текущая модель, это понижающий уровень, который модель фактически использовала. Ultracode не является отдельным уровнем и сообщается как `"xhigh"`. Объект соответствует полю `effort` [строки статуса](/docs/ru/statusline#available-data). Присутствует для событий, которые срабатывают в контексте использования инструмента, таких как `PreToolUse`, `PostToolUse`, `Stop` и `SubagentStop`, когда текущая модель поддерживает параметр усилий. Уровень также доступен для команд hook и инструмента Bash как переменная окружения `$CLAUDE_EFFORT`. |797| `permission_mode` | Текущий [режим разрешений](/docs/ru/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` или `"bypassPermissions"`. Режим, обозначенный как **Manual**, поступает как `"default"`, никогда не как `"manual"`, поэтому скрипты, которые совпадают с `"default"`, продолжают работать. Не все события получают это поле. Проверьте пример JSON в каждом разделе [hook event](#hook-events) |

798| `effort` | Объект с полем `level`, содержащим [уровень усилий](/docs/ru/model-config#adjust-effort-level), действующий при запуске hook: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Если вы установите уровень, который активная модель не поддерживает, `level` сообщает уровень, который вместо этого запустил Claude Code; [Adjust effort level](/docs/ru/model-config#adjust-effort-level) говорит, как он выбирает этот уровень. Ultracode не является отдельным уровнем и сообщается как `"xhigh"`. Объект совпадает с полем `effort` [строки состояния](/docs/ru/statusline#available-data). Присутствует для событий, которые срабатывают в контексте использования инструмента, таких как `PreToolUse`, `PostToolUse`, `Stop` и `SubagentStop`, когда текущая модель поддерживает параметр усилий. Уровень также доступен для команд hook и инструмента Bash как переменная окружения `$CLAUDE_EFFORT`. |

654| `hook_event_name` | Имя события, которое сработало |799| `hook_event_name` | Имя события, которое сработало |

655 800 

656При запуске с `--agent` или внутри subagent включаются два дополнительных поля:801При запуске с `--agent` или внутри subagent включаются два дополнительных поля:

657 802 

658| Поле | Описание |803| Поле | Описание |

659| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |804| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

660| `agent_id` | Уникальный идентификатор для subagent. Присутствует только когда hook срабатывает внутри вызова subagent. Используйте это для различения вызовов hook subagent от вызовов основного потока. |805| `agent_id` | Уникальный идентификатор для subagent. Присутствует только когда hook срабатывает внутри вызова subagent. Используйте это для различения вызовов hook subagent от вызовов основного потока. |

661| `agent_type` | Имя агента (например, `"Explore"` или `"security-reviewer"`). Присутствует когда сеанс использует `--agent` или hook срабатывает внутри subagent. Для subagents тип subagent имеет приоритет над значением `--agent` сеанса. Для [пользовательских subagents](/docs/ru/sub-agents) это поле `name` из frontmatter агента, а не имя файла. Для subagents, поставляемых [plugin](/docs/ru/plugins), это идентификатор с областью видимости плагина, такой как `my-plugin:reviewer`, а не простое имя frontmatter. См. [SubagentStart](#subagentstart) для того, как написать matcher для имени с областью видимости плагина. |806| `agent_type` | Имя агента (например, `"Explore"` или `"security-reviewer"`). Присутствует, когда сеанс использует `--agent` или hook срабатывает внутри subagent. Для subagents тип subagent имеет приоритет над значением `--agent` сеанса. См. [SubagentStart](#subagentstart) для значений, которые сообщают пользовательские и plugin subagents, и как написать matcher для имени с областью plugin. |

807 

808Только hooks [`SessionStart`](#sessionstart) могут получить поле `model`, и Claude Code не всегда его включает. Hooks [`PreModelSwitch`](#premodelswitch) и [`PostModelSwitch`](#postmodelswitch) получают `from_model` и `to_model` вместо этого, поэтому используйте hook PostModelSwitch для отслеживания модели по мере ее изменения во время сеанса.

662 809 

663Только hooks [`SessionStart`](#sessionstart) могут получать поле `model`, и его присутствие не гарантировано. Нет переменной окружения `$CLAUDE_MODEL`. Процесс hook наследует родительское окружение, поэтому он может читать `$ANTHROPIC_MODEL`, если вы установили её в вашей оболочке, но это значение не меняется при переключении моделей с `/model` во время сеанса. Один набор переменных не наследуется: Claude Code [удаляет переменные экспортера `OTEL_*` из каждого подпроцесса, который он порождает](/docs/ru/monitoring-usage#administrator-configuration), включая hooks.810Нет переменной окружения `$CLAUDE_MODEL`. Hook может читать `$ANTHROPIC_MODEL`, если вы установили ее в своей оболочке, но это значение не изменяется при переключении моделей с помощью `/model` во время сеанса.

811 

812Процесс hook наследует родительское окружение, за исключением переменных экспортера `OTEL_*`, которые Claude Code [удаляет из каждого подпроцесса, который он порождает](/docs/ru/monitoring-usage#administrator-configuration), и, когда установлена [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars#variables) в `1`, переменные, которые он удаляет.

664 813 

665Например, hook `PreToolUse` для команды Bash получает это на stdin:814Например, hook `PreToolUse` для команды Bash получает это на stdin:

666 815 


670 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",819 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

671 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",820 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",

672 "cwd": "/home/user/my-project",821 "cwd": "/home/user/my-project",

822 "scratchpad_dir": "/tmp/claude-1000/-home-user-my-project/abc123/scratchpad",

673 "permission_mode": "default",823 "permission_mode": "default",

674 "hook_event_name": "PreToolUse",824 "hook_event_name": "PreToolUse",

675 "tool_name": "Bash",825 "tool_name": "Bash",

676 "tool_input": {826 "tool_input": {

677 "command": "npm test"827 "command": "npm test",

678 }828 "description": "Run test suite",

829 "timeout": 120000,

830 "run_in_background": false

831 },

832 "tool_use_id": "toolu_01ABC123..."

679}833}

680```834```

681 835 

682Поля `tool_name` и `tool_input` специфичны для события. Каждый раздел [hook event](#hook-events) документирует дополнительные поля для этого события.836Поля `tool_name`, `tool_input` и `tool_use_id` специфичны для события. Каждый раздел [hook event](#hook-events) документирует дополнительные поля для этого события.

683 837 

684<h3 id="exit-code-output">838<h3 id="exit-code-output">

685 Выходные коды выхода839 Выходные коды выхода

686</h3>840</h3>

687 841 

688Код выхода из вашей команды hook говорит Claude Code, должно ли действие продолжаться, быть заблокировано или быть проигнорировано.842Код выхода из вашей команды hook сообщает Claude Code, должно ли действие продолжаться, быть заблокировано или игнорироваться. Код выхода не действует в одиночку. Claude Code читает поля [JSON output](#json-output) из stdout при каждом коде выхода, не только 0, и для событий, которые используют стандартную модель решения, проанализированный объект, который проходит валидацию схемы, вступает в силу наряду с кодом. Блокировка Exit 2 — это единственный результат, который JSON не может переопределить.

843 

844Две таблицы владеют исключениями для каждого события: [Exit code 2 behavior per event](#exit-code-2-behavior-per-event) говорит, что коды выхода делают для каждого события, и [Decision control](#decision-control) говорит, какие поля решения каждое событие учитывает. Универсальные поля, такие как `systemMessage`, работают на большинстве событий и перечислены в таблице [JSON output](#json-output).

845 

846<h4 id="exit-code-0">

847 Exit code 0

848</h4>

849 

850Exit 0 означает успех и является предполагаемым кодом выхода, когда вы печатаете JSON для структурированного управления.

851 

852Для большинства событий Claude Code записывает stdout в журнал отладки и не показывает его в транскрипте. Исключения — это `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` и `PostModelSwitch`, где Claude Code добавляет простой текст stdout как контекст, который Claude может видеть и действовать.

689 853 

690**Exit 0** означает успех. Claude Code анализирует stdout для [JSON полей выхода](#json-output). JSON выход обрабатывается только при exit 0. Для большинства событий stdout записывается в журнал отладки, но не показывается в транскрипте. Исключения — `UserPromptSubmit`, `UserPromptExpansion` и `SessionStart`, где stdout добавляется как контекст, который Claude может видеть и действовать.854Читает ли Claude Code ваш stdout как [JSON output](#json-output) или как простой текст, зависит от того, как он начинается и заканчивается, игнорируя окружающие пробелы:

691 855 

692**Exit 2** означает блокирующую ошибку. Claude Code игнорирует stdout и любой JSON в нём. Вместо этого текст stderr передаётся обратно Claude как сообщение об ошибке. Эффект зависит от события: `PreToolUse` блокирует вызов инструмента, `UserPromptSubmit` отклоняет подсказку и так далее. См. [exit code 2 behavior](#exit-code-2-behavior-per-event) для полного списка.856* **Начинается с `{` и заканчивается на `}`**: Claude Code анализирует его как JSON. Когда выход состоит из двух или более строк, которые каждая анализируются как JSON самостоятельно, и ни одна строка не является объектом [JSON output](#json-output), который устанавливает поле, Claude Code рассматривает весь выход как простой текст. Когда одна из этих строк устанавливает поле, весь выход является ошибкой анализа, описанной ниже.

857* **Начинается с `{` но не заканчивается на `}`**: Claude Code рассматривает это как простой текст.

858* **Начинается с чего-либо еще**: Claude Code рассматривает это как простой текст, JSON массив или включенную строку JSON в кавычках.

693 859 

694**Любой другой код выхода** — это неблокирующая ошибка для большинства событий hook. Транскрипт показывает уведомление об ошибке `<hook name> hook error`, за которым следует первая строка stderr, поэтому вы можете определить причину без `--debug`. Выполнение продолжается и полный stderr записывается в журнал отладки.860Для событий, которые используют стандартную модель решения, exit 0 с проанализированным объектом, который не проходит валидацию схемы, является неблокирующей ошибкой: действие продолжается, и транскрипт показывает уведомление об ошибке `<hook name> hook error` с сообщением валидации. То же самое происходит при любом коде выхода, отличном от 2, в то время как [exit 2 все еще блокирует](#exit-code-2).

695 861 

696Например, скрипт команды hook, который блокирует опасные команды Bash:862Для событий, которые используют стандартную модель решения, когда Claude Code пытается анализировать ваш stdout как JSON и не может, он сообщает о неблокирующей ошибке при каждом коде выхода, отличном от 2. Транскрипт показывает уведомление об ошибке `<hook name> hook error` с сообщением анализа. На событиях, которые добавляют простой текст stdout как контекст, Claude Code не добавляет текст. До v2.1.248 Claude Code рассматривал этот stdout как простой текст.

863 

864Stderr из hook, который выходит с 0, идет только в журнал отладки, никогда в транскрипт, и Claude его не видит. Чтобы прочитать его самостоятельно, включите [debug logging](#debug-hooks). Чтобы вывести предупреждение Claude из hook `PostToolUse` или `PostToolUseFailure`, выйдите с 2 вместо этого, чтобы [Claude видел stderr](#exit-code-2-behavior-per-event), даже если инструмент уже запустился.

865 

866<h4 id="exit-code-2">

867 Exit code 2

868</h4>

869 

870Exit 2 означает блокирующую ошибку. На [событиях, которые могут блокировать](#exit-code-2-behavior-per-event), exit 2 блокирует независимо от того, печатаете ли вы JSON: даже JSON `permissionDecision` из `"allow"` не может его переопределить. Claude Code все еще читает любой действительный [JSON output](#json-output) на stdout. На `Elicitation` и `ElicitationResult`, `hookSpecificOutput` hook с exit-2 игнорируется.

871 

872Сообщение блокировки — это причина из решения блокировки вашего JSON, когда оно его делает, и ваш текст stderr в противном случае. Что делает блокировка, варьируется в зависимости от события: `PreToolUse` блокирует вызов инструмента, `UserPromptSubmit` отклоняет запрос и так далее. [Exit code 2 behavior per event](#exit-code-2-behavior-per-event) перечисляет эффект для каждого события, и каждый раздел события говорит, куда идет сообщение.

873 

874Hook, который выходит с 2 при печати JSON, который не проходит валидацию схемы [JSON output](#json-output), все еще блокирует: Claude Code использует stderr как причину блокировки и записывает ошибку валидации в журнал отладки. До v2.1.214 Claude Code рассматривал эту комбинацию как неблокирующую ошибку и действие продолжалось.

875 

876Этот скрипт блокирует команды `rm`, выходя с 2 и оставляет каждую другую команду нормальному потоку разрешений:

697 877 

698```bash theme={null}878```bash theme={null}

699#!/bin/bash879#!/bin/bash

700# Читает JSON входные данные из stdin, проверяет команду880# Reads JSON input from stdin, checks the command

701command=$(jq -r '.tool_input.command' < /dev/stdin)881input=$(cat)

882command=$(jq -r '.tool_input.command' <<<"$input")

702 883 

703if [[ "$command" == rm* ]]; then884if [[ "$command" == rm* ]]; then

704 echo "Blocked: rm commands are not allowed" >&2885 echo "Blocked: rm commands are not allowed" >&2


708exit 0 # No decision: the normal permission flow applies889exit 0 # No decision: the normal permission flow applies

709```890```

710 891 

892<h4 id="other-exit-codes">

893 Другие коды выхода

894</h4>

895 

896Любой другой код выхода не блокирует сам по себе для большинства hook событий. Что происходит, зависит от вашего stdout:

897 

898* С проанализированным объектом, который проходит валидацию схемы, для событий, которые используют стандартную модель решения, Claude Code игнорирует код выхода и только JSON решает результат:

899 * Каждое поле, которое событие поддерживает, учитывается, включая `permissionDecision`, `additionalContext`, `updatedInput` и `systemMessage`, и hook не сообщается как ошибка.

900 * [Decision control](#decision-control) перечисляет поля решения для каждого события; универсальные поля, такие как `systemMessage`, следуют таблице [JSON output](#json-output).

901* С проанализированным объектом, который не проходит валидацию схемы, для событий, которые используют стандартную модель решения, это то же самое неблокирующее ошибка, что и [на exit 0](#exit-code-0): действие продолжается, и уведомление `<hook name> hook error` содержит сообщение валидации.

902* С stdout, который Claude Code [пытается анализировать как JSON](#exit-code-0) и не может, Claude Code сообщает о той же неблокирующей ошибке, что и на exit 0 для событий, которые используют стандартную модель решения. Действие продолжается, и уведомление содержит сообщение анализа.

903* С stdout, который Claude Code [рассматривает как простой текст](#exit-code-0), или с пустым stdout, это неблокирующая ошибка для большинства hook событий: действие продолжается, и транскрипт показывает уведомление об ошибке `<hook name> hook error`, за которым следует первая строка stderr, с префиксом `Failed with non-blocking status code:`. Чтобы захватить полный stderr, включите [debug logging](#debug-hooks).

904 

905События вне стандартной модели решения сохраняют свои собственные строки в [таблице для каждого события](#exit-code-2-behavior-per-event): `WorktreeCreate` не создает при любом ненулевом выходе, независимо от того, что говорит ваш JSON, и события, которые полностью игнорируют выход hook, такие как `StopFailure`, игнорируют ваш JSON при каждом коде выхода, кроме полей побочных эффектов, таких как `terminalSequence`, которые все еще срабатывают.

906 

907Hook, который не может запуститься, попадает в ту же неблокирующую корзину. Когда путь скрипта не существует или не исполняемый, оболочка выходит с кодом, например 127, и вы видите то же уведомление с сообщением интерпретатора, например `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Для большинства hook событий действие продолжается. Когда вы устанавливаете hook политики, следите за этим уведомлением при его первом запуске: неправильно введенный путь в `settings.json` оставляет ворота молча отключенными.

908 

711<Warning>909<Warning>

712 Для большинства событий hook только exit code 2 блокирует действие. Claude Code рассматривает exit code 1 как неблокирующую ошибку и продолжает действие, даже хотя 1 — это обычный код отказа Unix. Если ваш hook предназначен для обеспечения политики, используйте `exit 2`. Исключение — `WorktreeCreate`, где любой ненулевой код выхода прерывает создание worktree.910 Для большинства hook событий exit code 2 — это единственный код выхода, который блокирует только через код. Без действительного JSON на stdout Claude Code рассматривает exit code 1 как неблокирующую ошибку и продолжает действие, даже хотя 1 — это обычный код отказа Unix. Если ваш hook предназначен для обеспечения политики, используйте `exit 2`. События worktree отличаются: любой ненулевой код выхода из `WorktreeCreate` прерывает создание worktree, и любой ненулевой код выхода из `WorktreeRemove` делает удаление worktree неудачным, если каталог все еще существует после этого.

713</Warning>911</Warning>

714 912 

913<h4 id="timeouts">

914 Timeouts

915</h4>

916 

917Кроме hook команды, который вы запускаете с [`async: true`](#run-hooks-in-the-background), Claude Code отменяет hook `command`, `http` или `mcp_tool`, который достигает своего [`timeout`](#common-fields), отбрасывая выход hook, поэтому на большинстве событий истекший по времени hook не отображает решение.

918 

919На [`PreModelSwitch`](#premodelswitch), hook, отмененный при его timeout, блокирует переключение модели. На `PreToolUse` две семьи hook отличаются:

920 

921* Истекший по времени hook `command`, `http` или `mcp_tool` не блокирует вызов инструмента. Вызов продолжается через нормальный [поток разрешений](/docs/ru/permissions), поэтому не рассчитывайте на зависший hook, чтобы действовать как ворота.

922* [Agent SDK callback hook](/docs/ru/agent-sdk/hooks), который превышает свой timeout, [блокирует вызов инструмента](#pretooluse).

923 

715<h4 id="exit-code-2-behavior-per-event">924<h4 id="exit-code-2-behavior-per-event">

716 Поведение exit code 2 для каждого события925 Exit code 2 behavior per event

717</h4>926</h4>

718 927 

719Exit code 2 — это способ hook сигнализировать "стоп, не делай этого". Эффект зависит от события, потому что некоторые события представляют действия, которые могут быть заблокированы (например, вызов инструмента, который ещё не произошёл), а другие представляют вещи, которые уже произошли или не могут быть предотвращены.928Exit code 2 — это способ, которым hook сигнализирует "стоп, не делай этого". Эффект зависит от события, потому что некоторые события представляют действия, которые могут быть заблокированы (например, вызов инструмента, который еще не произошел), а другие представляют вещи, которые уже произошли или не могут быть предотвращены.

720 929 

721| Hook событие | Может блокировать? | Что происходит при exit 2 |930| Hook event | Может блокировать? | Что происходит на exit 2 |

722| :-------------------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |931| :-------------------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

723| `PreToolUse` | Да | Блокирует вызов инструмента |932| `PreToolUse` | Да | Блокирует вызов инструмента |

724| `PermissionRequest` | Да | Отклоняет разрешение |933| `PermissionRequest` | Нет | Exit code 2 не учитывается для этого события и поток разрешений продолжается без изменений. Отклоните через объект [`decision`](#permissionrequest-decision-control) вместо этого |

725| `UserPromptSubmit` | Да | Блокирует обработку подсказки и стирает подсказку |934| `UserPromptSubmit` | Да | Блокирует обработку запроса и стирает запрос |

726| `UserPromptExpansion` | Да | Блокирует расширение |935| `UserPromptExpansion` | Да | Блокирует расширение |

727| `Stop` | Да | Предотвращает остановку Claude, продолжает разговор |936| `Stop` | Да | Предотвращает остановку Claude, продолжает разговор |

728| `SubagentStop` | Да | Предотвращает остановку subagent |937| `SubagentStop` | Да | Предотвращает остановку subagent |

729| `TeammateIdle` | Да | Предотвращает переход товарища в режим ожидания, так что он продолжает работать |938| `TeammateIdle` | Да | Предотвращает переход товарища в режим ожидания, поэтому он продолжает работать |

730| `TaskCreated` | Да | Откатывает создание задачи |939| `TaskCreated` | Да | Откатывает создание задачи |

731| `TaskCompleted` | Да | Предотвращает отметку задачи как завершённой |940| `TaskCompleted` | Да | Предотвращает отметку задачи как завершенной |

732| `ConfigChange` | Да | Блокирует применение изменения конфигурации (кроме `policy_settings`) |941| `ConfigChange` | Да | Блокирует вступление изменения конфигурации в силу (кроме `policy_settings`) |

733| `StopFailure` | Нет | Выход и код выхода игнорируются |942| `StopFailure` | Нет | Выход и код выхода игнорируются, кроме `terminalSequence` |

734| `PostToolUse` | Нет | Показывает stderr Claude; инструмент уже запустился |943| `PostToolUse` | Нет | Показывает stderr Claude; инструмент уже запустился |

735| `PostToolUseFailure` | Нет | Показывает stderr Claude; инструмент уже не удался |944| `PostToolUseFailure` | Нет | Показывает stderr Claude; инструмент уже не удался |

736| `PostToolBatch` | Да | Останавливает цикл агента перед следующим вызовом модели |945| `PostToolBatch` | Да | Останавливает агентный цикл перед следующим вызовом модели |

737| `PermissionDenied` | Нет | Код выхода и stderr игнорируются, потому что отказ уже произошёл. Используйте JSON `hookSpecificOutput.retry: true` для сообщения модели, что она может повторить попытку |946| `PermissionDenied` | Нет | Выход и stderr игнорируются, потому что отказ уже произошел. Используйте JSON `hookSpecificOutput.retry: true`, чтобы сказать модели, что она может повторить попытку; Claude Code игнорирует `retry: true` для [отказов без вердикта](#permissiondenied-decision-control) |

738| `Notification` | Нет | Показывает stderr только пользователю |947| `Notification` | Нет | Выход и stderr игнорируются |

739| `SubagentStart` | Нет | Показывает stderr только пользователю |948| `SubagentStart` | Нет | Показывает stderr только пользователю |

740| `SessionStart` | Нет | Показывает stderr только пользователю |949| `SessionStart` | Нет | Показывает stderr только пользователю |

741| `Setup` | Нет | Показывает stderr только пользователю |950| `Setup` | Нет | Выход и stderr игнорируются |

742| `SessionEnd` | Нет | Показывает stderr только пользователю |951| `SessionEnd` | Нет | Показывает stderr только пользователю |

743| `CwdChanged` | Нет | Показывает stderr только пользователю |952| `CwdChanged` | Нет | Показывает stderr только пользователю |

953| `DirectoryAdded` | Нет | Stderr идет в журнал отладки; каталог уже добавлен |

744| `FileChanged` | Нет | Показывает stderr только пользователю |954| `FileChanged` | Нет | Показывает stderr только пользователю |

745| `PreCompact` | Да | Блокирует компактирование |955| `PreCompact` | Да | Блокирует компактирование |

746| `PostCompact` | Нет | Показывает stderr только пользователю |956| `PostCompact` | Нет | Показывает stderr только пользователю |

747| `Elicitation` | Да | Отклоняет elicitation |957| `PreModelSwitch` | Да | Блокирует переключение модели и показывает stderr пользователю |

748| `ElicitationResult` | Да | Блокирует ответ (действие становится decline) |958| `PostModelSwitch` | Нет | Показывает stderr только пользователю; модель уже переключилась |

749| `WorktreeCreate` | Да | Любой ненулевой код выхода вызывает сбой создания worktree |959| `Elicitation` | Да | Отклоняет запрос информации |

750| `WorktreeRemove` | Нет | Сбои логируются только в режиме отладки |960| `ElicitationResult` | Да | Блокирует ответ (действие становится отклонением) |

961| `WorktreeCreate` | Да | Любой ненулевой код выхода вызывает ошибку создания worktree |

962| `WorktreeRemove` | Да | Любой ненулевой код выхода вызывает ошибку удаления worktree, если каталог все еще существует после этого. См. [WorktreeRemove](#worktreeremove) для того, что происходит с каталогом |

751| `InstructionsLoaded` | Нет | Код выхода игнорируется |963| `InstructionsLoaded` | Нет | Код выхода игнорируется |

752| `MessageDisplay` | Нет | Исходный текст отображается |964| `MessageDisplay` | Нет | Отображается исходный текст |

753 

754Для `SessionStart`, `Setup` и `SubagentStart` stderr exit code 2 отображается в транскрипте как уведомление об ошибке `<hook name> hook error`, так же как [неблокирующая ошибка](#exit-code-output). Claude не видит это, и сеанс или subagent продолжается. Для `SubagentStart` уведомление появляется в собственном транскрипте subagent, а не в родительском разговоре.

755 965 

756Начиная с Claude Code v2.1.199, `SessionStart`, `Setup` и `SubagentStart` показывают stderr exit code 2 в транскрипте. Более ранние версии записывали это только в журнал отладки.966Для `SessionStart`, `SubagentStart` и `PostModelSwitch`, Claude Code отображает stderr exit code 2 в транскрипте как уведомление об ошибке `<hook name> hook error`, так же как оно отображает [неблокирующую ошибку](#exit-code-output). Claude его не видит, и сеанс или subagent продолжается. Для `SubagentStart` уведомление появляется в собственном транскрипте subagent, а не в родительском разговоре.

757 967 

758<h3 id="http-response-handling">968<h3 id="http-response-handling">

759 Обработка HTTP ответа969 HTTP response handling

760</h3>970</h3>

761 971 

762HTTP hooks используют коды статуса HTTP и тела ответов вместо кодов выхода и stdout:972HTTP hooks используют коды состояния HTTP и тела ответов вместо кодов выхода и stdout. Результаты ниже применяются к большинству событий; событие с его собственным контрактом отказа в [таблице для каждого события](#exit-code-2-behavior-per-event), такое как `WorktreeCreate`, применяет этот контракт к неудачному HTTP hook также:

763 973 

764* **2xx с пустым телом**: успех, эквивалентно exit code 0 без выхода974* **2xx с пустым телом**: успех, эквивалентно exit code 0 без выхода

765* **2xx с телом простого текста**: успех, текст добавляется как контекст975* **2xx с телом объекта JSON**: анализируется с использованием той же схемы [JSON output](#json-output), что и hooks команд. Тело, которое не проходит валидацию схемы, является неблокирующей ошибкой

766* **2xx с JSON телом**: успех, анализируется с использованием той же [JSON выхода](#json-output) схемы, что и command hooks976* **2xx с любым другим телом, таким как простой текст**: неблокирующая ошибка, обрабатывается так же, как статус non-2xx. Claude Code не добавляет текст в контекст Claude

767* **Статус не 2xx**: неблокирующая ошибка, выполнение продолжается977* **Статус non-2xx**: неблокирующая ошибка, выполнение продолжается

768* **Сбой соединения или таймаут**: неблокирующая ошибка, выполнение продолжается978* **Ошибка соединения**: неблокирующая ошибка, выполнение продолжается

979* **Timeout**: hook отменяется, как описано в разделе [Timeouts](#timeouts)

769 980 

770В отличие от command hooks, HTTP hooks не могут сигнализировать блокирующую ошибку только через коды статуса. Чтобы заблокировать вызов инструмента или отклонить разрешение, верните ответ 2xx с JSON телом, содержащим соответствующие поля решения.981В отличие от hooks команд, HTTP hooks не могут сигнализировать блокирующую ошибку только через коды состояния. Чтобы заблокировать вызов инструмента или отклонить разрешение, верните ответ 2xx с телом JSON, содержащим соответствующие поля решения.

771 982 

772<h3 id="json-output">983<h3 id="json-output">

773 JSON выход984 JSON output

774</h3>985</h3>

775 986 

776Коды выхода позволяют вам разрешить или заблокировать, но JSON выход даёт вам более точное управление. Вместо выхода с кодом 2 для блокировки, выйдите с 0 и выведите JSON объект на stdout. Claude Code читает специфические поля из этого JSON для управления поведением, включая [decision control](#decision-control) для блокировки, разрешения или эскалации пользователю.987Коды выхода позволяют вам только блокировать или молчать, но JSON output дает вам более точное управление. Вместо выхода с кодом 2 для блокировки, выйдите с 0 и напечатайте объект JSON на stdout. Claude Code читает конкретные поля из этого JSON для управления поведением, включая [decision control](#decision-control) для блокировки, разрешения или эскалации пользователю.

777 988 

778<Note>989<Note>

779 Вы должны выбрать один подход на hook, не оба: либо используйте коды выхода отдельно для сигнализации, либо выйдите с 0 и выведите JSON для структурированного управления. Claude Code обрабатывает JSON только при exit 0. Если вы выйдете с 2, любой JSON игнорируется.990 Выберите один подход для каждого hook: либо используйте коды выхода только для сигнализации, либо выйдите с 0 и напечатайте JSON для структурированного управления. Если вы их смешиваете, exit 2 сохраняет свой [блокирующий эффект](#exit-code-2-behavior-per-event), и Claude Code все еще читает поля JSON, с единственным исключением elicitation, отмеченным в разделе [Exit code 2](#exit-code-2).

780</Note>991</Note>

781 992 

782Stdout вашего hook должен содержать только JSON объект. Если ваш профиль оболочки выводит текст при запуске, это может помешать анализу JSON. См. [JSON validation failed](/docs/ru/hooks-guide#json-validation-failed) в руководстве по устранению неполадок.993Stdout вашего hook должен содержать только объект JSON. Если ваш профиль оболочки печатает текст при запуске, это может помешать анализу JSON. См. [Hook JSON has no effect](/docs/ru/hooks-guide#hook-json-has-no-effect) в руководстве по устранению неполадок.

783 994 

784Выходные строки hook, включая `additionalContext`, `systemMessage` и простой stdout, ограничены 10 000 символами. Выход, превышающий этот лимит, сохраняется в файл и заменяется предпросмотром и путём к файлу, так же как обрабатываются большие результаты инструментов.995Строки `additionalContext`, `systemMessage` и `initialUserMessage` hook, а также его простой stdout, ограничены 10 000 символов:

785 996 

786JSON объект поддерживает три вида полей:997* **Область**: Claude Code измеряет каждую строку отдельно, даже когда несколько hooks запускаются для одного события. Для JSON output каждое поле измеряется отдельно; простой stdout измеряется целиком.

998* **Превышение лимита**: Claude Code сохраняет выход в файл в каталоге сеанса и заменяет его путем к файлу и предпросмотром до первых 2000 символов. Большой действительный результат Bash обрабатывается так же, как описано в разделе [Output limits](/docs/ru/tools-reference#output-limits). В отличие от этого потолка Bash, эта крышка не имеет параметра или переменной окружения для ее повышения.

999* **Чтение файла**: Claude Code не просит Claude прочитать файл, поэтому держите все, что Claude должен всегда видеть, в пределах крышки.

787 1000 

788* **Универсальные поля** как `continue` работают во всех событиях. Они перечислены в таблице ниже.1001Объект JSON поддерживает три вида полей:

789* **Верхнеуровневые `decision` и `reason`** используются некоторыми событиями для блокировки или предоставления обратной связи.1002 

1003* **Универсальные поля**, такие как `continue`, перечислены в таблице ниже. Каждое событие их принимает, но некоторые события игнорируют их или доставляют `systemMessage` в другое место, чем транскрипт. Каждый раздел события говорит об этом. `terminalSequence` работает на этих событиях также, с исключениями, перечисленными в разделе [Emit terminal notifications](#emit-terminal-notifications).

1004* **Top-level `decision` и `reason`** используются некоторыми событиями для блокировки или предоставления обратной связи.

790* **`hookSpecificOutput`** — это вложенный объект для событий, которым нужно более богатое управление. Он требует поле `hookEventName`, установленное на имя события.1005* **`hookSpecificOutput`** — это вложенный объект для событий, которым нужно более богатое управление. Он требует поле `hookEventName`, установленное на имя события.

791 1006 

792| Поле | По умолчанию | Описание |1007| Поле | По умолчанию | Описание |

793| :----------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1008| :----------------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

794| `continue` | `true` | Если `false`, Claude полностью прекращает обработку после запуска hook. Имеет приоритет над любыми полями решения, специфичными для события |1009| `continue` | `true` | Если `false`, Claude полностью прекращает обработку после запуска hook. Имеет приоритет над любыми полями решения, специфичными для события |

795| `stopReason` | нет | Сообщение, показываемое пользователю при `continue` равном `false`. Не показывается Claude |1010| `stopReason` | нет | Сообщение, показанное пользователю, когда `continue` равно `false`. Оно остается в разговоре, поэтому Claude видит его, если разговор продолжается |

796| `suppressOutput` | `false` | Если `true`, скрывает stdout hook из транскрипта. Stdout всё ещё появляется в журнале отладки |1011| `suppressOutput` | `false` | Не имеет эффекта: Claude Code принимает поле, но не действует на него. Stdout успешного hook никогда не показывается в транскрипте и записывается в журнал отладки |

797| `systemMessage` | нет | Предупреждающее сообщение, показываемое пользователю |1012| `systemMessage` | нет | Предупреждающее сообщение, показанное пользователю. В выводе [Agent SDK](/docs/ru/agent-sdk/overview) и [`--output-format stream-json`](/docs/ru/headless), оно может поступить как [`SDKInformationalMessage`](/docs/ru/agent-sdk/typescript#sdkinformationalmessage) |

798| `terminalSequence` | нет | Escape последовательность терминала для Claude Code, которую нужно выдать от вашего имени, такая как уведомление рабочего стола, заголовок окна или звуковой сигнал. Ограничено OSC `0`/`1`/`2`/`9`/`99`/`777` и BEL. Если значение содержит что-либо вне списка разрешённых, поле игнорируется. Используйте это вместо записи в `/dev/tty`, которая недоступна для hooks |1013| `terminalSequence` | нет | Последовательность escape терминала для Claude Code для выпуска от вашего имени, такая как уведомление рабочего стола, заголовок окна или звонок. Ограничено OSC `0`/`1`/`2`/`9`/`99`/`777` и BEL. Если значение содержит что-либо вне списка разрешений, поле игнорируется. Используйте это вместо записи в `/dev/tty`, которая недоступна для hooks |

799 1014 

800Чтобы полностью остановить Claude независимо от типа события:1015Чтобы полностью остановить Claude:

801 1016 

802```json theme={null}1017```json theme={null}

803{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }1018{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }

804```1019```

805 1020 

1021Для hooks `PreToolUse` и `PostToolUse` остановка применяется даже когда вызов инструмента не удается или завершается, пока Claude все еще потоком ответ.

1022 

806<h4 id="emit-terminal-notifications">1023<h4 id="emit-terminal-notifications">

807 Выдача уведомлений терминала1024 Emit terminal notifications

808</h4>1025</h4>

809 1026 

810Поле `terminalSequence` требует Claude Code v2.1.141 или позже.1027Hooks запускаются без управляющего терминала, поэтому запись последовательностей escape непосредственно в `/dev/tty` не удается. Вместо этого верните последовательность escape в поле `terminalSequence` и Claude Code выпустит ее от вашего имени через свой собственный путь записи терминала. Это свободно от гонок, работает внутри tmux и GNU screen, и работает на Windows, где нет `/dev/tty`.

811 1028 

812Hooks запускаются без управляющего терминала, поэтому запись escape последовательностей непосредственно в `/dev/tty` не удаётся. Вместо этого верните escape последовательность в поле `terminalSequence` и Claude Code выдаст её от вашего имени через собственный путь записи терминала. Это свободно от гонок, работает внутри tmux и GNU screen, и работает на Windows, где нет `/dev/tty`.1029Поле принимает строку из одной или нескольких последовательностей escape в списке разрешений:

813 

814Поле принимает строку из одной или нескольких разрешённых escape последовательностей:

815 1030 

816* OSC `0`, `1`, `2`: заголовки окна и значков1031* OSC `0`, `1`, `2`: заголовки окна и значков

817* OSC `9`: уведомления iTerm2, ConEmu, Windows Terminal и WezTerm, включая `9;4` прогресс панели задач1032* OSC `9`: уведомления iTerm2, ConEmu, Windows Terminal и WezTerm, включая прогресс панели задач `9;4`

818* OSC `99`: уведомления Kitty1033* OSC `99`: уведомления Kitty

819* OSC `777`: уведомления urxvt, Ghostty и Warp1034* OSC `777`: уведомления urxvt, Ghostty и Warp

820* Bare BEL1035* Bare BEL

821 1036 

822Последовательности могут быть завершены BEL или ST. Что-либо вне списка разрешённых, включая CSI курсор и цветовые последовательности, OSC палитру последовательности, OSC 8 гиперссылки, OSC 52 записи буфера обмена и OSC 1337, отклоняется и поле игнорируется.1037Последовательности могут быть завершены BEL или ST. Все, что находится вне списка разрешений, включая последовательности курсора CSI и цвета, последовательности палитры OSC, гиперссылки OSC 8, записи буфера обмена OSC 52 и OSC 1337, отклоняется и поле игнорируется.

1038 

1039Claude Code выпускает саму последовательность, когда обрабатывает выход вашего hook, поэтому поле работает на событиях, которые игнорируют `systemMessage` и `continue`, такие как `Notification` и `StopFailure`. Оно имеет два ограничения:

823 1040 

824Пример ниже срабатывает уведомление рабочего стола из hook `Notification`. Escape последовательность строится с `printf` восьмеричными экранами, поэтому управляющие байты никогда не появляются в командной строке оболочки, и `jq -n --arg` строит JSON выход, поэтому кавычки, обратные слэши и новые строки в сообщении уведомления правильно экранируются:1041* Claude Code выпускает последовательность только в интерактивном сеансе и только пока его интерфейс находится на экране. В неинтерактивном режиме с флагом `-p` и в Agent SDK он игнорирует поле.

1042* Hook команды `WorktreeCreate` не может вернуть JSON, потому что Claude Code читает его stdout как путь worktree. HTTP hook `WorktreeCreate` возвращает JSON и может включать поле.

1043 

1044Пример ниже срабатывает уведомление рабочего стола из hook `Notification`. Последовательность escape строится с помощью `printf` восьмеричных escape, поэтому управляющие байты никогда не появляются в командной строке оболочки, и `jq -n --arg` строит выход JSON, поэтому кавычки, обратные слэши и новые строки в сообщении уведомления правильно экранируются:

825 1045 

826```bash theme={null}1046```bash theme={null}

827#!/bin/bash1047#!/bin/bash

828# Notification hook: ping the desktop when Claude Code needs attention.1048# Notification hook: ping the desktop when Claude Code needs attention.

829input=$(cat)1049input=$(cat)

830title="Claude Code'1050title="Claude Code"

831body=$(jq -r '.message // 'Needs your attention"' <<<"$input")1051body=$(jq -r '.message // "Needs your attention"' <<<"$input")

832seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")1052seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

833jq -nc --arg seq "$seq" '{terminalSequence: $seq}'1053jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

834```1054```

835 1055 

836Форма `{ "terminalSequence": "..." }` одинакова из любой оболочки или языка. На Windows постройте escape строку в PowerShell или скрипте и выдайте тот же JSON объект.1056Форма `{ "terminalSequence": "..." }` одинакова из любой оболочки или языка.

837 

838<Note>

839 `terminalSequence` — это поддерживаемая замена для hooks, которые ранее писали escape последовательности непосредственно в `/dev/tty`. Список разрешённых ограничен последовательностями, которые не могут перемещать курсор или изменять цвета, поэтому hook никогда не может повредить подсказку на экране.

840</Note>

841 1057 

842<h4 id="add-context-for-claude">1058<h4 id="add-context-for-claude">

843 Добавить контекст для Claude1059 Add context for Claude

844</h4>1060</h4>

845 1061 

846Поле `additionalContext` передаёт строку из вашего hook в контекстное окно Claude. Claude Code оборачивает строку в системное напоминание и вставляет её в разговор в точке, где сработал hook. Claude читает напоминание при следующем запросе модели, но оно не появляется как сообщение чата в интерфейсе.1062Поле `additionalContext` передает строку из вашего hook в контекстное окно Claude. Claude Code оборачивает строку в напоминание системы и вставляет ее в разговор в точке, где сработал hook. Claude читает напоминание при следующем запросе модели, но оно не появляется как сообщение чата в интерфейсе.

847 1063 

848Верните `additionalContext` внутри `hookSpecificOutput` рядом с именем события:1064Верните `additionalContext` внутри `hookSpecificOutput` рядом с именем события:

849 1065 


858 1074 

859Где появляется напоминание, зависит от события:1075Где появляется напоминание, зависит от события:

860 1076 

861* [SessionStart](#sessionstart), [Setup](#setup) и [SubagentStart](#subagentstart): в начале разговора, перед первой подсказкой1077* [SessionStart](#sessionstart) и [SubagentStart](#subagentstart): в начале разговора, перед первым запросом

862* [UserPromptSubmit](#userpromptsubmit) и [UserPromptExpansion](#userpromptexpansion): рядом с отправленной подсказкой1078* [UserPromptSubmit](#userpromptsubmit) и [UserPromptExpansion](#userpromptexpansion): рядом с отправленным запросом

863* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) и [PostToolBatch](#posttoolbatch): рядом с результатом инструмента1079* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) и [PostToolBatch](#posttoolbatch): рядом с результатом инструмента

864* [Stop](#stop) и [SubagentStop](#subagentstop): в конце хода. Разговор продолжается, поэтому Claude может действовать на основе обратной связи. См. [Stop decision control](#stop-decision-control)1080* [Stop](#stop) и [SubagentStop](#subagentstop): в конце хода. Разговор продолжается, поэтому Claude может действовать на обратную связь. См. [Stop decision control](#stop-decision-control)

1081* [PostModelSwitch](#postmodelswitch): со следующим запросом после переключения. См. [PostModelSwitch decision control](#postmodelswitch-decision-control) для синхронизации

865 1082 

866Когда несколько hooks возвращают `additionalContext` для одного события, Claude получает все значения. Если значение превышает 10 000 символов, Claude Code записывает полный текст в файл в каталоге сеанса и передаёт Claude путь к файлу с кратким предпросмотром вместо этого.1083Когда несколько hooks возвращают `additionalContext` для одного события, Claude получает все значения.

1084 

1085Если значение превышает 10 000 символов, Claude Code записывает текст в файл в каталоге сеанса и передает Claude путь к файлу с предпросмотром до первых 2000 символов вместо этого. Claude может прочитать файл, но Claude Code не просит его.

867 1086 

868Используйте `additionalContext` для информации, которую Claude должен знать о текущем состоянии вашей среды или операции, которая только что запустилась:1087Используйте `additionalContext` для информации, которую Claude должен знать о текущем состоянии вашей среды или операции, которая только что запустилась:

869 1088 

870* **Состояние среды**: текущая ветка, цель развёртывания или активные флаги функций1089* **Состояние среды**: текущая ветвь, цель развертывания или активные флаги функций

871* **Условные правила проекта**: какая команда тестирования применяется к только что отредактированному файлу, какие каталоги доступны только для чтения в этом worktree1090* **Условные правила проекта**: какая команда теста применяется к только что отредактированному файлу, какие каталоги доступны только для чтения в этом worktree

872* **Внешние данные**: открытые проблемы, назначенные вам, недавние результаты CI, содержимое, полученное из внутреннего сервиса1091* **Внешние данные**: открытые проблемы, назначенные вам, недавние результаты CI, контент, полученный из внутреннего сервиса

873 1092 

874Для инструкций, которые никогда не меняются, предпочитайте [CLAUDE.md](/docs/ru/memory). Он загружается без запуска скрипта и является стандартным местом для статических соглашений проекта.1093Для инструкций, которые никогда не изменяются, предпочитайте [CLAUDE.md](/docs/ru/memory). Он загружается без запуска скрипта и является стандартным местом для статических соглашений проекта.

875 1094 

876Напишите текст как фактические утверждения, а не как императивные системные инструкции. Формулировки такие как "Цель развёртывания — production" или "Этот репозиторий использует `bun test`" читаются как информация о проекте. Текст, сформулированный как внеполосные системные команды, может активировать защиту Claude от внедрения подсказок, что заставляет Claude вывести текст вам вместо того, чтобы рассматривать его как контекст.1095Напишите текст как фактические утверждения, а не как императивные системные инструкции. Фразировка, такая как "Цель развертывания — production" или "Этот репо использует `bun test`", читается как информация о проекте. Текст, сформулированный как внеполосные системные команды, может вызвать защиту Claude от инъекций подсказок, что заставляет Claude вывести текст вам вместо того, чтобы рассматривать его как контекст.

877 1096 

878После внедрения текст сохраняется в транскрипте сеанса. Для событий в середине сеанса, таких как `PostToolUse` или `UserPromptSubmit`, возобновление с `--continue` или `--resume` воспроизводит сохранённый текст вместо повторного запуска hook для прошлых ходов, поэтому значения, такие как временные метки или SHA коммитов, становятся устаревшими при возобновлении. Hooks `SessionStart` запускаются снова при возобновлении с `source` установленным на `"resume"`, поэтому они могут обновить свой контекст.1097Claude Code сохраняет введенный текст в транскрипте сеанса. Для событий середины сеанса, таких как `PostToolUse` или `UserPromptSubmit`, когда вы возобновляете с `--continue` или `--resume`, Claude Code воспроизводит сохраненный текст, а не повторно запускает hook для прошлых ходов, поэтому значения, такие как временные метки или SHA коммитов, становятся устаревшими. Hooks `SessionStart` запускаются снова при возобновлении с `source`, установленным на `"resume"`, или `"fork"`, если вы добавили `--fork-session`, поэтому они могут обновить свой контекст.

879 1098 

880<h4 id="decision-control">1099<h4 id="decision-control">

881 Управление решением1100 Decision control

882</h4>1101</h4>

883 1102 

884Не каждое событие поддерживает блокировку или управление поведением через JSON. События, которые это делают, каждое использует другой набор полей для выражения этого решения. Используйте эту таблицу как быструю ссылку перед написанием hook:1103Не каждое событие поддерживает блокировку или управление поведением через JSON. События, которые это делают, каждое использует другой набор полей для выражения этого решения. Используйте эту таблицу как быструю ссылку перед написанием hook:

885 1104 

886| События | Шаблон решения | Ключевые поля |1105| События | Паттерн решения | Ключевые поля |

887| :---------------------------------------------------------------------------------------------------------------------------------- | :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1106| :---------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

888| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Верхнеуровневое `decision` | `decision: "block"`, `reason`. Stop и SubagentStop также принимают `hookSpecificOutput.additionalContext` для [неошибочной обратной связи, которая продолжает разговор](#stop-decision-control) |1107| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | Top-level `decision` | `decision: "block"`, `reason`. Stop и SubagentStop также принимают `hookSpecificOutput.additionalContext` для [неошибочной обратной связи, которая продолжает разговор](#stop-decision-control) |

889| TeammateIdle, TaskCreated, TaskCompleted | Exit code или `continue: false` | Exit code 2 блокирует действие с обратной связью stderr. JSON `{"continue": false, "stopReason": "..."}` также полностью останавливает товарища, соответствуя поведению hook `Stop` |1108| TeammateIdle, TaskCompleted | Exit code или `continue: false` | Exit code 2 блокирует действие с обратной связью stderr. JSON `{"continue": false, "stopReason": "..."}` также полностью останавливает товарища, совпадая с поведением hook `Stop`; [TaskCompleted игнорирует это, когда инструмент `TaskUpdate` вызвал событие](#taskcompleted-decision-control) |

1109| TaskCreated | Exit code или top-level `decision` | Exit code 2 или `decision: "block"` [отменяет задачу](#taskcreated-decision-control) и возвращает сообщение Claude. `continue: false` игнорируется |

890| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |1110| PreToolUse | `hookSpecificOutput` | `permissionDecision` (allow/deny/ask/defer), `permissionDecisionReason` |

1111| PreModelSwitch | `hookSpecificOutput` или top-level `decision` | `permissionDecision` (allow/deny/ask), `permissionDecisionReason`. `decision: "block"` также [отменяет переключение](#premodelswitch-decision-control) |

891| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |1112| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |

892| PermissionDenied | `hookSpecificOutput` | `retry: true` говорит модели, что она может повторить попытку отклонённого вызова инструмента |1113| PermissionDenied | `hookSpecificOutput` | `retry: true` сообщает модели, что она может повторить попытку отклоненного вызова инструмента; Claude Code игнорирует это для [отказов без вердикта](#permissiondenied-decision-control) |

893| WorktreeCreate | path return | Command hook выводит путь на stdout; HTTP hook возвращает `hookSpecificOutput.worktreePath`. Сбой hook или отсутствие пути вызывает сбой создания |1114| WorktreeCreate | path return | Hook команды печатает путь на stdout; HTTP hook возвращает `hookSpecificOutput.worktreePath`. Ошибка hook или отсутствующий путь не создает |

1115| WorktreeRemove | Exit code | Любой ненулевой код выхода делает удаление неудачным, если каталог все еще существует после этого. Выход JSON отбрасывается |

894| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (значения полей формы для accept) |1116| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (значения полей формы для accept) |

895| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (переопределение значений полей формы) |1117| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (значения полей формы переопределяют) |

896| MessageDisplay | `hookSpecificOutput` | `displayContent` заменяет отображаемый текст на экране. Только отображение: транскрипт и то, что видит Claude, сохраняют исходный |1118| MessageDisplay | `hookSpecificOutput` | `displayContent` заменяет отображаемый текст на экране. Только отображение: транскрипт и то, что видит Claude, сохраняют оригинал |

897| SessionStart, Setup, SubagentStart | Только контекст | `hookSpecificOutput.additionalContext` добавляет контекст для Claude. SessionStart также принимает [`initialUserMessage`, `watchPaths`, `sessionTitle` и `reloadSkills`](#sessionstart-decision-control). Нет блокировки или управления решением |1119| SessionStart, SubagentStart, PostModelSwitch | Только контекст | `hookSpecificOutput.additionalContext` добавляет контекст для Claude. SessionStart также принимает [`initialUserMessage`, `watchPaths`, `sessionTitle` и `reloadSkills`](#sessionstart-decision-control). Нет блокировки или управления решением |

898| WorktreeRemove, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, FileChanged | Нет | Нет управления решением. Используется для побочных эффектов, таких как логирование или очистка |1120| Setup, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Нет | Нет управления решением. Используется для побочных эффектов, таких как логирование или очистка |

899 1121 

900Несколько событий также могут переписывать содержимое, а не только разрешать или блокировать его:1122Несколько событий также могут переписывать контент, а не только разрешать или блокировать его:

901 1123 

902* `PreToolUse`: `updatedInput` непосредственно под `hookSpecificOutput` заменяет аргументы инструмента перед его запуском. См. [PreToolUse decision control](#pretooluse-decision-control)1124* `PreToolUse`: `updatedInput` непосредственно под `hookSpecificOutput` заменяет аргументы инструмента перед его запуском. См. [PreToolUse decision control](#pretooluse-decision-control)

903* `PermissionRequest`: `updatedInput` внутри объекта `decision`. См. [PermissionRequest decision control](#permissionrequest-decision-control)1125* `PermissionRequest`: `updatedInput` внутри объекта `decision`. См. [PermissionRequest decision control](#permissionrequest-decision-control)

904* `PostToolUse`: `updatedToolOutput` заменяет результат инструмента. См. [PostToolUse decision control](#posttooluse-decision-control)1126* `PostToolUse`: `updatedToolOutput` заменяет результат инструмента. См. [PostToolUse decision control](#posttooluse-decision-control)

905* `UserPromptSubmit`: не может заменить подсказку; только внедряет `additionalContext` рядом с ней1127* `UserPromptSubmit`: не может переписать запрос; он только вводит `additionalContext` рядом с ним

906 1128 

907Для редактирования или трансформации используйте перехват на `PreToolUse` для исходящих входных данных инструмента и `PostToolUse` для входящих результатов инструмента.1129Для случаев использования редакции или трансформации перехватите на `PreToolUse` для исходящих входов инструмента и `PostToolUse` для входящих результатов инструмента.

908 1130 

909Вот примеры каждого шаблона в действии:1131Вот примеры каждого паттерна в действии:

910 1132 

911<Tabs>1133<Tabs>

912 <Tab title="Top-level decision">1134 <Tab title="Top-level decision">

913 Используется `UserPromptSubmit`, `UserPromptExpansion`, `PostToolUse`, `PostToolUseFailure`, `PostToolBatch`, `Stop`, `SubagentStop`, `ConfigChange` и `PreCompact`. Единственное значение — `"block"`. Чтобы разрешить действию продолжаться, опустите `decision` из вашего JSON или выйдите с 0 без какого-либо JSON вообще:1135 Единственное значение для `decision` — это `"block"`. Чтобы разрешить действию продолжаться, опустите `decision` из вашего JSON или выйдите с 0 без какого-либо JSON вообще:

914 1136 

915 ```json theme={null}1137 ```json theme={null}

916 {1138 {


921 </Tab>1143 </Tab>

922 1144 

923 <Tab title="PreToolUse">1145 <Tab title="PreToolUse">

924 Использует `hookSpecificOutput` для более богатого управления: разрешить, отклонить или отложить. Вы также можете изменить входные данные инструмента перед его запуском или внедрить дополнительный контекст для Claude. См. [PreToolUse decision control](#pretooluse-decision-control) для полного набора параметров.1146 Использует `hookSpecificOutput` для более богатого управления: разрешить, отклонить или эскалировать пользователю. Вы также можете изменить входные данные инструмента перед его запуском или вводить дополнительный контекст для Claude. См. [PreToolUse decision control](#pretooluse-decision-control) для полного набора опций.

925 1147 

926 ```json theme={null}1148 ```json theme={null}

927 {1149 {


935 </Tab>1157 </Tab>

936 1158 

937 <Tab title="PermissionRequest">1159 <Tab title="PermissionRequest">

938 Использует `hookSpecificOutput` для разрешения или отклонения запроса разрешения от имени пользователя. При разрешении вы также можете изменить входные данные инструмента или применить правила разрешения, чтобы пользователю не было предложено снова. См. [PermissionRequest decision control](#permissionrequest-decision-control) для полного набора параметров.1160 Использует `hookSpecificOutput` для разрешения или отклонения запроса разрешения от имени пользователя. При разрешении вы также можете изменить входные данные инструмента или применить правила разрешений, чтобы пользователь не был запрошен снова. См. [PermissionRequest decision control](#permissionrequest-decision-control) для полного набора опций.

939 1161 

940 ```json theme={null}1162 ```json theme={null}

941 {1163 {


953 </Tab>1175 </Tab>

954</Tabs>1176</Tabs>

955 1177 

956Для расширенных примеров, включая валидацию команд Bash, фильтрацию подсказок и скрипты автоматического одобрения, см. [What you can automate](/docs/ru/hooks-guide#what-you-can-automate) в руководстве и [Bash command validator reference implementation](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).1178Для расширенных примеров, включая валидацию команд Bash, фильтрацию запросов и скрипты автоматического одобрения, см. [What you can automate](/docs/ru/hooks-guide#what-you-can-automate) в руководстве и [Bash command validator reference implementation](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).

957 1179 

958<h2 id="hook-events">1180<h2 id="hook-events">

959 Hook events1181 События hooks

960</h2>1182</h2>

961 1183 

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

963 1185 

964<h3 id="sessionstart">1186<h3 id="sessionstart">

965 SessionStart1187 SessionStart

966</h3>1188</h3>

967 1189 

968Запускается при запуске Claude Code нового сеанса или возобновлении существующего сеанса. Полезно для загрузки контекста разработки, такого как существующие проблемы или недавние изменения в вашей кодовой базе, или установки переменных окружения. Для статического контекста, который не требует скрипта, используйте [CLAUDE.md](/docs/ru/memory) вместо этого.1190Запускается, когда Claude Code начинает новый сеанс или возобновляет существующий сеанс. Полезно для загрузки контекста разработки, такого как существующие проблемы или недавние изменения в вашей кодовой базе, или для установки переменных окружения. Для статического контекста, который не требует скрипта, используйте [CLAUDE.md](/docs/ru/memory) вместо этого.

969 1191 

970SessionStart запускается при каждом сеансе, поэтому держите эти hooks быстрыми. Поддерживаются только hooks `type: "command"` и `type: "mcp_tool"`.1192SessionStart запускается в каждом сеансе, поэтому держите эти hooks быстрыми. Поддерживаются только hooks `type: "command"` и `type: "mcp_tool"`. См. [MCP tool hook fields](#mcp-tool-hook-fields) для информации о том, когда выполняются hooks `mcp_tool`.

971 1193 

972Значение фильтра соответствует тому, как был инициирован сеанс:1194Значение matcher соответствует тому, как был инициирован сеанс:

973 1195 

974| Фильтр | Когда он срабатывает |1196| Matcher | Когда срабатывает |

975| :-------- | :---------------------------------------- |1197| :-------- | :------------------------------------------------------------------------------------------------------------------------------- |

976| `startup` | Новый сеанс |1198| `startup` | Новый сеанс |

977| `resume` | `--resume`, `--continue` или `/resume` |1199| `resume` | `--resume`, `--continue` или `/resume` |

978| `clear` | `/clear` |1200| `clear` | `/clear` |

979| `compact` | Автоматическое или ручное компактирование |1201| `compact` | Автоматическое или ручное сжатие |

1202| `fork` | Новый сеанс, разветвленный из существующего: `--fork-session` с `--resume` или `--continue`, фоновая копия `/fork` или `/branch` |

1203 

1204До версии 2.1.214 разветвленные сеансы сообщали источник `"resume"`.

1205 

1206Когда вы запускаете интерактивный сеанс, возобновляете разговор при запуске с `--continue` или `--resume` или запускаете `/clear`, hooks SessionStart выполняются в фоне. Вы можете сразу же печатать, и возобновленный разговор появляется без ожидания завершения hooks. Первый ответ Claude все еще ждет завершения hooks, поэтому их контекст достигает Claude.

1207 

1208Когда вы переключаете разговоры с `/resume` внутри сеанса, переключение ждет завершения hooks. Если вы запустите `/clear` или переключитесь на другой разговор, пока фоновые hooks все еще выполняются, ничего из того, что они возвращают, не применяется к сеансу.

1209 

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

1211 

1212Во время ожидания нажмите `Esc`, чтобы вернуть подсказку в ввод без отправки. Hooks продолжают выполняться.

980 1213 

981<h4 id="sessionstart-input">1214<h4 id="sessionstart-input">

982 SessionStart input1215 SessionStart input

983</h4>1216</h4>

984 1217 

985В дополнение к [общим полям входа](#common-input-fields), SessionStart hooks получают `source` и опционально `model`, `agent_type` и `session_title`:1218Помимо [common input fields](#common-input-fields), hooks SessionStart получают `source` и опционально `model`, `agent_type` и `session_title`:

986 1219 

987| Поле | Описание |1220| Field | Description |

988| :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1221| :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

989| `source` | Как был запущен сеанс: `"startup"` для новых сеансов, `"resume"` для возобновлённых сеансов, `"clear"` после `/clear` или `"compact"` после компактирования |1222| `source` | Как был запущен сеанс: `"startup"` для новых сеансов, `"resume"` для возобновленных сеансов, `"clear"` после `/clear`, `"compact"` после сжатия или `"fork"` для нового сеанса, разветвленного из существующего |

990| `model` | Идентификатор активной модели. Может быть опущено, например после `/clear` или когда сеанс восстанавливается через восстановление разговора, поэтому проверьте поле перед его чтением |1223| `model` | Идентификатор активной модели. Может быть опущен, например после `/clear` или когда сеанс восстанавливается через восстановление разговора, поэтому проверьте наличие поля перед его чтением |

991| `agent_type` | Имя агента, присутствует при запуске Claude Code с `claude --agent <name>` |1224| `agent_type` | Имя агента, присутствует при запуске Claude Code с `claude --agent <name>` |

992| `session_title` | Текущее название сеанса, если оно уже установлено, например через `--name` или `/rename`. Hook, который выдаёт `sessionTitle`, может сначала проверить `session_title`, чтобы избежать перезаписи названия, которое пользователь установил явно |1225| `session_title` | Текущее название сеанса, если оно уже установлено, например через `--name` или `/rename`. Hook, который выдает `sessionTitle`, может сначала проверить `session_title`, чтобы избежать перезаписи названия, которое пользователь установил явно |

1226 

1227Когда `source` имеет значение `"resume"` или `"fork"` и транскрипт содержит по крайней мере один ответ от Claude, hooks SessionStart также получают четыре поля ниже. Ваш hook может использовать их для сообщения о стоимости возобновления устаревшего разговора перед первым запросом, например в [`systemMessage`](#json-output). Эти поля требуют Claude Code v2.1.251 или позже.

1228 

1229| Field | Description |

1230| :---------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1231| `seconds_since_last_response` | Настоящее время в секундах с момента последнего ответа в возобновленном транскрипте |

1232| `context_tokens` | Токены, которые первый запрос возобновленного сеанса повторно отправляет как его подсказка |

1233| `prompt_cache_likely_expired` | `true`, когда последний ответ старше [lifetime кэша подсказок](/docs/ru/prompt-caching#cache-lifetime) сеанса или более позднее сжатие заменило кэшированный разговор |

1234| `estimated_cache_write_usd` | Предполагаемая стоимость в долларах США записи `context_tokens` в кэш подсказок на модели сеанса, исключая ответ |

1235 

1236Этот пример показывает ввод для сеанса, возобновленного через 90 минут после его последнего ответа:

993 1237 

994```json theme={null}1238```json theme={null}

995{1239{


997 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",1241 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

998 "cwd": "/Users/...",1242 "cwd": "/Users/...",

999 "hook_event_name": "SessionStart",1243 "hook_event_name": "SessionStart",

1000 "source": "startup",1244 "source": "resume",

1001 "model": "claude-sonnet-5"1245 "model": "claude-opus-5",

1246 "seconds_since_last_response": 5400,

1247 "context_tokens": 182340,

1248 "prompt_cache_likely_expired": true,

1249 "estimated_cache_write_usd": 1.1396

1002}1250}

1003```1251```

1004 1252 


1006 SessionStart decision control1254 SessionStart decision control

1007</h4>1255</h4>

1008 1256 

1009Любой текст, который ваш скрипт hook выводит на stdout, добавляется как контекст для Claude. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, вы можете вернуть эти поля, специфичные для события:1257Claude Code добавляет stdout, который он [рассматривает как простой текст](#exit-code-0), в контекст Claude. Помимо [JSON output fields](#json-output), доступных всем hooks, вы можете вернуть эти поля, специфичные для события:

1010 1258 

1011| Поле | Описание |1259| Field | Description |

1012| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1260| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1013| `additionalContext` | Строка, добавленная в контекст Claude в начале разговора, перед первой подсказкой. См. [Add context for Claude](#add-context-for-claude) для того, как текст доставляется и что в него поместить |1261| `additionalContext` | Строка, добавленная в контекст Claude в начале разговора, перед первой подсказкой. См. [Add context for Claude](#add-context-for-claude) для информации о том, как доставляется текст и что в него поместить |

1014| `initialUserMessage` | Строка, используемая как первое сообщение пользователя сеанса. Применяется в [неинтерактивном режиме](/docs/ru/headless) с флагом `-p`, где оно становится первым ходом, даже если подсказка не предоставлена. Если подсказка предоставлена, она следует как следующий ход. В отличие от `additionalContext`, который присоединяется к существующему ходу, это создаёт ход |1262| `initialUserMessage` | Строка, используемая как первое сообщение пользователя сеанса. Применяется в [non-interactive mode](/docs/ru/headless) с флагом `-p`, где она становится первым ходом, даже если подсказка не предоставлена. Если подсказка предоставлена, она следует как следующий ход. В отличие от `additionalContext`, который присоединяется к существующему ходу, это создает ход |

1015| `sessionTitle` | Устанавливает название сеанса, с тем же эффектом, что и `/rename`. Используйте для автоматического именования сеансов из папки запуска, ветки git или имени worktree. Применяется только когда `source` равен `"startup"` или `"resume"`; игнорируется на `"clear"` и `"compact"` |1263| `sessionTitle` | Устанавливает название сеанса с тем же эффектом, что и `/rename`. Используйте для автоматического именования сеансов из папки запуска, ветки git или имени worktree. Применяется, когда `source` имеет значение `"startup"`, `"resume"` или `"fork"`; игнорируется на `"clear"` и `"compact"` |

1016| `watchPaths` | Массив абсолютных путей для отслеживания событий [FileChanged](#filechanged) во время этого сеанса |1264| `watchPaths` | Массив абсолютных путей для наблюдения за событиями [FileChanged](#filechanged) во время этого сеанса |

1017| `reloadSkills` | Логическое значение. Когда `true`, Claude Code повторно сканирует каталоги [skill](/docs/ru/skills) и команд после завершения SessionStart hooks, поэтому skills, которые установил hook, доступны в том же сеансе, начиная с первой подсказки |1265| `reloadSkills` | Boolean. Когда `true`, Claude Code повторно сканирует [skill](/docs/ru/skills) и командные директории после завершения hooks SessionStart, поэтому skills, установленные hook, доступны в том же сеансе, начиная с первой подсказки |

1018 1266 

1019```json theme={null}1267```json theme={null}

1020{1268{


1026}1274}

1027```1275```

1028 1276 

1029Поскольку простой stdout уже достигает Claude для этого события, hook, который только загружает контекст, может выводить на stdout напрямую без построения JSON. Используйте форму JSON, когда вам нужно объединить контекст с другими полями, такими как `suppressOutput` или `sessionTitle`.1277Поскольку простой stdout уже достигает Claude для этого события, hook, который только загружает контекст, может печатать в stdout напрямую без построения JSON. Используйте форму JSON, когда вам нужно объединить контекст с другими полями, такими как `sessionTitle`.

1030 1278 

1031Используйте `reloadSkills`, когда hook SessionStart устанавливает или обновляет skills. Обнаружение skills обычно запускается перед завершением SessionStart hooks, поэтому файлы, которые hook записывает в `~/.claude/skills/` или `.claude/skills/`, в противном случае появились бы только в следующем сеансе. Этот пример синхронизирует репозиторий общих skills и запрашивает повторное сканирование:1279Используйте `reloadSkills`, когда hook SessionStart устанавливает или обновляет skills. Обнаружение skills обычно выполняется до завершения hooks SessionStart, поэтому файлы, которые hook записывает в `~/.claude/skills/` или `.claude/skills/`, в противном случае появятся только в следующем сеансе. Этот пример синхронизирует репозиторий общих skills и запрашивает повторное сканирование:

1032 1280 

1033```bash theme={null}1281```bash theme={null}

1034#!/bin/bash1282#!/bin/bash


1039echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1287echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1040```1288```

1041 1289 

1290URL репозитория является заполнителем; замените его на URL вашего репозитория skills. С заполнителем клонирование не удается и выводит сообщение `fatal:` в stderr. Stderr из hook SessionStart, который выходит с кодом 0, только информационный, поэтому запрос `reloadSkills` все еще применяется.

1291 

1042<h4 id="persist-environment-variables">1292<h4 id="persist-environment-variables">

1043 Persist environment variables1293 Persist environment variables

1044</h4>1294</h4>

1045 1295 

1046SessionStart hooks имеют доступ к переменной окружения `CLAUDE_ENV_FILE`, которая предоставляет путь к файлу, где вы можете сохранять переменные окружения для последующих команд Bash.1296Hooks SessionStart имеют доступ к переменной окружения `CLAUDE_ENV_FILE`, которая предоставляет путь к файлу, где вы можете сохранить переменные окружения для последующих команд Bash.

1047 1297 

1048Чтобы установить отдельные переменные окружения, напишите операторы `export` в `CLAUDE_ENV_FILE`. Используйте добавление (`>>`) для сохранения переменных, установленных другими hooks:1298Чтобы установить отдельные переменные окружения, напишите операторы `export` в `CLAUDE_ENV_FILE`. Используйте добавление (`>>`) для сохранения переменных, установленных другими hooks:

1049 1299 


1078exit 01328exit 0

1079```1329```

1080 1330 

1081Любые переменные, написанные в этот файл, будут доступны во всех последующих командах Bash, которые Claude Code выполняет во время сеанса.

1082 

1083<Note>1331<Note>

1084 `CLAUDE_ENV_FILE` доступен для SessionStart, [Setup](#setup), [CwdChanged](#cwdchanged) и [FileChanged](#filechanged) hooks. Другие типы hooks не имеют доступа к этой переменной.1332 `CLAUDE_ENV_FILE` доступен для hooks SessionStart, [Setup](#setup), [CwdChanged](#cwdchanged) и [FileChanged](#filechanged). Другие типы hooks не имеют доступа к этой переменной.

1085</Note>1333</Note>

1086 1334 

1087<h3 id="setup">1335<h3 id="setup">

1088 Setup1336 Setup

1089</h3>1337</h3>

1090 1338 

1091Срабатывает только при запуске Claude Code с `--init-only` или с `--init` или `--maintenance` в [неинтерактивном режиме](/docs/ru/headless) с флагом `-p`. Не срабатывает при нормальном запуске. Используйте это для одноразовой установки зависимостей или запланированной очистки, которую вы запускаете явно из CI или скриптов, отдельно от нормального запуска сеанса. Для инициализации для каждого сеанса используйте [SessionStart](#sessionstart) вместо этого.1339Срабатывает только при запуске Claude Code с `--init-only` или с `--init` или `--maintenance` в [non-interactive mode](/docs/ru/headless) с флагом `-p`. Не срабатывает при нормальном запуске. Используйте для одноразовой установки зависимостей или запланированной очистки, которую вы явно запускаете из CI или скриптов, отдельно от нормального запуска сеанса. Для инициализации для каждого сеанса используйте [SessionStart](#sessionstart) вместо этого.

1092 1340 

1093Значение фильтра соответствует флагу CLI, который запустил hook:1341Значение matcher соответствует флагу CLI, который запустил hook:

1094 1342 

1095| Фильтр | Когда он срабатывает |1343| Matcher | Когда срабатывает |

1096| :------------ | :------------------------------------------ |1344| :------------ | :------------------------------------------ |

1097| `init` | `claude --init-only` или `claude -p --init` |1345| `init` | `claude --init-only` или `claude -p --init` |

1098| `maintenance` | `claude -p --maintenance` |1346| `maintenance` | `claude -p --maintenance` |

1099 1347 

1100`--init-only` запускает Setup hooks и SessionStart hooks с фильтром `startup`, затем выходит без запуска разговора. `--init` и `--maintenance` срабатывают Setup hooks только при объединении с `-p`; в интерактивном сеансе эти два флага в настоящее время не срабатывают Setup hooks.1348Когда вы запускаете `claude --init-only`, Claude Code запускает hooks Setup и hooks `SessionStart` с matcher `startup`, затем выходит без запуска разговора.

1349 

1350Когда вы запускаете или продолжаете разговор с `-p`, вам также нужно предоставить подсказку как аргумент или через stdin. Вы можете пропустить подсказку, когда hook `SessionStart` предоставляет [`initialUserMessage`](#sessionstart-decision-control) или когда вы возобновляете сеанс с [deferred tool call](#defer-a-tool-call-for-later).

1351 

1352При успехе `--init-only` ничего не выводит на терминал. Чтобы подтвердить, что hooks выполнились, запустите с `claude --debug-file <path> --init-only`, заменив `<path>` на местоположение файла журнала, и проверьте журнал на наличие записей hooks Setup и SessionStart.

1101 1353 

1102Поскольку Setup не срабатывает при каждом запуске, плагин, которому нужна установленная зависимость, не может полагаться только на Setup. Практический паттерн — проверить зависимость при первом использовании и установить при отсутствии, например hook или skill, который проверяет `${CLAUDE_PLUGIN_DATA}/node_modules` и запускает `npm install` при отсутствии. См. [persistent data directory](/docs/ru/plugins-reference#persistent-data-directory) для того, где хранить установленные зависимости.1354Поскольку Setup не срабатывает при каждом запуске, plugin, которому нужна установленная зависимость, не может полагаться только на Setup. Практический паттерн — проверить зависимость при первом использовании и установить при отсутствии, например hook или skill, который тестирует `${CLAUDE_PLUGIN_DATA}/node_modules` и запускает `npm install`, если отсутствует. См. [persistent data directory](/docs/ru/plugins-reference#persistent-data-directory) для информации о том, где хранить установленные зависимости. Если вы распространяете свой plugin через marketplace, вам может не понадобиться этот паттерн: Claude Code [автоматически устанавливает подходящие зависимости пакетов Node.js](/docs/ru/plugins-reference#node-js-package-dependencies) при кэшировании plugin.

1103 1355 

1104<h4 id="setup-input">1356<h4 id="setup-input">

1105 Setup input1357 Setup input

1106</h4>1358</h4>

1107 1359 

1108В дополнение к [общим полям входа](#common-input-fields), Setup hooks получают поле `trigger`, установленное на `"init"` или `"maintenance"`:1360Помимо [common input fields](#common-input-fields), hooks Setup получают поле `trigger`, установленное либо на `"init"`, либо на `"maintenance"`:

1109 1361 

1110```json theme={null}1362```json theme={null}

1111{1363{


1121 Setup decision control1373 Setup decision control

1122</h4>1374</h4>

1123 1375 

1124Setup hooks не могут блокировать. При exit code 2 stderr показывается пользователю как уведомление об ошибке hook, и выполнение продолжается. В [неинтерактивном режиме](/docs/ru/headless) выход hook появляется только при запуске с `--verbose`. Чтобы передать информацию в контекст Claude, верните `additionalContext` в JSON выходе; простой stdout записывается только в журнал отладки. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, вы можете вернуть эти поля, специфичные для события:1376Hooks Setup не могут блокировать; выполнение продолжается при любом коде выхода. При каждом коде выхода Claude Code отбрасывает [JSON output fields](#json-output) hook Setup, такие как `systemMessage`, `continue` и `hookSpecificOutput.additionalContext`. С `-p` stdout, stderr и код выхода hook Setup появляются в выводе запуска только как [`hook_response` events](/docs/ru/headless#read-session-metadata) при запуске с `--output-format stream-json --verbose`.

1125 1377 

1126| Поле | Описание |1378Hooks Setup имеют доступ к `CLAUDE_ENV_FILE`. Переменные, записанные в этот файл, сохраняются в последующих командах Bash для сеанса, как в [SessionStart hooks](#persist-environment-variables). Только hooks `type: "command"` выполняются на `Setup`. Hook `type: "mcp_tool"` на `Setup` всегда пропускается, как описано в [MCP tool hook fields](#mcp-tool-hook-fields).

1127| :------------------ | :---------------------------------------------------------------------------- |

1128| `additionalContext` | Строка, добавленная в контекст Claude. Значения нескольких hooks объединяются |

1129 

1130```json theme={null}

1131{

1132 "hookSpecificOutput": {

1133 "hookEventName": "Setup",

1134 "additionalContext": "Dependencies installed: node_modules, .venv"

1135 }

1136}

1137```

1138 

1139Setup hooks имеют доступ к `CLAUDE_ENV_FILE`. Переменные, написанные в этот файл, сохраняются в последующих командах Bash для сеанса, как и в [SessionStart hooks](#persist-environment-variables). Поддерживаются только hooks `type: "command"` и `type: "mcp_tool"`.

1140 1379 

1141<h3 id="instructionsloaded">1380<h3 id="instructionsloaded">

1142 InstructionsLoaded1381 InstructionsLoaded

1143</h3>1382</h3>

1144 1383 

1145Срабатывает при загрузке файла `CLAUDE.md` или `.claude/rules/*.md` в контекст. Это событие срабатывает при запуске сеанса для нетерпеливо загруженных файлов и снова позже при ленивой загрузке, например когда Claude получает доступ к подкаталогу, содержащему вложенный `CLAUDE.md`, или когда условные правила с frontmatter `paths:` совпадают. Hook не поддерживает блокировку или управление решением. Он запускается асинхронно в целях наблюдаемости.1384Срабатывает, когда файл `CLAUDE.md` или `.claude/rules/*.md` загружается в контекст. Это событие срабатывает при запуске сеанса для нетерпеливо загруженных файлов и снова позже, когда файлы загружаются лениво, например когда Claude получает доступ к подпапке, которая содержит вложенный `CLAUDE.md`, или когда условные правила с frontmatter `paths:` совпадают. Hook не поддерживает блокирование или управление решением. Он выполняется асинхронно в целях наблюдаемости.

1385 

1386Это событие не срабатывает, когда Claude [читает `AGENTS.md` напрямую](/docs/ru/memory#agents-md) через параметр **Project instructions**. Оно срабатывает, когда `CLAUDE.md` импортирует ваш `AGENTS.md`, с `load_reason`, установленным на `include`, как для любого другого импортированного файла, и когда `CLAUDE.md` является symlink на него, как обычная загрузка `CLAUDE.md`.

1146 1387 

1147Фильтр запускается против `load_reason`. Например, используйте `"matcher": "session_start"` для срабатывания только для файлов, загруженных при запуске сеанса, или `"matcher": "path_glob_match|nested_traversal"` для срабатывания только для ленивых загрузок.1388Matcher выполняется против `load_reason`. Например, используйте `"matcher": "session_start"` для срабатывания только для файлов, загруженных при запуске сеанса, или `"matcher": "path_glob_match|nested_traversal"` для срабатывания только для ленивых загрузок.

1148 1389 

1149<h4 id="instructionsloaded-input">1390<h4 id="instructionsloaded-input">

1150 InstructionsLoaded input1391 InstructionsLoaded input

1151</h4>1392</h4>

1152 1393 

1153В дополнение к [общим полям входа](#common-input-fields), InstructionsLoaded hooks получают эти поля:1394Помимо [common input fields](#common-input-fields), hooks InstructionsLoaded получают эти поля:

1154 1395 

1155| Поле | Описание |1396| Field | Description |

1156| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1397| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1157| `file_path` | Абсолютный путь к файлу инструкций, который был загружен |1398| `file_path` | Абсолютный путь к файлу инструкций, который был загружен |

1158| `memory_type` | Область действия файла: `"User"`, `"Project"`, `"Local"` или `"Managed"` |1399| `memory_type` | Область действия файла: `"User"`, `"Project"`, `"Local"` или `"Managed"` |

1159| `load_reason` | Почему файл был загружен: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` или `"compact"`. Значение `"compact"` срабатывает при перезагрузке файлов инструкций после события компактирования |1400| `load_reason` | Почему файл был загружен: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` или `"compact"`. Значение `"compact"` срабатывает, когда файлы инструкций перезагружаются после события сжатия |

1160| `globs` | Шаблоны glob пути из frontmatter `paths:` файла, если есть. Присутствует только для загрузок `path_glob_match` |1401| `globs` | Шаблоны glob пути из frontmatter `paths:` файла, если есть. Присутствует только для загрузок `path_glob_match` |

1161| `trigger_file_path` | Путь к файлу, доступ к которому вызвал эту загрузку, для ленивых загрузок |1402| `trigger_file_path` | Путь к файлу, доступ к которому запустил эту загрузку, для ленивых загрузок |

1162| `parent_file_path` | Путь к родительскому файлу инструкций, который включил этот, для загрузок `include` |1403| `parent_file_path` | Путь к родительскому файлу инструкций, который включил этот, для загрузок `include` |

1163 1404 

1164```json theme={null}1405```json theme={null}


1177 InstructionsLoaded decision control1418 InstructionsLoaded decision control

1178</h4>1419</h4>

1179 1420 

1180InstructionsLoaded hooks не имеют управления решением. Они не могут блокировать или изменять загрузку инструкций. Используйте это событие для аудита логирования, отслеживания соответствия или наблюдаемости.1421Hooks InstructionsLoaded не имеют управления решением. Они не могут блокировать или изменять загрузку инструкций. Claude Code отбрасывает их [JSON output fields](#json-output), такие как `systemMessage` и `continue`. Используйте это событие для аудита логирования, отслеживания соответствия или наблюдаемости.

1181 1422 

1182<h3 id="userpromptsubmit">1423<h3 id="userpromptsubmit">

1183 UserPromptSubmit1424 UserPromptSubmit

1184</h3>1425</h3>

1185 1426 

1186Запускается при отправке пользователем подсказки, перед обработкой Claude. Это позволяет вам добавить дополнительный контекст на основе подсказки/разговора, проверить подсказки или заблокировать определённые типы подсказок.1427Запускается, когда пользователь отправляет подсказку, перед обработкой Claude. Это позволяет вам добавить дополнительный контекст на основе подсказки/разговора, проверить подсказки или заблокировать определенные типы подсказок.

1187 1428 

1188Hooks `UserPromptSubmit` имеют таймаут по умолчанию 30 секунд для типов `command`, `http` и `mcp_tool`, что короче, чем таймаут по умолчанию 600 секунд для этих типов на других событиях. Поскольку этот hook запускается перед каждой подсказкой и блокирует обработку модели до его завершения, застрявший hook замораживает сеанс. Если вашему hook нужно больше времени, установите поле `timeout` в записи hook.1429Hooks `UserPromptSubmit` имеют стандартный timeout 30 секунд для типов `command`, `http` и `mcp_tool`, короче, чем стандартный 600-секундный timeout для этих типов на большинстве других событий. Поскольку этот hook выполняется перед каждой подсказкой и блокирует обработку модели до его завершения, зависший hook замораживает сеанс. Если вашему hook нужно больше времени, установите поле `timeout` в записи hook.

1189 1430 

1190Hook `UserPromptSubmit`, который достигает своего таймаута, отменяется и его выход, включая любой `additionalContext`, отбрасывается. Подсказка всё ещё достигает Claude без этого контекста. Начиная с v2.1.196, транскрипт показывает уведомление, называющее hook, таймаут, который сработал, и что выход был отброшен. Более ранние версии отменяют hook без уведомления.1431Помимо command hook, который вы запускаете с [`async: true`](#run-hooks-in-the-background), hook `UserPromptSubmit` command, HTTP или MCP tool, который достигает своего timeout, отменяется и его вывод, включая любой `additionalContext`, отбрасывается. Подсказка все еще достигает Claude без этого контекста. Транскрипт показывает уведомление, называющее hook, timeout, который сработал, и что вывод был отброшен.

1191 1432 

1192Hook [Agent SDK callback](/docs/ru/agent-sdk/hooks) на `UserPromptSubmit`, который достигает своего таймаута, блокирует подсказку с сообщением, называющим hook и таймаут, потому что callback там может действовать как политический шлюз, который не должен отказать открыто. Сеанс продолжается. До v2.1.208 таймаут callback на этом событии заканчивал ход с ошибкой выполнения.1433[Agent SDK callback hook](/docs/ru/agent-sdk/hooks) на `UserPromptSubmit`, который достигает своего timeout, блокирует подсказку сообщением, называющим hook и timeout, потому что callback там может действовать как политический шлюз, который не должен отказывать открыто. Сеанс продолжается. До версии 2.1.208 callback timeout на этом событии заканчивал ход с ошибкой выполнения.

1193 1434 

1194<h4 id="userpromptsubmit-input">1435<h4 id="userpromptsubmit-input">

1195 UserPromptSubmit input1436 UserPromptSubmit input

1196</h4>1437</h4>

1197 1438 

1198В дополнение к [общим полям входа](#common-input-fields), UserPromptSubmit hooks получают поле `prompt`, содержащее текст, отправленный пользователем.1439Помимо [common input fields](#common-input-fields), hooks UserPromptSubmit получают поле `prompt`, содержащее текст, отправленный пользователем.

1199 1440 

1200```json theme={null}1441```json theme={null}

1201{1442{


1212 UserPromptSubmit decision control1453 UserPromptSubmit decision control

1213</h4>1454</h4>

1214 1455 

1215Hooks `UserPromptSubmit` могут управлять тем, обрабатывается ли подсказка пользователя, и добавлять контекст. Доступны все [JSON поля выхода](#json-output).1456Hooks `UserPromptSubmit` могут управлять тем, обрабатывается ли подсказка пользователя, и добавлять контекст. Все [JSON output fields](#json-output) доступны.

1216 1457 

1217Есть два способа добавить контекст в разговор при exit code 0:1458Есть два способа добавить контекст к разговору при коде выхода 0:

1218 1459 

1219* **Простой текст stdout**: любой текст, не являющийся JSON, написанный на stdout, добавляется как контекст1460* **Plain text stdout**: Claude Code добавляет stdout, который он [рассматривает как простой текст](#exit-code-0), в контекст Claude

1220* **JSON с `additionalContext`**: используйте формат JSON ниже для большего управления. Поле `additionalContext` добавляется как контекст1461* **JSON с `additionalContext`**: используйте формат JSON ниже для большего контроля. Поле `additionalContext` добавляется как контекст

1221 1462 

1222Простой stdout показывается как выход hook в транскрипте. Значение `additionalContext` внедряется как системное напоминание, которое Claude читает без видимой записи в транскрипте.1463Ни один канал не создает видимую запись в транскрипте. Plain stdout и значение `additionalContext` каждое вводятся как системное напоминание, которое начинается с имени hook; Claude читает оба. Чтобы подтвердить доставку, проверьте [debug log](#debug-hooks).

1223 1464 

1224Чтобы заблокировать подсказку, верните JSON объект с `decision`, установленным на `"block"`:1465Чтобы заблокировать подсказку, верните JSON объект с `decision`, установленным на `"block"`:

1225 1466 

1226| Поле | Описание |1467| Field | Description |

1227| :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------- |1468| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |

1228| `decision` | `"block"` предотвращает обработку подсказки и стирает её из контекста. Опустите, чтобы разрешить подсказке продолжаться |1469| `decision` | `"block"` предотвращает обработку подсказки и стирает ее из контекста. Опустите, чтобы позволить подсказке продолжить |

1229| `reason` | Показывается пользователю при `decision` равном `"block"`. Не добавляется в контекст |1470| `reason` | Показано пользователю, когда `decision` имеет значение `"block"`. Не добавляется в контекст |

1230| `additionalContext` | Строка, добавленная в контекст Claude наряду с отправленной подсказкой. См. [Add context for Claude](#add-context-for-claude) |1471| `additionalContext` | Строка, добавленная в контекст Claude рядом с отправленной подсказкой. См. [Add context for Claude](#add-context-for-claude) |

1231| `sessionTitle` | Устанавливает название сеанса. Используйте для автоматического именования сеансов на основе содержимого подсказки |1472| `sessionTitle` | Устанавливает название сеанса. Используйте для автоматического именования сеансов на основе содержания подсказки |

1232| `suppressOriginalPrompt` | Если `true` при `decision` равном `"block"`, опускает исходный текст подсказки из сообщения блокировки, показываемого пользователю |1473| `suppressOriginalPrompt` | Если `true`, когда `decision` имеет значение `"block"`, опускает исходный текст подсказки из сообщения блокировки, показанного пользователю |

1474 

1475Hook, который блокирует выходом 2, маршрутизируется так же, как `reason`: сообщение блокировки показывает текст stderr пользователю, и он не добавляется в контекст.

1233 1476 

1234```json theme={null}1477```json theme={null}

1235{1478{


1247 UserPromptExpansion1490 UserPromptExpansion

1248</h3>1491</h3>

1249 1492 

1250Запускается, когда пользователь вводит slash command, который расширяется в подсказку перед достижением Claude. Используйте это для блокировки определённых команд от прямого вызова, внедрения контекста для определённого skill или логирования, какие команды вызывают пользователи. Например, hook, соответствующий `deploy`, может заблокировать `/deploy`, если файл одобрения отсутствует, или hook, соответствующий skill проверки, может добавить контрольный список проверки команды как `additionalContext`.1493Запускается, когда команда, введенная пользователем, расширяется в подсказку перед достижением Claude. Используйте это для блокирования определенных команд от прямого вызова, внедрения контекста для определенного skill или логирования того, какие команды вызывают пользователи. Например, hook, соответствующий `deploy`, может заблокировать `/deploy`, если файл одобрения отсутствует, или hook, соответствующий skill проверки, может добавить контрольный список проверки команды как `additionalContext`.

1251 1494 

1252Это событие охватывает путь, который `PreToolUse` не охватывает: hook `PreToolUse`, соответствующий инструменту `Skill`, срабатывает только когда Claude вызывает инструмент, но ввод `/skillname` напрямую обходит `PreToolUse`. `UserPromptExpansion` срабатывает на этом прямом пути.1495Это событие охватывает путь, который `PreToolUse` не охватывает: hook `PreToolUse`, соответствующий инструменту `Skill`, срабатывает только, когда Claude вызывает инструмент, но ввод `/skillname` напрямую обходит `PreToolUse`. `UserPromptExpansion` срабатывает на этом прямом пути.

1253 1496 

1254Совпадает с `command_name`. Оставьте фильтр пустым для срабатывания на каждой подсказке-типе slash command.1497Совпадает с `command_name`. Оставьте matcher пустым для срабатывания на каждой команде типа подсказки.

1255 1498 

1256<h4 id="userpromptexpansion-input">1499<h4 id="userpromptexpansion-input">

1257 UserPromptExpansion input1500 UserPromptExpansion input

1258</h4>1501</h4>

1259 1502 

1260В дополнение к [общим полям входа](#common-input-fields), UserPromptExpansion hooks получают `expansion_type`, `command_name`, `command_args`, `command_source` и исходную строку `prompt`. Поле `expansion_type` равно `slash_command` для skill и пользовательских команд или `mcp_prompt` для подсказок MCP сервера.1503Помимо [common input fields](#common-input-fields), hooks UserPromptExpansion получают `expansion_type`, `command_name`, `command_args`, `command_source` и исходную строку `prompt`. Поле `expansion_type` имеет значение `slash_command` для skill и пользовательских команд или `mcp_prompt` для подсказок MCP сервера.

1261 1504 

1262```json theme={null}1505```json theme={null}

1263{1506{


1278 UserPromptExpansion decision control1521 UserPromptExpansion decision control

1279</h4>1522</h4>

1280 1523 

1281Hooks `UserPromptExpansion` могут блокировать расширение или добавлять контекст. Доступны все [JSON поля выхода](#json-output).1524Hooks `UserPromptExpansion` могут заблокировать расширение или добавить контекст. Все [JSON output fields](#json-output) доступны.

1282 1525 

1283| Поле | Описание |1526| Field | Description |

1284| :------------------ | :--------------------------------------------------------------------------------------------------------------------------- |1527| :------------------ | :-------------------------------------------------------------------------------------------------------------------------- |

1285| `decision` | `"block"` предотвращает расширение slash command. Опустите, чтобы разрешить ему продолжаться |1528| `decision` | `"block"` предотвращает расширение команды. Опустите, чтобы позволить ей продолжить |

1286| `reason` | Показывается пользователю при `decision` равном `"block"` |1529| `reason` | Показано пользователю, когда `decision` имеет значение `"block"` |

1287| `additionalContext` | Строка, добавленная в контекст Claude наряду с расширенной подсказкой. См. [Add context for Claude](#add-context-for-claude) |1530| `additionalContext` | Строка, добавленная в контекст Claude рядом с расширенной подсказкой. См. [Add context for Claude](#add-context-for-claude) |

1531 

1532Hook, который блокирует выходом 2, маршрутизируется так же, как `reason`: сообщение блокировки показывает текст stderr пользователю.

1288 1533 

1289```json theme={null}1534```json theme={null}

1290{1535{


1301 MessageDisplay1546 MessageDisplay

1302</h3>1547</h3>

1303 1548 

1304Запускается во время потоковой передачи сообщения помощника на экран. Claude Code отображает сообщение порциями: каждый раз, когда пакет новых завершённых строк готов к отрисовке, hook запускается один раз с этими строками, и Claude Code отображает текст замены hook вместо них. Длинное сообщение производит несколько вызовов; короткое сообщение может произвести только один.1549Запускается, пока сообщение помощника транслируется на экран. Claude Code отображает сообщение порциями: каждый раз, когда партия новых завершенных строк готова к отображению, hook выполняется один раз с этими строками, и Claude Code отображает текст замены hook вместо них. Длинное сообщение создает несколько вызовов; короткое сообщение может создать только один.

1305 1550 

1306Используйте MessageDisplay для:1551Используйте MessageDisplay для:

1307 1552 

1308* удаления markdown для минимального отображения1553* удаления markdown для минимального отображения

1309* преобразования текста, который приложение Agent SDK показывает своим пользователям1554* преобразования текста, который приложение Agent SDK показывает своим пользователям

1310* редактирования API ключей или внутренних имён хостов из ответов Claude1555* редактирования API ключей или внутренних имен хостов из ответов Claude

1311 1556 

1312Claude Code удерживает каждый пакет до возврата вашего hook, поэтому держите hook быстрым. Если hook не удаётся или истекает время ожидания, Claude Code отображает исходный текст. Таймаут по умолчанию для этого события составляет 10 секунд; если вашему hook нужно больше времени, установите поле `timeout` в записи hook.1557Claude Code удерживает каждую партию до возврата вашего hook, поэтому держите hook быстрым. Если hook не удается или истекает timeout, Claude Code отображает исходный текст. Стандартный timeout для этого события составляет 10 секунд; если вашему hook нужно больше времени, установите поле `timeout` в записи hook.

1313 1558 

1314MessageDisplay предназначен только для отображения: текст замены изменяет только то, что отрисовывается на экране. Транскрипт и то, что видит Claude, сохраняют исходный текст, поэтому Claude никогда не видит замену, и подробный режим показывает исходный. Hook получает только текст сообщения помощника, поэтому результаты инструментов и текст, который вы вводите, отрисовываются без изменений.1559MessageDisplay только для отображения: текст замены изменяет только то, что отображается на экране. Транскрипт и то, что видит Claude, сохраняют исходный текст, поэтому Claude никогда не видит замену, и подробный режим показывает исходный. Hook получает только текст сообщения помощника, поэтому результаты инструментов и текст, который вы вводите, отображаются без изменений.

1315 1560 

1316MessageDisplay не поддерживает фильтры и срабатывает для каждого сообщения помощника, которое потоком передаёт текст; сообщения без текста, такие как ответы только с вызовом инструмента, не запускают его.1561MessageDisplay не поддерживает matchers и срабатывает для каждого сообщения помощника, которое транслирует текст; сообщения без текста, такие как ответы только с вызовом инструмента, не запускают его.

1317 1562 

1318В неинтерактивных запусках, включая запросы Agent SDK и `claude -p`, MessageDisplay запускается один раз за сообщение помощника вместо один раз за пакет строк. Единственный вызов приходит после завершения сообщения и содержит полный текст сообщения: `index` равен `0`, `final` равен `true`, и `delta` содержит всё сообщение. Hook, который собирает текст `delta` для каждого сообщения, получает одинаковый общий текст в обоих режимах.1563В неинтерактивных запусках, включая запросы Agent SDK и `claude -p`, MessageDisplay выполняется один раз на сообщение помощника вместо один раз на партию строк. Один вызов приходит после завершения сообщения и несет полный текст сообщения: `index` имеет значение `0`, `final` имеет значение `true`, и `delta` содержит все сообщение. Hook, который собирает текст `delta` для каждого сообщения, получает одинаковый общий текст в обоих режимах.

1319 1564 

1320<h4 id="messagedisplay-input">1565<h4 id="messagedisplay-input">

1321 MessageDisplay input1566 MessageDisplay input

1322</h4>1567</h4>

1323 1568 

1324В дополнение к [общим полям входа](#common-input-fields), MessageDisplay hooks получают идентификаторы для хода и сообщения, позицию этого вызова в сообщении и новый текст в `delta`. Границы пакетов зависят от того, как текст потоком передаётся, поэтому используйте `index` и `final` для отслеживания прогресса через сообщение, а не ожидайте, что строки будут сгруппированы определённым образом.1569Помимо [common input fields](#common-input-fields), hooks MessageDisplay получают идентификаторы для хода и сообщения, позицию этого вызова в сообщении и новый текст в `delta`. Границы партий зависят от того, как транслируется текст, поэтому используйте `index` и `final` для отслеживания прогресса через сообщение, а не ожидайте, что строки будут сгруппированы определенным образом.

1325 1570 

1326| Поле | Описание |1571| Field | Description |

1327| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1572| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1328| `turn_id` | UUID текущего хода |1573| `turn_id` | UUID текущего хода |

1329| `message_id` | UUID сообщения помощника, которое отображается. Стабилен во всех пакетах одного сообщения. Это не API `msg_…` id, поэтому его нельзя коррелировать с id сообщений транскрипта |1574| `message_id` | UUID сообщения помощника, которое отображается. Стабилен во всех партиях одного сообщения. Это не API `msg_…` id, поэтому его нельзя коррелировать с id сообщений транскрипта |

1330| `index` | Нулевой индекс этого пакета в сообщении |1575| `index` | Индекс этой партии в сообщении, начиная с нуля |

1331| `final` | `true` на последнем пакете сообщения. Каждое сообщение имеет ровно один финальный пакет |1576| `final` | `true` на последней партии сообщения. Каждое сообщение имеет ровно одну финальную партию |

1332| `delta` | Новые завершённые строки с момента предыдущего пакета, включая завершающие новые строки. Всегда целые строки, кроме финального пакета, который может заканчиваться в середине строки. В интерактивных запусках дельта финального пакета пуста, когда сообщение заканчивается на новой строке, поэтому рассматривайте `final`, а не непустую дельту, как сигнал конца сообщения. В запусках Agent SDK и `claude -p` единственный вызов содержит всё сообщение |1577| `delta` | Новые завершенные строки с момента предыдущей партии, включая завершающие новые строки. Всегда целые строки, кроме финальной партии, которая может заканчиваться в середине строки. В интерактивных запусках delta финальной партии пуста, когда сообщение заканчивается новой строкой, поэтому рассматривайте `final`, а не непустой delta, как сигнал конца сообщения. В запусках Agent SDK и `claude -p` один вызов несет все сообщение |

1333 1578 

1334```json theme={null}1579```json theme={null}

1335{1580{


1349 MessageDisplay output1594 MessageDisplay output

1350</h4>1595</h4>

1351 1596 

1352В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, MessageDisplay hooks могут вернуть `displayContent` для замены дельты на экране:1597Помимо [JSON output fields](#json-output), доступных всем hooks, hooks MessageDisplay могут вернуть `displayContent` для замены delta на экране:

1353 1598 

1354| Поле | Описание |1599| Field | Description |

1355| :--------------- | :-------------------------------------------------------------------- |1600| :--------------- | :------------------------------------------------------------------- |

1356| `displayContent` | Текст, отображаемый вместо дельты. Опустите для отображения исходного |1601| `displayContent` | Текст, отображаемый вместо delta. Опустите для отображения исходного |

1357 1602 

1358MessageDisplay hooks не имеют управления решением. Они не могут блокировать сообщение или изменять то, что хранится в транскрипте или отправляется Claude.1603Hooks MessageDisplay не имеют управления решением. Они не могут заблокировать сообщение или изменить то, что хранится в транскрипте или отправляется Claude. Claude Code действует на `displayContent` из их JSON вывода и отбрасывает `systemMessage` и `continue`.

1359 1604 

1360Этот пример удаляет форматирование markdown из ответов Claude для отображения в виде простого текста. Скрипт читает каждый пакет из stdin, удаляет маркеры жирного шрифта и обратные кавычки встроенного кода из `delta` и возвращает результат как `displayContent`.1605Этот пример удаляет форматирование markdown из ответов Claude для отображения простого текста. Скрипт читает каждую партию из stdin, удаляет маркеры жирного шрифта и обратные кавычки встроенного кода из `delta` и возвращает результат как `displayContent`.

1361 1606 

1362<Tabs>1607<Tabs>

1363 <Tab title="macOS/Linux">1608 <Tab title="macOS/Linux">


1387 #!/bin/bash1632 #!/bin/bash

1388 jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'1633 jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'

1389 ```1634 ```

1390 

1391 Скрипту нужен `jq` в вашем `PATH`.

1392 </Tab>1635 </Tab>

1393 1636 

1394 <Tab title="Windows (PowerShell)">1637 <Tab title="Windows (PowerShell)">


1418 }1661 }

1419 ```1662 ```

1420 1663 

1421 Флаг `-NoProfile` пропускает загрузку вашего профиля PowerShell, чтобы hook запустился быстро, а `-ExecutionPolicy Bypass` позволяет PowerShell запустить локальный файл скрипта.1664 Флаг `-NoProfile` пропускает загрузку вашего профиля PowerShell, поэтому hook запускается быстро, а `-ExecutionPolicy Bypass` позволяет PowerShell запустить локальный файл скрипта.

1422 1665 

1423 Сохраните этот скрипт в `.claude/hooks/plain-display.ps1` в вашем проекте:1666 Сохраните этот скрипт в `.claude/hooks/plain-display.ps1` в вашем проекте:

1424 1667 


1435 </Tab>1678 </Tab>

1436</Tabs>1679</Tabs>

1437 1680 

1438Пакеты без markdown проходят без изменений. Если скрипт не удаётся, например потому что `jq` отсутствует, Claude Code отображает исходный текст и отмечает сбой только в [debug output](#debug-hooks), а не в сеансе.1681Партии без markdown проходят без изменений. Если скрипт не удается, например потому что `jq` отсутствует, Claude Code отображает исходный текст и отмечает сбой только в [debug output](#debug-hooks), а не в сеансе.

1439 1682 

1440<h3 id="pretooluse">1683<h3 id="pretooluse">

1441 PreToolUse1684 PreToolUse

1442</h3>1685</h3>

1443 1686 

1444Запускается после того, как Claude создаёт параметры инструмента и перед обработкой вызова инструмента. Совпадает с именем инструмента: `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` и любые [имена MCP инструментов](#match-mcp-tools).1687Запускается после того, как Claude создает параметры инструмента и перед обработкой вызова инструмента. Совпадает с любым именем инструмента, кроме `EndConversation`: встроенные инструменты, такие как `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` и `ExitPlanMode`, и любые [MCP tool names](#match-mcp-tools).

1688 

1689Чтобы запустить hook, когда определенный файл изменяется на диске, независимо от того, что его написало, используйте [FileChanged](#filechanged) вместо соответствия инструментам редактирования файлов по имени. В отличие от PreToolUse, Claude Code запускает hooks FileChanged после изменения, и они не имеют управления решением, поэтому они не могут заблокировать запись.

1445 1690 

1446<Warning>1691<Warning>

1447 PreToolUse запускается только когда Claude вызывает инструмент. Файлы, которые вы [ссылаетесь с `@` в вашей подсказке](/docs/ru/common-workflows#reference-files-and-directories), добавляются без какого-либо вызова инструмента: Claude Code вставляет их содержимое при построении подсказки, поэтому никакой hook PreToolUse не срабатывает для них, включая hooks, соответствующие `Read`. Чтобы заблокировать определённые пути от ссылок `@`, используйте [правило отклонения `Read`](/docs/ru/permissions#read-and-edit) вместо этого.1692 PreToolUse запускается только, когда Claude вызывает инструмент. Файлы, которые вы [ссылаетесь с `@` в вашей подсказке](/docs/ru/common-workflows#reference-files-and-directories), добавляются без вызова инструмента: Claude Code вставляет их содержимое при построении подсказки, поэтому никакой hook PreToolUse не срабатывает для них, включая hooks, соответствующие `Read`. Чтобы заблокировать определенные пути от ссылок `@`, используйте [правило отказа `Read`](/docs/ru/permissions#read-and-edit) вместо этого.

1693 

1694 PreToolUse также не срабатывает для [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior).

1448</Warning>1695</Warning>

1449 1696 

1450Используйте [PreToolUse decision control](#pretooluse-decision-control) для разрешения, отклонения, запроса или отложения вызова инструмента.1697Используйте [PreToolUse decision control](#pretooluse-decision-control) для разрешения, отказа, запроса или отсрочки вызова инструмента.

1698 

1699[Agent SDK callback hook](/docs/ru/agent-sdk/hooks) на `PreToolUse`, который превышает свой timeout, блокирует вызов инструмента, и Claude получает результат ошибки, называющий timeout. Явный отказ, возвращенный другим hook, все еще имеет приоритет.

1451 1700 

1452<h4 id="pretooluse-input">1701<h4 id="pretooluse-input">

1453 PreToolUse input1702 PreToolUse input

1454</h4>1703</h4>

1455 1704 

1456В дополнение к [общим полям входа](#common-input-fields), PreToolUse hooks получают `tool_name`, `tool_input` и `tool_use_id`. Поля `tool_input` зависят от инструмента:1705Помимо [common input fields](#common-input-fields), hooks PreToolUse получают `tool_name`, `tool_input` и `tool_use_id`.

1706 

1707Для [MCP tool](#match-mcp-tools), ввод также несет `mcp_server`, объект с `name` сервера и `source`, который говорит, откуда пришло определение сервера. Значения `source` включают `plugin`, `sdk` и области конфигурации, такие как `user` и `project`. [`McpServerProvenance`](/docs/ru/agent-sdk/typescript#mcpserverprovenance) в справочнике Agent SDK перечисляет их все и говорит, как рассматривать тот, который вы не узнаете. Основывайте решения о доверии на `source`, а не на `name` или префиксе инструмента `mcp__<server>__`. Поле `mcp_server` требует Claude Code v2.1.274 или позже.

1708 

1709Для инструментов файлов `Write`, `Edit` и `Read`, `tool_input.file_path` всегда абсолютен:

1710 

1711* Claude Code расширяет `~` и относительные пути перед выполнением hooks, поэтому hook, который совпадает с путями, не может быть обойден через `~` или относительное написание того же пути

1712* На Windows путь приходит с разделителями обратной косой черты, даже когда ваш hook выполняется под Git Bash, где `$PWD` выглядит как `/c/project`

1713* Сравнение, написанное с прямыми косыми чертами, такое как проверка `/src/`, никогда не совпадает с путем обратной косой черты, и вызов инструмента продолжается, как если бы hook не имел ничего для блокировки

1714* Нормализуйте разделители перед сравнением: `FILE_PATH="${FILE_PATH//\\//}"` в Bash или `file_path.replace("\\", "/")` в Python, затем совпадайте с сегментом пути, такой как `/src/`, а не якорем с `^`, так как путь абсолютен

1715 

1716Вызов `Write` на Windows доставляет:

1717 

1718```json theme={null}

1719{

1720 "hook_event_name": "PreToolUse",

1721 "tool_name": "Write",

1722 "tool_input": {

1723 "file_path": "C:\\project\\src\\index.ts",

1724 "content": "..."

1725 },

1726 ...

1727}

1728```

1729 

1730Поля `tool_input` зависят от инструмента:

1731 

1732<a id="bash" />

1457 1733 

1458<h5 id="bash">1734<h5 id="bash">

1459 Bash1735 Bash

1460</h5>1736</h5>

1461 1737 

1462Выполняет команды оболочки.1738Выполняет команды shell.

1463 1739 

1464| Поле | Тип | Пример | Описание |1740| Field | Type | Example | Description |

1465| :------------------ | :------ | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |1741| :------------------ | :------ | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |

1466| `command` | string | `"npm test"` | Команда оболочки для выполнения |1742| `command` | string | `"npm test"` | Команда shell для выполнения |

1467| `description` | string | `"Run test suite"` | Опциональное описание того, что делает команда |1743| `description` | string | `"Run test suite"` | Опциональное описание того, что делает команда |

1468| `timeout` | number | `120000` | Опциональный таймаут в миллисекундах. Значения выше [максимума](/docs/ru/tools-reference#bash-tool-behavior) уменьшаются до максимума, а не отклоняются |1744| `timeout` | number | `120000` | Опциональный timeout в миллисекундах. Значения выше [максимума](/docs/ru/tools-reference#bash-tool-behavior) уменьшаются до максимума, а не отклоняются |

1469| `run_in_background` | boolean | `false` | Запускать ли команду в фоне |1745| `run_in_background` | boolean | `false` | Выполнять ли команду в фоне |

1746 

1747Когда команда Bash изменяет файлы в репозитории Git, Claude Code может записать, что изменилось. Он записывает изменения в каждом режиме разрешений, когда параметр [`bashEditDiffEnabled`](/docs/ru/settings-reference#basheditdiffenabled) включает запись; запись этого параметра говорит, какие файлы могут его установить. В противном случае он записывает их только в режиме auto и режиме `bypassPermissions`, и только когда Claude Code направляет Claude редактировать файлы через Bash. Установите `bashEditDiffEnabled` на `false`, чтобы отключить запись. Фоновые команды и команды только для чтения не несут diff.

1748 

1749Ваш [PostToolUse hook](#posttooluse) затем получает измененные файлы в `tool_response.bashEditDiff`. Список охватывает то, что изменилось в репозитории, пока выполнялась команда. Файлы, которые Git игнорирует, и файлы в подмодулях не указаны. Требует Claude Code v2.1.269 или позже.

1750 

1751<Note>

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

1753</Note>

1754 

1755`changedFiles` и `files` указывают, что изменила команда; остальные поля говорят, насколько полон и надежен этот список.

1756 

1757| Field | Type | Example | Description |

1758| :------------- | :------ | :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1759| `changedFiles` | array | `["/path/to/src/app.ts"]` | Абсолютные пути файлов, которые команда изменила, максимум 200. Присутствует, когда `files` содержит diff или `moreFiles` выше нуля |

1760| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs до 5 измененных файлов для отображения. `created` или `deleted` имеет значение `true` для файла, который команда добавила или удалила |

1761| `moreFiles` | number | `2` | Количество измененных файлов без diff в `files` |

1762| `unavailable` | boolean | `true` | Установлено, когда diff неполный или не может быть взят |

1763| `skipped` | boolean | `true` | Установлено для команды Git, которая перемещает рабочее дерево, такой как `git checkout` или `git stash`, поэтому Claude Code не берет diff |

1764| `shared` | boolean | `true` | Установлено, когда другой вызов инструмента Bash, такой как вызов подагента, выполнялся в том же репозитории одновременно, поэтому некоторые перечисленные изменения могут быть этой командой |

1765 

1766<a id="powershell" />

1767 

1768<h5 id="powershell">

1769 PowerShell

1770</h5>

1771 

1772Выполняет команды PowerShell. См. [PowerShell tool](/docs/ru/tools-reference#powershell-tool) для доступности по платформе.

1773 

1774Поля совпадают с инструментом Bash, со строкой команды в `command`:

1775 

1776| Field | Type | Example | Description |

1777| :------------------ | :------ | :------------------------- | :--------------------------------------------- |

1778| `command` | string | `"Get-ChildItem -Recurse"` | Команда PowerShell для выполнения |

1779| `description` | string | `"List files recursively"` | Опциональное описание того, что делает команда |

1780| `timeout` | number | `120000` | Опциональный timeout в миллисекундах |

1781| `run_in_background` | boolean | `false` | Выполнять ли команду в фоне |

1782 

1783Совпадайте с `Bash|PowerShell` в hooks, которые проверяют команды shell, поэтому они охватывают оба инструмента:

1784 

1785* На Windows, везде, где включен инструмент PowerShell, Claude рассматривает PowerShell как основной shell и маршрутизирует команды shell через него.

1786* На Windows без Git Bash инструмент включен автоматически, и Claude Code вообще не регистрирует инструмент Bash.

1787* Hook, который совпадает только с `Bash`, никогда не срабатывает там.

1470 1788 

1471<h5 id="write">1789<h5 id="write">

1472 Write1790 Write

1473</h5>1791</h5>

1474 1792 

1475Создаёт или перезаписывает файл.1793Создает или перезаписывает файл.

1476 1794 

1477| Поле | Тип | Пример | Описание |1795| Field | Type | Example | Description |

1478| :---------- | :----- | :-------------------- | :--------------------------------- |1796| :---------- | :----- | :-------------------- | :--------------------------------- |

1479| `file_path` | string | `"/path/to/file.txt"` | Абсолютный путь к файлу для записи |1797| `file_path` | string | `"/path/to/file.txt"` | Абсолютный путь к файлу для записи |

1480| `content` | string | `"file content"` | Содержимое для записи в файл |1798| `content` | string | `"file content"` | Содержимое для записи в файл |


1485 1803 

1486Заменяет строку в существующем файле.1804Заменяет строку в существующем файле.

1487 1805 

1488| Поле | Тип | Пример | Описание |1806| Field | Type | Example | Description |

1489| :------------ | :------ | :-------------------- | :----------------------------------------- |1807| :------------ | :------ | :-------------------- | :----------------------------------------- |

1490| `file_path` | string | `"/path/to/file.txt"` | Абсолютный путь к файлу для редактирования |1808| `file_path` | string | `"/path/to/file.txt"` | Абсолютный путь к файлу для редактирования |

1491| `old_string` | string | `"original text"` | Текст для поиска и замены |1809| `old_string` | string | `"original text"` | Текст для поиска и замены |


1498 1816 

1499Читает содержимое файла.1817Читает содержимое файла.

1500 1818 

1501| Поле | Тип | Пример | Описание |1819| Field | Type | Example | Description |

1502| :---------- | :----- | :-------------------- | :------------------------------------------ |1820| :---------- | :----- | :-------------------- | :------------------------------------------ |

1503| `file_path` | string | `"/path/to/file.txt"` | Абсолютный путь к файлу для чтения |1821| `file_path` | string | `"/path/to/file.txt"` | Абсолютный путь к файлу для чтения |

1504| `offset` | number | `10` | Опциональный номер строки для начала чтения |1822| `offset` | number | `10` | Опциональный номер строки для начала чтения |


1510 1828 

1511Находит файлы, соответствующие шаблону glob.1829Находит файлы, соответствующие шаблону glob.

1512 1830 

1513| Поле | Тип | Пример | Описание |1831| Field | Type | Example | Description |

1514| :-------- | :----- | :--------------- | :-------------------------------------------------------------------- |1832| :-------- | :----- | :--------------- | :-------------------------------------------------------------------------- |

1515| `pattern` | string | `"**/*.ts"` | Шаблон glob для совпадения файлов |1833| `pattern` | string | `"**/*.ts"` | Шаблон glob для соответствия файлам |

1516| `path` | string | `"/path/to/dir"` | Опциональный каталог для поиска. По умолчанию текущий рабочий каталог |1834| `path` | string | `"/path/to/dir"` | Опциональная директория для поиска. По умолчанию текущая рабочая директория |

1517 1835 

1518<h5 id="grep">1836<h5 id="grep">

1519 Grep1837 Grep

1520</h5>1838</h5>

1521 1839 

1522Ищет содержимое файла с регулярными выражениями.1840Ищет содержимое файлов с помощью регулярных выражений.

1523 1841 

1524| Поле | Тип | Пример | Описание |1842| Field | Type | Example | Description |

1525| :------------ | :------ | :--------------- | :------------------------------------------------------------------------------------- |1843| :------------ | :------ | :--------------- | :------------------------------------------------------------------------------------- |

1526| `pattern` | string | `"TODO.*fix"` | Шаблон регулярного выражения для поиска |1844| `pattern` | string | `"TODO.*fix"` | Шаблон регулярного выражения для поиска |

1527| `path` | string | `"/path/to/dir"` | Опциональный файл или каталог для поиска |1845| `path` | string | `"/path/to/dir"` | Опциональный файл или директория для поиска |

1528| `glob` | string | `"*.ts"` | Опциональный шаблон glob для фильтрации файлов |1846| `glob` | string | `"*.ts"` | Опциональный шаблон glob для фильтрации файлов |

1529| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` или `"count"`. По умолчанию `"files_with_matches"` |1847| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` или `"count"`. По умолчанию `"files_with_matches"` |

1530| `-i` | boolean | `true` | Поиск без учёта регистра |1848| `-i` | boolean | `true` | Поиск без учета регистра |

1531| `multiline` | boolean | `false` | Включить многострочное совпадение |1849| `multiline` | boolean | `false` | Включить многострочное соответствие |

1532 1850 

1533<h5 id="webfetch">1851<h5 id="webfetch">

1534 WebFetch1852 WebFetch


1536 1854 

1537Получает и обрабатывает веб-содержимое.1855Получает и обрабатывает веб-содержимое.

1538 1856 

1539| Поле | Тип | Пример | Описание |1857| Field | Type | Example | Description |

1540| :------- | :----- | :---------------------------- | :--------------------------------------------- |1858| :------- | :----- | :---------------------------- | :--------------------------------------------- |

1541| `url` | string | `"https://example.com/api"` | URL для получения содержимого |1859| `url` | string | `"https://example.com/api"` | URL для получения содержимого |

1542| `prompt` | string | `"Extract the API endpoints"` | Подсказка для запуска на полученном содержимом |1860| `prompt` | string | `"Extract the API endpoints"` | Подсказка для запуска на полученном содержимом |


1547 1865 

1548Ищет в веб.1866Ищет в веб.

1549 1867 

1550| Поле | Тип | Пример | Описание |1868| Field | Type | Example | Description |

1551| :---------------- | :----- | :----------------------------- | :------------------------------------------------------ |1869| :---------------- | :----- | :----------------------------- | :------------------------------------------------------ |

1552| `query` | string | `"react hooks best practices"` | Поисковый запрос |1870| `query` | string | `"react hooks best practices"` | Поисковый запрос |

1553| `allowed_domains` | array | `["docs.example.com"]` | Опциональный: включать результаты только с этих доменов |1871| `allowed_domains` | array | `["docs.example.com"]` | Опциональный: включить результаты только с этих доменов |

1554| `blocked_domains` | array | `["spam.example.com"]` | Опциональный: исключить результаты с этих доменов |1872| `blocked_domains` | array | `["spam.example.com"]` | Опциональный: исключить результаты с этих доменов |

1555 1873 

1556<h5 id="agent">1874<h5 id="agent">


1559 1877 

1560Порождает [subagent](/docs/ru/sub-agents).1878Порождает [subagent](/docs/ru/sub-agents).

1561 1879 

1562| Поле | Тип | Пример | Описание |1880| Field | Type | Example | Description |

1563| :-------------- | :----- | :------------------------- | :------------------------------------------------------------- |1881| :-------------- | :----- | :------------------------- | :--------------------------------------------------------- |

1564| `prompt` | string | `"Find all API endpoints"` | Задача для выполнения агентом |1882| `prompt` | string | `"Find all API endpoints"` | Задача для выполнения агентом |

1565| `description` | string | `"Find API endpoints"` | Краткое описание задачи |1883| `description` | string | `"Find API endpoints"` | Краткое описание задачи |

1566| `subagent_type` | string | `"Explore"` | Тип специализированного агента для использования |1884| `subagent_type` | string | `"Explore"` | Тип специализированного агента для использования |

1567| `model` | string | `"sonnet"` | Опциональный псевдоним модели для переопределения по умолчанию |1885| `model` | string | `"sonnet"` | Опциональный alias модели для переопределения по умолчанию |

1568 1886 

1569В `PostToolUse`, `tool_response` для завершённого вызова Agent содержит финальный текст subagent вместе с телеметрией использования. Читайте эти поля для записи затрат для каждого subagent из hook:1887Когда вызов Agent переднего плана завершается, ваш [PostToolUse hook](#posttooluse) получает финальный текст подагента и телеметрию запуска в `tool_response`. Прочитайте эти поля для проверки запуска; для сводок токенов и затрат по подагентам используйте [token and cost counters](/docs/ru/monitoring-usage#token-counter), отфильтрованные по `query_source` `"subagent"`, так как `totalTokens` и `usage` охватывают только финальный запрос:

1570 1888 

1571| Поле | Тип | Пример | Описание |1889| Field | Type | Example | Description |

1572| :------------------ | :----- | :---------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1890| :------------------ | :----- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1573| `status` | string | `"completed"` | `"completed"` для синхронных вызовов, `"async_launched"` для фоновых subagents. Начиная с v2.1.198, subagents запускаются в фоне по умолчанию, поэтому опущенный `run_in_background` также производит `"async_launched"` |1891| `status` | string | `"completed"` | `"completed"` для подагентов переднего плана, `"async_launched"` для подагентов фонового плана. Начиная с v2.1.198, подагенты выполняются в фоне по умолчанию, поэтому опущенный `run_in_background` также создает `"async_launched"` |

1574| `agentId` | string | `"a4d2c8f1e0b3a297"` | Идентификатор для запуска subagent |1892| `agentId` | string | `"a4d2c8f1e0b3a297"` | Идентификатор для запуска подагента |

1575| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Финальные текстовые блоки subagent |1893| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Финальные текстовые блоки подагента, или, для подагента, чей отчет проходит через `SubagentHandback`, краткая заметка об этой передаче вместо них |

1576| `resolvedModel` | string | `"claude-sonnet-4-5"` | Модель, на которой запустился subagent, которая может отличаться от запрошенной модели. Требует Claude Code v2.1.174 или позже |1894| `resolvedModel` | string | `"claude-sonnet-4-5"` | Модель, на которой подагент начал, которая может отличаться от запрошенной модели |

1577| `totalTokens` | number | `12450` | Всего токенов, выставленных счётом по ходам subagent |1895| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Модели, используемые по порядку, с последовательными повторениями свернутыми; установлено только, когда модель была переключена во время запуска. Требует Claude Code v2.1.212 или позже |

1578| `totalDurationMs` | number | `48211` | Реальная длительность запуска subagent |1896| `totalTokens` | number | `12450` | Количество токенов из финального API запроса подагента: входные, выходные и кэшированные токены в сумме. Это не общее количество по всему запуску |

1579| `totalToolUseCount` | number | `7` | Количество вызовов инструментов, которые сделал subagent |1897| `totalDurationMs` | number | `48211` | Настоящее время выполнения запуска подагента |

1580| `usage` | object | `{"input_tokens": 8320, ...}` | Разбор токенов по типам: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1898| `totalToolUseCount` | number | `7` | Количество вызовов инструментов, которые сделал подагент |

1899| `usage` | object | `{"input_tokens": 8320, ...}` | Разбор токенов по типам финального API запроса: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1581 1900 

1582Для фоновых subagents инструмент возвращается сразу после запуска, поэтому `tool_response` не содержит полей использования. Он имеет `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` и `resolvedModel` вместо этого.1901На Claude Code v2.1.271 или позже подагент, который выполняется с инструментом [`SubagentHandback`](/docs/ru/tools-reference), который Claude Code предоставляет в [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), доставляет свой отчет через этот инструмент, а не возвращает его как текст. Поле `content` его результата `completed` затем несет краткую заметку об этой передаче, а не сам отчет. Чтобы прочитать отчет, совпадайте с hook `PreToolUse` или `PostToolUse` на `SubagentHandback` и прочитайте `tool_input.message`.

1583 1902 

1584Поле `resolvedModel` называет модель, на которой subagent фактически запустился, что может отличаться от значения `model` в `tool_input`. Оно требует Claude Code v2.1.174 или позже.1903Для подагентов фонового плана инструмент возвращается, когда задача переходит в фон, поэтому `tool_response` не несет полей использования: фоновый запуск возвращается немедленно, и задача переднего плана, которую Claude Code переводит в фон во время запуска, возвращается при этом переходе. Он имеет `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` и `resolvedModel`.

1904 

1905На ответе `completed`, `resolvedModel` называет модель, на которой подагент начал, что может отличаться от значения `model` в `tool_input`, такого как когда `availableModels` или другое переопределение применяется. На ответе `async_launched`, `resolvedModel` называет модель в использовании, когда агент переходит в фон, поэтому переключение, которое произошло перед переходом в фон, отражается там. `modelsUsed` и поведение `resolvedModel` во время перехода в фон требуют Claude Code v2.1.212 или позже.

1585 1906 

1586<a id="askuserquestion" />1907<a id="askuserquestion" />

1587 1908 


1589 AskUserQuestion1910 AskUserQuestion

1590</h5>1911</h5>

1591 1912 

1592Задаёт пользователю один-четыре вопроса с множественным выбором.1913Задает пользователю один-четыре вопроса с множественным выбором.

1593 1914 

1594| Поле | Тип | Пример | Описание |1915| Field | Type | Example | Description |

1595| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1916| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1596| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Вопросы для представления, каждый с текстом `question`, коротким `header`, массивом `options` и опциональным флагом `multiSelect` |1917| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Вопросы для представления, каждый с строкой `question`, коротким `header`, массивом `options` и опциональным флагом `multiSelect` |

1597| `answers` | object | `{"Which framework?": "React"}` | Опциональный. Соответствует текст вопроса выбранному ярлыку опции. Ответы с множественным выбором объединяют ярлыки запятыми. Claude не устанавливает это поле; предоставьте его через `updatedInput` для программного ответа |1918| `answers` | object | `{"Which framework?": "React"}` | Опциональный. Отображает текст вопроса на выбранный label опции. Ответы с множественным выбором объединяют labels запятыми. Claude не устанавливает это поле; предоставьте его через `updatedInput` для программного ответа |

1598 1919 

1599<h5 id="exitplanmode">1920<h5 id="exitplanmode">

1600 ExitPlanMode1921 ExitPlanMode

1601</h5>1922</h5>

1602 1923 

1603Представляет план и просит пользователя одобрить его перед тем, как Claude покинет [plan mode](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode). Claude записывает план в файл на диск перед вызовом инструмента, поэтому буквальный `tool_input` от модели обычно пуст. Claude Code внедряет содержимое плана и путь файла перед передачей входных данных в hooks.1924Представляет план и просит пользователя одобрить его перед тем, как Claude покидает [plan mode](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode). Claude записывает план в файл на диск перед вызовом инструмента, поэтому буквальный `tool_input` из модели обычно пуст. Claude Code вводит содержимое плана и путь к файлу перед передачей ввода в hooks.

1604 1925 

1605| Поле | Тип | Пример | Описание |1926| Field | Type | Example | Description |

1606| :--------------- | :----- | :------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |1927| :--------------- | :----- | :------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |

1607| `plan` | string | `"## Refactor auth\n1. Extract..."` | Содержимое плана в Markdown. Внедрено из файла плана на диске |1928| `plan` | string | `"## Refactor auth\n1. Extract..."` | Содержимое плана в Markdown. Введено из файла плана на диске |

1608| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Путь к файлу плана. Внедрено |1929| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Путь к файлу плана. Введено |

1609| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Устарело. Claude Code принимает поле, но игнорирует его. До v2.1.205 оно содержало разрешения на основе подсказки, которые Claude запрашивал для реализации плана |1930| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Устарело. Claude Code принимает поле, но игнорирует его. До v2.1.205 оно несло разрешения на основе подсказок, которые Claude запросил для реализации плана |

1610 1931 

1611В `PostToolUse`, `tool_response` — это объект с полями `plan` и `filePath`, содержащими одобренный план, плюс внутренние флаги статуса. Читайте `tool_response.plan` для содержимого плана, а не перечитывайте файл с диска.1932В `PostToolUse`, `tool_response` — это объект с полями `plan` и `filePath`, содержащими одобренный план, плюс внутренние флаги статуса. Прочитайте `tool_response.plan` для содержимого плана, а не перечитывайте файл с диска.

1612 1933 

1613<h4 id="pretooluse-decision-control">1934<h4 id="pretooluse-decision-control">

1614 PreToolUse decision control1935 PreToolUse decision control

1615</h4>1936</h4>

1616 1937 

1617Hooks `PreToolUse` могут управлять тем, продолжается ли вызов инструмента. В отличие от других hooks, которые используют верхнеуровневое поле `decision`, PreToolUse возвращает своё решение внутри объекта `hookSpecificOutput`. Это даёт ему более богатое управление: четыре результата (разрешить, отклонить, спросить или отложить) плюс возможность изменить входные данные инструмента перед выполнением.1938Hooks `PreToolUse` могут управлять тем, продолжается ли вызов инструмента. В отличие от других hooks, которые используют поле `decision` верхнего уровня, PreToolUse возвращает свое решение внутри объекта `hookSpecificOutput`. Это дает ему более богатый контроль: четыре результата (разрешить, отказать, спросить или отсрочить) плюс возможность изменить ввод инструмента перед выполнением.

1618 1939 

1619| Поле | Описание |1940| Field | Description |

1620| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1941| :------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1621| `permissionDecision` | `"allow"` пропускает диалог разрешения, кроме [инструментов, требующих взаимодействия пользователя](#pretooluse-decision-control) и инструментов соединителя [ваша организация установила на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools). `"deny"` предотвращает вызов инструмента. `"ask"` предлагает пользователю подтвердить. `"defer"` выходит корректно, чтобы инструмент мог быть возобновлён позже. [Правила отклонения и запроса](/docs/ru/permissions#manage-permissions) всё ещё применяются независимо от того, что возвращает hook |1942| `permissionDecision` | `"allow"` пропускает подсказку разрешения, кроме [actions no mode auto-approves](/docs/ru/permission-modes#actions-no-mode-auto-approves) и для `AskUserQuestion` и `ExitPlanMode`, которым нужен [`updatedInput` в паре с ним](#allow-with-updatedinput). `"deny"` предотвращает вызов инструмента. `"ask"` подсказывает пользователю подтвердить. `"defer"` выходит корректно, чтобы инструмент можно было возобновить позже. [Deny and ask rules](/docs/ru/permissions#manage-permissions) все еще оцениваются независимо от того, что возвращает hook |

1622| `permissionDecisionReason` | Для `"allow"` и `"ask"`, показывается пользователю, но не Claude. Для `"deny"`, показывается Claude. Для `"defer"`, игнорируется |1943| `permissionDecisionReason` | Для `"allow"` и `"ask"`, показано пользователю, но не Claude. Для `"deny"`, показано Claude. Для `"defer"`, игнорируется |

1623| `updatedInput` | Изменяет параметры входа инструмента перед выполнением. Заменяет весь объект входа, поэтому включите неизменённые поля наряду с изменёнными. Объедините с `"allow"` для автоматического одобрения или `"ask"` для показа изменённого входа пользователю. Для `"defer"`, игнорируется |1944| `updatedInput` | Изменяет параметры ввода инструмента перед выполнением. Заменяет весь объект ввода, поэтому включите неизмененные поля рядом с измененными. Claude Code оценивает правила разрешений и [auto-background eligibility](/docs/ru/tools-reference#background-commands) команды Bash против ввода, который возвращает ваш hook, а не ввода, который отправил Claude. Объедините с `"allow"` для автоматического одобрения или `"ask"` для показа измененного ввода пользователю. Для `"defer"`, игнорируется |

1624| `additionalContext` | Строка, добавленная в контекст Claude наряду с результатом инструмента. Игнорируется при `permissionDecision` равном `"defer"`. См. [Add context for Claude](#add-context-for-claude) |1945| `additionalContext` | Строка, добавленная в контекст Claude рядом с результатом инструмента. Игнорируется, когда `permissionDecision` имеет значение `"defer"`. См. [Add context for Claude](#add-context-for-claude) |

1625 1946 

1626Когда несколько PreToolUse hooks возвращают разные решения, приоритет — `deny` > `defer` > `ask` > `allow`.1947Когда несколько hooks PreToolUse возвращают разные решения, приоритет — `deny` > `defer` > `ask` > `allow`.

1627 1948 

1628Когда hook возвращает `"ask"`, диалог разрешения, отображаемый пользователю, включает метку, идентифицирующую источник hook: например, `[User]`, `[Project]`, `[Plugin]` или `[Local]`. Это помогает пользователям понять, какой источник конфигурации запрашивает подтверждение.1949Hook, который блокирует выходом 2, маршрутизируется так же, как `"deny"`: Claude видит сообщение stderr как причину отказа.

1950 

1951Когда hook возвращает `"ask"`, подсказка разрешения, отображаемая пользователю, включает метку, определяющую, откуда пришел hook: `[settings]` для hook из любого файла настроек или из frontmatter агента, `[plugin:<name>]` для hook plugin или `[skill]` для hook из frontmatter skill. Это помогает пользователям понять, какой источник конфигурации запрашивает подтверждение.

1952 

1953`"ask"` hook также принуждает подсказку разрешения в [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode): классификатор все еще может отказать вызов инструмента, но он не может одобрить вызов молча. До версии 2.1.211 классификатор мог одобрить команду Bash, выполняющуюся вне [sandbox](/docs/ru/sandboxing), без показа подсказки, которую запросил hook; классификатор все еще применял свои собственные правила безопасности к этой команде, и hook `"deny"` всегда соблюдался.

1629 1954 

1630```json theme={null}1955```json theme={null}

1631{1956{


1641}1966}

1642```1967```

1643 1968 

1644`AskUserQuestion` и `ExitPlanMode` требуют взаимодействия пользователя и обычно блокируют в [неинтерактивном режиме](/docs/ru/headless) с флагом `-p`. Возврат `permissionDecision: "allow"` вместе с `updatedInput` удовлетворяет этому требованию: hook читает входные данные инструмента из stdin, собирает ответ через ваш собственный UI и возвращает его в `updatedInput`, чтобы инструмент запустился без запроса. Возврат только `"allow"` недостаточен для этих инструментов. Для `AskUserQuestion` повторите исходный массив `questions` и добавьте объект [`answers`](#askuserquestion), соответствующий тексту каждого вопроса выбранному ответу.1969<span id="allow-with-updatedinput" />

1645 1970 

1646Инструменты соединителя [ваша организация установила на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools) запрашивают даже когда hook возвращает `"allow"`.1971В [non-interactive mode](/docs/ru/headless) с флагом `-p`, Claude Code предлагает `AskUserQuestion` и `ExitPlanMode` только, когда запуск имеет [permission host](/docs/ru/headless#turn-off-permission-prompts-in-unattended-runs) для получения подсказки, такой как callback Agent SDK `canUseTool`. Эти инструменты требуют взаимодействия с пользователем. Возврат `permissionDecision: "allow"` вместе с `updatedInput` удовлетворяет это требование: hook читает ввод инструмента из stdin, собирает ответ через ваш собственный UI и возвращает его в `updatedInput`, чтобы инструмент выполнялся без подсказки. Возврат только `"allow"` недостаточен для этих инструментов. Для `AskUserQuestion`, повторите исходный массив `questions` и добавьте объект [`answers`](#askuserquestion), отображающий текст каждого вопроса на выбранный ответ.

1647 1972 

1648Начиная с v2.1.199, инструмент MCP, чей сервер помечает его с помощью [`_meta["anthropic/requiresUserInteraction"]`](/docs/ru/mcp#require-approval-for-a-specific-tool), более строг: hook не может пропустить его диалог одобрения с помощью `"allow"`, с `updatedInput` или без, потому что Claude Code не может подтвердить, что hook собрал взаимодействие, которое нужно инструменту.1973Начиная с версии 2.1.199, инструмент MCP, чей сервер отмечает его с помощью [`_meta["anthropic/requiresUserInteraction"]`](/docs/ru/mcp#require-approval-for-a-specific-tool), более строг: hook не может пропустить его подсказку одобрения с `"allow"`, с `updatedInput` или без него, потому что Claude Code не может подтвердить, что hook собрал взаимодействие, которое требует инструмент.

1649 1974 

1650<Note>1975<Note>

1651 PreToolUse ранее использовал верхнеуровневые поля `decision` и `reason`, но они устарели для этого события. Используйте `hookSpecificOutput.permissionDecision` и `hookSpecificOutput.permissionDecisionReason` вместо этого. Устаревшие значения `"approve"` и `"block"` соответствуют `"allow"` и `"deny"` соответственно. Другие события, такие как PostToolUse и Stop, продолжают использовать верхнеуровневые `decision` и `reason` как их текущий формат.1976 PreToolUse ранее использовал поля `decision` и `reason` верхнего уровня, но они устарели для этого события. Используйте `hookSpecificOutput.permissionDecision` и `hookSpecificOutput.permissionDecisionReason` вместо этого. Устаревшие значения `"approve"` и `"block"` отображаются на `"allow"` и `"deny"` соответственно. Другие события, такие как PostToolUse и Stop, продолжают использовать `decision` и `reason` верхнего уровня как их текущий формат.

1652</Note>1977</Note>

1653 1978 

1654<h4 id="defer-a-tool-call-for-later">1979<h4 id="defer-a-tool-call-for-later">

1655 Defer a tool call for later1980 Defer a tool call for later

1656</h4>1981</h4>

1657 1982 

1658`"defer"` предназначен для интеграций, которые запускают `claude -p` как подпроцесс и читают его JSON выход, таких как приложение Agent SDK или пользовательский UI, построенный на основе Claude Code. Это позволяет этому вызывающему процессу приостановить Claude при вызове инструмента, собрать входные данные через его собственный интерфейс и возобновить с того же места. Claude Code соблюдает это значение только в [неинтерактивном режиме](/docs/ru/headless) с флагом `-p`. В интерактивных сеансах он логирует предупреждение и игнорирует результат hook.1983`"defer"` предназначен для интеграций, которые запускают `claude -p` как подпроцесс и читают его JSON вывод, такие как приложение Agent SDK или пользовательский UI, построенный на основе Claude Code. Это позволяет этому вызывающему процессу приостановить Claude при вызове инструмента, собрать ввод через его собственный интерфейс и возобновить с того же места. Claude Code соблюдает это значение только в [non-interactive mode](/docs/ru/headless) с флагом `-p`. В интерактивных сеансах он логирует предупреждение и игнорирует результат hook.

1659 1984 

1660Инструмент `AskUserQuestion` — это типичный случай: Claude хочет что-то спросить у пользователя, но нет терминала для ответа. Круговой путь работает так:1985Типичный случай — инструмент `AskUserQuestion`: Claude хочет что-то спросить у пользователя, но нет терминала для ответа. Запуск `-p` предлагает `AskUserQuestion` только, когда он имеет [permission host](/docs/ru/headless#turn-off-permission-prompts-in-unattended-runs), такой как инструмент MCP, который вы передаете с `--permission-prompt-tool`, поэтому запустите запуск с одним. Круговой путь работает так:

1661 1986 

16621. Claude вызывает `AskUserQuestion`. Срабатывает hook `PreToolUse`.19871. Claude вызывает `AskUserQuestion`. Срабатывает hook `PreToolUse`.

16632. Hook возвращает `permissionDecision: "defer"`. Инструмент не выполняется. Процесс выходит с `stop_reason: "tool_deferred"` и отложенный вызов инструмента сохраняется в транскрипте.19882. Hook возвращает `permissionDecision: "defer"`. Инструмент не выполняется. Процесс выходит с `stop_reason: "tool_deferred"` и сохраненным вызовом инструмента в транскрипте.

16643. Вызывающий процесс читает `deferred_tool_use` из результата SDK, выводит вопрос в своём UI и ждёт ответа.19893. Вызывающий процесс читает `deferred_tool_use` из результата SDK, выводит вопрос в своем собственном UI и ждет ответа.

16654. Вызывающий процесс запускает `claude -p --resume <session-id>`. Тот же вызов инструмента срабатывает `PreToolUse` снова.19904. Вызывающий процесс запускает `claude -p --resume <session-id>` с тем же permission host. Тот же вызов инструмента срабатывает `PreToolUse` снова.

16665. Hook возвращает `permissionDecision: "allow"` с ответом в `updatedInput`. Инструмент выполняется и Claude продолжает.19915. Hook возвращает `permissionDecision: "allow"` с ответом в `updatedInput`. Инструмент выполняется и Claude продолжает.

1667 1992 

1668Поле `deferred_tool_use` содержит `id`, `name` и `input` инструмента. `input` — это параметры, которые Claude сгенерировал для вызова инструмента, захваченные перед выполнением:1993Поле `deferred_tool_use` несет `id`, `name` и `input` инструмента. `input` — это параметры, которые Claude сгенерировал для вызова инструмента, захваченные перед выполнением:

1669 1994 

1670```json theme={null}1995```json theme={null}

1671{1996{


1681}2006}

1682```2007```

1683 2008 

1684Нет таймаута или лимита повторных попыток. Сеанс остаётся на диске до возобновления, в соответствии с операцией очистки [`cleanupPeriodDays`](/docs/ru/settings#available-settings), которая удаляет файлы сеанса через 30 дней по умолчанию. Если ответ не готов при возобновлении, hook может вернуть `"defer"` снова и процесс выходит так же. Вызывающий процесс управляет тем, когда разорвать цикл, в конечном итоге возвращая `"allow"` или `"deny"` из hook.2009Нет timeout или лимита повторных попыток. Сеанс остается на диске до возобновления, подлежит [retention sweep rules](/docs/ru/claude-directory#cleaned-up-automatically) [`cleanupPeriodDays`](/docs/ru/settings-reference#cleanupperioddays), которая удаляет файлы сеанса через 30 дней по умолчанию. Если ответ не готов при возобновлении, hook может вернуть `"defer"` снова и процесс выходит так же. Вызывающий процесс управляет тем, когда разорвать цикл, в конечном итоге возвращая `"allow"` или `"deny"` из hook.

1685 2010 

1686`"defer"` работает только когда Claude делает один вызов инструмента в ходе. Если Claude делает несколько вызовов инструментов одновременно, `"defer"` игнорируется с предупреждением и инструмент проходит через обычный поток разрешений. Ограничение существует потому что возобновление может только повторно запустить один инструмент: нет способа отложить один вызов из пакета без оставления других неразрешённых.2011`"defer"` работает только, когда Claude делает один вызов инструмента в ходе. Если Claude делает несколько вызовов инструментов одновременно, `"defer"` игнорируется с предупреждением и инструмент проходит через нормальный поток разрешений. Ограничение существует, потому что возобновление может повторно запустить только один инструмент: нет способа отсрочить один вызов из партии без оставления других неразрешенными.

1687 2012 

1688Если отложенный инструмент больше не доступен при возобновлении, процесс выходит с `stop_reason: "tool_deferred_unavailable"` и `is_error: true` перед срабатыванием hook. Это происходит когда MCP сервер, который предоставил инструмент, не подключен для возобновлённого сеанса. Полезная нагрузка `deferred_tool_use` всё ещё включена, чтобы вы могли идентифицировать, какой инструмент исчез.2013Если отсроченный инструмент больше не доступен при возобновлении, процесс выходит с `stop_reason: "tool_deferred_unavailable"` и `is_error: true` перед срабатыванием hook. Это происходит, когда сервер MCP, который предоставил инструмент, не подключен для возобновленного сеанса. Полезная нагрузка `deferred_tool_use` все еще включена, чтобы вы могли определить, какой инструмент исчез.

1689 2014 

1690<Note>2015<Note>

1691 `--resume` восстанавливает режим разрешения, который был активен при отложении инструмента, поэтому вам не нужно передавать `--permission-mode` снова. Исключения — это `plan` и `bypassPermissions`, которые никогда не переносятся. Передача `--permission-mode` явно при возобновлении переопределяет восстановленное значение.2016 Чтобы возобновить отсроченный сеанс в режиме плана, передайте [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) вместе с `--resume`, чтобы Claude Code мог представить план для одобрения. Без него Claude Code не восстанавливает режим плана. Требует Claude Code v2.1.246 или позже.

2017 

2018 Когда вы возобновляете с `-p`, Claude Code не восстанавливает никакой другой сохраненный режим разрешений. Он запускает запуск в режиме разрешений, который новый запуск `claude -p` запустил бы, поэтому передайте `--permission-mode` или `--dangerously-skip-permissions` снова, если отсроченный сеанс использовал один. Когда вы возобновляете с `claude --resume <session-id>` без `-p`, Claude Code восстанавливает сохраненный режим разрешений, с исключениями, перечисленными в [permission mode on resume](/docs/ru/sessions#permission-mode-on-resume).

1692</Note>2019</Note>

1693 2020 

1694<h3 id="permissionrequest">2021<h3 id="permissionrequest">

1695 PermissionRequest2022 PermissionRequest

1696</h3>2023</h3>

1697 2024 

1698Запускается при показе пользователю диалога разрешения.2025Запускается, когда Claude Code собирается попросить у вас разрешение на использование инструмента. В сеансах, которые не могут показать подсказку, такие как фоновые подагенты в [non-interactive mode](/docs/ru/headless), Claude Code все еще запускает эти hooks, и если ни один hook не возвращает решение, он отказывает вызову инструмента.

1699Используйте [PermissionRequest decision control](#permissionrequest-decision-control) для разрешения или отклонения от имени пользователя.2026Используйте [PermissionRequest decision control](#permissionrequest-decision-control) для разрешения или отказа от имени пользователя.

2027 

2028Используйте это событие, когда вам нужен сигнал в момент, когда Claude просит разрешение на использование инструмента. Claude Code запускает [Notification](#notification) hook с типом `permission_prompt` только после того, как подсказка ждала около шести секунд.

2029 

2030Claude Code не запускает hooks PermissionRequest для [network request](/docs/ru/sandboxing#network-isolation) изолированной команды. Чтобы получить сигнал для этой подсказки, используйте тип уведомления `permission_prompt`.

1700 2031 

1701Совпадает с именем инструмента, те же значения, что и PreToolUse.2032Совпадает с именем инструмента, те же значения, что и PreToolUse.

1702 2033 


1704 PermissionRequest input2035 PermissionRequest input

1705</h4>2036</h4>

1706 2037 

1707PermissionRequest hooks получают поля `tool_name` и `tool_input` как PreToolUse hooks, но без `tool_use_id`. Опциональный массив `permission_suggestions` содержит параметры "всегда разрешить", которые пользователь обычно видит в диалоге разрешения. Разница в том, когда срабатывает hook: PermissionRequest hooks запускаются при показе диалога разрешения пользователю, в то время как PreToolUse hooks запускаются перед выполнением инструмента независимо от статуса разрешения.2038Hooks PermissionRequest получают поля `tool_name` и `tool_input`, как hooks PreToolUse, но без `tool_use_id`. Для инструмента MCP они также получают объект [`mcp_server`](#pretooluse-input). Опциональный массив `permission_suggestions` содержит [permission updates](#permission-update-entries), которые Claude Code предлагает для этого запроса, такие как добавление правила разрешения или изменение режима разрешений.

2039 

2040Массив `permission_suggestions` не является точным списком опций, которые вы видите, потому что каждый диалог разрешений строит свои собственные опции. Некоторые диалоги, такие как для редактирования файлов, вообще не читают массив и получают свои опции из самого запроса. Диалог, который читает его, все еще может удержать опцию, чье предложение остается в массиве, например, когда [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly) скрывает опции сохранения правил. Он также может предложить опции, которые не имеют записи предложения, такие как [**Yes, and switch to auto mode**](/docs/ru/permission-modes#switch-permission-modes), которая изменяет режим разрешений напрямую, а не через обновление разрешений.

2041 

2042Hooks PreToolUse запускаются перед каждым вызовом инструмента, независимо от того, нужно ли ему разрешение. Hooks PermissionRequest запускаются только, когда Claude Code собирается попросить у вас разрешение, или когда он в противном случае автоматически отказал бы вызову, который не может подсказать. Ни одно событие не срабатывает для [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior).

1708 2043 

1709```json theme={null}2044```json theme={null}

1710{2045{


1733 PermissionRequest decision control2068 PermissionRequest decision control

1734</h4>2069</h4>

1735 2070 

1736Hooks `PermissionRequest` могут разрешить или отклонить запросы разрешения. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, ваш скрипт hook может вернуть объект `decision` с этими полями, специфичными для события:2071Hooks `PermissionRequest` могут разрешить или отказать запросы разрешений. Помимо [JSON output fields](#json-output), доступных всем hooks, ваш скрипт hook может вернуть объект `decision` с этими полями, специфичными для события:

1737 2072 

1738| Поле | Описание |2073| Field | Description |

1739| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2074| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1740| `behavior` | `"allow"` предоставляет разрешение, `"deny"` отклоняет его. [Правила отклонения и запроса](/docs/ru/permissions#manage-permissions) всё ещё применяются, поэтому hook, возвращающий `"allow"`, не переопределяет совпадающее правило отклонения |2075| `behavior` | `"allow"` предоставляет разрешение, `"deny"` отказывает в нем. [Deny and ask rules](/docs/ru/permissions#manage-permissions) все еще оцениваются, поэтому hook, возвращающий `"allow"`, не переопределяет соответствующее правило отказа |

1741| `updatedInput` | Только для `"allow"`: изменяет параметры входа инструмента перед выполнением. Заменяет весь объект входа, поэтому включите неизменённые поля наряду с изменёнными. Изменённый вход повторно оценивается против правил отклонения и запроса |2076| `updatedInput` | Для `"allow"` только: изменяет параметры ввода инструмента перед выполнением. Заменяет весь объект ввода, поэтому включите неизмененные поля рядом с измененными. Измененный ввод повторно оценивается против правил отказа и запроса |

1742| `updatedPermissions` | Только для `"allow"`: массив [записей обновления разрешения](#permission-update-entries) для применения, таких как добавление правила разрешения или изменение режима разрешения сеанса |2077| `updatedPermissions` | Для `"allow"` только: массив [permission update entries](#permission-update-entries) для применения, такой как добавление правила разрешения или изменение режима разрешений сеанса |

1743| `message` | Только для `"deny"`: говорит Claude, почему разрешение было отклонено |2078| `message` | Для `"deny"` только: говорит Claude, почему разрешение было отказано |

1744| `interrupt` | Только для `"deny"`: если `true`, останавливает Claude |2079| `interrupt` | Для `"deny"` только: если `true`, останавливает Claude |

2080 

2081Hook, который выходит 2 без объекта `decision`, оставляет поток разрешений неизменным, и его stderr отбрасывается. Только объект `decision` может предоставить или отказать в запросе.

1745 2082 

1746```json theme={null}2083```json theme={null}

1747{2084{


1761 Permission update entries2098 Permission update entries

1762</h4>2099</h4>

1763 2100 

1764Поле выхода `updatedPermissions` и поле входа [`permission_suggestions`](#permissionrequest-input) оба используют один и тот же массив объектов записей. Каждая запись имеет `type`, который определяет её другие поля, и `destination`, который управляет тем, где применяется изменение.2101Поле вывода `updatedPermissions` и поле ввода [`permission_suggestions`](#permissionrequest-input) оба используют один и тот же массив объектов записей. Каждая запись имеет `type`, который определяет ее другие поля, и `destination`, который управляет тем, где записывается изменение.

1765 2102 

1766| `type` | Поля | Эффект |2103| `type` | Fields | Effect |

1767| :------------------ | :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2104| :------------------ | :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1768| `addRules` | `rules`, `behavior`, `destination` | Добавляет правила разрешения. `rules` — это массив объектов `{toolName, ruleContent?}`. Опустите `ruleContent` для совпадения со всем инструментом. `behavior` — это `"allow"`, `"deny"` или `"ask"` |2105| `addRules` | `rules`, `behavior`, `destination` | Добавляет правила разрешений. `rules` — это массив объектов `{toolName, ruleContent?}`. Опустите `ruleContent` для соответствия всему инструменту. `behavior` — это `"allow"`, `"deny"` или `"ask"` |

1769| `replaceRules` | `rules`, `behavior`, `destination` | Заменяет все правила данного `behavior` в `destination` предоставленными `rules` |2106| `replaceRules` | `rules`, `behavior`, `destination` | Заменяет все правила данного `behavior` в `destination` предоставленными `rules` |

1770| `removeRules` | `rules`, `behavior`, `destination` | Удаляет совпадающие правила данного `behavior` |2107| `removeRules` | `rules`, `behavior`, `destination` | Удаляет соответствующие правила данного `behavior` |

1771| `setMode` | `mode`, `destination` | Изменяет режим разрешения. Допустимые режимы — `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` и `manual` как псевдоним для `default`. Псевдоним `manual` требует Claude Code v2.1.200 или позже |2108| `setMode` | `mode`, `destination` | Изменяет режим разрешений. Допустимые режимы — `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` и `manual` как alias для `default`. Alias `manual` требует Claude Code v2.1.200 или позже |

1772| `addDirectories` | `directories`, `destination` | Добавляет рабочие каталоги. `directories` — это массив строк пути |2109| `addDirectories` | `directories`, `destination` | Добавляет рабочие директории. `directories` — это массив строк пути |

1773| `removeDirectories` | `directories`, `destination` | Удаляет рабочие каталоги |2110| `removeDirectories` | `directories`, `destination` | Удаляет рабочие директории |

1774 2111 

1775<Note>2112<Note>

1776 `setMode` с `bypassPermissions` только вступает в силу, если сеанс был запущен с режимом обхода, уже доступным: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` или `permissions.defaultMode: "bypassPermissions"` в настройках, и режим не отключен [`permissions.disableBypassPermissionsMode`](/docs/ru/permissions#managed-settings). В противном случае обновление — это no-op. `bypassPermissions` никогда не сохраняется как `defaultMode` независимо от `destination`.2113 `setMode` с `bypassPermissions` вступает в силу только, если вы запустили сеанс с режимом bypass, уже доступным: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` или `permissions.defaultMode: "bypassPermissions"` в [user, `--settings` или managed settings](/docs/ru/settings-reference#permissions-defaultmode). В противном случае обновление — это no-op. Обновление также является no-op, когда [`permissions.disableBypassPermissionsMode`](/docs/ru/permissions#managed-settings) отключает режим или когда сеанс запускается в [restricted mode](/docs/ru/cli-reference#cli-flags).

2114 

2115 `bypassPermissions` никогда не сохраняется как `defaultMode` независимо от `destination`.

1777</Note>2116</Note>

1778 2117 

1779Поле `destination` на каждой записи определяет, остаётся ли изменение в памяти или сохраняется в файл настроек.2118Поле `destination` на каждой записи определяет, остается ли изменение в памяти или сохраняется в файл настроек.

1780 2119 

1781| `destination` | Записывает в |2120| `destination` | Writes to |

1782| :---------------- | :--------------------------------------------------- |2121| :---------------- | :--------------------------------------------------- |

1783| `session` | только в памяти, отбрасывается при завершении сеанса |2122| `session` | только в памяти, отбрасывается при завершении сеанса |

1784| `localSettings` | `.claude/settings.local.json` |2123| `localSettings` | `.claude/settings.local.json` |

1785| `projectSettings` | `.claude/settings.json` |2124| `projectSettings` | `.claude/settings.json` |

1786| `userSettings` | `~/.claude/settings.json` |2125| `userSettings` | `~/.claude/settings.json` |

1787 2126 

1788Hook может вывести одно из `permission_suggestions`, которые он получил, как свой собственный выход `updatedPermissions`, что эквивалентно выбору пользователем этого параметра "всегда разрешить" в диалоге.2127Hook может повторить один из `permission_suggestions`, которые он получил, как свой собственный вывод `updatedPermissions`.

1789 2128 

1790<h3 id="posttooluse">2129<h3 id="posttooluse">

1791 PostToolUse2130 PostToolUse


1795 2134 

1796Совпадает с именем инструмента, те же значения, что и PreToolUse.2135Совпадает с именем инструмента, те же значения, что и PreToolUse.

1797 2136 

2137Совпадайте более широко, когда имя инструмента не является правильным фильтром:

2138 

2139* Чтобы запустить hook после завершения любого инструмента успешно, опустите `matcher` или установите его на `"*"`. Ваш hook может затем обнаружить, что изменилось сам, например, запустив `git status --porcelain`, который также указывает неотслеживаемые файлы, которые `git diff` пропускает. Для вызовов инструментов, которые не удаются, добавьте тот же hook под [PostToolUseFailure](#posttoolusefailure).

2140* Чтобы запустить hook, когда определенный файл изменяется на диске, независимо от того, что его написало, используйте [FileChanged](#filechanged). Claude Code не запускает hook `PostToolUse`, соответствующий `Edit|Write`, когда команда `Bash` или процесс вне Claude Code переписывает тот же файл.

2141 

1798<h4 id="posttooluse-input">2142<h4 id="posttooluse-input">

1799 PostToolUse input2143 PostToolUse input

1800</h4>2144</h4>

1801 2145 

1802Hooks `PostToolUse` срабатывают после того, как инструмент уже выполнился успешно. Входные данные включают как `tool_input`, аргументы, отправленные инструменту, так и `tool_response`, результат, который он вернул. Точная схема для обоих зависит от инструмента.2146Hooks `PostToolUse` срабатывают после того, как инструмент уже выполнился успешно. Ввод включает как `tool_input`, аргументы, отправленные инструменту, так и `tool_response`, результат, который он вернул. Точная схема для обоих зависит от инструмента. Пути инструментов файлов `tool_input` приходят в том же формате, что и для [PreToolUse](#pretooluse-input): всегда абсолютные, с собственными разделителями платформы, поэтому обратные косые черты на Windows. Для инструмента MCP ввод также несет объект [`mcp_server`](#pretooluse-input).

1803 2147 

1804```json theme={null}2148```json theme={null}

1805{2149{


1815 },2159 },

1816 "tool_response": {2160 "tool_response": {

1817 "filePath": "/path/to/file.txt",2161 "filePath": "/path/to/file.txt",

1818 "success": true2162 "type": "create"

1819 },2163 },

1820 "tool_use_id": "toolu_01ABC123...",2164 "tool_use_id": "toolu_01ABC123...",

1821 "duration_ms": 122165 "duration_ms": 12

1822}2166}

1823```2167```

1824 2168 

1825| Поле | Описание |2169| Field | Description |

1826| :------------ | :-------------------------------------------------------------------------------------------------------------------------------- |2170| :------------ | :---------------------------------------------------------------------------------------------------------------------------------- |

1827| `duration_ms` | Опциональный. Время выполнения инструмента в миллисекундах. Исключает время, потраченное на диалоги разрешения и hooks PreToolUse |2171| `duration_ms` | Опциональный. Время выполнения инструмента в миллисекундах. Исключает время, потраченное на подсказки разрешений и hooks PreToolUse |

1828 2172 

1829<h4 id="posttooluse-decision-control">2173<h4 id="posttooluse-decision-control">

1830 PostToolUse decision control2174 PostToolUse decision control

1831</h4>2175</h4>

1832 2176 

1833Hooks `PostToolUse` могут предоставить обратную связь Claude после выполнения инструмента. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:2177Hooks `PostToolUse` могут предоставить обратную связь Claude после выполнения инструмента. Помимо [JSON output fields](#json-output), доступных всем hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:

1834 2178 

1835| Поле | Описание |2179| Field | Description |

1836| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |2180| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1837| `decision` | `"block"` добавляет `reason` рядом с результатом инструмента. Claude всё ещё видит исходный выход; чтобы заменить его, используйте `updatedToolOutput` |2181| `decision` | `"block"` добавляет `reason` рядом с результатом инструмента. Claude все еще видит исходный вывод; чтобы заменить его, используйте `updatedToolOutput` |

1838| `reason` | Объяснение, показываемое Claude при `decision` равном `"block"` |2182| `reason` | Объяснение, показанное Claude, когда `decision` имеет значение `"block"` |

1839| `additionalContext` | Строка, добавленная в контекст Claude наряду с результатом инструмента. См. [Add context for Claude](#add-context-for-claude) |2183| `additionalContext` | Строка, добавленная в контекст Claude рядом с результатом инструмента. См. [Add context for Claude](#add-context-for-claude) |

1840| `updatedToolOutput` | Заменяет выход инструмента предоставленным значением перед отправкой Claude. Значение должно соответствовать форме выхода инструмента |2184| `classifierContext` | Краткая заметка об этом результате вызова для [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) классификатора, а не для Claude. См. [Annotate a result for the auto mode classifier](#annotate-a-result-for-the-auto-mode-classifier). Требует Claude Code v2.1.236 или позже |

1841| `updatedMCPToolOutput` | Заменяет выход только для [MCP инструментов](#match-mcp-tools). Предпочитайте `updatedToolOutput`, который работает для всех инструментов |2185| `updatedToolOutput` | Заменяет вывод инструмента предоставленным значением перед отправкой Claude. Значение должно совпадать с формой вывода инструмента |

2186| `updatedMCPToolOutput` | Заменяет вывод для [MCP tools](#match-mcp-tools) только. Предпочитайте `updatedToolOutput`, который работает для всех инструментов |

1842 2187 

1843Пример ниже заменяет выход вызова `Bash`. Значение замены соответствует форме выхода инструмента `Bash`:2188Пример ниже заменяет вывод вызова `Bash`. Значение замены совпадает с формой вывода инструмента `Bash`:

1844 2189 

1845```json theme={null}2190```json theme={null}

1846{2191{


1858```2203```

1859 2204 

1860<Warning>2205<Warning>

1861 `updatedToolOutput` только изменяет то, что видит Claude. Инструмент уже запустился к моменту срабатывания hook, поэтому любые написанные файлы, выполненные команды или отправленные сетевые запросы уже вступили в силу. Телеметрия, такая как spans инструментов OpenTelemetry и события аналитики, также захватывает исходный выход перед запуском hook. Чтобы предотвратить или изменить вызов инструмента перед его запуском, используйте hook [PreToolUse](#pretooluse) вместо этого.2206 `updatedToolOutput` только изменяет то, что видит Claude. Инструмент уже выполнился к моменту срабатывания hook, поэтому любые написанные файлы, выполненные команды или отправленные сетевые запросы уже вступили в силу. Телеметрия, такая как spans инструментов OpenTelemetry и события аналитики, также захватывает исходный вывод перед выполнением hook. Чтобы предотвратить или изменить вызов инструмента перед его выполнением, используйте hook [PreToolUse](#pretooluse) вместо этого.

1862 2207 

1863 Значение замены должно соответствовать форме выхода инструмента. Встроенные инструменты возвращают структурированные объекты, а не простые строки. Например, `Bash` возвращает объект с полями `stdout`, `stderr`, `interrupted` и `isImage`. Для встроенных инструментов значение, которое не соответствует схеме выхода инструмента, игнорируется и используется исходный выход. Выход инструмента MCP передаётся без проверки схемы. Удаление деталей ошибок, которые нужны Claude, может привести к тому, что он продолжит с неправильным предположением.2208 Значение замены должно совпадать с формой вывода инструмента. Встроенные инструменты возвращают структурированные объекты, а не простые строки. Например, `Bash` возвращает объект с полями `stdout`, `stderr`, `interrupted` и `isImage`. Для встроенных инструментов значение, которое не совпадает со схемой вывода инструмента, игнорируется и используется исходный вывод. Вывод инструмента MCP передается без проверки схемы. Удаление деталей ошибок, которые нужны Claude, может привести к тому, что он продолжит с ложным предположением.

2209</Warning>

2210 

2211<h4 id="annotate-a-result-for-the-auto-mode-classifier">

2212 Annotate a result for the auto mode classifier

2213</h4>

2214 

2215Верните `classifierContext` для отправки краткой заметки об этом результате вызова инструмента [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) классификатору, а не Claude. Классификатор [никогда не получает результаты инструментов сами](/docs/ru/permission-modes#how-the-classifier-evaluates-actions), поэтому это поле — поддерживаемый способ сказать ему что-то о том, что вернул вызов, перед тем как он проверит более поздние действия. Поле требует Claude Code v2.1.236 или позже.

2216 

2217Пример ниже говорит классификатору, откуда пришел вывод запроса:

2218 

2219```json theme={null}

2220{

2221 "hookSpecificOutput": {

2222 "hookEventName": "PostToolUse",

2223 "classifierContext": "This query ran against the staging database, not production."

2224 }

2225}

2226```

2227 

2228Сколько веса классификатор дает заметке, зависит от того, где вы настроили hook:

2229 

2230* **Hooks, настроенные в Claude Code**: для hooks из файлов настроек, plugins, skills и frontmatter агента, классификатор рассматривает заметку как непроверенный, предоставленный приложением контекст. Заметка никогда не устанавливает намерение пользователя, и если она утверждает, что вы одобрили или запросили что-то, классификатор проверяет это утверждение против ваших собственных сообщений в разговоре

2231* **In-process Agent SDK callbacks**: когда приложение, встраивающее Claude Code, регистрирует hook как [TypeScript SDK callback](/docs/ru/agent-sdk/hooks) и возвращает заметку во время живого сеанса, классификатор может взвесить утверждение пользователя, переданное в заметке, как намерение пользователя. Такое утверждение может удовлетворить требование согласия, которое классификатор принял бы из сообщения, которое вы отправляете, но оно никогда не снимает блокировку, которую ваше собственное сообщение не могло бы снять. После возобновления сеанса Claude Code рассматривает восстановленные заметки как непроверенный контекст. Когда hooks из обеих групп аннотируют один и тот же вызов, классификатор рассматривает объединенную заметку как непроверенный контекст

2232 

2233Claude Code применяет эти ограничения при доставке заметки:

2234 

2235* **Длина**: Claude Code ограничивает заметки для одного вызова инструмента на 2000 символов и усекает остальное. Ограничение делится между каждым hook, который отвечает на этот вызов

2236* **Только синхронные ответы**: Claude Code игнорирует поле в ответе hook, который [выполняется в фоне](#run-hooks-in-the-background), потому что этот ответ приходит после того, как Claude Code записывает результат инструмента

2237* **Вызовы, которые классификатор не записывает**: транскрипт классификатора опускает поиски только для чтения, такие как чтение файлов и поиски. Claude Code отбрасывает заметку, прикрепленную к одному из этих вызовов

2238* **Взаимодействие с переписыванием**: когда заметка описывает вывод, который вы заменяете с помощью `updatedToolOutput`, верните оба поля в одном ответе hook. Claude Code отбрасывает заметку, если это переписывание отклонено или переписывание другого hook заменяет его. Claude Code доставляет заметку, которую вы возвращаете без переписывания, даже когда другой hook переписывает вывод

2239 

2240<Warning>

2241 Классификатор читает содержимое, которое вы помещаете в `classifierContext`, как информацию от приложения, размещающего сеанс, поэтому не копируйте ненадежный вывод инструмента или текст третьих сторон в него. Держите заметку к краткому утверждению об этом одном вызове, такому как факт о его происхождении или утверждение пользователя о нем; не используйте поле для доставки несвязанных сообщений или потока событий.

1864</Warning>2242</Warning>

1865 2243 

1866<h3 id="posttoolusefailure">2244<h3 id="posttoolusefailure">

1867 PostToolUseFailure2245 PostToolUseFailure

1868</h3>2246</h3>

1869 2247 

1870Запускается при сбое выполнения инструмента: инструмент выбросил ошибку или инструмент MCP вернул результат ошибки. Используйте это для логирования сбоев, отправки оповещений или предоставления исправляющей обратной связи Claude.2248Запускается, когда инструмент, который начал выполняться, не удается: инструмент выбросил ошибку или инструмент MCP вернул результат ошибки. Используйте это для логирования сбоев, отправки оповещений или предоставления исправляющей обратной связи Claude.

1871 2249 

1872Совпадает с именем инструмента, те же значения, что и PreToolUse.2250Совпадает с именем инструмента, те же значения, что и PreToolUse.

1873 2251 

1874<Note>2252<Note>

1875 Это событие не срабатывает для вызовов инструментов, отклонённых перед выполнением: неизвестное имя инструмента, входные данные, которые не проходят проверку схемы или инструмента, или отклонение разрешения. Отклонения проверки возвращаются как результаты `tool_use_error` и происходят перед запуском hooks, поэтому они не срабатывают ни `PreToolUse` ни этим событием. Отклонения разрешения срабатывают `PreToolUse`, но не этим событием; см. [PermissionDenied](#permissiondenied).2253 Это событие не срабатывает для вызовов инструментов, отклоненных перед выполнением: неизвестное имя инструмента, ввод, который не проходит проверку схемы или инструмента, или отказ в разрешении. Отказы проверки возвращаются как результаты `tool_use_error` и происходят перед выполнением hooks, поэтому они не срабатывают ни `PreToolUse`, ни `PostToolUseFailure`. Отказы в разрешении срабатывают `PreToolUse`, но не это событие; см. [PermissionDenied](#permissiondenied).

1876</Note>2254</Note>

1877 2255 

1878<h4 id="posttoolusefailure-input">2256<h4 id="posttoolusefailure-input">

1879 PostToolUseFailure input2257 PostToolUseFailure input

1880</h4>2258</h4>

1881 2259 

1882PostToolUseFailure hooks получают те же поля `tool_name` и `tool_input`, что и PostToolUse, вместе с информацией об ошибке как верхнеуровневые поля:2260Hooks PostToolUseFailure получают те же поля `tool_name` и `tool_input`, что и PostToolUse, вместе с информацией об ошибке как полями верхнего уровня. Для инструмента MCP они также получают объект [`mcp_server`](#pretooluse-input). Например, неудачная команда `npm test` может доставить:

1883 2261 

1884```json theme={null}2262```json theme={null}

1885{2263{


1894 "description": "Run test suite"2272 "description": "Run test suite"

1895 },2273 },

1896 "tool_use_id": "toolu_01ABC123...",2274 "tool_use_id": "toolu_01ABC123...",

1897 "error": "Command exited with non-zero status code 1",2275 "error": "Exit code 1\nError: Cannot find module 'express'",

1898 "is_interrupt": false,2276 "is_interrupt": false,

1899 "duration_ms": 41872277 "duration_ms": 4187

1900}2278}

1901```2279```

1902 2280 

1903| Поле | Описание |2281| Field | Description |

1904| :------------- | :-------------------------------------------------------------------------------------------------------------------------------- |2282| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1905| `error` | Строка, описывающая, что пошло не так |2283| `error` | Строка, описывающая, что пошло не так. Формат зависит от инструмента, который не удался |

1906| `is_interrupt` | Опциональное логическое значение, указывающее, был ли сбой вызван прерыванием пользователя |2284| `is_interrupt` | Опциональный boolean. True, когда сбой достиг Claude Code как прерывание, а не как ошибка, которую сообщил инструмент. Отмена выполняющегося инструмента не срабатывает этот hook; результат инструмента несет сообщение прерывания вместо этого |

1907| `duration_ms` | Опциональный. Время выполнения инструмента в миллисекундах. Исключает время, потраченное на диалоги разрешения и hooks PreToolUse |2285| `duration_ms` | Опциональный. Время выполнения инструмента в миллисекундах. Исключает время, потраченное на подсказки разрешений и hooks PreToolUse |

2286 

2287Строка `error` обычно является тем же текстом, который Claude получает как результат неудачного инструмента. Его формат варьируется по инструменту и сбою. Ключ вашего hook на `tool_name`, `is_interrupt` и первой строке `Exit code N`; рассматривайте остальную строку как текст отображения, а не стабильный формат.

2288 

2289* Для Bash и PowerShell команда, которая выполнилась и вышла, создает первую строку `Exit code N`, затем любой вывод, который команда создала, как один блок с stdout и stderr перемешанными

2290* Полезная нагрузка также может нести сообщение об ошибке без строки кода выхода, когда Claude Code не мог запустить сам процесс shell

2291* Claude Code усекает длинные строки в середине вокруг маркера `... [N characters truncated] ...` и может вставлять свои собственные строки, такие как `Command timed out after 2m 0s`

1908 2292 

1909<h4 id="posttoolusefailure-decision-control">2293<h4 id="posttoolusefailure-decision-control">

1910 PostToolUseFailure decision control2294 PostToolUseFailure decision control

1911</h4>2295</h4>

1912 2296 

1913Hooks `PostToolUseFailure` могут предоставить контекст Claude после сбоя инструмента. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:2297Hooks `PostToolUseFailure` могут предоставить контекст Claude после сбоя инструмента. Помимо [JSON output fields](#json-output), доступных всем hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:

1914 2298 

1915| Поле | Описание |2299| Field | Description |

1916| :------------------ | :------------------------------------------------------------------------------------------------------------ |2300| :------------------ | :----------------------------------------------------------------------------------------------------------- |

1917| `additionalContext` | Строка, добавленная в контекст Claude наряду с ошибкой. См. [Add context for Claude](#add-context-for-claude) |2301| `additionalContext` | Строка, добавленная в контекст Claude рядом с ошибкой. См. [Add context for Claude](#add-context-for-claude) |

1918 2302 

1919```json theme={null}2303```json theme={null}

1920{2304{


1929 PostToolBatch2313 PostToolBatch

1930</h3>2314</h3>

1931 2315 

1932Запускается один раз после разрешения каждого вызова инструмента в пакете, перед отправкой Claude Code следующего запроса модели. `PostToolUse` срабатывает один раз за инструмент, что означает, что он срабатывает одновременно, когда Claude делает параллельные вызовы инструментов. `PostToolBatch` срабатывает ровно один раз со всем пакетом, поэтому это правильное место для внедрения контекста, который зависит от набора инструментов, которые запустились, а не от какого-либо одного инструмента. Нет фильтра для этого события.2316Запускается один раз после того, как каждый вызов инструмента в партии разрешится, перед отправкой Claude Code следующего запроса модели. `PostToolUse` срабатывает один раз на инструмент, что означает, что он срабатывает одновременно, когда Claude делает параллельные вызовы инструментов. `PostToolBatch` срабатывает ровно один раз со всей партией, поэтому это правильное место для внедрения контекста, который зависит от набора инструментов, которые выполнились, а не от любого одного инструмента. Нет matcher для этого события.

1933 2317 

1934<h4 id="posttoolbatch-input">2318<h4 id="posttoolbatch-input">

1935 PostToolBatch input2319 PostToolBatch input

1936</h4>2320</h4>

1937 2321 

1938В дополнение к [общим полям входа](#common-input-fields), PostToolBatch hooks получают `tool_calls`, массив, описывающий каждый вызов инструмента в пакете:2322Помимо [common input fields](#common-input-fields), hooks PostToolBatch получают `tool_calls`, массив, описывающий каждый вызов инструмента в партии:

1939 2323 

1940```json theme={null}2324```json theme={null}

1941{2325{


1961}2345}

1962```2346```

1963 2347 

1964`tool_response` содержит то же содержимое, которое модель получает в соответствующем блоке `tool_result`. Значение — это сериализованная строка или массив блоков содержимого, ровно как инструмент его выдал. Для `Read` это означает текст с префиксом номера строки, а не необработанное содержимое файла. Ответы могут быть большими, поэтому анализируйте только нужные вам поля.2348`tool_response` содержит то же содержимое, которое модель получает в соответствующем блоке `tool_result`. Значение — это сериализованная строка или массив блоков содержимого, ровно как инструмент выдал его. Для `Read` это означает текст с префиксом номера строки, а не исходное содержимое файла. Ответы могут быть большими, поэтому анализируйте только нужные вам поля.

1965 2349 

1966<Note>2350<Note>

1967 Форма `tool_response` отличается от `PostToolUse`. `PostToolUse` передаёт структурированный объект `Output` инструмента, такой как `{filePath: "...", success: true}` для `Write`; `PostToolBatch` передаёт сериализованное содержимое `tool_result`, которое видит модель.2351 Форма `tool_response` отличается от `PostToolUse`. `PostToolUse` передает структурированный объект `Output` инструмента, такой как `{filePath: "...", type: "create"}` для `Write`; `PostToolBatch` передает сериализованное содержимое `tool_result`, которое видит модель.

1968</Note>2352</Note>

1969 2353 

1970<h4 id="posttoolbatch-decision-control">2354<h4 id="posttoolbatch-decision-control">

1971 PostToolBatch decision control2355 PostToolBatch decision control

1972</h4>2356</h4>

1973 2357 

1974Hooks `PostToolBatch` могут внедрить контекст для Claude. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:2358Hooks `PostToolBatch` могут внедрить контекст для Claude. Помимо [JSON output fields](#json-output), доступных всем hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:

1975 2359 

1976| Поле | Описание |2360| Field | Description |

1977| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2361| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1978| `additionalContext` | Строка контекста, внедрённая один раз перед следующим вызовом модели. См. [Add context for Claude](#add-context-for-claude) для деталей доставки, что в неё поместить и как возобновлённые сеансы обрабатывают прошлые значения |2362| `additionalContext` | Строка контекста, внедренная один раз перед следующим вызовом модели. См. [Add context for Claude](#add-context-for-claude) для деталей доставки, что в нее поместить и как возобновленные сеансы обрабатывают прошлые значения |

1979 2363 

1980```json theme={null}2364```json theme={null}

1981{2365{


1986}2370}

1987```2371```

1988 2372 

1989Возврат `decision: "block"` или `continue: false` останавливает агентный цикл перед следующим вызовом модели.2373Возврат `decision: "block"` или `continue: false` останавливает агентский цикл перед следующим вызовом модели. Сообщение блокировки поступает из JSON `reason` или `stopReason` или из stderr при выходе 2. Вы видите его как предупреждение в транскрипте, и оно остается в разговоре, поэтому Claude видит его при продолжении разговора.

1990 2374 

1991<h3 id="permissiondenied">2375<h3 id="permissiondenied">

1992 PermissionDenied2376 PermissionDenied

1993</h3>2377</h3>

1994 2378 

1995Запускается когда классификатор [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) отклоняет вызов инструмента. Этот hook срабатывает только в auto mode: он не запускается когда вы вручную отклоняете диалог разрешения, когда hook `PreToolUse` блокирует вызов или когда совпадает правило `deny`. Используйте это для логирования отказов классификатора, корректировки конфигурации или сообщения модели, что она может повторить попытку вызова инструмента.2379Запускается, когда [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) отказывает в вызове инструмента, включая когда он отказывает без вердикта классификатора, потому что [проверка безопасности, отдельная от auto mode, отказала в запросе классификатора](/docs/ru/errors#auto-mode-cannot-determine-the-safety-of-an-action) или его ответ не был проанализирован. Этот hook срабатывает только в режиме auto: он не запускается, когда вы вручную отказываете диалогу разрешений, когда hook `PreToolUse` блокирует вызов или когда совпадает правило `deny`. Используйте его для логирования отказов, корректировки конфигурации или сообщения модели, что она может повторить вызов инструмента.

1996 2380 

1997Совпадает с именем инструмента, те же значения, что и PreToolUse.2381Совпадает с именем инструмента, те же значения, что и PreToolUse.

1998 2382 


2000 PermissionDenied input2384 PermissionDenied input

2001</h4>2385</h4>

2002 2386 

2003В дополнение к [общим полям входа](#common-input-fields), PermissionDenied hooks получают `tool_name`, `tool_input`, `tool_use_id` и `reason`.2387Помимо [common input fields](#common-input-fields), hooks PermissionDenied получают `tool_name`, `tool_input`, `tool_use_id` и `reason`. Для инструмента MCP они также получают объект [`mcp_server`](#pretooluse-input).

2004 2388 

2005```json theme={null}2389```json theme={null}

2006{2390{


2015 "description": "Clean build directory"2399 "description": "Clean build directory"

2016 },2400 },

2017 "tool_use_id": "toolu_01ABC123...",2401 "tool_use_id": "toolu_01ABC123...",

2018 "reason": "Auto mode denied: command targets a path outside the project"2402 "reason": "[Irreversible Local Destruction]"

2019}2403}

2020```2404```

2021 2405 

2022| Поле | Описание |2406| Field | Description |

2023| :------- | :-------------------------------------------------------------------- |2407| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2024| `reason` | Объяснение классификатора того, почему вызов инструмента был отклонён |2408| `reason` | Причина отказа. Для вердикта классификатора в большинстве сеансов он называет совпадающее правило в квадратных скобках, такое как `[Data Exfiltration]`; см. [Review denials](/docs/ru/auto-mode-config#review-denials) для других форм. Для [no-verdict denial](#permissiondenied-decision-control) он начинается с `Auto mode could not evaluate this action and is blocking it for safety`. Для отказа, потому что модель классификатора была недоступна, это фиксированный текст `Classifier unavailable` |

2025 2409 

2026<h4 id="permissiondenied-decision-control">2410<h4 id="permissiondenied-decision-control">

2027 PermissionDenied decision control2411 PermissionDenied decision control

2028</h4>2412</h4>

2029 2413 

2030PermissionDenied hooks могут сообщить модели, что она может повторить попытку отклонённого вызова инструмента. Верните JSON объект с `hookSpecificOutput.retry`, установленным на `true`:2414Hooks PermissionDenied могут сказать модели, что она может повторить отклоненный вызов инструмента. Верните JSON объект с `hookSpecificOutput.retry`, установленным на `true`:

2031 2415 

2032```json theme={null}2416```json theme={null}

2033{2417{


2038}2422}

2039```2423```

2040 2424 

2041Когда `retry` равно `true`, Claude Code добавляет сообщение в разговор, говорящее модели, что она может повторить попытку вызова инструмента. Отказ сам по себе не отменяется. Если ваш hook не возвращает JSON или возвращает `retry: false`, отказ остаётся и модель получает исходное сообщение об отклонении.2425Когда `retry` имеет значение `true`, Claude Code добавляет сообщение в разговор, говорящее модели, что она может повторить вызов инструмента. Claude Code не отменяет сам отказ. Если ваш hook не возвращает JSON или возвращает `retry: false`, отказ остается и модель получает исходное сообщение отказа.

2426 

2427Claude Code игнорирует `retry: true`, когда классификатор создал [no verdict on the action](/docs/ru/errors#auto-mode-cannot-determine-the-safety-of-an-action): его ответ не был проанализирован или проверка безопасности, отдельная от auto mode, отказала в запросе классификатора. Для этих отказов Claude Code уже говорит модели в сообщении отказа, повторить ли позже или продолжить.

2042 2428 

2043<h3 id="notification">2429<h3 id="notification">

2044 Notification2430 Notification

2045</h3>2431</h3>

2046 2432 

2047Запускается при отправке Claude Code уведомлений. Совпадает с типом уведомления. Опустите фильтр для запуска hooks для всех типов уведомлений.2433Запускается, когда Claude Code отправляет уведомления. Совпадает с типом уведомления. Опустите matcher для запуска hooks для всех типов уведомлений.

2048 2434 

2049| Фильтр | Когда он срабатывает |2435Вы получаете эти события hook даже с отключенными уведомлениями рабочего стола: параметр `preferredNotifChannel`, включая `notifications_disabled`, изменяет только то, как вы получаете оповещение, а не срабатывает ли ваш hook.

2050| :--------------------- | :------------------------------------------------------------------------------------------------------------------ |2436 

2051| `permission_prompt` | Claude нуждается в одобрении использования инструмента |2437| Matcher | Когда срабатывает |

2052| `idle_prompt` | Claude завершил работу и ждёт вашей следующей подсказки |2438| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2439| `permission_prompt` | Claude нуждается в вашем разрешении на использование инструмента или [network request](/docs/ru/sandboxing#network-isolation) изолированной команды, и подсказка ждала около шести секунд |

2440| `idle_prompt` | Claude закончил отвечать около 60 секунд назад и вы не печатали с тех пор |

2053| `auth_success` | Аутентификация завершена |2441| `auth_success` | Аутентификация завершена |

2054| `elicitation_dialog` | MCP сервер открывает форму запроса |2442| `elicitation_dialog` | Сервер MCP открывает форму запроса и вы не печатали около шести секунд |

2055| `elicitation_complete` | Форма запроса MCP отправлена или отклонена |2443| `elicitation_url_dialog` | Сервер MCP просит вас открыть URL браузера и вы не печатали около шести секунд |

2056| `elicitation_response` | Ответ на запрос MCP отправлен обратно на сервер |2444| `elicitation_complete` | Сервер MCP сообщает, что [URL-mode elicitation](#elicitation-input) завершена |

2057| `agent_needs_input` | Фоновый сеанс начинает ждать вашего ввода. Срабатывает только при открытом [agent view](/docs/ru/agent-view) в терминале |2445| `elicitation_response` | Ответ на запрос MCP отправляется обратно на сервер |

2058| `agent_completed` | Фоновый сеанс завершается или не удаётся. Срабатывает только при открытом [agent view](/docs/ru/agent-view) в терминале |2446| `agent_needs_input` | Фоновый сеанс начинает ждать вашего ввода, пока [agent view](/docs/ru/agent-view) открыт в терминале, или текущий сеанс просит вас вопрос [agent team](/docs/ru/agent-teams) товарища по команде и вы не печатали около шести секунд |

2447| `agent_completed` | Фоновый сеанс завершается или не удается. Срабатывает только, пока [agent view](/docs/ru/agent-view) открыт в терминале |

2448| `quota_auto_resume_fired` | Claude Code продолжает вашу задачу после того, как лимит использования claude.ai приостановил его: при сбросе или раньше, когда что-то, что вы делаете в Claude Code во время ожидания, такое как добавление кредитов использования, обновление вашего плана или переключение моделей, снова делает использование доступным |

2449| `quota_auto_resume_stale` | Лимит использования claude.ai сбросился, пока ваш компьютер спал более чем около 30 минут. Claude Code ждет, пока вы нажмете `Enter` вместо продолжения. После более короткого сна он продолжает и срабатывает `quota_auto_resume_fired` вместо этого |

2450| `quota_auto_resume_disabled` | Claude Code заканчивает свое ожидание лимита использования claude.ai без продолжения вашей задачи: [`autoContinueAtUsageLimit`](/docs/ru/settings-reference#autocontinueatusagelimit) отключен или сброс переместился более чем на 24 часа во время ожидания, которое Claude Code запустил самостоятельно, продолженная задача продолжала попадать на лимит или продолжение было заблокировано перед достижением модели. Не срабатывает, когда вы нажимаете `Esc` или `Ctrl+C` или выбираете **Don't continue automatically** |

2059 2451 

2060Типы `agent_needs_input` и `agent_completed` требуют Claude Code v2.1.198 или позже.2452Типы `agent_needs_input` и `agent_completed` требуют Claude Code v2.1.198 или позже.

2061 2453 

2062Используйте отдельные фильтры для запуска разных обработчиков в зависимости от типа уведомления. Эта конфигурация запускает скрипт оповещения, специфичный для разрешения, когда Claude нуждается в одобрении разрешения, и другое уведомление, когда Claude был неактивен:2454Типы `quota_auto_resume_fired`, `quota_auto_resume_stale` и `quota_auto_resume_disabled` требуют Claude Code v2.1.234 или позже.

2455 

2456В сеансах терминала, `permission_prompt` для [network request](/docs/ru/sandboxing#network-isolation) изолированной команды требует Claude Code v2.1.246 или позже.

2457 

2458`agent_needs_input` для вопроса настройки терминала товарища по команде требует Claude Code v2.1.248 или позже.

2459 

2460<Note>

2461 Типы `permission_prompt`, `idle_prompt`, `elicitation_dialog` и `elicitation_url_dialog` делят свое время с уведомлениями рабочего стола, поэтому в сеансах терминала вы видите их только, когда вы кажетесь отсутствующим от терминала:

2462 

2463 * Ожидайте `permission_prompt` один раз, когда вы не печатали около шести секунд. Таймер начинается, когда появляется подсказка разрешения, и каждый нажатие клавиши откладывает его. Чтобы запустить hook немедленно, когда Claude просит разрешение на использование инструмента, используйте [PermissionRequest](#permissionrequest) вместо этого.

2464 * Ожидайте `idle_prompt` около 60 секунд после того, как Claude закончит отвечать, и только если вы не печатали с тех пор. Claude Code не отправляет `idle_prompt`, пока ждет сброса лимита использования claude.ai. Когда ожидание заканчивается самостоятельно, один из типов `quota_auto_resume_*` срабатывает вместо этого.

2465 * Ожидайте `elicitation_dialog` для формы запроса или `elicitation_url_dialog` для запроса URL браузера один раз, когда вы не печатали около шести секунд. Оба делят один и тот же шестисекундный шлюз как `permission_prompt`: таймер начинается, когда появляется диалог, и каждый нажатие клавиши откладывает его.

2466 

2467 Запрос разрешения или запрос, который приходит, пока другой диалог находится на экране, сохраняет один и тот же шестисекундный шлюз, рассчитанный с момента прихода запроса. Его уведомление может достичь вас, пока запрос все еще ждет позади открытого диалога.

2468</Note>

2469 

2470Claude Code рассчитывает `permission_prompt` по-другому в сеансах, где он отправляет запросы разрешений на callback Agent SDK [`canUseTool`](/docs/ru/agent-sdk/user-input), что является тем, как Claude Desktop и расширение VS Code размещают Claude Code:

2471 

2472* Ожидайте `permission_prompt` около шести секунд после того, как Claude просит разрешение. Claude Code не откладывает его, пока вы печатаете.

2473* Если вы или hook [PermissionRequest](#permissionrequest) ответите раньше, Claude Code не запускает `permission_prompt`.

2474* Установите [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/ru/env-vars) на `1` для отключения `permission_prompt` в этих сеансах.

2475 

2476До версии 2.1.233, `permission_prompt` не срабатывал в этих сеансах.

2477 

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

2063 2479 

2064```json theme={null}2480```json theme={null}

2065{2481{


2092 Notification input2508 Notification input

2093</h4>2509</h4>

2094 2510 

2095В дополнение к [общим полям входа](#common-input-fields), Notification hooks получают `message` с текстом уведомления, опциональный `title` и `notification_type`, указывающий, какой тип сработал.2511Помимо [common input fields](#common-input-fields), hooks Notification получают `message` с текстом уведомления, опциональный `title` и `notification_type`, указывающий, какой тип срабатывает.

2096 2512 

2097```json theme={null}2513```json theme={null}

2098{2514{


2106}2522}

2107```2523```

2108 2524 

2109Notification hooks не могут блокировать или изменять уведомления. Они предназначены для побочных эффектов, таких как пересылка уведомления во внешний сервис. [Общие JSON поля выхода](#json-output) такие как `systemMessage` применяются.2525Hooks Notification не могут блокировать или изменять уведомления. Claude Code отбрасывает их поля `systemMessage` и `continue`, но все еще выдает [`terminalSequence`](#emit-terminal-notifications), на которое полагается пример уведомления рабочего стола. Hooks Notification предназначены для побочных эффектов, таких как пересылка уведомления во внешний сервис.

2110 2526 

2111<h3 id="subagentstart">2527<h3 id="subagentstart">

2112 SubagentStart2528 SubagentStart

2113</h3>2529</h3>

2114 2530 

2115Запускается при порождении Claude Code subagent через инструмент Agent. Поддерживает фильтры для фильтрации по имени типа агента. Для встроенных агентов это имя агента, такое как `general-purpose`, `Explore` или `Plan`. Для [пользовательских subagents](/docs/ru/sub-agents), это поле `name` из frontmatter агента, а не имя файла.2531Запускается, когда Claude порождает подагента с инструментом Agent, когда Claude [возобновляет подагента](/docs/ru/sub-agents#resume-subagents) и каждый раз, когда товарищ по команде [agent team](/docs/ru/agent-teams) в процессе обрабатывает новое сообщение. Поддерживает matchers для фильтрации по имени типа агента. Для встроенных агентов это имя агента, такое как `general-purpose`, `Explore` или `Plan`. Для [custom subagents](/docs/ru/sub-agents), это поле `name` из frontmatter агента, а не имя файла.

2116 2532 

2117Для subagents, поставляемых [плагином](/docs/ru/plugins), тип агента — это идентификатор, ограниченный плагином, такой как `my-plugin:reviewer`, а не простое имя frontmatter. Двоеточие помещает имя, ограниченное плагином, на путь регулярного выражения, поэтому закрепите фильтр с `^` и `$` для точного совпадения: `^my-plugin:reviewer$`.2533Для подагентов, поставляемых [plugin](/docs/ru/plugins), тип агента — это идентификатор с областью действия plugin, такой как `my-plugin:reviewer`, а не голое имя frontmatter. Двоеточие помещает имя с областью действия plugin на путь регулярного выражения, поэтому якорьте matcher с `^` и `$` для точного совпадения: `^my-plugin:reviewer$`.

2118 2534 

2119<h4 id="subagentstart-input">2535<h4 id="subagentstart-input">

2120 SubagentStart input2536 SubagentStart input

2121</h4>2537</h4>

2122 2538 

2123В дополнение к [общим полям входа](#common-input-fields), SubagentStart hooks получают `agent_id` с уникальным идентификатором для subagent и `agent_type` с именем агента, которое фильтр использует для фильтрации.2539Помимо [common input fields](#common-input-fields), hooks SubagentStart получают `agent_id` с уникальным идентификатором для подагента и `agent_type` с именем агента, который matcher фильтрует.

2124 2540 

2125```json theme={null}2541```json theme={null}

2126{2542{


2133}2549}

2134```2550```

2135 2551 

2136SubagentStart hooks не могут блокировать создание subagent, но они могут внедрить контекст в subagent. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, вы можете вернуть:2552Hooks SubagentStart не могут блокировать создание подагента, но они могут внедрить контекст в подагента. Помимо [JSON output fields](#json-output), доступных всем hooks, вы можете вернуть:

2137 2553 

2138| Поле | Описание |2554| Field | Description |

2139| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------- |2555| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------- |

2140| `additionalContext` | Строка, добавленная в контекст subagent в начале его разговора, перед его первой подсказкой. См. [Add context for Claude](#add-context-for-claude) |2556| `additionalContext` | Строка, добавленная в контекст подагента в начале его разговора, перед его первой подсказкой. См. [Add context for Claude](#add-context-for-claude) |

2141 2557 

2142```json theme={null}2558```json theme={null}

2143{2559{


2148}2564}

2149```2565```

2150 2566 

2567Когда hook запускается снова для того же подагента, Claude Code внедряет возвращенный контекст только, когда контекст подагента уже не содержит копию из более раннего запуска. Копия, внедренная при запуске, остается на месте, оставляя [prompt cache](/docs/ru/prompt-caching#subagents-and-the-cache) подагента нетронутым. После [auto-compaction](/docs/ru/sub-agents#auto-compaction) отбрасывает эту копию, Claude Code внедряет контекст следующего запуска снова.

2568 

2151<h3 id="subagentstop">2569<h3 id="subagentstop">

2152 SubagentStop2570 SubagentStop

2153</h3>2571</h3>

2154 2572 

2155Запускается при завершении ответа Claude Code subagent. Совпадает с типом агента, те же значения, что и SubagentStart.2573Запускается, когда подагент Claude Code закончил отвечать. Совпадает с типом агента, те же значения, что и SubagentStart.

2156 2574 

2157<h4 id="subagentstop-input">2575<h4 id="subagentstop-input">

2158 SubagentStop input2576 SubagentStop input

2159</h4>2577</h4>

2160 2578 

2161В дополнение к [общим полям входа](#common-input-fields), SubagentStop hooks получают `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` и `last_assistant_message`. Поле `agent_type` — это значение, используемое для фильтрации фильтра. `transcript_path` — это транскрипт основного сеанса, в то время как `agent_transcript_path` — это собственный транскрипт subagent, хранящийся в вложенной папке `subagents/`. Поле `last_assistant_message` содержит текстовое содержимое финального ответа subagent, поэтому hooks могут получить к нему доступ без анализа файла транскрипта.2579Помимо [common input fields](#common-input-fields), hooks SubagentStop получают `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` и `last_assistant_message`. Поле `agent_type` — это значение, используемое для фильтрации matcher. `transcript_path` — это транскрипт основного сеанса, в то время как `agent_transcript_path` — это собственный транскрипт подагента, хранящийся в вложенной папке `subagents/`. Поле `last_assistant_message` содержит текстовое содержимое финального ответа подагента, поэтому hooks могут получить доступ к нему без анализа файла транскрипта.

2162 2580 

2163SubagentStop hooks также получают массивы `background_tasks` и `session_crons`, описанные в разделе [Stop input](#stop-input), доступные в Claude Code v2.1.145 или позже. Оба массива ограничены родительским сеансом, а не subagent.2581На Claude Code v2.1.271 или позже подагент, который выполняется с инструментом [`SubagentHandback`](/docs/ru/tools-reference), доставляет свой отчет через этот инструмент перед остановкой. Поле `last_assistant_message` затем содержит закрывающий текст подагента, если есть, который не является доставленным отчетом. Отчет — это ввод `message` этого вызова, который hook `PreToolUse` или `PostToolUse`, совпадающий на `SubagentHandback`, получает как `tool_input.message`.

2582 

2583Hooks SubagentStop также получают массивы `background_tasks` и `session_crons`, описанные в [Stop input](#stop-input). Оба массива ограничены родительским сеансом, а не подагентом.

2164 2584 

2165```json theme={null}2585```json theme={null}

2166{2586{


2179}2599}

2180```2600```

2181 2601 

2182SubagentStop hooks используют тот же формат управления решением, что и [Stop hooks](#stop-decision-control), включая `hookSpecificOutput.additionalContext` с `hookEventName`, установленным на `"SubagentStop"`, для ненаправленной обратной связи, которая держит subagent работающим. Возврат `decision: "block"` с `reason` держит subagent работающим и доставляет `reason` subagent как его следующую инструкцию. Чтобы внедрить контекст в родительский сеанс после возврата subagent, используйте hook [`PostToolUse`](#posttooluse) на инструменте `Agent` вместо этого.2602Hooks SubagentStop используют тот же формат управления решением, что и [Stop hooks](#stop-decision-control), включая `hookSpecificOutput.additionalContext` с `hookEventName`, установленным на `"SubagentStop"`, для обратной связи без ошибок, которая держит подагента работающим. Возврат `decision: "block"` с `reason` держит подагента работающим и доставляет `reason` подагенту как его следующую инструкцию. Hook, который блокирует выходом 2, доставляет его сообщение stderr так же. Чтобы внедрить контекст в родительский сеанс после возврата подагента, используйте hook [`PostToolUse`](#posttooluse) на инструменте `Agent` вместо этого.

2183 2603 

2184<h3 id="taskcreated">2604<h3 id="taskcreated">

2185 TaskCreated2605 TaskCreated

2186</h3>2606</h3>

2187 2607 

2188Запускается при создании задачи через инструмент `TaskCreate`. Используйте это для обеспечения соглашений об именовании, требования описаний задач или предотвращения создания определённых задач.2608Запускается, когда задача создается через инструмент `TaskCreate`. Используйте это для применения соглашений об именовании, требования описаний задач или предотвращения создания определенных задач. В [сеансе без инструментов Task](/docs/ru/tools-reference#task-tool-availability), это событие не срабатывает.

2189 2609 

2190Когда hook `TaskCreated` выходит с кодом 2, задача не создаётся и сообщение stderr передаётся обратно модели как обратная связь. Чтобы полностью остановить товарища вместо его повторного запуска, верните JSON с `{"continue": false, "stopReason": "..."}`. TaskCreated hooks не поддерживают фильтры и срабатывают при каждом вхождении.2610Hooks TaskCreated не поддерживают matchers и срабатывают при каждом возникновении.

2191 2611 

2192<h4 id="taskcreated-input">2612<h4 id="taskcreated-input">

2193 TaskCreated input2613 TaskCreated input

2194</h4>2614</h4>

2195 2615 

2196В дополнение к [общим полям входа](#common-input-fields), TaskCreated hooks получают `task_id`, `task_subject` и опционально `task_description`, `teammate_name` и `team_name`.2616Помимо [common input fields](#common-input-fields), hooks TaskCreated получают `task_id`, `task_subject` и опционально `task_description`, `teammate_name` и `team_name`.

2197 2617 

2198```json theme={null}2618```json theme={null}

2199{2619{

2200 "session_id": "abc123",2620 "session_id": "abc123",

2201 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",2621 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2202 "cwd": "/Users/...",2622 "cwd": "/Users/...",

2203 "permission_mode": "default",

2204 "hook_event_name": "TaskCreated",2623 "hook_event_name": "TaskCreated",

2205 "task_id": "task-001",2624 "task_id": "task-001",

2206 "task_subject": "Implement user authentication",2625 "task_subject": "Implement user authentication",


2210}2629}

2211```2630```

2212 2631 

2213| Поле | Описание |2632| Field | Description |

2214| :----------------- | :----------------------------------------------------------------- |2633| :----------------- | :--------------------------------------------------------------------------- |

2215| `task_id` | Идентификатор создаваемой задачи |2634| `task_id` | Идентификатор создаваемой задачи |

2216| `task_subject` | Название задачи |2635| `task_subject` | Название задачи |

2217| `task_description` | Подробное описание задачи. Может отсутствовать |2636| `task_description` | Подробное описание задачи. Может быть отсутствующим |

2218| `teammate_name` | Имя товарища, создающего задачу. Может отсутствовать |2637| `teammate_name` | Имя товарища по команде, создающего задачу. Может быть отсутствующим |

2219| `team_name` | Имя команды, полученное из сеанса; будет удалено в будущем выпуске |2638| `team_name` | Устарело. Имя команды, полученное из сеанса; будет удалено в будущем выпуске |

2220 2639 

2221<h4 id="taskcreated-decision-control">2640<h4 id="taskcreated-decision-control">

2222 TaskCreated decision control2641 TaskCreated decision control

2223</h4>2642</h4>

2224 2643 

2225TaskCreated hooks поддерживают два способа управления созданием задачи:2644Hook TaskCreated может заблокировать создание двумя способами. В любом случае Claude Code удаляет задачу и возвращает ваше сообщение Claude как ошибку инструмента. Claude Code игнорирует `continue: false` из этого события и Claude продолжает работать.

2226 2645 

2227* **Exit code 2**: задача не создаётся и сообщение stderr передаётся обратно модели как обратная связь.2646* **Exit code 2**: Claude Code возвращает текст stderr как сообщение.

2228* **JSON `{"continue": false, "stopReason": "..."}`**: полностью останавливает товарища, соответствуя поведению hook `Stop`. `stopReason` показывается пользователю.2647* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code возвращает `reason` как сообщение.

2229 2648 

2230Этот пример блокирует задачи, чьи названия не следуют требуемому формату:2649Этот пример блокирует задачи, чьи названия не следуют требуемому формату:

2231 2650 


2246 TaskCompleted2665 TaskCompleted

2247</h3>2666</h3>

2248 2667 

2249Запускается при отметке задачи как завершённой. Это срабатывает в двух ситуациях: когда любой агент явно отмечает задачу как завершённую через инструмент TaskUpdate, или когда товарищ [agent team](/docs/ru/agent-teams) завершает свой ход с незавершёнными задачами. Используйте это для обеспечения критериев завершения, таких как прохождение тестов или проверок линтинга перед закрытием задачи.2668Запускается, когда задача отмечается как завершенная. Это срабатывает в двух ситуациях: когда любой агент явно отмечает задачу как завершенную через инструмент TaskUpdate или когда товарищ по команде [agent team](/docs/ru/agent-teams) завершает свой ход с выполняющимися задачами. Используйте это для применения критериев завершения, таких как прохождение тестов или проверок lint, перед закрытием задачи.

2250 2669 

2251Когда hook `TaskCompleted` выходит с кодом 2, задача не отмечается как завершённая и сообщение stderr передаётся обратно модели как обратная связь. Чтобы полностью остановить товарища вместо его повторного запуска, верните JSON с `{"continue": false, "stopReason": "..."}`. TaskCompleted hooks не поддерживают фильтры и срабатывают при каждом вхождении.2670Hooks TaskCompleted не поддерживают matchers и срабатывают при каждом возникновении.

2252 2671 

2253<h4 id="taskcompleted-input">2672<h4 id="taskcompleted-input">

2254 TaskCompleted input2673 TaskCompleted input

2255</h4>2674</h4>

2256 2675 

2257В дополнение к [общим полям входа](#common-input-fields), TaskCompleted hooks получают `task_id`, `task_subject` и опционально `task_description`, `teammate_name` и `team_name`.2676Помимо [common input fields](#common-input-fields), hooks TaskCompleted получают `task_id`, `task_subject` и опционально `task_description`, `teammate_name` и `team_name`.

2258 2677 

2259```json theme={null}2678```json theme={null}

2260{2679{


2271}2690}

2272```2691```

2273 2692 

2274| Поле | Описание |2693| Field | Description |

2275| :----------------- | :----------------------------------------------------------------- |2694| :----------------- | :--------------------------------------------------------------------------- |

2276| `task_id` | Идентификатор завершаемой задачи |2695| `task_id` | Идентификатор завершаемой задачи |

2277| `task_subject` | Название задачи |2696| `task_subject` | Название задачи |

2278| `task_description` | Подробное описание задачи. Может отсутствовать |2697| `task_description` | Подробное описание задачи. Может быть отсутствующим |

2279| `teammate_name` | Имя товарища, завершающего задачу. Может отсутствовать |2698| `teammate_name` | Имя товарища по команде, завершающего задачу. Может быть отсутствующим |

2280| `team_name` | Имя команды, полученное из сеанса; будет удалено в будущем выпуске |2699| `team_name` | Устарело. Имя команды, полученное из сеанса; будет удалено в будущем выпуске |

2281 2700 

2282<h4 id="taskcompleted-decision-control">2701<h4 id="taskcompleted-decision-control">

2283 TaskCompleted decision control2702 TaskCompleted decision control

2284</h4>2703</h4>

2285 2704 

2286TaskCompleted hooks поддерживают два способа управления завершением задачи:2705Hooks TaskCompleted поддерживают два способа управления завершением задачи:

2287 2706 

2288* **Exit code 2**: задача не отмечается как завершённая и сообщение stderr передаётся обратно модели как обратная связь.2707* **Exit code 2**: задача не отмечается как завершенная и сообщение stderr передается обратно модели как обратная связь.

2289* **JSON `{"continue": false, "stopReason": "..."}`**: полностью останавливает товарища, соответствуя поведению hook `Stop`. `stopReason` показывается пользователю.2708* **JSON `{"continue": false, "stopReason": "..."}`**: когда событие запустил товарищ по команде, завершающий свой ход, полностью останавливает товарища по команде, совпадая с поведением hook `Stop`. `stopReason` показывается пользователю. Когда событие запустил инструмент `TaskUpdate`, Claude Code игнорирует `continue: false`; выход 2 все еще блокирует завершение.

2290 2709 

2291Этот пример запускает тесты и блокирует завершение задачи, если они не пройдены:2710Этот пример запускает тесты и блокирует завершение задачи, если они не проходят:

2292 2711 

2293```bash theme={null}2712```bash theme={null}

2294#!/bin/bash2713#!/bin/bash


2308 Stop2727 Stop

2309</h3>2728</h3>

2310 2729 

2311Запускается при завершении ответа основного агента Claude Code. Не запускается, если остановка произошла из-за прерывания пользователя. Ошибки API срабатывают [StopFailure](#stopfailure) вместо этого.2730Запускается, когда основной агент Claude Code закончил отвечать. Не запускается, если остановка произошла из-за прерывания пользователем. Ошибки API срабатывают [StopFailure](#stopfailure) вместо этого.

2312 2731 

2313<Tip>2732<Tip>

2314 Команда [`/goal`](/docs/ru/goal) — это встроенный ярлык для stop hook, ограниченного сеансом на основе подсказки. Используйте её, когда вы хотите, чтобы Claude продолжал работать до выполнения условия без написания конфигурации hook.2733 Команда [`/goal`](/docs/ru/goal) — это встроенный ярлык для hook Stop с областью действия сеанса на основе подсказки. Используйте его, когда вы хотите, чтобы Claude продолжал работать над условием без написания конфигурации hook.

2315</Tip>2734</Tip>

2316 2735 

2317<h4 id="stop-input">2736<h4 id="stop-input">

2318 Stop input2737 Stop input

2319</h4>2738</h4>

2320 2739 

2321В дополнение к [общим полям входа](#common-input-fields), Stop hooks получают `stop_hook_active`, `last_assistant_message`, `background_tasks` и `session_crons`. Поле `stop_hook_active` равно `true`, когда Claude Code уже продолжает в результате stop hook. Проверьте это значение или обработайте транскрипт, чтобы предотвратить блокировку на условии, которое никогда не разрешится. Claude Code переопределяет hook и заканчивает ход после 8 последовательных блокировок.2740Помимо [common input fields](#common-input-fields), hooks Stop получают `stop_hook_active`, `last_assistant_message`, `background_tasks` и `session_crons`. Поле `stop_hook_active` имеет значение `true`, когда Claude Code уже продолжает в результате hook stop. Проверьте это значение или обработайте транскрипт, чтобы избежать блокирования на условии, которое никогда не разрешится. Claude Code переопределяет hook и заканчивает ход после 8 последовательных блокировок.

2322 2741 

2323Поле `last_assistant_message` содержит текстовое содержимое финального ответа Claude, поэтому hooks могут получить к нему доступ без анализа файла транскрипта. Для hooks, которые действуют на только что завершённый ход, такие как hooks для чтения вслух или уведомления, используйте это поле, а не читайте `transcript_path`: файл транскрипта не гарантирует включение финального сообщения в момент Stop на всех версиях.2742Поле `last_assistant_message` содержит текстовое содержимое финального ответа Claude, поэтому hooks могут получить доступ к нему без анализа файла транскрипта. Для hooks, которые действуют на только что завершенный ход, такие как hooks чтения вслух или уведомления, используйте это поле, а не читайте `transcript_path`: файл транскрипта не гарантируется включать финальное сообщение в момент Stop на всех версиях.

2324 2743 

2325Массивы `background_tasks` и `session_crons`, доступные в Claude Code v2.1.145 или позже, позволяют hooks различать "сеанс завершён" от "сеанс приостановлен в ожидании фоновой работы для его пробуждения". Оба массива присутствуют, когда реестр задач доступен, и пусты, когда ничего не выполняется или не запланировано.2744Массивы `background_tasks` и `session_crons` позволяют hooks различать "сеанс завершен" от "сеанс приостановлен в ожидании фоновой работы для пробуждения его обратно". Оба массива присутствуют, когда реестр задач доступен и пусты, когда ничего не выполняется или не запланировано.

2326 2745 

2327Каждая запись в `background_tasks` описывает одну выполняемую задачу и использует эти поля:2746Каждая запись в `background_tasks` описывает одну выполняющуюся задачу и использует эти поля:

2328 2747 

2329| Поле | Описание |2748| Field | Description |

2330| :------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2749| :------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2331| `id` | Идентификатор задачи |2750| `id` | Идентификатор задачи |

2332| `type` | Дружественный ярлык типа задачи, такой как `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` или `MCP task`. Каждый ярлык определяет, какая функция Claude Code создала задачу. Возвращается к необработанному дискриминанту для неизвестных типов |2751| `type` | Дружественный label типа задачи, такой как `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` или `MCP task`. Каждый label определяет, какая функция Claude Code создала задачу. Возвращается к сырому дискриминанту для неизвестных типов |

2333| `status` | Текущий статус задачи |2752| `status` | Текущий статус задачи |

2334| `description` | Описание в свободной форме, ограниченное 1000 символами с маркером `… [+N chars]` в строке при обрезке |2753| `description` | Описание в свободной форме, ограниченное 1000 символами с маркером `… [+N chars]` в строке при обрезании |

2335| `command` | Командная строка оболочки, ограниченная 1000 символами. Присутствует только для задач `shell` |2754| `command` | Командная строка shell, ограниченная 1000 символами. Присутствует только для задач `shell` |

2336| `agent_type` | Имя типа subagent. Присутствует только для задач `subagent` |2755| `agent_type` | Имя типа подагента. Присутствует только для задач `subagent` |

2337| `server` | Имя MCP сервера. Присутствует только для задач `monitor` и `MCP task` |2756| `server` | Имя сервера MCP. Присутствует только для задач `monitor` и `MCP task` |

2338| `tool` | Имя MCP инструмента. Присутствует только для задач `monitor` и `MCP task` |2757| `tool` | Имя инструмента MCP. Присутствует только для задач `monitor` и `MCP task` |

2339| `name` | Имя workflow. Присутствует только для задач `workflow` |2758| `name` | Имя workflow. Присутствует только для задач `workflow` |

2340 2759 

2341Каждая запись в `session_crons` описывает одно запланированное пробуждение, ограниченное сеансом, полученное из `CronCreate`, `ScheduleWakeup` и `/loop`:2760Каждая запись в `session_crons` описывает одно запланированное пробуждение с областью действия сеанса, полученное из `CronCreate`, `ScheduleWakeup` и `/loop`:

2342 2761 

2343| Поле | Описание |2762| Field | Description |

2344| :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |2763| :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |

2345| `id` | Идентификатор cron задачи |2764| `id` | Идентификатор задачи Cron |

2346| `schedule` | Выражение cron, например `0 9 * * 1-5` |2765| `schedule` | Выражение Cron, например `0 9 * * 1-5` |

2347| `recurring` | `false` для одноразовых пробуждений, чьё расписание кодирует одно время срабатывания, `true` для задач, которые повторно срабатывают при каждом совпадении |2766| `recurring` | `false` для одноразовых пробуждений, чье расписание кодирует одно время срабатывания, `true` для задач, которые повторно срабатывают при каждом совпадении |

2348| `prompt` | Подсказка, отправленная при срабатывании cron, ограниченная 1000 символами с тем же маркером `… [+N chars]` |2767| `prompt` | Подсказка, отправленная при срабатывании cron, ограниченная 1000 символами с тем же маркером `… [+N chars]` |

2349 2768 

2350Этот пример показывает Stop input с одной выполняемой shell задачей и одним повторяющимся cron:2769Этот пример показывает ввод Stop с одной выполняющейся задачей shell и одним повторяющимся cron:

2351 2770 

2352```json theme={null}2771```json theme={null}

2353{2772{


2382 Stop decision control2801 Stop decision control

2383</h4>2802</h4>

2384 2803 

2385Hooks `Stop` и `SubagentStop` могут управлять тем, продолжает ли Claude. В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:2804Hooks `Stop` и `SubagentStop` могут управлять тем, продолжает ли Claude. Помимо [JSON output fields](#json-output), доступных всем hooks, ваш скрипт hook может вернуть эти поля, специфичные для события:

2386 2805 

2387| Поле | Описание |2806| Field | Description |

2388| :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2807| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2389| `decision` | `"block"` предотвращает остановку Claude. Опустите, чтобы разрешить Claude остановиться |2808| `decision` | `"block"` предотвращает остановку Claude. Опустите, чтобы позволить Claude остановиться |

2390| `reason` | Требуется при `decision` равном `"block"`. Говорит Claude, почему оно должно продолжить |2809| `reason` | Требуется, когда `decision` имеет значение `"block"`. Говорит Claude, почему он должен продолжить |

2391| `hookSpecificOutput.additionalContext` | Ненаправленная обратная связь для Claude. Разговор продолжается, чтобы Claude мог действовать на основе этого, но в отличие от `decision: "block"` это показывается в транскрипте как обратная связь hook, а не ошибка hook |2810| `hookSpecificOutput.additionalContext` | Обратная связь без ошибок для Claude. Разговор продолжается, чтобы Claude мог действовать на нее, но в отличие от `decision: "block"`, она показана в транскрипте как обратная связь hook, а не ошибка hook |

2811 

2812Hook, который блокирует выходом 2, маршрутизируется так же, как `reason`: Claude получает сообщение stderr как объяснение того, почему он должен продолжить.

2392 2813 

2393```json theme={null}2814```json theme={null}

2394{2815{


2397}2818}

2398```2819```

2399 2820 

2400Используйте `additionalContext`, когда hook работает как задумано и даёт Claude руководство, такое как "запустите набор тестов перед завершением". Это держит разговор идущим через те же защиты цикла, что и `decision: "block"`, а именно вход `stop_hook_active` и ограничение 8 последовательных продолжений, но транскрипт помечает его как `Stop hook feedback` и уведомление об ошибке hook не показывается:2821Используйте `additionalContext`, когда hook работает как задумано и дает Claude руководство, такое как "запустить набор тестов перед завершением". Это держит разговор идущим через те же защиты цикла, что и `decision: "block"`, а именно ввод `stop_hook_active` и ограничение 8 последовательных продолжений, но транскрипт помечает его как `Stop hook feedback` и никакое уведомление об ошибке hook не показывается:

2401 2822 

2402```json theme={null}2823```json theme={null}

2403{2824{


2412 StopFailure2833 StopFailure

2413</h3>2834</h3>

2414 2835 

2415Запускается вместо [Stop](#stop) когда ход заканчивается из-за ошибки API. Выход и код выхода игнорируются. Используйте это для логирования сбоев, отправки оповещений или принятия действий восстановления, когда Claude не может завершить ответ из-за ограничений скорости, проблем аутентификации или других ошибок API.2836Запускается вместо [Stop](#stop), когда ход заканчивается из-за ошибки API. Claude Code игнорирует вывод и код выхода hook, кроме [`terminalSequence`](#emit-terminal-notifications). Используйте это для логирования сбоев, отправки оповещений или принятия действий восстановления, когда Claude не может завершить ответ из-за ограничений скорости, проблем аутентификации или других ошибок API.

2416 2837 

2417<h4 id="stopfailure-input">2838<h4 id="stopfailure-input">

2418 StopFailure input2839 StopFailure input

2419</h4>2840</h4>

2420 2841 

2421В дополнение к [общим полям входа](#common-input-fields), StopFailure hooks получают `error`, опциональные `error_details` и `last_assistant_message`. Поле `error` определяет тип ошибки и используется для фильтрации фильтра.2842Помимо [common input fields](#common-input-fields), hooks StopFailure получают `error`, опциональный `error_details` и опциональный `last_assistant_message`. Поле `error` определяет тип ошибки и используется для фильтрации matcher.

2422 2843 

2423| Поле | Описание |2844| Field | Description |

2424| :----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2845| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2425| `error` | Тип ошибки: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens` или `unknown` |2846| `error` | Тип ошибки: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` или `unknown` |

2426| `error_details` | Дополнительные детали об ошибке, когда доступны |2847| `error_details` | Дополнительные детали об ошибке, когда доступны |

2427| `last_assistant_message` | Отрендеренный текст ошибки, показанный в разговоре. В отличие от `Stop` и `SubagentStop`, где это поле содержит разговорный выход Claude, для `StopFailure` оно содержит строку ошибки API, такую как `"API Error: Rate limit reached"` |2848| `last_assistant_message` | Отображаемый текст ошибки, показанный в разговоре. В отличие от `Stop` и `SubagentStop`, где это поле содержит разговорный вывод Claude, для `StopFailure` оно содержит строку ошибки API, такую как `"API Error: Rate limit reached"` |

2428 2849 

2429```json theme={null}2850```json theme={null}

2430{2851{


2438}2859}

2439```2860```

2440 2861 

2441StopFailure hooks не имеют управления решением. Они запускаются только в целях уведомления и логирования.2862Hooks StopFailure не имеют управления решением. Они запускаются только в целях уведомления и логирования.

2442 2863 

2443<h3 id="teammateidle">2864<h3 id="teammateidle">

2444 TeammateIdle2865 TeammateIdle

2445</h3>2866</h3>

2446 2867 

2447Запускается когда товарищ [agent team](/docs/ru/agent-teams) собирается перейти в режим ожидания после завершения своего хода. Используйте это для обеспечения качественных ворот перед остановкой работы товарища, такие как требование прохождения проверок линтинга или проверка существования выходных файлов.2868Запускается, когда товарищ по команде [agent team](/docs/ru/agent-teams) собирается перейти в режим ожидания после завершения своего хода. Используйте это для применения шлюзов качества перед остановкой товарища по команде, такие как требование прохождения проверок lint или проверка существования выходных файлов.

2448 2869 

2449Когда hook `TeammateIdle` выходит с кодом 2, товарищ получает сообщение stderr как обратную связь и продолжает работать вместо перехода в режим ожидания. Чтобы полностью остановить товарища вместо его повторного запуска, верните JSON с `{"continue": false, "stopReason": "..."}`. TeammateIdle hooks не поддерживают фильтры и срабатывают при каждом вхождении.2870Hooks TeammateIdle не поддерживают matchers и срабатывают при каждом возникновении.

2450 2871 

2451<h4 id="teammateidle-input">2872<h4 id="teammateidle-input">

2452 TeammateIdle input2873 TeammateIdle input

2453</h4>2874</h4>

2454 2875 

2455В дополнение к [общим полям входа](#common-input-fields), TeammateIdle hooks получают `teammate_name` и `team_name`.2876Помимо [common input fields](#common-input-fields), hooks TeammateIdle получают `teammate_name` и `team_name`.

2456 2877 

2457```json theme={null}2878```json theme={null}

2458{2879{


2466}2887}

2467```2888```

2468 2889 

2469| Поле | Описание |2890| Field | Description |

2470| :-------------- | :----------------------------------------------------------------- |2891| :-------------- | :--------------------------------------------------------------------------- |

2471| `teammate_name` | Имя товарища, который собирается перейти в режим ожидания |2892| `teammate_name` | Имя товарища по команде, который собирается перейти в режим ожидания |

2472| `team_name` | Имя команды, полученное из сеанса; будет удалено в будущем выпуске |2893| `team_name` | Устарело. Имя команды, полученное из сеанса; будет удалено в будущем выпуске |

2473 2894 

2474<h4 id="teammateidle-decision-control">2895<h4 id="teammateidle-decision-control">

2475 TeammateIdle decision control2896 TeammateIdle decision control

2476</h4>2897</h4>

2477 2898 

2478TeammateIdle hooks поддерживают два способа управления поведением товарища:2899Hooks TeammateIdle поддерживают два способа управления поведением товарища по команде:

2479 2900 

2480* **Exit code 2**: товарищ получает сообщение stderr как обратную связь и продолжает работать вместо перехода в режим ожидания.2901* **Exit code 2**: товарищ по команде получает сообщение stderr как обратную связь и продолжает работать вместо перехода в режим ожидания.

2481* **JSON `{"continue": false, "stopReason": "..."}`**: полностью останавливает товарища, соответствуя поведению hook `Stop`. `stopReason` показывается пользователю.2902* **JSON `{"continue": false, "stopReason": "..."}`**: полностью останавливает товарища по команде, совпадая с поведением hook `Stop`. `stopReason` показывается пользователю.

2482 2903 

2483Этот пример проверяет, что артефакт сборки существует перед разрешением товарищу перейти в режим ожидания:2904Этот пример проверяет, что артефакт сборки существует перед разрешением товарищу по команде перейти в режим ожидания:

2484 2905 

2485```bash theme={null}2906```bash theme={null}

2486#!/bin/bash2907#!/bin/bash


2497 ConfigChange2918 ConfigChange

2498</h3>2919</h3>

2499 2920 

2500Запускается при изменении файла конфигурации во время сеанса. Используйте это для аудита изменений настроек, обеспечения политик безопасности или блокировки несанкционированных изменений файлов конфигурации.2921Запускается, когда файл конфигурации изменяется во время сеанса. Используйте это для аудита изменений настроек, применения политик безопасности или блокирования несанкционированных изменений файлов конфигурации.

2501 2922 

2502ConfigChange hooks срабатывают для изменений файлов настроек, управляемых параметров политики и файлов skills. Поле `source` во входных данных говорит вам, какой тип конфигурации изменился, и опциональное поле `file_path` предоставляет путь к изменённому файлу.2923Claude Code запускает hooks ConfigChange, когда файл настроек, файл управляемой политики или файл skill изменяется. Для управляемой политики он запускает их только, когда `managed-settings.json` или файл в `managed-settings.d/` изменяется. Он применяет [server-managed settings](/docs/ru/server-managed-settings) и изменения в macOS управляемых предпочтениях или политике реестра Windows без запуска их. На WSL с [`wslInheritsWindowsSettings`](/docs/ru/settings-reference#wslinheritswindowssettings), он также применяет измененный файл управляемых настроек Windows на его опросе политики без запуска их.

2503 2924 

2504Фильтр фильтрует по источнику конфигурации:2925Matcher фильтрует по источнику конфигурации:

2505 2926 

2506| Фильтр | Когда он срабатывает |2927| Matcher | Когда срабатывает |

2507| :----------------- | :---------------------------------------- |2928| :----------------- | :------------------------------------------------------------------ |

2508| `user_settings` | `~/.claude/settings.json` изменяется |2929| `user_settings` | `~/.claude/settings.json` изменяется |

2509| `project_settings` | `.claude/settings.json` изменяется |2930| `project_settings` | `.claude/settings.json` изменяется |

2510| `local_settings` | `.claude/settings.local.json` изменяется |2931| `local_settings` | `.claude/settings.local.json` изменяется |

2511| `policy_settings` | Управляемые параметры политики изменяются |2932| `policy_settings` | `managed-settings.json` или файл в `managed-settings.d/` изменяется |

2512| `skills` | Файл skill в `.claude/skills/` изменяется |2933| `skills` | Файл skill в `.claude/skills/` изменяется |

2513 2934 

2514Этот пример логирует все изменения конфигурации для аудита безопасности:2935Этот пример логирует все изменения конфигурации для аудита безопасности:


2535 ConfigChange input2956 ConfigChange input

2536</h4>2957</h4>

2537 2958 

2538В дополнение к [общим полям входа](#common-input-fields), ConfigChange hooks получают `source` и опционально `file_path`. Поле `source` указывает, какой тип конфигурации изменился, и `file_path` предоставляет путь к конкретному изменённому файлу.2959Помимо [common input fields](#common-input-fields), hooks ConfigChange получают `source` и опционально `file_path`. Поле `source` указывает, какой тип конфигурации изменился, и `file_path` предоставляет путь к конкретному файлу, который был изменен.

2539 2960 

2540```json theme={null}2961```json theme={null}

2541{2962{


2552 ConfigChange decision control2973 ConfigChange decision control

2553</h4>2974</h4>

2554 2975 

2555ConfigChange hooks могут блокировать применение изменений конфигурации. Используйте exit code 2 или JSON `decision` для предотвращения изменения. При блокировке новые параметры не применяются к запущенному сеансу.2976Hooks ConfigChange могут заблокировать изменения конфигурации от вступления в силу. Используйте выход 2 или JSON `decision` для предотвращения изменения. При блокировании новые настройки не применяются к работающему сеансу.

2556 2977 

2557| Поле | Описание |2978| Field | Description |

2558| :--------- | :--------------------------------------------------------------------------------------------- |2979| :--------- | :--------------------------------------------------------------------------------------------- |

2559| `decision` | `"block"` предотвращает применение изменения конфигурации. Опустите, чтобы разрешить изменение |2980| `decision` | `"block"` предотвращает применение изменения конфигурации. Опустите, чтобы позволить изменению |

2560| `reason` | Объяснение, показываемое пользователю при `decision` равном `"block"` |2981| `reason` | Принято, но никогда не показано |

2561 2982 

2562```json theme={null}2983```json theme={null}

2563{2984{


2566}2987}

2567```2988```

2568 2989 

2569Изменения `policy_settings` не могут быть заблокированы. Hooks всё ещё срабатывают для источников `policy_settings`, поэтому вы можете использовать их для аудита логирования, но любое решение блокировки игнорируется. Это гарантирует, что управляемые предприятием параметры всегда вступают в силу.2990Изменения `policy_settings` не могут быть заблокированы. Hooks все еще срабатывают для источников `policy_settings`, когда файл управляемых настроек на машине изменяется, поэтому вы можете использовать их для логирования этих редактирований, но любое решение блокировки игнорируется. Это гарантирует, что параметры, управляемые предприятием, всегда вступают в силу. Claude Code не запускает hooks `ConfigChange`, когда [server-managed settings](/docs/ru/server-managed-settings) приходят или обновляются.

2991 

2992Claude Code действует на решение блокировки из JSON вывода hook ConfigChange и отбрасывает `systemMessage` и `continue`. Заблокированное изменение не выводит никакого сообщения вам или Claude, независимо от того, блокируете ли вы с `reason` или с stderr при выходе 2. Claude Code только пишет строку в debug log.

2570 2993 

2571<h3 id="cwdchanged">2994<h3 id="cwdchanged">

2572 CwdChanged2995 CwdChanged

2573</h3>2996</h3>

2574 2997 

2575Запускается при изменении рабочего каталога во время сеанса, например когда Claude выполняет команду `cd`. Используйте это для реакции на изменения каталога: перезагрузка переменных окружения, активация специфичных для проекта цепочек инструментов или автоматический запуск скриптов настройки. Объединяется с [FileChanged](#filechanged) для инструментов, таких как [direnv](https://direnv.net/), которые управляют окружением для каждого каталога.2998Запускается, когда команда shell в основном разговоре изменяет рабочую директорию, например когда Claude выполняет команду `cd`. Используйте это для реакции на изменения директории: перезагрузка переменных окружения, активация цепочек инструментов, специфичных для проекта, или автоматический запуск скриптов настройки. Пары с [FileChanged](#filechanged) для инструментов, таких как [direnv](https://direnv.net/), которые управляют окружением для каждой директории.

2576 2999 

2577CwdChanged hooks имеют доступ к `CLAUDE_ENV_FILE`. Переменные, написанные в этот файл, сохраняются в последующих командах Bash для сеанса, как и в [SessionStart hooks](#persist-environment-variables).3000Hooks CwdChanged имеют доступ к [`CLAUDE_ENV_FILE`](#persist-environment-variables). Переменные, записанные в этот файл, сохраняются в последующих командах Bash до следующего события CwdChanged, когда Claude Code очищает их.

2578 3001 

2579CwdChanged не поддерживает фильтры и срабатывает при каждом изменении каталога.3002CwdChanged не поддерживает matchers и срабатывает при каждом возникновении.

2580 3003 

2581<h4 id="cwdchanged-input">3004<h4 id="cwdchanged-input">

2582 CwdChanged input3005 CwdChanged input

2583</h4>3006</h4>

2584 3007 

2585В дополнение к [общим полям входа](#common-input-fields), CwdChanged hooks получают `old_cwd` и `new_cwd`.3008Помимо [common input fields](#common-input-fields), hooks CwdChanged получают `old_cwd` и `new_cwd`.

2586 3009 

2587```json theme={null}3010```json theme={null}

2588{3011{


2599 CwdChanged output3022 CwdChanged output

2600</h4>3023</h4>

2601 3024 

2602В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, CwdChanged hooks могут вернуть `watchPaths` для динамической установки, какие пути файлов [FileChanged](#filechanged) отслеживает:3025Помимо [JSON output fields](#json-output), доступных всем hooks, hooks CwdChanged могут вернуть `watchPaths` для динамической установки того, какие пути файлов [FileChanged](#filechanged) наблюдает:

2603 3026 

2604| Поле | Описание |3027| Field | Description |

2605| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |3028| :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2606| `watchPaths` | Массив абсолютных путей. Заменяет текущий динамический список наблюдения. Пути из конфигурации `matcher` всегда отслеживаются. Возврат пустого массива очищает динамический список, что типично при входе в новый каталог |3029| `watchPaths` | Массив абсолютных путей. Заменяет текущий динамический список наблюдения. Пути из конфигурации вашего `matcher` всегда наблюдаются. Возврат пустого массива очищает динамический список, что типично при входе в новую директорию |

3030 

3031Hooks CwdChanged не имеют управления решением. Они не могут заблокировать изменение директории.

3032 

3033Claude Code читает `watchPaths` и `systemMessage` из их JSON вывода и отбрасывает `continue`. В интерактивных сеансах он показывает `systemMessage` как краткое уведомление терминала. Сообщение не достигает потока сообщений SDK.

3034 

3035<h3 id="directoryadded">

3036 DirectoryAdded

3037</h3>

3038 

3039Запускается после добавления рабочей директории во время сеанса с командой `/add-dir` или после добавления SDK клиентом с запросом управления `register_repo_root`. Используйте это для подготовки вновь добавленного репозитория, например установкой его зависимостей.

3040 

3041Claude Code не срабатывает это событие, когда:

2607 3042 

2608CwdChanged hooks не имеют управления решением. Они не могут блокировать изменение каталога.3043* Вы передаете директорию с флагом запуска `--add-dir`; [SessionStart](#sessionstart) охватывает эти директории

3044* Вы добавляете директорию на вкладку `/permissions` Workspace

3045* Вы добавляете директорию, которая уже является рабочей директорией или находится внутри одной

3046 

3047Claude Code срабатывает DirectoryAdded после обновления состояния sandbox и разрешений, поэтому изолированные инструменты уже видят новую директорию, когда выполняется ваш hook. Команды hook сами выполняются неизолированными.

3048 

3049Claude Code не ждет hook: добавление завершается немедленно, и hook выполняется в фоне с стандартным timeout 600 секунд.

3050 

3051Matcher фильтрует по тому, как была добавлена директория:

3052 

3053| Matcher | Когда срабатывает |

3054| :------------------- | :------------------------------------------------------------------------- |

3055| `slash_command` | Вы добавляете директорию с `/add-dir` |

3056| `register_repo_root` | SDK клиент добавляет директорию с запросом управления `register_repo_root` |

3057 

3058<h4 id="directoryadded-input">

3059 DirectoryAdded input

3060</h4>

3061 

3062Помимо [common input fields](#common-input-fields), hooks DirectoryAdded получают `directory` и `source`.

3063 

3064| Field | Description |

3065| :---------- | :-------------------------------------------------------------------------------------------------------------------- |

3066| `directory` | Абсолютный путь директории, которая была добавлена |

3067| `source` | Как была добавлена директория, `"slash_command"` для `/add-dir` или `"register_repo_root"` для запроса управления SDK |

3068 

3069```json theme={null}

3070{

3071 "session_id": "abc123",

3072 "transcript_path": "/Users/.../.claude/projects/.../transcript.jsonl",

3073 "cwd": "/Users/my-project",

3074 "hook_event_name": "DirectoryAdded",

3075 "directory": "/Users/my-other-repo",

3076 "source": "slash_command"

3077}

3078```

3079 

3080Hooks DirectoryAdded не имеют управления решением. Они не могут заблокировать добавление, которое уже завершилось, когда выполняется hook. Claude Code отбрасывает поле `continue` из их JSON вывода и выводит остальное по-другому в зависимости от источника:

3081 

3082* `slash_command`: Claude Code доставляет вывод `systemMessage` hook Claude как контекст на следующем ходе разговора, а не показывает вам. Количество неудачных hooks появляется в транскрипте. Полный вывод сбоя идет в debug log

3083* `register_repo_root`: Claude Code пишет вывод `systemMessage` и вывод сбоя в debug log только

2609 3084 

2610<h3 id="filechanged">3085<h3 id="filechanged">

2611 FileChanged3086 FileChanged

2612</h3>3087</h3>

2613 3088 

2614Запускается при изменении отслеживаемого файла на диске. Полезно для перезагрузки переменных окружения при изменении файлов конфигурации проекта.3089Запускается, когда наблюдаемый файл изменяется на диске. Claude Code обнаруживает изменения с помощью наблюдателя файловой системы, а не путем проверки вызовов инструментов, поэтому он запускает hook независимо от того, что изменило файл: вызов инструмента `Edit` или `Write`, скрипт, который Claude запускает с `Bash`, или процесс вне Claude Code. Обычное использование — перезагрузка переменных окружения, когда изменяются файлы конфигурации проекта.

2615 3090 

2616Поле `matcher` для этого события служит двум целям:3091`matcher` для этого события служит двум целям:

2617 3092 

2618* **Построение списка наблюдения**: значение разделяется на `|` и каждый сегмент регистрируется как буквальное имя файла в рабочем каталоге, поэтому `".envrc|.env"` отслеживает ровно эти два файла. Regex шаблоны здесь не полезны: значение, такое как `^\.env`, отслеживало бы файл буквально названный `^\.env`.3093* **Build the watch list**: значение разделяется на `|` и каждый сегмент регистрируется как буквальное имя файла в рабочей директории, поэтому `".envrc|.env"` наблюдает ровно эти два файла. Шаблоны regex не полезны здесь: значение, такое как `^\.env`, наблюдало бы файл буквально названный `^\.env`.

2619* **Фильтрация, какие hooks запускаются**: когда отслеживаемый файл изменяется, то же значение фильтрует, какие группы hook запускаются, используя стандартные [правила фильтра](#matcher-patterns) против базового имени изменённого файла.3094* **Filter which hooks run**: когда наблюдаемый файл изменяется, то же значение фильтрует, какие группы hook запускаются, используя стандартные [matcher rules](#matcher-patterns) против базового имени измененного файла.

2620 3095 

2621FileChanged hooks имеют доступ к `CLAUDE_ENV_FILE`. Переменные, написанные в этот файл, сохраняются в последующих командах Bash для сеанса, как и в [SessionStart hooks](#persist-environment-variables).3096Этот пример нормализует окончания строк в `data.csv` после любого изменения, включая вызов инструмента `Bash` или внешний скрипт, переписывающий файл:

3097 

3098```json theme={null}

3099{

3100 "hooks": {

3101 "FileChanged": [

3102 {

3103 "matcher": "data.csv",

3104 "hooks": [

3105 {

3106 "type": "command",

3107 "command": "/path/to/normalize-line-endings.sh"

3108 }

3109 ]

3110 }

3111 ]

3112 }

3113}

3114```

3115 

3116Hook читает абсолютный путь измененного файла из поля `file_path` [JSON input](#filechanged-input) на stdin. Его guard `grep` тестирует то же самое, что `perl` удаляет, CR в конце строки, поэтому запуск после нормализации выходит без касания файла. Более слабый guard зацикливается навсегда, потому что `perl -i` переписывает файл даже когда он ничего не подставляет и Claude Code запускает hook снова после каждой переписи. Сохраните этот скрипт в `/path/to/normalize-line-endings.sh` и сделайте его исполняемым:

3117 

3118```bash theme={null}

3119#!/bin/bash

3120FILE=$(jq -r .file_path)

3121if grep -q $'\r$' "$FILE"; then

3122 perl -pi -e 's/\r$//' "$FILE"

3123fi

3124```

3125 

3126Чтобы подтвердить, что hook работает, попросите Claude добавить строку CRLF в `data.csv` с командой `Bash`. Claude Code запускает hook и файл заканчивается с окончаниями LF.

3127 

3128Чтобы наблюдать файлы, которые вы не можете назвать заранее, верните [`watchPaths`](#filechanged-output) из hook для динамического обновления списка наблюдения. Claude Code запускает наблюдатель только, когда что-то называет файл для наблюдения, поэтому посейте список с группой FileChanged, чей matcher называет по крайней мере один файл, или с hook [SessionStart](#sessionstart-decision-control) или [CwdChanged](#cwdchanged), который возвращает `watchPaths`. Matcher все еще фильтрует, какие группы hook запускаются, когда наблюдаемый файл изменяется, поэтому дайте группе, которая обрабатывает динамические пути, опущенный matcher, который совпадает с каждым наблюдаемым файлом и ничего не добавляет в список наблюдения. Matcher `"*"` также совпадает с каждым файлом, но Claude Code регистрирует его в списке наблюдения, как любое другое значение, как буквальный файл названный `*`.

3129 

3130Hooks FileChanged имеют доступ к [`CLAUDE_ENV_FILE`](#persist-environment-variables). Переменные, записанные в этот файл, сохраняются в последующих командах Bash до следующего события [CwdChanged](#cwdchanged), когда Claude Code очищает их.

2622 3131 

2623<h4 id="filechanged-input">3132<h4 id="filechanged-input">

2624 FileChanged input3133 FileChanged input

2625</h4>3134</h4>

2626 3135 

2627В дополнение к [общим полям входа](#common-input-fields), FileChanged hooks получают `file_path` и `event`.3136Помимо [common input fields](#common-input-fields), hooks FileChanged получают `file_path` и `event`.

2628 3137 

2629| Поле | Описание |3138| Field | Description |

2630| :---------- | :---------------------------------------------------------------------------------------------------------------- |3139| :---------- | :---------------------------------------------------------------------------------------------------------------- |

2631| `file_path` | Абсолютный путь к файлу, который изменился |3140| `file_path` | Абсолютный путь к файлу, который изменился |

2632| `event` | Что произошло: `"change"` для изменённого файла, `"add"` для созданного файла или `"unlink"` для удалённого файла |3141| `event` | Что произошло: `"change"` для измененного файла, `"add"` для созданного файла или `"unlink"` для удаленного файла |

2633 3142 

2634```json theme={null}3143```json theme={null}

2635{3144{


2646 FileChanged output3155 FileChanged output

2647</h4>3156</h4>

2648 3157 

2649В дополнение к [JSON полям выхода](#json-output), доступным для всех hooks, FileChanged hooks могут вернуть `watchPaths` для динамического обновления, какие пути файлов отслеживаются:3158Помимо [JSON output fields](#json-output), доступных всем hooks, hooks FileChanged могут вернуть `watchPaths` для динамического обновления того, какие пути файлов наблюдаются:

2650 3159 

2651| Поле | Описание |3160| Field | Description |

2652| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3161| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

2653| `watchPaths` | Массив абсолютных путей. Заменяет текущий динамический список наблюдения. Пути из конфигурации `matcher` всегда отслеживаются. Используйте это, когда ваш скрипт hook обнаруживает дополнительные файлы для отслеживания на основе изменённого файла |3162| `watchPaths` | Массив абсолютных путей. Заменяет текущий динамический список наблюдения. Пути из конфигурации вашего `matcher` всегда наблюдаются. Используйте это, когда ваш скрипт hook обнаруживает дополнительные файлы для наблюдения на основе измененного файла |

3163 

3164Hooks FileChanged не имеют управления решением. Они не могут заблокировать изменение файла от возникновения.

2654 3165 

2655FileChanged hooks не имеют управления решением. Они не могут блокировать изменение файла от возникновения.3166Claude Code читает `watchPaths` и `systemMessage` из их JSON вывода и отбрасывает `continue`. В интерактивных сеансах он показывает `systemMessage` как краткое уведомление терминала. Сообщение не достигает потока сообщений SDK.

2656 3167 

2657<h3 id="worktreecreate">3168<h3 id="worktreecreate">

2658 WorktreeCreate3169 WorktreeCreate

2659</h3>3170</h3>

2660 3171 

2661Запускается при создании worktree, либо из `claude --worktree`, либо из [subagent, использующего `isolation: "worktree"`](/docs/ru/sub-agents#choose-the-subagent-scope). По умолчанию Claude Code создаёт изолированную рабочую копию с помощью `git worktree`. Настройка hook WorktreeCreate заменяет это поведение git по умолчанию, позволяя вам использовать другую систему контроля версий, такую как SVN, Perforce или Mercurial.3172Запускается, когда создается worktree, будь то из `claude --worktree`, из [subagent using `isolation: "worktree"`](/docs/ru/sub-agents#choose-the-subagent-scope) или для [background session](/docs/ru/agent-view#how-file-edits-are-isolated), которую Claude Code изолирует в своем собственном worktree. По умолчанию Claude Code создает изолированную рабочую копию с `git worktree`. Настройка hook WorktreeCreate заменяет это поведение git по умолчанию, позволяя вам использовать другую систему контроля версий, такую как SVN, Perforce или Mercurial.

3173 

3174Поскольку hook заменяет поведение по умолчанию полностью, [`.worktreeinclude`](/docs/ru/worktrees#copy-gitignored-files-into-worktrees) не обрабатывается. Если вам нужно скопировать локальные файлы конфигурации, такие как `.env`, в новый worktree, сделайте это внутри вашего скрипта hook.

2662 3175 

2663Потому что hook заменяет поведение по умолчанию полностью, [`.worktreeinclude`](/docs/ru/worktrees#copy-gitignored-files-into-worktrees) не обрабатывается. Если вам нужно скопировать локальные файлы конфигурации, такие как `.env`, в новый worktree, сделайте это внутри вашего скрипта hook.3176Hook должен вернуть путь к созданной директории worktree. Claude Code использует этот путь как рабочую директорию для изолированного сеанса. См. [WorktreeCreate output](#worktreecreate-output) для того, как каждый тип hook возвращает путь.

2664 3177 

2665Hook должен вернуть путь к созданному worktree каталогу. Claude Code использует этот путь как рабочий каталог для изолированного сеанса. См. [WorktreeCreate output](#worktreecreate-output) для того, как каждый тип hook возвращает путь.3178Claude Code действует на успех hook и возвращенный путь и отбрасывает `systemMessage` и `continue`.

2666 3179 

2667Этот пример создаёт рабочую копию SVN и выводит путь для использования Claude Code. Замените URL репозитория на свой:3180Этот пример создает рабочую копию SVN и выводит путь для использования Claude Code. Замените URL репозитория на свой собственный:

2668 3181 

2669```json theme={null}3182```json theme={null}

2670{3183{


2683}3196}

2684```3197```

2685 3198 

2686Hook читает имя worktree `name` из JSON входа на stdin, проверяет свежую копию в новый каталог и выводит путь каталога. `echo` на последней строке — это то, что Claude Code читает как путь worktree. Перенаправьте любой другой выход на stderr, чтобы он не мешал пути.3199Hook читает имя worktree `name` из JSON ввода на stdin, проверяет свежую копию в новую директорию и выводит путь директории. `echo` на последней строке — это то, что Claude Code читает как путь worktree. Перенаправьте любой другой вывод в stderr, чтобы он не мешал пути.

2687 3200 

2688<h4 id="worktreecreate-input">3201<h4 id="worktreecreate-input">

2689 WorktreeCreate input3202 WorktreeCreate input

2690</h4>3203</h4>

2691 3204 

2692В дополнение к [общим полям входа](#common-input-fields), WorktreeCreate hooks получают поле `name`. Это идентификатор slug для нового worktree, либо указанный пользователем, либо автоматически сгенерированный, например `bold-oak-a3f2`.3205Помимо [common input fields](#common-input-fields), hooks WorktreeCreate получают поле `name`. Это идентификатор slug для нового worktree, либо указанный пользователем, либо автоматически сгенерированный, например `bold-oak-a3f2`.

2693 3206 

2694```json theme={null}3207```json theme={null}

2695{3208{


2705 WorktreeCreate output3218 WorktreeCreate output

2706</h4>3219</h4>

2707 3220 

2708WorktreeCreate hooks не используют стандартную модель решения разрешить/заблокировать. Вместо этого успех или сбой hook определяет результат. Hook должен вернуть путь к созданному worktree каталогу:3221Hooks WorktreeCreate не используют стандартную модель решения разрешить/заблокировать. Вместо этого успех или сбой hook определяет результат. Hook должен вернуть путь к созданной директории worktree:

2709 3222 

2710* **Command hooks** (`type: "command"`): выводят путь как последнюю непустую строку stdout. Claude Code удаляет коды ANSI перед чтением этой строки, поэтому баннеры запуска оболочки, выведенные перед вашим `echo`, игнорируются. Перенаправьте любой другой выход hook на stderr.3223* **Command hooks** (`type: "command"`): выведите путь как последнюю непустую строку stdout. Claude Code удаляет коды ANSI перед чтением этой строки, поэтому баннеры запуска shell, выведенные перед вашим `echo`, игнорируются. Перенаправьте любой другой вывод hook в stderr.

2711* **HTTP hooks** (`type: "http"`): возвращают `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` в теле ответа.3224* **HTTP hooks** (`type: "http"`): верните `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` в теле ответа.

2712 3225 

2713Если hook не удаётся или не производит путь, создание worktree не удаётся с ошибкой.3226Если hook не удается или не создает путь, создание worktree не удается с ошибкой.

2714 3227 

2715Claude Code разрешает относительный путь против каталога, в котором запустился hook. Если результирующий путь не является каталогом, который Claude Code может ввести, сеанс выводит ошибку, называющую путь, и выходит с кодом 1. До v2.1.205 относительный путь или путь, который не существовал на диске, вызывал сбой сеанса при запуске, и с `-p` он зависал примерно на 30 секунд перед выходом с кодом 0.3228Claude Code разрешает относительный путь против директории, в которой выполнялся hook, свернув любые сегменты `.` или `..` в нем. Если результирующий путь не является директорией, которую Claude Code может ввести, сеанс выводит ошибку, называющую путь, и выходит с кодом 1.

3229 

3230Claude Code отказывает абсолютному пути, который содержит сегменты `.` или `..`, и любому пути, который проходит через symlink ниже корня репозитория, потому что symlink, зафиксированный в репозитории, может перенаправить worktree вне его. Ошибка называет отклоненный компонент. Верните нормализованный путь, который не проходит через symlink внутри репозитория. До версии 2.1.216 создание worktree следовало пути hook без этого скрининга.

2716 3231 

2717<h3 id="worktreeremove">3232<h3 id="worktreeremove">

2718 WorktreeRemove3233 WorktreeRemove

2719</h3>3234</h3>

2720 3235 

2721Запускается при удалении worktree, либо при выходе из сеанса `--worktree` и выборе его удаления, либо при завершении subagent с `isolation: "worktree"`. Это аналог очистки для [WorktreeCreate](#worktreecreate).3236Запускается, когда worktree удаляется. Это очистка, соответствующая [WorktreeCreate](#worktreecreate). Событие срабатывает, когда:

3237 

3238* вы выходите из сеанса `--worktree` и выбираете его удаление

3239* подагент с `isolation: "worktree"` завершается

3240* вы удаляете [background session](/docs/ru/agent-view#what-deleting-a-session-removes), чей worktree создал hook

3241 

3242Для git-based worktrees Claude Code обрабатывает очистку автоматически с `git worktree remove`. Если вы настроили hook WorktreeCreate для системы контроля версий, не основанной на git, соедините его с hook WorktreeRemove для обработки очистки. Без него директория worktree остается на диске.

3243 

3244Claude Code отбрасывает [JSON output fields](#json-output) hook WorktreeRemove, такие как `systemMessage` и `continue`.

2722 3245 

2723Для git-based worktrees Claude Code обрабатывает очистку автоматически с помощью `git worktree remove`. Если вы настроили hook WorktreeCreate для системы контроля версий, не основанной на git, объедините его с hook WorktreeRemove для обработки очистки. Без него каталог worktree остаётся на диске.3246Для удаления сеанса фонового плана Claude Code проверяет сохраненный путь worktree перед запуском hook и отказывает пути, который является symlink или проходит через один ниже корня репозитория. Hook запускается для worktree, который все еще содержит файлы только, когда вы подтверждаете удаление в [agent view](/docs/ru/agent-view#what-deleting-a-session-removes); для такого worktree, [`claude rm`](/docs/ru/agent-view#manage-sessions-from-the-shell) сохраняет сеанс и worktree вместо этого. До версии 2.1.216 hook запускался на сохраненном пути без этих проверок.

2724 3247 

2725Claude Code передаёт путь, который WorktreeCreate вывел на stdout, как `worktree_path` во входных данных hook. Этот пример читает этот путь и удаляет каталог:3248Claude Code передает путь, возвращенный WorktreeCreate, как `worktree_path` в ввод hook. Этот пример читает этот путь и удаляет директорию:

2726 3249 

2727```json theme={null}3250```json theme={null}

2728{3251{


2745 WorktreeRemove input3268 WorktreeRemove input

2746</h4>3269</h4>

2747 3270 

2748В дополнение к [общим полям входа](#common-input-fields), WorktreeRemove hooks получают поле `worktree_path`, которое является абсолютным путём к удаляемому worktree.3271Помимо [common input fields](#common-input-fields), hooks WorktreeRemove получают поле `worktree_path`, которое является абсолютным путем к удаляемому worktree.

2749 3272 

2750```json theme={null}3273```json theme={null}

2751{3274{


2757}3280}

2758```3281```

2759 3282 

2760WorktreeRemove hooks не имеют управления решением. Они не могут блокировать удаление worktree, но мог выполнять задачи очистки, такие как удаление состояния контроля версий или архивирование изменений. Сбои hook логируются только в режиме отладки.3283Код выхода hook WorktreeRemove определяет результат. Когда hook выходит с ненулевым кодом и директория в `worktree_path` все еще существует после этого, удаление не удается:

3284 

3285* Worktree остается на диске, и команда hook и stderr идут в [debug log](#debug-hooks).

3286* Если вы удаляли фоновый сеанс, сеанс также остается. Сообщение отказа в [agent view](/docs/ru/agent-view#what-deleting-a-session-removes) сообщает, как закончился hook, такой как `exited 1`, цитирует начало его stderr и говорит, удаляет ли удаление сеанса снова директорию в любом случае.

2761 3287 

2762<h3 id="precompact">3288<h3 id="precompact">

2763 PreCompact3289 PreCompact

2764</h3>3290</h3>

2765 3291 

2766Запускается перед тем, как Claude Code собирается запустить операцию компактирования.3292Запускается перед тем, как Claude Code собирается запустить операцию compact.

2767 3293 

2768Значение фильтра указывает, было ли компактирование запущено вручную или автоматически:3294Значение matcher указывает, было ли сжатие запущено вручную или автоматически:

2769 3295 

2770| Фильтр | Когда он срабатывает |3296| Matcher | Когда срабатывает |

2771| :------- | :-------------------------------------------------------------- |3297| :------- | :--------------------------------------------------------------------------------------------------------- |

2772| `manual` | `/compact` |3298| `manual` | `/compact` |

2773| `auto` | Автоматическое компактирование при заполнении контекстного окна |3299| `auto` | Auto-compact, когда разговор достигает [auto-compact window](/docs/ru/model-config#set-the-auto-compact-window) |

3300 

3301Выход с кодом 2 для блокирования сжатия. Для ручного `/compact`, сообщение stderr показывается пользователю. Вы также можете заблокировать, возвращая JSON с `"decision": "block"`.

2774 3302 

2775Exit code 2 блокирует компактирование. Для ручного `/compact` сообщение stderr показывается пользователю. Вы также можете заблокировать, возвращая JSON с `"decision": "block"`.3303Блокирование автоматического сжатия имеет разные эффекты в зависимости от того, когда оно срабатывает. Если сжатие было запущено упреждающе перед пределом контекста, Claude Code пропускает его и разговор продолжается несжатым. Если сжатие было запущено для восстановления от ошибки лимита контекста, уже возвращенной API, основная ошибка выводится и текущий запрос не удается.

2776 3304 

2777Блокировка автоматического компактирования имеет разные эффекты в зависимости от того, когда оно срабатывает. Если компактирование было запущено проактивно перед лимитом контекста, Claude Code пропускает его и разговор продолжается некомпактированным. Если компактирование было запущено для восстановления от ошибки лимита контекста, уже возвращённой API, основная ошибка выходит на поверхность и текущий запрос не удаётся.3305Claude Code отбрасывает поля `systemMessage` и `continue` hook PreCompact.

2778 3306 

2779<h4 id="precompact-input">3307<h4 id="precompact-input">

2780 PreCompact input3308 PreCompact input

2781</h4>3309</h4>

2782 3310 

2783В дополнение к [общим полям входа](#common-input-fields), PreCompact hooks получают `trigger` и `custom_instructions`. Для `manual`, `custom_instructions` содержит то, что пользователь передаёт в `/compact`. Для `auto`, `custom_instructions` пусто.3311Помимо [common input fields](#common-input-fields), hooks PreCompact получают `trigger` и `custom_instructions`. Для `manual`, `custom_instructions` содержит то, что пользователь передает в `/compact` и имеет значение `null`, когда они ничего не передают. Для `auto`, `custom_instructions` имеет значение `null`.

2784 3312 

2785```json theme={null}3313```json theme={null}

2786{3314{


2789 "cwd": "/Users/...",3317 "cwd": "/Users/...",

2790 "hook_event_name": "PreCompact",3318 "hook_event_name": "PreCompact",

2791 "trigger": "manual",3319 "trigger": "manual",

2792 "custom_instructions": ""3320 "custom_instructions": null

2793}3321}

2794```3322```

2795 3323 


2797 PostCompact3325 PostCompact

2798</h3>3326</h3>

2799 3327 

2800Запускается после завершения Claude Code операции компактирования. Используйте это событие для реакции на новое компактирован состояние, например для логирования сгенерированного резюме или обновления внешнего состояния.3328Запускается после завершения операции compact Claude Code. Используйте это событие для реакции на новое сжатое состояние, например для логирования сгенерированной сводки или обновления внешнего состояния. Claude Code отбрасывает поля `systemMessage` и `continue` hook PostCompact.

2801 3329 

2802Те же значения фильтра применяются как для `PreCompact`:3330Те же значения matcher применяются, как для `PreCompact`:

2803 3331 

2804| Фильтр | Когда он срабатывает |3332| Matcher | Когда срабатывает |

2805| :------- | :--------------------------------------------------------------------- |3333| :------- | :--------------------------------------------------------------------------------------------------------------- |

2806| `manual` | После `/compact` |3334| `manual` | После `/compact` |

2807| `auto` | После автоматического компактирования при заполнении контекстного окна |3335| `auto` | После auto-compact, когда разговор достигает [auto-compact window](/docs/ru/model-config#set-the-auto-compact-window) |

2808 3336 

2809<h4 id="postcompact-input">3337<h4 id="postcompact-input">

2810 PostCompact input3338 PostCompact input

2811</h4>3339</h4>

2812 3340 

2813В дополнение к [общим полям входа](#common-input-fields), PostCompact hooks получают `trigger` и `compact_summary`. Поле `compact_summary` содержит резюме разговора, сгенерированное операцией компактирования.3341Помимо [common input fields](#common-input-fields), hooks PostCompact получают `trigger` и `compact_summary`. Поле `compact_summary` содержит сводку разговора, сгенерированную операцией compact.

2814 3342 

2815```json theme={null}3343```json theme={null}

2816{3344{


2823}3351}

2824```3352```

2825 3353 

2826PostCompact hooks не имеют управления решением. Они не могут влиять на результат компактирования, но могут выполнять последующие задачи.3354Hooks PostCompact не имеют управления решением. Они не могут влиять на результат сжатия, но могут выполнять последующие задачи.

3355 

3356<h3 id="premodelswitch">

3357 PreModelSwitch

3358</h3>

3359 

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

3361 

3362PreModelSwitch требует Claude Code v2.1.251 или позже. Claude Code запускает его для этих запросов:

3363 

3364* `/model <name>` и средство выбора `/model`

3365* Средство выбора модели `Option+P` или `Alt+P`

3366* Параметр Model в `/config`

3367* Включение [fast mode](/docs/ru/fast-mode), когда это изменяет модель сеанса

3368* Запрос `set_model` или изменение модели в запросе `apply_flag_settings` от хоста [Agent SDK](/docs/ru/agent-sdk/typescript#query-object) или [Remote Control](/docs/ru/remote-control)

3369 

3370Claude Code не запускает hooks PreModelSwitch для переключений, которые он делает самостоятельно, такие как [automatic model fallback](/docs/ru/model-config#automatic-model-fallback) или восстановление модели при возобновлении сеанса. Эти изменения достигают [PostModelSwitch](#postmodelswitch) только.

3371 

3372Claude Code сравнивает matcher против канонического имени модели, на которую сеанс переключается, игнорируя любой суффикс `[1m]`. Alias, такой как `opus`, датированный ID модели и ID, специфичный для поставщика, такой как ID модели Amazon Bedrock, все совпадают с одним каноническим именем, на которое они разрешаются, поэтому `claude-opus-5` охватывает каждое написание Opus 5.

3373 

3374Когда Claude Code не может определить каноническое имя для цели, например пользовательский ID модели, который знает только ваш [LLM gateway](/docs/ru/llm-gateway), он запускает каждый hook PreModelSwitch независимо от matcher. Hook, который блокирует, должен поэтому проверить `to_model` из своего ввода, а не полагаться только на matcher.

3375 

3376Напишите matcher как точное имя, список, разделенный `|`, такой как `claude-opus-4-6|claude-opus-5`, или регулярное выражение, такое как `.*opus.*`. Этот пример использует matcher точного имени и также проверяет `to_model` из ввода hook, поэтому он отказывает переключению на Opus 4.6 выходом 2 и позволяет любой другой цели пройти:

3377 

3378<Tabs>

3379 <Tab title="macOS/Linux">

3380 Команда проверяет `to_model` с `jq`:

3381 

3382 ```json theme={null}

3383 {

3384 "hooks": {

3385 "PreModelSwitch": [

3386 {

3387 "matcher": "claude-opus-4-6",

3388 "hooks": [

3389 {

3390 "type": "command",

3391 "command": "jq -e '.to_model | test(\"opus-4-6\")' > /dev/null && { echo 'Opus 4.6 is retired for this project. Use a newer model.' >&2; exit 2; }; exit 0"

3392 }

3393 ]

3394 }

3395 ]

3396 }

3397 }

3398 ```

3399 </Tab>

3400 

3401 <Tab title="Windows (PowerShell)">

3402 Зарегистрируйте command hook, который запускает скрипт через PowerShell:

3403 

3404 ```json theme={null}

3405 {

3406 "hooks": {

3407 "PreModelSwitch": [

3408 {

3409 "matcher": "claude-opus-4-6",

3410 "hooks": [

3411 {

3412 "type": "command",

3413 "command": "powershell.exe",

3414 "args": [

3415 "-NoProfile",

3416 "-ExecutionPolicy",

3417 "Bypass",

3418 "-File",

3419 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-opus-46.ps1"

3420 ]

3421 }

3422 ]

3423 }

3424 ]

3425 }

3426 }

3427 ```

3428 

3429 Сохраните этот скрипт в `.claude/hooks/block-opus-46.ps1` в вашем проекте:

3430 

3431 ```powershell theme={null}

3432 $hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

3433 if ($hookInput.to_model -match 'opus-4-6') {

3434 [Console]::Error.WriteLine('Opus 4.6 is retired for this project. Use a newer model.')

3435 exit 2

3436 }

3437 exit 0

3438 ```

3439 </Tab>

3440</Tabs>

3441 

3442Чтобы подтвердить, что hook работает, запустите `/model claude-opus-4-6` из сеанса, работающего на другой модели. Claude Code сохраняет текущую модель и сообщает, что hook PreModelSwitch заблокировал переключение, с вашим сообщением как причиной.

3443 

3444<h4 id="premodelswitch-input">

3445 PreModelSwitch input

3446</h4>

3447 

3448Помимо [common input fields](#common-input-fields), hooks PreModelSwitch получают поля в этой таблице. Последние пять описывают, что стоит повторная отправка разговора на новую модель, поэтому hook может показать эту цифру перед переключением.

3449 

3450| Field | Type | Description |

3451| :-------------------------- | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3452| `from_model` | string | ID модели, на которую переключается |

3453| `to_model` | string | ID модели, на которую переключается. Matcher сравнивает против канонического имени этой модели |

3454| `requested_model` | string or `null` | Модель, которую назвал запрос: alias, такой как `opus`, полный ID модели или `null`, когда запрос был для модели по умолчанию |

3455| `source` | string | Откуда пришел запрос: `"command"` для `/model <name>`, параметра Model в `/config` или включения fast mode; `"picker"` для средства выбора модели; `"sdk"` для запроса `set_model` или изменения модели в запросе `apply_flag_settings` от хоста Agent SDK или Remote Control |

3456| `context_tokens` | number | Токены, которые следующий запрос повторно отправляет как его подсказка: входные, кэш чтения, кэш создания и выходные токены последнего ответа в основном разговоре, в сумме. `0` перед первым ответом |

3457| `prompt_cache_warm` | boolean | Вероятно ли, что кэш подсказок текущей модели все еще теплый, означая, что переключение его теряет |

3458| `cache_ttl` | string | [Prompt cache lifetime](/docs/ru/prompt-caching#cache-lifetime), который Claude Code запрашивает для этого сеанса: `"5m"` или `"1h"` |

3459| `estimated_cache_write_usd` | number | Предполагаемая стоимость в долларах США записи `context_tokens` в кэш подсказок на `to_model` при скорости `cache_ttl`, исключая следующий ответ. Сервер может не нуждаться в повторном кэшировании всего контекста, поэтому рассматривайте это как оценку |

3460| `pricing` | string | Как Claude Code оценил `estimated_cache_write_usd`: `"configured"` по вашим собственным ставкам организации, когда она их настроила, `"catalog"` по цене списка или `"default"`, когда `to_model` не имеет известной цены и Claude Code предположил стандартную ставку |

3461 

3462Этот пример показывает ввод для `/model opus` в сеансе, работающем на Sonnet 5:

3463 

3464```json theme={null}

3465{

3466 "session_id": "abc123",

3467 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

3468 "cwd": "/Users/...",

3469 "hook_event_name": "PreModelSwitch",

3470 "from_model": "claude-sonnet-5",

3471 "to_model": "claude-opus-5",

3472 "requested_model": "opus",

3473 "source": "command",

3474 "context_tokens": 182340,

3475 "prompt_cache_warm": true,

3476 "cache_ttl": "5m",

3477 "estimated_cache_write_usd": 1.1396,

3478 "pricing": "catalog"

3479}

3480```

3481 

3482<h4 id="premodelswitch-decision-control">

3483 PreModelSwitch decision control

3484</h4>

3485 

3486Hooks `PreModelSwitch` могут отменить переключение, попросить пользователя подтвердить его или позволить ему продолжить. Выход 2 или `decision: "block"` верхнего уровня отменяет переключение.

3487 

3488Для более тонкого контроля, верните `permissionDecision` и `permissionDecisionReason` в объекте `hookSpecificOutput`, как на [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` принимает `"allow"`, `"deny"` и `"ask"`. Он не принимает `"defer"`, `updatedInput` или `additionalContext`. Таблица ниже описывает оба поля:

3489 

3490| Field | Description |

3491| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

3492| `permissionDecision` | `"allow"` продолжает и пропускает [confirmation Claude Code shows while the prompt cache is warm](/docs/ru/prompt-caching#switching-models). `"deny"` отменяет переключение. `"ask"` подсказывает пользователю подтвердить его |

3493| `permissionDecisionReason` | Для `"deny"`, показано пользователю как причина блокирования переключения или возвращено как ошибка для запроса `set_model`. Для `"ask"`, показано в подсказке подтверждения. Игнорируется для `"allow"` |

3494 

3495Только `/model` в интерактивном сеансе может показать подсказку `"ask"`. На каждой другой поверхности, включая неинтерактивный режим с флагом `-p`, `/config` и запросы `set_model`, Claude Code рассматривает `"ask"` как отказ.

3496 

3497Этот пример просит пользователя подтвердить и цитирует количество токенов из `context_tokens`:

3498 

3499```json theme={null}

3500{

3501 "hookSpecificOutput": {

3502 "hookEventName": "PreModelSwitch",

3503 "permissionDecision": "ask",

3504 "permissionDecisionReason": "Switching now re-sends about 180k tokens to the new model. Continue?"

3505 }

3506}

3507```

3508 

3509Когда несколько hooks PreModelSwitch возвращают разные решения, приоритет — `deny` > `ask` > `allow`.

3510 

3511Claude Code показывает пользователю любой `systemMessage`, который возвращает ваш hook, независимо от решения, поэтому hook отчета стоимости может вернуть `{"systemMessage": "..."}` и выход 0.

3512 

3513Hook PreModelSwitch, который не отвечает перед своим timeout, блокирует переключение. На [PreToolUse](#timeouts), напротив, hook command, который истекает timeout, позволяет вызову инструмента продолжить. Стандартный timeout для этого события составляет 30 секунд. `PreModelSwitch` запускает только hooks `command`, `http` и `mcp_tool`, поэтому стандартные значения `prompt` и `agent` не применяются.

3514 

3515Hook, который выходит с кодом, отличным от 0 или 2, и не выводит JSON решение, не блокирует: Claude Code показывает его stderr и применяет переключение, как описано в [Other exit codes](#other-exit-codes).

3516 

3517<h3 id="postmodelswitch">

3518 PostModelSwitch

3519</h3>

3520 

3521Запускается после изменения модели сеанса. Используйте это для предоставления руководства, специфичного для модели, без редактирования каждого CLAUDE.md, например инструкции на уровне организации, которая применяется на определенных моделях.

3522 

3523PostModelSwitch требует Claude Code v2.1.251 или позже. Он не может блокировать, потому что модель уже изменилась. Claude Code запускает hooks PostModelSwitch после любого из этих изменений:

3524 

3525* Переключение, которое вы или клиент запросили

3526* [Automatic model fallback](/docs/ru/model-config#automatic-model-fallback), которое изменяет модель сеанса

3527* Параметр, такой как [`opusplan`](/docs/ru/model-config#opusplan-model-setting), входящий или выходящий из режима плана

3528* Claude Code восстанавливает модель при возобновлении сеанса

3529 

3530Claude Code не запускает hooks PostModelSwitch, когда модель из [fallback model chain](/docs/ru/model-config#fallback-model-chains) служит ходу, потому что это замещение длится один ход и оставляет модель сеанса неизменной.

3531 

3532Matcher следует тем же правилам, что и [PreModelSwitch](#premodelswitch): Claude Code сравнивает его против канонического имени модели, на которую переключился сеанс.

3533 

3534Этот пример добавляет руководство, когда модель сеанса изменяется на любую модель Opus:

3535 

3536```json theme={null}

3537{

3538 "hooks": {

3539 "PostModelSwitch": [

3540 {

3541 "matcher": ".*opus.*",

3542 "hooks": [

3543 {

3544 "type": "command",

3545 "command": "echo 'On Opus, delegate implementation work to subagents and keep this conversation for planning and review.'"

3546 }

3547 ]

3548 }

3549 ]

3550 }

3551}

3552```

3553 

3554Чтобы подтвердить, что hook работает, переключитесь на модель Opus из сеанса, работающего на другой модели, например запустите `/model opus` из сеанса Sonnet, затем попросите Claude, какое руководство оно имеет о текущей модели.

3555 

3556<h4 id="postmodelswitch-input">

3557 PostModelSwitch input

3558</h4>

3559 

3560Hooks PostModelSwitch получают те же поля, что и [PreModelSwitch](#premodelswitch-input), с `hook_event_name`, установленным на `"PostModelSwitch"`, и двумя дополнительными значениями `source`: `"auto"` для автоматического fallback или другого изменения, которое Claude Code сделал самостоятельно, и `"resume"` для модели, восстановленной при возобновлении сеанса.

3561 

3562`requested_model` имеет значение `null`, когда `source` имеет значение `"auto"`. Когда `source` имеет значение `"resume"`, это сохраненный параметр модели, который Claude Code восстановил.

3563 

3564<h4 id="postmodelswitch-decision-control">

3565 PostModelSwitch decision control

3566</h4>

3567 

3568Claude Code берет ваш вывод hook [plain-text stdout](#exit-code-0) при выходе 0 или `additionalContext` из JSON вывода и доставляет его Claude со следующим запросом после переключения. Помимо [JSON output fields](#json-output), доступных всем hooks, вы можете вернуть:

3569 

3570| Field | Description |

3571| :------------------ | :----------------------------------------------------------------------------------------------------------------- |

3572| `additionalContext` | Строка, добавленная в контекст Claude со следующим запросом. См. [Add context for Claude](#add-context-for-claude) |

3573 

3574Если hook не завершится в течение пяти секунд после отправки следующей подсказки, Claude Code отправляет этот запрос без вывода и прикрепляет его к следующему запросу вместо этого. Если модель изменяется несколько раз перед следующим запросом, Claude Code доставляет только вывод для последнего переключения целевой модели.

2827 3575 

2828<h3 id="sessionend">3576<h3 id="sessionend">

2829 SessionEnd3577 SessionEnd

2830</h3>3578</h3>

2831 3579 

2832Запускается при завершении сеанса Claude Code. Полезно для задач очистки, логирования статистики сеанса или сохранения состояния сеанса. Поддерживает фильтры для фильтрации по причине выхода.3580Запускается, когда сеанс Claude Code заканчивается. Полезно для задач очистки, логирования статистики сеанса или сохранения состояния сеанса. Поддерживает matchers для фильтрации по причине выхода.

2833 3581 

2834Поле `reason` во входных данных hook указывает, почему сеанс закончился:3582Поле `reason` в ввод hook указывает, почему сеанс закончился:

2835 3583 

2836| Причина | Описание |3584| Reason | Description |

2837| :---------------------------- | :------------------------------------------------ |3585| :---------------------------- | :-------------------------------------------------------------------------------------------- |

2838| `clear` | Сеанс очищен с помощью команды `/clear` |3586| `clear` | Сеанс очищен с помощью команды `/clear` |

2839| `resume` | Сеанс переключен через интерактивный `/resume` |3587| `resume` | Сеанс переключен через интерактивный `/resume` |

2840| `logout` | Пользователь вышел |3588| `logout` | Пользователь вышел |

2841| `prompt_input_exit` | Пользователь вышел, пока был виден ввод подсказки |3589| `prompt_input_exit` | Пользователь вышел, пока ввод подсказки был видимым |

2842| `bypass_permissions_disabled` | Режим обхода разрешений был отключен |

2843| `other` | Другие причины выхода |3590| `other` | Другие причины выхода |

3591| `bypass_permissions_disabled` | Удалено в v2.1.234; Claude Code не отправляет его. Удалите его из ваших matchers `SessionEnd` |

2844 3592 

2845<h4 id="sessionend-input">3593<h4 id="sessionend-input">

2846 SessionEnd input3594 SessionEnd input

2847</h4>3595</h4>

2848 3596 

2849В дополнение к [общим полям входа](#common-input-fields), SessionEnd hooks получают поле `reason`, указывающее, почему сеанс закончился. См. таблицу выше для всех значений.3597Помимо [common input fields](#common-input-fields), hooks SessionEnd получают поле `reason`, указывающее, почему сеанс закончился. См. таблицу [reason](#sessionend) выше для всех значений.

2850 3598 

2851```json theme={null}3599```json theme={null}

2852{3600{


2858}3606}

2859```3607```

2860 3608 

2861SessionEnd hooks не имеют управления решением. Они не могут блокировать завершение сеанса, но могут выполнять задачи очистки.3609Hooks SessionEnd не имеют управления решением. Они не могут заблокировать завершение сеанса, но могут выполнять задачи очистки. Claude Code отбрасывает их [JSON output fields](#json-output), такие как `systemMessage`.

3610 

3611Hooks SessionEnd имеют стандартный timeout 1.5 секунды. Он применяется, когда вы выходите, запускаете `/clear` или переключаете сеансы с интерактивным `/resume`. Вы можете дать hook больше времени двумя способами:

3612 

3613* **Per-hook `timeout`**: установите `timeout` в конфигурации этого hook. Общий бюджет автоматически повышается, чтобы совпадать с наивысшим `timeout` для каждого hook в ваших файлах настроек, до 60 секунд. Если вы повышаете бюджет таким образом, hook без своего собственного `timeout` все еще сохраняет стандартный. Timeouts, установленные на hooks, предоставленные plugin, не повышают бюджет.

3614* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`**: установите эту переменную окружения в миллисекундах для явного переопределения бюджета. Значение, которое вы установили, также становится timeout для каждого hook без своего собственного `timeout`.

2862 3615 

2863SessionEnd hooks имеют таймаут по умолчанию 1,5 секунды. Это применяется как к выходу из сеанса, так и к `/clear` и переключению сеансов через интерактивный `/resume`. Если hook нуждается в большем времени, установите поле `timeout` в конфигурации hook. Общий бюджет автоматически повышается до наибольшего per-hook таймаута, настроенного в файлах настроек, до 60 секунд. Таймауты, установленные на hooks, предоставленные плагинами, не повышают бюджет. Чтобы явно переопределить бюджет, установите переменную окружения `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` в миллисекундах.3616Этот пример устанавливает бюджет на 5 секунд:

2864 3617 

2865```bash theme={null}3618```bash theme={null}

2866CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude3619CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude

2867```3620```

2868 3621 

3622До версии 2.1.268, `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` повышал только общий бюджет, и hook без своего собственного `timeout` все еще отменялся после 1.5 секунды.

3623 

2869<h3 id="elicitation">3624<h3 id="elicitation">

2870 Elicitation3625 Elicitation

2871</h3>3626</h3>

2872 3627 

2873Запускается, когда MCP сервер запрашивает ввод пользователя во время выполнения задачи. По умолчанию Claude Code показывает интерактивный диалог для ответа пользователя. Hooks могут перехватить этот запрос и ответить программно, полностью пропустив диалог.3628Запускается, когда сервер MCP запрашивает ввод пользователя во время задачи. По умолчанию Claude Code показывает интерактивный диалог для ответа пользователя. Hooks могут перехватить этот запрос и ответить программно, полностью пропустив диалог.

2874 3629 

2875Поле фильтра совпадает с именем MCP сервера.3630Поле matcher совпадает с именем сервера MCP.

2876 3631 

2877<h4 id="elicitation-input">3632<h4 id="elicitation-input">

2878 Elicitation input3633 Elicitation input

2879</h4>3634</h4>

2880 3635 

2881В дополнение к [общим полям входа](#common-input-fields), Elicitation hooks получают `mcp_server_name`, `message` и опциональные `mode`, `url`, `elicitation_id` и `requested_schema` поля.3636Помимо [common input fields](#common-input-fields), hooks Elicitation получают `mcp_server_name`, `message` и опциональные поля `mode`, `url`, `elicitation_id` и `requested_schema`.

2882 3637 

2883Для form-mode elicitation (наиболее распространённый случай):3638Для запроса в режиме формы, наиболее распространенный случай:

2884 3639 

2885```json theme={null}3640```json theme={null}

2886{3641{

2887 "session_id": "abc123",3642 "session_id": "abc123",

2888 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3643 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2889 "cwd": "/Users/...",3644 "cwd": "/Users/...",

2890 "permission_mode": "default",

2891 "hook_event_name": "Elicitation",3645 "hook_event_name": "Elicitation",

2892 "mcp_server_name": "my-mcp-server",3646 "mcp_server_name": "my-mcp-server",

2893 "message": "Please provide your credentials",3647 "message": "Please provide your credentials",


2901}3655}

2902```3656```

2903 3657 

2904Для URL-mode elicitation (аутентификация на основе браузера):3658Для запроса в режиме URL, используемого для аутентификации на основе браузера:

2905 3659 

2906```json theme={null}3660```json theme={null}

2907{3661{

2908 "session_id": "abc123",3662 "session_id": "abc123",

2909 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3663 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2910 "cwd": "/Users/...",3664 "cwd": "/Users/...",

2911 "permission_mode": "default",

2912 "hook_event_name": "Elicitation",3665 "hook_event_name": "Elicitation",

2913 "mcp_server_name": "my-mcp-server",3666 "mcp_server_name": "my-mcp-server",

2914 "message": "Please authenticate",3667 "message": "Please authenticate",


2935}3688}

2936```3689```

2937 3690 

2938| Поле | Значения | Описание |3691| Field | Values | Description |

2939| :-------- | :---------------------------- | :----------------------------------------------------------------------------------- |3692| :-------- | :---------------------------- | :--------------------------------------------------------------------------------------------- |

2940| `action` | `accept`, `decline`, `cancel` | Принять, отклонить или отменить запрос |3693| `action` | `accept`, `decline`, `cancel` | Принять ли, отклонить или отменить запрос |

2941| `content` | object | Значения полей формы для отправки. Используется только когда `action` равен `accept` |3694| `content` | object | Значения полей формы для отправки. Используется только, когда `action` имеет значение `accept` |

2942 3695 

2943Exit code 2 отклоняет elicitation и показывает stderr пользователю.3696Выход 2 отклоняет запрос. Claude Code не показывает ваше сообщение stderr нигде.

3697 

3698Claude Code действует на `hookSpecificOutput` из JSON вывода hook Elicitation и отбрасывает `systemMessage` и `continue`.

2944 3699 

2945<h3 id="elicitationresult">3700<h3 id="elicitationresult">

2946 ElicitationResult3701 ElicitationResult

2947</h3>3702</h3>

2948 3703 

2949Запускается после ответа пользователя на MCP elicitation. Hooks могут наблюдать, изменять или блокировать ответ перед его отправкой обратно на MCP сервер.3704Запускается после ответа пользователя на запрос MCP. Hooks могут наблюдать, изменять или блокировать ответ перед его отправкой обратно на сервер MCP.

2950 3705 

2951Поле фильтра совпадает с именем MCP сервера.3706Поле matcher совпадает с именем сервера MCP.

2952 3707 

2953<h4 id="elicitationresult-input">3708<h4 id="elicitationresult-input">

2954 ElicitationResult input3709 ElicitationResult input

2955</h4>3710</h4>

2956 3711 

2957В дополнение к [общим полям входа](#common-input-fields), ElicitationResult hooks получают `mcp_server_name`, `action` и опциональные `mode`, `elicitation_id` и `content` поля.3712Помимо [common input fields](#common-input-fields), hooks ElicitationResult получают `mcp_server_name`, `action` и опциональные поля `mode`, `elicitation_id` и `content`.

2958 3713 

2959```json theme={null}3714```json theme={null}

2960{3715{

2961 "session_id": "abc123",3716 "session_id": "abc123",

2962 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3717 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2963 "cwd": "/Users/...",3718 "cwd": "/Users/...",

2964 "permission_mode": "default",

2965 "hook_event_name": "ElicitationResult",3719 "hook_event_name": "ElicitationResult",

2966 "mcp_server_name": "my-mcp-server",3720 "mcp_server_name": "my-mcp-server",

2967 "action": "accept",3721 "action": "accept",


2987}3741}

2988```3742```

2989 3743 

2990| Поле | Значения | Описание |3744| Field | Values | Description |

2991| :-------- | :---------------------------- | :------------------------------------------------------------------------------------ |3745| :-------- | :---------------------------- | :---------------------------------------------------------------------------------------------- |

2992| `action` | `accept`, `decline`, `cancel` | Переопределяет действие пользователя |3746| `action` | `accept`, `decline`, `cancel` | Переопределяет действие пользователя |

2993| `content` | object | Переопределяет значения полей формы. Имеет смысл только когда `action` равен `accept` |3747| `content` | object | Переопределяет значения полей формы. Имеет смысл только, когда `action` имеет значение `accept` |

2994 3748 

2995Exit code 2 блокирует ответ, изменяя эффективное действие на `decline`.3749Выход 2 блокирует ответ, изменяя эффективное действие на `decline`. Claude Code не показывает ваше сообщение stderr нигде.

3750 

3751Claude Code действует на `hookSpecificOutput` из JSON вывода hook ElicitationResult и отбрасывает `systemMessage` и `continue`.

2996 3752 

2997<h2 id="prompt-based-hooks">3753<h2 id="prompt-based-hooks">

2998 Prompt-based hooks3754 Prompt-based hooks


3020 3776 

3021* `ConfigChange`3777* `ConfigChange`

3022* `CwdChanged`3778* `CwdChanged`

3779* `DirectoryAdded`

3023* `Elicitation`3780* `Elicitation`

3024* `ElicitationResult`3781* `ElicitationResult`

3025* `FileChanged`3782* `FileChanged`

3026* `InstructionsLoaded`3783* `InstructionsLoaded`

3784* `MessageDisplay`

3027* `Notification`3785* `Notification`

3028* `PostCompact`3786* `PostCompact`

3787* `PostModelSwitch`

3029* `PreCompact`3788* `PreCompact`

3789* `PreModelSwitch`

3030* `SessionEnd`3790* `SessionEnd`

3031* `StopFailure`3791* `StopFailure`

3032* `SubagentStart`3792* `SubagentStart`

3033* `WorktreeCreate`3793* `WorktreeCreate`

3034* `WorktreeRemove`3794* `WorktreeRemove`

3035 3795 

3036`SessionStart` и `Setup` поддерживают `command` и `mcp_tool` hooks. Они не поддерживают `http`, `prompt` или `agent` hooks.3796`SessionStart` и `Setup` поддерживают `command` и `mcp_tool` hooks, и [MCP tool hook fields](#mcp-tool-hook-fields) описывает, когда их `mcp_tool` hooks запускаются. Они не поддерживают `http`, `prompt` или `agent` hooks.

3037 3797 

3038<h3 id="how-prompt-based-hooks-work">3798<h3 id="how-prompt-based-hooks-work">

3039 How prompt-based hooks work3799 How prompt-based hooks work


3049 Prompt hook configuration3809 Prompt hook configuration

3050</h3>3810</h3>

3051 3811 

3052Установите `type` на `"prompt"` и предоставьте строку `prompt` вместо `command`. Используйте заполнитель `$ARGUMENTS` для внедрения данных JSON входа hook в текст вашей подсказки. Claude Code отправляет объединённую подсказку и входные данные быстрой модели Claude, которая возвращает JSON решение.3812Установите `type` на `"prompt"` и предоставьте строку `prompt` вместо `command`. Используйте заполнитель `$ARGUMENTS` для внедрения данных JSON входа hook в текст вашей подсказки.

3053 3813 

3054Этот hook `Stop` просит LLM оценить, должен ли Claude остановиться перед разрешением Claude закончить:3814Этот hook `Stop` просит LLM оценить, должен ли Claude остановиться перед разрешением Claude закончить:

3055 3815 


3071```3831```

3072 3832 

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

3074| :---------------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3834| :---------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3075| `type` | да | Должно быть `"prompt"` |3835| `type` | да | Должно быть `"prompt"` |

3076| `prompt` | да | Текст подсказки для отправки LLM. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook. Если `$ARGUMENTS` отсутствует, JSON входа добавляется к подсказке |3836| `prompt` | да | Текст подсказки для отправки LLM. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook. Если `$ARGUMENTS` отсутствует, JSON входа добавляется к подсказке |

3077| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |3837| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |

3078| `timeout` | нет | Таймаут в секундах. По умолчанию: 30 |3838| `timeout` | нет | Таймаут в секундах. По умолчанию: 30 |

3079| `continueOnBlock` | нет | Когда подсказка возвращает `ok: false`, передайте причину обратно Claude и продолжите ход вместо остановки. По умолчанию: `false`. Реализуется как `continue: true` на результирующем `decision: "block"`. См. [Response schema](#response-schema) для поведения для каждого события |3839| `continueOnBlock` | нет | На событиях, к которым это применяется, `true` передаёт причину `ok: false` обратно Claude и продолжает вместо завершения хода. По умолчанию: `false`. См. [Response schema](#response-schema) для поведения для каждого события |

3080 3840 

3081<h3 id="response-schema">3841<h3 id="response-schema">

3082 Response schema3842 Response schema


3087```json theme={null}3847```json theme={null}

3088{3848{

3089 "ok": true | false,3849 "ok": true | false,

3090 "reason": "Explanation for the decision"3850 "reason": "Explanation for the decision",

3851 "impossible": true | false

3091}3852}

3092```3853```

3093 3854 

3094| Поле | Описание |3855| Поле | Описание |

3095| :------- | :-------------------------------------------------------------------------------------------------------- |3856| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

3096| `ok` | `true` разрешает действие. `false` производит `decision: "block"`. См. поведение для каждого события ниже |3857| `ok` | `true` разрешает действие. Для `false`, см. поведение для каждого события ниже |

3097| `reason` | Требуется при `ok` равном `false`. Используется как причина блокировки |3858| `reason` | Требуется при `ok` равном `false` |

3859| `impossible` | Опционально. Модель возвращает его с `ok: false`, когда она судит, что условие никогда не может быть удовлетворено. На `Stop` и `SubagentStop`, Claude Code затем позволяет ходу закончиться вместо передачи причины обратно. Agent hooks и другие события игнорируют его |

3098 3860 

3099Что происходит при `ok: false`, зависит от события:3861Что происходит при `ok: false`, зависит от события:

3100 3862 

3101* `Stop` и `SubagentStop`: причина передаётся обратно Claude как его следующая инструкция и ход продолжается3863* `Stop` и `SubagentStop`: причина передаётся обратно Claude как его следующая инструкция и ход продолжается, если только ответ также не устанавливает `impossible: true`, в этом случае Claude Code позволяет остановке и ход заканчивается

3102* `PreToolUse`: вызов инструмента отклоняется и причина возвращается Claude как ошибка инструмента, эквивалентно `permissionDecision: "deny"` из command hook3864* `PreToolUse`: вызов инструмента отклоняется; по умолчанию ход заканчивается и причина отказа появляется в чате как строка предупреждения. Установите `continueOnBlock: true` для возврата причины Claude как ошибки инструмента, чтобы он мог скорректировать и продолжить, эквивалентно `permissionDecision: "deny"` из command hook. До v2.1.210 причина отказа возвращалась Claude как ошибка инструмента и ход продолжался

3103* `PostToolUse`: по умолчанию ход заканчивается и причина появляется в чате как строка предупреждения. Установите `continueOnBlock: true` для передачи причины обратно Claude и продолжения хода вместо этого3865* `PostToolUse`: по умолчанию ход заканчивается и причина появляется в чате как строка предупреждения. Установите `continueOnBlock: true` для передачи причины обратно Claude и продолжения хода вместо этого

3104* `PostToolBatch`, `UserPromptSubmit` и `UserPromptExpansion`: ход заканчивается и причина появляется как строка предупреждения. Эти события заканчивают ход на `decision: "block"` независимо от `continue`3866* `PostToolBatch`, `UserPromptSubmit` и `UserPromptExpansion`: ход заканчивается и причина появляется как строка предупреждения. Эти события заканчивают ход на `decision: "block"` независимо от `continue`

3105* `PostToolUseFailure`, `TaskCreated` и `TaskCompleted`: причина возвращается Claude как ошибка инструмента, аналогично `PreToolUse`3867* `PostToolUseFailure` и `TaskCreated`: причина возвращается Claude как ошибка инструмента и ход продолжается, независимо от `continueOnBlock`

3868* `TaskCompleted`: когда он срабатывает, потому что задача отмечена как завершённая во время хода, причина возвращается Claude как ошибка инструмента и ход продолжается, независимо от `continueOnBlock`. Когда он срабатывает, потому что товарищ по команде останавливается, он ведёт себя как `TeammateIdle` и останавливает товарища по команде по умолчанию

3106* `TeammateIdle`: по умолчанию товарищ по команде останавливается и причина появляется как строка предупреждения. Установите `continueOnBlock: true` для передачи причины обратно товарищу по команде и продолжения его работы вместо этого3869* `TeammateIdle`: по умолчанию товарищ по команде останавливается и причина появляется как строка предупреждения. Установите `continueOnBlock: true` для передачи причины обратно товарищу по команде и продолжения его работы вместо этого

3107* `PermissionRequest`: `ok: false` не имеет эффекта. Чтобы отклонить одобрение из hook, используйте [command hook](#command-hook-fields), возвращающий `hookSpecificOutput.decision.behavior: "deny"`3870* `PermissionRequest`: `ok: false` не имеет эффекта. Чтобы отклонить одобрение из hook, используйте [command hook](#command-hook-fields), возвращающий `hookSpecificOutput.decision.behavior: "deny"`

3108* `PermissionDenied`: `ok: false` не имеет эффекта, потому что отказ уже произошёл. Единственный результат, который это событие читает, это `hookSpecificOutput.retry`, который prompt и agent hooks не могут установить. Они запускаются на этом событии, но их результат отбрасывается. Используйте [command hook](#command-hook-fields) для возврата `retry`3871* `PermissionDenied`: `ok: false` не имеет эффекта, потому что отказ уже произошёл. Единственный результат, который это событие читает, это `hookSpecificOutput.retry`, который prompt и agent hooks не могут установить. Они запускаются на этом событии, но их результат отбрасывается. Используйте [command hook](#command-hook-fields) для возврата `retry`


3113 Check multiple conditions before stopping3876 Check multiple conditions before stopping

3114</h3>3877</h3>

3115 3878 

3116Этот hook `Stop` использует подробную подсказку для проверки трёх условий перед разрешением Claude остановиться. Hooks `SubagentStop` используют тот же формат для оценки, должен ли [subagent](/docs/ru/sub-agents) остановиться. Если `"ok"` равно `false`, Claude продолжает работать с предоставленной причиной как своей следующей инструкцией:3879Этот hook `Stop` использует подробную подсказку для проверки трёх условий перед разрешением Claude остановиться. Hooks `SubagentStop` используют тот же формат для оценки, должен ли [subagent](/docs/ru/sub-agents) остановиться. Если модель возвращает `"ok": false`, потому что условие ещё не выполнено, Claude продолжает работать с предоставленной причиной как своей следующей инструкцией:

3117 3880 

3118```json theme={null}3881```json theme={null}

3119{3882{


31521. Claude Code порождает subagent с вашей подсказкой и JSON входом hook39151. Claude Code порождает subagent с вашей подсказкой и JSON входом hook

31532. Subagent может использовать инструменты, такие как Read, Grep и Glob, для исследования39162. Subagent может использовать инструменты, такие как Read, Grep и Glob, для исследования

31543. После до 50 оборотов subagent возвращает структурированное решение `{ "ok": true/false }`39173. После до 50 оборотов subagent возвращает структурированное решение `{ "ok": true/false }`

31554. Claude Code обрабатывает решение так же, как prompt hook39184. Claude Code разрешает действие, если `ok` имеет значение `true`. Если `ok` имеет значение `false`, Claude Code обрабатывает блокировку так же, как prompt hook с `continueOnBlock: true` на этом событии, как указано в разделе [Response schema](#response-schema)

3156 3919 

3157Agent hooks полезны, когда проверка требует проверки фактических файлов или выхода тестов, а не только оценки данных входа hook.3920Agent hooks полезны, когда проверка требует проверки фактических файлов или выхода тестов, а не только оценки данных входа hook.

3158 3921 


3160 Agent hook configuration3923 Agent hook configuration

3161</h3>3924</h3>

3162 3925 

3163Установите `type` на `"agent"` и предоставьте строку `prompt`. Поля конфигурации те же, что и [prompt hooks](#prompt-hook-configuration), с более длинным таймаутом по умолчанию:3926Установите `type` на `"agent"` и предоставьте строку `prompt`, используя `$ARGUMENTS` как заполнитель для JSON входа hook. Поля конфигурации те же, что и [prompt hooks](#prompt-hook-configuration), за исключением того, что agent hooks имеют более длинный таймаут по умолчанию в 60 секунд и не имеют поля `continueOnBlock`.

3164 

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

3166| :-------- | :---------- | :-------------------------------------------------------------------------------------------------- |

3167| `type` | да | Должно быть `"agent"` |

3168| `prompt` | да | Подсказка, описывающая, что проверять. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook |

3169| `model` | нет | Модель для использования. По умолчанию быстрая модель |

3170| `timeout` | нет | Таймаут в секундах. По умолчанию: 60 |

3171 3927 

3172Схема ответа та же, что и prompt hooks: `{ "ok": true }` для разрешения или `{ "ok": false, "reason": "..." }` для блокировки.3928Схема ответа — это `{ "ok": true }` для разрешения или `{ "ok": false, "reason": "..." }` для блокировки. При `ok: false`, Claude Code обрабатывает agent hook так же, как он обрабатывает [prompt hook с `continueOnBlock: true`](#response-schema) на том же событии; agent hooks не имеют поля `continueOnBlock` и не поддерживают поле `impossible` из prompt hook.

3173 3929 

3174Этот hook `Stop` проверяет, что все модульные тесты проходят перед разрешением Claude закончить:3930Этот hook `Stop` проверяет, что все модульные тесты проходят перед разрешением Claude закончить:

3175 3931 


3203 3959 

3204Добавьте `"async": true` к конфигурации command hook для запуска его в фоне без блокировки Claude. Это поле доступно только на hooks `type: "command"`.3960Добавьте `"async": true` к конфигурации command hook для запуска его в фоне без блокировки Claude. Это поле доступно только на hooks `type: "command"`.

3205 3961 

3206Этот hook запускает скрипт тестирования после каждого вызова инструмента `Write`. Claude продолжает работать немедленно, пока `run-tests.sh` выполняется до 120 секунд. Когда скрипт завершается, его выход доставляется на следующий ход разговора:3962Этот hook запускает скрипт тестирования после каждого вызова инструмента `Write`. Claude продолжает работать немедленно, пока `run-tests.sh` выполняется. Когда скрипт завершается, его выход доставляется на следующий ход разговора:

3207 3963 

3208```json theme={null}3964```json theme={null}

3209{3965{


3215 {3971 {

3216 "type": "command",3972 "type": "command",

3217 "command": "/path/to/run-tests.sh",3973 "command": "/path/to/run-tests.sh",

3218 "async": true,3974 "async": true

3219 "timeout": 120

3220 }3975 }

3221 ]3976 ]

3222 }3977 }


3225}3980}

3226```3981```

3227 3982 

3228Поле `timeout` устанавливает максимальное время в секундах для фонового процесса. Если не указано, асинхронные hooks используют тот же 10-минутный таймаут по умолчанию, что и синхронные hooks.3983Как только асинхронный hook запущен в фоне, Claude Code не применяет `timeout` к нему. Claude Code по-прежнему применяет `timeout` к hook, который вы запускаете с `asyncRewake`.

3984 

3985Claude Code доставляет результаты асинхронного hook только во время работы сеанса:

3986 

3987* В [неинтерактивном режиме](/docs/ru/headless) с флагом `-p` Claude Code завершает любой асинхронный hook, который всё ещё работает при завершении, и завершает его с результатом `cancelled`

3988* Если работа вашего hook должна пережить сеанс `claude -p`, запустите полностью отделённый процесс из него

3229 3989 

3230<h3 id="how-async-hooks-execute">3990<h3 id="how-async-hooks-execute">

3231 Как выполняются асинхронные hooks3991 Как выполняются асинхронные hooks


3233 3993 

3234Когда срабатывает асинхронный hook, Claude Code запускает процесс hook и немедленно продолжает без ожидания его завершения. Hook получает те же JSON входные данные через stdin, что и синхронный hook.3994Когда срабатывает асинхронный hook, Claude Code запускает процесс hook и немедленно продолжает без ожидания его завершения. Hook получает те же JSON входные данные через stdin, что и синхронный hook.

3235 3995 

3236После выхода фонового процесса, если hook произвёл JSON ответ с полем `additionalContext`, это содержимое доставляется Claude как контекст на следующем ходу разговора. Поле `systemMessage` показывается вам, а не Claude.3996После выхода фонового процесса Claude Code доставляет поля `additionalContext` и `systemMessage` из JSON ответа hook к Claude на следующем ходу разговора. В отличие от `systemMessage` синхронного hook, ни одно из этих полей не показывается вам.

3237 3997 

3238Claude Code проверяет, что JSON ответ соответствует той же [схеме выходных данных](#json-output), что и синхронные hooks, и отбрасывает любое поле, значение которого имеет неправильный тип, например `systemMessage`, который не является строкой, вместо его доставки. Запустите с `--debug` для просмотра предупреждения, называющего каждое отброшенное поле. До версии v2.1.202 неправильно сформированный JSON выход из асинхронного hook мог привести к сбою сеанса, и сбой повторялся каждый раз при возобновлении сеанса.3998Claude Code проверяет, что JSON ответ соответствует той же [схеме выходных данных](#json-output), что и синхронные hooks, и отбрасывает любое поле, значение которого имеет неправильный тип, например `systemMessage`, который не является строкой, вместо его доставки. Запустите с `--debug` для просмотра предупреждения, называющего каждое отброшенное поле. До версии v2.1.202 неправильно сформированный JSON выход из асинхронного hook мог привести к сбою сеанса, и сбой повторялся каждый раз при возобновлении сеанса.

3239 3999 


3283 "type": "command",4043 "type": "command",

3284 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/run-tests-async.sh",4044 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/run-tests-async.sh",

3285 "args": [],4045 "args": [],

3286 "async": true,4046 "async": true

3287 "timeout": 300

3288 }4047 }

3289 ]4048 ]

3290 }4049 }


3297 Ограничения4056 Ограничения

3298</h3>4057</h3>

3299 4058 

3300Асинхронные hooks имеют несколько ограничений по сравнению с синхронными hooks:4059Асинхронные hooks имеют дополнительные ограничения по сравнению с синхронными hooks:

3301 4060 

3302* Только hooks `type: "command"` поддерживают `async`. Prompt-based hooks не могут запускаться асинхронно.

3303* Асинхронные hooks не могут блокировать вызовы инструментов или возвращать решения. К моменту завершения hook действие, вызвавшее его, уже произошло.

3304* Выход hook доставляется на следующий ход разговора. Если сеанс неактивен, ответ ждёт до следующего взаимодействия пользователя. Исключение: hook `asyncRewake`, который выходит с кодом 2, пробуждает Claude немедленно даже когда сеанс неактивен.4061* Выход hook доставляется на следующий ход разговора. Если сеанс неактивен, ответ ждёт до следующего взаимодействия пользователя. Исключение: hook `asyncRewake`, который выходит с кодом 2, пробуждает Claude немедленно даже когда сеанс неактивен.

3305* Каждое выполнение создаёт отдельный фоновый процесс. Нет дедупликации между несколькими срабатываниями одного и того же асинхронного hook.4062* Каждое выполнение создаёт отдельный фоновый процесс. Нет дедупликации между несколькими срабатываниями одного и того же асинхронного hook.

3306 4063 


3312 Отказ от ответственности4069 Отказ от ответственности

3313</h3>4070</h3>

3314 4071 

3315Command hooks запускаются с полными разрешениями системного пользователя.

3316 

3317<Warning>4072<Warning>

3318 Command hooks выполняют команды оболочки с вашими полными разрешениями пользователя. Они могут изменять, удалять или получать доступ к любым файлам, к которым может получить доступ ваша учётная запись пользователя. Проверьте и протестируйте все команды hook перед добавлением их в вашу конфигурацию.4073 Command hooks выполняют команды оболочки с вашими полными разрешениями пользователя. Они могут изменять, удалять или получать доступ к любым файлам, к которым может получить доступ ваша учётная запись пользователя. Проверьте и протестируйте все команды hook перед добавлением их в вашу конфигурацию.

3319</Warning>4074</Warning>

3320 4075 

4076<h3 id="workspace-trust">

4077 Доверие рабочей области

4078</h3>

4079 

4080Claude Code проверяет доверие рабочей области перед запуском любого hook из файла параметров. Что считается доверенным, зависит от типа сеанса:

4081 

4082* **Интерактивный сеанс**: Claude Code удерживает hooks из каждого файла параметров, включая ваш собственный `~/.claude/settings.json`, пока вы не примете [диалог доверия рабочей области](/docs/ru/permissions#project-allow-rules-and-workspace-trust) для папки или для родительского каталога, чьё доверие распространяется на неё

4083* **Сеанс `-p` или SDK**: Claude Code никогда не показывает диалог и рассматривает папку как доверенную, поэтому hooks, зафиксированные в `.claude/settings.json` репозитория, запускаются в папке, которой вы никогда не доверяли

4084 

4085Перед тем как запустить `claude -p` над репозиторием, который вы не писали, проверьте его файлы параметров `.claude/`, начните с [`--bare`](/docs/ru/headless#start-faster-with-bare-mode) или [отключите hooks для этого запуска](#disable-or-remove-hooks) с помощью `--settings '{"disableAllHooks": true}'`. Frontmatter hooks в проектном подагенте следуют более строгому правилу, чем hooks файлов параметров. [Что запускается перед доверием папке](/docs/ru/permissions#what-runs-before-you-trust-a-folder) перечисляет каждый вид содержимого репозитория по типу сеанса.

4086 

3321<h3 id="security-best-practices">4087<h3 id="security-best-practices">

3322 Лучшие практики безопасности4088 Лучшие практики безопасности

3323</h3>4089</h3>


3334 Windows PowerShell tool4100 Windows PowerShell tool

3335</h2>4101</h2>

3336 4102 

3337На Windows вы можете запустить отдельные hooks в PowerShell, установив `"shell": "powershell"` на command hook. Hooks порождают PowerShell напрямую, поэтому это работает независимо от того, установлен ли `CLAUDE_CODE_USE_POWERSHELL_TOOL`. Claude Code автоматически обнаруживает `pwsh.exe`, исполняемый файл PowerShell 7 и более поздних версий, и переходит на `powershell.exe` для Windows PowerShell 5.1.4103На Windows вы можете запустить отдельные hooks в PowerShell, установив `"shell": "powershell"` на command hook. Claude Code автоматически обнаруживает `pwsh.exe`, исполняемый файл PowerShell 7 и более поздних версий, и переходит на `powershell.exe` для Windows PowerShell 5.1.

3338 4104 

3339```json theme={null}4105```json theme={null}

3340{4106{


3375 Debug hooks4141 Debug hooks

3376</h2>4142</h2>

3377 4143 

3378Детали выполнения hooks, включая информацию о том, какие hooks совпали, их коды выхода и полный stdout и stderr, записываются в файл отладочного журнала. Запустите Claude Code с `claude --debug-file <path>` для записи журнала в известное расположение, или запустите `claude --debug` и прочитайте журнал в `~/.claude/debug/<session-id>.txt`. Флаг `--debug` не выводит на терминал.4144Детали выполнения hooks записываются в файл отладочного журнала. Запустите Claude Code с `claude --debug-file <path>` для записи журнала в известное расположение, или запустите `claude --debug` и прочитайте журнал в `~/.claude/debug/<session-id>.txt`. Флаг `--debug` не выводит на терминал.

4145 

4146Например, hook `PostToolUse` на `Write`, чья команда выводит `hook-ran`, создаёт записи вроде:

3379 4147 

3380```text theme={null}4148```text theme={null}

3381[DEBUG] Executing hooks for PostToolUse:Write41492026-07-19T02:03:24.382Z [DEBUG] Hook output does not start with {, treating as plain text

3382[DEBUG] Found 1 hook commands to execute41502026-07-19T02:03:24.382Z [DEBUG] "Hook PostToolUse:Write (PostToolUse) success:\nhook-ran"

3383[DEBUG] Executing hook command: <Your command> with timeout 600000ms

3384[DEBUG] Hook command completed with status 0: <Your stdout>

3385```4151```

3386 4152 

3387Для более детальной информации о совпадении hooks установите `CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` для просмотра дополнительных строк логирования, таких как количество совпадений фильтра hook и совпадение запроса.4153Для более детальной информации о совпадении hooks установите `CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` для просмотра дополнительных строк логирования, таких как количество совпадений фильтра hook и совпадение запроса.

3388 4154 

3389Для устранения неполадок распространённых проблем, таких как hooks, которые не срабатывают, бесконечные циклы Stop hook или ошибки конфигурации, см. [Limitations and troubleshooting](/docs/ru/hooks-guide#limitations-and-troubleshooting) в руководстве. Для более широкого диагностического пошагового руководства, охватывающего `/context`, `/doctor` и приоритет параметров, см. [Debug your config](/docs/ru/debug-your-config).4155Для устранения неполадок распространённых проблем, таких как hooks, которые не срабатывают, Stop hooks, которые продолжают блокировать, или ошибки конфигурации, см. [Limitations and troubleshooting](/docs/ru/hooks-guide#limitations-and-troubleshooting) в руководстве. Для более широкого диагностического пошагового руководства, охватывающего `/context`, `/doctor` и приоритет параметров, см. [Debug your config](/docs/ru/debug-your-config).

Details

76* **Вашему проекту.** Файлы в вашем каталоге и подкаталогах, а также файлы в других местах с вашего разрешения.76* **Вашему проекту.** Файлы в вашем каталоге и подкаталогах, а также файлы в других местах с вашего разрешения.

77* **Вашему терминалу.** Любой команде, которую вы можете запустить: инструменты сборки, git, менеджеры пакетов, системные утилиты, скрипты. Если вы можете это сделать из командной строки, Claude тоже может.77* **Вашему терминалу.** Любой команде, которую вы можете запустить: инструменты сборки, git, менеджеры пакетов, системные утилиты, скрипты. Если вы можете это сделать из командной строки, Claude тоже может.

78* **Вашему состоянию git.** Текущей ветке, незафиксированным изменениям и истории недавних коммитов.78* **Вашему состоянию git.** Текущей ветке, незафиксированным изменениям и истории недавних коммитов.

79* **Вашему [CLAUDE.md](/docs/ru/memory).** Файл markdown, где вы храните инструкции, специфичные для проекта, соглашения и контекст, который Claude должен знать в каждом сеансе.79* **Вашему [CLAUDE.md](/docs/ru/memory).** Файл markdown, где вы храните инструкции, специфичные для проекта, соглашения и контекст, который Claude должен знать в каждом сеансе. Если ваш репозиторий содержит AGENTS.md для других агентов кодирования, Claude [может прочитать это](/docs/ru/memory#agents-md) самостоятельно или вместе с CLAUDE.md.

80* **[Автоматической памяти](/docs/ru/memory#auto-memory).** Обучение, которое Claude сохраняет автоматически по мере работы, например ваши предпочтения. Первые 200 строк или 25 КБ MEMORY.md, в зависимости от того, что меньше, загружаются в начале каждого сеанса.80* **[Автоматической памяти](/docs/ru/memory#auto-memory).** Обучение, которое Claude сохраняет автоматически по мере работы, например ваши предпочтения. Первые 200 строк или 25 КБ MEMORY.md, в зависимости от того, что меньше, загружаются в начале каждого сеанса.

81* **Расширениям, которые вы настраиваете.** [MCP servers](/docs/ru/mcp) для внешних сервисов, [skills](/docs/ru/skills) для рабочих процессов, [subagents](/docs/ru/sub-agents) для делегированной работы и [Claude в Chrome](/docs/ru/chrome) для взаимодействия с браузером.81* **Расширениям, которые вы настраиваете.** [MCP servers](/docs/ru/mcp) для внешних сервисов, [skills](/docs/ru/skills) для рабочих процессов, [subagents](/docs/ru/sub-agents) для делегированной работы и [Claude в Chrome](/docs/ru/chrome) для взаимодействия с браузером.

82 82 


86 Среды и интерфейсы86 Среды и интерфейсы

87</h2>87</h2>

88 88 

89Агентивный цикл, инструменты и возможности, описанные выше, одинаковы везде, где вы используете Claude Code. Что меняется, так это то, где выполняется код и как вы с ним взаимодействуете.89[Агентивный цикл](#the-agentic-loop), [инструменты](#tools) и возможности одинаковы везде, где вы используете Claude Code. Что меняется, так это то, где выполняется код и как вы с ним взаимодействуете.

90 90 

91<h3 id="execution-environments">91<h3 id="execution-environments">

92 Среды выполнения92 Среды выполнения

Details

615 615 

616* **Перейти к файлу**: нажмите на его строку в списке. Прокручивайте панель колесом мыши. Когда сам список файлов слишком длинный, чтобы поместиться, прокручивайте его с помощью `Alt+Up` и `Alt+Down`, или `Ctrl+Up` и `Ctrl+Down`.616* **Перейти к файлу**: нажмите на его строку в списке. Прокручивайте панель колесом мыши. Когда сам список файлов слишком длинный, чтобы поместиться, прокручивайте его с помощью `Alt+Up` и `Alt+Down`, или `Ctrl+Up` и `Ctrl+Down`.

617* **Попросить Claude прокомментировать конкретные строки**: выберите их в панели мышью. Claude Code прикрепляет выделение к вашему следующему приглашению и показывает количество строк рядом с вводом, пока вы его не отправите.617* **Попросить Claude прокомментировать конкретные строки**: выберите их в панели мышью. Claude Code прикрепляет выделение к вашему следующему приглашению и показывает количество строк рядом с вводом, пока вы его не отправите.

618 * Чтобы отправить приглашение без выделения, переместите курсор сразу после индикатора количества строк и нажмите `Backspace`, чтобы удалить его. Требуется Claude Code версии 2.1.271 или позже.

618* **Показать файлы, которые панель пропускает**: список пропускает тестовые файлы и сгенерированные файлы и сворачивает изменения с предыдущего сеанса в одну строку внизу. Нажмите на любую строку счётчика, чтобы развернуть её.619* **Показать файлы, которые панель пропускает**: список пропускает тестовые файлы и сгенерированные файлы и сворачивает изменения с предыдущего сеанса в одну строку внизу. Нажмите на любую строку счётчика, чтобы развернуть её.

619* **Изменить, с чем панель сравнивает**: нажмите `Ctrl+X B`, чтобы переключаться между изменениями этого сеанса, вашими незафиксированными изменениями как одним списком и всем, что было с момента разветвления вашей ветки от ветки по умолчанию. Claude Code запоминает выбор для каждого проекта.620* **Изменить, с чем панель сравнивает**: нажмите `Ctrl+X B`, чтобы переключаться между изменениями этого сеанса, вашими незафиксированными изменениями как одним списком и всем, что было с момента разветвления вашей ветки от ветки по умолчанию. Claude Code запоминает выбор для каждого проекта.

620 621 


650В [панели чата расширения VS Code](/docs/ru/vs-code#use-the-prompt-box) `/btw` открывает панель вместо оверлея, описанного в этом разделе, и вы задаёте дополнительные вопросы прямо в панели. Поток панели сохраняется при перезагрузке окна согласно графику хранения, описанному на этой странице. Вам нужно расширение версии 2.1.227 или позже. Более ранние версии расширения не предлагают `/btw`.651В [панели чата расширения VS Code](/docs/ru/vs-code#use-the-prompt-box) `/btw` открывает панель вместо оверлея, описанного в этом разделе, и вы задаёте дополнительные вопросы прямо в панели. Поток панели сохраняется при перезагрузке окна согласно графику хранения, описанному на этой странице. Вам нужно расширение версии 2.1.227 или позже. Более ранние версии расширения не предлагают `/btw`.

651 652 

652* **Доступно во время работы Claude**: вы можете запустить `/btw` даже во время обработки Claude ответа. Боковой вопрос выполняется независимо и не прерывает основной ход. Он видит всё в разговоре до сих пор, кроме ответа, который Claude ещё пишет.653* **Доступно во время работы Claude**: вы можете запустить `/btw` даже во время обработки Claude ответа. Боковой вопрос выполняется независимо и не прерывает основной ход. Он видит всё в разговоре до сих пор, кроме ответа, который Claude ещё пишет.

653* **Без доступа к инструментам**: боковые вопросы отвечают только на основе того, что уже находится в контексте. Claude не может читать файлы, выполнять команды или искать при ответе на боковой вопрос.654* **Без доступа к инструментам**: боковые вопросы отвечают только на основе того, что уже находится в контексте. Claude не может читать файлы, выполнять команды или искать при ответе на боковой вопрос. Если Claude всё же выводит вызовы инструментов как текст, ответ заканчивается примечанием о том, что ничего не было выполнено.

654* **Один ответ**: в оверлее нет дополнительных ходов. Чтобы продолжить поток, задайте ещё один вопрос `/btw`. Чтобы продолжить с полным доступом к инструментам в локальном сеансе, нажмите `f` для разветвления этого вопроса и ответа в [фоновый подагент](/docs/ru/sub-agents#fork-the-current-conversation).655* **Один ответ**: в оверлее нет дополнительных ходов. Чтобы продолжить поток, задайте ещё один вопрос `/btw`. Чтобы продолжить с полным доступом к инструментам в локальном сеансе, нажмите `f` для разветвления этого вопроса и ответа в [фоновый подагент](/docs/ru/sub-agents#fork-the-current-conversation).

655* **Низкая стоимость**: пока [кэш подсказок](/docs/ru/prompt-caching) разговора активен, боковой вопрос стоит немного больше, чем сам ответ.656* **Низкая стоимость**: пока [кэш подсказок](/docs/ru/prompt-caching) разговора активен, боковой вопрос стоит немного больше, чем сам ответ.

656 657 

jetbrains.md +1 −1

Details

231 Соображения безопасности231 Соображения безопасности

232</h2>232</h2>

233 233 

234Когда Claude Code работает в JetBrains IDE в режиме разрешения [`acceptEdits`](/docs/ru/permission-modes#auto-approve-file-edits-with-acceptedits-mode), он может быть в состоянии изменять файлы конфигурации IDE, которые могут быть автоматически выполнены вашей IDE. Это может увеличить риск запуска Claude Code в режиме `acceptEdits` и позволить обойти подсказки разрешений Claude Code для выполнения bash.234Когда Claude Code работает в JetBrains IDE в режиме разрешения [`acceptEdits`](/docs/ru/permission-modes#auto-approve-file-edits-with-acceptedits-mode), он может быть в состоянии изменять файлы конфигурации IDE, которые могут быть автоматически выполнены вашей IDE. Это может увеличить риск запуска Claude Code в режиме `acceptEdits` и позволить обойти подсказки разрешений Claude Code для выполнения Bash.

235 235 

236При запуске в JetBrains IDEs учитывайте:236При запуске в JetBrains IDEs учитывайте:

237 237 

llm-gateway.md +1 −1

Details

28* **Логирование аудита**: логируйте каждый запрос модели для соответствия требованиям28* **Логирование аудита**: логируйте каждый запрос модели для соответствия требованиям

29* **Переключение поставщика**: измените поставщика в конфигурации шлюза, не трогая машины разработчиков29* **Переключение поставщика**: измените поставщика в конфигурации шлюза, не трогая машины разработчиков

30 30 

31Все эти функции, кроме переключения поставщика, применяются независимо от того, является ли upstream API Anthropic или [облачный поставщик](/docs/ru/third-party-integrations). Переключение поставщика без переконфигурации машин разработчиков также зависит от того, предоставляет ли шлюз одну [конечную точку в формате Anthropic](/docs/ru/llm-gateway-protocol#api-formats) независимо от upstream; шлюз, который предоставляет собственный формат поставщика, привязывает конфигурацию клиента к этому поставщику.31Все эти функции, кроме переключения поставщика, применяются независимо от того, является ли upstream API Anthropic или [облачный поставщик](/docs/ru/third-party-integrations). Переключение поставщика без переконфигурации машин разработчиков также зависит от того, предоставляет ли шлюз одну [конечную точку в формате Anthropic](/docs/ru/llm-gateway-protocol#api-formats) независимо от upstream. Шлюз, который предоставляет собственный формат поставщика, привязывает конфигурацию клиента к этому поставщику и изменяет [то, что отправляет Claude Code и какие значения по умолчанию он применяет](/docs/ru/llm-gateway-protocol#how-the-connection-method-changes-client-behavior).

32 32 

33Компромисс заключается в том, что шлюз становится инфраструктурой, которую управляет ваша организация. Claude Code добавляет возможности с каждым выпуском, и шлюз, который не перенаправляет их, нарушает соответствующие функции, поэтому продукт шлюза должен быть обновлен по мере развития Claude Code. [Справочник протокола шлюза](/docs/ru/llm-gateway-protocol) охватывает то, что нужно перенаправлять.33Компромисс заключается в том, что шлюз становится инфраструктурой, которую управляет ваша организация. Claude Code добавляет возможности с каждым выпуском, и шлюз, который не перенаправляет их, нарушает соответствующие функции, поэтому продукт шлюза должен быть обновлен по мере развития Claude Code. [Справочник протокола шлюза](/docs/ru/llm-gateway-protocol) охватывает то, что нужно перенаправлять.

34 34 

Details

286 ```286 ```

287</CodeGroup>287</CodeGroup>

288 288 

289<h3 id="slack-web-and-remote-control">289<h3 id="slack-cloud-sessions-and-remote-control">

290 Slack, веб и Remote Control290 Slack, облачные сеансы и Remote Control

291</h3>291</h3>

292 292 

293[Claude Code в Slack](/docs/ru/slack) и [Claude Code на веб](/docs/ru/claude-code-on-the-web) — это размещенные Anthropic продукты, которые всегда используют API Anthropic; они не являются частью развертывания шлюза. Переменные шлюза, установленные в конфигурации окружения облачного сеанса, не применяются. Если ваш трафик должен оставаться на шлюзе, не включайте эти поверхности для этих пользователей.293[Claude Code в Slack](/docs/ru/slack) и [облачные сеансы](/docs/ru/claude-code-on-the-web) всегда используют API Anthropic; они не являются частью развертывания шлюза. Переменные шлюза, установленные в конфигурации окружения облачного сеанса, не применяются. Если ваш трафик должен оставаться на шлюзе, не включайте эти поверхности для этих пользователей.

294 294 

295[Remote Control](/docs/ru/remote-control) и [голосовая диктовка](/docs/ru/voice-dictation) оба полагаются на идентичность claude.ai: Remote Control для связи живого сеанса с вашей учетной записью, и голосовая диктовка для достижения конечной точки транскрипции claude.ai. Они недоступны, пока активны `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`. Remote Control также отключен, пока `ANTHROPIC_BASE_URL` указывает на хост, не принадлежащий Anthropic, поэтому входа с claude.ai недостаточно само по себе. До версии 2.1.196 не-Anthropic базовый URL не блокировал Remote Control.295[Remote Control](/docs/ru/remote-control) и [голосовая диктовка](/docs/ru/voice-dictation) оба полагаются на идентичность claude.ai: Remote Control для связи живого сеанса с вашей учетной записью, и голосовая диктовка для достижения конечной точки транскрипции claude.ai. Они недоступны, пока активны `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`. Remote Control также отключен, пока `ANTHROPIC_BASE_URL` указывает на хост, не принадлежащий Anthropic, поэтому входа с claude.ai недостаточно само по себе. До версии 2.1.196 не-Anthropic базовый URL не блокировал Remote Control.

296 296 


587| Ошибки `400`, называющие `context_management`, `Extra inputs are not permitted` или другие неузнанные поля | Шлюз пересылает запросы на вышестоящий, который отклоняет поля, которые Claude Code отправляет на конечные точки формата Anthropic | Установите `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, что подавляет большинство полей предварительного выпуска; см. [передача функций](/docs/ru/llm-gateway-protocol#feature-pass-through). Некоторые бета-версии не управляются этим флагом; для них установите соответствующую переменную поставщика `CLAUDE_CODE_USE_*`, чтобы Claude Code отправлял только то, что этот поставщик принимает |587| Ошибки `400`, называющие `context_management`, `Extra inputs are not permitted` или другие неузнанные поля | Шлюз пересылает запросы на вышестоящий, который отклоняет поля, которые Claude Code отправляет на конечные точки формата Anthropic | Установите `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, что подавляет большинство полей предварительного выпуска; см. [передача функций](/docs/ru/llm-gateway-protocol#feature-pass-through). Некоторые бета-версии не управляются этим флагом; для них установите соответствующую переменную поставщика `CLAUDE_CODE_USE_*`, чтобы Claude Code отправлял только то, что этот поставщик принимает |

588| Ошибки `400`, называющие `thinking` или `adaptive`, такие как `Input tag 'adaptive' found` | Сборка вышестоящей модели не принимает адаптивное рассуждение, которое Claude Code запрашивает для моделей Claude 4.6 и позже | Обновите вышестоящий шлюз. На Opus 4.6 и Sonnet 4.6 вместо этого работает `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`. Переменные возможностей [конфигурации модели](/docs/ru/model-config) применяются только к конфигурациям поставщика, таким как `CLAUDE_CODE_USE_BEDROCK` и `CLAUDE_CODE_USE_VERTEX`, а не за шлюзом `ANTHROPIC_BASE_URL` |588| Ошибки `400`, называющие `thinking` или `adaptive`, такие как `Input tag 'adaptive' found` | Сборка вышестоящей модели не принимает адаптивное рассуждение, которое Claude Code запрашивает для моделей Claude 4.6 и позже | Обновите вышестоящий шлюз. На Opus 4.6 и Sonnet 4.6 вместо этого работает `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`. Переменные возможностей [конфигурации модели](/docs/ru/model-config) применяются только к конфигурациям поставщика, таким как `CLAUDE_CODE_USE_BEDROCK` и `CLAUDE_CODE_USE_VERTEX`, а не за шлюзом `ANTHROPIC_BASE_URL` |

589| Ошибки `400`, указывающие контекст или лимит токена в собственных словах шлюза, такие как `ContextWindowExceededError` или `prompt token count of N exceeds the limit of M` | Шлюз применяет меньший контекст, чем собственное окно модели, и переписывает ошибку вышестоящего, поэтому Claude Code не распознает это как [слишком длинную ошибку](/docs/ru/errors#prompt-is-too-long) и не выполняет автоматическое сжатие и повтор | Запустите `/compact`, чтобы восстановить сеанс. Чтобы предотвратить это, установите `CLAUDE_CODE_AUTO_COMPACT_WINDOW` на лимит шлюза; Claude Code зажимает значение как минимум на 100 000 токенов и максимум на контекстное окно модели, поэтому лимит шлюза ниже 100 000 не может быть согласован, и `/compact` остается восстановлением там. Также установите `CLAUDE_CODE_MAX_OUTPUT_TOKENS` ниже лимита вывода модели шлюза |589| Ошибки `400`, указывающие контекст или лимит токена в собственных словах шлюза, такие как `ContextWindowExceededError` или `prompt token count of N exceeds the limit of M` | Шлюз применяет меньший контекст, чем собственное окно модели, и переписывает ошибку вышестоящего, поэтому Claude Code не распознает это как [слишком длинную ошибку](/docs/ru/errors#prompt-is-too-long) и не выполняет автоматическое сжатие и повтор | Запустите `/compact`, чтобы восстановить сеанс. Чтобы предотвратить это, установите `CLAUDE_CODE_AUTO_COMPACT_WINDOW` на лимит шлюза; Claude Code зажимает значение как минимум на 100 000 токенов и максимум на контекстное окно модели, поэтому лимит шлюза ниже 100 000 не может быть согласован, и `/compact` остается восстановлением там. Также установите `CLAUDE_CODE_MAX_OUTPUT_TOKENS` ниже лимита вывода модели шлюза |

590| Ошибки `400` на каждом запросе, в собственных словах шлюза отклоняющие входную схему инструмента или его `pattern`, на Claude Code v2.1.265 через v2.1.267 | При постепенном развертывании на этих версиях схема [инструмента Artifact](/docs/ru/artifacts#availability) содержит регулярное выражение с классами символов Unicode `\p{...}`. API Anthropic его принимает, но шлюз или вышестоящий, который проверяет `pattern` каждой схемы инструмента с помощью собственного механизма regex, отклоняет весь запрос | Обновитесь до v2.1.268 или позже, которая не отправляет регулярное выражение. На затронутой версии [отключите артефакты](/docs/ru/artifacts#disable-artifacts), что удаляет инструмент и его схему из запросов |

590| Модели отсутствуют в средстве выбора `/model` | Имена моделей шлюза отсутствуют во встроенном списке Claude Code, или Claude Code показывает [`modelPicker`](/docs/ru/settings-reference#modelpicker) набор, который заменяет встроенные параметры | Включите [обнаружение модели шлюза](#add-gateway-models-to-the-model-picker) или добавьте имена с переменными [конфигурации модели](/docs/ru/model-config). Если Claude Code показывает заменяющий набор `modelPicker`, добавьте модели шлюза в него, или попросите администратора добавить их, когда управляемые параметры его предоставляют |591| Модели отсутствуют в средстве выбора `/model` | Имена моделей шлюза отсутствуют во встроенном списке Claude Code, или Claude Code показывает [`modelPicker`](/docs/ru/settings-reference#modelpicker) набор, который заменяет встроенные параметры | Включите [обнаружение модели шлюза](#add-gateway-models-to-the-model-picker) или добавьте имена с переменными [конфигурации модели](/docs/ru/model-config). Если Claude Code показывает заменяющий набор `modelPicker`, добавьте модели шлюза в него, или попросите администратора добавить их, когда управляемые параметры его предоставляют |

591| `/fast` сообщает `Fast mode unavailable due to network connectivity issues` в то время как запросы вывода работают | Проверка доступности [быстрого режима](/docs/ru/fast-mode) идет непосредственно на `api.anthropic.com` и не следует `ANTHROPIC_BASE_URL`, поэтому заблокированный прямой исходящий трафик не проходит проверку. То же сообщение появляется в открытой сети, когда проверка представляет ключ, выданный шлюзом, из `ANTHROPIC_API_KEY` или `apiKeyHelper`, и Anthropic его отклоняет | Добавьте в список разрешений `api.anthropic.com`, если исходящий трафик заблокирован, или установите переменную пропуска; для отклоненного ключа шлюза помогают только переменные пропуска. См. [использование быстрого режима за прокси и LLM шлюзами](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |592| `/fast` сообщает `Fast mode unavailable due to network connectivity issues` в то время как запросы вывода работают | Проверка доступности [быстрого режима](/docs/ru/fast-mode) идет непосредственно на `api.anthropic.com` и не следует `ANTHROPIC_BASE_URL`, поэтому заблокированный прямой исходящий трафик не проходит проверку. То же сообщение появляется в открытой сети, когда проверка представляет ключ, выданный шлюзом, из `ANTHROPIC_API_KEY` или `apiKeyHelper`, и Anthropic его отклоняет | Добавьте в список разрешений `api.anthropic.com`, если исходящий трафик заблокирован, или установите переменную пропуска; для отклоненного ключа шлюза помогают только переменные пропуска. См. [использование быстрого режима за прокси и LLM шлюзами](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

592| `/fast` сообщает `Fast mode has been disabled by your organization` в сеансе, аутентифицированном с помощью `ANTHROPIC_AUTH_TOKEN`, даже если организация имеет включенный быстрый режим | Проверка доступности требует входа claude.ai или ключа API Anthropic; только с токеном-носителем Claude Code рассматривает быстрый режим как отключенный без отправки проверки | Установите `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`; см. [использование быстрого режима за прокси и LLM шлюзами](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |593| `/fast` сообщает `Fast mode has been disabled by your organization` в сеансе, аутентифицированном с помощью `ANTHROPIC_AUTH_TOKEN`, даже если организация имеет включенный быстрый режим | Проверка доступности требует входа claude.ai или ключа API Anthropic; только с токеном-носителем Claude Code рассматривает быстрый режим как отключенный без отправки проверки | Установите `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`; см. [использование быстрого режима за прокси и LLM шлюзами](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

Details

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

283 283 

284| Изменение | Симптом, когда шлюз не в курсе | Действие |284| Изменение | Симптом, когда шлюз не в курсе | Действие |

285| :-------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |285| :-------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

286| Новые выпуски Claude Code добавляют значения `anthropic-beta` и поля тела запроса | Разработчики сообщают об ошибках `400`, называющих новое поле после обновления Claude Code; см. [сквозная передача функций](/docs/ru/llm-gateway-protocol#feature-pass-through) | Перенаправляйте заголовки `anthropic-*` и тела запроса дословно вместо внесения в список разрешений; протестируйте новые выпуски Claude Code против шлюза перед тем, как они достигнут разработчиков |286| Новые выпуски Claude Code добавляют значения `anthropic-beta` и поля тела запроса | Разработчики сообщают об ошибках `400`, называющих новое поле после обновления Claude Code; см. [сквозная передача функций](/docs/ru/llm-gateway-protocol#feature-pass-through) | Перенаправляйте заголовки `anthropic-*` и тела запроса дословно вместо внесения в список разрешений; протестируйте новые выпуски Claude Code против шлюза перед тем, как они достигнут разработчиков, проверяя области в [Планирование обновлений версии Claude Code](#plan-claude-code-version-upgrades) |

287| Становятся доступны новые модели Claude | Разработчики, выбирающие новое имя модели, получают `404`; средство выбора `/model` его не перечисляет | Добавьте имя модели в конфигурацию маршрутизации шлюза, затем повторно запустите [проверку маршрутизации](#confirm-the-gateway-routes-your-models). Если вы распределяете `ANTHROPIC_MODEL` или переменные модели по умолчанию, обновите управляемые параметры |287| Становятся доступны новые модели Claude | Разработчики, выбирающие новое имя модели, получают `404`; средство выбора `/model` его не перечисляет | Добавьте имя модели в конфигурацию маршрутизации шлюза, затем повторно запустите [проверку маршрутизации](#confirm-the-gateway-routes-your-models). Если вы распределяете `ANTHROPIC_MODEL` или переменные модели по умолчанию, обновите управляемые параметры |

288| Учетные данные истекают или требуют ротации | Все запросы разработчика начинают не работать с `401` от восходящего потока | Ротируйте учетные данные поставщика шлюза по его собственному расписанию; ключи разработчика ротируются на шлюзе, и [`apiKeyHelper`](/docs/ru/llm-gateway-connect#rotate-credentials-with-apikeyhelper) обрабатывает ротацию для каждого разработчика без перераспределения параметров |288| Учетные данные истекают или требуют ротации | Все запросы разработчика начинают не работать с `401` от восходящего потока | Ротируйте учетные данные поставщика шлюза по его собственному расписанию; ключи разработчика ротируются на шлюзе, и [`apiKeyHelper`](/docs/ru/llm-gateway-connect#rotate-credentials-with-apikeyhelper) обрабатывает ротацию для каждого разработчика без перераспределения параметров |

289 289 

290При определении размера ограничений скорости для каждого ключа учитывайте [повторные попытки клиента при переходящих сбоях](/docs/ru/errors#automatic-retries), включая ответы `429`, до 10 раз с отступом, соблюдая `Retry-After`. Держите [справочник совместимости](/docs/ru/llm-gateway-protocol) как контракт для того, что отправляет каждый выпуск Claude Code.290При определении размера ограничений скорости для каждого ключа учитывайте [повторные попытки клиента при переходящих сбоях](/docs/ru/errors#automatic-retries), включая ответы `429`, до 10 раз с отступом, соблюдая `Retry-After`. Держите [справочник совместимости](/docs/ru/llm-gateway-protocol) как контракт для того, что отправляет каждый выпуск Claude Code.

291 291 

292<h3 id="plan-claude-code-version-upgrades">

293 Планирование обновлений версии Claude Code

294</h3>

295 

296Некоторое поведение Claude Code встроено в установленную версию, а не установлено на вашем шлюзе, поэтому перемещение разработчиков на новый выпуск может изменить поведение во всем развертывании даже когда конфигурация шлюза не изменилась. Чтобы контролировать, когда это происходит, закрепите разработчиков на протестированной версии с помощью [`requiredMaximumVersion`](/docs/ru/settings-reference#requiredmaximumversion), или с помощью [`DISABLE_UPDATES`](/docs/ru/setup#disable-auto-updates), если вы распределяете Claude Code через свой собственный канал. Перед тем как повысить закрепление, прочитайте запись [журнала изменений](/docs/en/changelog) нового выпуска и [протестируйте его против шлюза](#test-claude-code-against-the-gateway).

297 

298Когда вы тестируете выпуск, новые заголовки или поля запроса, которые шлюз отклоняет, появляются как ошибки `400`, описанные в [Поддерживать шлюз](#maintain-the-gateway). Таблица ниже охватывает зависящие от версии изменения, которые не производят ошибку, с параметром, который сохраняет каждое из них постоянным при обновлениях.

299 

300| Область | Что может измениться при обновлении разработчиками | Параметр, который сохраняет это постоянным |

301| :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

302| Значения по умолчанию флагов функций | Сеансы, которые [не получают флаги функций от Anthropic](/docs/ru/env-vars#features-that-need-feature-flag-fetching), такие как сеансы на облачном поставщике или с отключенной телеметрией, используют значения по умолчанию флагов, встроенные в установленную версию. Когда выпуск изменяет одно из этих значений по умолчанию, поведение изменяется для этих разработчиков, как только они обновляются | Само закрепление версии, `requiredMaximumVersion` или `DISABLE_UPDATES` |

303| Предположения о возможностях модели | ID модели, который установленная версия не распознает, такой как псевдоним шлюза `prod-opus`, работает на предположениях по умолчанию для [адаптивного рассуждения](/docs/ru/model-config#adaptive-reasoning-and-fixed-thinking-budgets), параметра усилия и [окна контекста](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id) до тех пор, пока более поздняя версия не распознает ID или вы его не сопоставите | Маршрутизируйте ID моделей Anthropic на шлюзе, или добавьте запись [`modelOverrides`](/docs/ru/model-config#override-model-ids-per-version), которая сопоставляет ID модели Anthropic с вашим псевдонимом. На подключении облачного поставщика вы можете вместо этого [объявить возможности закрепленной модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

304| Модель по умолчанию и псевдонимы | Модель, на которой новые сеансы начинаются по умолчанию, и модели, на которые разрешаются псевдонимы, такие как `opus` и `sonnet`, [встроены в каждую версию](/docs/ru/model-config#pin-models-for-third-party-deployments) и могут измениться при обновлении разработчиками | [`ANTHROPIC_DEFAULT_MODEL`](/docs/ru/model-config#set-a-default-model-for-new-sessions) для модели, на которой новые сеансы начинаются, и переменные [`ANTHROPIC_DEFAULT_*_MODEL`](/docs/ru/model-config#environment-variables), такие как `ANTHROPIC_DEFAULT_OPUS_MODEL`, для того, на что разрешается каждый псевдоним. `ANTHROPIC_DEFAULT_MODEL` требует Claude Code v2.1.236 или позже |

305 

292<h2 id="related-resources">306<h2 id="related-resources">

293 Связанные ресурсы307 Связанные ресурсы

294</h2>308</h2>

managed-mcp.md +25 −11

Details

48 Исключительный контроль с помощью managed-mcp.json48 Исключительный контроль с помощью managed-mcp.json

49</h2>49</h2>

50 50 

51Если вы развернёте файл `managed-mcp.json`, Claude Code загружает только серверы, которые определены в этом файле, серверы, которые вы [предоставляете через `managedMcpServers`](#provide-servers-through-managed-settings), плюс любые встроенные серверы, которые регистрирует приложение, запустившее сеанс, такие как собственный сервер расширения VS Code или [коннекторы, которые поставляет настольное приложение](/docs/ru/mcp#how-connectors-reach-claude-code). Пользователи не могут добавлять, изменять или использовать какие-либо другие MCP серверы, включая серверы, предоставляемые плагинами, и серверы, переданные с помощью [флага CLI `--mcp-config`](/docs/ru/cli-reference#cli-flags). Файл также подавляет коннекторы claude.ai, которые Claude Code загружает сам по себе, если вы не [разрешите их наряду с управляемым набором](#allow-claude-ai-connectors-alongside-the-managed-set).51Когда вы развёртываете файл `managed-mcp.json`, Claude Code загружает только эти MCP серверы:

52 

53* Серверы, которые определяет файл

54* Серверы, которые вы [предоставляете через `managedMcpServers`](#provide-servers-through-managed-settings)

55* Встроенные серверы, которые регистрирует приложение, запустившее сеанс, такие как собственный сервер расширения VS Code или [коннекторы, которые поставляет настольное приложение](/docs/ru/mcp#how-connectors-reach-claude-code)

56 

57Пользователи не могут добавлять, изменять или использовать какие-либо другие MCP серверы, включая серверы, предоставляемые плагинами, и серверы, переданные с помощью [флага CLI `--mcp-config`](/docs/ru/cli-reference#cli-flags). Файл также подавляет коннекторы claude.ai, которые Claude Code загружает сам по себе, если вы не [разрешите их наряду с управляемым набором](#allow-claude-ai-connectors-alongside-the-managed-set).

52 58 

53<h3 id="deploy-managed-mcp-json">59<h3 id="deploy-managed-mcp-json">

54 Развёртывание managed-mcp.json60 Развёртывание managed-mcp.json


108* На рабочей станции Claude Code завершает работу при запуске с сообщением `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.114* На рабочей станции Claude Code завершает работу при запуске с сообщением `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

109* В [облачных сеансах](/docs/ru/claude-code-on-the-web) на хосте, где развёрнут файл, например на [самостоятельно размещённом runner](/docs/ru/self-hosted-environments-configuration#mcp-servers), Claude Code запускается только с управляемыми серверами и пропускает коннекторы claude.ai и другие серверы, которые облачный хост доставляет через `--mcp-config`. Ничто в сеансе не сообщает пользователю, какие серверы были исключены. Claude Code называет их в предупреждении на своём stderr, которое самостоятельно размещённый runner записывает на уровне логирования `debug`.115* В [облачных сеансах](/docs/ru/claude-code-on-the-web) на хосте, где развёрнут файл, например на [самостоятельно размещённом runner](/docs/ru/self-hosted-environments-configuration#mcp-servers), Claude Code запускается только с управляемыми серверами и пропускает коннекторы claude.ai и другие серверы, которые облачный хост доставляет через `--mcp-config`. Ничто в сеансе не сообщает пользователю, какие серверы были исключены. Claude Code называет их в предупреждении на своём stderr, которое самостоятельно размещённый runner записывает на уровне логирования `debug`.

110 116 

111Если пользователь передаёт `--strict-mcp-config`, Claude Code завершает работу при запуске как на рабочей станции, так и в облачном сеансе, потому что этот флаг просит заменить управляемый набор.117Флаг `--strict-mcp-config` просит заменить управляемый набор. Если пользователь передаёт его при развёрнутом таком файле, Claude Code завершает работу при запуске как на рабочей станции, так и в облачном сеансе.

112 118 

113<h3 id="how-allowlists-and-denylists-apply-to-the-managed-set">119<h3 id="how-allowlists-and-denylists-apply-to-the-managed-set">

114 Как списки разрешений и запретов применяются к управляемому набору120 Как списки разрешений и запретов применяются к управляемому набору


129 135 

130Чтобы подтвердить, что файл действует, выполните две проверки на управляемой машине:136Чтобы подтвердить, что файл действует, выполните две проверки на управляемой машине:

131 137 

1321. `claude mcp list` показывает только серверы в `managed-mcp.json`, плюс любые, которые вы предоставляете через `managedMcpServers`. Если собственные серверы пользователя по-прежнему отображаются, файл не читается; проверьте путь и разрешения.1381. `claude mcp list` показывает только серверы в `managed-mcp.json`, плюс любые, которые вы предоставляете через `managedMcpServers`. Два других результата означают, что что-то не так:

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

140 * Если серверы файла не отображаются и раздел `MCP config diagnostics` отмечает конфигурацию предприятия как не удалось разобрать, Claude Code не может прочитать или разобрать файл. Исправьте ошибку, которую называет этот раздел, затем попросите пользователя перезагрузить Claude Code.

1332. `claude mcp add --transport http test https://example.com/mcp` завершается с ошибкой `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers`. URL не обязательно должен указывать на реальный сервер, так как проверка политики отклоняет команду перед тем, как что-либо будет контактировано.1412. `claude mcp add --transport http test https://example.com/mcp` завершается с ошибкой `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers`. URL не обязательно должен указывать на реальный сервер, так как проверка политики отклоняет команду перед тем, как что-либо будет контактировано.

134 142 

135<h3 id="disable-mcp-entirely">143<h3 id="disable-mcp-entirely">


267 275 

268Для развертывания серверов пользователям используйте [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json) или [`managedMcpServers`](#provide-servers-through-managed-settings). Оба списка также фильтруют серверы, переданные с флагом CLI [`--mcp-config`](/docs/ru/cli-reference#cli-flags), за исключением записей `type: "sdk"` в процессе; `--strict-mcp-config` ограничивает, какие файлы конфигурации загружаются, и не обходит ни один из списков.276Для развертывания серверов пользователям используйте [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json) или [`managedMcpServers`](#provide-servers-through-managed-settings). Оба списка также фильтруют серверы, переданные с флагом CLI [`--mcp-config`](/docs/ru/cli-reference#cli-flags), за исключением записей `type: "sdk"` в процессе; `--strict-mcp-config` ограничивает, какие файлы конфигурации загружаются, и не обходит ни один из списков.

269 277 

270Чтобы сделать список разрешений авторитетным, установите `allowedMcpServers` и `allowManagedMcpServersOnly: true` вместе в [источнике управляемых параметров](/docs/ru/admin-setup#decide-how-settings-reach-devices), таком как параметры, управляемые сервером, или развернутый файл `managed-settings.json`. В разделе [Ограничить список разрешений только управляемыми параметрами](#restrict-the-allowlist-to-managed-settings-only) показана конфигурация. Без `allowManagedMcpServersOnly` списки разрешений из каждой области параметров объединяются, включая собственный файл `~/.claude/settings.json` пользователя, поэтому пользователь может расширить то, что разрешает ваш список разрешений. Списки запретов объединяются из каждой области независимо.278Чтобы сделать список разрешений авторитетным, установите `allowedMcpServers` и `allowManagedMcpServersOnly: true` вместе в [источнике управляемых параметров](/docs/ru/admin-setup#decide-how-settings-reach-devices), таком как параметры, управляемые сервером, или развернутый файл `managed-settings.json`.

279 

280Блокировка применяется из каждого управляемого источника, контролируемого администратором, поэтому блокировка в развернутом файле все еще применяется, когда также используются управляемые параметры сервера, которые не упоминают MCP. Пока блокировка включена, управляемый список разрешений поступает из источника администратора с наивысшим рейтингом, который устанавливает его. Чтение блокировки и списка разрешений в разных источниках требует Claude Code v2.1.273 или позже.

281 

282[Ограничить список разрешений только управляемыми параметрами](#restrict-the-allowlist-to-managed-settings-only) показывает конфигурацию.

283 

284Без `allowManagedMcpServersOnly` списки разрешений из каждой области параметров объединяются, включая собственный файл `~/.claude/settings.json` пользователя, поэтому пользователь может расширить то, что разрешает ваш список разрешений. Списки запретов объединяются из каждой области независимо.

271 285 

272<Note>286<Note>

273 `allowManagedMcpServersOnly` отличается от `allowManagedPermissionRulesOnly`, который блокирует только [правила разрешений](/docs/ru/permissions#managed-settings). Установка этого флага не применяет список разрешений MCP.287 `allowManagedMcpServersOnly` отличается от `allowManagedPermissionRulesOnly`, который блокирует только [правила разрешений](/docs/ru/permissions#managed-settings). Установка этого флага не применяет список разрешений MCP.


300 314 

301Проверка `serverName` отличается между двумя списками:315Проверка `serverName` отличается между двумя списками:

302 316 

303* В `deniedMcpServers` `serverName` принимает любую непустую строку, поэтому вы можете блокировать [соединители claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) по их отображаемому имени. Например, `{ "serverName": "claude.ai Slack" }` блокирует соединитель Slack. Предпочитайте запись `serverUrl`, когда вам нужно, чтобы запрет был устойчив к переименованиям, или когда имя соединителя конфликтует и получает суффикс ` (N)`.317* В `deniedMcpServers` `serverName` принимает любую непустую строку без начальных или конечных пробелов, поэтому вы можете блокировать [соединители claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) по их отображаемому имени. Например, `{ "serverName": "claude.ai Slack" }` блокирует соединитель Slack. Предпочитайте запись `serverUrl`, когда вам нужно, чтобы запрет был устойчив к переименованиям, или когда имя соединителя конфликтует и получает суффикс ` (N)`.

304* В `allowedMcpServers` `serverName` ограничен буквами, цифрами, дефисами и подчеркиваниями. Используйте `serverUrl` для добавления в список разрешений соединителя claude.ai, который Claude Code загружает сам; для соединителей, которые облачный хост доставляет в самостоятельно размещаемые сеансы, используйте вместо этого записи, указанные в разделе [Трафик соединителя покидает вашу сеть](/docs/ru/self-hosted-environments-deploy#connector-traffic-leaves-your-network).318* В `allowedMcpServers` `serverName` ограничен буквами, цифрами, дефисами и подчеркиваниями. Используйте `serverUrl` для добавления в список разрешений соединителя claude.ai, который Claude Code загружает сам; для соединителей, которые облачный хост доставляет в самостоятельно размещаемые сеансы, используйте вместо этого записи, указанные в разделе [Трафик соединителя покидает вашу сеть](/docs/ru/self-hosted-environments-deploy#connector-traffic-leaves-your-network).

305 319 

306Чтобы отключить все соединители claude.ai, которые Claude Code загружает сам, см. [`disableClaudeAiConnectors`](/docs/ru/mcp#disable-claude-ai-connectors).320Чтобы отключить все соединители claude.ai, которые Claude Code загружает сам, см. [`disableClaudeAiConnectors`](/docs/ru/mcp#disable-claude-ai-connectors).


311 325 

312Перед загрузкой сервера, включая сервер из `managed-mcp.json`, Claude Code выполняет три проверки ниже по порядку. Он выполняет их снова, когда пользователь переподключает сервер или включает отключенный в `/mcp`. Серверы `type: "sdk"` в процессе, которые [приложение, запустившее сеанс, регистрирует](/docs/ru/mcp#how-connectors-reach-claude-code), пропускают все три.326Перед загрузкой сервера, включая сервер из `managed-mcp.json`, Claude Code выполняет три проверки ниже по порядку. Он выполняет их снова, когда пользователь переподключает сервер или включает отключенный в `/mcp`. Серверы `type: "sdk"` в процессе, которые [приложение, запустившее сеанс, регистрирует](/docs/ru/mcp#how-connectors-reach-claude-code), пропускают все три.

313 327 

3141. **Объедините списки.** Записи списка разрешений и запретов из каждой области параметров объединяются в один список разрешений и один список запретов, при этом списки управляемой области поступают из [управляемого источника или источников, которые применяет Claude Code](/docs/ru/managed-settings#how-claude-code-combines-managed-sources). Когда `allowManagedMcpServersOnly` имеет значение `true`, сохраняется только управляемый список разрешений; список запретов всегда объединяется из каждой области.3281. **Объедините списки.** Записи списка разрешений и запретов из каждой области параметров объединяются в один список разрешений и один список запретов. Когда `allowManagedMcpServersOnly` имеет значение `true`, сохраняется только управляемый список разрешений; список запретов всегда объединяется из каждой области. Когда присутствует более одного управляемого источника, раздел [Ключи, читаемые из каждого источника администратора](/docs/ru/managed-settings#keys-read-from-every-admin-source) указывает, какие из них предоставляют списки управляемой области.

3152. **Проверьте список запретов.** Сервер, который совпадает с любой записью списка запретов по URL, команде или имени, блокируется. Ничто не переопределяет совпадение списка запретов.3292. **Проверьте список запретов.** Сервер, который совпадает с любой записью списка запретов по URL, команде или имени, блокируется. Ничто не переопределяет совпадение списка запретов.

3163. **Проверьте список разрешений.** Если `allowedMcpServers` не установлен нигде, каждый сервер, прошедший список запретов, загружается. Если он установлен, то, с чем должен совпадать сервер, зависит от его типа, показанного в таблице ниже.3303. **Проверьте список разрешений.** Если `allowedMcpServers` не установлен нигде, каждый сервер, прошедший список запретов, загружается. Если он установлен, то, с чем должен совпадать сервер, зависит от его типа, показанного в таблице ниже.

317 331 


503| Сервер находится в списке запретов и пользователь запускает `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |517| Сервер находится в списке запретов и пользователь запускает `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

504| Сервер не находится в списке разрешений и пользователь запускает `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |518| Сервер не находится в списке разрешений и пользователь запускает `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |

505| Пользователь запускает `claude mcp remove` на сервере из `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |519| Пользователь запускает `claude mcp remove` на сервере из `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |

506| Ранее настроенный сервер теперь заблокирован политикой | Сервер молча исчезает из `/mcp` и `claude mcp list` без предупреждения |520| Ранее настроенный сервер теперь заблокирован политикой | Сервер молча исчезает из `/mcp` и `claude mcp list` |

507| Сервер блокируется во время выполнения сеанса, и пользователь выбирает **Reconnect** или включает его обратно в `/mcp` | [`MCP server <name> is blocked by enterprise managed policy`](/docs/ru/errors#mcp-server-is-blocked-by-enterprise-managed-policy) |521| Сервер блокируется во время выполнения сеанса, и пользователь выбирает **Reconnect** или включает его обратно в `/mcp` | [`MCP server <name> is blocked by enterprise managed policy`](/docs/ru/errors#mcp-server-is-blocked-by-enterprise-managed-policy) |

508 522 

509Когда сервер молча исчезает, пользователь не получает никакого сигнала о том, что причина в политике, поэтому сообщите затронутым пользователям, какие серверы заблокированы при развертывании нового ограничения.523Когда сервер молча исчезает, пользователь не получает никакого сигнала о том, что причина в политике, поэтому сообщите затронутым пользователям, какие серверы заблокированы при развертывании нового ограничения.


521Каждый файл и параметр, рассмотренные на этой странице, что они контролируют и как их доставить:535Каждый файл и параметр, рассмотренные на этой странице, что они контролируют и как их доставить:

522 536 

523| Поверхность | Что она контролирует | Где она находится | Как доставить |537| Поверхность | Что она контролирует | Где она находится | Как доставить |

524| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |538| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

525| `managed-mcp.json` | Фиксированный набор серверов, исключительный контроль | Системный путь: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/` или `C:\Program Files\ClaudeCode\` | MDM, GPO, управление флотом или любой процесс с правами администратора. Не может быть установлен через server-managed settings |539| `managed-mcp.json` | Фиксированный набор серверов, исключительный контроль | Системный путь: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/` или `C:\Program Files\ClaudeCode\` | MDM, GPO, управление флотом или любой процесс с правами администратора. Не может быть установлен через server-managed settings |

526| `managedMcpServers` | Удаленные серверы, предоставляемые каждому пользователю наряду с их собственными | Только источники управляемых настроек; параметр не имеет эффекта в других местах | [Источник управляемых настроек](/docs/ru/admin-setup#decide-how-settings-reach-devices): server-managed settings, шлюзовая политика, `managed-settings.json`, профиль MDM или реестр HKLM |540| `managedMcpServers` | Удаленные серверы, предоставляемые каждому пользователю наряду с их собственными | Только источники управляемых настроек; параметр не имеет эффекта в других местах | [Источник управляемых настроек](/docs/ru/admin-setup#decide-how-settings-reach-devices): server-managed settings, шлюзовая политика, `managed-settings.json`, профиль MDM или реестр HKLM |

527| `allowedMcpServers` | Список разрешений разрешенных серверов | Любой [файл настроек](/docs/ru/settings#where-settings-live); Claude Code объединяет списки из каждого файла, если не установлен `allowManagedMcpServersOnly`, и берет список управляемого файла из [выбранного им управляемого источника](/docs/ru/managed-settings#precedence-within-the-managed-tier) или [составляет](/docs/ru/managed-settings#compose-every-managed-source) | Для применения, [источник управляемых настроек](/docs/ru/admin-setup#decide-how-settings-reach-devices): server-managed settings, `managed-settings.json`, профиль MDM или реестр |541| `allowedMcpServers` | Список разрешений разрешенных серверов | Любой [файл настроек](/docs/ru/settings#where-settings-live); [Как сервер оценивается](#how-a-server-is-evaluated) говорит о том, как списки из нескольких областей и управляемых источников объединяются | Для применения, [источник управляемых настроек](/docs/ru/admin-setup#decide-how-settings-reach-devices): server-managed settings, `managed-settings.json`, профиль MDM или реестр |

528| `deniedMcpServers` | Список запретов заблокированных серверов | Любой файл настроек; Claude Code объединяет списки из каждого файла и между управляемыми источниками, как описано в [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) | То же, что `allowedMcpServers` |542| `deniedMcpServers` | Список запретов заблокированных серверов | Любой файл настроек; [Как сервер оценивается](#how-a-server-is-evaluated) говорит о том, как списки из нескольких областей и управляемых источников объединяются | То же, что `allowedMcpServers` |

529| `allowManagedMcpServersOnly` | Блокирует список разрешений только управляемыми источниками | Только источники управляемых настроек; параметр не имеет эффекта в других местах | То же, что `allowedMcpServers` |543| `allowManagedMcpServersOnly` | Блокирует список разрешений только управляемыми источниками | Только источники управляемых настроек; [Ключи, читаемые из каждого источника администратора](/docs/ru/managed-settings#keys-read-from-every-admin-source) говорит о том, какие управляемые источники могут его включить. Параметр не имеет эффекта в других областях | То же, что `allowedMcpServers` |

530| `allowAllClaudeAiMcps` | Загружает соединители claude.ai, которые Claude Code получает сам, наряду с `managed-mcp.json`. [Файл `managed-mcp.json` на хосте, на котором запущена облачная сессия, по-прежнему подавляет соединители этой сессии](#allow-claude-ai-connectors-alongside-the-managed-set) | Только источники управляемых настроек; параметр не имеет эффекта в других местах | То же, что `allowedMcpServers` |544| `allowAllClaudeAiMcps` | Загружает соединители claude.ai, которые Claude Code получает сам, наряду с `managed-mcp.json`. [Файл `managed-mcp.json` на хосте, на котором запущена облачная сессия, по-прежнему подавляет соединители этой сессии](#allow-claude-ai-connectors-alongside-the-managed-set) | Только источники управляемых настроек; параметр не имеет эффекта в других местах | То же, что `allowedMcpServers` |

531 545 

532<h2 id="related-resources">546<h2 id="related-resources">

Details

60Файл из шагов выше — это один из четырех способов доставить управляемые параметры на машину. Каждый механизм содержит те же ключи политики, что и файл `settings.json`, поэтому [справочник параметров](/docs/ru/settings-reference) применяется ко всем из них. Несколько ключей привязаны к конкретным источникам, и строка Scope каждой записи указывает, какие:60Файл из шагов выше — это один из четырех способов доставить управляемые параметры на машину. Каждый механизм содержит те же ключи политики, что и файл `settings.json`, поэтому [справочник параметров](/docs/ru/settings-reference) применяется ко всем из них. Несколько ключей привязаны к конкретным источникам, и строка Scope каждой записи указывает, какие:

61 61 

62* **Элементы управления доставкой**: [`policyHelper`](/docs/ru/settings-reference#policyhelper), [`wslInheritsWindowsSettings`](/docs/ru/settings-reference#wslinheritswindowssettings) и [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior)62* **Элементы управления доставкой**: [`policyHelper`](/docs/ru/settings-reference#policyhelper), [`wslInheritsWindowsSettings`](/docs/ru/settings-reference#wslinheritswindowssettings) и [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior)

63* **Ключи входа Gateway**: [`forceLoginGatewayUrl`](/docs/ru/settings-reference#forcelogingatewayurl) и значение `"gateway"` параметра [`forceLoginMethod`](/docs/ru/settings-reference#forceloginmethod)63* **Ключи входа Gateway**: [`forceLoginGatewayUrl`](/docs/ru/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/ru/settings-reference#gatewayinternalnetworks) и значение `"gateway"` параметра [`forceLoginMethod`](/docs/ru/settings-reference#forceloginmethod)

64 64 

65Управляемый файл параметров, профиль MDM или консоль claude.ai применяют одну политику для всех, кого они охватывают. Чтобы дать одной группе разработчиков другую политику, разверните другой файл или профиль для этой группы; консоль claude.ai [пока не может нацеливаться на группу](/docs/ru/server-managed-settings#current-limitations), в то время как самостоятельно размещаемый [шлюз Claude apps gateway](/docs/ru/claude-apps-gateway) доставляет управляемые параметры для каждой группы IdP.65Управляемый файл параметров, профиль MDM или консоль claude.ai применяют одну политику для всех, кого они охватывают. Чтобы дать одной группе разработчиков другую политику, разверните другой файл или профиль для этой группы; консоль claude.ai [пока не может нацеливаться на группу](/docs/ru/server-managed-settings#current-limitations), в то время как самостоятельно размещаемый [шлюз Claude apps gateway](/docs/ru/claude-apps-gateway) доставляет управляемые параметры для каждой группы IdP.

66 66 


141 Как Claude Code объединяет управляемые источники141 Как Claude Code объединяет управляемые источники

142</h2>142</h2>

143 143 

144Когда ваша организация доставляет более одного управляемого источника на одну машину, ключ [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior) решает, что Claude Code делает с остальными:144Когда ваша организация доставляет более одного управляемого источника на одну машину, ключ [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior) определяет, что Claude Code делает с остальными:

145 145 

146* **`"first-wins"`, по умолчанию**: Claude Code использует источник с наивысшим рейтингом, который доставляет по крайней мере один ключ политики, и игнорирует остальные, а не объединяет их, кроме ключей в [Ключи, читаемые из каждого источника администратора](#keys-read-from-every-admin-source). Claude Code не показывает предупреждение для источников, которые он пропускает; `/status` [называет источник, который он использовал, и те, которые он пропустил](#read-the-source-in-/status).146* **`"first-wins"`, по умолчанию**: Claude Code использует источник с наивысшим рейтингом, который доставляет хотя бы один ключ политики, и игнорирует остальные, а не объединяет их, за исключением ключей в [Ключи, читаемые из каждого источника администратора](#keys-read-from-every-admin-source). Claude Code не показывает предупреждение для источников, которые он пропускает; `/status` [называет источник, который он использовал, и те, которые он пропустил](#read-the-source-in-/status).

147* **`"merge"`**: Claude Code применяет каждый источник администратора, который доставляет ключ политики, и объединяет их по типу ключа: на большинстве ключей значение источника с более высоким рейтингом применяется, списки объединяются, и блокировки принимают самое строгое значение. [Составьте каждый управляемый источник](#compose-every-managed-source) говорит, где установить ключ и как каждый тип ключа объединяется. Требует Claude Code v2.1.242 или позже.147* **`"merge"`**: Claude Code применяет каждый источник администратора, который доставляет ключ политики, и объединяет их по типу ключа: для большинства ключей применяется значение источника с более высоким рейтингом, списки объединяются, а блокировки принимают наиболее строгое значение. [Составьте каждый управляемый источник](#compose-every-managed-source) говорит, где установить ключ и как объединяется каждый тип ключа. Требует Claude Code v2.1.242 или позже.

148 148 

149Оба параметра ранжируют источники одинаково. Два термина повторяются в этом разделе:149Оба параметра ранжируют источники одинаково. Эти термины повторяются в этом разделе:

150 150 

151* **Ключ политики**: любой ключ параметров, кроме двух ключей управления, [`wslInheritsWindowsSettings`](/docs/ru/settings-reference#wslinheritswindowssettings) и [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior). Файл управляемых параметров или политика MDM, которые содержат только эти, не учитываются, и Claude Code переходит к следующему источнику.151* **Ключ политики**: любой ключ параметров, кроме двух управляющих ключей, [`wslInheritsWindowsSettings`](/docs/ru/settings-reference#wslinheritswindowssettings) и [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior). Управляемый файл параметров или политика MDM, которые содержат только эти, не считаются, и Claude Code переходит к следующему источнику.

152* **Источник администратора**: один из первых трех источников ниже. Реестр HKCU доступен для записи пользователем и не является одним из них.152* **Источник администратора**: один из первых трёх источников ниже. Реестр HKCU доступен для записи пользователем и не является одним из них.

153 153 

154Claude Code проверяет источники в этом порядке, от наивысшего приоритета к наименьшему:154Claude Code проверяет источники в этом порядке, сначала с наивысшим приоритетом:

155 155 

1561. Удаленные параметры, доставленные из claude.ai как [управляемые параметры сервера](/docs/ru/server-managed-settings) или [шлюзом Claude apps](/docs/ru/claude-apps-gateway). Claude Code получает этот источник только когда сеанс аутентифицируется в API Anthropic напрямую с [подходящим входом или ключом](/docs/ru/server-managed-settings#platform-availability), или входит в шлюз с `/login`. На других поставщиках или когда `ANTHROPIC_BASE_URL` указывает на что-то другое, чем API Anthropic, он начинает со следующего источника1561. Удалённые параметры, доставленные с claude.ai как [параметры, управляемые сервером](/docs/ru/server-managed-settings) или через [шлюз приложений Claude](/docs/ru/claude-apps-gateway). Claude Code получает этот источник только когда сеанс аутентифицируется в API Anthropic напрямую с [подходящим входом или ключом](/docs/ru/server-managed-settings#platform-availability) или входит в шлюз с `/login`. На других поставщиках или когда `ANTHROPIC_BASE_URL` указывает на что-то другое, чем API Anthropic, он начинает со следующего источника

1572. Политики MDM или уровня ОС: plist macOS или ключ реестра HKLM1572. Политики MDM или уровня ОС: plist macOS или ключ реестра HKLM

1583. Файлы управляемых параметров, `managed-settings.d/*.json` и `managed-settings.json` объединены вместе1583. Управляемые файлы параметров, `managed-settings.d/*.json` и `managed-settings.json` объединены вместе

1594. Реестр HKCU, на Windows и на WSL, как только реестр HKLM или файл управляемых параметров Windows включает [`wslInheritsWindowsSettings`](/docs/ru/settings-reference#wslinheritswindowssettings) и значение HKCU также его устанавливает. Claude Code читает его только когда никакой источник выше него не доставляет ключ политики и никакие [параметры родителя, предоставленные хостом](#let-an-embedding-host-add-policy) не предоставляют ограничивающий ключ1594. Реестр HKCU на Windows и на WSL после того, как реестр HKLM или файл управляемых параметров Windows включит [`wslInheritsWindowsSettings`](/docs/ru/settings-reference#wslinheritswindowssettings) и значение HKCU также его установит. Claude Code читает его только когда ни один источник выше него не доставляет ключ политики и ни один [параметр родителя, предоставленный хостом](#let-an-embedding-host-add-policy) не предоставляет ограничивающий ключ

160 160 

161Эта диаграмма показывает ранжирование, с примерами кросс-источниковых ключей, которые Claude Code читает из первых трех источников при любом параметре:161Эта диаграмма показывает ранжирование с примерами кросс-источниковых ключей, которые Claude Code читает из первых трёх источников при любом параметре:

162 162 

163<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="Диаграмма, показывающая четыре источника управляемых параметров, ранжированные от удаленных параметров в верхней части через MDM, файлы управляемых параметров и реестр HKCU внизу. По умолчанию первый источник с ключом политики предоставляет политику и остальные пропускаются; с managedSourcesBehavior установленным на merge, каждый источник администратора с ключом политики вносит вклад, объединенный по типу ключа, и реестр HKCU остается в стороне. Боковая панель показывает, что кросс-источниковые ключи, такие как блокировки песочницы, forceRemoteSettingsRefresh и слияние env для каждой переменной, читаются из каждого источника администратора, который исключает реестр HKCU." width="680" height="330" data-path="images/managed-source-precedence.svg" />163<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="Диаграмма, показывающая четыре источника управляемых параметров, ранжированные от удалённых параметров в верхней части через MDM, управляемые файлы параметров и реестр HKCU внизу. По умолчанию первый источник с ключом политики предоставляет политику, а остальные пропускаются; с managedSourcesBehavior установленным на merge, каждый источник администратора с ключом политики вносит вклад, объединённый по типу ключа, и реестр HKCU остаётся в стороне. Боковая панель показывает, что кросс-источниковые ключи, такие как блокировки песочницы, forceRemoteSettingsRefresh и слияние env для каждой переменной, читаются из каждого источника администратора, что исключает реестр HKCU." width="680" height="330" data-path="images/managed-source-precedence.svg" />

164 164 

165<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="Диаграмма, показывающая четыре источника управляемых параметров, ранжированные от удаленных параметров в верхней части через MDM, файлы управляемых параметров и реестр HKCU внизу. По умолчанию первый источник с ключом политики предоставляет политику и остальные пропускаются; с managedSourcesBehavior установленным на merge, каждый источник администратора с ключом политики вносит вклад, объединенный по типу ключа, и реестр HKCU остается в стороне. Боковая панель показывает, что кросс-источниковые ключи, такие как блокировки песочницы, forceRemoteSettingsRefresh и слияние env для каждой переменной, читаются из каждого источника администратора, который исключает реестр HKCU." width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />165<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="Диаграмма, показывающая четыре источника управляемых параметров, ранжированные от удалённых параметров в верхней части через MDM, управляемые файлы параметров и реестр HKCU внизу. По умолчанию первый источник с ключом политики предоставляет политику, а остальные пропускаются; с managedSourcesBehavior установленным на merge, каждый источник администратора с ключом политики вносит вклад, объединённый по типу ключа, и реестр HKCU остаётся в стороне. Боковая панель показывает, что кросс-источниковые ключи, такие как блокировки песочницы, forceRemoteSettingsRefresh и слияние env для каждой переменной, читаются из каждого источника администратора, что исключает реестр HKCU." width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />

166 166 

167<h3 id="keys-read-from-every-admin-source">167<h3 id="keys-read-from-every-admin-source">

168 Ключи, читаемые из каждого источника администратора168 Ключи, читаемые из каждого источника администратора

169</h3>169</h3>

170 170 

171При параметре по умолчанию `"first-wins"`, Claude Code читает большинство ключей только из [источника, который он выбрал](#how-claude-code-combines-managed-sources), и игнорирует значение в источнике с более низким рейтингом, даже когда выбранный источник оставляет этот ключ неустановленным.171При параметре по умолчанию `"first-wins"` Claude Code читает большинство ключей только из [источника, который он выбрал](#how-claude-code-combines-managed-sources), и игнорирует значение в источнике с более низким рейтингом даже когда выбранный источник оставляет этот ключ неустановленным.

172 172 

173Несколько ключей работают иначе. Claude Code читает их из каждого источника администратора, поэтому политика MDM с более низким рейтингом или файл управляемых параметров все еще могут их установить, когда выбранный источник этого не делает. Claude Code исключает доступный для записи пользователем реестр HKCU из этого сканирования; когда HKCU является единственным источником и никакой хост не предоставляет параметры родителя, HKCU применяется как любой выбранный источник.173Несколько ключей работают иначе. Claude Code читает их из каждого источника администратора, поэтому политика MDM с более низким рейтингом или управляемый файл параметров могут всё ещё установить их, когда выбранный источник этого не делает. Claude Code исключает доступный для записи пользователем реестр HKCU из этого сканирования; когда HKCU является единственным источником и ни один хост не предоставляет параметры родителя, HKCU применяется как любой выбранный источник.

174 174 

175Кросс-источниковые ключи включают:175Кросс-источниковые ключи включают:

176 176 

177* `sandbox.network.allowManagedDomainsOnly` и `sandbox.filesystem.allowManagedReadPathsOnly`: `true` в любом источнике администратора включает блокировку. Пока блокировка включена, Claude Code объединяет список разрешений, который она блокирует, `sandbox.network.allowedDomains` вместе с правилами разрешения `WebFetch(domain:...)`, или `sandbox.filesystem.allowRead`, по всем источникам администратора. Без блокировки Claude Code обрабатывает список разрешений как любой другой ключ, поэтому при `"first-wins"` список разрешений невыбранного источника администратора игнорируется177* `sandbox.network.allowManagedDomainsOnly` и `sandbox.filesystem.allowManagedReadPathsOnly`: `true` в любом источнике администратора включает блокировку. Пока блокировка включена, Claude Code объединяет список разрешений, который она блокирует, `sandbox.network.allowedDomains` вместе с правилами разрешения WebFetch(domain:...), или `sandbox.filesystem.allowRead`, по всем источникам администратора. Без блокировки Claude Code обрабатывает список разрешений как любой другой ключ, поэтому при `"first-wins"` список разрешений невыбранного источника администратора игнорируется

178* `allowAllClaudeAiMcps`178* `allowAllClaudeAiMcps`

179* `allowManagedMcpServersOnly`: `true` в любом источнике администратора включает блокировку списка разрешений MCP. Пока блокировка включена, управляемый список `allowedMcpServers` поступает из источника администратора с наивысшим рейтингом, который его устанавливает. Список, управляемый сервером, заменяет список более низкого источника, а не объединяется с ним.

180 

181 Если ни один источник администратора не устанавливает список, каждый сервер, который проходит список отрицания, загружается, если только [параметры родителя](#let-an-embedding-host-add-policy) не предоставляют список.

182 

183 Без блокировки Claude Code читает `allowedMcpServers` из управляемого источника, который он применяет, поэтому при `"first-wins"` список невыбранного источника администратора игнорируется. Требует Claude Code v2.1.273 или позже

184* `deniedMcpServers` и [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors): запись или `true` в любом источнике администратора применяется. Требует Claude Code v2.1.273 или позже

179* Пути двоичных файлов песочницы `sandbox.bwrapPath` и `sandbox.socatPath`185* Пути двоичных файлов песочницы `sandbox.bwrapPath` и `sandbox.socatPath`

180* Двоичный файл `ripgrep` песочницы, [`sandbox.ripgrep`](/docs/ru/settings-reference#sandbox-ripgrep)186* Двоичный файл песочницы `ripgrep`, [`sandbox.ripgrep`](/docs/ru/settings-reference#sandbox-ripgrep)

181* `sandbox.filesystem.disabled` и `sandbox.network.strictAllowlist`187* `sandbox.filesystem.disabled` и `sandbox.network.strictAllowlist`

182* [`useAutoModeDuringPlan`](/docs/ru/settings-reference#useautomodeduringplan) и [`syncClaudeAiSkills`](/docs/ru/settings-reference#syncclaudeaiskills), где `false` из любого источника администратора отключает поведение. `false` в параметрах пользователя или локальных параметрах разработчика также отключает его; каждый ключ может только отрицать188* [`useAutoModeDuringPlan`](/docs/ru/settings-reference#useautomodeduringplan), [`syncClaudeAiSkills`](/docs/ru/settings-reference#syncclaudeaiskills) и [`syncClaudeAiPlugins`](/docs/ru/settings-reference#syncclaudeaiplugins), где `false` из любого источника администратора отключает поведение. `false` в параметрах пользователя или локальных параметрах разработчика также отключает его; каждый ключ может только отрицать

183* [`enableArtifact`](/docs/ru/settings-reference#enableartifact), где `false` из любого источника администратора отключает [инструмент Artifact](/docs/ru/artifacts). `false` в параметрах пользователя, проекта или локальных параметрах разработчика также отключает его, и никакой источник не включает его обратно; см. [какие значения более низкого уровня все еще учитываются](/docs/ru/settings#exceptions-to-managed-settings-precedence). Требует Claude Code v2.1.242 или позже189* [`enableArtifact`](/docs/ru/settings-reference#enableartifact), где `false` из любого источника администратора отключает [инструмент Artifact](/docs/ru/artifacts). `false` в параметрах пользователя, проекта или локальных параметрах разработчика также отключает его, и ни один источник не включает его обратно; см. [какие значения более низкого уровня всё ещё считаются](/docs/ru/settings#exceptions-to-managed-settings-precedence). Требует Claude Code v2.1.242 или позже

184* [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel), где применяется самый низкий предел в любом источнике администратора. Если разработчик устанавливает более низкий предел в своих собственных параметрах или с `--settings`, Claude Code применяет этот; никакой источник не может повысить предел. Требует Claude Code v2.1.267 или позже190* [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel), где применяется самый низкий лимит в любом источнике администратора. Если разработчик установит более низкий лимит в своих собственных параметрах или с `--settings`, Claude Code применит этот; ни один источник не может повысить лимит. Требует Claude Code v2.1.267 или позже

185* Отказ от трейлера коммита в `attribution` или в устаревшем `includeCoAuthoredBy` из любого уровня191* Отказ от трейлера коммита в `attribution` или в устаревшем `includeCoAuthoredBy` из любого уровня

186* [`forceRemoteSettingsRefresh`](/docs/ru/server-managed-settings)192* [`forceRemoteSettingsRefresh`](/docs/ru/server-managed-settings)

187* `env`, объединенный по переменной по источникам администратора: каждая переменная поступает из источника с наивысшим приоритетом, который ее определяет, поэтому более низкие источники заполняют переменные, которые более высокие оставляют неустановленными. Несколько переменных следуют своим собственным правилам; [Исключения для каждого ключа по управляемым источникам](/docs/ru/server-managed-settings#per-key-exceptions-across-managed-sources) называет каждое. Требует Claude Code v2.1.223 или позже. До v2.1.223 Claude Code применял весь блок `env` выбранного источника только193* `env`, объединённый по переменной по источникам администратора: каждая переменная поступает из источника с наивысшим приоритетом, который её определяет, поэтому более низкие источники заполняют переменные, которые более высокие оставляют неустановленными. Несколько переменных следуют своим собственным правилам; [Исключения для каждого ключа по управляемым источникам](/docs/ru/server-managed-settings#per-key-exceptions-across-managed-sources) называет каждое. Требует Claude Code v2.1.223 или позже. До v2.1.223 Claude Code применял весь блок `env` выбранного источника только

188 194 

189[Ключи входа в шлюз](#choose-a-delivery-mechanism), [`forceLoginGatewayUrl`](/docs/ru/settings-reference#forcelogingatewayurl) и значение `"gateway"` [`forceLoginMethod`](/docs/ru/settings-reference#forceloginmethod), следуют отдельному правилу. Claude Code никогда не читает их из управляемых параметров сервера, поэтому пока управляемые параметры сервера являются выбранным источником, источник администратора с наивысшим рейтингом на машине, который несет ключ политики, все еще их предоставляет. Значение в источнике администратора, ранжированном ниже этого, или в реестре HKCU, игнорируется.195[Ключи входа шлюза](#choose-a-delivery-mechanism) следуют отдельному правилу. Claude Code никогда не читает их из параметров, управляемых сервером, поэтому пока параметры, управляемые сервером, являются выбранным источником, источник администратора с наивысшим рейтингом на машине, который несёт ключ политики, всё ещё их предоставляет. Значение в источнике администратора, ранжированном ниже этого, или в реестре HKCU, игнорируется.

196 

197Когда источник администратора устанавливает `allowManagedMcpServersOnly` или список `allowedMcpServers` и это значение не является тем, которое действует, `/status` и `claude doctor` называют этот источник и ключ.

190 198 

191<h3 id="compose-every-managed-source">199<h3 id="compose-every-managed-source">

192 Составьте каждый управляемый источник200 Составьте каждый управляемый источник

193</h3>201</h3>

194 202 

195Чтобы Claude Code применял каждый источник администратора, который доставляет ваша организация, установите [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior) на `"merge"` в источнике с наивысшим рейтингом, который вы развертываете. Claude Code читает ключ только из источника с наивысшим рейтингом, который несет либо ключ, либо ключ политики, поэтому более низкий источник не может выбрать себя для объединения с источником выше него, и машина, которая никогда не получает управляемые параметры сервера, нуждается в ключе в своем профиле MDM тоже. Доступный для записи пользователем реестр HKCU никогда не объединяется с другим источником. Требует Claude Code v2.1.242 или позже.203Чтобы Claude Code применял каждый источник администратора, который доставляет ваша организация, установите [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior) на `"merge"` в источнике с наивысшим рейтингом, который вы развёртываете. Claude Code читает ключ только из источника с наивысшим рейтингом, который несёт либо ключ, либо ключ политики, поэтому более низкий источник не может выбрать себя для слияния с источником выше него, и машина, которая никогда не получает параметры, управляемые сервером, нуждается в ключе в своём профиле MDM тоже. Доступный для записи пользователем реестр HKCU никогда не объединяется с другим источником. Требует Claude Code v2.1.242 или позже.

196 204 

197При `"merge"` Claude Code добавляет записи списка более низкого источника, такие как правила `permissions.allow` и hooks, к политике, поэтому включайте его только когда каждый источник, ранжированный ниже вашего наивысшего, находится под контролем администратора.205При `"merge"` Claude Code добавляет записи списка более низкого источника, такие как правила `permissions.allow` и hooks, к политике, поэтому включайте это только когда каждый источник, ранжированный ниже вашего наивысшего, находится под контролем администратора.

198 206 

199Эта таблица показывает, как Claude Code объединяет каждый тип ключа при `"merge"`. Запись [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior) называет каждый ключ в трех строках: списки разрешений ограничений, значения-взятые-целиком и ключи-читаемые-только-из-источника-с-наивысшим-рейтингом.207Эта таблица показывает, как Claude Code объединяет каждый тип ключа при `"merge"`. Запись [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior) называет каждый ключ в трёх из строк: списки ограничений, значения, взятые целиком, и ключи, читаемые только из источника с наивысшим рейтингом.

200 208 

201| Тип ключа | Как Claude Code его объединяет | Примеры |209| Тип ключа | Как Claude Code его объединяет | Примеры |

202| :-------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |210| :-------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |

203| Списки | Объединяет записи из каждого источника | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |211| Списки | Объединяет записи из каждого источника | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |

204| Блокировки | Применяет самое строгое значение, которое устанавливает любой источник; более мягкое значение применяется только из источника с наивысшим рейтингом | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |212| Блокировки | Применяет наиболее строгое значение, которое устанавливает любой источник; более мягкое значение применяется только из источника с наивысшим рейтингом | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |

205| Списки разрешений ограничений | Берет список целиком из источника с наивысшим рейтингом, который его устанавливает, без добавления записей из более низких источников | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins` и цепь `fallbackModel` |213| Списки ограничений | Берёт список целиком из источника с наивысшим рейтингом, который его устанавливает, без добавления записей из более низких источников | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins` и цепь `fallbackModel` |

206| Значения, взятые целиком | Берет значение целиком из источника с наивысшим рейтингом, который его устанавливает, без объединения записей или полей из более низких источников | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |214| Значения, взятые целиком | Берёт значение целиком из источника с наивысшим рейтингом, который его устанавливает, без объединения записей или полей из более низких источников | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |

207| Предоставленные MCP серверы | Объединяет имена серверов из каждого источника; когда два источника устанавливают одно имя, применяет всю запись источника с более высоким рейтингом | `managedMcpServers` |215| Предоставленные серверы MCP | Объединяет имена серверов из каждого источника; когда два источника устанавливают одно имя, применяет всю запись источника с более высоким рейтингом | `managedMcpServers` |

208| Ключи, читаемые только из источника с наивысшим рейтингом | Игнорирует ключ в каждом более низком источнике, даже когда источник с наивысшим рейтингом оставляет его неустановленным | Помощники учетных данных, такие как `apiKeyHelper`, пины входа, такие как `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |216| Ключи, читаемые только из источника с наивысшим рейтингом | Игнорирует ключ в каждом более низком источнике, даже когда источник с наивысшим рейтингом оставляет его неустановленным | Помощники учётных данных, такие как `apiKeyHelper`, пины входа, такие как `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |

209| `env` | Объединяет по переменной по источникам администратора при любом параметре, как [Ключи, читаемые из каждого источника администратора](#keys-read-from-every-admin-source) описывает | |217| `env` | Объединяет по переменной по источникам администратора при любом параметре, как [Ключи, читаемые из каждого источника администратора](#keys-read-from-every-admin-source) описывает | |

210| Каждый другой ключ | Берет значение из источника с наивысшим рейтингом, который его устанавливает | `model`, `cleanupPeriodDays` |218| Каждый другой ключ | Берёт значение из источника с наивысшим рейтингом, который его устанавливает | `model`, `cleanupPeriodDays` |

211 219 

212Чтобы подтвердить, какие источники объединены на машине, [прочитайте строку `Setting sources` в `/status`](#read-the-source-in-/status); этот раздел говорит, что означает каждый ярлык.220Чтобы подтвердить, какие источники объединились на машине, [прочитайте строку `Setting sources` в `/status`](#read-the-source-in-/status); этот раздел говорит, что означает каждый ярлык.

213 221 

214<h3 id="compute-the-policy-with-a-helper-program">222<h3 id="compute-the-policy-with-a-helper-program">

215 Вычислите политику с помощью программы-помощника223 Вычислите политику с помощью вспомогательной программы

216</h3>224</h3>

217 225 

218A [`policyHelper`](/docs/ru/settings-reference#policyhelper) — это исполняемый файл, который ваша политика MDM или файл управляемых параметров называет, и Claude Code запускает его для вычисления управляемых параметров при запуске. Когда выбранный источник настраивает один и помощник выдает объект `managedSettings`, этот вывод изменяет то, что Claude Code читает:226[`policyHelper`](/docs/ru/settings-reference#policyhelper) — это исполняемый файл, который называет ваша политика MDM или управляемый файл параметров, и Claude Code запускает его для вычисления управляемых параметров при запуске. Когда выбранный источник настраивает один и помощник выдаёт объект `managedSettings`, этот вывод изменяет то, что Claude Code читает:

219 227 

220* **Выданный объект `managedSettings` — это единственные управляемые параметры для сеанса**, включая [ключи, которые он иначе читает из каждого источника администратора](#keys-read-from-every-admin-source), кроме [`forceRemoteSettingsRefresh`, который имеет свое собственное правило запуска](/docs/ru/settings-reference#forceremotesettingsrefresh)228* **Выданный объект `managedSettings` — это единственные управляемые параметры для сеанса**, включая [ключи, которые он иначе читает из каждого источника администратора](#keys-read-from-every-admin-source), кроме [`forceRemoteSettingsRefresh`, который имеет своё собственное правило запуска](/docs/ru/settings-reference#forceremotesettingsrefresh)

221 229 

222Для того, какие запуски помощника не удаются, и что Claude Code делает, когда один не удается, см. [Сбои помощника](/docs/ru/settings-reference#helper-failures).230Для того, какие запуски помощника не удаются и что Claude Code делает, когда один не удаётся, см. [Сбои помощника](/docs/ru/settings-reference#helper-failures).

223 231 

224<span id="parent-settings-from-embedding-hosts" />232<span id="parent-settings-from-embedding-hosts" />

225 233 


233 241 

234Когда другое приложение запускает Claude Code, такое как Claude Desktop, расширение IDE или приложение Agent SDK, этот хост может передать свои собственные управляемые параметры через опцию SDK `managedSettings`. Claude Code называет эти параметры родителя.242Когда другое приложение запускает Claude Code, такое как Claude Desktop, расширение IDE или приложение Agent SDK, этот хост может передать свои собственные управляемые параметры через опцию SDK `managedSettings`. Claude Code называет эти параметры родителя.

235 243 

236По умолчанию Claude Code игнорирует параметры родителя, когда присутствует источник администратора: управляемые параметры сервера, политика MDM или уровня ОС или файл управляемых параметров.244По умолчанию Claude Code игнорирует параметры родителя всякий раз, когда присутствует источник администратора: параметры, управляемые сервером, политика MDM или уровня ОС, или управляемый файл параметров.

237 245 

238Чтобы Claude Code объединял параметры родителя вместе с источником администратора, установите [`parentSettingsBehavior`](/docs/ru/settings-reference#parentsettingsbehavior) на `"merge"` в управляемом источнике с наивысшим приоритетом; Claude Code читает ключ из этого источника только.246Чтобы Claude Code объединял параметры родителя наряду с источником администратора, установите [`parentSettingsBehavior`](/docs/ru/settings-reference#parentsettingsbehavior) на `"merge"` в источнике с наивысшим приоритетом; Claude Code читает ключ из этого источника только.

239 247 

240Claude Code затем сохраняет только значения хоста, которые ограничивают то, что может делать Claude, с одним пробелом, который нужно знать: если вы также не установите блокировки `allowManaged*Only`, правила разрешения хоста и списки разрешений песочницы все еще применяются. См. [Ограничьте параметры родителя](/docs/ru/claude-apps-gateway#restrict-parent-settings) для блокировок.248Claude Code затем сохраняет только значения хоста, которые ограничивают то, что может делать Claude, с одним пробелом, о котором нужно знать: если вы также не установите блокировки `allowManaged*Only`, правила разрешения разрешений хоста и списки разрешений песочницы всё ещё применяются. См. [Ограничьте параметры родителя](/docs/ru/claude-apps-gateway#restrict-parent-settings) для блокировок.

241 249 

242[`policyHelper`](/docs/ru/settings-reference#policyhelper) может отключить объединение родителя независимо от этого ключа; его запись говорит, когда.250[`policyHelper`](/docs/ru/settings-reference#policyhelper) может отключить слияние родителя независимо от этого ключа; его запись говорит, когда.

243 251 

244Claude Code также применяет эти проверки к значениям, предоставленным родителем, самостоятельно:252Claude Code также применяет эти проверки к значениям, предоставленным родителем, самостоятельно:

245 253 

246* Когда любой источник администратора устанавливает `allowManagedPermissionRulesOnly`, Claude Code отбрасывает [предоставленные родителем](/docs/ru/claude-apps-gateway#restrict-parent-settings) правила разрешения и `additionalDirectories` по мере их чтения, даже когда источник с более высоким приоритетом оставляет ключ неустановленным. Эффект ключа на ваши собственные правила разрешения поступает из управляемых параметров, которые применяет Claude Code, или из параметров родителя, которые вы выбрали для объединения254* Когда любой источник администратора устанавливает `allowManagedPermissionRulesOnly`, Claude Code отбрасывает [предоставленные родителем](/docs/ru/claude-apps-gateway#restrict-parent-settings) правила разрешения разрешений и `additionalDirectories` по мере их чтения, даже когда источник с более высоким приоритетом оставляет ключ неустановленным. Эффект ключа на ваши собственные правила разрешений исходит из управляемых параметров, которые применяет Claude Code, или из параметров родителя, которые вы выбрали для объединения

247* Claude Code применяет значение `forceLoginOrgUUID` или `allowedMcpServers` в управляемых параметрах, которые он применяет, и блокирует предоставленное родителем. Значение в более низком источнике администратора, который Claude Code не применяет, ни применяется, ни блокирует родительское. Запись [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior) говорит, какой источник предоставляет каждый ключ при `"merge"`. До v2.1.223 значение в любом источнике администратора блокировало родительское255* Claude Code применяет значение `forceLoginOrgUUID` или `allowedMcpServers` в управляемых параметрах, которые он применяет, и блокирует предоставленное родителем. Вне блокировки списка разрешений MCP значение в более низком источнике администратора, который Claude Code не применяет, ни применяется, ни блокирует родителя.

248* Значение `availableModels` следует тому же правилу, что и `allowedMcpServers`256 

257 На Claude Code v2.1.273 или позже, пока `allowManagedMcpServersOnly` включена, список `allowedMcpServers` из источника администратора с наивысшим рейтингом, который его устанавливает, применяется и блокирует родителя, как [кросс-источниковый ключ](#keys-read-from-every-admin-source). Список родителя применяется только когда ни один источник администратора не устанавливает один. Запись [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior) говорит, какой источник предоставляет каждый ключ при `"merge"`. До v2.1.223 значение в любом источнике администратора блокировало родителя

258* Для `availableModels` Claude Code применяет значение в управляемых параметрах, которые он применяет, и блокирует предоставленный родителем список

249 259 

250<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">260<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">

251 Сохраните доступ к папке Cowork, когда применяются только управляемые правила261 Сохраните доступ к папке Cowork, когда применяются только управляемые правила

252</h4>262</h4>

253 263 

254[Cowork](https://claude.com/docs/cowork/overview) в приложении Claude Desktop запускает свои сеансы на Claude Code и предоставляет каждому сеансу доступ к его рабочим папкам, таким как папка, которую подключает пользователь, через правила разрешения, которые он предоставляет при запуске сеанса. Когда ваша управляемая политика устанавливает [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly), Claude Code сохраняет только правила разрешения в управляемой политике: он отбрасывает правила разрешения, которые хост предоставляет как параметры родителя, как `--allowedTools` или в файле параметров, поэтому записи в эти папки теряют предварительное одобрение. В сеансе Cowork, который спрашивает перед редактированием, Cowork не может показать подсказку, и Claude сообщает о каждой записи как заблокированной, потому что путь разрешается в защищенное место или путь вне подключенной папки.264[Cowork](https://claude.com/docs/cowork/overview) в приложении Claude Desktop запускает свои сеансы на Claude Code и предоставляет каждому сеансу доступ к своим рабочим папкам, таким как папка, которую подключает пользователь, через правила разрешения, которые он предоставляет при запуске сеанса. Когда ваша управляемая политика устанавливает [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly), Claude Code сохраняет только правила разрешения в управляемой политике: он отбрасывает правила разрешения, которые хост предоставляет как параметры родителя, как `--allowedTools` или в файле параметров, поэтому записи в эти папки теряют предварительное одобрение. В сеансе Cowork, который спрашивает перед редактированием, Cowork не может показать подсказку, и Claude сообщает о каждой записи как заблокированной, потому что путь разрешается в защищённое место или путь вне подключённой папки.

255 265 

256Чтобы восстановить записи, добавьте правила разрешения для этих папок в управляемый источник, который Claude Code [выбирает](#precedence-within-the-managed-tier) на этих машинах: на управляемом MDM парке это политика MDM, а не отдельный файл управляемых параметров. Этот пример использует форму файла, и политика MDM принимает те же ключи. Он сохраняет `allowManagedPermissionRulesOnly` установленным и позволяет редактировать под папкой `CoworkProjects` в домашнем каталоге каждого пользователя; замените путь на папки, которые подключают ваши пользователи:266Чтобы восстановить записи, добавьте правила разрешения для этих папок в управляемый источник, который Claude Code [выбирает](#precedence-within-the-managed-tier) на этих машинах: на управляемом MDM парке это политика MDM, а не отдельный управляемый файл параметров. Этот пример использует форму файла, и политика MDM принимает те же ключи. Она сохраняет `allowManagedPermissionRulesOnly` установленным и позволяет редактирование в папке `CoworkProjects` в домашнем каталоге каждого пользователя; замените путь на папки, которые подключают ваши пользователи:

257 267 

258```json managed-settings.json theme={null}268```json managed-settings.json theme={null}

259{269{


266}276}

267```277```

268 278 

269После развертывания политики Claude может сохранять файлы под этой папкой в новом сеансе Cowork. [Правила Read и Edit](/docs/ru/permissions#read-and-edit) охватывают синтаксис пути, включая форму `//` для абсолютных путей.279После развёртывания политики Claude может сохранять файлы в этой папке в новом сеансе Cowork. [Правила Read и Edit](/docs/ru/permissions#read-and-edit) охватывают синтаксис пути, включая форму `//` для абсолютных путей.

270 280 

271<h3 id="what-a-developer-can-change">281<h3 id="what-a-developer-can-change">

272 Что может изменить разработчик282 Что может изменить разработчик

273</h3>283</h3>

274 284 

275Собственные файлы параметров разработчика, значения `--settings` и файлы проекта никогда не переопределяют управляемое значение; [исключения](/docs/ru/settings#exceptions-to-managed-settings-precedence) только позволяют учитывать более строгое значение более низкого уровня. Четыре вещи находятся вне этого правила:285Собственные файлы параметров разработчика, значения `--settings` и файлы проекта никогда не переопределяют управляемое значение; [исключения](/docs/ru/settings#exceptions-to-managed-settings-precedence) только позволяют более строгому значению более низкого уровня считаться. Эти случаи находятся вне этого правила:

276 286 

277* **Модель для сеанса**: управляемая `model` — это значение по умолчанию, а не блокировка. `--model` и `ANTHROPIC_MODEL` все еще выбирают модель для этого сеанса, поэтому разверните [`availableModels`](/docs/ru/settings-reference#availablemodels) для ограничения выбора.287* **Модель для сеанса**: управляемая `model` — это значение по умолчанию, а не блокировка. `--model` и `ANTHROPIC_MODEL` всё ещё выбирают модель для этого сеанса, поэтому развёртывайте [`availableModels`](/docs/ru/settings-reference#availablemodels) для ограничения выбора.

278* **Локальные права администратора**: разработчик, который является администратором на машине, может редактировать сам управляемый источник, поэтому инструменты MDM могут повторно развертывать профиль или файл по расписанию и почему существуют реестр HKLM и домен управляемых предпочтений macOS.288* **Локальные права администратора**: разработчик, который является администратором на машине, может редактировать сам управляемый источник, поэтому инструменты MDM могут переразвёртывать профиль или файл по расписанию и почему существуют реестр HKLM и домен управляемых предпочтений macOS.

279* **Кэш управляемых параметров сервера**: управляемые параметры сервера поступают с серверов Anthropic, и редактирование локального кэша [длится только до следующей успешной выборки](/docs/ru/server-managed-settings#security-considerations).289* **Кэш, управляемый сервером**: параметры, управляемые сервером, поступают с серверов Anthropic, и редактирование локального кэша [длится только до следующей успешной выборки](/docs/ru/server-managed-settings#security-considerations).

280* **Другие инструменты**: управляемые параметры связывают только Claude Code. Разработчик, который вызывает API из другого инструмента, не находится под ними.290* **Другие инструменты**: управляемые параметры связывают только Claude Code. Разработчик, который вызывает API из другого инструмента, не находится под ними.

281 291 

282<span id="verify-enforcement" />292<span id="verify-enforcement" />


362| `availableModels` | Применяется как пустой список разрешений, пока не будет исправлено, поэтому доступна только модель Default; запись, не являющаяся строкой, удаляется и применяется действительное подмножество. |372| `availableModels` | Применяется как пустой список разрешений, пока не будет исправлено, поэтому доступна только модель Default; запись, не являющаяся строкой, удаляется и применяется действительное подмножество. |

363| `enforceAvailableModels` | Обрабатывается как `true`. |373| `enforceAvailableModels` | Обрабатывается как `true`. |

364| `forceLoginOrgUUID` | Никакой организации не разрешается входить, пока значение не будет исправлено. |374| `forceLoginOrgUUID` | Никакой организации не разрешается входить, пока значение не будет исправлено. |

375| `gatewayInternalNetworks` | Когда неправильное значение поступает из наивысшего управляемого источника на машине, `/login` отказывает каждому новому входу [облачного шлюза](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) на этой машине, пока значение не будет исправлено. |

365| `crossSessionInbound` | Обрабатывается как `refuse`, самое строгое значение, поэтому входящие [кросс-сеансовые сообщения](/docs/ru/cross-session-messaging#control-inbound-messages) отказываются, пока значение не будет исправлено. Разработчик видит [предупреждение](/docs/ru/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |376| `crossSessionInbound` | Обрабатывается как `refuse`, самое строгое значение, поэтому входящие [кросс-сеансовые сообщения](/docs/ru/cross-session-messaging#control-inbound-messages) отказываются, пока значение не будет исправлено. Разработчик видит [предупреждение](/docs/ru/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |

366| `deniedMcpServers` | Отдельная неправильная запись удаляется и применяется действительное подмножество. Полностью неправильное значение отбрасывается с предупреждением, так как отрицание каждого сервера заблокировало бы серверы, которые политика никогда не называла. |377| `deniedMcpServers` | Отдельная неправильная запись удаляется и применяется действительное подмножество. Полностью неправильное значение отбрасывается с предупреждением, так как отрицание каждого сервера заблокировало бы серверы, которые политика никогда не называла. |

367| `sandbox.credentials` | Восстанавливаемая неправильная запись деградирует до `mode: "deny"` с предупреждением; невосстанавливаемая удаляется; действительные записи остаются применяемыми. См. [неправильные записи учетных данных](/docs/ru/settings-reference#invalid-credential-entries-in-managed-settings) |378| `sandbox.credentials` | Восстанавливаемая неправильная запись деградирует до `mode: "deny"` с предупреждением; невосстанавливаемая удаляется; действительные записи остаются применяемыми. См. [неправильные записи учетных данных](/docs/ru/settings-reference#invalid-credential-entries-in-managed-settings) |


389| [`allowAllClaudeAiMcps`](/docs/ru/settings-reference#allowallclaudeaimcps) | Загружайте соединители claude.ai, которые Claude Code получает сам, вместе с развернутым `managed-mcp.json`, вместо их подавления |400| [`allowAllClaudeAiMcps`](/docs/ru/settings-reference#allowallclaudeaimcps) | Загружайте соединители claude.ai, которые Claude Code получает сам, вместе с развернутым `managed-mcp.json`, вместо их подавления |

390| [`allowedChannelPlugins`](/docs/ru/settings-reference#allowedchannelplugins) | Список разрешений плагинов канала, которые могут отправлять сообщения. Заменяет список разрешений Anthropic по умолчанию, когда установлен. Требует `channelsEnabled: true`. См. [Ограничьте, какие плагины канала могут работать](/docs/ru/channels#restrict-which-channel-plugins-can-run) |401| [`allowedChannelPlugins`](/docs/ru/settings-reference#allowedchannelplugins) | Список разрешений плагинов канала, которые могут отправлять сообщения. Заменяет список разрешений Anthropic по умолчанию, когда установлен. Требует `channelsEnabled: true`. См. [Ограничьте, какие плагины канала могут работать](/docs/ru/channels#restrict-which-channel-plugins-can-run) |

391| [`allowManagedHooksOnly`](/docs/ru/settings-reference#allowmanagedhooksonly) | Когда `true`, ограничивает, какие hooks работают; см. [что работает под `allowManagedHooksOnly`](/docs/ru/settings-reference#what-runs-under-allowmanagedhooksonly) для полного списка эффектов |402| [`allowManagedHooksOnly`](/docs/ru/settings-reference#allowmanagedhooksonly) | Когда `true`, ограничивает, какие hooks работают; см. [что работает под `allowManagedHooksOnly`](/docs/ru/settings-reference#what-runs-under-allowmanagedhooksonly) для полного списка эффектов |

392| [`allowManagedMcpServersOnly`](/docs/ru/settings-reference#allowmanagedmcpserversonly) | Когда `true`, уважаются только `allowedMcpServers` из управляемых параметров. `deniedMcpServers` все еще объединяется из всех источников. См. [Управляемая конфигурация MCP](/docs/ru/managed-mcp) |403| [`allowManagedMcpServersOnly`](/docs/ru/settings-reference#allowmanagedmcpserversonly) | Когда `true`, уважаются только `allowedMcpServers` из управляемых параметров. `deniedMcpServers` все еще объединяется из всех источников. См. [Ключи, читаемые из каждого источника администратора](#keys-read-from-every-admin-source) для того, какие управляемые источники могут его установить, и [Управляемая конфигурация MCP](/docs/ru/managed-mcp) |

393| [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly) | Делает управляемые параметры единственным источником параметров правил разрешения. Запись перечисляет каждый источник, который она игнорирует |404| [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly) | Делает управляемые параметры единственным источником параметров правил разрешения. Запись перечисляет каждый источник, который она игнорирует |

394| [`blockedMarketplaces`](/docs/ru/settings-reference#blockedmarketplaces) | Список блокировки источников маркетплейса. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [управляемые ограничения маркетплейса](/docs/ru/plugin-marketplaces#managed-marketplace-restrictions) |405| [`blockedMarketplaces`](/docs/ru/settings-reference#blockedmarketplaces) | Список блокировки источников маркетплейса. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [управляемые ограничения маркетплейса](/docs/ru/plugin-marketplaces#managed-marketplace-restrictions) |

395| [`channelsEnabled`](/docs/ru/settings-reference#channelsenabled) | Разрешить [каналы](/docs/ru/channels) для организации. См. [элементы управления предприятием](/docs/ru/channels#enterprise-controls) для значения по умолчанию на каждом плане |406| [`channelsEnabled`](/docs/ru/settings-reference#channelsenabled) | Разрешить [каналы](/docs/ru/channels) для организации. См. [элементы управления предприятием](/docs/ru/channels#enterprise-controls) для значения по умолчанию на каждом плане |

mcp.md +65 −15

Details

151 151 

152 Без `--` Claude Code попытался бы разобрать флаги server, такие как `--port` выше, как свои собственные опции.152 Без `--` Claude Code попытался бы разобрать флаги server, такие как `--port` выше, как свои собственные опции.

153 153 

154 `--env` принимает несколько пар `KEY=value`. Если имя server идет сразу после `--env`, CLI читает имя как еще одну пару и отклоняет его, поэтому поместите хотя бы одну другую опцию между `--env` и именем server, как в примерах выше.154 `--env` принимает несколько пар `KEY=value`. Если имя server идет сразу после `--env`, CLI читает имя как еще одну пару и отклоняет его, поэтому поместите хотя бы одну другую опцию, такую как `--transport stdio`, между `--env` и именем server.

155</Note>155</Note>

156 156 

157<h3 id="option-4-add-a-remote-websocket-server">157<h3 id="option-4-add-a-remote-websocket-server">


323* **Скрытое пробельное пространство**: Claude Code предупреждает, когда значение конфигурации MCP содержит скрытое ведущее или конечное пробельное пространство, которое часто поступает из вставки токена с конечным переводом строки. Claude Code проверяет `command`, `url`, каждую запись `args` и значения и имена ключей под `env` и `headers`. Claude Code показывает предупреждение в выводе `claude mcp list` и в `/mcp`, называя затронутые поля без повторения их значений, например `Leading or trailing whitespace in: headers.Authorization`. Claude Code не обрезает пробельное пространство и использует значения точно так, как написано, поэтому отредактируйте конфигурацию, чтобы удалить его.323* **Скрытое пробельное пространство**: Claude Code предупреждает, когда значение конфигурации MCP содержит скрытое ведущее или конечное пробельное пространство, которое часто поступает из вставки токена с конечным переводом строки. Claude Code проверяет `command`, `url`, каждую запись `args` и значения и имена ключей под `env` и `headers`. Claude Code показывает предупреждение в выводе `claude mcp list` и в `/mcp`, называя затронутые поля без повторения их значений, например `Leading or trailing whitespace in: headers.Authorization`. Claude Code не обрезает пробельное пространство и использует значения точно так, как написано, поэтому отредактируйте конфигурацию, чтобы удалить его.

324* **Одно имя в более чем одной области**: если вы определяете одно имя server в более чем одной [области](#mcp-installation-scopes) с разными endpoint, Claude Code предупреждает о конфликте в выводе `claude mcp list` и в `/mcp`. Claude Code хранит OAuth входы для каждого endpoint, поэтому когда вы аутентифицируете определение, которое загружается в одном проекте, вам все еще нужно войти отдельно в проекте, где загружается другое определение. Сохраните endpoint, который вы хотите, и удалите остальные с помощью `claude mcp remove <name> --scope <scope>`. В предупреждении Claude Code цитирует endpoint каждой области, как написано в вашей конфигурации, с неразвернутыми ссылками [`${VAR}`](#environment-variable-expansion-in-mcp-json), поэтому он никогда не показывает разрешенное значение, такое как API ключ.324* **Одно имя в более чем одной области**: если вы определяете одно имя server в более чем одной [области](#mcp-installation-scopes) с разными endpoint, Claude Code предупреждает о конфликте в выводе `claude mcp list` и в `/mcp`. Claude Code хранит OAuth входы для каждого endpoint, поэтому когда вы аутентифицируете определение, которое загружается в одном проекте, вам все еще нужно войти отдельно в проекте, где загружается другое определение. Сохраните endpoint, который вы хотите, и удалите остальные с помощью `claude mcp remove <name> --scope <scope>`. В предупреждении Claude Code цитирует endpoint каждой области, как написано в вашей конфигурации, с неразвернутыми ссылками [`${VAR}`](#environment-variable-expansion-in-mcp-json), поэтому он никогда не показывает разрешенное значение, такое как API ключ.

325* **Зарезервированные имена**: Claude Code резервирует имена своих встроенных servers, включая `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview` и `Claude Browser`. Если ваша конфигурация определяет server с зарезервированным именем, Claude Code пропускает его при загрузке и показывает предупреждение с просьбой переименовать его. `claude mcp add` отклоняет зарезервированное имя с ошибкой. `Claude Preview` и `Claude Browser` оба называют встроенный server, который использует [панель предпросмотра приложения Claude Code desktop](/docs/ru/desktop#preview-your-app). До версии 2.1.205 `Claude Browser` не был зарезервирован, поэтому пользовательский server мог зарегистрироваться под этим именем.325* **Зарезервированные имена**: Claude Code резервирует имена своих встроенных servers, включая `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview` и `Claude Browser`. Если ваша конфигурация определяет server с зарезервированным именем, Claude Code пропускает его при загрузке и показывает предупреждение с просьбой переименовать его. `claude mcp add` отклоняет зарезервированное имя с ошибкой. `Claude Preview` и `Claude Browser` оба называют встроенный server, который использует [панель предпросмотра приложения Claude Code desktop](/docs/ru/desktop#preview-your-app). До версии 2.1.205 `Claude Browser` не был зарезервирован, поэтому пользовательский server мог зарегистрироваться под этим именем.

326* **Отсутствующая переменная окружения**: если ссылка [`${VAR}`](#environment-variable-expansion-in-mcp-json) в конфигурации server называет переменную, которая не установлена и не имеет `:-default`, Claude Code предупреждает в выводе `claude mcp list` и в `/mcp`, называя переменную, и все еще загружает server с текстом `${VAR}` неразвернутым. Установите переменную или добавьте fallback `${VAR:-default}`.326* **Отсутствующая переменная окружения**: если ссылка [`${VAR}`](#environment-variable-expansion-in-mcp-json) в конфигурации server называет переменную, которая не установлена и не имеет `:-default`, Claude Code предупреждает в выводе `claude mcp list` и в `/mcp`, называя переменную, и все еще загружает server с текстом `${VAR}` неразвернутым. Установите переменную или добавьте fallback `${VAR:-default}`. В URL и `headers` удаленного server некоторые переменные учетных данных [читаются как пустые](#credential-variables-that-read-as-empty) вместо этого, без предупреждения.

327 327 

328<h4 id="tool-availability">328<h4 id="tool-availability">

329 Доступность инструментов329 Доступность инструментов


360 360 

361Claude Code подключается к MCP servers через один из двух client runtimes. Runtime v1 построен на MCP TypeScript SDK 1.x. Runtime v2 — это тот же код на [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), который добавляет MCP protocol revision 2026-07-28. Остальная часть этой страницы применяется к обоим runtimes, кроме случаев, когда раздел называет runtime v2.361Claude Code подключается к MCP servers через один из двух client runtimes. Runtime v1 построен на MCP TypeScript SDK 1.x. Runtime v2 — это тот же код на [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), который добавляет MCP protocol revision 2026-07-28. Остальная часть этой страницы применяется к обоим runtimes, кроме случаев, когда раздел называет runtime v2.

362 362 

363На Claude Code версии 2.1.232 или позже Claude Code использует runtime v2. Он выбирает runtime каждый раз, когда вы его запускаете, и сохраняет его до выхода. Он использует v1, когда вы его запускаете:363Claude Code выбирает runtime каждый раз, когда вы его запускаете, и сохраняет его до выхода. В сеансах, где он [получает feature flags](/docs/ru/env-vars#features-that-need-feature-flag-fetching), он использует runtime v2 на Claude Code версии 2.1.232 или позже.

364 364 

365* На Amazon Bedrock, Claude Platform на AWS, Google Cloud's Agent Platform или Microsoft Foundry, если платформа-хост, которая встраивает Claude Code, не установит [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ru/env-vars)365В сеансах, где он не получает feature flags, Claude Code использует runtime v2 по умолчанию на Claude Code версии 2.1.274 или позже:

366* Вошли через [Claude apps gateway](/docs/ru/claude-apps-gateway)366 

367* С [отключенной загрузкой feature-flag](/docs/ru/env-vars#features-that-need-feature-flag-fetching)367* Сеансы на Amazon Bedrock, Claude Platform на AWS, Google Cloud's Agent Platform или Microsoft Foundry, если платформа-хост, которая встраивает Claude Code, не установит [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ru/env-vars)

368* Сеансы, вошедшие через [Claude apps gateway](/docs/ru/claude-apps-gateway)

369* Сеансы, где вы отключаете телеметрию или получение feature-flag, например с `DISABLE_TELEMETRY`

368 370 

369На v2 Claude Code также:371На v2 Claude Code также:

370 372 

371* Спрашивает HTTP и claude.ai connector servers, поддерживают ли они более новую revision, и использует ее с теми, которые это делают. Он спрашивает stdio servers только если вы установите [`MCP_PROTOCOL_NEGOTIATION`](/docs/ru/env-vars) на `auto`, и подключается к каждому другому server, как v1 это делает.373* Спрашивает HTTP servers, поддерживают ли они более новую revision, и использует ее с теми, которые это делают. Он также спрашивает claude.ai connector servers в сеансах, где он получает feature flags. Чтобы он спрашивал stdio servers или connector servers в каждом сеансе, установите [`MCP_PROTOCOL_NEGOTIATION`](/docs/ru/env-vars) на `auto`. Он подключается к каждому другому server, как v1 это делает.

372* Получает уведомления `list_changed` от servers на более новой revision через [stream, который он держит открытым](#notification-streams-on-the-v2-runtime).374* Получает уведомления `list_changed` от servers на более новой revision через [stream, который он держит открытым](#notification-streams-on-the-v2-runtime).

373* Не регистрирует [channel](#push-messages-with-channels) server, который подключается на более новой revision, потому что эта revision не может переносить channel сообщения.375* Не регистрирует [channel](#push-messages-with-channels) server, который подключается на более новой revision, потому что эта revision не может переносить channel сообщения.

374* Не удается [MCP OAuth sign-in](#authenticate-with-remote-mcp-servers), чей ответ авторизации называет неожиданный issuer.376* Не удается [MCP OAuth sign-in](#authenticate-with-remote-mcp-servers), чей ответ авторизации называет неожиданный issuer.

375 377 

376Anthropic может сохранить конкретный server на более ранней protocol или вне этого stream с помощью feature flag, который Claude Code получает.378Anthropic может сохранить конкретный server на более ранней protocol или вне этого stream с помощью feature flag, который Claude Code получает.

377 379 

378Чтобы выбрать runtime самостоятельно, установите [`MCP_SDK_GENERATION`](/docs/ru/env-vars) на `v1` или `v2`. Чтобы решить, спрашивает ли Claude Code, установите [`MCP_PROTOCOL_NEGOTIATION`](/docs/ru/env-vars) на `auto` или `legacy`. Где Claude Code использует v1 по умолчанию, закрепление `v2` не заставляет его спрашивать, поэтому установите `auto` тоже.380Чтобы выбрать runtime самостоятельно, установите [`MCP_SDK_GENERATION`](/docs/ru/env-vars) на `v1` или `v2`. Чтобы решить, спрашивает ли Claude Code, установите [`MCP_PROTOCOL_NEGOTIATION`](/docs/ru/env-vars) на `auto` или `legacy`.

379 381 

380<h3 id="dynamic-tool-updates">382<h3 id="dynamic-tool-updates">

381 Динамические обновления инструментов383 Динамические обновления инструментов


540 * Если вы включаете или отключаете плагин во время сеанса, Claude Code подключает или отключает его MCP servers, когда изменение применяется. [Применить изменения плагина без перезагрузки](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting) описывает, когда это происходит. В сеансе без интерактивного терминала `/reload-plugins` не подключает или отключает plugin MCP servers; эти изменения вступают в силу в вашем следующем сеансе542 * Если вы включаете или отключаете плагин во время сеанса, Claude Code подключает или отключает его MCP servers, когда изменение применяется. [Применить изменения плагина без перезагрузки](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting) описывает, когда это происходит. В сеансе без интерактивного терминала `/reload-plugins` не подключает или отключает plugin MCP servers; эти изменения вступают в силу в вашем следующем сеансе

541 * Когда вы перезагружаете, Claude Code сохраняет живые подключения plugin servers, конфигурация которых не изменилась, и делает то же самое, когда вы [заменяете список MCP servers сеанса](/docs/ru/agent-sdk/typescript#mcpsetserversresult) из Agent SDK без их названия543 * Когда вы перезагружаете, Claude Code сохраняет живые подключения plugin servers, конфигурация которых не изменилась, и делает то же самое, когда вы [заменяете список MCP servers сеанса](/docs/ru/agent-sdk/typescript#mcpsetserversresult) из Agent SDK без их названия

542 * Когда вы [перемещаете сеанс с `/cd`](/docs/ru/permissions#move-the-session-to-another-directory) на версии 2.1.246 или позже, Claude Code подключает servers плагинов, которые включают параметры новой директории, и отключает servers плагинов, которые больше не включены, поэтому вам не нужно запускать `/reload-plugins` после перемещения544 * Когда вы [перемещаете сеанс с `/cd`](/docs/ru/permissions#move-the-session-to-another-directory) на версии 2.1.246 или позже, Claude Code подключает servers плагинов, которые включают параметры новой директории, и отключает servers плагинов, которые больше не включены, поэтому вам не нужно запускать `/reload-plugins` после перемещения

543 * В [web sessions](/docs/ru/claude-code-on-the-web) вызов MCP к plugin server, который еще не подключен, такой как сразу после пробуждения неактивного сеанса, запускает server по требованию и ждет его подключения545 * В [cloud sessions](/docs/ru/claude-code-on-the-web) вызов MCP к plugin server, который еще не подключен, такой как сразу после пробуждения неактивного сеанса, запускает server по требованию и ждет его подключения

544* **Заполнители пути**: `${CLAUDE_PLUGIN_ROOT}` разрешается в директорию установки плагина, `${CLAUDE_PLUGIN_DATA}` в его [директорию постоянного состояния](/docs/ru/plugins-reference#persistent-data-directory), и `${CLAUDE_PROJECT_DIR}` в стабильный корень проекта. Подстановка применяется к:546* **Заполнители пути**: `${CLAUDE_PLUGIN_ROOT}` разрешается в директорию установки плагина, `${CLAUDE_PLUGIN_DATA}` в его [директорию постоянного состояния](/docs/ru/plugins-reference#persistent-data-directory), и `${CLAUDE_PROJECT_DIR}` в стабильный корень проекта. Подстановка применяется к:

545 * `stdio` servers: `command`, `args`, `env`547 * `stdio` servers: `command`, `args`, `env`

546 * `http`, `sse` и `ws` servers: `url`, `headers` и `headersHelper`. До версии 2.1.195 `headersHelper` передавал заполнитель как буквальную строку548 * `http`, `sse` и `ws` servers: `url`, `headers` и `headersHelper`. До версии 2.1.195 `headersHelper` передавал заполнитель как буквальную строку


679 681 

680Claude Code поддерживает расширение переменных окружения в файлах `.mcp.json`, позволяя командам делиться конфигурациями, сохраняя гибкость для путей, специфичных для машины, и чувствительных значений, таких как ключи API.682Claude Code поддерживает расширение переменных окружения в файлах `.mcp.json`, позволяя командам делиться конфигурациями, сохраняя гибкость для путей, специфичных для машины, и чувствительных значений, таких как ключи API.

681 683 

682**Поддерживаемый синтаксис:**684<h4 id="supported-syntax">

685 Поддерживаемый синтаксис

686</h4>

683 687 

684* `${VAR}`: расширяется до значения переменной окружения `VAR`688* `${VAR}`: расширяется до значения переменной окружения `VAR`

685* `${VAR:-default}`: расширяется до `VAR`, если установлена, иначе использует `default`689* `${VAR:-default}`: расширяется до `VAR`, если установлена, иначе использует `default`

686 690 

687**Места расширения:**691<h4 id="expansion-locations">

692 Места расширения

693</h4>

694 

688Переменные окружения могут быть расширены в:695Переменные окружения могут быть расширены в:

689 696 

690* `command`: путь к исполняемому файлу server697* `command`: путь к исполняемому файлу server


693* `url`: для типов HTTP server700* `url`: для типов HTTP server

694* `headers`: для аутентификации HTTP server701* `headers`: для аутентификации HTTP server

695 702 

696**Пример с расширением переменных:**703<h4 id="example-with-variable-expansion">

704 Пример с расширением переменных

705</h4>

697 706 

698```json theme={null}707```json theme={null}

699{708{


709}718}

710```719```

711 720 

712Если требуемая переменная окружения не установлена и не имеет значения по умолчанию, конфигурация все еще загружается: Claude Code сообщает предупреждение об отсутствующей переменной для этого server в выводе `claude mcp list` и использует неразвернутый текст `${VAR}` как есть. Установите переменную или добавьте резервное значение `:-default`, чтобы server запустился с предполагаемым значением.721<h4 id="unset-variables-without-a-default">

722 Неустановленные переменные без значения по умолчанию

723</h4>

724 

725Если требуемая переменная окружения не установлена и не имеет значения по умолчанию, конфигурация все еще загружается: Claude Code сообщает предупреждение об отсутствующей переменной для этого server в выводе `claude mcp list` и использует неразвернутый текст `${VAR}` как есть. Установите переменную или добавьте резервное значение `:-default`, чтобы server запустился с предполагаемым значением. В `url` и `headers` удаленного server некоторые переменные учетных данных [читаются как пустые](#credential-variables-that-read-as-empty) вместо этого, без предупреждения.

726 

727<h4 id="credential-variables-that-read-as-empty">

728 Переменные учетных данных, которые читаются как пустые

729</h4>

730 

731В `url` и `headers` удаленного server Claude Code читает переменные учетных данных из вашего окружения как пустые, а не расширяет их. Это предотвращает отправку конфигурации `.mcp.json` проекта или плагина ваших учетных данных Claude Code или облачного провайдера на server, который он называет. Если вы напишете `Bearer ${ANTHROPIC_AUTH_TOKEN}`, server получит `Bearer ` без учетных данных и отклонит запрос, обычно с `401`. Claude Code сообщает об этом как о неудачном подключении.

732 

733Охватываемые имена:

734 

735* Собственные учетные данные Claude Code, такие как `ANTHROPIC_API_KEY` и `ANTHROPIC_AUTH_TOKEN`

736* Учетные данные вашего облачного провайдера, такие как `AWS_BEARER_TOKEN_BEDROCK`

737* Другие учетные данные, которые несет ваше окружение, такие как `HTTPS_PROXY` и `NPM_TOKEN`

738 

739Охватываемое имя читается как пустое независимо от того, установили ли вы переменную, и резервное значение `:-default` на нем игнорируется. URL базы провайдера, такой как `ANTHROPIC_BASE_URL`, все еще расширяется, поэтому `"url": "${ANTHROPIC_BASE_URL}/mcp"` работает, если только значение URL не встраивает учетные данные, такие как имя пользователя и пароль.

740 

741Имя вне этого набора, такое как `API_KEY`, расширяется как написано. Чтобы дать server одно из охватываемых учетных данных, скопируйте его в переменную с именем вашего собственного и ссылайтесь на это имя вместо этого.

742 

743Когда `url` или `headers` удаленного server ссылаются на охватываемую переменную, которую вы установили, Claude Code называет ее в строке журнала отладки. Чтобы прочитать строку, запустите `claude --debug-file /tmp/claude-debug.log` и найдите в этом файле `never expanded toward a remote server`.

744 

745<h4 id="how-references-appear-in-/mcp-and-cli-output">

746 Как ссылки отображаются в `/mcp` и выводе CLI

747</h4>

748 

749Для server в локальной, проектной или пользовательской [области](#mcp-installation-scopes) следующие поверхности показывают ссылку `${VAR}` по имени, а не как ее разрешенное значение:

750 

751* URL или командная строка в представлении деталей `/mcp` server

752* Вывод `claude mcp list` и `claude mcp get`

753 

754Представление деталей `/mcp` показывает ссылки таким образом в Claude Code v2.1.268 или позже.

755 

756Для server, который ваша организация предоставляет через параметр `managedMcpServers`, эти поверхности показывают [только хост URL](/docs/ru/managed-mcp#what-users-can-see-and-change).

757 

758Чтобы проверить, что показывают `claude mcp list`, `claude mcp get` и `/mcp` при сбое подключения, см. [Деталь статуса server](#server-status-detail).

713 759 

714<h2 id="practical-examples">760<h2 id="practical-examples">

715 Практические примеры761 Практические примеры


779 825 

780* Для server, на который вы еще не вошли, любой из этих кодов состояния отмечает его в `/mcp`, чтобы вы могли завершить поток OAuth.826* Для server, на который вы еще не вошли, любой из этих кодов состояния отмечает его в `/mcp`, чтобы вы могли завершить поток OAuth.

781* Для [разъема claude.ai](#use-mcp-servers-from-claude-ai), `401`, вызванный отклонением claude.ai вашего токена сеанса, не отмечает разъем, потому что повторная авторизация разъема не может исправить вашу учетную запись. Claude Code показывает [состояние отклонения токена сеанса](/docs/ru/errors#claude-ai-rejected-the-session-token) вместо этого.827* Для [разъема claude.ai](#use-mcp-servers-from-claude-ai), `401`, вызванный отклонением claude.ai вашего токена сеанса, не отмечает разъем, потому что повторная авторизация разъема не может исправить вашу учетную запись. Claude Code показывает [состояние отклонения токена сеанса](/docs/ru/errors#claude-ai-rejected-the-session-token) вместо этого.

782* Для server, чей заголовок `Authorization` вы настроили в `headers` или через [`headersHelper`](#use-dynamic-headers-for-custom-authentication), `401` или `403` при подключении не отмечает server, потому что учетные данные для исправления — это те, которые вы настроили. Claude Code сообщает о соединении как о неудачном вместо этого.828* Для server, чей заголовок `Authorization` вы настроили в `headers` или через [`headersHelper`](#use-dynamic-headers-for-custom-authentication), `401` или `403` при подключении не отмечает server, потому что учетные данные для исправления — это те, которые вы настроили. Claude Code сообщает о соединении как о неудачном вместо этого. Если вы установили этот заголовок из ссылки `${VAR}`, проверьте, является ли эта переменная одной из тех, которые Claude Code [читает как пустые](#credential-variables-that-read-as-empty).

783* Для разъема [доставленного в облачный сеанс](#how-connectors-reach-claude-code), Claude Code не запускает поток входа, потому что прокси сеанса аутентифицируется с разъемом с авторизацией, которую вы предоставили в claude.ai. Когда разъем там требует авторизации снова, переподключите его на [claude.ai/customize/connectors](https://claude.ai/customize/connectors) вместо сеанса.829* Для разъема [доставленного в облачный сеанс](#how-connectors-reach-claude-code), Claude Code не запускает поток входа, потому что прокси сеанса аутентифицируется с разъемом с авторизацией, которую вы предоставили в claude.ai. Когда разъем там требует авторизации снова, переподключите его на [claude.ai/customize/connectors](https://claude.ai/customize/connectors) вместо сеанса.

784 830 

785Когда запрос к OAuth server, на который вы уже вошли, возвращает `401 Unauthorized`, Claude Code обновляет сохраненный токен, переподключается и повторяет запрос один раз. Он отмечает server в `/mcp` только если этот повторный запрос также не удается. До v2.1.206 обновление токена, которое не удалось по временной причине, такой как ошибка сети, отмечало OAuth server как требующий аутентификации для остальной части сеанса, даже если его токен обновления был все еще действителен.831Когда запрос к OAuth server, на который вы уже вошли, возвращает `401 Unauthorized`, Claude Code обновляет сохраненный токен, переподключается и повторяет запрос один раз. Он отмечает server в `/mcp` только если этот повторный запрос также не удается. До v2.1.206 обновление токена, которое не удалось по временной причине, такой как ошибка сети, отмечало OAuth server как требующий аутентификации для остальной части сеанса, даже если его токен обновления был все еще действителен.


790 836 

791Claude Code также показывает уведомление при запуске, когда один или несколько настроенных servers требуют аутентификации, поэтому вам не нужно открывать `/mcp` для обнаружения, какие servers требуют входа. Уведомление требует Claude Code v2.1.193 или позже. Оно считает только servers, на которые вы можете войти из Claude Code. До v2.1.218 оно также считало [разъемы claude.ai](#use-mcp-servers-from-claude-ai), которые не были подключены в claude.ai, которые вы можете подключить только из параметров claude.ai.837Claude Code также показывает уведомление при запуске, когда один или несколько настроенных servers требуют аутентификации, поэтому вам не нужно открывать `/mcp` для обнаружения, какие servers требуют входа. Уведомление требует Claude Code v2.1.193 или позже. Оно считает только servers, на которые вы можете войти из Claude Code. До v2.1.218 оно также считало [разъемы claude.ai](#use-mcp-servers-from-claude-ai), которые не были подключены в claude.ai, которые вы можете подключить только из параметров claude.ai.

792 838 

839Уведомление объявляет каждый server один раз и исключает его из подсчета при последующих запусках, пока этот server не подключится и не потребует входа снова. `/mcp` по-прежнему перечисляет каждый server, который требует входа.

840 

793В неинтерактивном режиме нет панели `/mcp`, поэтому Claude Code не может запустить поток OAuth для вас. Начиная с v2.1.196, когда настроенный server требует аутентификации во время запуска `claude -p` или Agent SDK с включенным [поиском инструментов](#scale-with-mcp-tool-search), что является значением по умолчанию, Claude Code сообщает Claude, что инструменты server недоступны, пока вы его не авторизуете. Claude затем может назвать server, который требует входа, вместо того чтобы отвечать так, как будто server не был настроен. Завершите вход из интерактивного сеанса с помощью `/mcp` или `claude mcp login <name>`.841В неинтерактивном режиме нет панели `/mcp`, поэтому Claude Code не может запустить поток OAuth для вас. Начиная с v2.1.196, когда настроенный server требует аутентификации во время запуска `claude -p` или Agent SDK с включенным [поиском инструментов](#scale-with-mcp-tool-search), что является значением по умолчанию, Claude Code сообщает Claude, что инструменты server недоступны, пока вы его не авторизуете. Claude затем может назвать server, который требует входа, вместо того чтобы отвечать так, как будто server не был настроен. Завершите вход из интерактивного сеанса с помощью `/mcp` или `claude mcp login <name>`.

794 842 

795Если вы настроили `headers.Authorization` для server и server отклонил этот заголовок, Claude Code сообщает о соединении как о неудачном вместо того, чтобы вернуться к OAuth. Проверьте, что токен действителен для конечной точки MCP, или удалите заголовок, чтобы использовать поток OAuth.843Если вы настроили `headers.Authorization` для server и server отклонил этот заголовок, Claude Code сообщает о соединении как о неудачном вместо того, чтобы вернуться к OAuth. Проверьте, что токен действителен для конечной точки MCP, или удалите заголовок, чтобы использовать поток OAuth.


983 1031 

984Если сервер авторизации объявляет `offline_access` в `scopes_supported`, Claude Code добавляет его к фиксированным областям, чтобы токен доступа мог быть обновлен без нового входа в браузер.1032Если сервер авторизации объявляет `offline_access` в `scopes_supported`, Claude Code добавляет его к фиксированным областям, чтобы токен доступа мог быть обновлен без нового входа в браузер.

985 1033 

986Если server позже возвращает 403 `insufficient_scope` для вызова инструмента, Claude Code переаутентифицируется с теми же фиксированными областями. Расширьте `oauth.scopes`, когда инструмент, который вам нужен, требует область вне фиксированного набора.1034Если server позже возвращает 403 `insufficient_scope` для вызова инструмента, вызов не удается с сообщением [`needs additional permissions`](/docs/ru/errors#mcp-server-needs-you-to-sign-in-again), которое называет область, которую запрашивает server. Server показывается как требующий аутентификации в `/mcp`.

1035 

1036Если эта область не находится в вашем фиксированном `oauth.scopes`, добавьте ее, затем запустите `/mcp` и аутентифицируйте server снова. Claude Code запрашивает фиксированные области, а не область, которую назвал server, поэтому если вы аутентифицируетесь снова без добавления ее, токен, который вы получите, по-прежнему ей не хватает.

987 1037 

988<h3 id="use-dynamic-headers-for-custom-authentication">1038<h3 id="use-dynamic-headers-for-custom-authentication">

989 Используйте динамические заголовки для пользовательской аутентификации1039 Используйте динамические заголовки для пользовательской аутентификации

Details

308* **Настольное приложение Claude Code**: добавляйте серверы через [Connectors UI](/docs/ru/desktop#connect-external-tools).308* **Настольное приложение Claude Code**: добавляйте серверы через [Connectors UI](/docs/ru/desktop#connect-external-tools).

309* **Приложение Claude Desktop chat**: отдельное приложение от Claude Code. Чтобы скопировать серверы из его `claude_desktop_config.json` в CLI, запустите `claude mcp add-from-claude-desktop` на macOS или WSL.309* **Приложение Claude Desktop chat**: отдельное приложение от Claude Code. Чтобы скопировать серверы из его `claude_desktop_config.json` в CLI, запустите `claude mcp add-from-claude-desktop` на macOS или WSL.

310* **VS Code**: см. [Подключение к внешним инструментам с MCP](/docs/ru/vs-code#connect-to-external-tools-with-mcp).310* **VS Code**: см. [Подключение к внешним инструментам с MCP](/docs/ru/vs-code#connect-to-external-tools-with-mcp).

311* **Claude Code в веб-версии**: читает `.mcp.json` из вашего репозитория. См. [Редактирование .mcp.json напрямую](#edit-mcp-json-directly).311* **Cloud sessions**: зафиксируйте `.mcp.json` в вашем репозитории; сеанс с одним репозиторием загружает его. См. [Редактирование .mcp.json напрямую](#edit-mcp-json-directly) и [Что переносится из вашей установки](/docs/ru/cloud-environments#what-carries-over-from-your-setup).

312* **Claude.ai**: коннекторы, которые вы добавляете в [claude.ai/customize/connectors](https://claude.ai/customize/connectors), загружаются автоматически в CLI, когда вы входите с этой учётной записью. См. [Использование серверов MCP из Claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai).312* **Claude.ai**: коннекторы, которые вы добавляете в [claude.ai/customize/connectors](https://claude.ai/customize/connectors), загружаются автоматически в CLI, когда вы входите с этой учётной записью. См. [Использование серверов MCP из Claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai).

313 313 

314<h2 id="troubleshooting">314<h2 id="troubleshooting">

memory.md +189 −60

Details

4 4 

5# Как Claude запоминает ваш проект5# Как Claude запоминает ваш проект

6 6 

7> Дайте Claude постоянные инструкции с помощью файлов CLAUDE.md и позвольте Claude автоматически накапливать знания с помощью auto memory.7> Дайте Claude постоянные инструкции с помощью файлов CLAUDE.md или AGENTS.md и позвольте Claude автоматически накапливать знания с помощью auto memory.

8 8 

9Каждый сеанс Claude Code начинается со свежего context window. Два механизма переносят знания между сеансами:9Каждый сеанс Claude Code начинается со свежего context window. Два механизма переносят знания между сеансами:

10 10 

11* **Файлы CLAUDE.md**: инструкции, которые вы пишете, чтобы дать Claude постоянный контекст11* **Файлы CLAUDE.md**: инструкции, которые вы пишете, чтобы дать Claude постоянный контекст. Claude также может читать файлы [`AGENTS.md`](#agents-md) репозитория отдельно или вместе с CLAUDE.md

12* **Auto memory**: заметки, которые Claude пишет сам на основе ваших исправлений и предпочтений12* **Auto memory**: заметки, которые Claude пишет сам на основе ваших исправлений и предпочтений

13 13 

14На этой странице рассматривается, как:14На этой странице рассматривается, как:

15 15 

16* [Писать и организовывать файлы CLAUDE.md](#claude-md-files)16* [Писать и организовывать файлы CLAUDE.md](#claude-md-files)

17* [Использовать существующий AGENTS.md](#agents-md) как инструкции вашего проекта отдельно или вместе с CLAUDE.md

17* [Ограничивать правила определёнными типами файлов](#organize-rules-with-claude/rules/) с помощью `.claude/rules/`18* [Ограничивать правила определёнными типами файлов](#organize-rules-with-claude/rules/) с помощью `.claude/rules/`

18* [Настраивать auto memory](#auto-memory) так, чтобы Claude автоматически делал заметки19* [Настраивать auto memory](#auto-memory) так, чтобы Claude автоматически делал заметки

19* [Устранять неполадки](#troubleshoot-memory-issues) когда инструкции не соблюдаются20* [Устранять неполадки](#troubleshoot-memory-issues) когда инструкции не соблюдаются


40 Файлы CLAUDE.md41 Файлы CLAUDE.md

41</h2>42</h2>

42 43 

43Файлы CLAUDE.md — это файлы markdown, которые дают Claude постоянные инструкции для проекта, вашего личного рабочего процесса или всей организации. Вы пишете эти файлы в виде простого текста; Claude читает их в начале каждой сессии.44Файлы CLAUDE.md — это файлы markdown, которые предоставляют Claude постоянные инструкции для проекта, вашего личного рабочего процесса или всей организации. Вы пишете эти файлы в простом текстовом формате; Claude читает их в начале каждой сессии. Если ваш репозиторий использует `AGENTS.md` вместо этого, см. [AGENTS.md](#agents-md).

44 45 

45<h3 id="when-to-add-to-claude-md">46<h3 id="when-to-add-to-claude-md">

46 Когда добавлять в CLAUDE.md47 Когда добавлять в CLAUDE.md


53* Вы вводите одно и то же исправление или уточнение в чат, которое вводили в предыдущей сессии54* Вы вводите одно и то же исправление или уточнение в чат, которое вводили в предыдущей сессии

54* Новому члену команды потребуется тот же контекст для продуктивной работы55* Новому члену команды потребуется тот же контекст для продуктивной работы

55 56 

56Ограничивайте его фактами, которые Claude должен помнить в каждой сессии: команды сборки, соглашения, макет проекта, правила «всегда делай X». Если запись — это многошаговая процедура или имеет значение только для одной части кодовой базы, переместите её в [skill](/docs/ru/skills) или [path-scoped rule](#organize-rules-with-claude/rules/) вместо этого. [Обзор расширений](/docs/ru/features-overview#build-your-setup-over-time) охватывает, когда использовать каждый механизм.57Ограничивайте это фактами, которые Claude должен помнить в каждой сессии: команды сборки, соглашения, макет проекта, правила «всегда делай X». Если запись — это многошаговая процедура или имеет значение только для одной части кодовой базы, переместите её в [skill](/docs/ru/skills) или [path-scoped rule](#organize-rules-with-claude/rules/) вместо этого. [Обзор расширений](/docs/ru/features-overview#build-your-setup-over-time) охватывает, когда использовать каждый механизм.

57 58 

58<h3 id="choose-where-to-put-claude-md-files">59<h3 id="choose-where-to-put-claude-md-files">

59 Выберите, где разместить файлы CLAUDE.md60 Выберите, где разместить файлы CLAUDE.md


62Файлы CLAUDE.md могут находиться в нескольких местах, каждое с разной областью действия. Таблица ниже перечисляет их в порядке загрузки, от самой широкой области действия к наиболее специфичной, поэтому инструкция проекта появляется в контексте после инструкции пользователя.63Файлы CLAUDE.md могут находиться в нескольких местах, каждое с разной областью действия. Таблица ниже перечисляет их в порядке загрузки, от самой широкой области действия к наиболее специфичной, поэтому инструкция проекта появляется в контексте после инструкции пользователя.

63 64 

64| Область действия | Местоположение | Назначение | Примеры использования | Общий доступ с |65| Область действия | Местоположение | Назначение | Примеры использования | Общий доступ с |

65| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------- |66| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------ | --------------------------------------- |

66| **Управляемая политика** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux и WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Инструкции на уровне организации, управляемые IT/DevOps | Стандарты кодирования компании, политики безопасности, требования соответствия | Все пользователи в организации |67| **Управляемая политика** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux и WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Инструкции на уровне организации, управляемые IT/DevOps | Стандарты кодирования компании, политики безопасности, требования соответствия | Все пользователи в организации |

67| **Инструкции пользователя** | `~/.claude/CLAUDE.md` | Личные предпочтения для всех проектов | Предпочтения стиля кода, личные ярлыки инструментов | Только вы (все проекты) |68| **Инструкции пользователя** | `~/.claude/CLAUDE.md` | Личные предпочтения для всех проектов | Предпочтения стиля кода, личные ярлыки инструментов | Только вы (все проекты) |

68| **Инструкции проекта** | `./CLAUDE.md` или `./.claude/CLAUDE.md` | Инструкции, общие для команды проекта | Архитектура проекта, стандарты кодирования, общие рабочие процессы | Члены команды через систему контроля версий |69| **Инструкции проекта** | `./CLAUDE.md` или `./.claude/CLAUDE.md`. См. [AGENTS.md](#agents-md) для информации о том, когда `./AGENTS.md` загружается вместо них или вместе с ними | Инструкции, общие для команды по проекту | Архитектура проекта, стандарты кодирования, общие рабочие процессы | Члены команды через управление версиями |

69| **Локальные инструкции** | `./CLAUDE.local.md` | Личные предпочтения, специфичные для проекта; добавьте в `.gitignore` | Ваши URL-адреса песочницы, предпочитаемые тестовые данные | Только вы (текущий проект) |70| **Локальные инструкции** | `./CLAUDE.local.md` | Личные предпочтения, специфичные для проекта; добавьте в `.gitignore` | Ваши URL-адреса песочницы, предпочитаемые тестовые данные | Только вы (текущий проект) |

70 71 

71Файлы CLAUDE.md и CLAUDE.local.md в иерархии каталогов выше рабочего каталога загружаются при запуске. Файлы в подкаталогах загружаются по требованию, когда Claude читает файлы в этих каталогах. Полный порядок разрешения см. в разделе [Как загружаются файлы CLAUDE.md](#how-claude-md-files-load).72Файлы CLAUDE.md и CLAUDE.local.md в иерархии каталогов выше рабочего каталога загружаются при запуске. Файлы в подкаталогах загружаются по требованию, когда Claude читает файлы в этих каталогах. См. [Как загружаются файлы CLAUDE.md](#how-claude-md-files-load) для полного порядка разрешения.

72 73 

73Для больших проектов вы можете разбить инструкции на файлы, специфичные для темы, используя [project rules](#organize-rules-with-claude/rules/). Правила позволяют вам ограничить инструкции определёнными типами файлов или подкаталогами.74Для больших проектов вы можете разбить инструкции на файлы, специфичные для темы, используя [project rules](#organize-rules-with-claude/rules/). Правила позволяют вам ограничить инструкции определёнными типами файлов или подкаталогами.

74 75 


76 Установите проект CLAUDE.md77 Установите проект CLAUDE.md

77</h3>78</h3>

78 79 

79Проект CLAUDE.md может быть сохранён либо в `./CLAUDE.md`, либо в `./.claude/CLAUDE.md`. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через систему контроля версий, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях. Чтобы подтвердить загрузку файла, запустите `/context` в сессии и проверьте список в разделе **Memory files**.80Проект CLAUDE.md может быть сохранён либо в `./CLAUDE.md`, либо в `./.claude/CLAUDE.md`. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через управление версиями, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях. Чтобы подтвердить загрузку файла, запустите `/context` в сессии и проверьте список в разделе **Memory files**.

80 81 

81<Tip>82<Tip>

82 Запустите `/init` для автоматического создания начального CLAUDE.md. Claude анализирует вашу кодовую базу и создаёт файл с командами сборки, инструкциями тестирования и соглашениями проекта, которые он обнаруживает. Если CLAUDE.md уже существует, `/init` предлагает улучшения вместо перезаписи. Уточняйте оттуда с инструкциями, которые Claude не смог бы обнаружить самостоятельно.83 Запустите `/init` для автоматического создания начального CLAUDE.md. Claude анализирует вашу кодовую базу и создаёт файл с командами сборки, инструкциями тестирования и соглашениями проекта, которые он обнаруживает. Если CLAUDE.md уже существует, `/init` предлагает улучшения вместо перезаписи. Уточните оттуда с помощью инструкций, которые Claude не обнаружит самостоятельно.

83 84 

84 Установите `CLAUDE_CODE_NEW_INIT=1` для включения интерактивного многофазного потока. `/init` спрашивает, какие артефакты настроить: файлы CLAUDE.md, skills и hooks. Затем он исследует вашу кодовую базу с помощью подагента, заполняет пробелы с помощью дополнительных вопросов и представляет проверяемое предложение перед записью каких-либо файлов.85 Установите `CLAUDE_CODE_NEW_INIT=1` для включения интерактивного многофазного потока. `/init` спрашивает, какие артефакты настроить: файлы CLAUDE.md, skills и hooks. Затем он исследует вашу кодовую базу с помощью подагента, заполняет пробелы с помощью дополнительных вопросов и представляет проверяемое предложение перед написанием каких-либо файлов.

85</Tip>86</Tip>

86 87 

87<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">

88 Напишите эффективные инструкции89 Напишите эффективные инструкции

89</h3>90</h3>

90 91 

91Файлы CLAUDE.md загружаются в контекстное окно в начале каждой сессии, потребляя токены наряду с вашим разговором. [Визуализация контекстного окна](/docs/ru/context-window) показывает, где загружается CLAUDE.md относительно остального контекста запуска. Поскольку это контекст, а не принудительная конфигурация, то, как вы пишете инструкции, влияет на то, насколько надёжно Claude их следует. Конкретные, краткие, хорошо структурированные инструкции работают лучше всего.92Файлы CLAUDE.md загружаются в контекстное окно в начале каждой сессии, потребляя токены вместе с вашим разговором. [Визуализация контекстного окна](/docs/ru/context-window) показывает, где загружается CLAUDE.md относительно остального контекста запуска. Поскольку это контекст, а не принудительная конфигурация, то, как вы пишете инструкции, влияет на то, насколько надёжно Claude их следует. Конкретные, краткие, хорошо структурированные инструкции работают лучше всего.

92 93 

93**Размер**: нацеливайтесь на менее 200 строк на файл CLAUDE.md. Более длинные файлы потребляют больше контекста и снижают соответствие. Если ваши инструкции растут, используйте [path-scoped rules](#path-specific-rules), чтобы инструкции загружались только когда Claude работает с совпадающими файлами. Вы также можете разделить содержимое на [imports](#import-additional-files) для организации, хотя импортированные файлы всё ещё загружаются и входят в контекстное окно при запуске.94**Размер**: нацеливайтесь на менее 200 строк на файл CLAUDE.md. Более длинные файлы потребляют больше контекста и снижают соответствие. Если ваши инструкции растут, используйте [path-scoped rules](#path-specific-rules), чтобы инструкции загружались только когда Claude работает с совпадающими файлами. Вы также можете разделить содержимое на [imports](#import-additional-files) для организации, хотя импортированные файлы всё ещё загружаются и входят в контекстное окно при запуске.

94 95 


96 97 

97**Специфичность**: напишите инструкции, которые достаточно конкретны для проверки. Например:98**Специфичность**: напишите инструкции, которые достаточно конкретны для проверки. Например:

98 99 

99* «Используйте отступ из 2 пробелов» вместо «Форматируйте код правильно»100* «Используйте отступ из 2 пробелов» вместо «Правильно форматируйте код»

100* «Запустите `npm test` перед коммитом» вместо «Протестируйте ваши изменения»101* «Запустите `npm test` перед коммитом» вместо «Протестируйте ваши изменения»

101* «Обработчики API находятся в `src/api/handlers/`» вместо «Держите файлы организованными»102* «Обработчики API находятся в `src/api/handlers/`» вместо «Держите файлы организованными»

102 103 


106 Импортируйте дополнительные файлы107 Импортируйте дополнительные файлы

107</h3>108</h3>

108 109 

109Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис `@path/to/import`. Импортированные файлы развёртываются и загружаются в контекст при запуске наряду с CLAUDE.md, который их ссылает.110Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис `@path/to/import`. Импортированные файлы развёртываются и загружаются в контекст при запуске вместе с CLAUDE.md, который их ссылает.

110 111 

111Допускаются как относительные, так и абсолютные пути. Относительные пути разрешаются относительно файла, содержащего импорт, а не рабочего каталога. Импортированные файлы могут рекурсивно импортировать другие файлы с максимальной глубиной четыре перехода.112Допускаются как относительные, так и абсолютные пути. Относительные пути разрешаются относительно файла, содержащего импорт, а не рабочего каталога. Импортированные файлы могут рекурсивно импортировать другие файлы с максимальной глубиной четыре перехода.

112 113 

113Анализ импорта пропускает диапазоны кода Markdown и блоки кода с ограждением. Чтобы упомянуть путь в вашем CLAUDE.md без его импорта, оберните его в обратные кавычки: написание `` `@README` `` сохраняет текст буквальным, в то время как `@README` вне обратных кавычек импортирует файл.114Анализ импорта пропускает диапазоны кода Markdown и блоки кода с ограждением. Чтобы упомянуть путь в вашем CLAUDE.md без импорта, оберните его в обратные кавычки: написание `` `@README` `` сохраняет текст буквальным, в то время как `@README` вне обратных кавычек импортирует файл.

114 115 

115Чтобы включить README, package.json и руководство рабочего процесса, ссылайтесь на них с синтаксисом `@` в любом месте вашего CLAUDE.md:116Чтобы включить README, package.json и руководство по рабочему процессу, ссылайтесь на них с синтаксисом `@` в любом месте вашего CLAUDE.md:

116 117 

117```text theme={null}118```text theme={null}

118See @README for project overview and @package.json for available npm commands for this project.119See @README for project overview and @package.json for available npm commands for this project.


121- git workflow @docs/git-instructions.md122- git workflow @docs/git-instructions.md

122```123```

123 124 

124Для личных предпочтений для каждого проекта, которые не должны быть зафиксированы в системе контроля версий, создайте `CLAUDE.local.md` в корне проекта. Он загружается наряду с `CLAUDE.md` и обрабатывается так же. Добавьте `CLAUDE.local.md` в ваш `.gitignore`, чтобы он не был зафиксирован. С установленным `CLAUDE_CODE_NEW_INIT=1`, запуск `/init` и выбор личного варианта делает это за вас.125Для личных предпочтений для каждого проекта, которые не должны быть зафиксированы в управлении версиями, создайте `CLAUDE.local.md` в корне проекта. Он загружается вместе с `CLAUDE.md` и обрабатывается так же. Добавьте `CLAUDE.local.md` в ваш `.gitignore`, чтобы он не был зафиксирован. С установленным `CLAUDE_CODE_NEW_INIT=1`, запуск `/init` и выбор личного варианта делает это за вас.

125 126 

126Если вы работаете в нескольких git worktrees одного и того же репозитория, игнорируемый git `CLAUDE.local.md` существует только в worktree, где вы его создали. Чтобы поделиться личными инструкциями между worktrees, импортируйте файл из вашего домашнего каталога вместо этого:127Если вы работаете в нескольких git worktrees одного и того же репозитория, gitignored `CLAUDE.local.md` существует только в worktree, где вы его создали. Чтобы поделиться личными инструкциями между worktrees, импортируйте файл из вашего домашнего каталога вместо этого:

127 128 

128```text theme={null}129```text theme={null}

129# Individual Preferences130# Individual Preferences


131```132```

132 133 

133<Warning>134<Warning>

134 Импорт в файл памяти уровня проекта является внешним, когда его путь разрешается вне вашего рабочего каталога, как импорт домашнего каталога выше. В первый раз, когда Claude Code встречает внешние импорты в проекте, он показывает диалог одобрения, перечисляющий файлы. Если вы отклоните, импорты остаются отключёнными и диалог больше не появляется.135 Импорт в файл памяти уровня проекта является внешним, когда его путь разрешается вне вашего рабочего каталога, как импорт домашнего каталога выше. В первый раз, когда Claude Code встречает внешние импорты в проекте, он показывает диалог одобрения со списком файлов. Если вы отклоните, импорты остаются отключёнными и диалог больше не появляется.

135 136 

136 Claude Code показывает диалог, чтобы защитить вас от файлов, которые другие люди коммитят в общий проект. Файлы памяти уровня пользователя, такие как `~/.claude/CLAUDE.md` и `~/.claude/rules/`, — это файлы, которые вы написали сами. За исключением сессий [Cowork](https://claude.com/product/cowork) на вашем рабочем столе, Claude Code загружает их импорты без диалога и доверяет им, как остальной вашей личной конфигурации.137 Claude Code показывает диалог для защиты вас от файлов, которые другие люди коммитят в общий проект. Файлы памяти уровня пользователя, такие как `~/.claude/CLAUDE.md` и `~/.claude/rules/`, — это файлы, которые вы написали сами. За исключением сессий [Cowork](https://claude.com/product/cowork) на вашем рабочем столе, Claude Code загружает их импорты без диалога и доверяет им, как остальной вашей личной конфигурации.

137 138 

138 В сессиях Cowork на вашем рабочем столе Claude Code пропускает любой импорт в файле уровня пользователя, который разрешается к пути вне рабочего каталога сессии, и загружает остальную часть файла. В этих сессиях он также пропускает `~/.claude/CLAUDE.md`, который сам является символической ссылкой или жёсткой ссылкой, и символически связанный каталог `~/.claude/rules/` или файл правила, который указывает вне рабочего каталога.139 В сессиях Cowork на вашем рабочем столе Claude Code пропускает любой импорт в файле уровня пользователя, который разрешается к пути вне рабочего каталога сессии, и загружает остальную часть файла. В этих сессиях он также пропускает `~/.claude/CLAUDE.md`, который сам является символической ссылкой или жёсткой ссылкой, и символически связанный каталог `~/.claude/rules/` или файл правила, который указывает вне рабочего каталога.

139</Warning>140</Warning>

140 141 

141<h3 id="agents-md">

142 AGENTS.md

143</h3>

144 

145Claude Code читает `CLAUDE.md`, а не `AGENTS.md`. Если ваш репозиторий уже использует `AGENTS.md` для других кодирующих агентов, создайте `CLAUDE.md`, который импортирует его, чтобы оба инструмента читали одни и те же инструкции без их дублирования. Вы также можете добавить инструкции, специфичные для Claude, ниже импорта. Claude загружает импортированный файл при запуске сессии, затем добавляет остальное:

146 

147```markdown CLAUDE.md theme={null}

148@AGENTS.md

149 

150## Claude Code

151 

152Use plan mode for changes under `src/billing/`.

153```

154 

155Символическая ссылка также работает, если вам не нужно добавлять содержимое, специфичное для Claude:

156 

157```bash theme={null}

158ln -s AGENTS.md CLAUDE.md

159```

160 

161Команда не выводит никакого вывода при успехе. В вашей следующей сессии запустите `/context` и подтвердите, что `CLAUDE.md` появляется в разделе **Memory files**.

162 

163На Windows создание символической ссылки требует привилегий администратора или режима разработчика, поэтому используйте импорт `@AGENTS.md` вместо этого.

164 

165Запуск [`/init`](/docs/ru/commands) читает правила Cursor в `.cursor/rules/` или `.cursorrules` и правила Copilot в `.github/copilot-instructions.md` и включает соответствующие части в созданный `CLAUDE.md`. С установленным `CLAUDE_CODE_NEW_INIT=1`, `/init` также читает `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` или `.windsurfrules` и `.clinerules`.

166 

167Вы также можете запустить [`/import`](/docs/ru/commands) для переноса конфигурации поддерживаемого кодирующего агента в Claude Code, который добавляет одноразовую копию файлов инструкций, таких как `AGENTS.md`, к соответствующему `CLAUDE.md` и переносит MCP серверы, команды, подагентов и skills. Требует Claude Code v2.1.213 или позже.

168 

169<h3 id="how-claude-md-files-load">142<h3 id="how-claude-md-files-load">

170 Как загружаются файлы CLAUDE.md143 Как загружаются файлы CLAUDE.md

171</h3>144</h3>


178 151 

179Если вы работаете в большом монорепозитории, где подбираются файлы CLAUDE.md других команд, используйте [`claudeMdExcludes`](#exclude-specific-claude-md-files) для их пропуска. Для полного макета корневых и каталогов CLAUDE.md файлов и правил см. [Монорепозитории и большие репозитории](/docs/ru/large-codebases).152Если вы работаете в большом монорепозитории, где подбираются файлы CLAUDE.md других команд, используйте [`claudeMdExcludes`](#exclude-specific-claude-md-files) для их пропуска. Для полного макета корневых и каталогов CLAUDE.md файлов и правил см. [Монорепозитории и большие репозитории](/docs/ru/large-codebases).

180 153 

181Комментарии HTML на уровне блока (`<!-- maintainer notes -->`) в файлах CLAUDE.md удаляются перед тем, как содержимое вводится в контекст Claude. Используйте их для оставления заметок для человеческих сопровождающих без траты токенов контекста на них. Комментарии внутри блоков кода сохраняются. Когда вы открываете файл CLAUDE.md непосредственно с помощью инструмента Read, комментарии остаются видимыми.154Комментарии HTML на уровне блока (`<!-- maintainer notes -->`) в файлах CLAUDE.md удаляются перед внедрением содержимого в контекст Claude. Используйте их для оставления заметок для человеческих сопровождающих без траты токенов контекста на них. Комментарии внутри блоков кода сохраняются. Когда вы открываете файл CLAUDE.md непосредственно с помощью инструмента Read, комментарии остаются видимыми.

182 155 

183<h4 id="load-from-additional-directories">156<h4 id="load-from-additional-directories">

184 Загрузка из дополнительных каталогов157 Загрузка из дополнительных каталогов

185</h4>158</h4>

186 159 

187Флаг `--add-dir` дает Claude доступ к дополнительным каталогам вне вашего основного рабочего каталога. По умолчанию файлы CLAUDE.md из этих каталогов не загружаются.160Флаг `--add-dir` предоставляет Claude доступ к дополнительным каталогам вне вашего основного рабочего каталога. По умолчанию файлы памяти CLAUDE.md из этих каталогов не загружаются.

188 161 

189Чтобы также загружать файлы памяти из дополнительных каталогов, установите переменную окружения `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`:162Чтобы также загружать файлы памяти из дополнительных каталогов, установите переменную окружения `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`:

190 163 


192CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config165CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

193```166```

194 167 

195Это загружает `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md` из дополнительного каталога. `CLAUDE.local.md` пропускается, если вы исключаете `local` из [`--setting-sources`](/docs/ru/cli-reference).168Это загружает `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md` из дополнительного каталога. `CLAUDE.local.md` пропускается, если вы исключите `local` из [`--setting-sources`](/docs/ru/cli-reference).

196 169 

197<h3 id="organize-rules-with-claude/rules/">170<h3 id="organize-rules-with-claude/rules/">

198 Организуйте правила с помощью `.claude/rules/`171 Организуйте правила с помощью `.claude/rules/`


222 195 

223Правила без [frontmatter `paths`](#path-specific-rules) загружаются при запуске с тем же приоритетом, что и `.claude/CLAUDE.md`.196Правила без [frontmatter `paths`](#path-specific-rules) загружаются при запуске с тем же приоритетом, что и `.claude/CLAUDE.md`.

224 197 

225Правила проекта пропускаются, если вы исключаете `project` из [`--setting-sources`](/docs/ru/cli-reference). До v2.1.211 правила, которые загружаются по требованию, включая path-scoped правила и правила в вложенных каталогах `.claude/rules/`, загружались даже когда `project` был исключён.198Правила проекта пропускаются, если вы исключите `project` из [`--setting-sources`](/docs/ru/cli-reference). До v2.1.211 правила, которые загружаются по требованию, включая path-scoped правила и правила в вложенных каталогах `.claude/rules/`, загружались даже когда `project` был исключён.

226 199 

227<h4 id="path-specific-rules">200<h4 id="path-specific-rules">

228 Path-specific правила201 Path-specific правила


243- Include OpenAPI documentation comments216- Include OpenAPI documentation comments

244```217```

245 218 

246Правила без поля `paths` загружаются безусловно и применяются ко всем файлам. Path-scoped правила срабатывают, когда Claude читает файлы, совпадающие с шаблоном, а не при каждом использовании инструмента. Начиная с v2.1.198, сопоставление также работает, когда Claude достигает файла через символически связанный путь к каталогу проекта, например в символически связанном чекауте.219Правила без поля `paths` загружаются безусловно и применяются ко всем файлам. Path-scoped правила срабатывают, когда Claude читает файлы, совпадающие с шаблоном, а не при каждом использовании инструмента. Начиная с v2.1.198, сопоставление также работает, когда Claude достигает файла через символически связанный путь к каталогу проекта, например в символически связанном checkout.

247 220 

248Используйте glob шаблоны в поле `paths` для сопоставления файлов по расширению, каталогу или любой комбинации:221Используйте glob шаблоны в поле `paths` для сопоставления файлов по расширению, каталогу или любой комбинации:

249 222 


277 250 

278Каталог `.claude/rules/` поддерживает символические ссылки, поэтому вы можете поддерживать общий набор правил и связывать их в несколько проектов. Циклические символические ссылки обнаруживаются и обрабатываются корректно.251Каталог `.claude/rules/` поддерживает символические ссылки, поэтому вы можете поддерживать общий набор правил и связывать их в несколько проектов. Циклические символические ссылки обнаруживаются и обрабатываются корректно.

279 252 

280Claude Code рассматривает символическую ссылку, цель которой находится вне вашего рабочего каталога, как [внешний импорт](#import-additional-files). Связанные правила не загружаются, пока вы не одобрите внешние импорты для проекта, и после этого загружаются только те, у которых нет [поля `paths`](#path-specific-rules). Claude Code просит это одобрение только когда файл памяти проекта импортирует файл вне рабочего каталога с `@path`, а не для самих символических ссылок. Чтобы загружать общие правила без этого одобрения, держите их в [`~/.claude/rules/`](#user-level-rules), где они применяются к каждому проекту на вашей машине.253Claude Code рассматривает символическую ссылку, цель которой находится вне вашего рабочего каталога, как [внешний импорт](#import-additional-files). Связанные правила не загружаются, пока вы не одобрите внешние импорты для проекта, и после этого загружаются только те, которые не имеют [поля `paths`](#path-specific-rules). Claude Code просит это одобрение только когда файл памяти проекта импортирует файл вне рабочего каталога с `@path`, а не для самих символических ссылок. Чтобы загружать общие правила без этого одобрения, держите их в [`~/.claude/rules/`](#user-level-rules), где они применяются к каждому проекту на вашей машине.

281 254 

282Этот пример связывает как общий каталог, так и отдельный файл:255Этот пример связывает как общий каталог, так и отдельный файл:

283 256 


348| Принудительная изоляция песочницы | Управляемые настройки: `sandbox.enabled` |321| Принудительная изоляция песочницы | Управляемые настройки: `sandbox.enabled` |

349| Переменные окружения и маршрутизация поставщика API | Управляемые настройки: `env` |322| Переменные окружения и маршрутизация поставщика API | Управляемые настройки: `env` |

350| Метод входа и ограничения организации | Управляемые настройки: `forceLoginMethod`, `forceLoginOrgUUID` |323| Метод входа и ограничения организации | Управляемые настройки: `forceLoginMethod`, `forceLoginOrgUUID` |

351| Стиль кода и рекомендации по качеству | Управляемый CLAUDE.md |324| Рекомендации по стилю кода и качеству | Управляемый CLAUDE.md |

352| Напоминания об обработке данных и соответствии | Управляемый CLAUDE.md |325| Напоминания об обработке данных и соответствии | Управляемый CLAUDE.md |

353| Инструкции поведения для Claude | Управляемый CLAUDE.md |326| Инструкции поведения для Claude | Управляемый CLAUDE.md |

354 327 


371}344}

372```345```

373 346 

374Шаблоны сопоставляются с абсолютными путями файлов, используя синтаксис glob. Вы можете настроить `claudeMdExcludes` на любом [уровне настроек](/docs/ru/settings#where-settings-live): пользователь, проект, локальный или управляемая политика. Массивы объединяются по слоям.347Шаблоны сопоставляются с абсолютными путями файлов, используя синтаксис glob. Вы можете настроить `claudeMdExcludes` на любом [слое настроек](/docs/ru/settings#where-settings-live): пользователь, проект, локальный или управляемая политика. Массивы объединяются по слоям.

375 348 

376Чтобы исключить файл правила, который вы достигаете через [символическую ссылку](#share-rules-across-projects-with-symlinks), будь то файл или его каталог является ссылкой, напишите шаблон против любого пути: пути файла в `.claude/rules/` или его цели ссылки. Шаблон, который совпадает с любым путём, исключает файл. До v2.1.239 только шаблон, который совпадал с целью ссылки, исключал файл.349Чтобы исключить файл правила, который вы достигаете через [символическую ссылку](#share-rules-across-projects-with-symlinks), будь то файл или его каталог является ссылкой, напишите шаблон против любого пути: пути файла в `.claude/rules/` или его цели ссылки. Шаблон, который совпадает с любым путём, исключает файл. До v2.1.239 только шаблон, который совпадал с целью ссылки, исключал файл.

377 350 

378Управляемые файлы политики CLAUDE.md не могут быть исключены. Это гарантирует, что инструкции на уровне организации всегда применяются независимо от индивидуальных настроек.351Управляемые политические файлы CLAUDE.md не могут быть исключены. Это гарантирует, что инструкции на уровне организации всегда применяются независимо от индивидуальных настроек.

352 

353<h2 id="agents-md">

354 AGENTS.md

355</h2>

356 

357Claude Code может читать [`AGENTS.md`](/docs/ru/glossary#agents-md) как инструкции вашего проекта, поэтому репозиторий, уже настроенный для других агентов кодирования, работает без добавления `CLAUDE.md`, импорта или параметра. Эта таблица показывает, что Claude читает по умолчанию для каждой комбинации файлов инструкций в вашем репозитории:

358 

359| Your repository has | Claude reads |

360| :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------- |

361| An `AGENTS.md`, and no `CLAUDE.md` or `CLAUDE.local.md` in your working directory or above it | Your `AGENTS.md` |

362| An `AGENTS.md` and a `CLAUDE.md` or `CLAUDE.local.md` in your working directory or above it | Your `CLAUDE.md` files only |

363| A `CLAUDE.md` that already [imports `AGENTS.md`](#share-one-file-with-other-coding-tools) | Your `CLAUDE.md`, with `AGENTS.md` included through the import |

364 

365Чтобы изменить значение по умолчанию, например чтобы Claude всегда читал оба файла, читал только `CLAUDE.md` или читал только управляемые организацией инструкции, [измените параметр **Project instructions**](#choose-which-instruction-files-load).

366 

367<Note>

368 Чтение `AGENTS.md` напрямую требует Claude Code v2.1.277 или более поздней версии. В некоторых сеансах, таких как сеансы на Amazon Bedrock или с отключённой телеметрией, Claude [не может читать `AGENTS.md`](#when-agents-md-support-is-unavailable), поэтому [импортируйте его из `CLAUDE.md`](#share-one-file-with-other-coding-tools) вместо этого.

369</Note>

370 

371<h3 id="when-claude-code-reads-agents-md">

372 When Claude Code reads AGENTS.md

373</h3>

374 

375По умолчанию Claude читает `AGENTS.md` только когда у вас нет `CLAUDE.md` в вашем рабочем каталоге или выше него. Вот какие из ваших файлов учитываются для этой проверки:

376 

377* **Учитываются, поэтому Claude читает их вместо `AGENTS.md`**: `CLAUDE.md`, `.claude/CLAUDE.md` или `CLAUDE.local.md` в вашем рабочем каталоге или в любом каталоге выше него

378* **Не учитываются и продолжают загружаться вместе с `AGENTS.md`**: ваш `~/.claude/CLAUDE.md`, управляемый организацией `CLAUDE.md` и файлы `.claude/rules/`

379 

380Когда ничего не учитывается, вот что Claude читает и как вы можете это определить:

381 

382* **При запуске сеанса**: каждый `AGENTS.md` и `.claude/AGENTS.md` в вашем рабочем каталоге и в каталогах выше него. В интерактивном сеансе вы видите строку, например `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md` в разговоре

383* **Когда Claude работает в подкаталогах**: `AGENTS.md` подкаталога, когда Claude открывает файл там с помощью инструмента Read и в этом подкаталоге нет ни одного из трёх файлов `CLAUDE.md`

384* **Внутри каждого `AGENTS.md`**: импорты [`@path`](#import-additional-files) расширяются, применяются паттерны [`claudeMdExcludes`](#exclude-specific-claude-md-files) и подагенты, которые [пропускают инструкции проекта](/docs/ru/sub-agents#what-loads-at-startup), пропускают эти файлы тоже

385* **Не читаются**: `AGENTS.local.md`, `AGENTS.override.md` или что-либо в каталоге `.agents/`

386 

387<Note>

388 Поскольку `CLAUDE.local.md` учитывается, добавление его для сохранения ваших собственных незафиксированных инструкций в проекте, который полагается на `AGENTS.md`, останавливает чтение Claude `AGENTS.md` для вас. Чтобы сохранить ваш `CLAUDE.local.md` и при этом иметь Claude читающий `AGENTS.md`, установите **Project instructions** на [`claude-md-and-agents-md`](#choose-which-instruction-files-load).

389</Note>

390 

391<h3 id="choose-which-instruction-files-load">

392 Choose which instruction files load

393</h3>

394 

395Чтобы изменить, какие файлы читает Claude, введите `/config` в сеансе Claude Code, чтобы открыть панель параметров, затем установите **Project instructions** на одно из этих значений:

396 

397| Value | What Claude reads |

398| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

399| `claude-md-or-agents-md` | Ваши файлы `CLAUDE.md` или ваши файлы `AGENTS.md`, когда у вас нет `CLAUDE.md` или `CLAUDE.local.md` в вашем рабочем каталоге или выше него. Это значение по умолчанию |

400| `claude-md-and-agents-md` | Ваши файлы `CLAUDE.md` и `AGENTS.md` вместе, каждый `CLAUDE.md` каталога первым и его `AGENTS.md` после них. Claude Code пропускает `AGENTS.md`, который он уже загрузил, поэтому тот, который ваш `CLAUDE.md` импортирует или создаёт символическую ссылку на, не читается дважды |

401| `claude-md` | Только ваши файлы `CLAUDE.md` |

402| `managed-only` | Только управляемый организацией `CLAUDE.md` и [auto memory](#auto-memory) при запуске. Ваши проектные, локальные и пользовательские файлы `CLAUDE.md`, ваши файлы `.claude/rules/` и каждый `AGENTS.md` исключены. `CLAUDE.md` и файлы `.claude/rules/` подкаталога, и [path-scoped rules](#path-specific-rules), всё ещё загружаются, когда Claude читает файл там |

403 

404Вы также можете установить значение в файле параметров вместо `/config`. Добавьте его под ID встроенного плагина `agents-md` в [`pluginConfigs`](/docs/ru/settings-reference#pluginconfigs), в `~/.claude/settings.json`, файл `--settings` или [managed settings](/docs/ru/managed-settings). Claude Code игнорирует его в файлах параметров проекта и локальных параметрах. Этот пример заставляет Claude читать оба файла:

405 

406```json settings.json theme={null}

407{

408 "pluginConfigs": {

409 "agents-md@builtin": {

410 "options": { "instructionFiles": "claude-md-and-agents-md" }

411 }

412 }

413}

414```

415 

416Ваше изменение применяется со следующего сообщения, которое вы отправляете, и в каждом новом сеансе.

417 

418<h3 id="when-agents-md-support-is-unavailable">

419 When AGENTS.md support is unavailable

420</h3>

421 

422В этих сеансах Claude читает только файлы `CLAUDE.md`, и **Project instructions** не появляется в панели параметров `/config`:

423 

424* Вы используете Claude Code версии до v2.1.277

425* Ваш сеанс не [получает флаги функций от Anthropic](/docs/ru/env-vars#features-that-need-feature-flag-fetching), например потому что вы используете Amazon Bedrock или другого поставщика третьей стороны, или вы отключили телеметрию. Связанный раздел содержит полный список

426* Это ваш [первый сеанс после установки или обновления](/docs/ru/env-vars#first-session-after-an-install-or-upgrade) до версии с поддержкой `AGENTS.md`. Claude читает `AGENTS.md` со следующего сеанса

427* Вы или ваша организация установили [`disableAllHooks`](/docs/ru/settings-reference#disableallhooks) или [`allowManagedHooksOnly`](/docs/ru/settings-reference#allowmanagedhooksonly), или вы отключили встроенный плагин `agents-md` в `/plugin`

428 

429Чтобы дать Claude ваш `AGENTS.md` в этих сеансах, [импортируйте его из `CLAUDE.md`](#share-one-file-with-other-coding-tools).

430 

431<h3 id="where-agents-md-differs-from-claude-md">

432 Where AGENTS.md differs from CLAUDE.md

433</h3>

434 

435`AGENTS.md`, который Claude читает через параметр **Project instructions**, отличается от `CLAUDE.md` в этих местах:

436 

437| | `CLAUDE.md` | `AGENTS.md` read through the setting |

438| :------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

439| `/memory` and the **Memory files** list in `/context` | Listed | Not listed. To confirm Claude read it, look for the [`AGENTS.md loaded` line](#when-claude-code-reads-agents-md) under the default value, or ask Claude what its project instructions say |

440| [`InstructionsLoaded` hooks](/docs/ru/hooks#instructionsloaded) | Fire | Don't fire. They fire as usual for an `AGENTS.md` that a `CLAUDE.md` imports or symlinks to |

441| Directories you add with `--add-dir` while [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) is set | Their `CLAUDE.md` loads | Their `AGENTS.md` doesn't load |

442| An `@path` import of a file outside your working directory | Claude Code asks you to approve [external imports](#import-additional-files) | Loads only if you already approved external imports for this project, with no prompt |

443 

444<h3 id="remove-an-earlier-agents-md-workaround">

445 Remove an earlier AGENTS.md workaround

446</h3>

447 

448Если вы настроили Claude Code на чтение `AGENTS.md` до того, как он это делал самостоятельно, вот что делать с каждой распространённой установкой:

449 

450* **`CLAUDE.md`, содержащий `@AGENTS.md`**: вы можете оставить его. Сохранение импорта никогда не заставляет Claude читать `AGENTS.md` дважды, какое бы значение **Project instructions** вы ни использовали. Удалите `CLAUDE.md`, если он больше ничего не содержит, или сохраните его, если некоторые из ваших сеансов [не могут загрузить `AGENTS.md` напрямую](#when-agents-md-support-is-unavailable).

451* **`CLAUDE.md`, который говорит Claude словами читать `AGENTS.md`**: Claude видит `AGENTS.md` только если решит открыть файл. Удалите `CLAUDE.md`, чтобы Claude читал `AGENTS.md` напрямую, или замените предложение на импорт `@AGENTS.md`.

452* **`CLAUDE.md`, символически связанный с `AGENTS.md`**: ничего или удалите символическую ссылку. В любом случае Claude читает содержимое один раз.

453* **Hook `SessionStart`, который выводит `AGENTS.md`**: удалите его. После того как Claude начнёт читать `AGENTS.md` напрямую, hook добавит вторую копию в контекст.

454 

455<h3 id="share-one-file-with-other-coding-tools">

456 Share one file with other coding tools

457</h3>

458 

459Когда Claude не читает ваш `AGENTS.md` напрямую, вы всё ещё можете сохранить его как один файл, который разделяют все инструменты, поместив импорт `@AGENTS.md` в `CLAUDE.md` рядом с ним. Делайте это, когда ваш проект также имеет `CLAUDE.md`, когда вы установили **Project instructions** на `claude-md`, или в сеансах, которые [не могут загрузить `AGENTS.md`](#when-agents-md-support-is-unavailable). Добавьте любые инструкции, специфичные для Claude, ниже импорта, и Claude читает импортированный файл первым, затем остальное:

460 

461```markdown CLAUDE.md theme={null}

462@AGENTS.md

463 

464## Claude Code

465 

466Use plan mode for changes under `src/billing/`.

467```

468 

469Если вам не нужно содержимое, специфичное для Claude, символическая ссылка также работает:

470 

471```bash theme={null}

472ln -s AGENTS.md CLAUDE.md

473```

474 

475Команда не выводит ничего при успехе. Перед тем как выбрать символическую ссылку вместо импорта, проверьте эти ограничения:

476 

477* **Editing**: Claude читает `CLAUDE.md` через ссылку, но инструменты Edit и Write [отказываются писать через символическую ссылку](/docs/ru/errors#refusing-after-a-symlink-changed), и отказ направляет Claude на редактирование целевой ссылки, `AGENTS.md`, вместо этого

478* **Windows**: если вы или кто-либо, кто клонирует репозиторий, работает на Windows, используйте импорт `@AGENTS.md` вместо этого. Создание символической ссылки там требует привилегий администратора или режима разработчика, и Git проверяет зафиксированную символическую ссылку как простой текстовый файл, если `core.symlinks` не включен, что оставляет этот клон с однострочным `CLAUDE.md` вместо ваших инструкций

479 

480С любым подходом запустите `/context` в вашем следующем сеансе и подтвердите, что `CLAUDE.md` появляется под **Memory files**.

481 

482<h3 id="migrate-instructions-from-other-tools">

483 Migrate instructions from other tools

484</h3>

485 

486Запуск [`/init`](/docs/ru/commands) читает файлы инструкций других инструментов и включает соответствующие части в сгенерированный `CLAUDE.md`:

487 

488* Cursor rules в `.cursor/rules/` или `.cursorrules`

489* Copilot rules в `.github/copilot-instructions.md`

490* С установленным `CLAUDE_CODE_NEW_INIT=1`: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` или `.windsurfrules`, и `.clinerules`

491 

492Вы также можете запустить [`/import`](/docs/ru/commands), чтобы привести конфигурацию поддерживаемого AI-агента кодирования в Claude Code, который добавляет одноразовую копию файлов инструкций, таких как `AGENTS.md`, в соответствующий `CLAUDE.md` и переносит MCP servers, commands, subagents и skills. Требует Claude Code v2.1.213 или более поздней версии.

379 493 

380<h2 id="auto-memory">494<h2 id="auto-memory">

381 Auto memory495 Auto memory


422}536}

423```537```

424 538 

425Значение должно быть абсолютным путём или начинаться с `~/`. Когда вы установите его в `.claude/settings.json` или `.claude/settings.local.json` проекта, Claude Code соблюдает его в соответствии с тем же [правилом доверия рабочей области, что и hooks в файлах настроек](/docs/ru/permissions#what-runs-before-you-trust-a-folder).539Значение должно быть абсолютным путём или начинаться с `~/`.

540 

541Когда вы установите его в `.claude/settings.json` или `.claude/settings.local.json` проекта, Claude Code соблюдает его в соответствии с тем же [правилом доверия рабочей области, что и hooks в файлах настроек](/docs/ru/permissions#what-runs-before-you-trust-a-folder). Пока [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) включена, Claude Code не загружает auto memory из каталога, который выбирает [файл настроек, поставляемый репозиторием](/docs/ru/permissions#when-your-local-settings-file-needs-trust), и не сохраняет в него, где бы этот каталог ни находился.

426 542 

427Каталог содержит индекс `MEMORY.md` и один файл по теме на память:543Каталог содержит индекс `MEMORY.md` и один файл по теме на память:

428 544 


468 Просмотр и редактирование с помощью `/memory`584 Просмотр и редактирование с помощью `/memory`

469</h2>585</h2>

470 586 

471Команда `/memory` перечисляет ваши файлы CLAUDE.md, CLAUDE.local.md и другие файлы памяти в разных областях пользователя и проекта, включая записи CLAUDE.md пользователя и проекта для файлов, которые еще не существуют. Она также позволяет переключать auto memory включена или отключена и предоставляет опцию для открытия папки auto memory. Выберите любой файл для открытия его в вашем редакторе; выбор файла, который еще не существует, сначала создает его. Чтобы проверить, какие файлы фактически загружены в текущий сеанс, запустите `/context`.587Команда `/memory` перечисляет ваши файлы CLAUDE.md, CLAUDE.local.md и другие файлы памяти в разных областях пользователя и проекта, включая записи CLAUDE.md пользователя и проекта для файлов, которые еще не существуют. Она также позволяет переключать auto memory включена или отключена и предоставляет опцию для открытия папки auto memory. Выберите любой файл для открытия его в вашем редакторе; выбор файла, который еще не существует, сначала создает его. Чтобы проверить, какие файлы `CLAUDE.md` и файлы правил загружены в текущий сеанс, запустите `/context`.

472 588 

473Графические редакторы, такие как VS Code, открывают файл в отдельном окне, и вы можете продолжать использовать сеанс, пока он открыт. До версии 2.1.216 `/memory` ждал, пока вы закроете файл, прежде чем ответить. Редакторы терминала, такие как Vim, захватывают терминал, пока вы не выйдете.589Графические редакторы, такие как VS Code, открывают файл в отдельном окне, и вы можете продолжать использовать сеанс, пока он открыт. До версии 2.1.216 `/memory` ждал, пока вы закроете файл, прежде чем ответить. Редакторы терминала, такие как Vim, захватывают терминал, пока вы не выйдете.

474 590 


488 604 

489Для отладки:605Для отладки:

490 606 

491* Запустите `/context` и проверьте список под **Memory files**, чтобы убедиться, что ваши файлы CLAUDE.md и CLAUDE.local.md загружены. Если файл отсутствует там, Claude не может его видеть. Используйте `/memory` для открытия и редактирования файлов.607* Запустите `/context` и проверьте список под **Memory files**, чтобы убедиться, что ваши файлы CLAUDE.md и CLAUDE.local.md загружены. Если файл `CLAUDE.md` отсутствует там, Claude не может его видеть. Файл `AGENTS.md` появляется там только когда `CLAUDE.md` его импортирует, а не когда Claude [читает его напрямую](#where-agents-md-differs-from-claude-md). Используйте `/memory` для открытия и редактирования файлов.

492* Проверьте, что соответствующий CLAUDE.md находится в местоположении, которое загружается для вашего сеанса (см. [Выберите, где разместить файлы CLAUDE.md](#choose-where-to-put-claude-md-files)).608* Проверьте, что соответствующий CLAUDE.md находится в местоположении, которое загружается для вашего сеанса (см. [Выберите, где разместить файлы CLAUDE.md](#choose-where-to-put-claude-md-files)).

493* Сделайте инструкции более конкретными. "Используйте отступ из 2 пробелов" работает лучше, чем "красиво форматируйте код".609* Сделайте инструкции более конкретными. "Используйте отступ из 2 пробелов" работает лучше, чем "красиво форматируйте код".

494* Ищите конфликтующие инструкции в файлах CLAUDE.md. Если два файла дают разные рекомендации для одного поведения, Claude может выбрать одну произвольно.610* Ищите конфликтующие инструкции в файлах CLAUDE.md. Если два файла дают разные рекомендации для одного поведения, Claude может выбрать одну произвольно.


498Для инструкций, которые вы хотите на уровне системного запроса, используйте [`--append-system-prompt`](/docs/ru/cli-reference#system-prompt-flags). Вы передаёте это при запуске, поэтому оно лучше подходит для скриптов и автоматизации, чем для интерактивного использования. О том, как оно ведёт себя при возобновлении разговора, см. [System prompt flags in resumed conversations](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations).614Для инструкций, которые вы хотите на уровне системного запроса, используйте [`--append-system-prompt`](/docs/ru/cli-reference#system-prompt-flags). Вы передаёте это при запуске, поэтому оно лучше подходит для скриптов и автоматизации, чем для интерактивного использования. О том, как оно ведёт себя при возобновлении разговора, см. [System prompt flags in resumed conversations](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations).

499 615 

500<Tip>616<Tip>

501 Используйте hook [`InstructionsLoaded`](/docs/ru/hooks#instructionsloaded) для логирования точно того, какие файлы инструкций загружены, когда они загружаются и почему. Это полезно для отладки правил, специфичных для пути, или ленивых загруженных файлов в подкаталогах.617 Используйте hook [`InstructionsLoaded`](/docs/ru/hooks#instructionsloaded) для логирования того, какие файлы `CLAUDE.md` и файлы правил загружены, когда они загружаются и почему. Это полезно для отладки правил, специфичных для пути, или ленивых загруженных файлов в подкаталогах.

502</Tip>618</Tip>

503 619 

620<h3 id="my-agents-md-isn’t-loading">

621 Мой AGENTS.md не загружается

622</h3>

623 

624Если ваш репозиторий содержит `AGENTS.md` и Claude, похоже, не знает, что в нём написано, обычной причиной является `CLAUDE.md` где-то на пути проекта. По умолчанию Claude читает `AGENTS.md` только когда у вас нет `CLAUDE.md` или `CLAUDE.local.md` в вашем рабочем каталоге или выше него. Проверьте их в таком порядке:

625 

6261. Ищите `CLAUDE.md`, `.claude/CLAUDE.md` или `CLAUDE.local.md` в вашем рабочем каталоге или в любом каталоге выше него, кроме вашего `~/.claude/CLAUDE.md`. Если вы найдёте один, Claude читает его вместо `AGENTS.md`, если вы не установите **Project instructions** на `claude-md-and-agents-md`.

6272. Запустите `claude --version` и подтвердите v2.1.277 или более позднюю версию.

6283. Проверьте, является ли ваш сеанс одним из тех, которые [не могут загружать `AGENTS.md`](#when-agents-md-support-is-unavailable), например сеанс у стороннего поставщика или с отключённой телеметрией.

6294. Введите `/config` в вашем сеансе, чтобы открыть панель параметров и подтвердить, что **Project instructions** не установлен на `claude-md` или `managed-only`. Если вы вообще не видите этот параметр, ваш сеанс — это один из тех, которые [не могут загружать `AGENTS.md`](#when-agents-md-support-is-unavailable).

630 

631`AGENTS.md` не появляется в `/memory` или `/context`, когда Claude читает его напрямую, поэтому проверьте строку `AGENTS.md loaded` или спросите Claude, что говорят его инструкции проекта. Если вы хотите сохранить найденный `CLAUDE.md` или ваш сеанс не может загружать `AGENTS.md`, [добавьте `CLAUDE.md` рядом с вашим `AGENTS.md`, который его импортирует](#share-one-file-with-other-coding-tools).

632 

504<h3 id="i-don’t-know-what-auto-memory-saved">633<h3 id="i-don’t-know-what-auto-memory-saved">

505 Я не знаю, что сохранила auto memory634 Я не знаю, что сохранила auto memory

506</h3>635</h3>

mobile.md +10 −9

Details

6 6 

7> Запускайте, отслеживайте и управляйте задачами Claude Code со своего телефона с помощью приложения Claude для iOS и Android.7> Запускайте, отслеживайте и управляйте задачами Claude Code со своего телефона с помощью приложения Claude для iOS и Android.

8 8 

9Приложение Claude для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) и [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) является клиентом для сеансов Claude Code, а не местом, где выполняется код. С вашего телефона вы можете получить доступ к [облачным сеансам](#start-and-monitor-cloud-sessions) в облаке, к сеансу, работающему на вашем собственном компьютере через [Remote Control](#continue-a-local-session-with-remote-control), или к приложению Desktop через [Dispatch](/docs/ru/desktop#sessions-from-dispatch).9Приложение Claude для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) и [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) является клиентом для сеансов Claude Code, а не местом, где выполняется код. С вашего телефона вы можете получить доступ к [облачным сеансам](#start-and-monitor-cloud-sessions) и [проектам](/docs/ru/claude-projects) в облаке, к сеансу, работающему на вашем собственном компьютере через [Remote Control](#continue-a-local-session-with-remote-control), или к приложению Desktop через [Dispatch](/docs/ru/desktop#sessions-from-dispatch).

10 10 

11<Note>11<Note>

12 Claude Code не имеет отдельного мобильного приложения: облачные сеансы и Remote Control находятся на вкладке **Code** в приложении Claude, а Dispatch — это задача, которой вы отправляете сообщения в приложении.12 Claude Code не имеет отдельного мобильного приложения: облачные сеансы и Remote Control находятся на вкладке **Code** в приложении Claude, а Dispatch — это задача, которой вы отправляете сообщения в приложении.


21 Установите приложение Claude для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) или [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). На iPad установите то же приложение iOS.21 Установите приложение Claude для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) или [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). На iPad установите то же приложение iOS.

22 22 

23 <Tip>23 <Tip>

24 Запустите `/mobile` в сеансе Claude Code, чтобы отобразить QR-код для загрузки, который вы можете отсканировать. `/ios` и `/android` делают то же самое.24 Запустите `/mobile` в сеансе Claude Code, чтобы отобразить QR-код для [claude.ai/mobile](https://claude.ai/mobile), который открывает правильный магазин приложений для вашего телефона. `/ios` и `/android` делают то же самое.

25 </Tip>25 </Tip>

26 </Step>26 </Step>

27 27 


38 Работайте со своего телефона38 Работайте со своего телефона

39</h2>39</h2>

40 40 

41Из приложения вы можете запускать облачные сеансы, управлять сеансом Claude Code, работающим на вашем компьютере, или отправлять Dispatch задачу. Приложение одинаково для всех трёх; они отличаются тем, где происходит работа.41Из приложения вы можете запускать облачные сеансы, открывать проект, управлять сеансом Claude Code, работающим на вашем компьютере, или отправлять Dispatch задачу. Приложение одинаково для каждого; они отличаются тем, где происходит работа.

42 42 

43| Функция | Что вы подключаете | Когда использовать |43| Функция | Что вы подключаете | Когда использовать |

44| :----------------------------------------------------- | :---------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |44| :--------------------------------------------- | :---------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

45| [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) | Облачный сеанс на облачной инфраструктуре, управляемой Anthropic по умолчанию | Ваш репозиторий находится на GitHub и задача должна продолжаться после того, как вы отложите телефон. См. [краткое руководство веб-версии](/docs/ru/web-quickstart) для настройки. |45| [Cloud sessions](/docs/ru/claude-code-on-the-web) | Сеанс на облачной инфраструктуре, управляемой Anthropic по умолчанию | Ваш репозиторий находится на GitHub и задача должна продолжаться после того, как вы отложите телефон. См. [краткое руководство веб-версии](/docs/ru/web-quickstart) для настройки. |

46| [Projects](/docs/ru/claude-projects) | Беседа, в которой Claude координирует параллельные облачные сеансы как потоки | У вас есть поток связанной работы, а не одна задача, и вы хотите увидеть, какие потоки завершены или требуют вас. |

46| [Remote Control](/docs/ru/remote-control) | Сеанс Claude Code, работающий на вашем компьютере | Работе нужна ваша локальная файловая система, инструменты или MCP серверы. |47| [Remote Control](/docs/ru/remote-control) | Сеанс Claude Code, работающий на вашем компьютере | Работе нужна ваша локальная файловая система, инструменты или MCP серверы. |

47| [Dispatch](/docs/ru/desktop#sessions-from-dispatch) | Приложение Desktop на вашем компьютере | Вы хотите отправить задачу и позволить Dispatch решить, как её запустить. Требуется план Pro или Max. |48| [Dispatch](/docs/ru/desktop#sessions-from-dispatch) | Приложение Desktop на вашем компьютере | Вы хотите отправить задачу и позволить Dispatch решить, как её запустить. Требуется план Pro или Max. |

48 49 

49Если ваш компьютер будет выключен, используйте облачные сеансы, которые работают в облаке и продолжают работу с закрытым ноутбуком. Remote Control и Dispatch управляют вашей собственной машиной, поэтому она должна оставаться включённой с запущенным Claude Code или приложением Desktop. Если ваша машина перейдёт в режим сна во время сеанса Remote Control, Claude Code переподключится, когда она вернётся в сеть.50Если ваш компьютер будет выключен, используйте облачные сеансы или проект, которые работают в облаке и продолжают работу с закрытым ноутбуком. Remote Control и Dispatch управляют вашей собственной машиной, поэтому она должна оставаться включённой с запущенным Claude Code или приложением Desktop. Если ваша машина перейдёт в режим сна во время сеанса Remote Control, Claude Code переподключится, когда она вернётся в сеть.

50 51 

51Для более полного сравнения см. [работа, когда вы находитесь вдали от терминала](/docs/ru/platforms#work-when-you-are-away-from-your-terminal).52Для более полного сравнения см. [работа, когда вы находитесь вдали от терминала](/docs/ru/platforms#work-when-you-are-away-from-your-terminal).

52 53 


56 Запуск и мониторинг облачных сеансов57 Запуск и мониторинг облачных сеансов

57</h3>58</h3>

58 59 

59Claude Code в веб-версии запускает задачи на облачной инфраструктуре, управляемой Anthropic по умолчанию, поэтому сеанс продолжается после того, как вы отложите телефон. На вкладке Code выберите репозиторий и ветку, опишите задачу и отправьте её. Сеансы сохраняются на всех устройствах: задача, которую вы запустили на ноутбуке, готова к проверке со своего телефона, а задача, которую вы запустили со своего телефона, ждёт вас, когда вы вернётесь к своему столу.60Облачные сеансы запускают задачи на облачной инфраструктуре, управляемой Anthropic по умолчанию, поэтому сеанс продолжается после того, как вы отложите телефон. На вкладке Code выберите репозиторий и ветку, опишите задачу и отправьте её. Сеансы сохраняются на всех устройствах: задача, которую вы запустили на ноутбуке, готова к проверке со своего телефона, а задача, которую вы запустили со своего телефона, ждёт вас, когда вы вернётесь к своему столу.

60 61 

61Откройте сеанс в приложении, чтобы проверить прогресс, ответить на вопросы Claude или направить его в новом направлении. Вы также можете попросить Claude [следить за pull request](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests) и исправлять сбои CI или комментарии к проверке по мере их поступления. Чтобы подключить GitHub и настроить свою среду, следуйте [краткому руководству веб-версии](/docs/ru/web-quickstart), и см. [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) для всего, что могут делать облачные сеансы.62Откройте сеанс в приложении, чтобы проверить прогресс, ответить на вопросы Claude или направить его в новом направлении. Вы также можете попросить Claude [следить за pull request](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests) и исправлять сбои CI или комментарии к проверке по мере их поступления. Чтобы подключить GitHub и настроить свою среду, следуйте [краткому руководству веб-версии](/docs/ru/web-quickstart), и см. [Use Claude Code in the cloud](/docs/ru/claude-code-on-the-web) для всего, что могут делать облачные сеансы.

62 63 

63<h3 id="continue-a-local-session-with-remote-control">64<h3 id="continue-a-local-session-with-remote-control">

64 Продолжите локальный сеанс с Remote Control65 Продолжите локальный сеанс с Remote Control

65</h3>66</h3>

66 67 

67Remote Control подключает приложение Claude к сеансу Claude Code, работающему на вашей машине, поэтому выполнение кода и доступ к файловой системе остаются локальными, пока вы управляете сеансом со своего телефона. Запустите сеанс на вашем компьютере с помощью `claude remote-control` или запустите `/remote-control` в уже открытом сеансе. Затем отсканируйте QR-код сеанса, который может отобразить терминал, или откройте приложение Claude, нажмите **Code** и выберите сеанс из списка. См. [подключение с другого устройства](/docs/ru/remote-control#connect-from-another-device) для каждого варианта.68Remote Control подключает приложение Claude к сеансу Claude Code, работающему на вашей машине, поэтому выполнение кода и доступ к файловой системе остаются локальными, пока вы управляете сеансом со своего телефона. Запустите сеанс на вашем компьютере с помощью `claude remote-control` или запустите `/remote-control` в уже открытом сеансе. Затем отсканируйте QR-код, который может отобразить терминал, или откройте приложение Claude, нажмите **Code** и выберите сеанс из списка. См. [подключение с другого устройства](/docs/ru/remote-control#connect-from-another-device) для каждого варианта.

68 69 

69Когда вы добавляете вложение в приложение Claude, оно также достигает локального сеанса:70Когда вы добавляете вложение в приложение Claude, оно также достигает локального сеанса:

70 71 

model-config.md +3 −3

Details

292| [Управляемые параметры сервера](/docs/ru/server-managed-settings) из консоли администратора | Применяется | Применяется | Применяется | Применяется | Не доставляется |292| [Управляемые параметры сервера](/docs/ru/server-managed-settings) из консоли администратора | Применяется | Применяется | Применяется | Применяется | Не доставляется |

293| [MDM или файлы управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms) | Применяется | Применяется | Не доставляется в средах, размещенных Anthropic; в [самостоятельно размещенных средах](/docs/ru/self-hosted-environments) применяется из образа runner согласно [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) | Применяется | Применяется где развернуто |293| [MDM или файлы управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms) | Применяется | Применяется | Не доставляется в средах, размещенных Anthropic; в [самостоятельно размещенных средах](/docs/ru/self-hosted-environments) применяется из образа runner согласно [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) | Применяется | Применяется где развернуто |

294 294 

295* Облачные сессии на [Claude Code в веб](/docs/ru/claude-code-on-the-web) или в приложении Desktop по умолчанию запускаются на управляемых Anthropic виртуальных машинах: параметры, развернутые на вашем устройстве, не достигают их, поэтому доставляйте список разрешений через управляемые параметры сервера. Сессии, которые ваша организация маршрутизирует в [самостоятельно размещенную среду](/docs/ru/self-hosted-environments), запускаются на вашем собственном вычислении и также читают файл управляемых параметров в образе runner. [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) указывает, когда этот файл применяется. Переключение модели в середине сессии в облачной сессии отклоняется, когда запрошенная модель исключена списком разрешений. Отклонение на стороне сервера при создании сессии применяется к [ограничениям модели организации](#organization-model-restrictions), а не к ключу параметров `availableModels`.295* Облачные сессии на [Claude Code в веб](/docs/ru/claude-code-on-the-web), включая те, которые вы запускаете из приложения Desktop, по умолчанию запускаются на управляемых Anthropic виртуальных машинах: параметры, развернутые на вашем устройстве, не достигают их, поэтому доставляйте список разрешений через управляемые параметры сервера. Сессии, которые ваша организация маршрутизирует в [самостоятельно размещенную среду](/docs/ru/self-hosted-environments), запускаются на вашем собственном вычислении и также читают файл управляемых параметров в образе runner. [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) указывает, когда этот файл применяется. Переключение модели в середине сессии в облачной сессии отклоняется, когда запрошенная модель исключена списком разрешений. Когда список `availableModels` в ваших управляемых параметрах сервера не пуст, сервер отклоняет запрос пользователя на запуск облачной сессии на модели, которую список исключает.

296* Cowork, вкладка агентской работы в приложении Claude Desktop, запускает свои сессии на Claude Code, но по замыслу не получает управляемые параметры сервера из консоли администратора claude.ai. Файл управляемых параметров применяется к сессиям Cowork, когда он присутствует там, где запускается сессия; удаленные сессии Cowork запускаются на управляемых Anthropic виртуальных машинах, где развернутый на устройстве файл отсутствует.296* Cowork, вкладка агентской работы в приложении Claude Desktop, запускает свои сессии на Claude Code, но по замыслу не получает управляемые параметры сервера из консоли администратора claude.ai. Файл управляемых параметров применяется к сессиям Cowork, когда он присутствует там, где запускается сессия; удаленные сессии Cowork запускаются на управляемых Anthropic виртуальных машинах, где развернутый на устройстве файл отсутствует.

297* Сессии на [поставщиках третьих сторон](/docs/ru/server-managed-settings#platform-availability), таких как Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), не получают управляемые параметры сервера, поэтому доставляйте список разрешений через MDM или файлы управляемых параметров там.297* Сессии на [поставщиках третьих сторон](/docs/ru/server-managed-settings#platform-availability), таких как Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), не получают управляемые параметры сервера, поэтому доставляйте список разрешений через MDM или файлы управляемых параметров там.

298* Доставка, управляемая сервером, также требует, чтобы сессия аутентифицировалась с помощью [подходящего входа или ключа](/docs/ru/server-managed-settings#platform-availability). Флоты, которые генерируют ключи только через скрипт [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), должны доставлять список разрешений через MDM или файлы управляемых параметров.298* Доставка, управляемая сервером, также требует, чтобы сессия аутентифицировалась с помощью [подходящего входа или ключа](/docs/ru/server-managed-settings#platform-availability). Флоты, которые генерируют ключи только через скрипт [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), должны доставлять список разрешений через MDM или файлы управляемых параметров.

299* Вкладка Desktop Code также размещает [сессии SSH](/docs/ru/desktop#ssh-sessions), которые читают файл управляемых параметров с удаленного хоста, на котором они запускаются. См. [Управляемые параметры Desktop](/docs/ru/desktop#managed-settings).299* Вкладка Desktop Code также размещает [сессии SSH](/docs/ru/desktop#ssh-sessions), которые читают файл управляемых параметров с удаленного хоста, на котором они запускаются. См. [Управляемые параметры Desktop](/docs/ru/desktop#managed-settings).

300* Средства выбора модели на claude.ai и в приложении Desktop скрывают или затемняют модели, исключенные списком разрешений вашей организации. Состояние средства выбора — это удобство для пользователей; применение происходит в сессии.300* Средства выбора модели на claude.ai и в приложении Desktop скрывают или затемняют модели, исключенные списком разрешений вашей организации. Состояние средства выбора — это удобство для пользователей; оно не применяет список разрешений.

301 301 

302<h3 id="default-model-behavior">302<h3 id="default-model-behavior">

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


376 376 

377Ограничение применяется, когда член входит или использует свой собственный ключ API. Учетные данные в области организации, такие как ключи служб организации, не привязаны к пользователю, поэтому ограничение не применяется к ним.377Ограничение применяется, когда член входит или использует свой собственный ключ API. Учетные данные в области организации, такие как ключи служб организации, не привязаны к пользователю, поэтому ограничение не применяется к ним.

378 378 

379Claude Console не имеет управления ограничением модели. Организации без плана Claude Enterprise, включая те, члены которых аутентифицируются через Anthropic API, ограничивают модели с помощью [`availableModels`](#restrict-model-selection) в [управляемых параметрах](/docs/ru/managed-settings) вместо этого, добавляя [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) для охвата параметра Default. Эти параметры применяются самим Claude Code, а не сервером.379Claude Console не имеет управления ограничением модели. Организации без плана Claude Enterprise, включая те, члены которых аутентифицируются через Anthropic API, ограничивают модели с помощью [`availableModels`](#restrict-model-selection) в [управляемых параметрах](/docs/ru/managed-settings) вместо этого, добавляя [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) для охвата параметра Default. [Охват поверхности](#surface-coverage) указывает, как каждая поверхность получает и применяет эти параметры.

380 380 

381Ограниченная модель скрыта из средства выбора `/model`. Выбор ее по имени с помощью `--model`, переменной окружения `ANTHROPIC_MODEL` или параметра `model` показывает уведомление `Model "<name>" is restricted by your organization's settings. Using <model> instead.` и сессия запускается на разрешенной модели. Ввод `/model <name>` для ограниченной модели отклоняется с `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` и сессия сохраняет свою текущую модель.381Ограниченная модель скрыта из средства выбора `/model`. Выбор ее по имени с помощью `--model`, переменной окружения `ANTHROPIC_MODEL` или параметра `model` показывает уведомление `Model "<name>" is restricted by your organization's settings. Using <model> instead.` и сессия запускается на разрешенной модели. Ввод `/model <name>` для ограниченной модели отклоняется с `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` и сессия сохраняет свою текущую модель.

382 382 

Details

122| `OTEL_LOG_USER_PROMPTS` | Включить логирование содержимого пользовательских подсказок (по умолчанию: отключено) | `1` для включения |122| `OTEL_LOG_USER_PROMPTS` | Включить логирование содержимого пользовательских подсказок (по умолчанию: отключено) | `1` для включения |

123| `OTEL_LOG_ASSISTANT_RESPONSES` | Включить логирование текста ответа ассистента на событиях `assistant_response` (по умолчанию: отключено). Если не установлено, возвращается к значению `OTEL_LOG_USER_PROMPTS`. Требует Claude Code v2.1.193 или позже | `1` для включения, `0` для сохранения скрытым |123| `OTEL_LOG_ASSISTANT_RESPONSES` | Включить логирование текста ответа ассистента на событиях `assistant_response` (по умолчанию: отключено). Если не установлено, возвращается к значению `OTEL_LOG_USER_PROMPTS`. Требует Claude Code v2.1.193 или позже | `1` для включения, `0` для сохранения скрытым |

124| `OTEL_LOG_TOOL_DETAILS` | Включить логирование параметров инструмента и аргументов входных данных в событиях инструментов и атрибутах span трассировки: команды Bash, имена MCP сервера и инструмента, имена навыков, имена пользовательских рабочих процессов и входные данные инструмента. Также включает пользовательские, плагин и MCP имена команд на событиях `user_prompt` (по умолчанию: отключено). Для встроенных серверов Claude Desktop в сеансах, которыми владеет Claude Desktop, `mcp_server_name`/`mcp_tool_name` выдаются на `tool_decision`/`tool_result` даже с отключенным флагом. Исключение требует Claude Code v2.1.214 или позже | `1` для включения |124| `OTEL_LOG_TOOL_DETAILS` | Включить логирование параметров инструмента и аргументов входных данных в событиях инструментов и атрибутах span трассировки: команды Bash, имена MCP сервера и инструмента, имена навыков, имена пользовательских рабочих процессов и входные данные инструмента. Также включает пользовательские, плагин и MCP имена команд на событиях `user_prompt` (по умолчанию: отключено). Для встроенных серверов Claude Desktop в сеансах, которыми владеет Claude Desktop, `mcp_server_name`/`mcp_tool_name` выдаются на `tool_decision`/`tool_result` даже с отключенным флагом. Исключение требует Claude Code v2.1.214 или позже | `1` для включения |

125| `OTEL_LOG_TOOL_CONTENT` | Включить логирование входных и выходных данных инструмента в событиях span (по умолчанию: отключено). Требует [трассировку](#traces-beta). Содержимое усекается на лимит содержимого (60 КБ по умолчанию) | `1` для включения |125| `OTEL_LOG_TOOL_CONTENT` | Включить логирование содержимого инструмента в событии span [`tool.output`](#tool-output-span-event) (по умолчанию: отключено). Атрибуты span несут содержимое инструмента под [их собственными вентилями](#new-context-gates). Требует [трассировку](#traces-beta). Содержимое усекается на лимит содержимого (60 КБ по умолчанию) | `1` для включения |

126| `OTEL_LOG_RAW_API_BODIES` | Выдавать полный JSON запроса и ответа Anthropic Messages API как события логов `api_request_body` / `api_response_body` (по умолчанию: отключено). Тела включают всю историю разговора. Включение этого подразумевает согласие со всем, что раскрыли бы `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` и `OTEL_LOG_TOOL_CONTENT` | `1` для встроенных тел, усеченных на лимит содержимого (60 КБ по умолчанию), или `file:<dir>` для неусеченных тел на диске с указателем `body_ref` в событии |126| `OTEL_LOG_RAW_API_BODIES` | Выдавать полный JSON запроса и ответа Anthropic Messages API как события логов `api_request_body` / `api_response_body` (по умолчанию: отключено). Тела включают всю историю разговора. Включение этого подразумевает согласие со всем, что раскрыли бы `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` и `OTEL_LOG_TOOL_CONTENT` | `1` для встроенных тел, усеченных на лимит содержимого (60 КБ по умолчанию), или `file:<dir>` для неусеченных тел на диске с указателем `body_ref` в событии |

127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Лимит содержимого: максимальная длина атрибутов, содержащих содержимое, таких как ответы модели, содержимое инструмента, системные подсказки и тела сырого API, включая маркер усечения, в единицах кода UTF-16 (по умолчанию: 61440, т.е. 60 КБ). По умолчанию размер рассчитан для бэкендов, которые ограничивают значения атрибутов на 64 КБ; увеличивайте его только если ваш бэкенд принимает большие значения, или уменьшайте его для снижения объема телеметрии. Когда установлен лимит атрибутов OpenTelemetry SDK, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` или один из его вариантов logrecord и span, Claude Code усекает на это меньшее значение, чтобы маркер `[TRUNCATED ...]` оставался в пределах лимита SDK. Требует Claude Code v2.1.214 или позже | `262144` |127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Лимит содержимого: максимальная длина атрибутов, содержащих содержимое, таких как ответы модели, содержимое инструмента, системные подсказки и тела сырого API, включая маркер усечения, в единицах кода UTF-16 (по умолчанию: 61440, т.е. 60 КБ). По умолчанию размер рассчитан для бэкендов, которые ограничивают значения атрибутов на 64 КБ; увеличивайте его только если ваш бэкенд принимает большие значения, или уменьшайте его для снижения объема телеметрии. Когда установлен лимит атрибутов OpenTelemetry SDK, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` или один из его вариантов logrecord и span, Claude Code усекает на это меньшее значение, чтобы маркер `[TRUNCATED ...]` оставался в пределах лимита SDK. Требует Claude Code v2.1.214 или позже | `262144` |

128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Предпочтение временности метрик (по умолчанию: `delta`). Установите на `cumulative`, если ваш бэкенд ожидает кумулятивную временность | `delta`, `cumulative` |128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Предпочтение временности метрик (по умолчанию: `delta`). Установите на `cumulative`, если ваш бэкенд ожидает кумулятивную временность | `delta`, `cumulative` |


284| `skill_name` | Имя навыка для инструмента Skill | `OTEL_LOG_TOOL_DETAILS` |284| `skill_name` | Имя навыка для инструмента Skill | `OTEL_LOG_TOOL_DETAILS` |

285| `subagent_type` | Тип подагента для инструмента Agent или устаревшего инструмента Task | `OTEL_LOG_TOOL_DETAILS` |285| `subagent_type` | Тип подагента для инструмента Agent или устаревшего инструмента Task | `OTEL_LOG_TOOL_DETAILS` |

286 286 

287Когда `OTEL_LOG_TOOL_CONTENT=1`, этот span также записывает событие span `tool.output`, чьи атрибуты содержат входные и выходные тела инструмента, усеченные на лимит содержимого (60 КБ по умолчанию) на атрибут.287<span id="tool-output-span-event" />**`tool.output` span event на `claude_code.tool`**

288 

289Если вы установите `OTEL_LOG_TOOL_CONTENT=1`, вызовы Read и Bash могут записать событие span `tool.output` на span `claude_code.tool`. Вызовы Edit и Write записывают его только когда вы также установите `OTEL_LOG_TOOL_DETAILS=1`. Эта переменная не ограничена этими двумя инструментами, поэтому проверьте её [строку в таблице конфигурации](#common-configuration-variables) для аргументов, которые она добавляет в другом месте.

290 

291Claude Code записывает это событие из успешного возврата вызова инструмента, поэтому вызов, который вызывает ошибку, не записывает ничего, независимо от инструмента. Среди вызовов, которые действительно возвращаются, он не записывает событие span `tool.output` для:

292 

293* Вызова любого инструмента, отличного от Read, Edit, Write и Bash, включая MCP инструменты и WebFetch

294* Read, который возвращает что-либо, отличное от текста файла, такое как изображение, PDF или повторное чтение файла, содержимое которого не изменилось

295* Вызова Edit или Write, если вы также не установите `OTEL_LOG_TOOL_DETAILS=1`

296 

297Событие несет эти атрибуты, каждый усеченный на лимит содержимого (60 КБ по умолчанию). `Управляется` называет переменную, которая требуется атрибуту в дополнение к `OTEL_LOG_TOOL_CONTENT=1`, и для Edit и Write эта переменная управляет самим событием, а не атрибутом.

298 

299| Атрибут | Описание | Управляется |

300| -------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------- |

301| `content` | Текст, который вернул инструмент Read, или текст, который вызов Write был попрошен написать | `OTEL_LOG_TOOL_DETAILS` для инструмента Write |

302| `output` | Объединенный вывод команды Bash, с stderr чередующимся в stdout | |

303| `diff` | Структурированный патч, который применил инструмент Edit | `OTEL_LOG_TOOL_DETAILS` |

304| `file_path` | Целевой путь файла для инструментов Read, Edit и Write, повторяя атрибут span с тем же именем | `OTEL_LOG_TOOL_DETAILS` |

305| `bash_command` | Строка команды для инструмента Bash | `OTEL_LOG_TOOL_DETAILS` |

306 

307Атрибут `tool_name` родительского span говорит вам, из какого инструмента пришло событие. Атрибут, усеченный на лимит содержимого, сопровождается `<attribute>_truncated` и `<attribute>_original_length`.

288 308 

289**`claude_code.tool.blocked_on_user`**309**`claude_code.tool.blocked_on_user`**

290 310 


323| `num_non_blocking_error` | Количество hooks, которые не удались без блокировки | |343| `num_non_blocking_error` | Количество hooks, которые не удались без блокировки | |

324| `num_cancelled` | Количество hooks, отмененных до завершения | |344| `num_cancelled` | Количество hooks, отмененных до завершения | |

325 345 

346<span id="new-context-gates" />

347 

326<Note>348<Note>

327 Дополнительные атрибуты, содержащие содержимое, такие как `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` и `response.model_output`, выдаются только при активной детальной бета-трассировке. Они не являются частью стабильной схемы span.349 Дополнительные атрибуты, содержащие содержимое, такие как `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` и `response.model_output`, выдаются только при активной детальной бета-трассировке. Они не являются частью стабильной схемы span.

328 350 

351 Вентиль на `new_context` зависит от того, какой span его несет, и каждая копия усекается на лимит содержимого (60 КБ по умолчанию). На span `claude_code.tool` он несет результат этого вызова инструмента, независимо от инструмента, и требует `OTEL_LOG_TOOL_CONTENT=1`. На span `claude_code.interaction` он несет пользовательскую подсказку, и на span `claude_code.llm_request` новые пользовательские сообщения и результаты инструментов этого запроса. Оба требуют `OTEL_LOG_USER_PROMPTS=1`.

352 

329 `user_system_prompt` дополнительно требует `OTEL_LOG_USER_PROMPTS=1`. Он содержит только текст системной подсказки, который вы предоставляете через опцию SDK `systemPrompt` или флаги `--system-prompt` и `--append-system-prompt`, усеченный на лимит содержимого (60 КБ по умолчанию), и выдается один раз за сеанс, а не за запрос.353 `user_system_prompt` дополнительно требует `OTEL_LOG_USER_PROMPTS=1`. Он содержит только текст системной подсказки, который вы предоставляете через опцию SDK `systemPrompt` или флаги `--system-prompt` и `--append-system-prompt`, усеченный на лимит содержимого (60 КБ по умолчанию), и выдается один раз за сеанс, а не за запрос.

330</Note>354</Note>

331 355 


877* `body_truncated`: `"true"` когда произошло встроенное усечение. Отсутствует в режиме файла и когда усечение не произошло.901* `body_truncated`: `"true"` когда произошло встроенное усечение. Отсутствует в режиме файла и когда усечение не произошло.

878* `model`: Идентификатор модели из параметров запроса902* `model`: Идентификатор модели из параметров запроса

879* `query_source`: Подсистема, которая выдала запрос (например, `"compact"`)903* `query_source`: Подсистема, которая выдала запрос (например, `"compact"`)

904* `request_body_id`: UUID, который идентифицирует тело запроса этой попытки. Событие [`api_response_body`](#api-response-body-event) для попытки, которая успешна, содержит то же значение, поэтому вы можете связать ответ с точным запросом, который его создал. Требует Claude Code v2.1.274 или позже

880 905 

881<h4 id="api-response-body-event">906<h4 id="api-response-body-event">

882 Событие тела ответа API907 Событие тела ответа API


884 909 

885Логируется для каждого успешного ответа API, когда установлен `OTEL_LOG_RAW_API_BODIES`.910Логируется для каждого успешного ответа API, когда установлен `OTEL_LOG_RAW_API_BODIES`.

886 911 

912В режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`), Claude Code также добавляет одну строку JSON к `<dir>/index.jsonl` для каждого успешного ответа, с полями `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file` и `response_file`. Прочитайте его, чтобы найти файлы запроса и ответа за данным сообщением транскрипта без запроса к вашему бэкенду телеметрии. Файл индекса требует Claude Code v2.1.274 или позже.

913 

887**Имя события**: `claude_code.api_response_body`914**Имя события**: `claude_code.api_response_body`

888 915 

889**Атрибуты**:916**Атрибуты**:


899* `model`: Идентификатор модели926* `model`: Идентификатор модели

900* `query_source`: Подсистема, которая выдала запрос927* `query_source`: Подсистема, которая выдала запрос

901* `request_id`: ID запроса Anthropic API из заголовка ответа `request-id`, такой как `"req_011..."`. Присутствует только, когда API возвращает его.928* `request_id`: ID запроса Anthropic API из заголовка ответа `request-id`, такой как `"req_011..."`. Присутствует только, когда API возвращает его.

929* `request_body_id`: `request_body_id` события [`api_request_body`](#api-request-body-event), на которое этот ответ отвечает. Требует Claude Code v2.1.274 или позже

930* `message.id`: ID сообщения, который API назначил ответу, поле `id` тела ответа. Требует Claude Code v2.1.274 или позже

931* `message.uuid`: UUID финальной записи транскрипта ответа. Вместе с `request_body_id` он связывает сообщение транскрипта с телами запроса и ответа позади него. Требует Claude Code v2.1.274 или позже

902 932 

903<h4 id="tool-decision-event">933<h4 id="tool-decision-event">

904 Событие решения инструмента934 Событие решения инструмента


1525* Экспорт OpenTelemetry на ваш бэкенд является добровольным и требует явной конфигурации. Информацию об отдельной операционной телеметрии Anthropic и о том, как её отключить, см. в разделе [Data usage](/docs/ru/data-usage#telemetry-services)1555* Экспорт OpenTelemetry на ваш бэкенд является добровольным и требует явной конфигурации. Информацию об отдельной операционной телеметрии Anthropic и о том, как её отключить, см. в разделе [Data usage](/docs/ru/data-usage#telemetry-services)

1526* Содержимое файлов в исходном виде и фрагменты кода не включаются в метрики или события. Span трассировок — это отдельный путь данных: см. пункт `OTEL_LOG_TOOL_CONTENT` ниже1556* Содержимое файлов в исходном виде и фрагменты кода не включаются в метрики или события. Span трассировок — это отдельный путь данных: см. пункт `OTEL_LOG_TOOL_CONTENT` ниже

1527* При аутентификации через OAuth `user.email` включается в атрибуты телеметрии, отправляется только на endpoint OTel, который вы настраиваете, никогда на Anthropic. Если это вызывает беспокойство для вашей организации, работайте с вашим бэкендом телеметрии для фильтрации или редактирования этого поля1557* При аутентификации через OAuth `user.email` включается в атрибуты телеметрии, отправляется только на endpoint OTel, который вы настраиваете, никогда на Anthropic. Если это вызывает беспокойство для вашей организации, работайте с вашим бэкендом телеметрии для фильтрации или редактирования этого поля

1528* Содержимое пользовательской подсказки не собирается по умолчанию. Записывается только длина подсказки. Чтобы включить содержимое подсказки, установите `OTEL_LOG_USER_PROMPTS=1`1558* Содержимое пользовательской подсказки не собирается по умолчанию. Записывается только длина подсказки. Чтобы включить содержимое подсказки, установите `OTEL_LOG_USER_PROMPTS=1`. При детальной бета-трассировке эта переменная действует шире, чем текст подсказки: она также управляет атрибутом span [`new_context`](#new-context-gates), который содержит результаты инструментов на span `claude_code.llm_request`

1529* Текст ответа помощника не собирается по умолчанию. Записывается только длина ответа. Чтобы включить текст ответа, установите `OTEL_LOG_ASSISTANT_RESPONSES=1`. Как и все данные OpenTelemetry из Claude Code, текст ответа отправляется только на endpoint OTel, который вы настраиваете, никогда на Anthropic. Когда эта переменная не установлена, `OTEL_LOG_USER_PROMPTS` используется как резервный вариант, поэтому установите `OTEL_LOG_ASSISTANT_RESPONSES=0`, если вы хотите содержимое подсказки без содержимого ответа1559* Текст ответа помощника не собирается по умолчанию. Записывается только длина ответа. Чтобы включить текст ответа, установите `OTEL_LOG_ASSISTANT_RESPONSES=1`. Как и все данные OpenTelemetry из Claude Code, текст ответа отправляется только на endpoint OTel, который вы настраиваете, никогда на Anthropic. Когда эта переменная не установлена, `OTEL_LOG_USER_PROMPTS` используется как резервный вариант, поэтому установите `OTEL_LOG_ASSISTANT_RESPONSES=0`, если вы хотите содержимое подсказки без содержимого ответа

1530* Аргументы входных данных инструмента и параметры не логируются по умолчанию. Чтобы включить их, установите `OTEL_LOG_TOOL_DETAILS=1`. Для встроенных серверов Claude Desktop в сеансах, которыми владеет Claude Desktop, `tool_decision` и `tool_result` содержат пару `mcp_server_name`/`mcp_tool_name`, имена, созданные хостом, а не содержимое аргументов, даже с отключённым флагом. Исключение требует Claude Code v2.1.214 или позже. Эти данные отправляются только на endpoint OTEL, который вы настраиваете, никогда на Anthropic. Аргументы могут по-прежнему содержать конфиденциальные значения, поэтому настройте ваш бэкенд телеметрии для фильтрации или редактирования этих атрибутов по мере необходимости. Когда включено:1560* Аргументы входных данных инструмента и параметры не логируются по умолчанию. Чтобы включить их, установите `OTEL_LOG_TOOL_DETAILS=1`. Для встроенных серверов Claude Desktop в сеансах, которыми владеет Claude Desktop, `tool_decision` и `tool_result` содержат пару `mcp_server_name`/`mcp_tool_name`, имена, созданные хостом, а не содержимое аргументов, даже с отключённым флагом. Исключение требует Claude Code v2.1.214 или позже. Эти данные отправляются только на endpoint OTEL, который вы настраиваете, никогда на Anthropic. Аргументы могут по-прежнему содержать конфиденциальные значения, поэтому настройте ваш бэкенд телеметрии для фильтрации или редактирования этих атрибутов по мере необходимости. Когда включено:

1531 * События `tool_result` и `tool_decision` включают атрибут `tool_parameters` с командами Bash, именами MCP сервера и инструмента и именами навыков. Поля, такие как `full_command`, выдаются неусеченными1561 * События `tool_result` и `tool_decision` включают атрибут `tool_parameters` с командами Bash, именами MCP сервера и инструмента и именами навыков. Поля, такие как `full_command`, выдаются неусеченными

1532 * События `tool_result` дополнительно включают атрибут `tool_input` с путями к файлам, URL-адресами, шаблонами поиска и другими аргументами. Отдельные значения более 512 символов усекаются, и общее количество ограничено примерно 4 K символами1562 * События `tool_result` дополнительно включают атрибут `tool_input` с путями к файлам, URL-адресами, шаблонами поиска и другими аргументами. Отдельные значения более 512 символов усекаются, и общее количество ограничено примерно 4 K символами

1533 * События `user_prompt` включают буквальное `command_name` для пользовательских, плагин и MCP команд1563 * События `user_prompt` включают буквальное `command_name` для пользовательских, плагин и MCP команд

1534 * Span трассировки включают тот же атрибут `tool_input` и атрибуты, полученные из входных данных, такие как `file_path`, с тем же усечением, что и `tool_input`1564 * Span трассировки включают тот же атрибут `tool_input` и атрибуты, полученные из входных данных, такие как `file_path`, с тем же усечением, что и `tool_input`

1535* Входные и выходные данные инструмента не логируются в span событиях по умолчанию. Чтобы включить их, установите `OTEL_LOG_TOOL_CONTENT=1`. Когда включено, события span включают полное содержимое входных и выходных данных инструмента, усеченное на лимит содержимого (60 КБ по умолчанию) на атрибут. Это может включать содержимое исходного файла из результатов инструмента Read и выходные данные команды Bash. Настройте ваш бэкенд телеметрии для фильтрации или редактирования этих атрибутов по мере необходимости1565* Содержимое инструмента не логируется в span трассировок по умолчанию. Чтобы включить его, установите `OTEL_LOG_TOOL_CONTENT=1`. Span `claude_code.tool` затем содержит событие span [`tool.output`](#tool-output-span-event) с содержимым файлов в исходном виде и выходными данными команды Bash, усеченными на лимит содержимого (60 КБ по умолчанию) на атрибут. Содержимое инструмента также достигает span через [`new_context`, чей gate отличается для каждого span](#new-context-gates). Настройте ваш бэкенд телеметрии для фильтрации или редактирования этих атрибутов по мере необходимости

1536* Тела запроса и ответа Anthropic Messages API в исходном виде не логируются по умолчанию. Чтобы включить их, установите `OTEL_LOG_RAW_API_BODIES` в вашей оболочке, пользовательских параметрах или управляемых параметрах. Это игнорируется в [project and local settings](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). Тела содержат полную историю разговора, включая системную подсказку, каждый предыдущий ход пользователя и помощника, и результаты инструментов, поэтому включение этого подразумевает согласие со всем, что раскрыли бы другие флаги содержимого `OTEL_LOG_*`. Claude Code всегда скрывает содержимое расширенного мышления Claude из этих тел, независимо от других параметров. Значение, которое вы установите, определяет, как Claude Code доставляет тела:1566* Тела запроса и ответа Anthropic Messages API в исходном виде не логируются по умолчанию. Чтобы включить их, установите `OTEL_LOG_RAW_API_BODIES` в вашей оболочке, пользовательских параметрах или управляемых параметрах. Это игнорируется в [project and local settings](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). Тела содержат полную историю разговора, включая системную подсказку, каждый предыдущий ход пользователя и помощника, и результаты инструментов, поэтому включение этого подразумевает согласие со всем, что раскрыли бы другие флаги содержимого `OTEL_LOG_*`. Claude Code всегда скрывает содержимое расширенного мышления Claude из этих тел, независимо от других параметров. Значение, которое вы установите, определяет, как Claude Code доставляет тела:

1537 * С `=1`, Claude Code выдает события логов `api_request_body` и `api_response_body` для каждого вызова API. Атрибут `body` событий содержит JSON-сериализованную нагрузку, усеченную на лимит содержимого (60 КБ по умолчанию)1567 * С `=1`, Claude Code выдает события логов `api_request_body` и `api_response_body` для каждого вызова API. Атрибут `body` событий содержит JSON-сериализованную нагрузку, усеченную на лимит содержимого (60 КБ по умолчанию)

1538 * С `=file:<dir>`, Claude Code записывает неусеченные тела в файлы `.request.json` и `.response.json` в этом каталоге, и события содержат путь `body_ref` вместо встроенного тела. Отправьте каталог с коллектором логов или sidecar, а не через поток телеметрии1568 * С `=file:<dir>`, Claude Code записывает неусеченные тела в файлы `.request.json` и `.response.json` в этом каталоге, и события содержат путь `body_ref` вместо встроенного тела. Отправьте каталог с коллектором логов или sidecar, а не через поток телеметрии.

1569 

1570 Для каждого успешного ответа Claude Code также добавляет одну строку в файл `index.jsonl` в этом каталоге, связывая файл ответа с файлом запроса, который его создал, и с сообщением транскрипта, которым он стал. Каждая строка не содержит содержимого сообщения, и раздел [API response body event](#api-response-body-event) перечисляет его поля. Файл индекса требует Claude Code v2.1.274 или позже

1539 1571 

1540<h2 id="monitor-claude-code-on-amazon-bedrock">1572<h2 id="monitor-claude-code-on-amazon-bedrock">

1541 Мониторинг Claude Code на Amazon Bedrock1573 Мониторинг Claude Code на Amazon Bedrock

Details

272 Белые списки GitHub и брандмауэры272 Белые списки GitHub и брандмауэры

273</h3>273</h3>

274 274 

275[Claude Code on the web](/docs/ru/claude-code-on-the-web) в размещенных Anthropic средах и [Code Review](/docs/ru/code-review) подключаются к вашим репозиториям из управляемой Anthropic инфраструктуры; сеансы в [self-hosted environment](/docs/ru/self-hosted-environments) подключаются изнутри вашей сети, если только исполнитель не согласится на [Anthropic git proxy](/docs/ru/self-hosted-environments-deploy#use-the-anthropic-git-proxy), который получает с стороны Anthropic.275[Cloud sessions](/docs/ru/claude-code-on-the-web) в размещенных Anthropic средах и [Code Review](/docs/ru/code-review) подключаются к вашим репозиториям из управляемой Anthropic инфраструктуры; сеансы в [self-hosted environment](/docs/ru/self-hosted-environments) подключаются изнутри вашей сети, если только исполнитель не согласится на [Anthropic git proxy](/docs/ru/self-hosted-environments-deploy#use-the-anthropic-git-proxy), который получает с стороны Anthropic.

276 276 

277Если ваша организация GitHub Enterprise Cloud ограничивает доступ по IP-адресу, включите [IP allow list inheritance for installed GitHub Apps](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) и также [add an allow list entry](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) для [исходящих IP-адресов](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Наследование охватывает только запросы, которые делает приложение Claude GitHub как установка, а не запросы, которые оно делает от имени ваших пользователей. Для других брандмауэров см. [Anthropic API IP addresses](https://platform.claude.com/docs/en/api/ip-addresses).277Если ваша организация GitHub Enterprise Cloud ограничивает доступ по IP-адресу, включите [IP allow list inheritance for installed GitHub Apps](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) и также [add an allow list entry](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) для [исходящих IP-адресов](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Наследование охватывает только запросы, которые делает приложение Claude GitHub как установка, а не запросы, которые оно делает от имени ваших пользователей. Для других брандмауэров см. [Anthropic API IP addresses](https://platform.claude.com/docs/en/api/ip-addresses).

278 278 

Details

34 34 

35Выберите стиль одним из следующих способов:35Выберите стиль одним из следующих способов:

36 36 

37* **`/output-style` command**: запустите `/output-style <style>` для переключения, например `/output-style concise`. Без аргумента команда выводит список доступных стилей и отмечает текущий. Claude Code сохраняет ваш выбор в `.claude/settings.local.json` на [локальном уровне проекта](/docs/ru/settings).

38 

39 Команда также работает в [неинтерактивном режиме](/docs/ru/headless) и сеансах Agent SDK, а также из мобильного приложения или веб-версии через [Remote Control](/docs/ru/remote-control#limitations), где вы можете просмотреть и выбрать только [встроенные стили](#built-in-output-styles). Требуется Claude Code версии 2.1.269 или позже.

37* **Terminal**: запустите `/config` и выберите **Output style**, чтобы выбрать стиль из меню. Claude Code сохраняет ваш выбор в `.claude/settings.local.json` на [локальном уровне проекта](/docs/ru/settings).40* **Terminal**: запустите `/config` и выберите **Output style**, чтобы выбрать стиль из меню. Claude Code сохраняет ваш выбор в `.claude/settings.local.json` на [локальном уровне проекта](/docs/ru/settings).

38* **VS Code extension**: откройте [меню команд](/docs/ru/vs-code#use-the-prompt-box) с помощью `/` и выберите **Output styles**, чтобы выбрать стиль, включая ваши пользовательские стили. Claude Code сохраняет ваш выбор в `.claude/settings.local.json`, в тот же файл, в который пишет меню терминала. Требуется Claude Code версии 2.1.257 или позже.41* **VS Code extension**: откройте [меню команд](/docs/ru/vs-code#use-the-prompt-box) с помощью `/` и выберите **Output styles**, чтобы выбрать стиль, включая ваши пользовательские стили. Claude Code сохраняет ваш выбор в `.claude/settings.local.json`, в тот же файл, в который пишет меню терминала. Требуется Claude Code версии 2.1.257 или позже.

39* **Desktop app**: установите поле `outputStyle` в файле настроек, например `.claude/settings.local.json`, файл, в который пишет меню терминала. Когда вы запустите `/config` там, Claude Code [открывает **Settings > Claude Code**](/docs/ru/desktop#what%E2%80%99s-not-available-in-desktop) вместо меню.42* **Desktop app**: установите поле `outputStyle` в файле настроек, например `.claude/settings.local.json`, файл, в который пишет меню терминала. Когда вы запустите `/config` там, Claude Code [открывает **Settings > Claude Code**](/docs/ru/desktop#what%E2%80%99s-not-available-in-desktop) вместо меню.

40 43 

41<Note>Автономная команда `/output-style` была объявлена устаревшей в версии 2.1.73 и удалена в версии 2.1.91. Используйте `/config` или отредактируйте параметр `outputStyle` напрямую.</Note>

42 

43Чтобы установить стиль без меню, отредактируйте поле `outputStyle` непосредственно в файле настроек:44Чтобы установить стиль без меню, отредактируйте поле `outputStyle` непосредственно в файле настроек:

44 45 

45```json theme={null}46```json theme={null}


90 </Step>91 </Step>

91 92 

92 <Step title="Переключитесь на ваш стиль">93 <Step title="Переключитесь на ваш стиль">

93 Запустите `/config` в терминале и выберите ваш стиль в разделе **Output style**. Claude использует новый стиль, начиная со следующего сообщения. В терминале Claude Code читает файлы стилей при запуске, поэтому если вы создадите или отредактируете один во время работающего сеанса, перезагрузите Claude Code, чтобы применить изменение.94 Запустите `/output-style <style>` в терминале или запустите `/config` и выберите ваш стиль в разделе **Output style**. Claude использует новый стиль, начиная со следующего сообщения. В терминале Claude Code читает файлы стилей при запуске, поэтому если вы создадите или отредактируете один во время работающего сеанса, перезагрузите Claude Code, чтобы применить изменение.

94 </Step>95 </Step>

95</Steps>96</Steps>

96 97 

overview.md +5 −5

Details

117 </Tab>117 </Tab>

118 118 

119 <Tab title="Web">119 <Tab title="Web">

120 Запустите Claude Code в вашем браузере без локальной настройки. Запускайте долгоживущие задачи и возвращайтесь, когда они будут готовы, работайте с репозиториями, которые у вас нет локально, или запускайте несколько задач параллельно. Доступно на настольных браузерах и [приложении Claude для iOS и Android](/docs/ru/mobile).120 Запустите Claude Code в вашем браузере без локальной настройки. Запускайте долгоживущие задачи и возвращайтесь, когда они будут готовы, работайте с репозиториями, которые у вас нет локально, или запускайте несколько задач параллельно. Для более длительной работы создайте [проект](/docs/ru/claude-projects) и позвольте Claude координировать параллельные сеансы для вас. Доступно на настольных браузерах и [приложении Claude для iOS и Android](/docs/ru/mobile).

121 121 

122 Начните кодирование на [claude.ai/code](https://claude.ai/code).122 Начните кодирование на [claude.ai/code](https://claude.ai/code).

123 123 

124 [Начните работу в веб-версии →](/docs/ru/web-quickstart)124 [Начните работу →](/docs/ru/web-quickstart)

125 </Tab>125 </Tab>

126 126 

127 <Tab title="JetBrains">127 <Tab title="JetBrains">


169 </Accordion>169 </Accordion>

170 170 

171 <Accordion title="Настройте с помощью инструкций, skills и hooks" icon="sliders">171 <Accordion title="Настройте с помощью инструкций, skills и hooks" icon="sliders">

172 [`CLAUDE.md`](/docs/ru/memory) — это файл markdown, который вы добавляете в корень вашего проекта, и Claude Code читает его в начале каждого сеанса. Используйте его для установки стандартов кодирования, архитектурных решений, предпочитаемых библиотек и контрольных списков проверки. Claude также создает [auto memory](/docs/ru/memory#auto-memory) по мере работы, сохраняя знания в разных сеансах без необходимости что-либо писать.172 [`CLAUDE.md`](/docs/ru/memory) — это файл markdown, который вы добавляете в корень вашего проекта, и Claude Code читает его в начале каждого сеанса. Используйте его для установки стандартов кодирования, архитектурных решений, предпочитаемых библиотек и контрольных списков проверки. Если ваш репозиторий уже имеет `AGENTS.md` для других агентов кодирования, Claude Code [может читать это](/docs/ru/memory#agents-md) самостоятельно или вместе с `CLAUDE.md`. Claude также создает [auto memory](/docs/ru/memory#auto-memory) по мере работы, сохраняя знания в разных сеансах без необходимости что-либо писать.

173 173 

174 Создавайте [skills](/docs/ru/skills) для упаковки повторяемых рабочих процессов, которые ваша команда может использовать, например `/review-pr` или `/deploy-staging`.174 Создавайте [skills](/docs/ru/skills) для упаковки повторяемых рабочих процессов, которые ваша команда может использовать, например `/review-pr` или `/deploy-staging`.

175 175 


227Помимо сред [Terminal](/docs/ru/quickstart), [VS Code](/docs/ru/vs-code), [JetBrains](/docs/ru/jetbrains), [Desktop](/docs/ru/desktop) и [Web](/docs/ru/claude-code-on-the-web) выше, Claude Code интегрируется с CI/CD, чатом и рабочими процессами браузера:227Помимо сред [Terminal](/docs/ru/quickstart), [VS Code](/docs/ru/vs-code), [JetBrains](/docs/ru/jetbrains), [Desktop](/docs/ru/desktop) и [Web](/docs/ru/claude-code-on-the-web) выше, Claude Code интегрируется с CI/CD, чатом и рабочими процессами браузера:

228 228 

229| Я хочу... | Лучший вариант |229| Я хочу... | Лучший вариант |

230| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |230| -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |

231| Продолжить локальный сеанс со своего телефона или другого устройства | [Remote Control](/docs/ru/remote-control) |231| Продолжить локальный сеанс со своего телефона или другого устройства | [Remote Control](/docs/ru/remote-control) |

232| Отправить события из Telegram, Discord, iMessage или моих собственных webhooks в сеанс | [Channels](/docs/ru/channels) |232| Отправить события из Telegram, Discord, iMessage или моих собственных webhooks в сеанс | [Channels](/docs/ru/channels) |

233| Начать задачу локально, продолжить на мобильном | [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-web), затем [мобильное приложение Claude](/docs/ru/mobile) |233| Начать задачу локально, продолжить на мобильном | [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), затем [мобильное приложение Claude](/docs/ru/mobile) |

234| Запустить Claude по расписанию | [Routines](/docs/ru/routines) или [Запланированные задачи Desktop](/docs/ru/desktop-scheduled-tasks) |234| Запустить Claude по расписанию | [Routines](/docs/ru/routines) или [Запланированные задачи Desktop](/docs/ru/desktop-scheduled-tasks) |

235| Автоматизировать проверки PR и сортировку проблем | [GitHub Actions](/docs/ru/github-actions) или [GitLab CI/CD](/docs/ru/gitlab-ci-cd) |235| Автоматизировать проверки PR и сортировку проблем | [GitHub Actions](/docs/ru/github-actions) или [GitLab CI/CD](/docs/ru/gitlab-ci-cd) |

236| Получить автоматическую проверку кода на каждый PR | [GitHub Code Review](/docs/ru/code-review) |236| Получить автоматическую проверку кода на каждый PR | [GitHub Code Review](/docs/ru/code-review) |

Details

32Режимы устанавливают базовый уровень. Наложите [правила разрешений](/docs/ru/permissions#manage-permissions) сверху, чтобы предварительно одобрить или заблокировать определённые инструменты. Правила отказа блокируют в каждом режиме, включая `bypassPermissions`. Правила отказа и запроса не применяются к [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), пока Claude всё ещё имеет хотя бы один другой инструмент, который он может вызвать. Правила разрешения не имеют эффекта в `bypassPermissions`.32Режимы устанавливают базовый уровень. Наложите [правила разрешений](/docs/ru/permissions#manage-permissions) сверху, чтобы предварительно одобрить или заблокировать определённые инструменты. Правила отказа блокируют в каждом режиме, включая `bypassPermissions`. Правила отказа и запроса не применяются к [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), пока Claude всё ещё имеет хотя бы один другой инструмент, который он может вызвать. Правила разрешения не имеют эффекта в `bypassPermissions`.

33 33 

34<h3 id="actions-no-mode-auto-approves">34<h3 id="actions-no-mode-auto-approves">

35 Действия, которые ни один режим не одобряет автоматически35 Actions no mode auto-approves

36</h3>36</h3>

37 37 

38Claude Code не одобряет автоматически следующее ни в одном режиме, включая `bypassPermissions`. Каждый пункт ссылается на раздел, который говорит, что происходит вместо этого в каждом режиме:38Claude Code не одобряет автоматически следующее ни в одном режиме, включая `bypassPermissions`. Каждый пункт ссылается на раздел, который говорит, что происходит вместо этого в каждом режиме:


42* Инструменты, требующие взаимодействия с пользователем: встроенный инструмент `AskUserQuestion` и MCP инструменты, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool)42* Инструменты, требующие взаимодействия с пользователем: встроенный инструмент `AskUserQuestion` и MCP инструменты, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool)

43* `rm` и `rmdir` удаления, нацеленные на [критический путь](#critical-paths), которые не одобряет ни одно правило разрешения или hook `PreToolUse` с `"allow"`43* `rm` и `rmdir` удаления, нацеленные на [критический путь](#critical-paths), которые не одобряет ни одно правило разрешения или hook `PreToolUse` с `"allow"`

44* [Защита от кросс-сеансового обмена сообщениями](#skip-all-checks-with-bypasspermissions-mode)44* [Защита от кросс-сеансового обмена сообщениями](#skip-all-checks-with-bypasspermissions-mode)

45* Чтение вне рабочих директорий, пока [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) включено: распознанные команды Bash для чтения файлов и любой [неизолированный повтор](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch), который требует одобрения для запуска вне песочницы, запрашивают даже в режиме auto и режиме `bypassPermissions`. Требует Claude Code v2.1.257 или более поздней версии45* Чтение вне рабочих директорий, пока [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) включено: распознанные команды Bash для чтения файлов и любой [неизолированный повтор](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch), который требует одобрения для запуска вне песочницы, запрашивают даже в режиме auto и режиме `bypassPermissions`. Требует Claude Code v2.1.257 или более поздней версии.

46 

47 Команда, которую парсер оболочки не может отследить, такая как команда, которая меняет директорию более одного раза или запускает подоболочку, запрашивает то же самое, даже если она не называет никакой внешний путь. Этот запрос не применяется, когда команда выполняется в [песочнице](/docs/ru/sandboxing) и песочница обеспечивает блокировку.

46 48 

47<h2 id="common-setups">49<h2 id="common-setups">

48 Распространённые конфигурации50 Распространённые конфигурации


59| Запустить в CI с точным списком разрешений | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Нет, кроме того, что предоставляет ваш CI runner | [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) игнорирует `dontAsk` из файлов параметров |61| Запустить в CI с точным списком разрешений | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Нет, кроме того, что предоставляет ваш CI runner | [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) игнорирует `dontAsk` из файлов параметров |

60| Запустить полностью автоматически внутри контейнера | `claude -p "<prompt>" --dangerously-skip-permissions` | Требуется: контейнер, виртуальная машина или [runtime песочницы](/docs/ru/sandbox-environments#sandbox-runtime); на Linux и macOS запустите его как [непривилегированный пользователь](#skip-all-checks-with-bypasspermissions-mode) | Claude Code в веб-версии игнорирует этот режим из файлов параметров. В этом запуске `-p` [несколько вызовов, которые по-прежнему запрашивают](#skip-all-checks-with-bypasspermissions-mode), отклоняются вместо этого |62| Запустить полностью автоматически внутри контейнера | `claude -p "<prompt>" --dangerously-skip-permissions` | Требуется: контейнер, виртуальная машина или [runtime песочницы](/docs/ru/sandbox-environments#sandbox-runtime); на Linux и macOS запустите его как [непривилегированный пользователь](#skip-all-checks-with-bypasspermissions-mode) | Claude Code в веб-версии игнорирует этот режим из файлов параметров. В этом запуске `-p` [несколько вызовов, которые по-прежнему запрашивают](#skip-all-checks-with-bypasspermissions-mode), отклоняются вместо этого |

61 63 

62Песочница Bash и режим auto работают независимо и объединяются, кроме режима plan, где [auto-allow не расширяет одобрения](/docs/ru/sandboxing#sandbox-modes). Для полного взаимодействия см. [Как песочница связана с разрешениями и режимами разрешений](/docs/ru/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) и [Как изоляция связана с режимами разрешений](/docs/ru/sandbox-environments#how-isolation-relates-to-permission-modes).64Песочница Bash и режим auto работают независимо и объединяются, за исключением случаев, перечисленных в разделе [Режимы песочницы](/docs/ru/sandboxing#sandbox-modes). Для полного взаимодействия см. [Как песочница связана с разрешениями и режимами разрешений](/docs/ru/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) и [Как изоляция связана с режимами разрешений](/docs/ru/sandbox-environments#how-isolation-relates-to-permission-modes).

63 65 

64<h2 id="which-mode-a-session-starts-in">66<h2 id="which-mode-a-session-starts-in">

65 Какой режим начинается в сеансе67 Какой режим начинается в сеансе


211 <Tab title="Web and mobile">213 <Tab title="Web and mobile">

212 Используйте раскрывающееся меню режима рядом с полем подсказки на [claude.ai/code](https://claude.ai/code) или в мобильном приложении. Запросы разрешений появляются в claude.ai для одобрения. Какие режимы появляются, зависит от того, где выполняется сеанс:214 Используйте раскрывающееся меню режима рядом с полем подсказки на [claude.ai/code](https://claude.ai/code) или в мобильном приложении. Запросы разрешений появляются в claude.ai для одобрения. Какие режимы появляются, зависит от того, где выполняется сеанс:

213 215 

214 * **Облачные сеансы** на [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web): Accept edits, Plan и Auto. Accept edits соответствует режиму `default`: облачные сеансы предварительно одобряют редактирование файлов независимо от режима, поэтому раскрывающееся меню показывает Accept edits вместо Manual. Облачные сеансы по-прежнему соблюдают `defaultMode: "acceptEdits"` из параметров. Auto mode появляется только когда ваша организация это разрешает и выбранная модель это поддерживает. Bypass permissions недоступен.216 * **[Облачные сеансы](/docs/ru/claude-code-on-the-web)**: Accept edits, Plan и Auto. Accept edits соответствует режиму `default`: облачные сеансы предварительно одобряют редактирование файлов независимо от режима, поэтому раскрывающееся меню показывает Accept edits вместо Manual. Облачные сеансы по-прежнему соблюдают `defaultMode: "acceptEdits"` из параметров. Auto mode появляется только когда ваша организация это разрешает и выбранная модель это поддерживает. Bypass permissions недоступен.

215 * **Сеансы [Remote Control](/docs/ru/remote-control)** на вашем локальном компьютере: Manual, Accept edits и Plan. Вы не можете выбрать Auto или Bypass permissions из приложения.217 * **[Remote Control](/docs/ru/remote-control) сеансы** на вашем локальном компьютере: Manual, Accept edits и Plan. Вы не можете выбрать Auto или Bypass permissions из приложения.

216 * За исключением Bypass permissions, раскрывающееся меню показывает режим разрешений, в котором находится локальный сеанс, включая режим, установленный из терминала. Оно обновляется, когда режим разрешений изменяется в приложении или в терминале. Сеанс никогда не сообщает Bypass permissions в claude.ai, поэтому переключение на него из терминала не изменяет то, что показывает раскрывающееся меню.218 * За исключением Bypass permissions, раскрывающееся меню показывает режим разрешений, в котором находится локальный сеанс, включая режим, установленный из терминала. Оно обновляется, когда режим разрешений изменяется в приложении или в терминале. Сеанс никогда не сообщает Bypass permissions в claude.ai, поэтому переключение на него из терминала не изменяет то, что показывает раскрывающееся меню.

217 * Сеансы, размещённые [настольным приложением](/docs/ru/desktop) или [расширением VS Code](/docs/ru/vs-code), сообщают изменения режима разрешений в claude.ai по мере их возникновения, так же как сеансы, размещённые в терминале.219 * Сеансы, размещённые [настольным приложением](/docs/ru/desktop) или [расширением VS Code](/docs/ru/vs-code), сообщают изменения режима разрешений в claude.ai по мере их возникновения, так же как сеансы, размещённые в терминале.

218 * До v2.1.202 сеансы, подключённые с помощью `/remote-control` или `claude --remote-control`, вообще не сообщали свой режим разрешений, поэтому claude.ai и мобильное приложение могли показывать режим разрешений, в котором сеанс не находился. Несоответствие влияло только на метку. Claude Code генерировал запросы разрешений из фактического режима разрешений сеанса, и они по-прежнему появлялись в приложении для одобрения.220 * До v2.1.202 сеансы, подключённые с помощью `/remote-control` или `claude --remote-control`, вообще не сообщали свой режим разрешений, поэтому claude.ai и мобильное приложение могли показывать режим разрешений, в котором сеанс не находился. Несоответствие влияло только на метку. Claude Code генерировал запросы разрешений из фактического режима разрешений сеанса, и они по-прежнему появлялись в приложении для одобрения.


247 Анализируйте перед редактированием с режимом plan249 Анализируйте перед редактированием с режимом plan

248</h2>250</h2>

249 251 

250Режим Plan указывает Claude исследовать и предложить изменения без их внесения. Claude читает файлы, запускает команды оболочки для исследования и пишет план, но не редактирует ваш исходный код. За исключением сеансов с [доступными разрешениями на обход](#skip-all-checks-with-bypasspermissions-mode), редактирования остаются заблокированными до тех пор, пока вы не одобрите план.252Режим Plan указывает Claude исследовать и предложить изменения без их внесения. Claude читает файлы, запускает команды оболочки для исследования и пишет план, но не редактирует ваш исходный код. За исключением интерактивных сеансов терминала с [доступными разрешениями на обход](#skip-all-checks-with-bypasspermissions-mode), редактирования остаются заблокированными до тех пор, пока вы не одобрите план.

251 253 

252Когда [режим auto](/docs/ru/auto-mode-config) доступен и параметр `useAutoModeDuringPlan` включен, что является значением по умолчанию, классификатор проверяет команды оболочки во время планирования вместо запроса у вас. Одобренные команды выполняются, и отклонённые блокируются. В противном случае команды вне [встроенного набора только для чтения](/docs/ru/permissions#read-only-commands) требуют одобрения, включая когда [режим auto-allow](/docs/ru/sandboxing#sandbox-modes) песочницы включен. В сеансах с доступными разрешениями на обход ни классификатор, ни запрос не применяются к командам планирования; [Пропустить все проверки с режимом bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) охватывает несколько вещей, которые по-прежнему требуют запроса там. В v2.1.212 через v2.1.217 сеансы без доступных разрешений на обход требовали запроса для каждой команды вне набора только для чтения, независимо от того, был ли доступен режим auto.254Когда [режим auto](/docs/ru/auto-mode-config) доступен и параметр `useAutoModeDuringPlan` включен, что является значением по умолчанию, классификатор проверяет команды оболочки во время планирования вместо запроса у вас. Одобренные команды выполняются, и отклонённые блокируются. В противном случае команды вне [встроенного набора только для чтения](/docs/ru/permissions#read-only-commands) требуют одобрения, включая когда [режим auto-allow](/docs/ru/sandboxing#sandbox-modes) песочницы включен. В интерактивных сеансах терминала с доступными разрешениями на обход ни классификатор, ни запрос не применяются к командам планирования; [Пропустить все проверки с режимом bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) охватывает несколько вещей, которые по-прежнему требуют запроса там. В v2.1.212 через v2.1.217 сеансы без доступных разрешений на обход требовали запроса для каждой команды вне набора только для чтения, независимо от того, был ли доступен режим auto.

253 255 

254Войдите в режим plan, нажав `Shift+Tab` или добавив префикс к одной подсказке с `/plan`. Вы также можете запустить в режиме plan из CLI:256Войдите в режим plan, нажав `Shift+Tab` или добавив префикс к одной подсказке с `/plan`. Вы также можете запустить в режиме plan из CLI:

255 257 


326 328 

327В v2.1.158 через v2.1.206 режим auto был отключён на этих поставщиках до тех пор, пока вы не установили `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, и Claude Code игнорировал `defaultMode: "auto"` на этих поставщиках, если переменная также не была установлена. Переменная по-прежнему принимается для совместимости и не имеет эффекта с v2.1.207 и далее.329В v2.1.158 через v2.1.206 режим auto был отключён на этих поставщиках до тех пор, пока вы не установили `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, и Claude Code игнорировал `defaultMode: "auto"` на этих поставщиках, если переменная также не была установлена. Переменная по-прежнему принимается для совместимости и не имеет эффекта с v2.1.207 и далее.

328 330 

331<h4 id="server-side-classifier-review">

332 Проверка классификатора на стороне сервера

333</h4>

334 

335На Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry Claude Code проверяет действия режима auto с помощью собственных запросов классификатора по умолчанию. Чтобы иметь классификатор на стороне платформы проверить [действия, которые идут к классификатору](#how-the-classifier-evaluates-actions) как часть запросов модели сеанса вместо этого, установите [`CLAUDE_CODE_AUTO_MODE_SERVER=1`](/docs/ru/env-vars). Где платформа запускает классификатор, его вердикты решают эти действия; где она этого не делает, Claude Code откатывается к собственным запросам классификатора. В v2.1.271 и v2.1.272 запрос платформы был значением по умолчанию на этих поставщиках.

336 

329<h3 id="what-the-classifier-blocks-by-default">337<h3 id="what-the-classifier-blocks-by-default">

330 Что классификатор блокирует по умолчанию338 Что классификатор блокирует по умолчанию

331</h3>339</h3>


419* Отправка данных на доверенные домены, корзины и сервисы, которые вы указываете в [`environment`](/docs/ru/auto-mode-config#define-trusted-infrastructure). Это охватывает только поток данных, а не деструктивные или операции с учётными данными на той же инфраструктуре427* Отправка данных на доверенные домены, корзины и сервисы, которые вы указываете в [`environment`](/docs/ru/auto-mode-config#define-trusted-infrastructure). Это охватывает только поток данных, а не деструктивные или операции с учётными данными на той же инфраструктуре

420* [Claude in Chrome](/docs/ru/chrome) навигация на доверенный внутренний домен, localhost или URL, который вы назвали428* [Claude in Chrome](/docs/ru/chrome) навигация на доверенный внутренний домен, localhost или URL, который вы назвали

421 429 

422Запросы доступа к сети в песочнице маршрутизируются через классификатор, а не разрешаются по умолчанию. Начиная с v2.1.198 классификатор повторно использует свой вердикт для сетевого хоста и порта вместо повторного запуска при каждом подключении:430Запросы доступа к сети в песочнице не получают доступ к сети по умолчанию. Claude называет хосты, которые команде нужны на самой команде, классификатор проверяет их с командой, и одобренный список открывает эти хосты только для этой одной команды. [Per-command allowed domains](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode) охватывает то, что список может и не может открыть и что происходит, когда команда достигает неуказанного хоста.

423 

424* Разрешение повторно используется до тех пор, пока в разговор не поступит новое содержимое, в этот момент этот хост проверяется снова

425* Claude Code v2.1.234 и позже повторно используют отказ, вызванный окном контекста классификатора, переполняющимся до тех пор, пока новое содержимое не поступит в разговор, или до тех пор, пока [компактирование](/docs/ru/costs#reduce-token-usage) не сожмёт то, что видит классификатор. Claude Code затем проверяет хост снова

426* Отказ, который классификатор достиг путём оценки запроса, длится для хода в интерактивном CLI. В [неинтерактивном режиме](/docs/ru/headless) и сеансах Agent SDK Claude Code повторно использует этот отказ для остальной части запуска, потому что эти сеансы не имеют границы хода

427* Изменение вашего режима разрешений или правил отбрасывает все кэшированные вердикты

428 431 

429Запустите `claude auto-mode defaults`, чтобы вывести полные списки правил как JSON. Если обычные действия блокируются, администратор может добавить доверенные репозитории, корзины и сервисы через параметр `autoMode.environment`: см. [Настройка режима auto](/docs/ru/auto-mode-config).432Запустите `claude auto-mode defaults`, чтобы вывести полные списки правил как JSON. Если обычные действия блокируются, администратор может добавить доверенные репозитории, корзины и сервисы через параметр `autoMode.environment`: см. [Настройка режима auto](/docs/ru/auto-mode-config).

430 433 


471 <Accordion title="Как классификатор оценивает действия">474 <Accordion title="Как классификатор оценивает действия">

472 Каждое действие проходит через фиксированный порядок решений. Первый совпадающий шаг побеждает:475 Каждое действие проходит через фиксированный порядок решений. Первый совпадающий шаг побеждает:

473 476 

474 1. Действия, соответствующие вашим [правилам allow, ask или deny](/docs/ru/permissions#manage-permissions), разрешаются немедленно. Записи в [защищённые пути](#protected-paths) маршрутизируются классификатору даже когда правило allow совпадает, и так же удаления `rm` и `rmdir`, нацеленные на [критический путь](#critical-paths) в Claude Code v2.1.218 и позже. Инструменты MCP, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), запрашивают вас напрямую даже когда правило allow совпадает, и так же инструменты соединителя [ваша организация установила на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools) в сеансах, где это параметр достигает Claude Code. Правила ask, которые совпадают на содержимом команды, такие как `Bash(git push *)`, откатываются к запросу разрешения477 1. Действия, соответствующие вашим [правилам allow, ask или deny](/docs/ru/permissions#manage-permissions), разрешаются немедленно, с этими исключениями:

478 * Записи в [защищённые пути](#protected-paths) маршрутизируются классификатору даже когда правило allow совпадает, и так же удаления `rm` и `rmdir`, нацеленные на [критический путь](#critical-paths) в Claude Code v2.1.218 и позже

479 * Инструменты MCP, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), запрашивают вас напрямую даже когда правило allow совпадает, и так же инструменты соединителя [ваша организация установила на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools) в сеансах, где это параметр достигает Claude Code

480 * Команда shell, которая несёт [per-command allowed domains](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode), также маршрутизируется классификатору даже когда правило allow совпадает, потому что правило одобряет команду, а не её хосты

481 * Правила ask, которые совпадают на содержимом команды, такие как `Bash(git push *)`, откатываются к запросу разрешения

475 2. Действия только для чтения и редактирование файлов в вашем рабочем каталоге автоматически одобряются, кроме записей в [защищённые пути](#protected-paths) и [первого чтения вне рабочих каталогов](#first-read-outside-the-working-directories), которое запрашивает вас482 2. Действия только для чтения и редактирование файлов в вашем рабочем каталоге автоматически одобряются, кроме записей в [защищённые пути](#protected-paths) и [первого чтения вне рабочих каталогов](#first-read-outside-the-working-directories), которое запрашивает вас

476 3. Всё остальное идёт классификатору. Инструменты соединителя и `requiresUserInteraction` инструменты MCP, которые запрашивают вас напрямую на шаге 1, никогда не достигают классификатора, поэтому ни одобрение, требуемое организацией, ни шаг согласия не одобряются автоматически483 3. Всё остальное идёт классификатору. Инструменты соединителя и инструменты MCP `requiresUserInteraction`, которые запрашивают вас напрямую на шаге 1, никогда не достигают классификатора, поэтому ни одобрение, требуемое организацией, ни шаг согласия не одобряются автоматически

477 4. Если классификатор блокирует, Claude получает причину и пытается найти альтернативу. В большинстве сеансов причина называет правило, которое классификатор совпал, такое как `[Data Exfiltration]`, а не даёт письменное объяснение; см. [Проверка отказов](/docs/ru/auto-mode-config#review-denials)484 4. Если классификатор блокирует, Claude получает причину и пытается найти альтернативу. В большинстве сеансов причина называет правило, которое классификатор совпал, такое как `[Data Exfiltration]`, а не даёт письменное объяснение; см. [Проверка отказов](/docs/ru/auto-mode-config#review-denials)

478 485 

479 При входе в режим auto широкие правила allow, которые предоставляют произвольное выполнение кода, отбрасываются:486 При входе в режим auto широкие правила allow, которые предоставляют произвольное выполнение кода, отбрасываются:


488 495 

489 Claude Code также запускает `git status` сам перед командой, которая отбросила бы незафиксированную работу, такой как `git reset --hard` или `rm -rf`, и показывает классификатору, присутствует ли подготовленная, изменённая или неотслеживаемая работа. Claude Code сообщает неотслеживаемые файлы в этой проверке даже когда конфигурация git репозитория устанавливает `status.showUntrackedFiles=no`.496 Claude Code также запускает `git status` сам перед командой, которая отбросила бы незафиксированную работу, такой как `git reset --hard` или `rm -rf`, и показывает классификатору, присутствует ли подготовленная, изменённая или неотслеживаемая работа. Claude Code сообщает неотслеживаемые файлы в этой проверке даже когда конфигурация git репозитория устанавливает `status.showUntrackedFiles=no`.

490 497 

491 Классификатор видит сообщения пользователя, вызовы инструментов, отличные от чтения только для чтения, таких как чтение файлов и поиск, и содержимое вашего CLAUDE.md. Результаты инструментов удаляются, поэтому враждебное содержимое в файле или веб-странице не может манипулировать им напрямую. Вы можете аннотировать результат вызова с помощью поля [`classifierContext`](/docs/ru/hooks#annotate-a-result-for-the-auto-mode-classifier) hook `PostToolUse`, который классификатор читает как контекст, предоставленный приложением.498 В запросах классификатора, отправленных самим Claude Code, классификатор видит сообщения пользователя, вызовы инструментов, отличные от чтения только для чтения, таких как чтение файлов и поиск, и содержимое вашего CLAUDE.md. Результаты инструментов удаляются, поэтому враждебное содержимое в файле или веб-странице не может манипулировать классификатором напрямую. Вы можете аннотировать результат вызова с помощью поля [`classifierContext`](/docs/ru/hooks#annotate-a-result-for-the-auto-mode-classifier) hook `PostToolUse`, который классификатор читает как контекст, предоставленный приложением.

492 499 

493 Отдельный зонд на стороне сервера сканирует входящие результаты инструментов и отмечает подозрительное содержимое перед тем, как Claude его прочитает. Для получения дополнительной информации о том, как эти слои работают вместе, см. [объявление режима auto](https://claude.com/blog/auto-mode) и [инженерный анализ](https://www.anthropic.com/engineering/claude-code-auto-mode).500 Отдельный зонд на стороне сервера сканирует входящие результаты инструментов и отмечает подозрительное содержимое перед тем, как Claude его прочитает. Для получения дополнительной информации о том, как эти слои работают вместе, см. [объявление режима auto](https://claude.com/blog/auto-mode) и [инженерный анализ](https://www.anthropic.com/engineering/claude-code-auto-mode).

494 </Accordion>501 </Accordion>


498 505 

499 1. Перед запуском подагента описание делегированной задачи оценивается, так что опасно выглядящая задача блокируется во время порождения.506 1. Перед запуском подагента описание делегированной задачи оценивается, так что опасно выглядящая задача блокируется во время порождения.

500 2. Пока подагент работает, каждое его действие проходит через классификатор с теми же правилами, что и родительский сеанс, и любой `permissionMode` в frontmatter подагента игнорируется.507 2. Пока подагент работает, каждое его действие проходит через классификатор с теми же правилами, что и родительский сеанс, и любой `permissionMode` в frontmatter подагента игнорируется.

501 3. Когда подагент завершается, классификатор проверяет полную историю его действий; если эта проверка возврата выявляет проблему, предупреждение безопасности добавляется к результатам подагента. Когда отдельная проверка безопасности API отклоняет сам запрос проверки, Claude Code по-прежнему возвращает результаты подагента, предваренные предупреждением, что работа не проверена и должна рассматриваться как ненадёжная.508 3. Когда подагент завершается, классификатор проверяет его работу и его финальный отчёт перед тем как родитель прочитает отчёт. Когда классификатор отмечает работу подагента или отчёт, или отдельная проверка безопасности API отклоняет саму проверку, отчёт по-прежнему доставляется, предваренный предупреждением безопасности. Когда классификатор недоступен для проверки, отчёт прибывает с примечанием проверить работу подагента перед действием на его основе.

502 509 

503 Шаг 1 требует Claude Code v2.1.178 или позже. Более ранние версии применяли классификатор на шагах 2 и 3, но не оценивали описание задачи перед запуском подагента.510 Шаг 1 требует Claude Code v2.1.178 или позже. Более ранние версии применяли классификатор на шагах 2 и 3, но не оценивали описание задачи перед запуском подагента.

504 </Accordion>511 </Accordion>


508 515 

509 Первый запрос режима auto сеанса проверяет значение по умолчанию Sonnet 5: если запрос успешен, Sonnet 5 остаётся моделью классификатора сеанса, и если он не удаётся, потому что модель недоступна, сеанс использует fallback вместо этого. После того как эта проверка урегулируется, модель классификатора не изменяется для сеанса.516 Первый запрос режима auto сеанса проверяет значение по умолчанию Sonnet 5: если запрос успешен, Sonnet 5 остаётся моделью классификатора сеанса, и если он не удаётся, потому что модель недоступна, сеанс использует fallback вместо этого. После того как эта проверка урегулируется, модель классификатора не изменяется для сеанса.

510 517 

511 На планах Enterprise и на учётных записях, которые используют Claude API, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, вызовы классификатора учитываются в использовании токенов. Каждая проверка отправляет часть стенограммы плюс ожидающее действие, добавляя круговой путь перед выполнением. Чтение и редактирование рабочего каталога вне защищённых путей пропускают классификатор, поэтому накладные расходы поступают в основном от команд оболочки и сетевых операций.518 На планах Enterprise и на учётных записях, которые используют Claude API, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, вызовы классификатора учитываются в использовании токенов. Каждая проверка отправляет часть стенограммы плюс ожидающее действие, добавляя круговой путь перед выполнением. Чтение и редактирование рабочего каталога вне защищённых путей пропускают классификатор, поэтому накладные расходы поступают в основном от команд оболочки и сетевых операций. На Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry вы можете переместить проверку в запросы модели сеанса вместо этого; см. [Server-side classifier review](#server-side-classifier-review).

512 519 

513 Классификатор повторно использует вердикт песочницы для сетевого хоста и порта, поэтому повторные подключения к одному хосту не добавляют каждый раз проверку. [Что классификатор блокирует по умолчанию](#what-the-classifier-blocks-by-default) описывает, как долго разрешение и отказ длятся.520 Доступ к сети в песочнице не добавляет запросы классификатора для каждого подключения. Классификатор судит [хосты, которые команда называет](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode) вместе с командой в одной проверке, и Claude Code проверяет каждое подключение против одобренного списка без повторного вызова классификатора.

514 </Accordion>521 </Accordion>

515</AccordionGroup>522</AccordionGroup>

516 523 


524 531 

525Удаления `rm` и `rmdir`, нацеленные на [критический путь](#critical-paths), такие как `rm -rf /` и `rm -rf ~`, отклоняются даже когда правило разрешения совпадает с ними или hook `PreToolUse` их одобряет.532Удаления `rm` и `rmdir`, нацеленные на [критический путь](#critical-paths), такие как `rm -rf /` и `rm -rf ~`, отклоняются даже когда правило разрешения совпадает с ними или hook `PreToolUse` их одобряет.

526 533 

527Облачные сеансы на [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) игнорируют `defaultMode: "dontAsk"`; см. [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) для получения подробной информации.534[Облачные сеансы](/docs/ru/claude-code-on-the-web) игнорируют `defaultMode: "dontAsk"`; см. [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) для получения подробной информации.

528 535 

529Установите его при запуске с флагом:536Установите его при запуске с флагом:

530 537 


540 547 

541[Действия, которые ни один режим не одобряет](#actions-no-mode-auto-approves) по-прежнему требуют запроса в этом режиме.548[Действия, которые ни один режим не одобряет](#actions-no-mode-auto-approves) по-прежнему требуют запроса в этом режиме.

542 549 

543Две [гарантии обмена сообщениями между сеансами](/docs/ru/cross-session-messaging) по-прежнему применяются в этом режиме, и в сеансах режима plan, где доступны разрешения на обход:550Две [гарантии обмена сообщениями между сеансами](/docs/ru/cross-session-messaging) по-прежнему применяются в этом режиме, и в интерактивных сеансах режима plan, где доступны разрешения на обход:

544 551 

545* Запрос одобрения [`isolatePeerMachines`](/docs/ru/settings-reference#isolatepeermachines) для сообщений вашим сеансам за пределами этой машины по-прежнему появляется.552* Запрос одобрения [`isolatePeerMachines`](/docs/ru/settings-reference#isolatepeermachines) для сообщений вашим сеансам за пределами этой машины по-прежнему появляется.

546* Когда не применяется значение [`crossSessionInbound`](/docs/ru/cross-session-messaging#control-inbound-messages), Claude Code держит входящее сообщение от другого вашего сеанса для вашего одобрения и доставляет без запроса только когда отправляющий сеанс идентифицирует себя как также обходящий запросы разрешений. Если вы покидаете режим разрешений, пока сообщения удерживаются, Claude Code повторно применяет входящие правила и доставляет любое удерживаемое сообщение, которое они теперь принимают.553* Когда не применяется значение [`crossSessionInbound`](/docs/ru/cross-session-messaging#control-inbound-messages), Claude Code держит входящее сообщение от другого вашего сеанса для вашего одобрения и доставляет без запроса только когда отправляющий сеанс идентифицирует себя как также обходящий запросы разрешений. Если вы покидаете режим разрешений, пока сообщения удерживаются, Claude Code повторно применяет входящие правила и доставляет любое удерживаемое сообщение, которое они теперь принимают.

547 554 

548В сеансах с доступными разрешениями на обход Claude Code также не применяет [блокировки режима plan](#analyze-before-you-edit-with-plan-mode). Claude по-прежнему инструктируется планировать без редактирования, но редактирование файла или команда оболочки, которую он пытается выполнить во время планирования, выполняется без запроса. Явные [правила ask](/docs/ru/permissions#manage-permissions) и удаления `rm` и `rmdir`, нацеленные на [критический путь](#critical-paths), по-прежнему требуют запроса.555В интерактивных сеансах терминала с доступными разрешениями на обход Claude Code также не применяет [блокировки режима plan](#analyze-before-you-edit-with-plan-mode). Claude по-прежнему инструктируется планировать без редактирования, но редактирование файла или команда оболочки, которую он пытается выполнить во время планирования, выполняется без запроса. Явные [правила ask](/docs/ru/permissions#manage-permissions) и удаления `rm` и `rmdir`, нацеленные на [критический путь](#critical-paths), по-прежнему требуют запроса.

556 

557Режим plan сохраняет свои блокировки везде, где Claude Code работает без интерактивного терминала, включая [неинтерактивные запуски](/docs/ru/headless) с `-p`, сеансы [Agent SDK](/docs/ru/agent-sdk/permissions#plan-mode-plan) и беседы в панели чата [расширения VS Code](/docs/ru/vs-code). Там `--allow-dangerously-skip-permissions` делает `bypassPermissions` доступным для выбора позже.

549 558 

550<Warning>559<Warning>

551 Используйте этот режим только в изолированных средах, таких как контейнеры, виртуальные машины или dev containers без доступа в Интернет, где Claude Code не может повредить вашу хост-систему.560 Используйте этот режим только в изолированных средах, таких как контейнеры, виртуальные машины или dev containers без доступа в Интернет, где Claude Code не может повредить вашу хост-систему.


581 Защищённые пути590 Защищённые пути

582</h2>591</h2>

583 592 

584Записи в небольшой набор путей никогда не одобряются автоматически, кроме режима `bypassPermissions` и сеансов планирования с [доступными разрешениями на обход](#skip-all-checks-with-bypasspermissions-mode). Это предотвращает случайное повреждение состояния репозитория и собственной конфигурации Claude.593Записи в небольшой набор путей никогда не одобряются автоматически, кроме режима `bypassPermissions` и интерактивных сеансов терминала в режиме планирования с [доступными разрешениями на обход](#skip-all-checks-with-bypasspermissions-mode). Это предотвращает случайное повреждение состояния репозитория и собственной конфигурации Claude.

585 594 

586| Режим | Записи в защищённые пути |595| Режим | Записи в защищённые пути |

587| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |596| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

588| `default`, `acceptEdits` | Требуют подтверждения |597| `default`, `acceptEdits` | Требуют подтверждения |

589| `plan` | Разрешены в сеансах с [доступными разрешениями на обход](#skip-all-checks-with-bypasspermissions-mode). В противном случае маршрутизируются классификатору, когда [режим auto](#eliminate-prompts-with-auto-mode) доступен во время планирования, и требуют подтверждения, когда он не доступен |598| `plan` | Разрешены в интерактивных сеансах терминала с [доступными разрешениями на обход](#skip-all-checks-with-bypasspermissions-mode). В противном случае маршрутизируются классификатору, когда [режим auto](#eliminate-prompts-with-auto-mode) доступен во время планирования, и требуют подтверждения, когда он не доступен |

590| `auto` | Маршрутизируются классификатору |599| `auto` | Маршрутизируются классификатору |

591| `dontAsk` | Отклоняются |600| `dontAsk` | Отклоняются |

592| `bypassPermissions` | Разрешены |601| `bypassPermissions` | Разрешены |


649 658 

650Claude Code также рассматривает glob или косую черту непосредственно под переменной оболочки, такую как `rm -rf "$DIR"/*`, как удаление критического пути, потому что команда становится удалением из корня файловой системы, когда переменная пуста.659Claude Code также рассматривает glob или косую черту непосредственно под переменной оболочки, такую как `rm -rf "$DIR"/*`, как удаление критического пути, потому что команда становится удалением из корня файловой системы, когда переменная пуста.

651 660 

652Скрытие удаления внутри подстановки команд с `$(...)` или обратными кавычками, или подстановки процесса с `<(...)`, не пропускает проверку. Claude Code находит удаление критического пути, находится ли оно внутри подстановки, как в `echo "$(rm -rf ~)"`, или в другом месте той же команды.661Скрытие удаления внутри подстановки команд с `$(...)` или обратными кавычками, или подстановки процесса с `<(...)`, не пропускает проверку. Claude Code находит удаление критического пути, находится ли оно внутри подстановки, как в `(rm -rf ~)` или `echo "$(rm -rf ~)"`, или в другом месте той же команды.

653 662 

654<h3 id="remove-item-in-powershell">663<h3 id="remove-item-in-powershell">

655 Remove-Item в PowerShell664 Remove-Item в PowerShell

permissions.md +354 −149

Details

12 Система разрешений12 Система разрешений

13</h2>13</h2>

14 14 

15Claude Code использует многоуровневую систему разрешений для баланса между мощностью и безопасностью:15Claude Code использует многоуровневую систему разрешений для баланса между мощностью и безопасностью. В таблице показано, для каждого типа инструмента, запрашивает ли режим Manual одобрение перед выполнением действия. Другие [режимы разрешений](#permission-modes) изменяют, какие из них вас спрашивают; в автоматическом режиме классификатор проверяет действия вместо вас, и [как классификатор оценивает действия](/docs/ru/permission-modes#how-the-classifier-evaluates-actions) перечисляет, какие из них он видит.

16 16 

17| Тип инструмента | Пример | Требуется одобрение | Поведение "Да, не спрашивать снова" |17| Тип инструмента | Пример | Требуется одобрение | Поведение "Да, не спрашивать снова" |

18| :--------------- | :------------------ | :----------------------------------------------------------------------------------- | :----------------------------------------------- |18| :--------------- | :------------------ | :------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------ |

19| Только чтение | Чтение файлов, Grep | Нет, в пределах [рабочего каталога и дополнительных каталогов](#working-directories) | Н/А |19| Только чтение | Чтение файлов, Grep | Нет, в пределах [рабочего каталога и дополнительных каталогов](#working-directories) | Н/А |

20| Bash команды | Выполнение оболочки | Да, кроме встроенного набора [команд только для чтения](#read-only-commands) | Постоянно для каждого каталога проекта и команды |20| Bash команды | Выполнение оболочки | Да, кроме встроенного набора [команд только для чтения](#read-only-commands) | Постоянно для каждого репозитория и команды |

21| Изменение файлов | Edit/Write файлы | Да | До конца сеанса |21| Изменение файлов | Edit/Write файлы | Да | До конца сеанса |

22| Веб-выборка | WebFetch | Да, кроме встроенного набора [предварительно одобренных доменов документации](/docs/ru/tools-reference#webfetch-tool-behavior) | Постоянно для каждого репозитория и домена |

23| Веб-поиск | WebSearch | Да | Постоянно для каждого репозитория |

22 24 

23При появлении запроса разрешения Bash или PowerShell нажмите `Ctrl+E` для отображения объяснения команды: что она делает, почему Claude её выполняет и что может пойти не так, обозначено как **Low risk**, **Med risk** или **High risk**. Claude Code отправляет команду и собственное описание Claude вызова модели для создания объяснения только при нажатии `Ctrl+E`, а не при каждом запросе. Отображение объяснения не выполняет команду; нажмите `Ctrl+E` снова, чтобы скрыть его.25Когда вы выбираете "Да, не спрашивать снова" и одобрение сохраняется постоянно, например для команды Bash или домена WebFetch, Claude Code сохраняет правило в `.claude/settings.local.json` в корне git репозитория, разрешённого через [worktrees](/docs/ru/worktrees) к основной копии. Правило применяется к будущим сеансам в любом месте этого репозитория, включая сеансы, запущенные в подкаталогах и в worktrees. Одобрение изменения файла не сохраняется в файл: как показано в таблице, оно действует до конца сеанса. В некоторых случаях, например вне git репозитория или на Windows, Claude Code не использует корень репозитория; [Где Claude Code ищет каждый файл](/docs/ru/settings#where-claude-code-looks-for-each-file) перечисляет эти случаи и где вместо этого сохраняется правило.

24 26 

25Чтобы отключить сочетание клавиш, установите [`permissionExplainerEnabled`](/docs/ru/settings#global-config-settings) на `false` в `~/.claude.json`.27До версии 2.1.211 Claude Code всегда сохранял правило в начальном каталоге, поэтому одобрение, предоставленное в worktree или подкаталоге, не применялось к остальной части репозитория. Правила, которые более ранние версии сохранили в подкаталоге или worktree, по-прежнему применяются к сеансам, запущенным там.

28 

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

30 

31Когда каталог, в котором вы запустили Claude Code, делает метку опции слишком длинной, Claude Code сокращает её в метке, заменяя ваш домашний каталог на `~` и затем конец пути на `…`, и сохраняет опцию. Вы по-прежнему сохраняете то же правило. Claude Code исключает опции в трёх случаях:

32 

33* **Команда или редактирование:** слишком большое для полного отображения.

34* **Команды или пути, которые охватывает правило:** метка не может вместить их все.

35* **Начальный каталог слишком длинный, не сокращённый:** он содержит символы, которые Claude Code не может безопасно отобразить, или даже его начало не подходит.

36 

37Одобрите действие один раз или добавьте правило самостоятельно в [`/permissions`](#manage-permissions).

38 

39<h3 id="add-a-comment-when-you-answer-a-permission-prompt">

40 Добавьте комментарий при ответе на запрос разрешения

41</h3>

42 

43Вы можете прикрепить заметку к Claude при одобрении или отклонении одного действия. На большинстве запросов разрешений, включая Bash, PowerShell, файл и запросы инструментов MCP, перейдите на **Yes** или **No** и нажмите `Tab` для открытия поля комментария на этой опции. Запросы WebFetch и браузера не предлагают это поле. Опции, которые разрешают действие на остаток сеанса или сохраняют правило, также не принимают его.

44 

45С открытым полем введите комментарий и затем нажмите одну из этих клавиш:

46 

47* `Enter`: отправляет ваш ответ с прикреплённым комментарием. Если вы оставите поле пустым, Claude Code отправляет ответ без комментария.

48* `Tab`: закрывает поле без ответа. Claude Code сохраняет введённый вами текст и всё ещё отправляет его, если вы ответите с этой опцией.

49* `Shift+Tab`: на запросе файла, например запросе Edit или Write, закрывает поле так же, как `Tab`. До версии 2.1.235 нажатие `Shift+Tab` внутри поля вместо этого выбирало опцию, которая разрешает действие на остаток сеанса, поэтому Claude Code одобрял действие на остаток сеанса и отбрасывал комментарий.

50 

51Claude Code доставляет комментарий по-разному в зависимости от того, как вы ответили:

52 

53* **Yes**: Claude Code выполняет действие, затем отправляет ваш комментарий Claude после результата.

54* **No**: Claude Code отправляет ваш комментарий Claude как причину отклонения, и Claude продолжает работу. Если вы выберете **No** без комментария на запрос из основного разговора, Claude Code останавливает ход.

26 55 

27<h2 id="manage-permissions">56<h2 id="manage-permissions">

28 Управление разрешениями57 Управление разрешениями

29</h2>58</h2>

30 59 

31Вы можете просматривать и управлять разрешениями инструментов Claude Code с помощью `/permissions`. Этот интерфейс отображает все правила разрешений и файлы `settings.json`, из которых они берутся.60Вы можете просматривать и управлять разрешениями инструментов Claude Code с помощью `/permissions`. Этот интерфейс отображает все правила разрешений и файлы `settings.json`, из которых они берутся. Вы можете открыть этот интерфейс во время работы Claude: когда вы добавляете или удаляете правило, Claude Code применяет изменение начиная со следующего вызова инструмента Claude в том же ходу. До версии 2.1.234 Claude Code ставил команду в очередь до завершения хода.

32 61 

33* Правила **Allow** позволяют Claude Code использовать указанный инструмент без ручного одобрения.62* Правила **Allow** позволяют Claude Code использовать указанный инструмент без ручного одобрения.

34* Правила **Ask** запрашивают подтверждение каждый раз, когда Claude Code пытается использовать указанный инструмент.63* Правила **Ask** запрашивают подтверждение каждый раз, когда Claude Code пытается использовать указанный инструмент.


36 65 

37Правила оцениваются по порядку: deny, затем ask, затем allow. Первое совпадающее правило в этом порядке определяет результат, и специфичность правила не изменяет порядок.66Правила оцениваются по порядку: deny, затем ask, затем allow. Первое совпадающее правило в этом порядке определяет результат, и специфичность правила не изменяет порядок.

38 67 

39Широкое правило deny, такое как `Bash(aws *)`, блокирует каждый совпадающий вызов, включая вызовы, которые также совпадают с более узким правилом allow, таким как `Bash(aws s3 ls)`, поэтому правило deny не может содержать исключения в списке разрешений. Тот же приоритет применяется между ask и allow: совпадающее правило ask выдает запрос даже когда более специфичное правило allow также совпадает с тем же вызовом.68Широкое правило deny, такое как `Bash(aws *)`, блокирует каждый совпадающий вызов, включая вызовы, которые также совпадают с более узким правилом allow, таким как `Bash(aws s3 ls)`. Правило allow не может создать исключение из правила deny. Тот же приоритет применяется между ask и allow: совпадающее правило ask выдает запрос даже когда более специфичное правило allow также совпадает с тем же вызовом.

69 

70Правила Deny ведут себя по-разному в зависимости от того, называют ли они инструмент или определяют область действия шаблона внутри него. Простое имя инструмента, такое как `Bash`, удаляет инструмент из контекста Claude полностью, поэтому Claude его никогда не видит. Если вы добавите такое правило во время сеанса, Claude не сможет вызвать инструмент со своего следующего вызова инструмента; [Отказ от целого инструмента](/docs/ru/prompt-caching#denying-an-entire-tool) описывает, что происходит с определением, которое Claude уже видел. Правило с областью действия, такое как `Bash(rm *)`, оставляет инструмент доступным и блокирует совпадающие вызовы, когда Claude пытается их выполнить.

40 71 

41Правила Deny ведут себя по-разному в зависимости от того, называют ли они инструмент или определяют область действия шаблона внутри него. Простое имя инструмента, такое как `Bash`, удаляет инструмент из контекста Claude полностью, поэтому Claude его никогда не видит. Правило с областью действия, такое как `Bash(rm *)`, оставляет инструмент доступным и блокирует совпадающие вызовы, когда Claude пытается их выполнить.72Удаление по простому имени применяется ко всем инструментам, кроме [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior): правило deny не может удалить его, пока остается любой другой инструмент, и правило ask никогда не выдает запрос для него.

42 73 

43<Note>74<Note>

44 Правила разрешений применяются Claude Code, а не моделью. Инструкции в вашем приглашении или `CLAUDE.md` определяют, что Claude пытается делать, но они не изменяют то, что позволяет Claude Code. Чтобы предоставить или отозвать доступ, используйте `/permissions`, правила, описанные здесь, [режим разрешений](/docs/ru/permission-modes) или [hook PreToolUse](#extend-permissions-with-hooks).75 Правила разрешений применяются Claude Code, а не моделью. Инструкции в вашем приглашении или `CLAUDE.md` определяют, что Claude пытается делать, но они не изменяют то, что позволяет Claude Code. Чтобы предоставить или отозвать доступ, используйте `/permissions`, правила, описанные здесь, [режим разрешений](/docs/ru/permission-modes) или [hook PreToolUse](#extend-permissions-with-hooks).

45</Note>76</Note>

46 77 

78Когда [автоматический режим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) доступен для вашего сеанса, интерфейс также включает [правила классификатора автоматического режима](/docs/ru/auto-mode-config#edit-rules-from-permissions). Выберите вкладку **Auto mode**, чтобы просмотреть их.

79 

47<h2 id="permission-modes">80<h2 id="permission-modes">

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

49</h2>82</h2>

50 83 

51Claude Code поддерживает несколько режимов разрешений, которые контролируют, как он одобряет вызовы инструментов. См. [Permission modes](/docs/ru/permission-modes) для определения того, когда использовать каждый из них. Установите `defaultMode` в ваших [файлах параметров](/docs/ru/settings#settings-files):84Claude Code поддерживает несколько режимов разрешений, которые контролируют, как он одобряет вызовы инструментов. См. [Permission modes](/docs/ru/permission-modes) для определения того, когда использовать каждый из них. Чтобы изменить режим, в котором начинаются сеансы, установите `defaultMode` в ваших [файлах параметров](/docs/ru/settings#where-settings-live). [Which mode a session starts in](/docs/ru/permission-modes#which-mode-a-session-starts-in) охватывает встроенное значение по умолчанию для каждого плана и то, что читает расширение VS Code.

52 85 

53| Режим | Описание |86| Режим | Описание |

54| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |87| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

55| `default` | Стандартное поведение: запрашивает разрешение при первом использовании каждого инструмента. В CLI и расширениях VS Code и JetBrains обозначается как Manual, в приложении для рабочего стола, и Claude Code принимает `manual` как псевдоним. Метка и псевдоним требуют Claude Code v2.1.200 или более поздней версии. Метка приложения для рабочего стола не зависит от вашей версии CLI |88| `default` | Запрашивает разрешение при первом использовании каждого инструмента. Обозначается как Manual в CLI, расширениях VS Code и JetBrains, а также в приложении для рабочего стола, и Claude Code принимает `manual` как псевдоним. Метка и псевдоним требуют Claude Code v2.1.200 или более поздней версии. Метка приложения для рабочего стола не зависит от вашей версии CLI |

56| `acceptEdits` | Автоматически принимает редактирование файлов и общие команды файловой системы, такие как `mkdir`, `touch`, `mv` и `cp` для путей в рабочем каталоге или `additionalDirectories` |89| `acceptEdits` | Автоматически принимает редактирование файлов и общие команды файловой системы, такие как `mkdir`, `touch`, `mv` и `cp` для путей в рабочем каталоге или `additionalDirectories` |

57| `plan` | Claude читает файлы и запускает команды оболочки только для чтения для исследования, но не редактирует ваши исходные файлы. Обозначается как Plan в CLI и расширении VS Code |90| `plan` | Claude читает файлы и запускает команды оболочки только для чтения для исследования, но не редактирует ваши исходные файлы; с доступным [режимом auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) также запускаются одобренные классификатором команды. Обозначается как Plan в CLI и расширении VS Code |

58| `auto` | Автоматически одобряет вызовы инструментов с проверками безопасности в фоне, которые проверяют, соответствуют ли действия вашему запросу |91| `auto` | Автоматически одобряет вызовы инструментов с проверками безопасности в фоне, которые проверяют, соответствуют ли действия вашему запросу |

59| `dontAsk` | Автоматически отклоняет инструменты, если они не предварительно одобрены через `/permissions` или правила `permissions.allow`. `AskUserQuestion`, инструменты соединителя [установленные вашей организацией на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools) и инструменты MCP, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), отклоняются даже если вы их разрешили |92| `dontAsk` | Автоматически отклоняет каждый вызов, который иначе запросил бы подтверждение; чтение файлов в ваших рабочих каталогах и другие действия, которые не требуют одобрения, по-прежнему выполняются, как и инструменты, предварительно одобренные через `/permissions` или правила `permissions.allow`. `AskUserQuestion`, инструменты MCP, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), и инструменты соединителя [установленные вашей организацией на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools) в сеансах, где эта настройка достигает Claude Code, отклоняются даже если вы их разрешили |

60| `bypassPermissions` | Пропускает запросы разрешений, за исключением тех, которые вынуждены явными правилами `ask`, инструментами соединителя [установленными вашей организацией на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools) и инструментами MCP, отмеченными [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool). Удаления корневого каталога и домашнего каталога, такие как `rm -rf /`, также по-прежнему запрашивают подтверждение в качестве защиты от ошибок модели |93| `bypassPermissions` | Пропускает запросы разрешений, за исключением [действий, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves) |

61 94 

62<Warning>95<Warning>

63 Режим `bypassPermissions` пропускает запросы разрешений, включая записи в `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` и `.mvn`. Используйте этот режим только в изолированных средах, таких как контейнеры или виртуальные машины, где Claude Code не может причинить вред.96 В режиме `bypassPermissions` Claude Code пропускает запросы разрешений, включая записи в [защищённые пути](/docs/ru/permission-modes#protected-paths) такие как `.git` и `.claude`. [Защита от обмена сообщениями между сеансами](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) по-прежнему применяется. Используйте этот режим только в изолированных средах, таких как контейнеры или виртуальные машины, где Claude Code не может причинить вред.

64 

65 В этом режиме по-прежнему срабатывают несколько запросов. Явные правила `ask`, инструменты соединителя [установленные вашей организацией на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools) и инструменты MCP, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), по-прежнему запрашивают подтверждение. Удаления, затрагивающие корневой каталог файловой системы или домашний каталог, такие как `rm -rf /` и `rm -rf ~`, также запрашивают подтверждение в качестве защиты от ошибок модели, включая случаи, когда команда содержит подстановку команд с `$(...)` или обратными кавычками, или подстановку процесса с `<(...)`. До версии v2.1.208 запрашивалась только простая форма, такая как `rm -rf ~`, введённая как отдельная команда; команды, которые достигали удаления через подстановку, не запрашивали подтверждение.

66</Warning>97</Warning>

67 98 

68Чтобы предотвратить использование режима `bypassPermissions` или `auto`, установите `permissions.disableBypassPermissionsMode` или `permissions.disableAutoMode` на `"disable"` в любом [файле параметров](/docs/ru/settings#settings-files). Это наиболее полезно в [управляемых параметрах](#managed-settings), где они не могут быть переопределены.99Чтобы предотвратить использование режима `bypassPermissions` или `auto`, установите `permissions.disableBypassPermissionsMode` или `permissions.disableAutoMode` на `"disable"` в любом [файле параметров](/docs/ru/settings#where-settings-live). Это наиболее полезно в [управляемых параметрах](#managed-settings), где они не могут быть переопределены.

69 100 

70<h2 id="permission-rule-syntax">101<h2 id="permission-rule-syntax">

71 Синтаксис правил разрешений102 Синтаксис правил разрешений

72</h2>103</h2>

73 104 

74Правила разрешений следуют формату `Tool` или `Tool(specifier)`.105Правила разрешений следуют формату `Tool` или `Tool(specifier)`. Скобки внутри спецификатора являются буквальными, поэтому команда или путь, содержащие их, не требуют экранирования.

75 106 

76<h3 id="match-all-uses-of-a-tool">107<h3 id="match-all-uses-of-a-tool">

77 Совпадение всех использований инструмента108 Совпадение всех использований инструмента


103 Совпадение по входному параметру134 Совпадение по входному параметру

104</h3>135</h3>

105 136 

106Правила отказа и запроса могут совпадать с параметром верхнего уровня на любом инструменте с помощью `Tool(param:value)`. Правило совпадает, когда Claude вызывает инструмент с этим параметром, установленным на это точное значение. Правило разрешения для одного значения параметра не установило бы, что вызов безопасен в целом, поэтому правила разрешения продолжают использовать собственный синтаксис спецификатора каждого инструмента. Это работает для любого скалярного параметра, который принимает инструмент:137Правила отказа и запроса могут совпадать с параметром верхнего уровня на любом встроенном инструменте с помощью `Tool(param:value)`.

138 

139Чтобы совпадать с параметром на инструменте MCP, передайте правило отказа с [`--disallowedTools`](/docs/ru/cli-reference#cli-flags). Когда Claude Code загружает файл параметров, он пропускает любое правило `mcp__`, которое содержит скобки. Claude Code перечисляет пропущенное правило в диалоге invalid-settings при запуске интерактивного сеанса и в выводе [`claude doctor`](/docs/ru/debug-your-config#check-resolved-settings).

140 

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

107 142 

108| Правило | Совпадает |143| Правило | Совпадает |

109| :----------------------------- | :---------------------------------------------------- |144| :----------------------------- | :---------------------------------------------------- |


120* Значение сравнивается с буквальным входом, который отправляет Claude, до любой нормализации. `Agent(model:opus)` совпадает с псевдонимом `opus`, но не с полным ID модели. Запустите с [`--verbose`](/docs/ru/cli-reference), чтобы увидеть точные имена параметров и значения в каждом вызове инструмента155* Значение сравнивается с буквальным входом, который отправляет Claude, до любой нормализации. `Agent(model:opus)` совпадает с псевдонимом `opus`, но не с полным ID модели. Запустите с [`--verbose`](/docs/ru/cli-reference), чтобы увидеть точные имена параметров и значения в каждом вызове инструмента

121* Пробелы вокруг двоеточия игнорируются156* Пробелы вокруг двоеточия игнорируются

122 157 

123Поля, которые инструмент уже совпадает со своими собственными правилами канонизации, не совпадают таким образом: `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)` вместо этого.158Вы не можете совпадать с основным полем содержимого инструмента таким образом: `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)` вместо этого.

124 159 

125<h3 id="wildcard-patterns">160<h3 id="wildcard-patterns">

126 Шаблоны подстановочных символов161 Шаблоны подстановочных символов

127</h3>162</h3>

128 163 

129Правила Bash поддерживают glob-шаблоны с `*`. Подстановочные символы могут появляться в любой позиции команды. Эта конфигурация позволяет npm и git commit команды, блокируя git push:164`*` в правиле Bash совпадает с любым текстом, включая пробелы, поэтому одно правило охватывает семейство команд. Правило без `*` совпадает с одной точной командой.

165 

166<Warning>

167 Поместите `*` после подкоманды. В `git log --oneline main`, `git` — это программа, а `log` — подкоманда, слово, которое определяет, что делает программа. Claude Code совпадает со всем перед первым `*` в точности, поэтому эти слова — это то, что ограничивает правило: `Bash(git log *)` разрешает только команды `git log`, а `Bash(git *)` разрешает каждую команду git. Claude Code [предупреждает при запуске](/docs/ru/errors#has-a-wildcard-before-the-rest-of-the-command) о правиле разрешения с `*` перед подкомандой, таком как `Bash(git * main)`.

168</Warning>

169 

170Напишите команду, которую вы хотите, чтобы Claude выполнил без запроса, и замените части, которые варьируются, на `*`. С этой конфигурацией Claude Code запускает npm скрипты и git коммиты без запроса и отказывает в командах, которые начинаются с `git push`. Push, написанный другим способом, такой как `git -C . push`, не совпадает; см. [что правило Bash не совпадает](#bash-rule-limits).

130 171 

131```json theme={null}172```json theme={null}

132{173{

133 "permissions": {174 "permissions": {

134 "allow": [175 "allow": [

135 "Bash(npm run *)",176 "Bash(npm run *)",

136 "Bash(git commit *)",177 "Bash(git commit *)"

137 "Bash(git * main)",

138 "Bash(* --version)",

139 "Bash(* --help *)"

140 ],178 ],

141 "deny": [179 "deny": [

142 "Bash(git push *)"180 "Bash(git push *)"


145}183}

146```184```

147 185 

148Пробел перед `*` имеет значение: `Bash(ls *)` совпадает с `ls -la`, но не с `lsof`, в то время как `Bash(ls*)` совпадает с обоими. Суффикс `:*` - это эквивалентный способ написания завершающего подстановочного символа, поэтому `Bash(ls:*)` совпадает с теми же командами, что и `Bash(ls *)`.186`*` может находиться в любом месте правила: в начале, в середине или в конце. Каждая строка показывает правило, команды, которые оно совпадает, и близлежащие команды, которые оно не совпадает:

187 

188| Вы пишете | Совпадает | Не совпадает |

189| :--------------------- | :----------------------------------------------------------------------------------- | :------------------------------------- |

190| `Bash(npm run build)` | `npm run build` | `npm run build --watch` |

191| `Bash(npm run *)` | `npm run build`, `npm run test --watch`, `npm run` | `npm install` |

192| `Bash(git log * main)` | `git log --oneline main`, `git log -5 main`, `git log --output=<file> main` | `git log main`, `git push origin main` |

193| `Bash(git * main)` | `git merge main`, `git push origin main`, `git -c core.fsmonitor=<script> diff main` | `git log` |

194| `Bash(* --version)` | `node --version`, `bash -c 'echo hi' --version` | `node -v` |

195| `Bash(ls *)` | `ls -la`, `ls` | `lsof` |

196| `Bash(ls*)` | `ls -la`, `lsof` | |

197| `Bash(* --help *)` | `npm --help x` | `npm --help` |

198 

199Три правила совпадения производят эти строки:

200 

201* **`*` стоит вместо того, какой текст находится на его месте.** В `Bash(git * main)`, он стоит вместо подкоманды, поэтому Claude Code совпадает с каждой подкомандой git и каждой опцией перед ней. Это включает `-c`, что заставляет git запустить программу, которую вы называете. В `Bash(* --version)`, `*` стоит вместо программы, поэтому совпадает любая программа.

202* **`*` в конце, с пробелом перед ним, также совпадает с голой командой.** `Bash(ls *)` совпадает с `ls`, и `Bash(git log *)` совпадает с `git log`. Это верно только когда завершающий `*` — единственный подстановочный символ правила: `Bash(* --help *)` совпадает с `npm --help x`, но не с `npm --help`.

203* **Пробел перед завершающим `*` является частью правила.** `Bash(ls *)` требует пробел после `ls`, поэтому `lsof` не совпадает. `Bash(ls*)` не имеет пробела, поэтому он совпадает с `lsof` тоже.

204 

205Суффикс `:*` — это эквивалентный способ написания завершающего подстановочного символа, поэтому `Bash(ls:*)` совпадает с теми же командами, что и `Bash(ls *)`.

149 206 

150Диалог разрешений записывает форму, разделенную пробелами, когда вы выбираете "Да, не спрашивать снова" для префикса команды. Форма `:*` распознается только в конце шаблона. В шаблоне, таком как `Bash(git:* push)`, двоеточие рассматривается как буквальный символ и не будет совпадать с git командами.207Диалог разрешений записывает форму, разделенную пробелами, когда вы выбираете "Да, не спрашивать снова" для префикса команды. Форма `:*` распознается только в конце шаблона. В шаблоне, таком как `Bash(git:* push)`, двоеточие рассматривается как буквальный символ и не будет совпадать с git командами.

151 208 


153 Подстановочные символы имён инструментов210 Подстановочные символы имён инструментов

154</h3>211</h3>

155 212 

156Правила отказа и запроса также принимают glob-шаблоны в позиции имени инструмента. Шаблон должен совпадать с полным именем инструмента: `"*"` совпадает с каждым инструментом, и `"mcp__*"` совпадает с каждым MCP инструментом на всех серверах. Инструмент, совпадающий с правилом отказа с простым именем glob, удаляется из контекста Claude, так же как и простое имя инструмента. Эта конфигурация отрицает каждый MCP инструмент:213Правила отказа и запроса также принимают glob-шаблоны в позиции имени инструмента. Шаблон должен совпадать с полным именем инструмента: `"*"` совпадает с каждым инструментом, и `"mcp__*"` совпадает с каждым MCP инструментом на всех серверах. Инструмент, совпадающий с правилом отказа с простым именем glob, удаляется из контекста Claude, так же как и простое имя инструмента, включая исключение [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior): glob отказ не может удалить его, пока остается любой другой инструмент, и glob запрос никогда не запрашивает его. Эта конфигурация отрицает каждый MCP инструмент:

157 214 

158```json theme={null}215```json theme={null}

159{216{


169 226 

170Правило отказа или запроса, имя инструмента которого не совпадает ни с одним известным инструментом, выдает предупреждение при запуске, чтобы поймать опечатки. Имена инструментов, содержащие `_` или `*`, освобождаются от проверки.227Правило отказа или запроса, имя инструмента которого не совпадает ни с одним известным инструментом, выдает предупреждение при запуске, чтобы поймать опечатки. Имена инструментов, содержащие `_` или `*`, освобождаются от проверки.

171 228 

172Метка, отображаемая для инструмента в стенограмме и диалоге разрешений, может отличаться от его канонического имени. Например, инструмент с меткой `Stop Task` в стенограмме имеет каноническое имя `TaskStop`. Правила разрешений и [матчеры hook](/docs/ru/hooks) совпадают только с каноническим именем, поэтому правило, написанное как `Stop Task`, не совпадает. Для правил отказа и запроса предупреждение при запуске выше ловит несоответствие. Используйте канонические имена, указанные в [справочнике инструментов](/docs/ru/tools-reference).229Метка, отображаемая для инструмента в стенограмме и диалоге разрешений, может отличаться от его канонического имени. Например, инструмент с меткой `Stop Task` в стенограмме имеет каноническое имя `TaskStop`. Правила разрешений и [матчеры hook](/docs/ru/hooks) не совпадают с меткой, поэтому правило, написанное как `Stop Task`, не совпадает. Для правил отказа и запроса предупреждение при запуске выше ловит несоответствие. Используйте канонические имена, указанные в [справочнике инструментов](/docs/ru/tools-reference).

173 230 

174<h2 id="tool-specific-permission-rules">231<h2 id="tool-specific-permission-rules">

175 Правила разрешений для конкретных инструментов232 Правила разрешений для конкретных инструментов


179 Bash236 Bash

180</h3>237</h3>

181 238 

182Правила разрешений Bash поддерживают сопоставление подстановочных символов с `*`. Подстановочные символы могут появляться в любой позиции команды, включая начало, середину или конец:239Правила разрешений Bash совпадают с полным текстом команды, где `*` обозначает любой текст. [Шаблоны подстановочных символов](#wildcard-patterns) показывает, какие команды совпадают с каждой формой правила и где размещать `*`. Остальная часть этого раздела охватывает, как Claude Code совпадает с составными командами и оборачивателями, что правило не совпадает, команды только для чтения и перенаправления.

183 

184* `Bash(npm run build)` совпадает с точной Bash командой `npm run build`

185* `Bash(npm run test *)` совпадает с Bash командами, начинающимися с `npm run test`

186* `Bash(npm *)` совпадает с любой командой, начинающейся с `npm `

187* `Bash(* install)` совпадает с любой командой, заканчивающейся на ` install`

188* `Bash(git * main)` совпадает с командами, такими как `git checkout main` и `git log --oneline main`

189 

190Один `*` совпадает с любой последовательностью символов, включая пробелы, поэтому один подстановочный символ может охватывать несколько аргументов. `Bash(git *)` совпадает с `git log --oneline --all`, и `Bash(git * main)` совпадает с `git push origin main`, а также с `git merge main`.

191 

192Когда `*` появляется в конце с пробелом перед ним (например `Bash(ls *)`), это обеспечивает границу слова, требуя, чтобы префиксу предшествовал пробел или конец строки. Например, `Bash(ls *)` совпадает с `ls -la`, но не с `lsof`. В отличие от этого, `Bash(ls*)` без пробела совпадает с обоими `ls -la` и `lsof`, потому что нет ограничения границы слова.

193 240 

194<h4 id="compound-commands">241<h4 id="compound-commands">

195 Составные команды242 Составные команды


199 Claude Code осведомлен об операторах оболочки, поэтому правило, такое как `Bash(safe-cmd *)`, не даст ему разрешение на выполнение команды `safe-cmd && other-cmd`. Распознаваемые разделители команд - это `&&`, `||`, `;`, `|`, `|&`, `&` и новые строки. Правило должно совпадать с каждой подкомандой независимо.246 Claude Code осведомлен об операторах оболочки, поэтому правило, такое как `Bash(safe-cmd *)`, не даст ему разрешение на выполнение команды `safe-cmd && other-cmd`. Распознаваемые разделители команд - это `&&`, `||`, `;`, `|`, `|&`, `&` и новые строки. Правило должно совпадать с каждой подкомандой независимо.

200</Tip>247</Tip>

201 248 

249Правила deny и ask применяются, когда любая подкоманда совпадает с ними, включая команду, вложенную в подоболочку, подстановку команды или тело управления потоком, такое как цикл `for`. Правило ask, такое как `Bash(git clean *)`, по-прежнему запрашивает вас для `cd /tmp && git clean -f` или `echo "$(git clean -f)"`, даже в [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode).

250 

251Когда `&&` или `||` не имеет ничего после него, например в `npm test &&`, Claude Code рассматривает команду как неразбираемую и не разделяет её на подкоманды для сопоставления правил allow, поэтому правило, такое как `Bash(npm *)`, не одобряет её.

252 

202Когда вы одобряете составную команду с "Да, не спрашивать снова", Claude Code сохраняет отдельное правило для каждой подкоманды, требующей одобрения, а не одно правило для полной составной строки. Например, одобрение `git status && npm test` сохраняет правило для `npm test`, поэтому будущие вызовы `npm test` распознаются независимо от того, что предшествует `&&`. Подкоманды, такие как `cd` в подкаталог, генерируют свое собственное правило Read для этого пути. Для одной составной команды может быть сохранено до 5 правил.253Когда вы одобряете составную команду с "Да, не спрашивать снова", Claude Code сохраняет отдельное правило для каждой подкоманды, требующей одобрения, а не одно правило для полной составной строки. Например, одобрение `git status && npm test` сохраняет правило для `npm test`, поэтому будущие вызовы `npm test` распознаются независимо от того, что предшествует `&&`. Подкоманды, такие как `cd` в подкаталог, генерируют свое собственное правило Read для этого пути. Для одной составной команды может быть сохранено до 5 правил.

203 254 

204<h4 id="process-wrappers">255<h4 id="process-wrappers">

205 Оборачиватели процессов256 Оборачиватели

206</h4>257</h4>

207 258 

208Перед сопоставлением правил Bash, Claude Code удаляет фиксированный набор оборачивателей процессов, поэтому правило, такое как `Bash(npm test *)`, также совпадает с `timeout 30 npm test`. Распознаваемые оборачиватели - это `timeout`, `time`, `nice`, `nohup` и `stdbuf`.259Перед сопоставлением правил Bash, Claude Code удаляет фиксированный набор оборачивателей, поэтому правило, такое как `Bash(npm test *)`, также совпадает с `timeout 30 npm test`. Удаляемые оборачиватели - это `timeout`, `time`, `nice`, `nohup` и `stdbuf`, плюс встроенные команды оболочки `command` и `builtin`, а также `noglob` в zsh. Каждый запускает свой аргумент как фактическую команду. Две связанные формы не удаляются: форма запроса `command -v`, которая ищет команду, а не запускает её, и `nocorrect` в zsh.

260 

261Claude Code также удаляет ведущее присваивание определённых известных безопасных переменных окружения, поэтому `Bash(npm test *)` совпадает с `NODE_ENV=test npm test`. Правило allow не совпадает с присваиванием любой другой переменной. Правило deny или ask совпадает с любым ведущим присваиванием, поэтому `Bash(rm *)` в deny по-прежнему совпадает с `FOO=bar rm -rf tmp/`.

209 262 

210Голый `xargs` также удаляется, поэтому `Bash(grep *)` совпадает с `xargs grep pattern`. Удаление применяется только когда `xargs` не имеет флагов: вызов, такой как `xargs -n1 grep pattern`, совпадает как команда `xargs`, поэтому правила, написанные для внутренней команды, не охватывают его.263Голый `xargs` также удаляется, поэтому `Bash(grep *)` совпадает с `xargs grep pattern`. Удаление применяется только когда `xargs` не имеет флагов: вызов, такой как `xargs -n1 grep pattern`, совпадает как команда `xargs`, поэтому правила, написанные для внутренней команды, не охватывают его.

211 264 

212Этот список оборачивателей встроен и не настраивается. Средства выполнения окружения разработки, такие как `direnv exec`, `devbox run`, `mise exec`, `npx` и `docker exec`, не входят в список. Потому что эти инструменты выполняют свои аргументы как команду, правило, такое как `Bash(devbox run *)`, совпадает с чем угодно после `run`, включая `devbox run rm -rf .`. Чтобы одобрить работу внутри средства выполнения окружения, напишите конкретное правило, которое включает как средство выполнения, так и внутреннюю команду, такое как `Bash(devbox run npm test)`. Добавьте одно правило для каждой внутренней команды, которую вы хотите разрешить.265Этот список оборачивателей встроен и не настраивается. Средства выполнения окружения разработки, такие как `direnv exec`, `devbox run`, `mise exec`, `npx` и `docker exec`, не входят в список. Потому что эти инструменты выполняют свои аргументы как команду, правило, такое как `Bash(devbox run *)`, совпадает с чем угодно после `run`, включая `devbox run rm -rf .`. Чтобы одобрить работу внутри средства выполнения окружения, напишите конкретное правило, которое включает как средство выполнения, так и внутреннюю команду, такое как `Bash(devbox run npm test)`. Добавьте одно правило для каждой внутренней команды, которую вы хотите разрешить.

213 266 

214Оборачиватели exec, такие как `watch`, `setsid`, `ionice` и `flock`, всегда запрашивают и не могут быть автоматически одобрены правилом префикса, таким как `Bash(watch *)`. То же самое применяется к `find` с `-exec` или `-delete`: правило `Bash(find *)` не охватывает эти формы. Чтобы одобрить конкретный вызов, напишите правило точного совпадения для полной строки команды.267Оборачиватели exec, такие как `watch`, `setsid`, `ionice` и `flock`, не могут быть автоматически одобрены правилом префикса, таким как `Bash(watch *)`, поэтому в режиме Manual они всегда запрашивают. То же самое применяется к `find` с `-exec` или `-delete`: правило `Bash(find *)` не охватывает эти формы. Чтобы одобрить конкретный вызов, напишите правило точного совпадения для полной строки команды.

268 

269<h4 id="bash-rule-limits">

270 Что правило Bash не совпадает

271</h4>

272 

273Правило Bash совпадает с текстом команды, который пишет Claude, после того как Claude Code разделит [составные команды](#compound-commands) и удалит [оборачиватели](#process-wrappers). Оно не совпадает с одной и той же программой, вызванной в другой форме, поэтому правило deny или ask охватывает вызов, который Claude обычно производит, и не является границей безопасности вокруг программы. Эти правила в `deny` или `ask` останавливают первую форму, а не другие:

274 

275| Правило | Останавливает | Не останавливает |

276| :----------------- | :------------------------- | :---------------------------------------------------------------------------------------------------- |

277| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |

278| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |

279| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |

280 

281Ваши другие правила и режим разрешений определяют команды в последнем столбце.

282 

283Для принудительного применения файловой системы и сети, которое не зависит от текста команды, используйте [sandboxing](/docs/ru/sandboxing). Чтобы проверить полный текст команды с вашей собственной логикой перед её выполнением, используйте [hook PreToolUse](#extend-permissions-with-hooks).

215 284 

216<h4 id="read-only-commands">285<h4 id="read-only-commands">

217 Команды только для чтения286 Команды только для чтения

218</h4>287</h4>

219 288 

220Claude Code распознает встроенный набор Bash команд как только для чтения и запускает их без запроса разрешения в каждом режиме. Они включают `ls`, `cat`, `echo`, `pwd`, `head`, `tail`, `grep`, `find`, `wc`, `which`, `diff`, `stat`, `du`, `cd` и формы `git` только для чтения. Набор не настраивается; чтобы требовать запрос для одной из этих команд, добавьте правило `ask` или `deny` для нее.289Claude Code распознает встроенный набор команд Bash как только для чтения и запускает их без запроса разрешения в каждом режиме, за исключением пути, который [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) ограничивает. Набор включает `ls`, `cat`, `echo`, `pwd`, `head`, `tail`, `grep`, `find`, `wc`, `which`, `diff`, `stat`, `du`, `cd` и формы `git` только для чтения. Набор не настраивается; чтобы требовать запрос для одной из этих команд, добавьте правило `ask` или `deny` для неё.

221 290 

222Неквотированные glob-шаблоны разрешены для команд, у которых каждый флаг только для чтения, поэтому `ls *.ts` и `wc -l src/*.py` запускаются без запроса. Команды с флагами, способными к записи или выполнению, такие как `find`, `sort`, `sed` и `git`, по-прежнему запрашивают, когда присутствует неквотированный glob, потому что glob может расширяться до флага, такого как `-delete`.291Перенаправление, такое как `ls > out.txt`, добавляет проверку на цель. См. [Перенаправления](#redirections).

223 292 

224`cd` в путь внутри вашего рабочего каталога или [дополнительного каталога](#working-directories) также только для чтения. Составная команда, такая как `cd packages/api && ls`, запускается без запроса, когда каждая часть квалифицируется самостоятельно. Объединение `cd` с `git` в одну составную команду запрашивает, когда `cd` переходит в другой каталог, так как запуск `git` в новом каталоге может выполнить hooks этого каталога. `cd`, целевой путь которого разрешается в текущий рабочий каталог, является no-op и не вызывает этот запрос.293Неквотированные glob-шаблоны разрешены для команд, у которых каждый флаг только для чтения, поэтому `ls *.ts` и `wc -l src/*.py` запускаются без запроса.

225 294 

226Объединение `cd` с перенаправлением вывода в одну составную команду также запрашивает, когда Claude Code не может определить, в какой каталог разрешается целевой путь перенаправления после выполнения `cd`. Команда, единственной целью перенаправления которой является `/dev/null`, такая как `cd app; grep -r pattern . 2>/dev/null`, не вызывает этот запрос, потому что `/dev/null` не зависит от рабочего каталога. До версии 2.1.207 составная команда, содержащая `cd`, запрашивала для любого перенаправления вывода, включая то, единственной целью которого был `/dev/null`.295В режиме Manual команды из этого набора по-прежнему запрашивают в этих случаях:

296 

297* **Неквотированные глобы для команд с флагами, способными к записи**: команды с флагами, способными к записи или выполнению, такие как `find`, `sort`, `sed` и `git`, запрашивают, когда присутствует неквотированный глоб, потому что глоб может расширяться до флага, такого как `-delete`.

298* **`docker`, указывающий на другой демон**: формы `docker` только для чтения запрашивают, когда команда содержит флаг, который выбирает другой демон, такой как `-H`, `--context` или `--url` и `--connection` в Podman.

299* **`file` с флагами открытия пути**: `file` запрашивает, когда он передаёт `-m`/`--magic-file` или `-f`/`--files-from`, потому что эти флаги заставляют `file` открывать пути, названные в значении флага.

300* **Сетевые пути в Windows**: команда, чьи аргументы включают сетевой путь (UNC), такой как `\\server\share\file`, запрашивает, потому что доступ к сетевому пути может отправить ваши учётные данные Windows на хост, который он называет. Та же проверка применяется к командам [инструмента PowerShell](/docs/ru/tools-reference#powershell-tool).

301* **Команды, которые анализ не может разобрать**: когда Claude Code не может полностью разобрать команду, он запрашивает одобрение вместо того, чтобы рассматривать команду как только для чтения. Команды длиннее 10 000 символов всегда запрашивают, потому что они превышают то, что анализирует анализ.

302 

303`cd` в путь внутри вашего рабочего каталога или [дополнительного каталога](#working-directories) также только для чтения, и составная команда, такая как `cd packages/api && ls`, запускается без запроса, когда каждая часть квалифицируется самостоятельно. Эти комбинации запрашивают, даже когда каждая часть только для чтения:

304 

305* **`cd` с `git`**: запрашивает, когда `cd` переходит в другой каталог, так как запуск `git` в новом каталоге может выполнить hooks этого каталога. `cd`, целевой путь которого разрешается в текущий рабочий каталог, является no-op и не вызывает запрос.

306* **`cd` с перенаправлением**: запрашивает, когда Claude Code не может определить, в какой каталог разрешается целевой путь перенаправления после выполнения `cd`. Команда, единственной целью перенаправления которой является `/dev/null`, такая как `cd app; grep -r pattern . 2>/dev/null`, не запрашивает, потому что `/dev/null` не зависит от рабочего каталога.

227 307 

228<Warning>308<Warning>

229 Шаблоны разрешений Bash, которые пытаются ограничить аргументы команды, хрупкие. Например, `Bash(curl http://github.com/ *)` предназначен для ограничения curl на URL-адреса GitHub, но не будет совпадать с вариациями, такими как:309 Шаблоны разрешений Bash, которые пытаются ограничить аргументы команды, хрупкие. Например, `Bash(curl http://github.com/ *)` предназначен для ограничения curl на URL-адреса GitHub, но не будет совпадать с вариациями, такими как:

230 310 

231 * Опции перед URL: `curl -X GET http://github.com/...`311 * Опции перед URL: `curl -X GET http://github.com/...`

232 * Другой протокол: `curl https://github.com/...`312 * Другой протокол: `curl https://github.com/...`

233 * Перенаправления: `curl -L http://bit.ly/xyz`, которое перенаправляет на GitHub313 * Перенаправления: `curl -L http://short.example.com/xyz`, которое перенаправляет на GitHub

234 * Переменные: `URL=http://github.com && curl $URL`314 * Переменные: `URL=http://github.com && curl $URL`

235 * Дополнительные пробелы: `curl http://github.com`

236 315 

237 Для более надежной фильтрации URL рассмотрите:316 Для более надежной фильтрации URL рассмотрите:

238 317 

239 * **Ограничение сетевых инструментов Bash**: используйте правила deny для блокировки `curl`, `wget` и подобных команд, затем используйте инструмент WebFetch с разрешением `WebFetch(domain:github.com)` для разрешенных доменов318 * **Ограничение сетевых инструментов Bash**: используйте правила deny для блокировки `curl`, `wget` и подобных команд, затем используйте инструмент WebFetch с разрешением `WebFetch(domain:github.com)` для разрешенных доменов. Правило deny не совпадает с одной и той же программой по пути или внутри `sh -c`, поэтому объедините его с [списком разрешений сетевого sandbox](/docs/ru/sandboxing#network-isolation), когда ограничение должно действовать; см. [что правило Bash не совпадает](#bash-rule-limits)

240 * **Использование PreToolUse hooks**: реализуйте hook, который проверяет URL-адреса в Bash командах и блокирует недопустимые домены319 * **Использование hooks PreToolUse**: реализуйте hook, который проверяет URL-адреса в командах Bash и блокирует недопустимые домены

241 * **Добавьте руководство CLAUDE.md**: опишите ваши разрешенные curl шаблоны в `CLAUDE.md`. Это формирует то, что Claude пытается, но не обеспечивает границу, поэтому объедините это с одним из вариантов выше320 * **Добавьте руководство CLAUDE.md**: опишите ваши разрешенные curl шаблоны в `CLAUDE.md`. Это формирует то, что Claude пытается, но не обеспечивает границу, поэтому объедините это с одним из вариантов выше

242 321 

243 Обратите внимание, что использование только WebFetch не предотвращает сетевой доступ. Если Bash разрешен, Claude все еще может использовать `curl`, `wget` или другие инструменты для доступа к любому URL-адресу.322 Обратите внимание, что использование только WebFetch не предотвращает сетевой доступ. Если Bash разрешен, Claude все еще может использовать `curl`, `wget` или другие инструменты для доступа к любому URL-адресу.

244</Warning>323</Warning>

245 324 

325<h4 id="redirections">

326 Перенаправления

327</h4>

328 

329Когда команда перенаправляет вывод или ввод, Claude Code проверяет цель перенаправления против ваших правил файлов, как если бы Claude напрямую написал или прочитал этот файл:

330 

331* **Перенаправления вывода**: для `> file`, `>> file` или `2> file`, проверка охватывает ваши правила allow и deny `Edit`, [защищённые пути](/docs/ru/permission-modes#protected-paths) и [рабочие каталоги](#working-directories). Правило, такое как `Bash(git commit *)`, разрешает команду, а не цель. Цель, которая начинается с `~` или содержит символ глоба, требует вашего одобрения.

332* **Перенаправления ввода**: для `< file`, проверка охватывает ваши правила allow и deny `Read` и рабочие каталоги. Цель вне рабочих каталогов требует вашего одобрения, если правило allow не охватывает её. Цель, которая содержит шаблон глоба или относительный путь, следующий за `cd` в одной команде, требует вашего одобрения, даже когда правило allow охватывает её. Claude Code проверяет цели ввода в v2.1.257 и позже.

333 

334Цели без файла позади них не проверяются: `/dev/null`, формы дескриптора файла, такие как `2>&1` и `<&3`, и here-docs и here-strings.

335 

336Claude Code также проверяет файлы, которые пишет команда `tee`, включая в конвейер, такой как `make | tee build.log`. Проверка охватывает ваши правила allow и deny `Edit`, [защищённые пути](/docs/ru/permission-modes#protected-paths) и [рабочие каталоги](#working-directories). Правило allow, такое как `Bash(tee *)`, не охватывает назначение вне рабочих каталогов. Claude Code проверяет цели `tee` в v2.1.269 и позже.

337 

246<h3 id="powershell">338<h3 id="powershell">

247 PowerShell339 PowerShell

248</h3>340</h3>


271 Read и Edit363 Read и Edit

272</h3>364</h3>

273 365 

366Чтобы заблокировать инструменты файлов Claude от чтения файла или каталога, добавьте правило deny `Read` для его пути, такое как `Read(./.env)` или `Read(./secrets/**)`; [Исключить конфиденциальные файлы](/docs/ru/settings-reference#exclude-sensitive-files) содержит готовый к вставке пример.

367 

274Правила `Edit` применяются ко всем встроенным инструментам, которые редактируют файлы. Claude прилагает наилучшие усилия для применения правил `Read` ко всем встроенным инструментам, которые читают файлы, таким как Grep и Glob, к упоминаниям `@file` в ваших подсказках и к выделению и контексту открытого файла, которые подключенный [IDE](/docs/ru/vs-code#the-built-in-ide-mcp-server) делится с Claude.368Правила `Edit` применяются ко всем встроенным инструментам, которые редактируют файлы. Claude прилагает наилучшие усилия для применения правил `Read` ко всем встроенным инструментам, которые читают файлы, таким как Grep и Glob, к упоминаниям `@file` в ваших подсказках и к выделению и контексту открытого файла, которые подключенный [IDE](/docs/ru/vs-code#the-built-in-ide-mcp-server) делится с Claude.

275 369 

276Правило `Read` deny также блокирует [инструмент Edit](/docs/ru/errors#file-is-covered-by-a-read-deny-rule) на том же пути, включая создание нового файла там. Write и NotebookEdit не охватываются, поэтому добавьте правило `Edit` deny для путей, которые ни один инструмент не может изменять. Требуется Claude Code версии 2.1.208 или позже.370Правило deny `Read` также блокирует [инструменты Edit и Write](/docs/ru/errors#file-is-covered-by-a-read-deny-rule) на том же пути, включая создание нового файла там. NotebookEdit не охватывается, поэтому добавьте правило deny `Edit` для путей, которые ни один инструмент не может изменять. Проверка требует Claude Code v2.1.208 или позже при редактировании, и v2.1.228 или позже при записи.

371 

372Claude Code проверяет разрешения файлов только против правил `Edit(path)` и `Read(path)`. Если вы напишете правило пути для `Write`, `NotebookEdit`, `Glob` или устаревшего инструмента `MultiEdit` вместо этого, Claude Code принимает правило, но никогда не консультируется с ним и [предупреждает при запуске](/docs/ru/errors#is-not-matched-by-file-permission-checks), за исключением правила `Glob`, переданного в `--allowedTools`. Используйте `Edit(docs/**)` вместо `Write(docs/**)`, `NotebookEdit(docs/**)` или `MultiEdit(docs/**)`, и `Read(docs/**)` вместо `Glob(docs/**)`. Claude Code не предупреждает о правиле имени инструмента без пути, такое как правило deny для `Write`; оно совпадает с этим правилом на уровне инструмента везде. Требует Claude Code v2.1.210 или позже.

277 373 

278<Warning>374<Warning>

279 Правила Read и Edit deny применяются к встроенным инструментам файлов Claude и к командам файлов, которые Claude Code распознает в Bash, таким как `cat`, `head`, `tail` и `sed`. Они не применяются к произвольным подпроцессам, которые косвенно читают или записывают файлы, таким как скрипт Python или Node, который открывает файлы самостоятельно. Для принудительного применения на уровне ОС, которое блокирует все процессы от доступа к пути, [включите sandbox](/docs/ru/sandboxing).375 Правила deny Read и Edit применяются к встроенным инструментам файлов Claude, к командам файлов, которые Claude Code распознает в Bash, таким как `cat`, `head`, `tail`, `sed` и `tee`, и к целям перенаправлений Bash [](#redirections), таким как `> file` и `< file`. Они не применяются к команде, которая читает файлы без их именования, такой как `grep -r pattern .`, запущенная из каталога, который содержит файл, или к произвольным подпроцессам, которые косвенно читают или записывают файлы, таким как скрипт Python или Node, который открывает файлы самостоятельно. Для принудительного применения на уровне ОС, которое блокирует все процессы от доступа к пути, [включите sandbox](/docs/ru/sandboxing).

280</Warning>376</Warning>

281 377 

282Правила Read и Edit следуют спецификации [gitignore](https://git-scm.com/docs/gitignore) с четырьмя различными типами шаблонов:378Правила Read и Edit используют синтаксис шаблонов [gitignore](https://git-scm.com/docs/gitignore) с четырьмя различными типами шаблонов; для шаблонов каталогов с одним сегментом глубина сопоставления также зависит от типа правила, описанного далее в этом разделе:

283 379 

284| Шаблон | Значение | Пример | Совпадает |380| Шаблон | Значение | Пример | Совпадает |

285| ------------------- | ----------------------------------------- | -------------------------------- | ------------------------------------------------- |381| ------------------- | ----------------------------------------- | -------------------------------- | -------------------------------------------------------------- |

286| `//path` | Абсолютный путь от корня файловой системы | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |382| `//path` | Абсолютный путь от корня файловой системы | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

287| `~/path` | Путь от домашнего каталога | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |383| `~/path` | Путь от домашнего каталога | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

288| `/path` | Путь относительно источника параметров | `Edit(/src/**/*.ts)` | `<project root>/src/**/*.ts` в параметрах проекта |384| `/path` | Путь относительно источника параметров | `Edit(/src/**/*.ts)` | `<primary working directory>/src/**/*.ts` в параметрах проекта |

289| `path` или `./path` | Путь относительно текущего каталога | `Read(*.env)` | `<cwd>/*.env` |385| `path` или `./path` | Путь относительно текущего каталога | `Read(*.env)` | `<cwd>/*.env` |

290 386 

291<Warning>387<Warning>

292 Шаблон, такой как `/Users/alice/file`, не является абсолютным путем. Одиночная косая черта якорирует источник параметров, а не корень файловой системы. Используйте `//Users/alice/file` для абсолютных путей.388 Шаблон, такой как `/Users/alice/file`, не является абсолютным путем. Одиночная косая черта якорирует источник параметров, а не корень файловой системы. Используйте `//Users/alice/file` для абсолютных путей.

293</Warning>389</Warning>

294 390 

295Шаблон `/path` якорирует в каталоге, связанном с файлом параметров, который его определяет, поэтому одно и то же правило совпадает с разными местоположениями в зависимости от того, где вы его разместите:391Шаблон `/path` якорирует в каталоге, связанном с источником параметров, который его определяет, поэтому одно и то же правило совпадает с разными местоположениями в зависимости от того, где вы его разместите:

296 392 

297| Правило определено в | `/path` разрешается в |393| Правило определено в | `/path` разрешается в |

298| :----------------------------------------------------------------- | :------------------------- |394| :-------------------------------------------------- | :--------------------------------- |

299| Параметры проекта или локальные, такие как `.claude/settings.json` | `<project root>/path` |395| Параметры проекта в `.claude/settings.json` | `<primary working directory>/path` |

396| Локальные параметры в `.claude/settings.local.json` | `<primary working directory>/path` |

300| Параметры пользователя в `~/.claude/settings.json` | `~/.claude/path` |397| Параметры пользователя в `~/.claude/settings.json` | `~/.claude/path` |

301| Файл, переданный с `--settings <file>` | `<directory of file>/path` |398| Файл, переданный с `--settings <file>` | `<directory of file>/path` |

302| Флаги CLI, `/permissions` или правила сеанса | `<original cwd>/path` |399| Флаги CLI или правила сеанса | `<primary working directory>/path` |

400 

401Правило, которое вы добавляете через `/permissions`, следует строке для файла параметров, в который вы его сохраняете.

402 

403Локальные параметры правил якорируют в [основном рабочем каталоге](#working-directories) сеанса, а не в корне репозитория, где Claude Code [хранит файл](#permission-system) в v2.1.211 и позже. В сеансе, запущенном в корне репозитория, два каталога одинаковые; в сеансе [worktree](/docs/ru/worktrees) общее правило, такое как `Edit(/src/**)`, совпадает с собственным каталогом `src/` этого worktree.

303 404 

304Правило deny, такое как `Read(/secrets/**)` в параметрах пользователя, блокирует `~/.claude/secrets/**`, а не каталог `secrets` в вашем проекте. Чтобы написать правило в параметрах пользователя, которое применяется внутри каждого проекта, используйте абсолютный путь `//` или путь относительно дома `~/` вместо этого.405Правило deny, такое как `Read(/secrets/**)` в параметрах пользователя, блокирует `~/.claude/secrets/**`, а не каталог `secrets` в вашем проекте. Чтобы написать правило в параметрах пользователя, которое применяется внутри каждого проекта, используйте абсолютный путь `//` или путь относительно дома `~/` вместо этого.

305 406 

306На Windows пути нормализуются в форму POSIX перед сопоставлением. `C:\Users\alice` становится `/c/Users/alice`, поэтому используйте `//c/**/.env` для сопоставления файлов `.env` в любом месте на этом диске. Чтобы сопоставить все диски, используйте `//**/.env`.407В Windows пути нормализуются в форму POSIX перед сопоставлением. `C:\Users\alice` становится `/c/Users/alice`, поэтому используйте `//c/**/.env` для сопоставления файлов `.env` в любом месте на этом диске. Чтобы сопоставить все диски, используйте `//**/.env`.

307 408 

308Примеры:409Примеры:

309 410 

310* `Edit(/docs/**)`: редактирование в `<project>/docs/`, не в `/docs/` или `<project>/.claude/docs/`411* `Edit(/docs/**)`: редактирование в `<primary working directory>/docs/`, не в `/docs/` или `<primary working directory>/.claude/docs/`

311* `Read(~/.zshrc)`: чтение `.zshrc` вашего домашнего каталога412* `Read(~/.zshrc)`: чтение `.zshrc` вашего домашнего каталога

312* `Edit(//tmp/scratch.txt)`: редактирование абсолютного пути `/tmp/scratch.txt`413* `Edit(//tmp/scratch.txt)`: редактирование абсолютного пути `/tmp/scratch.txt`

313* `Read(src/**)`: чтение из `<current-directory>/src/`414* `Read(src/**)`: как правило allow, чтение из `<current-directory>/src/` только; как правило deny или ask, совпадает с каталогом `src` на любой глубине под текущим каталогом

314 415 

315Правило совпадает только с файлами под его якорем, поэтому якорь определяет, насколько далеко распространяется правило deny. Голые имена файлов следуют семантике gitignore и совпадают на любой глубине, поэтому `Read(.env)` и `Read(**/.env)` эквивалентны:416Правило совпадает только с файлами под его якорем; в пределах этой границы глубина сопоставления зависит от формы шаблона и, для шаблонов каталогов с одним сегментом, типа правила, описанного ниже. Голые имена файлов следуют семантике gitignore и совпадают на любой глубине, поэтому `Read(.env)` и `Read(**/.env)` эквивалентны:

316 417 

317| Правило deny | Блокирует | Не блокирует |418| Правило deny | Блокирует | Не блокирует |

318| -------------------------------- | ------------------------------------------- | -------------------------------------------------- |419| -------------------------------- | ------------------------------------------- | ---------------------------------------------------- |

319| `Read(.env)` или `Read(**/.env)` | любой `.env` в текущем каталоге или под ним | `.env` в родительском каталоге или другом проекте |420| `Read(.env)` или `Read(**/.env)` | любой `.env` в текущем каталоге или под ним | `.env` в родительском каталоге или другом проекте |

320| `Read(//**/.env)` | любой `.env` в любом месте файловой системы | ничего; правило привязано к корню файловой системы |421| `Read(//**/.env)` | любой `.env` в любом месте файловой системы | ничего; правило якорировано в корне файловой системы |

422 

423Относительный шаблон с одним сегментом каталога, такой как `src/**`, совпадает на разных глубинах в зависимости от типа правила:

424 

425* **Правила allow**: `Edit(src/**)` совпадает только с `<cwd>/src` и файлами под ним. Чтобы разрешить имя каталога на любой глубине, напишите `Edit(**/src/**)`.

426* **Правила deny и ask**: `Read(secrets/**)` совпадает с каталогом с именем `secrets` на любой глубине под текущим каталогом, поэтому правило также применяется к вложенным копиям.

427 

428Каждая другая форма шаблона совпадает на одной и той же глубине в каждом типе правила: `Edit(/src/**)` и `Edit(src/components/**)` совпадают только в их якорированном местоположении, в то время как `Edit(**/src/**)` совпадает на любой глубине.

429 

430Следующий пример показывает каждую форму шаблона против проекта с каталогом `src/` верхнего уровня и вложенной копией под `vendor/`:

431 

432```text theme={null}

433<current-directory>/

434├── src/

435│ └── app.ts

436└── vendor/

437 └── pkg/

438 └── src/

439 └── lib.js

440```

441 

442| Правило | Совпадает `src/app.ts` | Совпадает `vendor/pkg/src/lib.js` |

443| :-------------------------------------- | :--------------------- | :-------------------------------- |

444| `Edit(src/**)` как правило allow | Да | Нет |

445| `Edit(src/**)` как правило deny или ask | Да | Да |

446| `Edit(/src/**)` в любом типе правила | Да | Нет |

447| `Edit(**/src/**)` в любом типе правила | Да | Да |

321 448 

322<Note>449<Note>

323 В шаблонах gitignore `*` совпадает в одном сегменте пути и может появляться в любой позиции в шаблоне, в то время как `**` совпадает по каталогам. Чтобы разрешить весь доступ к файлам, используйте только имя инструмента без скобок: `Read`, `Edit` или `Write`.450 В шаблонах gitignore `*` совпадает в одном сегменте пути и может появляться в любой позиции в шаблоне, в то время как `**` совпадает по каталогам.

324</Note>451</Note>

325 452 

326Когда вы одобряете путь к файлу с "Да, не спрашивать снова", Claude Code экранирует символы шаблона gitignore в этом пути, такие как `[`, `]` и `*`, поэтому сгенерированное правило совпадает только с буквальным путем, который вы одобрили. Правила, которые вы пишете сами, не экранируются. До версии 2.1.202 Claude Code сохранял путь без экранирования, поэтому сгенерированное правило для каталога с именем `[2024-06] Reports` могло не совпадать с его собственным путем или совпадать с непредусмотренными соседними каталогами.453Когда вы одобряете путь к файлу с "Да, не спрашивать снова", Claude Code экранирует символы шаблона gitignore в этом пути, такие как `[`, `]` и `*`, поэтому сгенерированное правило совпадает только с буквальным путем, который вы одобрили. Правила, которые вы пишете сами, не экранируются. До версии 2.1.202 Claude Code сохранял путь без экранирования, поэтому сгенерированное правило для каталога с именем `[2024-06] Reports` могло не совпадать с его собственным путем или совпадать с непредусмотренными соседними каталогами.

327 454 

455Вам не нужно экранировать скобки в пути, поэтому `Edit(./Finance (2024)/**)` совпадает с папкой `Finance (2024)` как написано.

456 

457Правило deny или ask, чей путь не пригоден как шаблон gitignore, по-прежнему охраняет этот точный путь. Правило allow с непригодным шаблоном ничего не одобряет.

458 

459Шаблон deny или ask, который начинается с `!`, является отрицанием gitignore. Он вырезает пути, которые он совпадает, из правил `path` или `./path`, перечисленных перед ним. В одном списке `deny` файла параметров, `Read(*.env)` с последующим `Read(!sample.env)` блокирует каждый файл, имя которого заканчивается на `.env` на любой глубине, за исключением файлов с именем `sample.env`. Правило `!`, перечисленное первым, ничего не вырезает.

460 

461Вырезание достигает только правил из одного источника. `Read(!.env)` в параметрах проекта или в `--disallowedTools` не отменяет `Read(./.env)` deny из управляемых параметров или любого другого файла параметров.

462 

463Два ограничения сужают то, что шаблон `!` может вырезать:

464 

465* Claude Code читает шаблон `!` относительно текущего каталога, даже когда после `!` следует `/`, `~/` или `//`, поэтому шаблон не может достичь правила, якорированного одним из этих префиксов. `Read(!~/notes/public/**)` ничего не вырезает из `Read(~/notes/**)`.

466* Вырезание не может переоткрыть файл внутри каталога, который правило блокирует целиком. С `Read(secrets/**)` и `Read(!secrets/public/**)`, Claude Code по-прежнему блокирует `secrets/public` вместе с остальной частью `secrets`.

467 

328Когда Claude получает доступ к символической ссылке, правила разрешений проверяют два пути: саму символическую ссылку и файл, на который она указывает. Правила allow и deny обрабатывают эту пару по-разному: правила allow возвращаются к запросу вас, в то время как правила deny блокируют полностью.468Когда Claude получает доступ к символической ссылке, правила разрешений проверяют два пути: саму символическую ссылку и файл, на который она указывает. Правила allow и deny обрабатывают эту пару по-разному: правила allow возвращаются к запросу вас, в то время как правила deny блокируют полностью.

329 469 

330* **Правила allow**: применяются только когда совпадают как путь символической ссылки, так и его цель. Символическая ссылка внутри разрешенного каталога, которая указывает вне его, по-прежнему запрашивает вас.470* **Правила allow**: применяются только когда совпадают как путь символической ссылки, так и его цель. Символическая ссылка внутри разрешенного каталога, которая указывает вне его, по-прежнему запрашивает вас.

331* **Правила deny**: применяются когда совпадает либо путь символической ссылки, либо его цель. Символическая ссылка, которая указывает на запрещенный файл, сама запрещена.471* **Правила deny**: применяются когда совпадает либо путь символической ссылки, либо его цель. Символическая ссылка, которая указывает на запрещенный файл, сама запрещена. Например, с `Read(./project/**)` разрешено и `Read(~/.ssh/**)` запрещено, символическая ссылка в `./project/key`, указывающая на `~/.ssh/id_rsa`, блокируется: цель не проходит правило allow и совпадает с правилом deny.

472 

473На macOS и Linux правило deny или ask, написанное через символически связанный каталог с шаблоном `//`, `~/` или `/`, также применяется в реальном местоположении каталога. Например, на macOS, где `/etc` разрешается в `/private/etc`, `Read(//etc/**)` также блокирует `/private/etc/hosts`. До версии 2.1.268 правило deny или ask, написанное через символически связанный каталог, не применялось к пути, заданному его реальным местоположением.

474 

475Когда инструмент открывает одобренный файл, Claude Code [подтверждает, что путь по-прежнему разрешается в местоположение, которое проверка разрешений одобрила](/docs/ru/errors#refusing-after-a-symlink-changed).

332 476 

333Например, с `Read(./project/**)` разрешено и `Read(~/.ssh/**)` запрещено, символическая ссылка в `./project/key`, указывающая на `~/.ssh/id_rsa`, блокируется: цель не проходит правило allow и совпадает с правилом deny.477Grep и Glob ищут каталог, в который разрешается аргумент `path`. Claude Code применяет правила deny `Read` к этому каталогу.

334 478 

335<h3 id="webfetch">479<h3 id="webfetch">

336 WebFetch480 WebFetch


340 484 

341* `WebFetch(domain:example.com)` совпадает с запросами на `example.com`485* `WebFetch(domain:example.com)` совпадает с запросами на `example.com`

342* `WebFetch(domain:*.example.com)` совпадает с любым поддоменом на любой глубине, таким как `api.example.com` или `a.b.example.com`, но не с самим `example.com`486* `WebFetch(domain:*.example.com)` совпадает с любым поддоменом на любой глубине, таким как `api.example.com` или `a.b.example.com`, но не с самим `example.com`

343* `WebFetch(domain:*)` совпадает с каждым доменом и эквивалентен голому правилу `WebFetch`487* `WebFetch(domain:*)` совпадает с каждым доменом. Это не то же самое, что голое правило `WebFetch`; см. [Разрешить или запретить каждую выборку](#allow-or-deny-every-fetch)

344 488 

345В любой позиции, отличной от ведущего `*.` или голого `*`, подстановочный символ совпадает только с текстом между двумя точками. `WebFetch(domain:example.*)` совпадает с `example.org`, где `*` становится `org`, но не с `example.evil.com`, где `*` должен был бы стать `evil.com` и пересечь точку. Это предотвращает совпадение конечного подстановочного символа с доменами, которые может зарегистрировать злоумышленник.489В любой позиции, отличной от ведущего `*.` или голого `*`, подстановочный символ совпадает только с текстом между двумя точками. `WebFetch(domain:example.*)` совпадает с `example.org`, где `*` становится `org`, но не с `example.evil.com`, где `*` должен был бы стать `evil.com` и пересечь точку. Это предотвращает совпадение конечного подстановочного символа с доменами, которые может зарегистрировать злоумышленник.

346 490 

491Подстановочные символы в правилах `WebFetch` требуют Claude Code v2.1.172 или позже для совпадения выборок.

492 

493<h4 id="allow-or-deny-every-fetch">

494 Разрешить или запретить каждую выборку

495</h4>

496 

497Голое правило `WebFetch` - это имя инструмента без части `domain:`, такое как `"deny": ["WebFetch"]`. Оно и `WebFetch(domain:*)` охватывают каждый URL, но Claude Code применяет их по-разному, и только форма `domain:` также добавляет свой домен в [список разрешённых или запрещённых доменов](/docs/ru/sandboxing#network-isolation) sandbox. Этот раздел перечисляет формы подстановочных символов, которые sandbox поддерживает, и версию, которая добавила голый `*`.

498 

499Каждая строка показывает, что правило делает в списке `allow` и в списке `deny`:

500 

501| Правило | В `allow` | В `deny` |

502| :------------------- | :-------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |

503| `WebFetch` | Claude выполняет выборку без запроса вас. Не изменяет, какие хосты могут достичь команды в sandbox. | Claude Code удаляет инструмент `WebFetch`, поэтому Claude не может выполнять выборку вообще. Не изменяет, какие хосты могут достичь команды в sandbox. |

504| `WebFetch(domain:*)` | Claude выполняет выборку без запроса вас, и команды в sandbox могут достичь любого хоста. | Claude Code сохраняет инструмент и отказывает в каждой выборке, и команды в sandbox не могут достичь никакого хоста. |

505 

506Две формы также отличаются при чтении [артефактов](/docs/ru/artifacts), страниц, которые инструмент Artifact публикует на claude.ai. Голое правило deny или ask `WebFetch` не применяется к этим чтениям. Правило `domain:`, охватывающее `claude.ai` или хост содержимого `*.claudeusercontent.com`, такое как `WebFetch(domain:claude.ai)` или `WebFetch(domain:*)`, отказывает в каждом чтении или запрашивает перед ним. Правило [`Artifact`](/docs/ru/artifacts#disable-artifacts) делает то же самое.

507 

508Когда правило блокирует чтение, отказ называет правило. До версии 2.1.268 голое правило deny `WebFetch` блокировало каждое чтение артефакта, и голое правило ask запрашивало перед каждым.

509 

510Чтобы позволить Claude выполнять выборку свободно, сохраняя список разрешений sandbox как есть, используйте голую форму. Этот `settings.json` делает это:

511 

512```json theme={null}

513{

514 "permissions": {

515 "allow": ["WebFetch"]

516 }

517}

518```

519 

520Когда вы просите Claude выполнить выборку страницы, он выполняет выборку без запроса. Когда вы просите его запустить [sandboxed](/docs/ru/sandboxing) `curl` против хоста вне списка разрешений sandbox, Claude Code по-прежнему запрашивает вас для этого хоста, потому что голое правило не добавило хост в список разрешений.

521 

522В [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) Claude вместо этого называет хост в [разрешённых доменах для каждой команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode) сеанса для проверки классификатором.

523 

347<h3 id="mcp">524<h3 id="mcp">

348 MCP525 MCP

349</h3>526</h3>


354* `mcp__puppeteer__*` использует синтаксис подстановочных символов и также совпадает со всеми инструментами с сервера `puppeteer`531* `mcp__puppeteer__*` использует синтаксис подстановочных символов и также совпадает со всеми инструментами с сервера `puppeteer`

355* `mcp__puppeteer__puppeteer_navigate` совпадает с инструментом `puppeteer_navigate`, предоставленным сервером `puppeteer`532* `mcp__puppeteer__puppeteer_navigate` совпадает с инструментом `puppeteer_navigate`, предоставленным сервером `puppeteer`

356 533 

357Если ваша организация установила [инструмент соединителя claude.ai](/docs/ru/mcp#organization-controls-on-connector-tools) на `ask`, правила allow для этого инструмента не вступают в силу: Claude Code запрашивает при каждом вызове, даже в режимах `auto` и `bypassPermissions`. В режиме `dontAsk`, который никогда не запрашивает, Claude Code отказывает в вызове вместо этого. Инструменты соединителя отображаются как `mcp__claude_ai_<server>__<tool>`.534Если ваша организация установила [инструмент соединителя claude.ai](/docs/ru/mcp#organization-controls-on-connector-tools) на `ask` и эта настройка достигает Claude Code в вашем сеансе, правила allow для этого инструмента не вступают в силу: Claude Code запрашивает при каждом вызове, даже в режимах `auto` и `bypassPermissions`. В режиме `dontAsk`, который никогда не запрашивает, Claude Code отказывает в вызове вместо этого. Инструменты из соединителей, которые Claude Code получает сам, отображаются как `mcp__claude_ai_<server>__<tool>`.

535 

536В сеансе [Cowork](https://claude.com/docs/cowork/overview) в приложении Claude Desktop Claude запускает команды оболочки через инструмент `mcp__workspace__bash` Cowork вместо встроенного инструмента `Bash`, и Cowork также предоставляет `mcp__workspace__web_fetch` для выборок в сети. Claude Code также применяет правила deny, которые называют весь инструмент `Bash` или `WebFetch`, к этим инструментам Cowork, поэтому управляемое правило deny `Bash` останавливает Claude от запуска команд оболочки в Cowork. Когда Claude Code блокирует такой вызов, сообщение называет инструмент Cowork: `Permission to use mcp__workspace__bash has been denied.` Правила allow не переносятся: Claude Code никогда не применяет правило allow `Bash` к `mcp__workspace__bash`.

358 537 

359<h3 id="agent-subagents">538<h3 id="agent-subagents">

360 Agent (subagents)539 Agent (subagents)


382 561 

383Правила `Cd` контролируют, в какие каталоги команда [`/cd`](/docs/ru/commands) может переместить сеанс. `Cd` не является инструментом, вызываемым моделью: Claude не может его вызвать, и правила применяются только когда вы сами запускаете `/cd`.562Правила `Cd` контролируют, в какие каталоги команда [`/cd`](/docs/ru/commands) может переместить сеанс. `Cd` не является инструментом, вызываемым моделью: Claude не может его вызвать, и правила применяются только когда вы сами запускаете `/cd`.

384 563 

385Голое правило `Cd` deny отключает `/cd` полностью. Правило `Cd(<path-pattern>)` deny блокирует совпадающие цели. Правила deny проверяют каждое написание цели, включая каждый переход символической ссылки, через который она разрешается, поэтому правило, написанное для одного пути, также блокирует цели, которые разрешаются в него.564Голое правило deny `Cd` отключает `/cd` полностью. Правило deny `Cd(<path-pattern>)` блокирует совпадающие цели. Правила deny проверяют каждое написание цели, включая каждый переход символической ссылки, через который она разрешается, поэтому правило, написанное для одного пути, также блокирует цели, которые разрешаются в него.

386 565 

387Добавление любого правила `Cd` allow переключает `/cd` в режим списка разрешений: разрешенный целевой каталог должен совпадать с одним из ваших правил allow, или `/cd` отказывает. Без настроенных правил `Cd`, `/cd` сохраняет свое поведение по умолчанию и запрашивает вас доверять незнакомому каталогу.566Добавление любого правила allow `Cd` переключает `/cd` в режим списка разрешений: разрешенный целевой каталог должен совпадать с одним из ваших правил allow, или `/cd` отказывает. Без настроенных правил `Cd`, `/cd` сохраняет своё поведение по умолчанию и запрашивает вас доверять незнакомому каталогу.

388 567 

389Шаблоны путей используют якоря `//`, `~/` и `/` из [правил Read и Edit](#read-and-edit), но сопоставление привязано ко всему пути каталога, а не в стиле gitignore. `*` совпадает ровно с одним сегментом пути и `**` совпадает по сегментам. Конечный `/**` также совпадает с его названным корнем.568Шаблоны путей используют якоря `//`, `~/` и `/` из [правил Read и Edit](#read-and-edit), но сопоставление якорировано ко всему пути каталога, а не в стиле gitignore. `*` совпадает ровно с одним сегментом пути и `**` совпадает по сегментам. Конечный `/**` также совпадает с его названным корнем.

390 569 

391| Правило | Совпадает | Не совпадает |570| Правило | Совпадает | Не совпадает |

392| --------------------- | --------------------------------------------- | -------------------------- |571| --------------------- | --------------------------------------------- | -------------------------- |


398 Расширение разрешений с помощью hooks577 Расширение разрешений с помощью hooks

399</h2>578</h2>

400 579 

401[Claude Code hooks](/docs/ru/hooks-guide) предоставляют способ регистрации пользовательских команд оболочки для выполнения оценки разрешений во время выполнения. Когда Claude Code выполняет вызов инструмента, PreToolUse hooks запускаются перед запросом разрешения. Выход hook может отклонить вызов инструмента, принудить запрос или пропустить запрос, чтобы позволить вызову продолжиться.580[Claude Code hooks](/docs/ru/hooks-guide) позволяют регистрировать пользовательские команды оболочки, которые оценивают разрешения во время выполнения. Когда Claude Code выполняет вызов инструмента, PreToolUse hooks запускаются перед запросом разрешения для каждого инструмента, кроме [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior). Выход hook может отклонить вызов инструмента, принудить запрос или пропустить запрос, чтобы позволить вызову продолжиться.

402 581 

403Решения hook не обходят правила разрешений. Claude Code оценивает правила deny и ask независимо от того, что возвращает PreToolUse hook: совпадающее правило deny блокирует вызов, и совпадающее правило ask по-прежнему запрашивает даже когда hook вернул `"allow"` или `"ask"`. Это сохраняет приоритет deny-first, описанный в [Управление разрешениями](#manage-permissions), включая правила deny, установленные в управляемых параметрах.582Решения hook не обходят правила разрешений. Claude Code оценивает правила deny и ask независимо от того, что возвращает PreToolUse hook: совпадающее правило deny блокирует вызов, и совпадающее правило ask по-прежнему запрашивает даже когда hook вернул `"allow"` или `"ask"`. Это сохраняет приоритет deny-first, описанный в [Управление разрешениями](#manage-permissions), включая правила deny, установленные в управляемых параметрах.

404 583 

405Инструменты Connector, [установленные вашей организацией на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools), и инструменты MCP, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), также по-прежнему запрашивают, когда hook возвращает `"allow"`.584Инструменты MCP, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), также по-прежнему запрашивают, когда hook возвращает `"allow"`, как и инструменты соединителя [установленные вашей организацией на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools) в сеансах, где эта настройка достигает Claude Code.

406 585 

407Блокирующий hook также имеет приоритет над правилами allow. Hook, который выходит с кодом 2, останавливает вызов инструмента перед оценкой правил разрешений, поэтому блокировка применяется даже когда правило allow иначе позволило бы вызову продолжиться. Чтобы запустить все Bash команды без запросов, кроме нескольких, которые вы хотите заблокировать, добавьте `"Bash"` в список allow и зарегистрируйте PreToolUse hook, который отклоняет эти конкретные команды. См. [Блокировка редактирования защищённых файлов](/docs/ru/hooks-guide#block-edits-to-protected-files) для скрипта hook, который вы можете адаптировать.586Блокирующий hook также имеет приоритет над правилами allow. Hook, который выходит с кодом 2, останавливает вызов инструмента перед оценкой правил разрешений, поэтому блокировка применяется даже когда правило allow иначе позволило бы вызову продолжиться. Чтобы запустить все Bash команды без запросов, кроме нескольких, которые вы хотите заблокировать, добавьте `"Bash"` в список allow и зарегистрируйте PreToolUse hook, который отклоняет эти конкретные команды. См. [Блокировка редактирования защищённых файлов](/docs/ru/hooks-guide#block-edits-to-protected-files) для скрипта hook, который вы можете адаптировать.

408 587 


410 Рабочие каталоги589 Рабочие каталоги

411</h2>590</h2>

412 591 

413По умолчанию Claude имеет доступ к файлам в каталоге, где он был запущен. Вы можете расширить этот доступ:592По умолчанию Claude имеет доступ к файлам в каталоге, где вы его запустили. Этот каталог является основным рабочим каталогом сеанса до тех пор, пока вы не [переместите сеанс с помощью `/cd`](#move-the-session-to-another-directory). Вы можете расширить этот доступ:

414 593 

415* **При запуске**: используйте аргумент CLI `--add-dir <path>`594* **При запуске**: используйте аргумент CLI `--add-dir <path>`

416* **Во время сеанса**: используйте команду `/add-dir`595* **Во время сеанса**: используйте команду `/add-dir`

417* **Постоянная конфигурация**: добавьте в `additionalDirectories` в [файлы параметров](/docs/ru/settings#settings-files)596* **Постоянная конфигурация**: добавьте в `additionalDirectories` в [файлы параметров](/docs/ru/settings#where-settings-live)

418 597 

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

420 599 

421В фоновых сеансах на macOS хост сеанса запрашивает доступ к защищённым папкам, таким как `~/Desktop`, `~/Documents` и `~/Downloads`, отдельно от вашего терминала, когда Claude нужно читать или писать файлы там; если чтение там завершается с ошибкой `Operation not permitted`, см. [как предоставить доступ к папкам для фоновых сеансов](/docs/ru/agent-view#background-sessions-can't-read-desktop-documents-or-downloads-on-macos).600Вы не можете добавить большинство [сетевых путей](/docs/ru/errors#working-directory-is-a-network-path), таких как общая папка UNC `\\server\share`, в качестве рабочих каталогов, потому что поиск может связаться с хостом, который она называет. На Windows вместо этого сопоставьте общую папку с буквой диска и передайте диск с помощью `--add-dir` при запуске.

601 

602Установите [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories), чтобы инструменты работы с файлами отказывали в путях, которые она ограничивает, в каждом режиме разрешений. В автоматическом режиме Claude Code предлагает включить это в первый раз, когда Claude [читает вне рабочих каталогов](/docs/ru/permission-modes#first-read-outside-the-working-directories).

603 

604В фоновых сеансах на macOS хост сеанса запрашивает доступ к защищённым папкам, таким как `~/Desktop`, `~/Documents` и `~/Downloads`, отдельно от вашего терминала, когда Claude нужно читать или писать файлы там; если чтение там завершается с ошибкой `Operation not permitted`, см. [как предоставить доступ к папкам для фоновых сеансов](/docs/ru/agent-view#background-sessions-can%E2%80%99t-read-desktop-documents-or-downloads-on-macos).

422 605 

423Чтобы изменить основной рабочий каталог сеанса вместо добавления другого, используйте [`/cd`](/docs/ru/commands). Команда `/cd` требует Claude Code версии 2.1.169 или позже. В отличие от `/add-dir`, она перемещает сеанс: загружается `CLAUDE.md` нового каталога и `--resume` находит сеанс оттуда.606<h3 id="move-the-session-to-another-directory">

607 Переместить сеанс в другой каталог

608</h3>

609 

610Чтобы переместить сеанс в другой основной рабочий каталог, вместо [добавления каталога](#working-directories) рядом с текущим, запустите `/cd <path>`. Claude Code сохраняет беседу, загружает `CLAUDE.md` нового каталога и предлагает вам [доверить рабочему пространству](#project-allow-rules-and-workspace-trust), если вы в нём раньше не работали. После этого Claude Code [находит перемещённый сеанс](/docs/ru/sessions#resume-a-session), когда вы запускаете `--resume` из нового каталога.

611 

612Как только вы переместитесь, Claude Code применяет конфигурацию проекта нового каталога:

613 

614* Его параметры проекта, включая их правила разрешений и [hooks](/docs/ru/hooks)

615* Его [серверы `.mcp.json`](/docs/ru/mcp#project-scope), подлежащие тому же [одобрению сервера](/docs/ru/mcp#project-server-approvals-and-workspace-trust), что и при запуске, и [локальные](/docs/ru/mcp#local-scope) MCP серверы, которые вы зарегистрировали в нём

616* [Плагины](/docs/ru/plugins), которые его параметры включают, его [skills](/docs/ru/skills#discovery-from-parent-and-nested-directories) и его [subagents](/docs/ru/sub-agents)

617* Его значения [`env`](/docs/ru/settings-reference#env), применённые поверх переменных окружения из параметров предыдущего каталога, которые остаются в силе

618 

619Claude Code также отключает проект предыдущего каталога и [локальные](/docs/ru/mcp#local-scope) MCP серверы, а также серверы [плагинов](/docs/ru/mcp#plugin-provided-mcp-servers), которые больше не включены после перемещения. Он берёт [дополнительные каталоги](#working-directories) из параметров нового каталога вместо параметров предыдущего и сохраняет каталоги, которые вы добавили с помощью `--add-dir` или `/add-dir`. Hooks, которые активирует перемещение, по-прежнему получают [`${CLAUDE_PROJECT_DIR}`](/docs/ru/hooks#reference-scripts-by-path), установленный в корень проекта, где сеанс начался.

620 

621Когда новый каталог ещё не доверен, Claude Code перечисляет в подсказке доверия правила разрешения, дополнительные каталоги, hooks и вспомогательные команды, которые активировали бы параметры каталога, чтобы вы могли их просмотреть перед принятием. Если вы отклоните, сеанс останется там, где он был. До версии 2.1.246 `/cd` не применял параметры нового каталога, hooks, MCP серверы или skills до тех пор, пока вы не возобновили сеанс, и его подсказка доверия не перечисляла, что активировали бы параметры каталога.

622 

623Ограничьте или отключите цели `/cd` с помощью правил разрешений [`Cd`](#cd).

424 624 

425<h3 id="additional-directories-grant-file-access-not-configuration">625<h3 id="additional-directories-grant-file-access-not-configuration">

426 Дополнительные каталоги предоставляют доступ к файлам, а не конфигурацию626 Дополнительные каталоги предоставляют доступ к файлам, а не конфигурацию


428 628 

429Добавление каталога расширяет, где Claude может читать и редактировать файлы. Это не делает этот каталог полным корнем конфигурации: большинство конфигурации `.claude/` не обнаруживается из дополнительных каталогов, хотя несколько типов загружаются как исключения.629Добавление каталога расширяет, где Claude может читать и редактировать файлы. Это не делает этот каталог полным корнем конфигурации: большинство конфигурации `.claude/` не обнаруживается из дополнительных каталогов, хотя несколько типов загружаются как исключения.

430 630 

431Эти исключения применяются только к каталогам, добавленным с флагом `--add-dir` или командой `/add-dir`. Каталоги, указанные в `permissions.additionalDirectories` в файле параметров, предоставляют доступ только к файлам и не загружают никакую конфигурацию ниже.631Эти исключения применяются только к каталогам, добавленным с флагом `--add-dir` или командой `/add-dir`, включая каталоги, которые Agent SDK добавляет через флаг. Каталоги, указанные в `permissions.additionalDirectories` в файле параметров, предоставляют доступ только к файлам и не загружают никакую конфигурацию ниже.

632 

633Agent SDK [`additionalDirectories`](/docs/ru/agent-sdk/typescript#options) опция в TypeScript и [`add_dirs`](/docs/ru/agent-sdk/python#claudeagentoptions) опция в Python получают исключения тоже, хотя опция TypeScript делит своё имя с ключом параметров. SDK передаёт каждую запись в Claude Code как `--add-dir`, поэтому эти каталоги ведут себя как каталоги, добавленные флагом. Skills, команды и subagents из любого каталога, добавленного флагом, загружаются через источник параметра `project` [setting source](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources), поэтому они не загружаются, когда вы исключаете этот источник с помощью [`--setting-sources`](/docs/ru/cli-reference) в CLI или `settingSources` в SDK, и [bare mode](/docs/ru/headless#start-faster-with-bare-mode) пропускает команды и subagents среди них.

432 634 

433Следующие типы конфигурации загружаются из каталогов `--add-dir`:635Следующие типы конфигурации загружаются из каталогов `--add-dir`:

434 636 

435| Конфигурация | Загружается из `--add-dir` |637| Конфигурация | Загружается из `--add-dir` |

436| :--------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |638| :--------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

437| [Skills](/docs/ru/skills) в `.claude/skills/` | Да, с live reload |639| [Skills](/docs/ru/skills) в `.claude/skills/` | Да, с live reload |

438| [Subagents](/docs/ru/sub-agents) в `.claude/agents/` | Да |640| [Файлы команд](/docs/ru/skills#where-skills-live) в `.claude/commands/` | Да, без live reload. Когда добавленный каталог и ваш проект оба определяют команду с одинаковым именем, Claude Code запускает команду вашего проекта |

439| [Settings](/docs/ru/settings) в `.claude/settings.json` и `.claude/settings.local.json` | Только ключи `enabledPlugins` и `extraKnownMarketplaces` |641| [Subagents](/docs/ru/sub-agents) в `.claude/agents/` | Да, без live reload |

642| [Settings](/docs/ru/settings) в `.claude/settings.json` и `.claude/settings.local.json` | Только ключи `enabledPlugins` и [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) |

440| [CLAUDE.md](/docs/ru/memory) файлы, `.claude/rules/` и `CLAUDE.local.md` | Только когда установлено `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1`. `CLAUDE.local.md` дополнительно требует источник параметра `local`, который включен по умолчанию |643| [CLAUDE.md](/docs/ru/memory) файлы, `.claude/rules/` и `CLAUDE.local.md` | Только когда установлено `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1`. `CLAUDE.local.md` дополнительно требует источник параметра `local`, который включен по умолчанию |

441 644 

442Команды и стили вывода обнаруживаются из текущего рабочего каталога и его родителей, вашего пользовательского каталога в `~/.claude/` и управляемых параметров. Hooks и другие ключи `settings.json` загружаются из папки `.claude/` текущего рабочего каталога без резервного варианта для родительского каталога, наряду с вашим пользовательским файлом `~/.claude/settings.json` и управляемыми параметрами. Чтобы поделиться этой конфигурацией между проектами, используйте один из этих подходов:645Чтобы загрузить skills, команды и subagents из подкаталога вашего [основного рабочего каталога](#working-directories) в середине сеанса, запустите `/add-dir` с путём этого подкаталога. Claude Code загружает их на оставшуюся часть сеанса без запроса или добавления рабочего каталога, потому что подкаталог уже читаем. Это требует Claude Code версии 2.1.257 или позже.

646 

647Claude Code обнаруживает стили вывода из текущего рабочего каталога и его родителей, вашего пользовательского каталога в `~/.claude/` и управляемых параметров. Hooks и другие ключи `.claude/settings.json` загружаются из папки `.claude/` текущего рабочего каталога без резервного варианта для родительского каталога, наряду с вашим пользовательским файлом `~/.claude/settings.json` и управляемыми параметрами. `.claude/settings.local.json` загружается из корня репозитория git вместо этого, даже когда вы запускаете Claude Code в подкаталоге, кроме случаев, когда Claude Code [не использует корень репозитория](/docs/ru/settings#where-claude-code-looks-for-each-file), например на Windows; до версии 2.1.211 он тоже загружался только из текущего рабочего каталога. Сеансы [Agent SDK](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) загружают его из рабочего каталога во всех версиях.

648 

649Чтобы поделиться этой конфигурацией между проектами, используйте один из этих подходов:

443 650 

444* **Конфигурация на уровне пользователя**: поместите файлы в `~/.claude/agents/`, `~/.claude/output-styles/` или `~/.claude/settings.json`, чтобы сделать их доступными в каждом проекте651* **Конфигурация на уровне пользователя**: поместите файлы в `~/.claude/agents/`, `~/.claude/output-styles/` или `~/.claude/settings.json`, чтобы сделать их доступными в каждом проекте

445* **Плагины**: упакуйте и распространяйте конфигурацию как [плагин](/docs/ru/plugins), который команды могут установить652* **Плагины**: упакуйте и распространяйте конфигурацию как [плагин](/docs/ru/plugins), который команды могут установить

446* **Запуск из каталога конфигурации**: запустите Claude Code из каталога, содержащего конфигурацию `.claude/`, которую вы хотите использовать653* **Запуск из каталога конфигурации**: запустите Claude Code из каталога, содержащего конфигурацию `.claude/`, которую вы хотите использовать

447 654 

448<h2 id="how-permissions-interact-with-sandboxing">655<h2 id="how-permissions-interact-with-sandboxing">

449 Как разрешения взаимодействуют с sandboxing656 Как разрешения взаимодействуют с песочницей

450</h2>657</h2>

451 658 

452Разрешения и [sandboxing](/docs/ru/sandboxing) являются дополняющими уровнями безопасности:659Разрешения и [песочница](/docs/ru/sandboxing) — это дополняющие друг друга уровни безопасности:

660 

661* **Разрешения** контролируют, какие инструменты может использовать Claude Code и к каким файлам или доменам он может получить доступ. Они применяются к Bash, Read, Edit, WebFetch, MCP и всем остальным инструментам, за исключением того, что правило отказа или запроса не может заблокировать [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), пока остаётся любой другой инструмент.

662* **Песочница** обеспечивает принудительное применение на уровне ОС, которое ограничивает доступ инструмента Bash к файловой системе и сети. Она применяется только к командам Bash, PowerShell и [Monitor](/docs/ru/tools-reference#monitor-tool) и их дочерним процессам.

453 663 

454* **Разрешения** контролируют, какие инструменты может использовать Claude Code и какие файлы или домены он может использовать. Они применяются ко всем инструментам, включая Bash, Read, Edit, WebFetch и MCP.664Используйте оба уровня для защиты в глубину, поскольку ограничения песочницы остаются в силе даже если инъекция в подсказку обойдёт принятие решений Claude. Пути и домены из параметров песочницы и правил разрешений [объединяются в финальную конфигурацию песочницы](/docs/ru/sandboxing#permission-rules).

455* **Sandboxing** обеспечивает принудительное применение на уровне ОС, которое ограничивает доступ инструмента Bash к файловой системе и сети. Это применяется только к Bash командам и их дочерним процессам.

456 665 

457Используйте оба для защиты в глубину:666Когда вы включаете песочницу и оставляете `autoAllowBashIfSandboxed` со значением по умолчанию `true`, команды Bash в песочнице выполняются без запроса даже если ваши разрешения включают простое правило запроса `Bash`, или [эквивалентную форму `Bash(*)`](#match-all-uses-of-a-tool): граница песочницы заменяет этот запрос для всего инструмента.

458 667 

459* Правила deny разрешений блокируют Claude от попытки доступа к ограниченным ресурсам668В [режиме плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) Claude Code пропускает эту замену. Без правила запроса [встроенные команды только для чтения](#read-only-commands) по-прежнему выполняются без запроса, и любая другая команда оболочки проходит через обычный поток разрешений пока вы всё ещё планируете; см. [режим плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) для того, как Claude Code управляет командами там. С простым правилом запроса `Bash`, каждая команда Bash запрашивается, включая команды только для чтения в песочнице, так же как вне песочницы. До версии v2.1.212 замена применялась также в режиме плана.

460* Ограничения sandbox предотвращают Bash команды от доступа к ресурсам вне определенных границ, даже если инъекция подсказки обходит принятие решений Claude

461* Ограничения файловой системы в sandbox объединяют параметры [`sandbox.filesystem`](/docs/ru/sandboxing) с правилами deny для Read и Edit; оба объединяются в финальную границу sandbox

462* Ограничения сети объединяют правила разрешений WebFetch со списками `allowedDomains` и `deniedDomains` sandbox

463 669 

464Когда sandboxing включен с `autoAllowBashIfSandboxed: true`, что является значением по умолчанию, sandboxed Bash команды запускаются без запроса даже если ваши разрешения включают простое правило ask `Bash`, или эквивалентную форму `Bash(*)` (#match-all-uses-of-a-tool): граница sandbox заменяет этот запрос для всего инструмента. Эти проверки по-прежнему применяются:670Эти проверки по-прежнему применяются:

465 671 

466* Правила ask с областью действия контента, такие как `Bash(git push *)`, по-прежнему вызывают запрос672* Правила запроса с областью действия контента, такие как `Bash(git push *)`, по-прежнему требуют запроса

467* Явные правила deny по-прежнему применяются673* Явные правила отказа по-прежнему применяются

468* Команды `rm` или `rmdir`, которые нацелены на `/`, ваш домашний каталог или другие критические пути системы, по-прежнему вызывают запрос674* Команды `rm` или `rmdir`, которые нацелены на [критический путь](/docs/ru/permission-modes#critical-paths), по-прежнему проходят через обычный поток разрешений

469 675 

470Команды, которые не будут запущены в sandboxed режиме, такие как исключенные команды, соблюдают простое правило ask `Bash` как обычно. См. [sandbox modes](/docs/ru/sandboxing#sandbox-modes) для изменения этого поведения.676Команды, которые не будут выполняться в песочнице, такие как исключённые команды, соблюдают простое правило запроса `Bash` как обычно. См. [режимы песочницы](/docs/ru/sandboxing#sandbox-modes) для изменения этого поведения.

677 

678<span id="managed-only-settings" />

471 679 

472<h2 id="managed-settings">680<h2 id="managed-settings">

473 Управляемые параметры681 Управляемые параметры

474</h2>682</h2>

475 683 

476Для организаций, которым требуется централизованный контроль над конфигурацией Claude Code, администраторы могут развернуть управляемые параметры, которые не могут быть переопределены параметрами пользователя или проекта. Эти параметры политики следуют тому же формату, что и обычные файлы параметров, и могут быть доставлены через политики MDM/уровня ОС, управляемые файлы параметров, [параметры, управляемые сервером](/docs/ru/server-managed-settings), или самостоятельно размещаемый [Claude apps gateway](/docs/ru/claude-apps-gateway). См. [файлы параметров](/docs/ru/settings#settings-files) для механизмов доставки и расположения файлов.684Для организаций, которым требуется централизованный контроль, администраторы развертывают управляемые параметры, которые не могут быть переопределены параметрами пользователя и проекта, за исключением нескольких [ключей, чувствительных к безопасности](/docs/ru/settings#exceptions-to-managed-settings-precedence). [Развертывание управляемых параметров](/docs/ru/managed-settings) охватывает механизмы доставки, приоритет в управляемом уровне и [ключи, которые могут устанавливать только управляемые параметры](/docs/ru/managed-settings#managed-only-settings).

477 

478<h3 id="managed-only-settings">

479 Параметры только для управления

480</h3>

481 685 

482Следующие параметры эффективны только в управляемых параметрах. Размещение их в файлах параметров пользователя или проекта не имеет эффекта.686Один из этих ключей, [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly), делает управляемые параметры единственным источником параметров для правил разрешений. Его запись содержит список каждого источника, который Claude Code затем игнорирует.

483 

484| Параметр | Описание |

485| :--------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

486| `allowAllClaudeAiMcps` | Когда `true`, соединители claude.ai загружаются вместе с развернутым `managed-mcp.json` вместо того, чтобы быть подавленными его исключительным контролем. См. [Управляемая конфигурация MCP](/docs/ru/managed-mcp) |

487| `allowedChannelPlugins` | Список разрешений плагинов канала, которые могут отправлять сообщения. Заменяет список разрешений Anthropic по умолчанию при установке. Требует `channelsEnabled: true`. См. [Ограничение того, какие плагины канала могут работать](/docs/ru/channels#restrict-which-channel-plugins-can-run) |

488| `allowManagedHooksOnly` | Когда `true`, только управляемые hooks, SDK hooks и hooks из плагинов, принудительно включенных в управляемых параметрах `enabledPlugins`, загружаются. Hooks пользователя, проекта и всех остальных плагинов блокируются |

489| `allowManagedMcpServersOnly` | Когда `true`, только `allowedMcpServers` из управляемых параметров учитываются. `deniedMcpServers` все еще объединяется из всех источников. См. [Управляемая конфигурация MCP](/docs/ru/managed-mcp) |

490| `allowManagedPermissionRulesOnly` | Когда `true`, предотвращает определение правил разрешений `allow`, `ask` или `deny` в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. Не влияет на список разрешений сервера MCP; для этого установите `allowManagedMcpServersOnly` |

491| `blockedMarketplaces` | Список блокировки источников marketplace. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [управляемые ограничения marketplace](/docs/ru/plugin-marketplaces#managed-marketplace-restrictions) |

492| `channelsEnabled` | Разрешить [channels](/docs/ru/channels) для организации. См. [элементы управления предприятием](/docs/ru/channels#enterprise-controls) для значения по умолчанию на каждом плане |

493| `disableSideloadFlags` | Отклонить флаги CLI `--plugin-dir`, `--plugin-url`, `--agents` и `--mcp-config` при запуске. Без этого пользователи могут обойти `strictKnownMarketplaces` для одного запуска, передав эти флаги. См. [`disableSideloadFlags`](/docs/ru/settings#available-settings). Требуется Claude Code v2.1.193 или позже |

494| `forceRemoteSettingsRefresh` | Когда `true`, блокирует запуск CLI до тех пор, пока удаленные управляемые параметры не будут свежо получены, и выходит, если получение не удается. См. [принудительное закрытие при запуске](/docs/ru/server-managed-settings#enforce-fail-closed-startup) |

495| `pluginTrustMessage` | Пользовательское сообщение, добавленное к предупреждению о доверии плагина, показываемому перед установкой |

496| `sandbox.filesystem.allowManagedReadPathsOnly` | Когда `true`, только пути `filesystem.allowRead` из управляемых параметров учитываются. `denyRead` все еще объединяется из всех источников |

497| `sandbox.network.allowManagedDomainsOnly` | Когда `true`, только `allowedDomains` и правила `WebFetch(domain:...)` allow из управляемых параметров учитываются. Недопустимые домены блокируются автоматически без запроса пользователю. Запрещенные домены все еще объединяются из всех источников |

498| `strictKnownMarketplaces` | Контролирует, какие источники marketplace плагинов пользователи могут добавлять и устанавливать плагины из. См. [управляемые ограничения marketplace](/docs/ru/plugin-marketplaces#managed-marketplace-restrictions) |

499| `strictPluginOnlyCustomization` | Блокирует skills, agents, hooks и MCP servers из источников пользователя и проекта, поэтому они могут поступать только из плагинов или управляемых параметров. `true` блокирует все четыре поверхности; массив, такой как `["skills", "hooks"]`, блокирует только названные. См. [`strictPluginOnlyCustomization`](/docs/ru/settings#strictpluginonlycustomization) |

500| `wslInheritsWindowsSettings` | Когда `true` в ключе реестра Windows HKLM или `C:\Program Files\ClaudeCode\managed-settings.json`, WSL читает управляемые параметры из цепочки политики Windows в дополнение к `/etc/claude-code`. См. [Файлы параметров](/docs/ru/settings#settings-files) |

501 687 

502`disableBypassPermissionsMode` обычно размещается в управляемых параметрах для обеспечения организационной политики, но работает из любой области. Пользователь может установить его в своих собственных параметрах, чтобы заблокировать себя из режима bypass.688`disableBypassPermissionsMode` обычно размещается в управляемых параметрах для обеспечения организационной политики, но работает из любой области. Пользователь может установить его в своих собственных параметрах, чтобы заблокировать себя из режима bypass.

503 689 

504<Note>

505 На планах Team и Enterprise владелец включает или отключает [Remote Control](/docs/ru/remote-control) и [веб-сеансы](/docs/ru/claude-code-on-the-web) организации в целом в [Claude Code admin settings](https://claude.ai/admin-settings/claude-code). Remote Control может дополнительно быть отключен для каждого устройства с помощью параметра [`disableRemoteControl`](/docs/ru/settings#available-settings). Веб-сеансы не имеют ключа управляемых параметров для каждого устройства.

506</Note>

507 

508<h2 id="settings-precedence">690<h2 id="settings-precedence">

509 Приоритет параметров691 Приоритет параметров

510</h2>692</h2>

511 693 

512Правила разрешений следуют тому же [приоритету параметров](/docs/ru/settings#settings-precedence), что и все остальные параметры Claude Code:694Правила разрешений следуют тому же [приоритету параметров](/docs/ru/settings#settings-precedence), что и все остальные параметры Claude Code, с управляемыми параметрами на самом высоком уровне: никакой другой уровень, включая аргументы командной строки, не может переопределить управляемое правило разрешения.

513 

5141. **Управляемые параметры**: не могут быть переопределены никаким другим уровнем, включая аргументы командной строки

5152. **Аргументы командной строки**: временные переопределения сеанса

5163. **Локальные параметры проекта** (`.claude/settings.local.json`)

5174. **Общие параметры проекта** (`.claude/settings.json`)

5185. **Параметры пользователя** (`~/.claude/settings.json`)

519 695 

520Если инструмент запрещен на любом уровне, никакой другой уровень не может его разрешить. Например, управляемый параметр deny не может быть переопределен `--allowedTools`, и `--disallowedTools` может добавить ограничения сверх того, что определяют управляемые параметры.696Если инструмент запрещен на любом уровне, никакой другой уровень не может его разрешить. Например, управляемый параметр deny не может быть переопределен `--allowedTools`, и `--disallowedTools` может добавить ограничения сверх того, что определяют управляемые параметры.

521 697 

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

523 699 

524Хосты встраивания могут предоставлять дополнительную управляемую политику через опцию SDK `managedSettings` когда [`parentSettingsBehavior`](/docs/ru/settings#settings-precedence) установлен на `"merge"`; значения встраивающей стороны могут ужесточить политику, но не ослабить её.700Хосты встраивания могут предоставлять дополнительную управляемую политику через опцию SDK `managedSettings`, включая правила разрешения разрешений, если администратор не устанавливает блокировки `allowManaged*Only`; раздел [Deliver policy to Claude Desktop sessions](/docs/ru/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions) описывает, когда политика встраивающей стороны применяется вообще.

525 701 

526<h2 id="project-allow-rules-and-workspace-trust">702<h2 id="project-allow-rules-and-workspace-trust">

527 Правила разрешений проекта и доверие рабочей области703 Правила разрешений проекта и доверие рабочей области

528</h2>704</h2>

529 705 

530Правила `permissions.allow` и записи `permissions.additionalDirectories` в файле `.claude/settings.json` проекта предоставляют возможности, поэтому Claude Code применяет их только после того, как вы примете [диалог доверия рабочей области](/docs/ru/security#additional-safeguards) для этой рабочей области. До этого Claude Code читает правила, но не применяет их. Диалог доверия перечисляет правила разрешений и дополнительные каталоги, которые папка предоставит, чтобы вы могли их проверить перед принятием. Правила `deny` и `ask` не затрагиваются, так как они только ограничивают.706Правила `permissions.allow` и записи `permissions.additionalDirectories` в файле `.claude/settings.json` проекта предоставляют возможности, поэтому Claude Code применяет их только после того, как вы примете [диалог доверия рабочей области](/docs/ru/security#additional-safeguards) для этой папки. Диалог перечисляет правила и каталоги, которые папка предоставит, чтобы вы могли их проверить перед принятием. Правила `deny` и `ask` не затрагиваются, так как они только ограничивают.

707 

708Claude Code сохраняет доверие, которое вы принимаете, в зависимости от того, где вы его запустили:

709 

710* В репозитории Claude Code привязывает доверие к корню репозитория git, поэтому доверие охватывает весь репозиторий, кроме любого репозитория git, вложенного в него, например подмодуля. В [worktree](/docs/ru/worktrees) он использует корень основного checkout, как он это делает для [сохранённых правил](#permission-system).

711* Вне репозитория Claude Code привязывает доверие к каталогу, из которого вы его запустили, и доверие охватывает любой подкаталог этого каталога, кроме репозитория git, вложенного в него, например клона. Каждый охватываемый подкаталог затем считается папкой, родителю которой вы доверяли.

712* Когда вы начинаете работу в домашнем каталоге, Claude Code сохраняет доверие только для текущего сеанса и не записывает его на диск; см. примечание [дополнительные меры безопасности](/docs/ru/security#additional-safeguards).

713 

714Claude Code показывает диалог доверия только в интерактивных сеансах. Запуск `claude -p` или сеанс SDK никогда не показывает его, и доверие к родительской папке не учитывается для этих правил, поэтому [Что выполняется до того, как вы доверяете папке](#what-runs-before-you-trust-a-folder) указывает, какое содержимое репозитория Claude Code всё ещё использует в каждой из этих двух ситуаций.

531 715 

532Claude Code сохраняет доверие для каждой рабочей области, используя в качестве ключа корень репозитория git или, вне репозитория, каталог, из которого вы запустили Claude Code. Когда вы начинаете работу в домашнем каталоге, доверие сохраняется только для текущего сеанса и не записывается на диск; см. примечание [дополнительные меры безопасности](/docs/ru/security#additional-safeguards). Доверие к родительскому каталогу не применяет правила разрешений вложенного проекта.716<h3 id="when-your-local-settings-file-needs-trust">

717 Когда ваш локальный файл параметров требует доверия

718</h3>

719 

720`.claude/settings.local.json` обычно является вашим собственным файлом, поэтому Claude Code применяет его правила разрешений и дополнительные каталоги без этапа доверия. Когда файл отслеживается в git или `.claude` является символической ссылкой, Claude Code рассматривает его как предоставленный репозиторием и сохраняет его правила до тех пор, пока вы не доверяете папке.

533 721 

534`.claude/settings.local.json` — это ваш собственный файл, поэтому проверка доверия рабочей области обычно к нему не применяется. Когда репозиторий мог предоставить файл, например когда он зафиксирован в git или `.claude` является символической ссылкой, его правила разрешений и дополнительные каталоги проходят проверку доверия как параметры проекта.722Claude Code запускает git, чтобы различить эти два случая, и запускает git только после того, как вы доверяли папке: вы приняли диалог доверия для неё или для родительского каталога, доверие которого распространяется на неё, или вы находитесь в сеансе `-p` или SDK, который считается принятым. До этого момента то, где вы запустили Claude Code, определяет, что происходит с правилами файла:

535 723 

536Claude Code запускает git для проверки того, предоставил ли репозиторий файл, и выполняет эту проверку только в папке, охватываемой принятым диалогом доверия, для этой папки или для одного из её родительских каталогов. В интерактивном сеансе в папке, которой вы ещё не доверяете, правила разрешений и дополнительные каталоги в `.claude/settings.local.json` проходят проверку доверия как параметры проекта до тех пор, пока вы не примете диалог, если только сеанс не выполняется в вашем собственном конфигурационном домашнем каталоге, как описано ниже. Из двух исключений ниже только исключение конфигурационного домашнего каталога применяется до диалога, потому что оно не требует запуска git. Определение того, что каталог находится вне репозитория git, использует ту же проверку git, поэтому исключение для каталога вне репозитория вступает в силу после принятия диалога доверия, охватывающего папку. До версии 2.1.207 неотслеживаемый файл `.claude/settings.local.json` применял свои правила разрешений в этой папке до того, как вы приняли диалог.724* **В вашем конфигурационном домашнем каталоге:** Claude Code применяет `.claude/settings.local.json` этой папки сразу же без запуска git. Ваш конфигурационный домашний каталог — это ваш домашний каталог или каталог, чей подкаталог `.claude` вы установили как [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars#variables). Если этот каталог `CLAUDE_CONFIG_DIR` находится внутри репозитория git и Claude Code [сохраняет ваши локальные параметры в корне репозитория](/docs/ru/settings#where-claude-code-looks-for-each-file), он сохраняет правила, как везде.

725* **Везде в другом месте:** Claude Code сохраняет правила файла, как параметры проекта. После выполнения проверки Claude Code применяет правила неотслеживаемого файла или файла в каталоге вне любого репозитория git, даже если вы не доверяли этой точной папке.

537 726 

538Правила разрешений и дополнительные каталоги в `.claude/settings.local.json` также применяются без доверия рабочей области в двух случаях:727<Note>

728 Исключение конфигурационного домашнего каталога пропускает только этап доверия. `~/.claude/settings.local.json` по-прежнему имеет [локальную область](/docs/ru/settings#compare-the-scope-of-each-settings-file), поэтому Claude Code читает его только в сеансах, которые вы запускаете в самом вашем домашнем каталоге, а не в каждом проекте. Чтобы применить правила разрешений ко всем вашим проектам, добавьте их в ваши пользовательские параметры вместо этого: `~/.claude/settings.json` или `$CLAUDE_CONFIG_DIR/settings.json`, когда установлен `CLAUDE_CONFIG_DIR`.

729</Note>

730 

731В версиях 2.1.196–2.1.199 Claude Code сохранял правила файла в вашем конфигурационном домашнем каталоге и вне репозиториев git, и выводил предупреждение [`this workspace has not been trusted`](/docs/ru/errors#workspace-has-not-been-trusted) там. До версии 2.1.207 Claude Code применял правила неотслеживаемого файла до того, как вы приняли диалог.

732 

733<h3 id="what-runs-before-you-trust-a-folder">

734 Что выполняется до того, как вы доверяете папке

735</h3>

539 736 

540* Каталог, из которого вы запустили Claude Code, находится вне репозитория git.737Каждая строка — это один вид содержимого, который может предоставить репозиторий. Столбцы — это две ситуации, в которых вы не доверяли самой папке: вы доверяли только родительской папке или запустили `claude -p` или SDK там, что никогда не показывает диалог доверия. Столбец родительской папки не применяется внутри [вложенного репозитория](#project-allow-rules-and-workspace-trust): в интерактивном сеансе Claude Code показывает диалог доверия для него, и запуск `claude -p` или SDK там следует столбцу `claude -p`.

541* Сеанс выполняется в вашем собственном конфигурационном домашнем каталоге: в вашем домашнем каталоге или в любом каталоге, чей подкаталог `.claude` вы установили как [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars).

542 738 

543В обоих случаях файл создан вами, а не репозиторием, и зафиксированный в репозитории `.claude/settings.local.json` по-прежнему требует доверия рабочей области. Версии 2.1.196–2.1.199 рассматривали файл как предоставленный репозиторием в этих рабочих областях, игнорировали его правила разрешений и выводили предупреждение [`this workspace has not been trusted`](/docs/ru/errors#workspace-has-not-been-trusted) в stderr. Два исключения выше соответствуют v2.1.195 и более ранним версиям и были восстановлены в v2.1.200.739| Что предоставляет репозиторий | Вы доверяли только родительской папке | `claude -p` или SDK, папка никогда не была доверена |

740| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

741| [Hooks](/docs/ru/hooks) в файлах параметров, блок [`env`](/docs/ru/settings-reference#env) и вспомогательные команды, такие как [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), и [hooks](/docs/ru/hooks#hooks-in-skills-and-agents) проектного skill и [`allowed-tools`](/docs/ru/skills#pre-approve-tools-for-a-skill) | Используется | Используется. Доверие рабочей области никогда не блокирует `allowed-tools` skill в любом сеансе |

742| Правила `permissions.allow` и `additionalDirectories` в `.claude/settings.json` | Не используется до тех пор, пока вы не примете диалог доверия, который появляется снова, перечисляя их | Не используется. Claude Code выводит предупреждение [`this workspace has not been trusted`](/docs/ru/errors#workspace-has-not-been-trusted) в stderr |

743| Hooks frontmatter в проектном [subagent](/docs/ru/sub-agents#hooks-in-subagent-frontmatter), проектном плагине [`@skills-dir`](/docs/ru/plugins-reference#skills-directory-plugins) и записях [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) из репозитория или каталога `--add-dir` | Не используется, и диалог не предлагается | Не используется |

744| Встроенные [`mcpServers`](/docs/ru/sub-agents#scope-mcp-servers-to-a-subagent) в frontmatter subagent из репозитория или каталога `--add-dir`. До версии 2.1.238 Claude Code загружал эти серверы в обоих ситуациях | Не используется, и диалог не предлагается | Не используется |

745| Серверы в `.mcp.json`, включая те, которые репозиторий [одобряет в своих собственных параметрах](/docs/ru/mcp#project-server-approvals-and-workspace-trust) | Claude Code спрашивает вас перед подключением. Собственные одобрения репозитория не учитываются | Подключены без запроса, одобрены или нет. SDK загружает их только когда `settingSources` включает параметры проекта. `claude mcp list` в той же папке по-прежнему сообщает о таком сервере как ожидающем |

746| [`headersHelper`](/docs/ru/mcp#trust-a-folder-before-its-headershelper-runs) на сервере в `.mcp.json`. До версии 2.1.238 Claude Code запускал помощника в обоих ситуациях | Не запускается до тех пор, пока вы не примете диалог доверия, который появляется снова, указывая, где объявлен помощник. Claude Code подключает сервер только с его статическими `headers` до этого момента | Не запускается. Claude Code подключает сервер с его статическими `headers` и выводит строку [`headersHelper not run`](/docs/ru/errors#headershelper-not-run) на сервер в stderr |

544 747 

545Также начиная с v2.1.200, рабочая область, правила разрешений или дополнительные каталоги которой по-прежнему не применяются, но которая никогда не показывала диалог доверия, потому что родительский каталог уже был доверен, показывает диалог при следующем интерактивном запуске Claude Code там. Диалог предлагает два варианта:748Для строк, которым требуется доверие этой точной папки, доверьте ей вручную: установите `projects["<path>"].hasTrustDialogAccepted` на `true` в `~/.claude.json`, где `<path>` — это корень репозитория или сама папка вне репозитория. Claude Code выводит точный ключ в строку журнала отладки для пропущенного hook subagent или встроенного MCP сервера, в предупреждение stderr для пропущенных правил разрешений и в строку `headersHelper not run` для пропущенного помощника.

546 749 

547* **Yes, I trust this folder**: сохраняет доверие для этой рабочей области и применяет правила в том же сеансе.750Перед запуском `claude -p` в репозитории, который вы не написали, решите, что он может запустить на вашей машине:

548* **No, continue without these permissions**: продолжает работу с игнорированием этих правил. Диалог появляется снова в следующем сеансе.

549 751 

550В [неинтерактивном режиме](/docs/ru/headless) с `-p` диалог не появляется и правила остаются игнорируемыми.752* Передайте `--setting-sources user` или установите `settingSources` SDK без параметров проекта, чтобы Claude Code не читал ни файлы параметров проекта, ни его `.mcp.json`

753* Начните с [`--bare`](/docs/ru/headless#start-faster-with-bare-mode), чтобы Claude Code не читал hooks, skills, пользовательские команды, subagents, плагины или серверы `.mcp.json` из проекта. Блок `env` проекта и помощники, такие как `awsAuthRefresh` в его файлах параметров, по-прежнему применяются, и Claude Code читает `apiKeyHelper` только из `--settings`

754* Передайте `--settings '{"disableAllHooks": true}'`, чтобы [отключить hooks](/docs/ru/hooks#disable-or-remove-hooks) для этого запуска. Установка его только в ваших пользовательских параметрах недостаточна, потому что параметры проекта репозитория имеют приоритет над вашими и могут установить его обратно на `false`

755* Добавьте запись [`disabledMcpjsonServers`](/docs/ru/settings-reference#disabledmcpjsonservers), чтобы отклонить сервер `.mcp.json` по имени в каждом типе сеанса

551 756 

552<h2 id="example-configurations">757<h2 id="example-configurations">

553 Примеры конфигураций758 Примеры конфигураций


559 См. также764 См. также

560</h2>765</h2>

561 766 

562* [Settings](/docs/ru/settings): полный справочник конфигурации, включая таблицу параметров разрешений767* [Все параметры](/docs/ru/settings-reference#permission-settings): каждый ключ параметра, включая ключи разрешений

563* [Configure auto mode](/docs/ru/auto-mode-config): скажите классификатору режима auto, какую инфраструктуру ваша организация доверяет768* [Настройка режима auto](/docs/ru/auto-mode-config): укажите классификатору режима auto, какую инфраструктуру ваша организация доверяет

564* [Sandboxing](/docs/ru/sandboxing): изоляция файловой системы и сети на уровне ОС для Bash команд769* [Sandboxing](/docs/ru/sandboxing): изоляция файловой системы и сети на уровне ОС для команд Bash

565* [Authentication](/docs/ru/authentication): настройка доступа пользователей к Claude Code770* [Authentication](/docs/ru/authentication): настройка доступа пользователей к Claude Code

566* [Security](/docs/ru/security): гарантии безопасности и лучшие практики771* [Security](/docs/ru/security): гарантии безопасности и лучшие практики

567* [Hooks](/docs/ru/hooks-guide): автоматизация рабочих процессов и расширение оценки разрешений772* [Hooks](/docs/ru/hooks-guide): автоматизация рабочих процессов и расширение оценки разрешений

platforms.md +3 −2

Details

73* [Desktop](/docs/ru/desktop): визуальный просмотр различий, параллельные сеансы, использование компьютера и Dispatch73* [Desktop](/docs/ru/desktop): визуальный просмотр различий, параллельные сеансы, использование компьютера и Dispatch

74* [VS Code](/docs/ru/vs-code): расширение Claude Code внутри вашего редактора74* [VS Code](/docs/ru/vs-code): расширение Claude Code внутри вашего редактора

75* [JetBrains](/docs/ru/jetbrains): расширение для IntelliJ, PyCharm и других IDE JetBrains75* [JetBrains](/docs/ru/jetbrains): расширение для IntelliJ, PyCharm и других IDE JetBrains

76* [Claude Code в веб](/docs/ru/claude-code-on-the-web): облачные сеансы, которые продолжают работать при отключении76* [Web](/docs/ru/claude-code-on-the-web): облачные сеансы из вашего браузера на claude.ai/code, которые продолжают работать при отключении

77* [Projects](/docs/ru/claude-projects): один разговор, в котором Claude координирует множество облачных сеансов для выполнения работы и отправляет отчёты

77* [Mobile](/docs/ru/mobile): приложение Claude для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) и [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) для запуска и мониторинга задач вдали от вашего компьютера78* [Mobile](/docs/ru/mobile): приложение Claude для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) и [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) для запуска и мониторинга задач вдали от вашего компьютера

78 79 

79<h3 id="integrations">80<h3 id="integrations">


81</h3>82</h3>

82 83 

83* [Chrome](/docs/ru/chrome): автоматизация задач браузера с вашими авторизованными сеансами84* [Chrome](/docs/ru/chrome): автоматизация задач браузера с вашими авторизованными сеансами

84* [Использование компьютера](/docs/ru/computer-use): позвольте Claude открывать приложения и управлять вашим экраном на macOS85* [Computer use](/docs/ru/computer-use): позвольте Claude открывать приложения и управлять вашим экраном на macOS

85* [GitHub Actions](/docs/ru/github-actions): запуск Claude в вашем конвейере CI86* [GitHub Actions](/docs/ru/github-actions): запуск Claude в вашем конвейере CI

86* [GitLab CI/CD](/docs/ru/gitlab-ci-cd): то же самое для GitLab87* [GitLab CI/CD](/docs/ru/gitlab-ci-cd): то же самое для GitLab

87* [Code Review](/docs/ru/code-review): автоматическая проверка при каждом pull request88* [Code Review](/docs/ru/code-review): автоматическая проверка при каждом pull request

Details

41}41}

42```42```

43 43 

44Запись может быть простой строкой с только именем плагина, как `"audit-logger"` в примере выше, которая зависит от любой версии, которую предоставляет marketplace этого плагина. Для большего контроля используйте объект с этими полями:44Запись может быть простой строкой с только именем плагина, как `"audit-logger"` в манифесте `deploy-kit`, которая зависит от любой версии, которую предоставляет marketplace этого плагина. Для большего контроля используйте объект с этими полями:

45 45 

46| Поле | Тип | Описание |46| Поле | Тип | Описание |

47| :------------ | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :------------ | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


75 75 

76Установка `backend-standard` разрешает и устанавливает все четыре зависимости.76Установка `backend-standard` разрешает и устанавливает все четыре зависимости.

77 77 

78Чтобы позже добавить инструмент в стандартный набор, опубликуйте новую версию `backend-standard` с дополнительной зависимостью. Автоматическое обновление отключено по умолчанию для маркетплейсов, не принадлежащих Anthropic, поэтому инженеры получают новую версию одним из двух способов:78Чтобы позже добавить инструмент в стандартный набор, опубликуйте новую версию `backend-standard` с дополнительной зависимостью. Если маркетплейс не [автоматически обновляется](/docs/ru/discover-plugins#configure-auto-updates), инженеры получают новую версию одним из двух способов:

79 79 

80* Включите автоматическое обновление для маркетплейса в `/plugin`. Следующее автоматическое обновление переместит пакет на новую версию и установит все добавленные им зависимости.80* Включите автоматическое обновление для маркетплейса в `/plugin`. Следующее автоматическое обновление переместит пакет на новую версию и установит все добавленные им зависимости.

81* Запустите `claude plugin update backend-standard`, затем `/reload-plugins` для установки вновь добавленных зависимостей.81* Запустите `claude plugin update backend-standard`, затем `/reload-plugins` для установки вновь добавленных зависимостей.

Details

27 Пошаговое руководство: создание локального marketplace27 Пошаговое руководство: создание локального marketplace

28</h2>28</h2>

29 29 

30Этот пример создает marketplace с одним плагином: skill `quality-review` для проверки кода. Вы создадите структуру каталогов, добавите skill, создадите манифест плагина и каталог marketplace, затем установите и протестируете его.30Этот пример создает marketplace с одним плагином: skill `quality-review` для проверки кода. Вы создадите структуру каталогов, добавите skill, создадите манифест плагина и каталог marketplace, а затем установите и протестируете его.

31 31 

32<Steps>32<Steps>

33 <Step title="Создание структуры каталогов">33 <Step title="Создание структуры каталогов">


46 description: Review code for bugs, security, and performance46 description: Review code for bugs, security, and performance

47 ---47 ---

48 48 

49 Проверьте выбранный мной код или недавние изменения на предмет:49 Review the code I've selected or the recent changes for:

50 - Потенциальных ошибок или граничных случаев50 - Potential bugs or edge cases

51 - Проблем безопасности51 - Security concerns

52 - Проблем производительности52 - Performance issues

53 - Улучшений читаемости53 - Readability improvements

54 54 

55 Будьте лаконичны и конкретны.55 Be concise and actionable.

56 ```56 ```

57 </Step>57 </Step>

58 58 


71 ```71 ```

72 72 

73 <Note>73 <Note>

74 Установка `version` означает, что пользователи получают обновления только при изменении этого поля, поэтому увеличивайте его при каждом выпуске. Плагин с источником [`command`](#command-sources) не закреплен этим полем. Если вы опустите `version`, версия берется из следующего источника в [управлении версиями](/docs/ru/plugins-reference#version-management).74 Установка `version` означает, что пользователи получают обновления только при изменении этого поля, поэтому увеличивайте его при каждом выпуске. Плагин с [`command` source](#command-sources) не закреплен этим полем. Также не закреплен плагин, [загруженный на месте](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) из marketplace, добавленного как локальный каталог. Если вы опустите `version`, версия берется из следующего источника в [управлении версиями](/docs/ru/plugins-reference#version-management).

75 </Note>75 </Note>

76 </Step>76 </Step>

77 77 


96 </Step>96 </Step>

97 97 

98 <Step title="Добавление и установка">98 <Step title="Добавление и установка">

99 Из каталога, содержащего `my-marketplace`, запустите Claude Code и выполните следующие команды. Команда install открывает представление сведений о плагине, где вы выбираете область установки для подтверждения установки. Проверьте сводку установки: если она сообщает `Run /reload-plugins to activate.`, см. [Применение изменений плагина без перезагрузки](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting).99 Из каталога, содержащего `my-marketplace`, запустите Claude Code и выполните следующие команды. Команда установки открывает представление сведений о плагине, где вы выбираете область установки для подтверждения установки. Проверьте сводку установки: если она сообщает `Run /reload-plugins to activate.`, см. [Применение изменений плагина без перезагрузки](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting).

100 100 

101 ```shell theme={null}101 ```shell theme={null}

102 /plugin marketplace add ./my-marketplace102 /plugin marketplace add ./my-marketplace


105 </Step>105 </Step>

106 106 

107 <Step title="Попробуйте">107 <Step title="Попробуйте">

108 Выберите некоторый код в вашем редакторе и запустите вашу новую skill. Plugin skills имеют пространство имен с именем плагина.108 Выберите некоторый код в редакторе и запустите ваш новый skill. Skills плагинов имеют пространство имен с именем плагина.

109 109 

110 ```shell theme={null}110 ```shell theme={null}

111 /quality-review-plugin:quality-review111 /quality-review-plugin:quality-review


113 </Step>113 </Step>

114</Steps>114</Steps>

115 115 

116Чтобы узнать больше о том, что могут делать плагины, включая hooks, агентов, MCP servers и LSP servers, см. [Плагины](/docs/ru/plugins).116Чтобы узнать больше о том, что могут делать плагины, включая hooks, agents, MCP servers и LSP servers, см. [Plugins](/docs/ru/plugins).

117 117 

118<Note>118<Note>

119 **Как устанавливаются плагины**: когда пользователи устанавливают плагин, Claude Code копирует каталог плагина в место кэша, за исключением источника [`command` в режиме ссылки](#copy-mode-and-link-mode), который используется на месте. Скопированные плагины не могут ссылаться на файлы вне их каталога, используя пути вроде `../shared-utils`, потому что эти файлы не будут скопированы.119 **Как устанавливаются плагины**: когда пользователи устанавливают плагин, Claude Code копирует каталог плагина в место кэша, если только плагин не загружается на месте. [`command` source в режиме link](#copy-mode-and-link-mode) загружается на месте, как и [relative path source](#relative-paths) в marketplace, добавленном из локального каталога. Скопированные плагины не могут ссылаться на файлы вне их каталога, используя пути вроде `../shared-utils`, потому что эти файлы не будут скопированы.

120 120 

121 Если вам нужно совместно использовать файлы между плагинами, используйте символические ссылки. См. [Кэширование плагинов и разрешение файлов](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) для получения подробной информации.121 Если вам нужно совместно использовать файлы между плагинами, используйте symlinks. Подробнее см. [Plugin caching and file resolution](/docs/ru/plugins-reference#plugin-caching-and-file-resolution).

122</Note>122</Note>

123 123 

124<h2 id="create-the-marketplace-file">124<h2 id="create-the-marketplace-file">


167</h3>167</h3>

168 168 

169| Поле | Тип | Описание | Пример |169| Поле | Тип | Описание | Пример |

170| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------- |170| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------- |

171| `name` | string | Идентификатор marketplace в kebab-case, без пробелов, управляющих символов или символов двунаправленного форматирования. Это общедоступное поле: пользователи видят его при установке плагинов (например, `/plugin install my-tool@your-marketplace`). Каждый пользователь может зарегистрировать только один marketplace с одним именем: добавление второго marketplace с тем же именем заменяет первый. Чтобы опубликовать несколько плагинов под одним именем marketplace, перечислите их все в [одном файле `marketplace.json`](#create-the-marketplace-file). | `"acme-tools"` |171| `name` | string | Идентификатор marketplace в kebab-case, без пробелов, управляющих символов или символов двунаправленного форматирования. Это общедоступное поле: пользователи видят его при установке плагинов (например, `/plugin install my-tool@your-marketplace`). Каждый пользователь может зарегистрировать только один marketplace с одним именем: добавление второго marketplace с тем же именем заменяет первый. Чтобы опубликовать несколько плагинов под одним именем marketplace, перечислите их все в [одном файле `marketplace.json`](#create-the-marketplace-file). | `"acme-tools"` |

172| `owner` | object | Информация о сопровождающем marketplace ([см. поля ниже](#owner-fields)) | |172| `owner` | object | Информация о сопровождающем marketplace. См. [Поля владельца](#owner-fields) | |

173| `plugins` | array | Список доступных плагинов | См. ниже |173| `plugins` | array | Список доступных плагинов | См. [Записи плагинов](#plugin-entries) |

174 174 

175<Note>175<Note>

176 **Зарезервированные имена**: следующие имена 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`, `first-party-plugins`, `claude-tag-plugins`, `healthcare`. Имена, которые выдают себя за официальные marketplace, такие как `official-claude-plugins` или `anthropic-plugins-v2`, также заблокированы. Резервирование этих имен предотвращает представление стороннего marketplace как источника, опубликованного Anthropic.176 **Зарезервированные имена**: следующие имена 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`, `first-party-plugins`, `claude-tag-plugins`, `healthcare`. Имена, которые выдают себя за официальные marketplace, такие как `official-claude-plugins` или `anthropic-plugins-v2`, также заблокированы. Резервирование этих имен предотвращает представление стороннего marketplace как источника, опубликованного Anthropic.

177 177 

178 Claude Code повторно проверяет зарезервированные имена каждый раз при загрузке marketplace, а не только при добавлении. Marketplace, зарегистрированный под одним из этих имен до того, как имя было зарезервировано, перестает загружаться и сообщает, что он [зарегистрирован из ненадежного источника](/docs/ru/errors#marketplace-is-registered-from-an-untrusted-source). Удалите этот marketplace и добавьте его снова из официального источника Anthropic. Сторонний marketplace, затронутый вновь зарезервированным именем, загружается снова, как только вы добавите его под другим именем. До версии v2.1.205 `first-party-plugins` и `healthcare` не были зарезервированы, и marketplace, уже зарегистрированный под зарезервированным именем, продолжал загружаться. До версии v2.1.265 `claude-tag-plugins` не был зарезервирован.178 Claude Code повторно проверяет зарезервированные имена каждый раз при загрузке marketplace, а не только при добавлении. Marketplace, зарегистрированный под одним из этих имен до того, как имя было зарезервировано, перестает загружаться и сообщает, что он [зарегистрирован из ненадежного источника](/docs/ru/errors#marketplace-is-registered-from-an-untrusted-source). Удалите этот marketplace и добавьте его снова из официального источника Anthropic. Сторонний marketplace, затронутый вновь зарезервированным именем, загружается снова, как только вы добавите его под другим именем. До версии v2.1.205 `first-party-plugins` и `healthcare` не были зарезервированы, и marketplace, уже зарегистрированный под зарезервированным именем, продолжал загружаться. До версии v2.1.265 `claude-tag-plugins` не был зарезервирован.

179 

180 Вы также не можете назвать marketplace `npm`, `pip`, `uv`, `cargo`, `github` или `gh` в любом регистре. Эта проверка требует Claude Code v2.1.275 или позже.

179</Note>181</Note>

180 182 

181<h3 id="owner-fields">183<h3 id="owner-fields">


207 Записи плагинов209 Записи плагинов

208</h2>210</h2>

209 211 

210Каждая запись плагина в массиве `plugins` описывает плагин и где его найти. Вы можете включить любое поле из [схемы манифеста плагина](/docs/ru/plugins-reference#plugin-manifest-schema), такие как `description`, `version`, `author`, `commands` и `hooks`, плюс эти поля, специфичные для marketplace: `source`, `category`, `tags`, `strict`, `relevance`, `headers` и `headersHelper`.212Каждая запись плагина в массиве `plugins` описывает плагин и место его размещения. Вы можете включить любое поле из [схемы манифеста плагина](/docs/ru/plugins-reference#plugin-manifest-schema), такое как `description`, `version`, `author`, `commands` и `hooks`, плюс эти поля, специфичные для marketplace: `source`, `category`, `tags`, `strict`, `relevance`, `headers` и `headersHelper`.

211 213 

212<h3 id="required-fields-2">214<h3 id="required-fields-2">

213 Обязательные поля215 Обязательные поля

214</h3>216</h3>

215 217 

216| Поле | Тип | Описание |218| Поле | Тип | Описание |

217| :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |219| :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

218| `name` | string | Идентификатор плагина в kebab-case, без пробелов, управляющих символов или символов двунаправленного форматирования. Это общедоступное поле: пользователи видят его при установке (например, `/plugin install my-plugin@marketplace`). |220| `name` | string | Идентификатор плагина в kebab-case без пробелов, управляющих символов или символов двунаправленного форматирования. Это открытое поле: пользователи видят его при установке (например, `/plugin install my-plugin@marketplace`). |

219| `source` | string\|object | Откуда получить плагин (см. [Источники плагинов](#plugin-sources) ниже) |221| `source` | string\|object | Откуда получить плагин (см. [Источники плагинов](#plugin-sources) ниже) |

220 222 

221<h3 id="optional-plugin-fields">223<h3 id="optional-plugin-fields">

222 Дополнительные поля плагина224 Необязательные поля плагина

223</h3>225</h3>

224 226 

225**Поля стандартных метаданных:**227**Стандартные поля метаданных:**

226 228 

227| Поле | Тип | Описание |229| Поле | Тип | Описание |

228| :--------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |230| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

229| `displayName` | string | Удобочитаемое имя, отображаемое в интерфейсе. Когда ни запись, ни `plugin.json` плагина не устанавливают его, пользователи видят `name` плагина. Может содержать пробелы и любой регистр. Не используется для пространства имён или поиска. |231| `displayName` | string | Удобочитаемое имя, отображаемое в интерфейсе. Когда ни запись, ни `plugin.json` плагина не устанавливают его, пользователи видят `name` плагина. Может содержать пробелы и любой регистр. Не используется для пространства имён или поиска. |

230| `description` | string | Краткое описание плагина |232| `description` | string | Краткое описание плагина |

231| `version` | string | Версия плагина. Если установлено (здесь или в `plugin.json`), плагин закреплен на этой строке и пользователи получают обновления только при её изменении. Плагин с источником [`command`](#command-sources) не закреплен ни одним из этих полей. Если не установлено ни в одном месте, версия берётся из следующего источника в [управлении версиями](/docs/ru/plugins-reference#version-management). |233| `version` | string | Версия плагина. Если установлена (здесь или в `plugin.json`), плагин закреплён на эту строку и пользователи получают обновления только при её изменении. Плагин с источником [`command`](#command-sources) не закреплён ни одним из этих полей. Также не закреплён плагин, [загруженный на месте](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) из marketplace, добавленного как локальный каталог. Если версия не установлена ни в одном месте, она берётся из следующего источника в [управлении версиями](/docs/ru/plugins-reference#version-management). |

232| `author` | object | Информация об авторе плагина (`name` обязательно; `email` и `url` опциональны) |234| `author` | object | Информация об авторе плагина (`name` обязательно; `email` и `url` необязательны) |

233| `homepage` | string | URL домашней страницы или документации плагина |235| `homepage` | string | Домашняя страница плагина или URL документации |

234| `repository` | string | URL репозитория исходного кода |236| `repository` | string | URL репозитория исходного кода |

235| `license` | string | Идентификатор лицензии SPDX (например, MIT, Apache-2.0) |237| `license` | string | Идентификатор лицензии SPDX (например, MIT, Apache-2.0) |

236| `keywords` | array | Теги для обнаружения и категоризации плагинов |238| `keywords` | array | Теги для обнаружения и категоризации плагина |

237| `metadata` | object | Свободная форма объекта для ваших собственных полей, таких как данные о правах или каталога. Claude Code не читает его. До версии v2.1.222 `claude plugin validate` сообщал ключ как неузнанное поле. |239| `metadata` | object | Свободный объект для ваших собственных полей, таких как данные о правах или каталога. Claude Code его не читает. До версии v2.1.222 `claude plugin validate` сообщал ключ как нераспознанное поле. |

238| `category` | string | Категория плагина для организации |240| `category` | string | Категория плагина для организации |

239| `tags` | array | Теги для поиска |241| `tags` | array | Теги для поиска |

240| `strict` | boolean | Контролирует, является ли `plugin.json` авторитетом для определений компонентов (по умолчанию: true). См. [Strict mode](#strict-mode) ниже. |242| `strict` | boolean | Контролирует, является ли `plugin.json` авторитетом для определений компонентов (по умолчанию: true). См. [Строгий режим](#strict-mode) ниже. |

241| `relevance` | object | Сигналы, которые сообщают Claude Code, когда предложить этот плагин пользователям. Вступает в силу только для marketplaces, которые администратор добавляет в список разрешённых в управляемых параметрах. См. [Рекомендовать плагины для вашей организации](/docs/ru/plugin-relevance). |243| `relevance` | object | Сигналы, которые говорят Claude Code, когда предложить этот плагин пользователям. Действует только для marketplace, которые администратор добавляет в список разрешённых в управляемых параметрах. См. [Рекомендовать плагины для вашей организации](/docs/ru/plugin-relevance). |

242| `defaultEnabled` | boolean | Включен ли плагин после установки (по умолчанию: true). Установите значение `false`, чтобы установить плагин отключённым до тех пор, пока пользователь не согласится. Имеет приоритет над тем же полем в `plugin.json` плагина. См. [Включение по умолчанию](/docs/ru/plugins-reference#default-enablement). |244| `defaultEnabled` | boolean | Включен ли плагин после установки (по умолчанию: true). Установите значение `false`, чтобы установить плагин отключённым до тех пор, пока пользователь не согласится. Имеет приоритет над тем же полем в `plugin.json` плагина. См. [Включение по умолчанию](/docs/ru/plugins-reference#default-enablement). |

243 245 

244Как запись, так и собственный `plugin.json` плагина могут устанавливать поля отображения `displayName`, `description`, `author`, `homepage`, `repository`, `license` и `keywords`. В списках плагинов и деталях, до и после установки:246И запись, и собственный `plugin.json` плагина могут устанавливать поля отображения `displayName`, `description`, `author`, `homepage`, `repository`, `license` и `keywords`. В списках плагинов и деталях до и после установки:

245 247 

246* Для поля, которое вы устанавливаете в записи, пользователи видят значение записи, даже когда `plugin.json` устанавливает другое.248* Для поля, которое вы установили в записи, пользователи видят значение записи, даже если `plugin.json` устанавливает другое значение.

247* Для поля, которое запись оставляет неустановленным, пользователи видят значение `plugin.json`.249* Для поля, которое запись оставляет неустановленным, пользователи видят значение из `plugin.json`.

248 250 

249До установки Claude Code может читать `plugin.json` только для записей с [источником относительного пути](#relative-paths), чьи файлы плагина находятся внутри самого marketplace. Для записи с любым другим типом источника пользователи видят только собственные поля записи до установки плагина.251До установки Claude Code может читать `plugin.json` только для записей с [источником относительного пути](#relative-paths), чьи файлы плагина находятся внутри самого marketplace. Для записи с любым другим типом источника пользователи видят только собственные поля записи до установки плагина.

250 252 


256| `commands` | string\|array | Пользовательские пути к плоским файлам `.md` skills или каталогам |258| `commands` | string\|array | Пользовательские пути к плоским файлам `.md` skills или каталогам |

257| `agents` | string\|array | Пользовательские пути к файлам агентов |259| `agents` | string\|array | Пользовательские пути к файлам агентов |

258| `hooks` | string\|object | Конфигурация пользовательских hooks или путь к файлу hooks |260| `hooks` | string\|object | Конфигурация пользовательских hooks или путь к файлу hooks |

259| `mcpServers` | string\|object | Конфигурации MCP server или путь к конфигурации MCP |261| `mcpServers` | string\|object | Конфигурации MCP сервера или путь к конфигурации MCP |

260| `lspServers` | string\|object | Конфигурации LSP server или путь к конфигурации LSP |262| `lspServers` | string\|object | Конфигурации LSP сервера или путь к конфигурации LSP |

261 263 

262**Поля аутентификации архива:**264**Поля аутентификации архива:**

263 265 

264Устанавливайте их, когда запись имеет источник [`archive`](#zip-archives) на сервере, требующем учётные данные.266Установите их, когда запись имеет источник [`archive`](#zip-archives) на сервере, требующем учётные данные.

265 267 

266| Поле | Тип | Описание |268| Поле | Тип | Описание |

267| :-------------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |269| :-------------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

268| `headers` | object | HTTP заголовки, которые Claude Code отправляет при загрузке архива этой записи. Переопределяет заголовки marketplace с тем же именем. Требуется Claude Code v2.1.238 или позже. |270| `headers` | object | HTTP заголовки, которые Claude Code отправляет при загрузке архива этой записи. Переопределяет заголовки marketplace с тем же именем. Требует Claude Code v2.1.238 или позже. |

269| `headersHelper` | string | Команда, которая выводит HTTP заголовки для загрузки архива этой записи как один объект JSON, для учётных данных, которые истекают. См. [Аутентификация загрузок архива](#authenticate-archive-downloads). Запись также должна устанавливать [`"strict": false`](#strict-mode). Требуется Claude Code v2.1.238 или позже. |271| `headersHelper` | string | Команда, которая выводит HTTP заголовки для загрузки архива этой записи как один JSON объект, для учётных данных, которые истекают. См. [Аутентификация загрузок архива](#authenticate-archive-downloads). Запись также должна установить [`"strict": false`](#strict-mode). Требует Claude Code v2.1.238 или позже. |

270 272 

271<h2 id="plugin-sources">273<h2 id="plugin-sources">

272 Источники плагинов274 Источники плагинов


274 276 

275Источники плагинов указывают Claude Code, откуда получить каждый отдельный плагин, указанный в вашем marketplace. Они устанавливаются в поле `source` каждой записи плагина в `marketplace.json`.277Источники плагинов указывают Claude Code, откуда получить каждый отдельный плагин, указанный в вашем marketplace. Они устанавливаются в поле `source` каждой записи плагина в `marketplace.json`.

276 278 

277Claude Code копирует каждый установленный плагин в локальный кэш плагинов с версией в `~/.claude/plugins/cache`, за исключением [`command` источника в режиме link](#copy-mode-and-link-mode), который Claude Code использует на месте. Claude Code также [устанавливает подходящие зависимости пакетов Node.js плагина](/docs/ru/plugins-reference#node-js-package-dependencies) в кэшированную копию.279Claude Code копирует каждый установленный плагин в локальный кэш плагинов с версией в `~/.claude/plugins/cache`, за исключением случаев, когда плагин загружается на месте. [`command` источник в режиме link](#copy-mode-and-link-mode) загружается на месте, как и [относительный путь источника](#relative-paths) из marketplace, добавленного из локального каталога. Claude Code также [устанавливает подходящие зависимости пакетов Node.js плагина](/docs/ru/plugins-reference#node-js-package-dependencies) в кэшированную копию. См. [Plugin caching and file resolution](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) для того, как плагин, загруженный на месте из marketplace локального каталога, получает ваши правки.

278 280 

279| Источник | Тип | Поля | Примечания |281| Источник | Тип | Поля | Примечания |

280| ------------------ | ------------------------------------ | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |282| ------------------ | ------------------------------------ | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


282| `github` | object | `repo`, `ref?`, `sha?` | |284| `github` | object | `repo`, `ref?`, `sha?` | |

283| `url` | object | `url`, `ref?`, `sha?` | Источник URL Git |285| `url` | object | `url`, `ref?`, `sha?` | Источник URL Git |

284| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Подкаталог в репозитории Git. Клонирует разреженно, чтобы минимизировать пропускную способность для монорепозиториев |286| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Подкаталог в репозитории Git. Клонирует разреженно, чтобы минимизировать пропускную способность для монорепозиториев |

285| `npm` | object | `package`, `version?`, `registry?` | Установлено через `npm install` |287| `npm` | object | `package`, `version?`, `registry?` | npm пакет, загруженный с вашим npm клиентом и распакованный без запуска скриптов установки |

286| `archive` | object | `url`, `sha256?` | ZIP-архив, загруженный через HTTPS. Работает без git или npm на машине пользователя. Требует Claude Code v2.1.224 или позже |288| `archive` | object | `url`, `sha256?` | ZIP-архив, загруженный через HTTPS. Работает без git или npm на машине пользователя. Требует Claude Code v2.1.224 или позже |

287| `command` | object | `command`, `timeout?`, `mode?` | Каталог плагина, созданный путем запуска локальной команды, переустанавливается один раз за сеанс для получения изменений. Требует Claude Code v2.1.229 или позже |289| `command` | object | `command`, `timeout?`, `mode?` | Каталог плагина, созданный путем запуска локальной команды, переустанавливается один раз за сеанс для получения изменений. Требует Claude Code v2.1.229 или позже |

288 290 


314}316}

315```317```

316 318 

317Пути разрешаются относительно корня marketplace, который является каталогом, содержащим `.claude-plugin/`. В приведенном выше примере `./plugins/my-plugin` указывает на `<repo>/plugins/my-plugin`, даже если `marketplace.json` находится в `<repo>/.claude-plugin/marketplace.json`. Не используйте `../` для ссылки на пути вне корня marketplace. На macOS и Linux Claude Code отказывает запись пути с обратной косой чертой где-либо после начального `./`, поэтому пишите разделители как `/` на каждой платформе.319Пути разрешаются относительно корня marketplace, который является каталогом, содержащим `.claude-plugin/`. Источник `./plugins/my-plugin` поэтому указывает на `<repo>/plugins/my-plugin`, даже если `marketplace.json` находится в `<repo>/.claude-plugin/marketplace.json`. Не используйте `../` для ссылки на пути вне корня marketplace. На macOS и Linux Claude Code отказывает запись пути с обратной косой чертой где-либо после начального `./`, поэтому пишите разделители как `/` на каждой платформе.

318 320 

319Простое имя — это одно имя каталога без `/`, например `"formatter"`. Чтобы писать простые имена вместо путей `./`, установите [`metadata.pluginRoot`](#optional-fields) на каталог, в котором они разрешаются. С `"pluginRoot": "./plugins"`, Claude Code разрешает `"source": "formatter"` на `./plugins/formatter`. Требует Claude Code v2.1.239 или позже.321Простое имя — это одно имя каталога без `/`, например `"formatter"`. Чтобы писать простые имена вместо путей `./`, установите [`metadata.pluginRoot`](#optional-fields) на каталог, в котором они разрешаются. С `"pluginRoot": "./plugins"`, Claude Code разрешает `"source": "formatter"` на `./plugins/formatter`. Требует Claude Code v2.1.239 или позже.

320 322 


437 Пакеты npm439 Пакеты npm

438</h3>440</h3>

439 441 

440Плагины, распространяемые как пакеты npm, устанавливаются с помощью `npm install`. Это работает с любым пакетом в общедоступном реестре npm или в частном реестре, который размещает ваша команда.442Источник npm может назвать любой пакет в общедоступном реестре npm или в частном реестре, который размещает ваша команда. Claude Code разрешает пакет с вашим npm клиентом, загружает tarball и распаковывает его в кэш плагинов.

443 

444Скрипты установки пакета, такие как `preinstall` или `postinstall`, никогда не запускаются, и его зависимости не устанавливаются во время загрузки.

445 

446Если пакет поставляет поддерживаемый файл блокировки рядом с его `package.json`, Claude Code устанавливает эти [зависимости пакетов Node.js](/docs/ru/plugins-reference#node-js-package-dependencies) в отдельном шаге, также с отключенными скриптами. В противном случае опубликуйте плагин со всем, что ему нужно, уже встроенным. MCP сервер, которому нужны другие пакеты, может запуститься через `npx`, который устанавливает их при первом запуске.

441 447 

442```json theme={null}448```json theme={null}

443{449{


612 Как пользователи принимают команду headersHelper618 Как пользователи принимают команду headersHelper

613</h4>619</h4>

614 620 

615Пользователь принимает команду записи плагина каждый раз, когда устанавливает или обновляет этот один плагин отдельно, из собственного представления плагина в `/plugin` или с `claude plugin install` или `claude plugin update`. Claude Code показывает команду и URL архива и запускает команду только после того, как пользователь примет. В неинтерактивной оболочке передайте [`--yes`](/docs/ru/plugins-reference#plugin-install) для принятия.621Пользователь принимает команду записи плагина каждый раз, когда устанавливает или обновляет этот один плагин отдельно, из собственного представления плагина в `/plugin` или с `claude plugin install` или `claude plugin update`. Claude Code показывает команду и URL архива и запускает команду только после того, как пользователь примет.

622 

623В неинтерактивной оболочке передайте [`--yes`](/docs/ru/plugins-reference#plugin-install) для принятия команды. Чтобы принять только команду, которую предыдущий запуск `--json` отобразил, передайте [`--accept-command`](/docs/ru/plugins-reference#plugin-install) с `sha256`, который запуск сообщил.

616 624 

617Claude Code запускает только команду, которую он показал, для URL архива, который он показал. Если команда записи или URL архива изменились между тем, Claude Code отказывает установку или обновление. Изменение только в строке запроса не считается.625Claude Code запускает только команду, которую он показал, для URL архива, который он показал. Если команда записи или URL архива изменились между тем, Claude Code отказывает установку или обновление. Изменение только в строке запроса не считается.

618 626 


693 701 

694Claude Code запускает вашу команду на машине пользователя, поэтому она привязывает каждый запуск к явному принятию пользователем:702Claude Code запускает вашу команду на машине пользователя, поэтому она привязывает каждый запуск к явному принятию пользователем:

695 703 

696* Когда пользователи устанавливают плагин из его экрана деталей в `/plugin` или устанавливают или обновляют его с `claude plugin install` или `claude plugin update` в интерактивном терминале, Claude Code сначала показывает им точную строку команды и записывает принятую команду для этой установки. `claude plugin update`, который может продолжаться при принятии той же команды, не показывает ничего. В неинтерактивной оболочке, например в скрипте подготовки, передайте `--yes` в `claude plugin install` или `claude plugin update` для принятия команды, которую она печатает.704* Когда пользователи устанавливают плагин из его экрана деталей в `/plugin` или устанавливают или обновляют его с `claude plugin install` или `claude plugin update` в интерактивном терминале, Claude Code сначала показывает им точную строку команды и записывает принятую команду для этой установки. `claude plugin update`, который может продолжаться при принятии той же команды, не показывает ничего.

705* В неинтерактивной оболочке, например в скрипте подготовки, передайте `--yes` в `claude plugin install` или `claude plugin update` для принятия команды, которую она печатает. Чтобы принять только команду, которую предыдущий запуск `--json` отобразил, передайте [`--accept-command`](/docs/ru/plugins-reference#plugin-install) с `sha256`, который запуск сообщил.

697* Каждый другой путь запускает только команду, которую пользователь уже принял. Это включает обновления, запущенные из `/plugin`, и фоновые запуски, описанные в [Когда Claude Code переустанавливает команду](#when-claude-code-re-runs-the-command). Когда ничего не было принято, Claude Code отказывает запустить команду и говорит пользователю, как её просмотреть. Claude Code никогда не устанавливает плагин с источником команды как зависимость другого плагина, поэтому пользователи устанавливают его сами в первую очередь.706* Каждый другой путь запускает только команду, которую пользователь уже принял. Это включает обновления, запущенные из `/plugin`, и фоновые запуски, описанные в [Когда Claude Code переустанавливает команду](#when-claude-code-re-runs-the-command). Когда ничего не было принято, Claude Code отказывает запустить команду и говорит пользователю, как её просмотреть. Claude Code никогда не устанавливает плагин с источником команды как зависимость другого плагина, поэтому пользователи устанавливают его сами в первую очередь.

698* Если вы измените `command` записи или переключите её `mode`, пользователи сохраняют версию, которую они уже имеют, и Claude Code останавливает переустановку команды. В интерактивных сеансах вкладка `/plugin` Errors показывает новую команду, пока пользователь не просмотрит и не примет её, запустив `claude plugin update <plugin>@<marketplace>`.707* Если вы измените `command` записи или переключите её `mode`, пользователи сохраняют версию, которую они уже имеют, и Claude Code останавливает переустановку команды. В интерактивных сеансах вкладка `/plugin` Errors показывает новую команду, пока пользователь не просмотрит и не примет её, запустив `claude plugin update <plugin>@<marketplace>`.

699 708 


810 Размещение и распространение marketplace819 Размещение и распространение marketplace

811</h2>820</h2>

812 821 

822Когда пользователи добавляют marketplace, размещенный в репозитории Git, или устанавливают плагин на основе Git из его списка, Claude Code клонирует этот репозиторий marketplace или плагина на машину пользователя. Клон никогда не загружает содержимое [Git LFS](https://git-lfs.com), поэтому файлы, отслеживаемые LFS, поступают как файлы-указатели. Держите файлы, которые нужны вашим плагинам, вне LFS.

823 

813<h3 id="host-on-github-recommended">824<h3 id="host-on-github-recommended">

814 Размещение на GitHub (рекомендуется)825 Размещение на GitHub (рекомендуется)

815</h3>826</h3>


836 Частные репозитории847 Частные репозитории

837</h3>848</h3>

838 849 

839Claude Code поддерживает установку плагинов из частных репозиториев. Если вы распространяете ваш marketplace через [**Organization settings > Plugins**](https://claude.ai/admin-settings/plugins) вместо этого, ваши учетные данные Git не задействованы: организационная синхронизация читает репозиторий marketplace через Claude GitHub App или GitHub Enterprise App вашей организации, и источник плагина, который она не может аутентифицировать, должен быть общедоступным. См. [Распространение через параметры организации](#distribute-through-organization-settings) для полных правил.850Claude Code поддерживает установку плагинов из частных репозиториев. Если вы распространяете ваш marketplace через [**Organization settings > Plugins**](https://claude.ai/admin-settings/plugins) вместо этого, ваши учетные данные Git не задействованы: организационная синхронизация читает репозиторий marketplace через подключение вашей организации GitHub или GitLab на claude.ai. См. [Распространение через параметры организации](#distribute-through-organization-settings) для информации о том, какие источники плагинов могут быть частными.

840 851 

841<h4 id="commands-you-run">852<h4 id="commands-you-run">

842 Команды, которые вы запускаете853 Команды, которые вы запускаете


848 Фоновые автоматические обновления859 Фоновые автоматические обновления

849</h4>860</h4>

850 861 

851По умолчанию фоновое обновление отключает помощников учетных данных Git для своего `git pull`, поэтому pull не может аутентифицироваться в частных репозиториях через HTTPS, даже если помощник настроен. Удаленные SSH не затронуты: ключ, загруженный в `ssh-agent`, аутентифицирует фоновые pull так же, как команды, которые вы запускаете. Когда фоновый pull не удается, Claude Code возвращается к повторному клонированию marketplace с нуля. Повторное клонирование использует ваши сохраненные учетные данные Git, но оно может [истечь на больших репозиториях](#git-operations-time-out), поэтому автоматические обновления частного marketplace могут периодически не удаваться.862По умолчанию фоновое обновление отключает помощников учетных данных Git при проверке удаленного хранилища marketplace на предмет новых коммитов, поэтому проверка не может аутентифицироваться в частных репозиториях через HTTPS, даже если помощник настроен. Удаленные SSH не затронуты: ключ, загруженный в `ssh-agent`, аутентифицирует фоновую проверку так же, как команды, которые вы запускаете.

863 

864Когда проверка находит новые коммиты или не удается, потому что не может достичь или аутентифицироваться на удаленном хранилище, Claude Code клонирует marketplace снова и заменяет новый клон. Если этот клон не удается, существующий checkout остается на месте. Повторное клонирование использует ваши сохраненные учетные данные Git, но оно может [истечь на больших репозиториях](#git-operations-time-out), поэтому автоматические обновления частного marketplace могут периодически не удаваться.

852 865 

853Два параметра делают частные marketplace предсказуемыми:866Два параметра делают частные marketplace предсказуемыми:

854 867 

855* Установите `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1`, чтобы сохранить существующий клон при неудаче фонового pull, вместо удаления и повторного клонирования. Ваши плагины продолжают работать из последнего синхронизированного состояния, и ручные обновления с `/plugin marketplace update` по-прежнему pull с вашими учетными данными.868* Установите `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1`, чтобы сохранить существующий checkout без попытки повторного клонирования, когда фоновая проверка не может достичь или аутентифицироваться на удаленном хранилище. Ваши плагины продолжают работать из последнего синхронизированного состояния, и ручные обновления с `/plugin marketplace update` по-прежнему аутентифицируются с вашими учетными данными.

856* Настройте помощника учетных данных Git, например с помощью `gh auth setup-git` для GitHub, чтобы fallback повторного клонирования мог аутентифицироваться без подсказок.869* Настройте помощника учетных данных Git, например с помощью `gh auth setup-git` для GitHub, чтобы повторное клонирование могло аутентифицироваться без подсказок.

857 870 

858Установка токена поставщика, такого как `GITHUB_TOKEN`, в вашей среде не включает фоновую аутентификацию сама по себе. Токены вступают в силу только через настроенного помощника учетных данных, например помощника CLI `gh`, который читает `GH_TOKEN` и `GITHUB_TOKEN`.871Установка токена поставщика, такого как `GITHUB_TOKEN`, в вашей среде не включает фоновую аутентификацию сама по себе. Токены вступают в силу только через настроенного помощника учетных данных, например помощника CLI `gh`, который читает `GH_TOKEN` и `GITHUB_TOKEN`.

859 872 

860Чтобы сам фоновый pull аутентифицировался через HTTPS, настройте глобальное переписывание URL Git. Переписывание встраивает токен в удаленный URL, поэтому оно вступает в силу, несмотря на то, что фоновый pull отключает помощников учетных данных, и успешный pull пропускает fallback повторного клонирования. Следующий пример переписывает URL репозитория marketplace, чтобы включить токен доступа:873Чтобы сама фоновая проверка аутентифицировалась через HTTPS, настройте глобальное переписывание URL Git. Переписывание встраивает токен в удаленный URL, поэтому оно вступает в силу, несмотря на то, что фоновая проверка отключает помощников учетных данных. Когда проверка находит checkout в актуальном состоянии, Claude Code пропускает повторное клонирование. Следующий пример переписывает URL репозитория marketplace, чтобы включить токен доступа:

861 874 

862```bash theme={null}875```bash theme={null}

863git config --global url."https://x-access-token:YOUR_TOKEN@github.com/acme-corp/plugins".insteadOf "https://github.com/acme-corp/plugins"876git config --global url."https://x-access-token:YOUR_TOKEN@github.com/acme-corp/plugins".insteadOf "https://github.com/acme-corp/plugins"


876Переписывание хранит токен в открытом виде в вашем gitconfig, поэтому используйте токен с доступом только для чтения к репозиторию marketplace.889Переписывание хранит токен в открытом виде в вашем gitconfig, поэтому используйте токен с доступом только для чтения к репозиторию marketplace.

877 890 

878<Note>891<Note>

879 В средах CI/CD настройте помощника учетных данных Git перед установкой плагинов из частных репозиториев. На GitHub Actions экспортируйте токен с доступом для чтения к репозиторию marketplace как `GH_TOKEN`, затем запустите `gh auth setup-git`. Токен рабочего процесса по умолчанию может получить доступ только к репозиторию самого рабочего процесса, поэтому частный marketplace в другом репозитории требует личного токена доступа или токена приложения. Глобальное переписывание URL, настроенное в конвейере, также аутентифицирует фоновый pull напрямую.892 В средах CI/CD настройте помощника учетных данных Git перед установкой плагинов из частных репозиториев. На GitHub Actions экспортируйте токен с доступом для чтения к репозиторию marketplace как `GH_TOKEN`, затем запустите `gh auth setup-git`. Токен рабочего процесса по умолчанию может получить доступ только к репозиторию самого рабочего процесса, поэтому частный marketplace в другом репозитории требует личного токена доступа или токена приложения.

893 

894 Если вы настроите глобальное переписывание URL в конвейере, переписывание также аутентифицирует фоновую проверку напрямую.

880</Note>895</Note>

881 896 

882<h3 id="distribute-through-organization-settings">897<h3 id="distribute-through-organization-settings">


885 900 

886Если вы распространяете плагины через [**Organization settings > Plugins**](https://claude.ai/admin-settings/plugins) в плане Team или Enterprise, применяются эти правила источника:901Если вы распространяете плагины через [**Organization settings > Plugins**](https://claude.ai/admin-settings/plugins) в плане Team или Enterprise, применяются эти правила источника:

887 902 

888* Репозиторий marketplace должен быть частным или внутренним. Организационная синхронизация читает его через Claude GitHub App или GitHub Enterprise App вашей организации.903* На github.com и gitlab.com репозиторий marketplace должен быть частным или внутренним. Организационная синхронизация читает репозиторий через подключение, которое соответствует его хосту:

904 * **github.com**: Claude GitHub App

905 * **Ваш хост GitHub Enterprise Server**: [GitHub Enterprise App](/docs/ru/github-enterprise-server#admin-setup) вашей организации

906 * **gitlab.com или ваш самостоятельно управляемый экземпляр GitLab**: токен доступа в [конфигурации GitLab](#sync-a-gitlab-hosted-marketplace) вашей организации для этого хоста

889* Каждый источник плагина должен быть типа `github`, `url` или `git-subdir`, или [относительный путь](#relative-paths), который начинается с `./`. Если вы перечисляете плагин по простому имени под `metadata.pluginRoot`, организационная синхронизация отклоняет его как неподдерживаемый источник, поэтому напишите путь полностью, например `./plugins/deploy-tools`.907* Каждый источник плагина должен быть типа `github`, `url` или `git-subdir`, или [относительный путь](#relative-paths), который начинается с `./`. Если вы перечисляете плагин по простому имени под `metadata.pluginRoot`, организационная синхронизация отклоняет его как неподдерживаемый источник, поэтому напишите путь полностью, например `./plugins/deploy-tools`.

890* Источник плагина может быть частным в двух случаях:908* Источник плагина может быть частным в трех случаях:

891 * Источник github.com, который совместно использует владельца репозитория marketplace909 * Источник github.com, который совместно использует владельца репозитория marketplace

892 * Источник на GitHub Enterprise хосте вашей организации с установленным GHE App на репозитории910 * Источник на хосте GitHub Enterprise вашей организации с установленным GHE App на репозитории

893* Организационная синхронизация получает каждый другой источник без учетных данных, поэтому репозитории github.com под другим владельцем и репозитории на других хостах, такие как GitLab или Bitbucket, должны быть общедоступными.911 * Источник `url` или `git-subdir` на том же хосте GitLab, что и репозиторий marketplace. На gitlab.com источник также должен находиться под той же группой верхнего уровня или пространством имен пользователя, что и репозиторий marketplace.

912* Любой другой источник плагина должен быть общедоступным репозиторием на github.com, gitlab.com или bitbucket.org, который организационная синхронизация получает без учетных данных. Организационная синхронизация отклоняет источники плагинов на хостах, которые эти правила не охватывают.

894 913 

895См. [Manage plugins for your organization](https://support.claude.com/en/articles/13837433) для рабочего процесса администратора.914См. [Manage plugins for your organization](https://support.claude.com/en/articles/13837433) для рабочего процесса администратора.

896 915 


905}924}

906```925```

907 926 

927<h4 id="sync-a-gitlab-hosted-marketplace">

928 Синхронизация marketplace, размещенного на GitLab

929</h4>

930 

931Чтобы синхронизировать marketplace с gitlab.com или самостоятельно управляемого экземпляра GitLab, [Owner](/docs/ru/server-managed-settings#access-control) сначала добавляет конфигурацию GitLab для этого хоста в [**Organization settings > Claude Code**](https://claude.ai/admin-settings/claude-code). Конфигурации GitLab находятся в публичной бета-версии и применяются только к синхронизации marketplace плагинов. Добавление одной не делает репозитории GitLab доступными в [облачных сеансах](/docs/ru/claude-code-on-the-web#limitations). См. [Manage plugins for your organization](https://support.claude.com/en/articles/13837433) для шагов настройки.

932 

933Когда вы добавляете marketplace, введите HTTPS URL проекта, например `https://gitlab.example.com/platform/claude-plugins`. Проекты в вложенных подгруппах работают. Организационная синхронизация читает ветку по умолчанию проекта. Если вы включите **Sync automatically**, только push в ветку по умолчанию запускают синхронизацию.

934 

908<h4 id="keep-executables-out-of-the-top-level-bin-directory">935<h4 id="keep-executables-out-of-the-top-level-bin-directory">

909 Держите исполняемые файлы вне каталога bin верхнего уровня936 Держите исполняемые файлы вне каталога bin верхнего уровня

910</h4>937</h4>


984 1011 

985Детали поведения:1012Детали поведения:

986 1013 

987* **Только для чтения**: каталог seed никогда не записывается. Автоматические обновления отключены для seed marketplace, так как git pull не удастся на файловой системе только для чтения.1014* **Только для чтения**: Claude Code никогда не записывает в каталог seed.

1015* **Автоматические обновления отключены**: seed marketplace не автоматически обновляются.

988* **Записи seed имеют приоритет**: marketplace, объявленные в seed, перезаписывают любые совпадающие записи в конфигурации пользователя при каждом запуске. Чтобы отказаться от seed плагина, используйте `/plugin disable` вместо удаления marketplace.1016* **Записи seed имеют приоритет**: marketplace, объявленные в seed, перезаписывают любые совпадающие записи в конфигурации пользователя при каждом запуске. Чтобы отказаться от seed плагина, используйте `/plugin disable` вместо удаления marketplace.

989* **Разрешение пути**: Claude Code находит содержимое marketplace, проверяя `$CLAUDE_CODE_PLUGIN_SEED_DIR/marketplaces/<name>/` во время выполнения, а не доверяя путям, хранящимся внутри JSON seed. Это означает, что seed работает правильно, даже если он смонтирован по другому пути, чем где он был построен.1017* **Разрешение пути**: Claude Code находит содержимое marketplace, проверяя `$CLAUDE_CODE_PLUGIN_SEED_DIR/marketplaces/<name>/` во время выполнения, а не доверяя путям, хранящимся внутри JSON seed. Это означает, что seed работает правильно, даже если он смонтирован по другому пути, чем где он был построен.

990* **Мутация заблокирована**: запуск `/plugin marketplace remove` или `/plugin marketplace update` против seed-управляемого marketplace не удается с указанием попросить вашего администратора обновить образ seed.1018* **Мутация заблокирована**: запуск `/plugin marketplace remove` или `/plugin marketplace update` против seed-управляемого marketplace не удается с указанием попросить вашего администратора обновить образ seed.


1018}1046}

1019```1047```

1020 1048 

1049Claude Code загружает плагины [синхронизированные с claude.ai](/docs/ru/plugins-reference#synced-plugins) из вашей учетной записи, а не из marketplace, поэтому эта блокировка их не охватывает. Чтобы остановить их также, установите [`syncClaudeAiPlugins`](/docs/ru/settings-reference#syncclaudeaiplugins) на `false` в управляемых параметрах или отключите Skills для вашей организации на claude.ai.

1050 

1021Разрешение только официального marketplace Anthropic. Сопоставление для записи одного репозитория является точным, поэтому эта запись не охватывает варианты `ref` или `path` одного и того же репозитория:1051Разрешение только официального marketplace Anthropic. Сопоставление для записи одного репозитория является точным, поэтому эта запись не охватывает варианты `ref` или `path` одного и того же репозитория:

1022 1052 

1023```json theme={null}1053```json theme={null}


1128 1158 

1129Точное сопоставление списка разрешений рассматривает URL, которые отличаются только конечной косой чертой, суффиксом `.git` или схемой `ssh://` и `https://` как разные значения. Если marketplace вашей организации можно клонировать более чем одной формой URL, предпочтите запись `hostPattern` буквальному URL, чтобы формы `https://`, `ssh://` и `user@host:path` все совпадали.1159Точное сопоставление списка разрешений рассматривает URL, которые отличаются только конечной косой чертой, суффиксом `.git` или схемой `ssh://` и `https://` как разные значения. Если marketplace вашей организации можно клонировать более чем одной формой URL, предпочтите запись `hostPattern` буквальному URL, чтобы формы `https://`, `ssh://` и `user@host:path` все совпадали.

1130 1160 

1161A [marketplace hosted on claude.ai](/docs/ru/discover-plugins#add-from-claude-ai) is matched by host: a `hostPattern` entry that matches `claude.ai` governs it, in `strictKnownMarketplaces` and in `blockedMarketplaces`. On the allowlist, such an entry doesn't admit a member's personal claude.ai uploads. Requires Claude Code v2.1.273 or later.

1162 

1131Поскольку `strictKnownMarketplaces` установлен в [управляемых параметрах](/docs/ru/managed-settings), отдельные пользователи и конфигурации проекта не могут переопределить эти ограничения.1163Поскольку `strictKnownMarketplaces` установлен в [управляемых параметрах](/docs/ru/managed-settings), отдельные пользователи и конфигурации проекта не могут переопределить эти ограничения.

1132 1164 

1133Для полных деталей конфигурации, включая все поддерживаемые типы источников и сравнение с `extraKnownMarketplaces`, см. справку [strictKnownMarketplaces](/docs/ru/settings-reference#strictknownmarketplaces).1165Для полных деталей конфигурации, включая все поддерживаемые типы источников и сравнение с `extraKnownMarketplaces`, см. справку [strictKnownMarketplaces](/docs/ru/settings-reference#strictknownmarketplaces).


1139Версии плагинов определяют пути кэша и обнаружение обновлений: если разрешенная версия совпадает с тем, что уже есть у пользователя, `/plugin update` и автоматическое обновление пропускают плагин. Для источников на основе Git, если вы опустите `version`, Claude Code использует разрешенный SHA коммита источника, поэтому пользователи получают обновление всякий раз, когда этот коммит изменяется; это самая простая установка для внутренних или активно разрабатываемых плагинов. См. [Version management](/docs/ru/plugins-reference#version-management) для полного порядка разрешения, включая источники `archive`.1171Версии плагинов определяют пути кэша и обнаружение обновлений: если разрешенная версия совпадает с тем, что уже есть у пользователя, `/plugin update` и автоматическое обновление пропускают плагин. Для источников на основе Git, если вы опустите `version`, Claude Code использует разрешенный SHA коммита источника, поэтому пользователи получают обновление всякий раз, когда этот коммит изменяется; это самая простая установка для внутренних или активно разрабатываемых плагинов. См. [Version management](/docs/ru/plugins-reference#version-management) для полного порядка разрешения, включая источники `archive`.

1140 1172 

1141<Warning>1173<Warning>

1142 Установка `version` закрепляет плагин для каждого типа источника, кроме [`command`](#command-sources), чья версия всегда включает хеш того, что произвела команда. Если вы объявляете `"version": "1.0.0"` в `plugin.json` и отправляете новые коммиты без изменения этой строки, существующие пользователи этих источников сохраняют кэшированную копию, потому что Claude Code видит ту же версию. Увеличивайте поле при каждом выпуске или опустите его, чтобы вернуться к разрешенной версии.1174 Установка `version` закрепляет плагин для каждого типа источника, кроме [`command`](#command-sources), чья версия всегда включает хеш того, что произвела команда. Плагин [загруженный на месте](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) из marketplace, добавленного как локальный каталог, также не закреплен. Если вы объявляете `"version": "1.0.0"` в `plugin.json` и отправляете новые коммиты без изменения этой строки, существующие пользователи этих источников сохраняют кэшированную копию, потому что Claude Code видит ту же версию. Увеличивайте поле при каждом выпуске или опустите его, чтобы вернуться к разрешенной версии.

1143 1175 

1144 Избегайте установки `version` одновременно в `plugin.json` и в записи marketplace. Значение `plugin.json` всегда побеждает молча, поэтому устаревшая версия манифеста может скрыть версию, которую вы установили в `marketplace.json`.1176 Избегайте установки `version` одновременно в `plugin.json` и в записи marketplace. Значение `plugin.json` всегда побеждает молча, поэтому устаревшая версия манифеста может скрыть версию, которую вы установили в `marketplace.json`.

1145</Warning>1177</Warning>


1330**Параметры:**1362**Параметры:**

1331 1363 

1332| Параметр | Описание | По умолчанию |1364| Параметр | Описание | По умолчанию |

1333| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | :----------- |1365| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------- |

1334| `--scope <scope>` | Где объявить marketplace: `user`, `project` или `local`. См. [Области установки плагинов](/docs/ru/plugins-reference#plugin-installation-scopes) | `user` |1366| `--scope <scope>` | Где объявить marketplace: `user`, `project` или `local`. См. [Области установки плагинов](/docs/ru/plugins-reference#plugin-installation-scopes) | `user` |

1335| `--sparse <paths...>` | Ограничить checkout определенными каталогами через git sparse-checkout. Полезно для монорепозиториев | |1367| `--sparse <paths...>` | Ограничить checkout определенными каталогами через git sparse-checkout. Полезно для монорепозиториев | |

1368| `--claudeai` | Прочитайте аргумент как имя [marketplace, размещенного на claude.ai](/docs/ru/discover-plugins#add-from-claude-ai), вместо источника. Требует Claude Code v2.1.273 или более поздней версии | |

1336 1369 

1337Добавьте marketplace из GitHub, используя сокращение `owner/repo`:1370Добавьте marketplace из GitHub, используя сокращение `owner/repo`:

1338 1371 


1376claude plugin marketplace add acme-corp/monorepo --sparse .claude-plugin plugins1409claude plugin marketplace add acme-corp/monorepo --sparse .claude-plugin plugins

1377```1410```

1378 1411 

1412Добавьте [marketplace, размещенный на claude.ai](/docs/ru/discover-plugins#add-from-claude-ai), по имени, напечатанному в разделе `From claude.ai:` команды `claude plugin marketplace list`:

1413 

1414```bash theme={null}

1415claude plugin marketplace add --claudeai claudeai-organization-library

1416```

1417 

1418С помощью `--claudeai` команда отклоняет `--scope` и `--sparse`. Marketplace размещен для вашей учетной записи, а не объявлен в файле параметров, поэтому вы не можете поделиться им через `.claude/settings.json` проекта.

1419 

1379<h3 id="plugin-marketplace-list">1420<h3 id="plugin-marketplace-list">

1380 Plugin marketplace list1421 Plugin marketplace list

1381</h3>1422</h3>


1394 1435 

1395С помощью `--json` каждая запись включает `name`, `source`, поле `installLocation` с локальным путем кэша, где хранится marketplace, и поля, специфичные для источника: `repo` для источников GitHub, `url` для источников Git и URL, а также `path` для локальных источников. Источники GitHub и Git также включают поле `ref`, когда marketplace был добавлен с закрепленной веткой или тегом.1436С помощью `--json` каждая запись включает `name`, `source`, поле `installLocation` с локальным путем кэша, где хранится marketplace, и поля, специфичные для источника: `repo` для источников GitHub, `url` для источников Git и URL, а также `path` для локальных источников. Источники GitHub и Git также включают поле `ref`, когда marketplace был добавлен с закрепленной веткой или тегом.

1396 1437 

1438Добавленный [marketplace claude.ai](/docs/ru/discover-plugins#add-from-claude-ai) не имеет локального клона, поэтому его запись содержит его идентификаторы claude.ai, `marketplaceId` и `organizationUuid`, вместо `installLocation`.

1439 

1440В сеансах терминала, где [плагины синхронизируются из вашей учетной записи claude.ai](/docs/ru/plugins-reference#synced-plugins), текстовый список заканчивается разделом `From claude.ai:`, в котором указано, что claude.ai перечисляет для вашей учетной записи помимо добавленных вами marketplace. Чтобы добавить один из них, см. [Добавить из claude.ai](/docs/ru/discover-plugins#add-from-claude-ai). Вывод `--json` охватывает только настроенные marketplace и не включает этот раздел. Требует Claude Code v2.1.273 или более поздней версии.

1441 

1397<h3 id="plugin-marketplace-remove">1442<h3 id="plugin-marketplace-remove">

1398 Plugin marketplace remove1443 Plugin marketplace remove

1399</h3>1444</h3>


1575 1620 

1576Для фоновых автоматических обновлений:1621Для фоновых автоматических обновлений:

1577 1622 

1578* По умолчанию фоновые обновления отключают помощники учетных данных Git для pull, поэтому pull не может аутентифицироваться через HTTPS. SSH удаленные хосты с загруженным ключом в `ssh-agent` все еще аутентифицируются. Неудачный pull запускает повторное клонирование с нуля, которое использует ваши сохраненные учетные данные, но может истечь по времени на больших репозиториях1623* По умолчанию фоновые обновления отключают помощники учетных данных Git при проверке удаленного хоста на наличие новых коммитов, поэтому проверка не может аутентифицироваться через HTTPS. SSH удаленные хосты с загруженным ключом в `ssh-agent` все еще аутентифицируются

1579* Установите `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1`, чтобы сохранить существующий клон при сбое фонового pull1624* Когда проверка не может аутентифицироваться, Claude Code повторно клонирует marketplace с вашими сохраненными учетными данными, но повторное клонирование может истечь по времени на больших репозиториях

1580* Настройте помощник учетных данных Git, например `gh auth setup-git`, чтобы резервное повторное клонирование могло аутентифицироваться1625* Установите `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1`, чтобы сохранить существующий checkout без попытки повторного клонирования, когда фоновая проверка не может достичь или аутентифицироваться на удаленном хосте

1626* Настройте помощник учетных данных Git, например `gh auth setup-git`, чтобы повторное клонирование могло аутентифицироваться

1581* Если повторное клонирование истекает по времени на большом репозитории, увеличьте лимит с помощью [`CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`](#git-operations-time-out)1627* Если повторное клонирование истекает по времени на большом репозитории, увеличьте лимит с помощью [`CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`](#git-operations-time-out)

1582* Настройте [переписывание URL Git](#private-repositories), ограниченное репозиторием marketplace, чтобы фоновый pull аутентифицировался напрямую1628* Настройте [переписывание URL Git](#private-repositories), ограниченное репозиторием marketplace, чтобы фоновая проверка аутентифицировалась напрямую

1583* Или обновляйте частные marketplace вручную с помощью `/plugin marketplace update <name>`, которая использует ваши учетные данные1629* Или обновляйте частные marketplace вручную с помощью `/plugin marketplace update <name>`, которая использует ваши учетные данные

1584 1630 

1585<h3 id="marketplace-updates-fail-in-offline-environments">1631<h3 id="marketplace-updates-fail-in-offline-environments">

1586 Обновления marketplace не работают в автономных средах1632 Обновления marketplace не работают в автономных средах

1587</h3>1633</h3>

1588 1634 

1589**Симптомы**: Marketplace `git pull` не удается в фоне, и Claude Code многократно пытается повторно клонировать, что не может успешно завершиться.1635**Симптомы**: В автономной или изолированной среде фоновое обновление marketplace не может достичь удаленного хоста и Claude Code многократно пытается повторно клонировать, что не может успешно завершиться.

1636 

1637**Причина**: Фоновое обновление проверяет удаленный хост marketplace на наличие новых коммитов, и когда проверка не может достичь удаленного хоста, Claude Code пытается клонировать marketplace снова. В автономной среде клон не удается так же, и существующий checkout остается на месте. До v2.1.274 обновление запускало `git pull` в существующем checkout, перемещало checkout в сторону для повторного клонирования при сбое pull, и восстанавливало его впоследствии на основе наилучших усилий.

1590 1638 

1591**Причина**: По умолчанию, когда `git pull` не удается, Claude Code пытается повторно клонировать с нуля. В автономных или изолированных средах повторное клонирование не удается так же, и восстановление предыдущего кэша после этого является наилучшим усилием. Обновление запускается в фоне после запуска, поэтому оно не задерживает запуск, но каждая сессия повторяет неудачные попытки и каждая операция Git может ждать [120-секундного таймаута](#git-operations-time-out).1639Обновление запускается в фоне после запуска, поэтому оно не задерживает запуск. Каждая сессия все еще повторяет неудачную попытку, и каждая операция Git может ждать [120-секундного таймаута](#git-operations-time-out).

1592 1640 

1593**Решение**: Установите `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1`, чтобы пропустить попытку повторного клонирования и продолжить использование существующего кэша при сбое pull:1641**Решение**: Установите `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1`, чтобы пропустить попытку повторного клонирования и продолжить использование существующего checkout, когда проверка не может достичь удаленного хоста:

1594 1642 

1595```bash theme={null}1643```bash theme={null}

1596export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=11644export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1


1602 Операции Git истекают по времени1650 Операции Git истекают по времени

1603</h3>1651</h3>

1604 1652 

1605**Симптомы**: Установка плагина или обновление marketplace не удается с ошибкой истечения времени, например "Git clone timed out after 120s" или "Git pull timed out after 120s".1653**Симптомы**: Установка плагина или обновление marketplace не удается с ошибкой истечения времени, например `Git clone timed out after 120s`.

1606 1654 

1607**Причина**: Claude Code использует 120-секундный таймаут для всех операций Git, включая клонирование репозиториев плагинов и извлечение обновлений marketplace. Большие репозитории или медленные сетевые соединения могут превысить этот лимит.1655**Причина**: Claude Code использует 120-секундный таймаут для всех операций Git, включая клонирование репозиториев плагинов и повторное клонирование marketplace для его обновления. Большие репозитории или медленные сетевые соединения могут превысить этот лимит.

1608 1656 

1609**Решение**: Увеличьте таймаут, используя переменную окружения `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`. Значение указывается в миллисекундах:1657**Решение**: Увеличьте таймаут, используя переменную окружения `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`. Значение указывается в миллисекундах:

1610 1658 


1634 1682 

1635**Симптомы**: Плагин устанавливается, но ссылки на файлы не работают, особенно файлы вне каталога плагина1683**Симптомы**: Плагин устанавливается, но ссылки на файлы не работают, особенно файлы вне каталога плагина

1636 1684 

1637**Причина**: Плагины копируются в каталог кэша, а не используются на месте, кроме [`command` источника в режиме link](#copy-mode-and-link-mode). Пути, которые ссылаются на файлы вне скопированного каталога плагина (такие как `../shared-utils`), не будут работать, потому что эти файлы не копируются.1685**Причина**: Claude Code копирует установленные плагины в каталог кэша, если только плагин не загружается на месте. [`command` источник в режиме link](#copy-mode-and-link-mode) загружается на месте, как и [источник относительного пути](#relative-paths) в marketplace, добавленном из локального каталога. Пути, которые ссылаются на файлы вне скопированного каталога плагина (такие как `../shared-utils`), не будут работать, потому что эти файлы не копируются.

1638 1686 

1639**Решения**: См. [Кэширование плагинов и разрешение файлов](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) для обходных путей, включая символические ссылки и переструктурирование каталогов.1687**Решения**: См. [Кэширование плагинов и разрешение файлов](/docs/ru/plugins-reference#plugin-caching-and-file-resolution) для обходных путей, включая символические ссылки и переструктурирование каталогов.

1640 1688 

Details

70</h3>70</h3>

71 71 

72| Поле | Тип | Описание |72| Поле | Тип | Описание |

73| :-------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |73| :-------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

74| `topic` | string | Необязательно. Фраза, которая заполняет "Working with *topic*?" в spinner tip. Часто название продукта, например `Stripe`. Используйте домен, такой как `design`, когда название plugin не читается естественно как тема. По умолчанию название plugin с каждым сегментом через дефис с заглавной буквы. Уведомление о начале сеанса не использует это значение. Максимум 64 символа. |74| `topic` | string | Необязательно. Фраза, которая заполняет "Working with *topic*?" в spinner tip. Часто название продукта, например `Stripe`. Используйте домен, такой как `design`, когда название plugin не читается естественно как тема. По умолчанию название plugin с каждым сегментом через дефис с заглавной буквой. Уведомление о начале сеанса не использует это значение. Максимум 64 символа. |

75| `signals` | object | Сопоставители, которые определяют, когда plugin актуален. Требуется по крайней мере один сигнал, чтобы plugin был предложен. См. таблицу ниже. |75| `signals` | object | Сопоставители, которые определяют, когда plugin актуален. Требуется по крайней мере один сигнал, чтобы plugin был предложен. См. таблицу ниже. |

76 76 

77<h3 id="relevance-signals">77<h3 id="relevance-signals">


86| `filesRead` | array of strings | Glob-шаблоны, сопоставляемые с путями файлов, которые Claude прочитал в этом сеансе, например `["**/*.tf"]`. Нормализовано с прямыми слешами и без учёта регистра. Максимум 10 шаблонов по 256 символов каждый. |86| `filesRead` | array of strings | Glob-шаблоны, сопоставляемые с путями файлов, которые Claude прочитал в этом сеансе, например `["**/*.tf"]`. Нормализовано с прямыми слешами и без учёта регистра. Максимум 10 шаблонов по 256 символов каждый. |

87| `manifestDeps` | array of objects | Зависимости, объявленные в манифестах пакетов, которые Claude прочитал в этом сеансе. Каждая запись — это `{ "file": "...", "pattern": "..." }`, где `file` — это регулярное выражение, сопоставляемое с путём файла манифеста, как записано в состояние сеанса, обычно абсолютный путь, и `pattern` — это регулярное выражение, сопоставляемое с содержимым этого файла. Якорь `file` в конце, например `[/\\\\]package\\.json$` в JSON-экранированной форме, потому что шаблон с якорем в начале никогда не совпадает с абсолютным путём. Пути не нормализуются по разделителям для этого сигнала, поэтому пути Windows используют обратные слеши. Файлы манифеста размером более 512 КБ пропускаются. Оба значения — это строки источника JavaScript `RegExp` максимум по 256 символов. `file` совпадает без учёта регистра. `pattern` чувствителен к регистру. Максимум 10 записей. |87| `manifestDeps` | array of objects | Зависимости, объявленные в манифестах пакетов, которые Claude прочитал в этом сеансе. Каждая запись — это `{ "file": "...", "pattern": "..." }`, где `file` — это регулярное выражение, сопоставляемое с путём файла манифеста, как записано в состояние сеанса, обычно абсолютный путь, и `pattern` — это регулярное выражение, сопоставляемое с содержимым этого файла. Якорь `file` в конце, например `[/\\\\]package\\.json$` в JSON-экранированной форме, потому что шаблон с якорем в начале никогда не совпадает с абсолютным путём. Пути не нормализуются по разделителям для этого сигнала, поэтому пути Windows используют обратные слеши. Файлы манифеста размером более 512 КБ пропускаются. Оба значения — это строки источника JavaScript `RegExp` максимум по 256 символов. `file` совпадает без учёта регистра. `pattern` чувствителен к регистру. Максимум 10 записей. |

88 88 

89Сигналы `cli`, `hosts`, `filesRead` и `manifestDeps` требуют истории сеанса, поэтому они могут совпадать только на spinner tip и вкладке Discover. Сигналы `filesRead` и `manifestDeps` проверяют записанное состояние файлов сеанса, которое также включает файлы, которые Claude написал или отредактировал, и автоматически загруженные файлы памяти `CLAUDE.md`.89Сигналы `cli`, `hosts`, `filesRead` и `manifestDeps` требуют истории сеанса, поэтому они могут совпадать только на spinner tip и вкладке Discover. Сигналы `filesRead` и `manifestDeps` проверяют записанное состояние файлов сеанса, которое также включает файлы, которые Claude написал или отредактировал, и автоматически загруженные файлы памяти `CLAUDE.md`. Для этих двух сигналов Claude Code пропускает пути в своём собственном [каталоге конфигурации](/docs/ru/claude-directory) и его временных каталогах.

90 90 

91Следующий пример использует `manifestDeps` для предложения plugin Stripe после того, как Claude прочитал `package.json`, который зависит от `stripe`. Шаблон `file` использует `[/\\\\]`, поэтому он совпадает как с прямыми слешами, так и с обратными слешами, и `\\.`, поэтому точка является литеральной. В JSON каждый обратный слеш в регулярном выражении написан дважды.91Следующий пример использует `manifestDeps` для предложения plugin Stripe после того, как Claude прочитал `package.json`, который зависит от `stripe`. Шаблон `file` использует `[/\\\\]`, поэтому он совпадает как с прямыми слешами, так и с обратными слешами, и `\\.`, поэтому точка является литеральной. В JSON каждый обратный слеш в регулярном выражении написан дважды.

92 92 

plugins.md +2 −2

Details

75 ```75 ```

76 76 

77 | Поле | Назначение |77 | Поле | Назначение |

78 | :------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |78 | :------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

79 | `name` | Уникальный идентификатор и пространство имён skill. Skills имеют префикс этого (например, `/my-first-plugin:hello`). |79 | `name` | Уникальный идентификатор и пространство имён skill. Skills имеют префикс этого (например, `/my-first-plugin:hello`). |

80 | `description` | Показывается в менеджере plugins при просмотре или установке plugins. |80 | `description` | Показывается в менеджере plugins при просмотре или установке plugins. |

81 | `version` | Опционально. Если установлено, пользователи получают обновления только когда вы увеличиваете это поле, кроме как для источника [`command`](/docs/ru/plugin-marketplaces#command-sources); см. [управление версиями](/docs/ru/plugins-reference#version-management). Если опущено, версия берётся из следующего источника в [управлении версиями](/docs/ru/plugins-reference#version-management). |81 | `version` | Опционально. Если установлено, пользователи получают обновления только когда вы увеличиваете это поле, кроме как для источника [`command`](/docs/ru/plugin-marketplaces#command-sources) или plugin [загруженного на месте](/docs/ru/plugins-reference#plugin-caching-and-file-resolution); см. [управление версиями](/docs/ru/plugins-reference#version-management). Если опущено, версия берётся из следующего источника в [управлении версиями](/docs/ru/plugins-reference#version-management). |

82 | `author` | Опционально. Полезно для атрибуции. |82 | `author` | Опционально. Полезно для атрибуции. |

83 83 

84 Для дополнительных полей, таких как `homepage`, `repository` и `license`, см. [полную схему манифеста](/docs/ru/plugins-reference#plugin-manifest-schema).84 Для дополнительных полей, таких как `homepage`, `repository` и `license`, см. [полную схему манифеста](/docs/ru/plugins-reference#plugin-manifest-schema).

Details

40 40 

41Skills и commands автоматически обнаруживаются при установке плагина.41Skills и commands автоматически обнаруживаются при установке плагина.

42 42 

43Если плагин не имеет директории `skills/` и не имеет поля манифеста `skills`, то `SKILL.md` в корне плагина загружается как один skill. Установите поле frontmatter `name` для управления именем вызова skill. Без него Claude Code возвращается к имени директории установки, которое для плагинов, установленных из marketplace, является строкой версии, которая меняется при каждом обновлении. Для плагинов, которые поставляют более одного skill, используйте макет директории `skills/`, показанный выше.43Если плагин не имеет директории `skills/` и не имеет поля манифеста `skills`, то `SKILL.md` в корне плагина загружается как один skill. Установите поле frontmatter `name` для управления именем вызова skill. Без него Claude Code возвращается к имени директории установки. Для плагина [скопированного в кэш](#plugin-caching-and-file-resolution), это имя — строка версии, которая меняется при каждом обновлении. Для плагинов, которые поставляют более одного skill, используйте макет директории `skills/`, показанный выше.

44 44 

45В skills и commands плагинов логические поля frontmatter, такие как `disable-model-invocation`, принимают `yes`, `no`, `on`, `off`, `1` и `0` в любом регистре букв, в дополнение к `true` и `false`. До версии v2.1.218 Claude Code распознавал только `true` и `false`.45В skills и commands плагинов логические поля frontmatter, такие как `disable-model-invocation`, принимают `yes`, `no`, `on`, `off`, `1` и `0` в любом регистре букв, в дополнение к `true` и `false`. До версии v2.1.218 Claude Code распознавал только `true` и `false`.

46 46 


71Detailed system prompt for the agent describing its role, expertise, and behavior.71Detailed system prompt for the agent describing its role, expertise, and behavior.

72```72```

73 73 

74Агенты плагинов поддерживают поля frontmatter `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background` и `isolation`. Единственное допустимое значение `isolation` — это `"worktree"`. По соображениям безопасности `hooks`, `mcpServers` и `permissionMode` не поддерживаются для агентов, поставляемых плагинами.74Агенты плагинов поддерживают поля frontmatter `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background`, [`omitClaudeMd`](/docs/ru/sub-agents#supported-frontmatter-fields) и `isolation`. Единственное допустимое значение `isolation` — это `"worktree"`.

75 

76По соображениям безопасности агенты, поставляемые плагинами, не поддерживают `hooks`, `mcpServers` или `permissionMode`.

75 77 

76Claude Code загружает агента плагина даже когда его frontmatter не имеет `name` или не анализируется:78Claude Code загружает агента плагина даже когда его frontmatter не имеет `name` или не анализируется:

77 79 


99 101 

100**Формат**: JSON конфигурация с матчерами событий и действиями102**Формат**: JSON конфигурация с матчерами событий и действиями

101 103 

104`hooks/hooks.json` может содержать ключ верхнего уровня `$schema`, который указывает URL JSON Schema для автодополнения и валидации редактора. Claude Code игнорирует ключ при загрузке.

105 

102**Конфигурация hook**:106**Конфигурация hook**:

103 107 

104```json theme={null}108```json theme={null}


440 Плагины, синхронизированные с claude.ai444 Плагины, синхронизированные с claude.ai

441</h2>445</h2>

442 446 

443В [Cowork](https://claude.com/product/cowork) и [облачных сеансах](/docs/ru/cloud-environments#what-carries-over-from-your-setup) Claude Code загружает плагины, включённые для вашей учётной записи claude.ai, в `~/.claude/plugins/synced/` в собственной среде сеанса и загружает каждый как `<name>@synced`, без marketplace и без записи об установке. Claude Code не загружает их в сеансах, которые вы запускаете в собственном терминале. Внутри этой среды Cowork или облачной среды `claude plugin list` показывает загруженные копии под заголовком `Synced from claude.ai`. До версии 2.1.239 Claude Code загружал эти плагины как `<name>@inline`, идентификатор, который используют плагины `--plugin-dir`.447Claude Code загружает плагины, включённые для вашей учётной записи claude.ai, включая плагины, которые ваша организация включает для своих членов, наряду с плагинами, которые вы устанавливаете из marketplace. Он загружает каждый в `~/.claude/plugins/synced/` и загружает его как `<name>@synced`, без marketplace и без записи об установке. Синхронизированный плагин работает с тем же уровнем доверия, что и плагин marketplace, который вы установили: его skills, agents, hooks, MCP servers и LSP servers все загружаются.

448 

449Место, где Claude Code синхронизирует эти плагины, зависит от сеанса:

450 

451* В [Cowork](https://claude.com/product/cowork) и [облачных сеансах](/docs/ru/cloud-environments#what-carries-over-from-your-setup) Claude Code загружает их в собственную среду сеанса при запуске сеанса. До версии 2.1.239 Claude Code загружал эти плагины как `<name>@inline`, идентификатор, который используют плагины `--plugin-dir`.

452* В сеансах терминала, где вы входите с помощью своей учётной записи claude.ai, Claude Code проверяет вашу учётную запись один раз каждый раз при запуске, затем загружает новые и обновлённые плагины и удаляет те, которые вы или ваша организация отключили, всё в фоновом режиме. Синхронизация в сеансах терминала требует Claude Code версии 2.1.273 или позже.

453 

454Проверка при запуске выполняется в фоновом режиме, поэтому она может завершиться после того, как ваш сеанс начался. Когда она добавляет, обновляет или удаляет синхронизированный плагин в интерактивном сеансе, Claude Code показывает `Plugins changed. Run /reload-plugins to activate.` Запустите [`/reload-plugins`](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting), чтобы загрузить изменение в этом сеансе, или оставьте его на следующий раз, когда вы запустите Claude Code. Если вы включите плагин на claude.ai во время работы сеанса, Claude Code загружает его при следующем запуске.

444 455 

445Управляйте синхронизированным плагином по ID `<name>@synced`, который выводит `claude plugin list`:456Синхронизация плагинов в сеансах терминала выполняется при тех же условиях входа, что и [skills, синхронизированные с claude.ai](/docs/ru/skills#where-synced-skills-load). Это также требует входа, который предоставляет Claude Code доступ к плагинам вашей учётной записи.

446 457 

447* **Отключить один**: в синхронизированном сеансе запустите `claude plugin disable <name>@synced` или попросите Claude запустить это. Claude Code сохраняет выбор как `"<name>@synced": false` в [`enabledPlugins`](/docs/ru/settings-reference#enabledplugins) этой среды на уровне пользователя. Чтобы включить плагин обратно, запустите `claude plugin enable <name>@synced` в том же сеансе. Чтобы исключить плагин из всех синхронизированных сеансов, [отключите его для вашей учётной записи claude.ai](/docs/ru/desktop#extend-claude-code). Чтобы исключить его из синхронизированных сеансов одного проекта в каждой среде, установите `"<name>@synced": false` под `enabledPlugins` в файле `.claude/settings.json` этого проекта.458Вход из более ранней версии Claude Code получает доступ к плагинам при следующем обновлении Claude Code этого входа в фоновом режиме, в течение нескольких часов, или сразу же, если вы снова запустите `/login`. Синхронизация плагинов начинается при следующем запуске Claude Code после этого.

448* **Управляйте самим плагином на claude.ai**: `claude plugin install`, `update` и `uninstall` не применяются к синхронизированному плагину. Чтобы удалить его, отключите плагин для вашей учётной записи claude.ai; следующий синхронизированный сеанс начнётся без него.

449 459 

450Когда включённый плагин из любого другого источника, такой как установка из marketplace, плагин [каталога навыков](#skills-directory-plugins) или плагин `--plugin-dir`, совпадает по имени с синхронизированным плагином, Claude Code загружает этот плагин и сообщает, что синхронизированная копия не загружена. Чтобы использовать копию с claude.ai, отключите свою копию. До версии 2.1.239 Claude Code загружал синхронизированную копию вместо установки из marketplace с тем же именем.460`claude plugin list` показывает синхронизированные плагины под заголовком `Synced from claude.ai`, и вкладка **Installed** в `/plugin` перечисляет их с `synced` в качестве источника. Управляйте синхронизированным плагином по ID `<name>@synced`, который выводит `claude plugin list`:

461 

462* **Отключить один**: запустите `claude plugin disable <name>@synced` или отключите его на вкладке **Installed** в `/plugin`. Claude Code сохраняет выбор как `"<name>@synced": false` в [`enabledPlugins`](/docs/ru/settings-reference#enabledplugins) на уровне пользователя. Чтобы включить плагин обратно, запустите `claude plugin enable <name>@synced`.

463* **Исключить один везде**: [отключите плагин для вашей учётной записи claude.ai](/docs/ru/desktop#extend-claude-code). Чтобы исключить его из одного проекта в каждой среде, установите `"<name>@synced": false` под `enabledPlugins` в файле `.claude/settings.json` этого проекта.

464* **Управляйте самим плагином на claude.ai**: `claude plugin install`, `update` и `uninstall` не применяются к синхронизированному плагину. Claude Code загружает обновления плагина при следующей синхронизации. Чтобы удалить его, отключите плагин для вашей учётной записи claude.ai, и Claude Code удалит его при следующей синхронизации.

465* **Остановить синхронизацию на машине**: установите [`syncClaudeAiPlugins`](/docs/ru/settings-reference#syncclaudeaiplugins) в `false` в ваших пользовательских настройках. Claude Code прекращает загрузку, и при следующем запуске он перемещает уже синхронизированные плагины в `~/.claude/plugins/.trash/` и больше их не загружает. Ваша организация может установить тот же ключ в [управляемых настройках](/docs/ru/managed-settings), или отключить Skills на claude.ai, что также останавливает синхронизацию плагинов.

466 

467Вы не можете отключить плагин, который ваша организация отмечает как обязательный на claude.ai. Claude Code загружает его даже если вы отключили его ранее, и `claude plugin disable` отказывает с `Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.` В `claude plugin list` эти плагины отмечены как `required by your org`.

468 

469Когда включённый плагин из любого другого источника совпадает по имени с синхронизированным плагином, Claude Code загружает этот плагин и сообщает, что синхронизированная копия не загружена. Другие источники включают установки из marketplace, [плагины каталога skills](#skills-directory-plugins), плагины `--plugin-dir` и плагины, встроенные в Claude Code. Чтобы использовать копию с claude.ai, отключите свою копию. До версии 2.1.239 Claude Code загружал синхронизированную копию вместо установки из marketplace с тем же именем.

451 470 

452***471***

453 472 


534</h3>553</h3>

535 554 

536| Поле | Тип | Описание | Пример |555| Поле | Тип | Описание | Пример |

537| :--------------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |556| :--------------- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

538| `$schema` | string | URL JSON Schema для автодополнения и валидации редактора. Claude Code игнорирует это поле во время загрузки. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |557| `$schema` | string | URL JSON Schema для автодополнения и валидации редактора. Claude Code игнорирует это поле во время загрузки. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |

539| `displayName` | string | Читаемое имя, отображаемое в средстве выбора `/plugin` и других поверхностях пользовательского интерфейса. Для плагина, установленного с маркетплейса, `displayName` в [записи маркетплейса](/docs/ru/plugin-marketplaces#optional-plugin-fields) имеет приоритет над этим значением. Когда имя отображения не установлено ни в одном месте, пользователи видят `name`. В отличие от `name`, может содержать пробелы и любой регистр. Не используется для пространства имён или поиска. | `"Deployment Tools"` |558| `displayName` | string | Читаемое имя, отображаемое в средстве выбора `/plugin` и других поверхностях пользовательского интерфейса. Для плагина, установленного с маркетплейса, `displayName` в [записи маркетплейса](/docs/ru/plugin-marketplaces#optional-plugin-fields) имеет приоритет над этим значением. Когда имя отображения не установлено ни в одном месте, пользователи видят `name`. В отличие от `name`, может содержать пробелы и любой регистр. Не используется для пространства имён или поиска. | `"Deployment Tools"` |

540| `version` | string | Необязательно. Семантическая версия. Установка этого параметра закрепляет плагин на этой строке версии, поэтому пользователи получают обновления только при её изменении, за исключением [источника `command`](/docs/ru/plugin-marketplaces#command-sources); см. [Управление версиями](#version-management). Если также установлено в записи маркетплейса, `plugin.json` имеет приоритет. Если опущено, версия берётся из следующего источника в [Управлении версиями](#version-management). | `"2.1.0"` |559| `version` | string | Необязательно. Семантическая версия. Установка этого параметра закрепляет плагин на этой строке версии, поэтому пользователи получают обновления только при её изменении, за исключением [источника `command`](/docs/ru/plugin-marketplaces#command-sources) или плагина [загруженного на месте](#plugin-caching-and-file-resolution); см. [Управление версиями](#version-management). Если также установлено в записи маркетплейса, `plugin.json` имеет приоритет. Если опущено, версия берётся из следующего источника в [Управлении версиями](#version-management). | `"2.1.0"` |

541| `description` | string | Краткое объяснение назначения плагина | `"Deployment automation tools"` |560| `description` | string | Краткое объяснение назначения плагина | `"Deployment automation tools"` |

542| `author` | object | Информация об авторе | `{"name": "Dev Team", "email": "dev@company.com"}` |561| `author` | object | Информация об авторе | `{"name": "Dev Team", "email": "dev@company.com"}` |

543| `homepage` | string | URL документации | `"https://docs.example.com"` |562| `homepage` | string | URL документации | `"https://docs.example.com"` |


577| `experimental.themes` | string\|array | Файлы цветовых тем/каталоги (заменяет значение по умолчанию `themes/`). См. [Темы](#themes) | `"./themes/"` |596| `experimental.themes` | string\|array | Файлы цветовых тем/каталоги (заменяет значение по умолчанию `themes/`). См. [Темы](#themes) | `"./themes/"` |

578| `experimental.monitors` | string\|array | Конфигурации фонового [Monitor](/docs/ru/tools-reference#monitor-tool), которые запускаются автоматически при активном плагине. См. [Мониторы](#monitors) | `"./monitors.json"` |597| `experimental.monitors` | string\|array | Конфигурации фонового [Monitor](/docs/ru/tools-reference#monitor-tool), которые запускаются автоматически при активном плагине. См. [Мониторы](#monitors) | `"./monitors.json"` |

579| `experimental.evals` | string\|array | Каталог ниже корня плагина, который содержит [тестовые случаи eval](/docs/ru/plugin-evals#use-a-different-eval-directory) плагина, когда это не каталог по умолчанию `evals/`. `claude plugin eval --eval-dir` переопределяет его | `"quality/evals"` |598| `experimental.evals` | string\|array | Каталог ниже корня плагина, который содержит [тестовые случаи eval](/docs/ru/plugin-evals#use-a-different-eval-directory) плагина, когда это не каталог по умолчанию `evals/`. `claude plugin eval --eval-dir` переопределяет его | `"quality/evals"` |

580| `userConfig` | object | Значения, настраиваемые пользователем, запрашиваемые при включении. См. [Конфигурация пользователя](#user-configuration) | См. ниже |599| `userConfig` | object | Значения, настраиваемые пользователем, запрашиваемые при включении. См. [Конфигурация пользователя](#user-configuration) | |

581| `channels` | array | Объявления каналов для внедрения сообщений (стиль Telegram, Slack, Discord). См. [Каналы](#channels) | См. ниже |600| `channels` | array | Объявления каналов для внедрения сообщений (стиль Telegram, Slack, Discord). См. [Каналы](#channels) | |

582| `dependencies` | array | Другие плагины, которые требует этот плагин, опционально с ограничениями версии semver. См. [Ограничение версий зависимостей плагина](/docs/ru/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |601| `dependencies` | array | Другие плагины, которые требует этот плагин, опционально с ограничениями версии semver. См. [Ограничение версий зависимостей плагина](/docs/ru/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |

583 602 

584<h3 id="experimental-components">603<h3 id="experimental-components">


614Ключи должны быть допустимыми идентификаторами. Каждый параметр поддерживает эти поля:633Ключи должны быть допустимыми идентификаторами. Каждый параметр поддерживает эти поля:

615 634 

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

617| :------------ | :---------- | :-------------------------------------------------------------------------------------------- |636| :------------ | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |

618| `type` | Да | Одно из `string`, `number`, `boolean`, `directory` или `file` |637| `type` | Да | Одно из `string`, `number`, `boolean`, `directory` или `file` |

619| `title` | Да | Метка, отображаемая в диалоговом окне конфигурации |638| `title` | Да | Метка, отображаемая в диалоговом окне конфигурации |

620| `description` | Да | Справочный текст, отображаемый под полем |639| `description` | Да | Справочный текст, отображаемый под полем |

621| `sensitive` | Нет | Если `true`, скрывает ввод и сохраняет значение в защищённом хранилище вместо `settings.json` |640| `sensitive` | Нет | Если `true`, скрывает ввод и сохраняет значение в защищённом хранилище вместо `settings.json` |

622| `required` | Нет | Если `true`, валидация не пройдёт, когда поле пусто |641| `required` | Нет | Если `true`, валидация не пройдёт, когда поле пусто |

623| `default` | Нет | Значение, используемое, когда пользователь ничего не предоставляет |642| `default` | Нет | Значение, используемое, когда пользователь ничего не предоставляет |

643| `options` | Нет | Для типа `string`, значения, которые принимает поле, отображаемые в `/config` как средство выбора над ними. Требует Claude Code v2.1.271 или позже |

624| `multiple` | Нет | Для типа `string`, разрешить массив строк |644| `multiple` | Нет | Для типа `string`, разрешить массив строк |

625| `min` / `max` | Нет | Границы для типа `number` |645| `min` / `max` | Нет | Границы для типа `number` |

626 646 

647За исключением полей `sensitive` и списков `multiple`, каждое поле каждого включённого плагина также отображается как строка на панели `/config`. Строки требуют Claude Code v2.1.269 или позже.

648 

627Каждое значение доступно для подстановки как `${user_config.KEY}` в конфигурациях MCP и LSP серверов и командах hooks. Нечувствительные значения также могут быть подставлены в содержимое skills и agents. Все значения экспортируются в процессы hooks как переменные окружения `CLAUDE_PLUGIN_OPTION_<KEY>`, где `<KEY>` — это ключ параметра в верхнем регистре.649Каждое значение доступно для подстановки как `${user_config.KEY}` в конфигурациях MCP и LSP серверов и командах hooks. Нечувствительные значения также могут быть подставлены в содержимое skills и agents. Все значения экспортируются в процессы hooks как переменные окружения `CLAUDE_PLUGIN_OPTION_<KEY>`, где `<KEY>` — это ключ параметра в верхнем регистре.

628 650 

629Поля, которые работают в оболочке, отклоняют `${user_config.*}`: подстановка настроенного значения в команду оболочки позволила бы оболочке запустить всё, что содержит это значение, поэтому компонент не работает с [ошибкой](/docs/ru/errors#plugin-command-references-user-config). Каждое отклонённое поле имеет альтернативный способ передачи значения:651Поля, которые работают в оболочке, отклоняют `${user_config.*}`: подстановка настроенного значения в команду оболочки позволила бы оболочке запустить всё, что содержит это значение, поэтому компонент не работает с [ошибкой](/docs/ru/errors#plugin-command-references-user-config). Каждое отклонённое поле имеет альтернативный способ передачи значения:


733| `${CLAUDE_PLUGIN_DATA}` | [Постоянный каталог](#persistent-data-directory), который сохраняется при обновлениях плагина, создаётся при первой ссылке | Установленные зависимости, такие как `node_modules` или виртуальные окружения Python, сгенерированный код и кэши |755| `${CLAUDE_PLUGIN_DATA}` | [Постоянный каталог](#persistent-data-directory), который сохраняется при обновлениях плагина, создаётся при первой ссылке | Установленные зависимости, такие как `node_modules` или виртуальные окружения Python, сгенерированный код и кэши |

734| `${CLAUDE_PROJECT_DIR}` | Корень проекта | Локальные скрипты и файлы конфигурации проекта |756| `${CLAUDE_PROJECT_DIR}` | Корень проекта | Локальные скрипты и файлы конфигурации проекта |

735 757 

736Все три экспортируются как переменные окружения в процессы hooks и в подпроцессы MCP и LSP серверов. Какие поля подставляют их встроенно, зависит от компонента плагина:758Все три экспортируются как переменные окружения в процессы hooks и в подпроцессы MCP и LSP серверов. Они не присутствуют в окружении команд, которые Claude запускает через инструмент Bash, в основном сеансе или в подагенте. В содержимом плагина напишите заполнитель вместо этого, и Claude Code подставит путь встроенно при загрузке содержимого. Какие поля подставляют их встроенно, зависит от компонента плагина:

737 759 

738| Компонент плагина | Поля, где разрешаются заполнители |760| Компонент плагина | Поля, где разрешаются заполнители |

739| :------------------------------ | :------------------------------------------ |761| :------------------------------ | :------------------------------------------ |


762}784}

763```785```

764 786 

765`${CLAUDE_PLUGIN_ROOT}` изменяется при обновлении плагина. Каталог предыдущей версии остаётся на диске в течение периода благодати после обновления, но рассматривайте его как эфемерный и не записывайте состояние туда. См. [кэширование плагина](#plugin-caching-and-file-resolution) для семантики очистки.787`${CLAUDE_PLUGIN_ROOT}` изменяется при обновлении плагина. Каталог предыдущей версии остаётся на диске в течение периода благодати после обновления, но рассматривайте его как эфемерный и не записывайте состояние туда. См. [кэширование плагина](#plugin-caching-and-file-resolution) для того, какие плагины копируются и для семантики очистки.

766 788 

767Когда плагин обновляется в середине сеанса, команды hooks, мониторы, MCP серверы и LSP серверы продолжают использовать путь предыдущей версии. Запустите `/reload-plugins`, чтобы переключить hooks, MCP серверы и LSP серверы на новый путь; мониторы требуют перезагрузки сеанса. В сеансе без интерактивного терминала перезагрузка оставляет MCP серверы плагина на старом пути до следующего сеанса.789Когда плагин обновляется в середине сеанса, команды hooks, мониторы, MCP серверы и LSP серверы продолжают использовать путь предыдущей версии. Запустите `/reload-plugins`, чтобы переключить hooks, MCP серверы и LSP серверы на новый путь; мониторы требуют перезагрузки сеанса. В сеансе без интерактивного терминала перезагрузка оставляет MCP серверы плагина на старом пути до следующего сеанса.

768 790 


825 Кеширование плагинов и разрешение файлов847 Кеширование плагинов и разрешение файлов

826</h2>848</h2>

827 849 

828Плагины указываются одним из двух способов:850Плагины указываются одним из трёх способов:

829 851 

830* Через `claude --plugin-dir` или `claude --plugin-url` на время сеанса.852* Через `claude --plugin-dir` или `claude --plugin-url` на время сеанса.

831* Через marketplace, установленные для будущих сеансов.853* Через marketplace, установленные для будущих сеансов.

854* Через ваш аккаунт claude.ai, [синхронизированные](#synced-plugins) в `~/.claude/plugins/synced/`.

832 855 

833В целях безопасности и верификации Claude Code копирует плагины из *marketplace* в локальный **кеш плагинов** пользователя (`~/.claude/plugins/cache`) вместо использования их на месте, за исключением [`command` источников в режиме link](/docs/ru/plugin-marketplaces#copy-mode-and-link-mode), которые Claude Code использует на месте через ссылки в записи кеша.856В целях безопасности и верификации Claude Code копирует плагины из *marketplace* в локальный **кеш плагинов** пользователя (`~/.claude/plugins/cache`), за исключением случаев, когда плагин загружается на месте. [`command` источник в режиме link](/docs/ru/plugin-marketplaces#copy-mode-and-link-mode) загружается на месте через ссылки в записи кеша. [Источник с относительным путём](/docs/ru/plugin-marketplaces#relative-paths) в marketplace, добавленном из локального каталога, загружается на месте из папки marketplace.

857 

858Для плагина, загруженного на месте из marketplace локального каталога, ваши изменения в исходном каталоге вступают в силу при следующем запуске сеанса или `/reload-plugins`. Вам не нужно увеличивать версию. Процессы hook плагина и серверы MCP и LSP получают `CLAUDE_PLUGIN_ROOT`, который указывает на исходный каталог. Claude Code не устанавливает [зависимости пакетов Node.js](#node-js-package-dependencies) плагина в исходный каталог. Установите их там самостоятельно или из hook в [каталог постоянных данных](#persistent-data-directory).

834 859 

835Для скопированных плагинов каждая установленная версия представляет собой отдельный каталог в кеше, сгруппированный по marketplace и плагину и названный по разрешённой версии, с собственной копией файлов плагина и [зависимостей пакетов Node.js](#node-js-package-dependencies). Зависимость, разрешённая из [тега релиза](/docs/ru/plugin-dependencies#tag-plugin-releases-for-version-resolution), получает имя каталога с суффиксом commit-SHA.860Для скопированных плагинов каждая установленная версия представляет собой отдельный каталог в кеше, сгруппированный по marketplace и плагину и названный по разрешённой версии, с собственной копией файлов плагина и [зависимостей пакетов Node.js](#node-js-package-dependencies). Зависимость, разрешённая из [тега релиза](/docs/ru/plugin-dependencies#tag-plugin-releases-for-version-resolution), получает имя каталога с суффиксом commit-SHA.

836 861 


853| `bun.lock` или `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |878| `bun.lock` или `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |

854| `npm-shrinkwrap.json` или `package-lock.json` | `npm ci --ignore-scripts` |879| `npm-shrinkwrap.json` или `package-lock.json` | `npm ci --ignore-scripts` |

855 880 

856Если плагин содержит более одного из этих файлов блокировки, Claude Code использует первое совпадение, проверяя по порядку: `bun.lock`, `bun.lockb`, `npm-shrinkwrap.json`, `package-lock.json`. Claude Code пропускает `yarn.lock` и `pnpm-lock.yaml`, потому что Yarn и pnpm поддерживают хуки конфигурации во время разрешения, которые обходят `--ignore-scripts`.881Если плагин содержит более одного из этих файлов блокировки, Claude Code использует первое совпадение, проверяя по порядку: `bun.lock`, `bun.lockb`, `npm-shrinkwrap.json`, `package-lock.json`.

882 

883Claude Code пропускает установку в двух случаях, каждый со своим решением:

884 

885* Если ваш плагин поставляется только с `yarn.lock` или `pnpm-lock.yaml`, замените его на файл блокировки npm.

886* Если `bunfig.toml` находится рядом с файлом блокировки bun, удалите `bunfig.toml` или замените файл блокировки bun на файл блокировки npm.

857 887 

858Поставляйте файл блокировки npm для максимального охвата. Claude Code запускает менеджер пакетов файла блокировки из PATH пользователя и не переходит на другой файл блокировки, если он отсутствует. Для плагина, распространяемого через источник npm, используйте `npm-shrinkwrap.json`; npm исключает `package-lock.json` из опубликованных пакетов.888Поставляйте файл блокировки npm для максимального охвата. Claude Code запускает менеджер пакетов файла блокировки из PATH пользователя и не переходит на другой файл блокировки, если он отсутствует. Для плагина, распространяемого через источник npm, используйте `npm-shrinkwrap.json`; npm исключает `package-lock.json` из опубликованных пакетов.

859 889 


863* **Без скриптов жизненного цикла:** `--ignore-scripts` предотвращает запуск скриптов `preinstall`, `install` и `postinstall`, поэтому зависимости, которые собирают нативные модули в этих скриптах, загружаются, но не компилируются во время этой установки.893* **Без скриптов жизненного цикла:** `--ignore-scripts` предотвращает запуск скриптов `preinstall`, `install` и `postinstall`, поэтому зависимости, которые собирают нативные модули в этих скриптах, загружаются, но не компилируются во время этой установки.

864* **Тайм-аут 60 секунд:** Claude Code останавливает установку, которая работает дольше, и рассматривает её как неудачную.894* **Тайм-аут 60 секунд:** Claude Code останавливает установку, которая работает дольше, и рассматривает её как неудачную.

865 895 

866Получение самого плагина из источника npm запускает `npm install` с включёнными скриптами жизненного цикла, прежде чем запустится эта установка зависимостей.896Claude Code получает плагин из источника npm перед этой установкой зависимостей, и ни один из собственных скриптов установки пакета не запускается во время получения. См. [пакеты npm](/docs/ru/plugin-marketplaces#npm-packages).

867 897 

868Неудачная или пропущенная установка никогда не блокирует плагин. Когда установка не удаётся или Claude Code пропускает файл блокировки yarn или pnpm, он записывает причину как предупреждение в [выходе отладки](#debugging-commands). Плагин с `package.json` и без файла блокировки пропускается без записи в журнал. Истёкшая по времени установка может оставить частичное дерево `node_modules` в кешированной копии.898Неудачная или пропущенная установка никогда не блокирует плагин. Когда установка не удаётся или Claude Code пропускает её из-за файла блокировки yarn или pnpm или `bunfig.toml`, он записывает причину как предупреждение в [выходе отладки](#debugging-commands). Плагин с `package.json` и без файла блокировки пропускается без записи в журнал. Истёкшая по времени установка может оставить частичное дерево `node_modules` в кешированной копии.

869 899 

870Вы не можете отключить автоматическую установку; никакая настройка или переменная окружения её не отключает. В ограниченных сетях см. [требования к сетевому доступу](/docs/ru/network-config#network-access-requirements) для хостов, которые нужно разрешить.900Вы не можете отключить автоматическую установку; никакая настройка или переменная окружения её не отключает. В ограниченных сетях см. [требования к сетевому доступу](/docs/ru/network-config#network-access-requirements) для хостов, которые нужно разрешить.

871 901 


1037# Создать минимальный плагин1067# Создать минимальный плагин

1038claude plugin init my-helper1068claude plugin init my-helper

1039 1069 

1040# Создать с папками навыков и хуков1070# Создать с папками навыков и hooks

1041claude plugin init my-helper --with skills hooks1071claude plugin init my-helper --with skills hooks

1042 1072 

1043# Перезаписать существующий скаффолд1073# Перезаписать существующий скаффолд


1061Команда принимает эти опции:1091Команда принимает эти опции:

1062 1092 

1063| Опция | Описание | По умолчанию |1093| Опция | Описание | По умолчанию |

1064| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------- |1094| :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------- |

1065| `-s, --scope <scope>` | Область установки: `user`, `project` или `local` | `user` |1095| `-s, --scope <scope>` | Область установки: `user`, `project` или `local` | `user` |

1066| `--config <key=value>` | Установить опцию [`userConfig`](#user-configuration), объявленную в манифесте плагина. Повторите флаг для установки нескольких опций | |1096| `--config <key=value>` | Установить опцию [`userConfig`](#user-configuration), объявленную в манифесте плагина. Повторите флаг для установки нескольких опций | |

1067| `-y, --yes` | Принять команду, которую объявляет маркетплейс плагина, без подтверждения: команду, которая создаёт плагин с [источником `command`](/docs/ru/plugin-marketplaces#command-sources), или [`headersHelper`](/docs/ru/plugin-marketplaces#authenticate-archive-downloads), который аутентифицирует загрузку архива. Принятие `headersHelper` требует Claude Code v2.1.238 или позже. Claude Code всё равно выводит команду первой. Требуется, когда stdin или stdout не является TTY. Не имеет эффекта внутри сессии Claude Code, поэтому запустите команду из вашего собственного терминала | |1097| `-y, --yes` | Принять команду, которую объявляет маркетплейс плагина, без подтверждения: команду, которая создаёт плагин с [источником `command`](/docs/ru/plugin-marketplaces#command-sources), или [`headersHelper`](/docs/ru/plugin-marketplaces#authenticate-archive-downloads), который аутентифицирует загрузку архива. Принятие `headersHelper` требует Claude Code v2.1.238 или позже. Claude Code всё равно выводит команду первой. Требуется, когда stdin или stdout не является TTY, если вы не передаёте `--accept-command`. Не имеет эффекта внутри сессии Claude Code, поэтому запустите команду из вашего собственного терминала | |

1098| `--accept-command <sha256>` | Принять объявленную маркетплейсом команду, чей `sha256` предыдущий запуск [`--json`](#plugin-json-result) сообщил в `shownCommand`, вместо `-y`. Принятие считается ровно для этой команды, плагина и каталога маркетплейса. Если любой из них изменился с момента отображения команды, включая через собственный запуск маркетплейса, Claude Code не принимает дайджест и показывает команду снова. Не может быть объединено с `-y`. Не имеет эффекта внутри сессии Claude Code, поэтому запустите команду из вашего собственного терминала. Требует Claude Code v2.1.271 или позже | |

1068| `--json` | Вывести результат как один объект JSON на последней строке stdout вместо удобочитаемого сообщения для использования в скриптах. См. [Формат результата JSON](#plugin-json-result). Требует Claude Code v2.1.268 или позже | |1099| `--json` | Вывести результат как один объект JSON на последней строке stdout вместо удобочитаемого сообщения для использования в скриптах. См. [Формат результата JSON](#plugin-json-result). Требует Claude Code v2.1.268 или позже | |

1069| `-h, --help` | Показать справку по команде | |1100| `-h, --help` | Показать справку по команде | |

1070 1101 


1078 1109 

1079Другие поля, такие как `pluginId`, `scope` и `failureCode`, появляются только когда они применимы. Опция `--json` на `plugin uninstall`, `plugin update`, `plugin enable` и `plugin disable` выводит тот же объект с собственными полями этой подкоманды. Ошибка использования, такая как недопустимый `--scope`, не выводит строку результата и выходит с кодом 1 с причиной на stderr.1110Другие поля, такие как `pluginId`, `scope` и `failureCode`, появляются только когда они применимы. Опция `--json` на `plugin uninstall`, `plugin update`, `plugin enable` и `plugin disable` выводит тот же объект с собственными полями этой подкоманды. Ошибка использования, такая как недопустимый `--scope`, не выводит строку результата и выходит с кодом 1 с причиной на stderr.

1080 1111 

1112Когда запуск отображает объявленную маркетплейсом команду и не запускает её, результат `failed` также содержит объект `shownCommand`, чьи поля включают команду как отображённую, плагин, к которому она принадлежит, и `sha256` команды. Чтобы принять ровно эту команду, повторно запустите с этим `sha256` как `--accept-command`. Требует Claude Code v2.1.271 или позже.

1113 

1114Если `shownCommand.acceptCommandMatched` равно `false`, дайджест, который вы передали, не совпадает с командой, которая сейчас отображается. Покажите эту команду человеку перед передачей её `sha256`.

1115 

1081Эти примеры показывают распространённые вызовы:1116Эти примеры показывают распространённые вызовы:

1082 1117 

1083```bash theme={null}1118```bash theme={null}


1159 1194 

1160Команда принимает эти аргументы:1195Команда принимает эти аргументы:

1161 1196 

1162* `<plugin>`: Имя плагина или `plugin-name@marketplace-name`1197* `<plugin>`: Имя плагина, `plugin-name@marketplace-name` или `plugin-name@synced` для [плагина, синхронизированного из claude.ai](#synced-plugins)

1163 1198 

1164Команда принимает эти опции:1199Команда принимает эти опции:

1165 1200 


1173 plugin disable1208 plugin disable

1174</h3>1209</h3>

1175 1210 

1176Отключите плагин без его удаления. Когда целевой плагин установлен из маркетплейса, команда завершается с ошибкой, если другой включённый плагин [зависит от](/docs/ru/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies) него. Сообщение об ошибке включает цепочку команд, которая сначала отключает каждый зависимый плагин.1211Отключите плагин без его удаления.

1212 

1213Когда целевой плагин установлен из маркетплейса, команда завершается с ошибкой, если другой включённый плагин [зависит от](/docs/ru/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies) него. Сообщение об ошибке включает цепочку команд, которая сначала отключает каждый зависимый плагин.

1214 

1215Для [синхронизированного плагина](#synced-plugins), который требует ваша организация, команда завершается с ошибкой и ничего не сохраняет.

1177 1216 

1178```bash theme={null}1217```bash theme={null}

1179claude plugin disable [plugin] [options]1218claude plugin disable [plugin] [options]


1181 1220 

1182Команда принимает эти аргументы:1221Команда принимает эти аргументы:

1183 1222 

1184* `[plugin]`: Имя плагина или `plugin-name@marketplace-name`. Опционально при использовании `--all`1223* `[plugin]`: Имя плагина, `plugin-name@marketplace-name` или `plugin-name@synced` для [плагина, синхронизированного из claude.ai](#synced-plugins). Опционально при использовании `--all`

1185 1224 

1186Команда принимает эти опции:1225Команда принимает эти опции:

1187 1226 


1209Команда принимает эти опции:1248Команда принимает эти опции:

1210 1249 

1211| Опция | Описание | По умолчанию |1250| Опция | Описание | По умолчанию |

1212| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------- |1251| :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------- |

1213| `-s, --scope <scope>` | Область для обновления: `user`, `project`, `local` или `managed` | `user` |1252| `-s, --scope <scope>` | Область для обновления: `user`, `project`, `local` или `managed` | `user` |

1214| `-y, --yes` | Принять команду, которую объявляет маркетплейс плагина, без подтверждения: команду, которая создаёт плагин с [источником `command`](/docs/ru/plugin-marketplaces#command-sources), или [`headersHelper`](/docs/ru/plugin-marketplaces#authenticate-archive-downloads), который аутентифицирует загрузку архива. Принятие `headersHelper` требует Claude Code v2.1.238 или позже. Claude Code всё равно выводит команду первой. Требуется, когда stdin или stdout не является TTY. Не имеет эффекта внутри сессии Claude Code, поэтому запустите команду из вашего собственного терминала | |1253| `-y, --yes` | Принять команду, которую объявляет маркетплейс плагина, без подтверждения: команду, которая создаёт плагин с [источником `command`](/docs/ru/plugin-marketplaces#command-sources), или [`headersHelper`](/docs/ru/plugin-marketplaces#authenticate-archive-downloads), который аутентифицирует загрузку архива. Принятие `headersHelper` требует Claude Code v2.1.238 или позже. Claude Code всё равно выводит команду первой. Требуется, когда stdin или stdout не является TTY, если вы не передаёте `--accept-command`. Не имеет эффекта внутри сессии Claude Code, поэтому запустите команду из вашего собственного терминала | |

1254| `--accept-command <sha256>` | Принять объявленную маркетплейсом команду, чей `sha256` предыдущий запуск [`--json`](#plugin-json-result) сообщил в `shownCommand`, вместо `-y`. Принятие считается ровно для этой команды, плагина и каталога маркетплейса. Если любой из них изменился с момента отображения команды, включая через собственный запуск маркетплейса, Claude Code не принимает дайджест и показывает команду снова. Не может быть объединено с `-y`. Не имеет эффекта внутри сессии Claude Code, поэтому запустите команду из вашего собственного терминала. Требует Claude Code v2.1.271 или позже | |

1215| `--json` | Вывести результат как один объект JSON на последней строке stdout в [том же формате, что и `plugin install --json`](#plugin-json-result). Требует Claude Code v2.1.268 или позже | |1255| `--json` | Вывести результат как один объект JSON на последней строке stdout в [том же формате, что и `plugin install --json`](#plugin-json-result). Требует Claude Code v2.1.268 или позже | |

1216| `-h, --help` | Показать справку по команде | |1256| `-h, --help` | Показать справку по команде | |

1217 1257 


1242В интерактивной сессии `/plugin list` выводит похожий список встроенным образом, но охватывает только плагины, установленные из маркетплейса:1282В интерактивной сессии `/plugin list` выводит похожий список встроенным образом, но охватывает только плагины, установленные из маркетплейса:

1243 1283 

1244* Плагины, загруженные из каталогов навыков, появляются в интерфейсе `/plugin` и в `claude plugin list`, но не в выводе встроенного `/plugin list`.1284* Плагины, загруженные из каталогов навыков, появляются в интерфейсе `/plugin` и в `claude plugin list`, но не в выводе встроенного `/plugin list`.

1245* На Claude Code v2.1.239 или позже [плагины, синхронизированные из claude.ai](#synced-plugins), появляются в `claude plugin list` при запуске в окружении, где синхронизированная сессия их загрузила. Они не появляются в выводе встроенного `/plugin list`.1285* [Плагины, синхронизированные из claude.ai](#synced-plugins) появляются в `claude plugin list` на Claude Code v2.1.239 или позже и в интерфейсе `/plugin`, но не в выводе встроенного `/plugin list`.

1246* Плагины, загруженные для сессии с `--plugin-dir` или `--plugin-url`, появляются в интерфейсе `/plugin` и в `claude plugin list` только когда тот же флаг предшествует подкоманде, как в `claude --plugin-dir <dir> plugin list`. Только имя флага указывает их местоположение, поэтому простой `claude plugin list` не может их найти, в отличие от синхронизированных плагинов и плагинов из каталога навыков, чьи фиксированные каталоги сканирует Claude Code.1286* Плагины, загруженные для сессии с `--plugin-dir` или `--plugin-url`, появляются в интерфейсе `/plugin` и в `claude plugin list` только когда тот же флаг предшествует подкоманде, как в `claude --plugin-dir <dir> plugin list`. Только имя флага указывает их местоположение, поэтому простой `claude plugin list` не может их найти, в отличие от синхронизированных плагинов и плагинов из каталога навыков, чьи фиксированные каталоги сканирует Claude Code.

1247 1287 

1248Интерактивная форма принимает `--enabled` или `--disabled` для отображения только плагинов в этом состоянии и `ls` как сокращение для `list`.1288Интерактивная форма принимает `--enabled` или `--disabled` для отображения только плагинов в этом состоянии и `ls` как сокращение для `list`.


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

1521</h3>1561</h3>

1522 1562 

1523Claude Code использует версию плагина в качестве ключа кэша, который определяет, доступно ли обновление. Когда вы запускаете `/plugin update` или срабатывает автоматическое обновление, Claude Code вычисляет текущую версию и пропускает обновление, если она совпадает с уже установленной.1563Claude Code использует версию плагина в качестве ключа кэша, который определяет, доступно ли обновление. Когда вы запускаете `/plugin update` или срабатывает автоматическое обновление, Claude Code вычисляет текущую версию и пропускает обновление, если она совпадает с уже установленной. Плагин [загруженный на месте](#plugin-caching-and-file-resolution) из локального каталога marketplace загружает свои текущие исходные файлы при каждом запуске сеанса, независимо от того, что говорит его строка версии.

1524 1564 

1525Для каждого типа источника, кроме `command`, Claude Code разрешает версию из первого из следующих установленных параметров:1565Для каждого типа источника, кроме `command`, Claude Code разрешает версию из первого из следующих установленных параметров:

1526 1566 


15282. Поле `version` в записи плагина на marketplace в `marketplace.json`15682. Поле `version` в записи плагина на marketplace в `marketplace.json`

15293. SHA коммита git источника плагина для источников `github`, `url`, `git-subdir` и relative-path в marketplace, размещённом на git15693. SHA коммита git источника плагина для источников `github`, `url`, `git-subdir` и relative-path в marketplace, размещённом на git

15304. Дайджест SHA-256 для [`archive` источников](/docs/ru/plugin-marketplaces#zip-archives): пин `sha256` в записи marketplace или дайджест загруженного файла, когда вы не устанавливаете пин. Claude Code сокращает его до первых 12 символов15704. Дайджест SHA-256 для [`archive` источников](/docs/ru/plugin-marketplaces#zip-archives): пин `sha256` в записи marketplace или дайджест загруженного файла, когда вы не устанавливаете пин. Claude Code сокращает его до первых 12 символов

15315. `unknown` для источников `npm` или локальных каталогов, не находящихся в репозитории git15715. `unknown` для источников `npm` или локальных каталогов, не находящихся в репозитории git. Claude Code не берёт версию из репозитория, который охватывает путь установки, такого как управляемый git `~/.claude`

1532 1572 

1533Для [`command` источника](/docs/ru/plugin-marketplaces#command-sources) Claude Code всегда выводит версию из того, что произвёл команда: 12-символный хеш содержимого самостоятельно или добавленный к версии `plugin.json` как `<version>-<hash>`, когда он установлен. Claude Code игнорирует поле `version` записи marketplace для источников command. Команда, чей хешированный вывод изменяется, поэтому создаёт новую версию, даже когда строка авторской версии остаётся той же. В [режиме ссылки](/docs/ru/plugin-marketplaces#copy-mode-and-link-mode) хеш охватывает реальный путь напечатанного каталога и его записи верхнего уровня, а не содержимое файла.1573Для [`command` источника](/docs/ru/plugin-marketplaces#command-sources) Claude Code всегда выводит версию из того, что произвёл команда: 12-символный хеш содержимого самостоятельно или добавленный к версии `plugin.json` как `<version>-<hash>`, когда он установлен. Claude Code игнорирует поле `version` записи marketplace для источников command. Команда, чей хешированный вывод изменяется, поэтому создаёт новую версию, даже когда строка авторской версии остаётся той же. В [режиме ссылки](/docs/ru/plugin-marketplaces#copy-mode-and-link-mode) хеш охватывает реальный путь напечатанного каталога и его записи верхнего уровня, а не содержимое файла.

1534 1574 

1535Для этих типов источников это даёт вам три способа версионирования плагина:1575Для этих типов источников это даёт вам три способа версионирования плагина:

1536 1576 

1537| Подход | Как | Поведение обновления | Лучше всего для |1577| Подход | Как | Поведение обновления | Лучше всего для |

1538| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------- |1578| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- |

1539| **Явная версия** | Установите `"version": "2.1.0"` в `plugin.json` | Пользователи получают обновления только при изменении этого поля. Отправка новых коммитов без изменения этого поля не имеет эффекта, и `/plugin update` сообщает "already at the latest version". | Опубликованные плагины со стабильными циклами выпуска |1579| **Явная версия** | Установите `"version": "2.1.0"` в `plugin.json` | Пользователи получают обновления только при изменении этого поля. Отправка новых коммитов без изменения этого поля не имеет эффекта, и `/plugin update` сообщает "already at the latest version". Для плагина [загруженного на месте](#plugin-caching-and-file-resolution) новое содержимое загружается в любом случае. | Опубликованные плагины со стабильными циклами выпуска |

1540| **Версия Commit-SHA** | Опустите `version` из `plugin.json` и записи marketplace | Пользователи получают обновления всякий раз, когда изменяется разрешённый коммит источника | Внутренние или командные плагины в активной разработке |1580| **Версия Commit-SHA** | Опустите `version` из `plugin.json` и записи marketplace | Пользователи получают обновления всякий раз, когда изменяется разрешённый коммит источника | Внутренние или командные плагины в активной разработке |

1541| **Версия Digest** | Используйте [`archive` источник](/docs/ru/plugin-marketplaces#zip-archives) и опустите `version` из `plugin.json` и записи marketplace | С пином `sha256` пользователи получают обновления при изменении пина. Без него пользователи получают обновления всякий раз, когда изменяются байты размещённого zip-файла | Плагины, опубликованные как zip-файлы на статическом сервере или репозитории артефактов |1581| **Версия Digest** | Используйте [`archive` источник](/docs/ru/plugin-marketplaces#zip-archives) и опустите `version` из `plugin.json` и записи marketplace | С пином `sha256` пользователи получают обновления при изменении пина. Без него пользователи получают обновления всякий раз, когда изменяются байты размещённого zip-файла | Плагины, опубликованные как zip-файлы на статическом сервере или репозитории артефактов |

1542 1582 

Details

88 88 

89Каждая модель имеет свой собственный кэш. Переключение с помощью [`/model`](/docs/ru/model-config#setting-your-model) означает, что следующий запрос читает всю историю разговора без попаданий в кэш, даже если содержимое идентично.89Каждая модель имеет свой собственный кэш. Переключение с помощью [`/model`](/docs/ru/model-config#setting-your-model) означает, что следующий запрос читает всю историю разговора без попаданий в кэш, даже если содержимое идентично.

90 90 

91Когда вы запускаете `/model` в терминале, Claude Code просит вас подтвердить переключение только пока кэш еще теплый. Кэш остается теплым в течение одного [cache TTL](#cache-lifetime) после того, как Claude Code в последний раз отправил запрос в этом разговоре или Claude в последний раз ответил. После истечения этого времени кэш истекает, поэтому Claude Code переключается без запроса.91Когда вы запускаете `/model` в терминале, Claude Code просит вас подтвердить переключение только пока кэш еще теплый и новая модель не является той, которая создала последний ответ. Кэш остается теплым в течение одного [cache TTL](#cache-lifetime) после того, как Claude Code в последний раз отправил запрос в этом разговоре или Claude в последний раз ответил. После истечения этого времени кэш истекает, поэтому Claude Code переключается без запроса.

92 92 

93До версии v2.1.238 Claude Code не проверял cache TTL и спрашивал даже после истечения кэша.93До версии v2.1.238 Claude Code не проверял cache TTL и спрашивал даже после истечения кэша.

94 94 


264 Изменение стиля вывода264 Изменение стиля вывода

265</h3>265</h3>

266 266 

267Когда вы переключаете [стили вывода](/docs/ru/output-styles) во время сессии с помощью `/config` или параметра `outputStyle`, Claude использует новый стиль начиная со следующего сообщения. Claude Code доставляет инструкции нового стиля как сообщение в разговоре, поэтому этот запрос по-прежнему читает системный запрос и более ранний разговор из кэша.267Когда вы переключаете [стили вывода](/docs/ru/output-styles) во время сессии с помощью [`/output-style`](/docs/ru/output-styles#change-your-output-style), `/config` или параметра `outputStyle`, Claude использует новый стиль начиная со следующего сообщения. Claude Code доставляет инструкции нового стиля как сообщение в разговоре, поэтому этот запрос по-прежнему читает системный запрос и более ранний разговор из кэша.

268 268 

269До версии 2.1.251 переключение стиля во время сессии сохраняло кэш, но не применялось до запуска `/clear` или начала новой сессии.269До версии 2.1.251 переключение стиля во время сессии сохраняло кэш, но не применялось до запуска `/clear` или начала новой сессии.

270 270 


294 294 

295Когда вы [возобновляете сеанс](/docs/ru/sessions#resume-a-session), Claude Code отправляет всю беседу снова, и запрос читает из кэша ту часть своего префикса, которая не изменилась и все еще находится в пределах [времени жизни кэша](#cache-lifetime). Таблица слоев в верхней части этой страницы показывает, что изменяется в каждом слое.295Когда вы [возобновляете сеанс](/docs/ru/sessions#resume-a-session), Claude Code отправляет всю беседу снова, и запрос читает из кэша ту часть своего префикса, которая не изменилась и все еще находится в пределах [времени жизни кэша](#cache-lifetime). Таблица слоев в верхней части этой страницы показывает, что изменяется в каждом слое.

296 296 

297Системный запрос изменится после [обновления Claude Code](#upgrading-claude-code) или с другим текстом [`--append-system-prompt`](/docs/ru/cli-reference#system-prompt-flags) при возобновлении. По умолчанию возобновленная беседа сохраняет системный запрос, с которого она началась, поэтому его история по-прежнему находится за тем же запросом, и изменение вступает в силу после компактификации беседы или в новой беседе. [Флаги системного запроса в возобновленных беседах](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations) охватывает `--system-prompt-snapshot off` и режим bare, где это не применяется.297Системный запрос изменится после [обновления Claude Code](#upgrading-claude-code) или с другим текстом [`--append-system-prompt`](/docs/ru/cli-reference#system-prompt-flags) при возобновлении. По умолчанию возобновленная беседа сохраняет системный запрос, с которого она началась, поэтому его история по-прежнему находится за тем же запросом, и изменение вступает в силу после компактификации беседы или в новой беседе. [Флаги системного запроса в возобновленных беседах](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations) охватывает случаи, когда Claude Code перестраивает запрос при каждом запросе вместо этого.

298 298 

299<h2 id="cache-lifetime">299<h2 id="cache-lifetime">

300 Время жизни кэша300 Время жизни кэша

remote-control.md +49 −52

Details

46 46 

47<Tabs>47<Tabs>

48 <Tab title="Режим сервера">48 <Tab title="Режим сервера">

49 Перейдите в каталог вашего проекта и выполните:49 В каталоге вашего проекта выполните:

50 50 

51 ```bash theme={null}51 ```bash theme={null}

52 claude remote-control52 claude remote-control


132 Проверка статуса подключения132 Проверка статуса подключения

133</h3>133</h3>

134 134 

135В интерактивном сеансе терминала индикатор `/rc active` показывается, пока соединение активно, и скрывается, если терминал слишком узкий, чтобы его вместить. При [полноэкранной визуализации](/docs/ru/fullscreen) он находится в конце строки рабочего каталога в заголовке запуска, а без неё — в нижнем колонтитуле под полем ввода.135В интерактивном сеансе, пока Remote Control подключён, терминал показывает индикатор `/rc active`, который ссылается на сеанс на claude.ai. Индикатор скрывается, когда терминал слишком узкий, чтобы его вместить. Чтобы увидеть URL сеанса и QR-код для [подключения с другого устройства](#connect-from-another-device), запустите `/remote-control` снова, чтобы открыть панель статуса. Панель также позволяет вам отключить Remote Control, пока ваш локальный сеанс продолжает работу.

136 136 

137Текст индикатора является ссылкой на сеанс на claude.ai. Запустите `/remote-control` снова, чтобы открыть панель статуса с URL сеанса и QR-кодом для [подключения с другого устройства](#connect-from-another-device). Когда индикатор находится в нижнем колонтитуле, вы также можете открыть панель, выбрав индикатор клавишей со стрелкой вниз и нажав Enter. Панель также предлагает опцию отключения, которая отключает Remote Control, пока ваш локальный сеанс продолжает работу в терминале.137<span id="session-ended-elsewhere" />Если подключение не удаётся в интерактивном сеансе, индикатор изменяется, чтобы показать сбой, и Claude Code показывает причину в уведомлении и добавляет её в беседу. Запустите `/remote-control` для переподключения, если только причина не говорит, что сеанс был перехвачен или завершён в другом месте:

138 138 

139Если подключение не удаётся, Claude Code показывает уведомление с причиной сбоя, добавляет строку предупреждения с причиной в беседу и переключает индикатор в состояние сбоя, которое остаётся на месте. Чтобы переподключиться, запустите `/remote-control`, если только [причина не говорит, что сеанс был перехвачен или завершён в другом месте, или что сервер не может его найти](#session-ended-elsewhere).139* **Another connection took over this session**: другое устройство или сеанс Claude Code теперь имеет его. Запустите `/remote-control` только если вы хотите вернуть его.

140 140* **This session was ended or archived from another device or app**: запустите `/remote-control` только если вы хотите его вернуть. Claude Code повторно открывает архивированный сеанс.

141<span id="session-ended-elsewhere" />Прочитайте причину перед переподключением. Когда сеанс был перехвачен или завершён с другого устройства, приложения или сеанса Claude Code, или сервер не может его найти, причина говорит, какой из этих случаев произошёл, и Claude Code опускает свой обычный совет запустить `/remote-control`:141* **The server no longer reports this session**: он мог быть удалён с другого устройства или приложения.

142 

143* **Другое устройство или сеанс Claude Code перехватил сеанс**: запустите `/remote-control` только если вы хотите вернуть его с этого устройства.

144* **Вы завершили или архивировали сеанс с другого устройства или приложения**: запустите `/remote-control` только если вы хотите его вернуть; Claude Code повторно открывает архивированный сеанс.

145* **Сервер не может найти сеанс**: он мог быть удалён с другого устройства или приложения.

146 142 

147<h3 id="session-url-reminders">143<h3 id="session-url-reminders">

148 Напоминания об URL сеанса144 Напоминания об URL сеанса


178 174 

179Когда вы переименовываете сеанс из claude.ai или приложения Claude, Claude Code также обновляет локальное название, показанное в `claude --resume`. Claude Code применяет то же переименование к названию сеанса, показанному на панели подсказки, и в списке `claude agents`, когда сеанс [работает в фоновом режиме](/docs/ru/agent-view). До версии 2.1.221 переименование из списка сеансов на claude.ai или в приложении Claude обновляло только название, а CLI сохранял своё предыдущее имя сеанса; `/rename`, который работает в самом CLI, устанавливает имя на любой версии.175Когда вы переименовываете сеанс из claude.ai или приложения Claude, Claude Code также обновляет локальное название, показанное в `claude --resume`. Claude Code применяет то же переименование к названию сеанса, показанному на панели подсказки, и в списке `claude agents`, когда сеанс [работает в фоновом режиме](/docs/ru/agent-view). До версии 2.1.221 переименование из списка сеансов на claude.ai или в приложении Claude обновляло только название, а CLI сохранял своё предыдущее имя сеанса; `/rename`, который работает в самом CLI, устанавливает имя на любой версии.

180 176 

181Если у вас ещё нет приложения 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).177Если у вас ещё нет приложения Claude, используйте команду `/mobile` внутри Claude Code, чтобы показать QR-код для [claude.ai/mobile](https://claude.ai/mobile), который открывает правильный магазин приложений для вашего телефона.

182 178 

183<h3 id="what-connected-devices-see">179<h3 id="what-connected-devices-see">

184 Что видят подключённые устройства180 Что видят подключённые устройства


188 184 

189* **Компактирование и `/clear`**: пока Claude Code [компактирует беседу](/docs/ru/context-window#what-survives-compaction), подключённые устройства показывают прогресс, а затем где была компактирована беседа. Когда вы запускаете `/clear`, беседа сбрасывается и на подключённых устройствах тоже.185* **Компактирование и `/clear`**: пока Claude Code [компактирует беседу](/docs/ru/context-window#what-survives-compaction), подключённые устройства показывают прогресс, а затем где была компактирована беседа. Когда вы запускаете `/clear`, беседа сбрасывается и на подключённых устройствах тоже.

190* **Переключение бесед с помощью `/resume`**: подключённое устройство не получает название переключённой беседы или её более раннюю историю, но новые сообщения в обе стороны идут в ту беседу, которая открыта в вашем терминале, и из неё. Чтобы снова работать с исходной беседой с устройства, запустите `/resume` в вашем терминале и переключитесь обратно на неё.186* **Переключение бесед с помощью `/resume`**: подключённое устройство не получает название переключённой беседы или её более раннюю историю, но новые сообщения в обе стороны идут в ту беседу, которая открыта в вашем терминале, и из неё. Чтобы снова работать с исходной беседой с устройства, запустите `/resume` в вашем терминале и переключитесь обратно на неё.

191* **Извлечение сеанса с помощью `/teleport`**: когда вы извлекаете [сеанс Claude Code в веб-версии](/docs/ru/claude-code-on-the-web#from-web-to-terminal) в свой терминал с помощью `/teleport`, подключённое устройство не получает более раннюю историю извлечённой беседы. Новые сообщения в обе стороны идут в извлечённую беседу, которая теперь открыта в вашем терминале.187* **Извлечение сеанса с помощью `/teleport`**: когда вы извлекаете [сеанс Claude Code в веб-версии](/docs/ru/claude-code-on-the-web#from-cloud-to-terminal) в свой терминал с помощью `/teleport`, подключённое устройство не получает более раннюю историю извлечённой беседы. Новые сообщения в обе стороны идут в извлечённую беседу, которая теперь открыта в вашем терминале.

192* **Сообщения из ваших других сеансов**: с [кросс-сеансовой передачей сообщений](/docs/ru/cross-session-messaging) одно и то же соединение переносит сообщения между вашими собственными сеансами на разных машинах и из ваших [сеансов Claude Code в веб-версии](/docs/ru/claude-code-on-the-web), через серверы Anthropic, как и остальной трафик Remote Control. [Отправка сообщений в сеансы на других машинах](/docs/ru/cross-session-messaging#message-sessions-on-other-machines) охватывает правила доставки, а [Управление входящими сообщениями](/docs/ru/cross-session-messaging#control-inbound-messages) охватывает управление входящими. Требует Claude Code версии 2.1.224 или позже.188* **Сообщения из ваших других сеансов**: с [кросс-сеансовой передачей сообщений](/docs/ru/cross-session-messaging) одно и то же соединение переносит сообщения между вашими собственными сеансами на разных машинах и из ваших [сеансов Claude Code в веб-версии](/docs/ru/claude-code-on-the-web), через серверы Anthropic, как и остальной трафик Remote Control. [Отправка сообщений в сеансы на других машинах](/docs/ru/cross-session-messaging#message-sessions-on-other-machines) охватывает правила доставки, а [Управление входящими сообщениями](/docs/ru/cross-session-messaging#control-inbound-messages) охватывает управление входящими. Требует Claude Code версии 2.1.224 или позже.

193* **Подсказки, которые вы отправляете в середине хода**: когда вы отправляете подсказку с подключённого устройства до завершения текущего хода, Claude Code ставит её в очередь и сохраняет её в стенограмме устройства после завершения этого хода.189* **Подсказки, которые вы отправляете в середине хода**: когда вы отправляете подсказку с подключённого устройства до завершения текущего хода, Claude Code ставит её в очередь и сохраняет её в стенограмме устройства после завершения этого хода.

194* **Diff ваших изменений**: когда каталог сеанса находится в репозитории git, панель diff подключённого устройства показывает diff ваших незафиксированных изменений. Устройство запрашивает diff по соединению, и Claude Code вычисляет его на вашем компьютере. Когда ваше рабочее дерево чистое, Claude Code вместо этого обслуживает изменения вашей ветки с момента её расхождения с ветвью по умолчанию. До версии 2.1.247 Claude Code сообщал diff подключённым устройствам только в сеансах, обслуживаемых `claude remote-control`.190* **Diff ваших изменений**: когда каталог сеанса находится в репозитории git, панель diff подключённого устройства показывает diff ваших незафиксированных изменений. Устройство запрашивает diff по соединению, и Claude Code вычисляет его на вашем компьютере. Когда ваше рабочее дерево чистое, Claude Code вместо этого обслуживает изменения вашей ветки с момента её расхождения с ветвью по умолчанию. До версии 2.1.247 Claude Code сообщал diff подключённым устройствам только в сеансах, обслуживаемых `claude remote-control`.


312 308 

313Для потерянного или украденного устройства член удаляет его с этой страницы. Если член не может войти, администратор может использовать **Sign out everywhere** в консоли администратора, чтобы отозвать каждый сеанс и зарегистрированное устройство для этого члена, после чего член повторно регистрирует устройства, которые он всё ещё держит.309Для потерянного или украденного устройства член удаляет его с этой страницы. Если член не может войти, администратор может использовать **Sign out everywhere** в консоли администратора, чтобы отозвать каждый сеанс и зарегистрированное устройство для этого члена, после чего член повторно регистрирует устройства, которые он всё ещё держит.

314 310 

315<h2 id="remote-control-vs-claude-code-on-the-web">311<h2 id="remote-control-vs-cloud-sessions">

316 Remote Control в сравнении с Claude Code в веб-версии312 Remote Control в сравнении с облачными сеансами

317</h2>313</h2>

318 314 

319Remote Control и [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) оба используют интерфейс claude.ai/code. Ключевое различие заключается в том, где работает сеанс: Remote Control выполняется на вашем компьютере, поэтому ваши локальные MCP servers, инструменты и конфигурация проекта остаются доступными. Claude Code в веб-версии выполняется в облаке.315Remote Control и [облачные сеансы](/docs/ru/claude-code-on-the-web) оба используют интерфейс claude.ai/code. Ключевое различие заключается в том, где работает сеанс: Remote Control выполняется на вашем компьютере, поэтому ваши локальные MCP servers, инструменты и конфигурация проекта остаются доступными. Облачный сеанс выполняется в облачной инфраструктуре, управляемой Anthropic по умолчанию.

320 316 

321Используйте Remote Control, когда вы находитесь в процессе локальной работы и хотите продолжить с другого устройства. Используйте Claude Code в веб-версии, когда вы хотите начать задачу без какой-либо локальной настройки, работать с репозиторием, который у вас не клонирован, или запустить несколько задач параллельно.317Используйте Remote Control, когда вы находитесь в процессе локальной работы и хотите продолжить с другого устройства. Используйте облачный сеанс, когда вы хотите начать задачу без какой-либо локальной настройки, работать с репозиторием, который у вас не клонирован, или запустить несколько задач параллельно.

322 318 

323<h2 id="mobile-push-notifications">319<h2 id="mobile-push-notifications">

324 Мобильные push-уведомления320 Мобильные push-уведомления


374 * Команды с текстовым выводом: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` и `/reload-plugins`. `/usage-credits` выводит URL биллинга вместо открытия браузера. `/reload-plugins` работает только когда сеанс работает в интерактивном терминале; сеанс без него отклоняет его.370 * Команды с текстовым выводом: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` и `/reload-plugins`. `/usage-credits` выводит URL биллинга вместо открытия браузера. `/reload-plugins` работает только когда сеанс работает в интерактивном терминале; сеанс без него отклоняет его.

375 * `/model`, `/effort`, `/fast`, `/color` и `/rename`: передайте значение как аргумент, например `/model sonnet` или `/effort high`. С мобильных устройств и веб-браузеров `/model` и `/effort` принимают аргумент вместо выбора в терминале или ползунка.371 * `/model`, `/effort`, `/fast`, `/color` и `/rename`: передайте значение как аргумент, например `/model sonnet` или `/effort high`. С мобильных устройств и веб-браузеров `/model` и `/effort` принимают аргумент вместо выбора в терминале или ползунка.

376 * `/mcp`: с мобильного приложения возвращает текстовое резюме статуса сервера вместо открытия выбора. В веб-версии `/mcp` без аргументов открывает каталог [соединителей claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) вместо возврата резюме. [Подкоманды](/docs/ru/commands#all-commands) `reconnect`, `enable` и `disable` работают в обоих случаях. В отличие от локального CLI, `/mcp reconnect` без имени сервера переподключает каждый сервер, который не работает или требует аутентификации.372 * `/mcp`: с мобильного приложения возвращает текстовое резюме статуса сервера вместо открытия выбора. В веб-версии `/mcp` без аргументов открывает каталог [соединителей claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) вместо возврата резюме. [Подкоманды](/docs/ru/commands#all-commands) `reconnect`, `enable` и `disable` работают в обоих случаях. В отличие от локального CLI, `/mcp reconnect` без имени сервера переподключает каждый сервер, который не работает или требует аутентификации.

377 * `/config`, начиная с версии 2.1.181: с мобильного приложения передайте `key=value` для установки параметра или запустите её без аргументов, чтобы вывести список ключей, которые вы можете установить. В веб-версии `/config` открывает раздел Claude Code ваших параметров и игнорирует текст после команды.373 * `/config`: с мобильного приложения передайте `key=value` для установки параметра или запустите её без аргументов, чтобы вывести список ключей, которые вы можете установить. В веб-версии `/config` открывает раздел Claude Code ваших параметров и игнорирует текст после команды.

378 * На Team и Enterprise `/usage-credits` с мобильного устройства или веб-браузера не отправляет [запрос на использование кредитов вашему администратору](/docs/ru/costs#add-usage-credits-to-your-subscription). Отправка требует подтверждения, которое появляется только в интерактивном CLI, поэтому команда говорит вам запустить её там. До версии 2.1.211 текстовая форма отправляла запрос без подтверждения.374 * На Team и Enterprise `/usage-credits` с мобильного устройства или веб-браузера не отправляет [запрос на использование кредитов вашему администратору](/docs/ru/costs#add-usage-credits-to-your-subscription). Отправка требует подтверждения, которое появляется только в интерактивном CLI, поэтому команда говорит вам запустить её там. До версии 2.1.211 текстовая форма отправляла запрос без подтверждения.

379 * `/autocompact`, начиная с версии 2.1.221: передайте размер окна как аргумент, например `/autocompact 500k`. Без аргумента он выводит текущий размер окна как текст вместо открытия диалога, который команда показывает в сеансе терминала.375 * `/autocompact`, начиная с версии 2.1.221: передайте размер окна как аргумент, например `/autocompact 500k`. Без аргумента он выводит текущий размер окна как текст вместо открытия диалога, который команда показывает в сеансе терминала.

380 * `/advisor`, начиная с версии 2.1.260: передайте модель как аргумент, например `/advisor opus`, или передайте `off` для отключения советника. Обе формы применяются только к текущему сеансу и оставляют ваше сохранённое значение по умолчанию без изменений. Без аргумента он выводит текущего советника как текст вместо открытия выбора.376 * `/advisor`, начиная с версии 2.1.260: передайте модель как аргумент, например `/advisor opus`, или передайте `off` для отключения советника. Обе формы применяются только к текущему сеансу и оставляют ваше сохранённое значение по умолчанию без изменений. Без аргумента он выводит текущего советника как текст вместо открытия выбора.

377 * `/output-style`, начиная с версии 2.1.269: передайте имя стиля как аргумент, например `/output-style concise`, или запустите её без аргумента, чтобы вывести список стилей. С мобильных устройств и веб-браузеров вы можете выводить и выбирать только [встроенные стили](/docs/ru/output-styles#built-in-output-styles). Чтобы использовать [пользовательский стиль](/docs/ru/output-styles#create-a-custom-output-style), выберите его в самом сеансе.

381 378 

382<h2 id="troubleshooting">379<h2 id="troubleshooting">

383 Устранение неполадок380 Troubleshooting

384</h2>381</h2>

385 382 

386<h3 id="remote-control-requires-a-claude-ai-subscription">383<h3 id="remote-control-requires-a-claude-ai-subscription">

387 "Remote Control requires a claude.ai subscription"384 "Remote Control requires a claude.ai subscription"

388</h3>385</h3>

389 386 

390Вы не вошли в систему с помощью учётной записи claude.ai, или другие учётные данные имеют приоритет над вашим входом. Сообщение принимает одну из этих форм:387Вы не вошли в учётную запись claude.ai, или другие учётные данные имеют приоритет над вашим входом. Сообщение принимает одну из этих форм:

391 388 

392* Вышли из системы, из `/remote-control` или `--remote-control`: `Remote Control requires a claude.ai subscription.`389* Вышли из системы, из `/remote-control` или `--remote-control`: `Remote Control requires a claude.ai subscription.` или `/remote-control requires a claude.ai subscription.`

393* Вышли из системы, из `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`390* Вышли из системы, из `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`

394* Вошли в систему, но используется API ключ или токен: `Remote Control requires claude.ai subscription auth.` с последующим указанием используемых учётных данных, таких как `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Параметр `apiKeyHelper` и `ANTHROPIC_AUTH_TOKEN` названы одинаково.391* Вошли в систему, но используется ключ API или токен: `Remote Control requires claude.ai subscription auth.` с последующим указанием используемых учётных данных, таких как `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Параметр `apiKeyHelper` и `ANTHROPIC_AUTH_TOKEN` называются одинаково.

395 392 

396Запустите `claude auth login` и выберите опцию claude.ai. Если сообщение указывает на `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, удалите его везде, где он установлен: в переменных окружения вашей оболочки или в блоке `env` [файла параметров](/docs/ru/settings-reference#env). Если оно указывает на `apiKeyHelper`, удалите этот параметр.393Запустите `claude auth login` и выберите опцию claude.ai. Если сообщение указывает на `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, удалите его везде, где он установлен: в переменных окружения вашей оболочки или в блоке `env` [файла параметров](/docs/ru/settings-reference#env). Если оно указывает на `apiKeyHelper`, удалите этот параметр.

397 394 


401 "Remote Control requires a full-scope login token"398 "Remote Control requires a full-scope login token"

402</h3>399</h3>

403 400 

404Вы аутентифицированы с помощью долгоживущего токена из `claude setup-token` или переменной окружения `CLAUDE_CODE_OAUTH_TOKEN`. Эти токены могут только выполнять запросы модели, поэтому они не могут устанавливать сеансы Remote Control. Запустите `claude auth login` для аутентификации с помощью полнофункционального токена сеанса вместо этого.401Вы аутентифицированы с помощью долгоживущего токена из `claude setup-token` или переменной окружения `CLAUDE_CODE_OAUTH_TOKEN`. Эти токены могут только делать запросы к модели, поэтому они не могут устанавливать сеансы Remote Control. Запустите `claude auth login` для аутентификации с помощью токена сеанса полного объёма вместо этого.

405 402 

406<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">403<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">

407 "Unable to determine your organization for Remote Control eligibility"404 "Unable to determine your organization for Remote Control eligibility"

408</h3>405</h3>

409 406 

410Ваша кэшированная информация об учётной записи устарела или неполна. Запустите `claude auth login` для обновления.407Ваша кэшированная информация об учётной записи устарела или неполна. Запустите `claude auth login` для её обновления.

411 408 

412<h3 id="remote-control-isn’t-enabled-for-this-account">409<h3 id="remote-control-isn’t-enabled-for-this-account">

413 "Remote Control isn't enabled for this account"410 "Remote Control isn't enabled for this account"


415 412 

416Claude Code проверил доступность Remote Control для учётной записи, в которую вы вошли, и проверка вернула отрицательный результат. Обычная причина — кэшированные права доступа, которые устарели после изменения плана. Запустите `claude auth logout`, а затем `claude auth login` для их обновления, и обновите Claude Code, если вы используете старую версию.413Claude Code проверил доступность Remote Control для учётной записи, в которую вы вошли, и проверка вернула отрицательный результат. Обычная причина — кэшированные права доступа, которые устарели после изменения плана. Запустите `claude auth logout`, а затем `claude auth login` для их обновления, и обновите Claude Code, если вы используете старую версию.

417 414 

418Запустите `claude doctor` для просмотра того, какая проверка приемлемости не прошла. Конфликты переменных окружения, недостижимые проверки и параметр Remote Control вашей организации каждая производят свои собственные сообщения, поэтому эта ошибка означает саму проверку на уровне учётной записи.415Запустите `claude doctor` для просмотра того, какая отдельная проверка прав доступа не прошла. Конфликты переменных окружения, недостижимые проверки и параметр Remote Control вашей организации каждый производят своё собственное сообщение, поэтому эта ошибка означает, что сама проверка на уровне учётной записи не прошла.

419 416 

420До версии 2.1.239 это сообщение читалось как "Remote Control is not yet enabled for your account". До версии 2.1.154 переменная, которая отключает оценку флагов функций, такая как `DISABLE_TELEMETRY` или `DO_NOT_TRACK`, также производила это сообщение; запись "Remote Control requires feature-flag evaluation" ниже охватывает эту конфигурацию.417До версии 2.1.239 это сообщение гласило "Remote Control is not yet enabled for your account". До версии 2.1.154 переменная, которая отключает оценку флага функции, такая как `DISABLE_TELEMETRY` или `DO_NOT_TRACK`, также производила это сообщение; запись "Remote Control requires feature-flag evaluation" ниже охватывает эту конфигурацию.

421 418 

422<h3 id="couldn’t-verify-remote-control-eligibility">419<h3 id="couldn’t-verify-remote-control-eligibility">

423 "Couldn't verify Remote Control eligibility"420 "Couldn't verify Remote Control eligibility"

424</h3>421</h3>

425 422 

426Claude Code не смог достичь сервиса флагов функций для проверки того, включен ли Remote Control для вашей учётной записи, обычно потому что вы находитесь в автономном режиме или прокси блокирует запрос. Повторите попытку, когда у вас будет доступ в сеть, или запустите `claude doctor` для получения подробностей. Связанное сообщение "Couldn't verify your organization's Remote Control policy" имеет ту же причину и то же решение. Оба сообщения были добавлены в версии 2.1.178.423Claude Code не смог достичь сервиса флагов функций для проверки того, включён ли Remote Control для вашей учётной записи, обычно потому, что вы находитесь в автономном режиме или прокси блокирует запрос. Повторите попытку, когда у вас будет доступ в сеть, или запустите `claude doctor` для получения подробностей. Связанное сообщение "Couldn't verify your organization's Remote Control policy" означает, что Claude Code не смог прочитать эту политику, и имеет то же исправление. Оба сообщения были добавлены в версии 2.1.178.

427 424 

428<h3 id="remote-control-requires-feature-flag-evaluation">425<h3 id="remote-control-requires-feature-flag-evaluation">

429 "Remote Control requires feature-flag evaluation"426 "Remote Control requires feature-flag evaluation"

430</h3>427</h3>

431 428 

432Одна из этих переменных установлена: [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` или `DISABLE_GROWTHBOOK`](/docs/ru/env-vars). Каждая из них отключает оценку флагов функций, от которой зависит доступность Remote Control, и полное сообщение указывает переменную, которую Claude Code нашёл. Отключите эту переменную везде, где она установлена, в переменных окружения вашей оболочки или в блоке `env` [файла `settings.json`](/docs/ru/settings-reference#all-settings). На версиях до 2.1.154 та же конфигурация производит "Remote Control is not yet enabled for your account" вместо этого.429Одна из этих переменных установлена: [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` или `DISABLE_GROWTHBOOK`](/docs/ru/env-vars). Каждая из них отключает оценку флага функции, от которой зависит доступность Remote Control, и полное сообщение называет переменную, которую нашёл Claude Code. Отмените установку этой переменной везде, где она установлена, в переменных окружения вашей оболочки или в блоке `env` [файла `settings.json`](/docs/ru/settings-reference#all-settings). В версиях до 2.1.154 та же конфигурация производит "Remote Control is not yet enabled for your account" вместо этого.

433 430 

434<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">431<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

435 "Remote Control is only available when using Claude via api.anthropic.com"432 "Remote Control is only available when using Claude via api.anthropic.com"

436</h3>433</h3>

437 434 

438Сеанс не взаимодействует с API Anthropic напрямую, поэтому нет бэкенда claude.ai для сопряжения. Это происходит на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry. Это также происходит, когда [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на хост, отличный от `api.anthropic.com`, такой как [LLM gateway](/docs/ru/llm-gateway) или прокси, даже если вы входите с помощью claude.ai. До версии 2.1.196 Claude Code не показывал это сообщение для пользовательского `ANTHROPIC_BASE_URL`. Смотрите [справочник ошибок](/docs/ru/errors#remote-control-requires-the-anthropic-api) для полного списка причин.435Сеанс не разговаривает с API Anthropic напрямую, поэтому нет бэкенда claude.ai для сопряжения. Это происходит на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry. Это также происходит, когда [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на хост, отличный от `api.anthropic.com`, такой как [LLM gateway](/docs/ru/llm-gateway) или прокси, даже если вы входите с помощью claude.ai. До версии 2.1.196 Claude Code не показывал это сообщение для пользовательского `ANTHROPIC_BASE_URL`. Смотрите [справочник ошибок](/docs/ru/errors#remote-control-requires-the-anthropic-api) для полного списка причин.

439 436 

440Сообщение указывает, что направило сеанс в сторону от API Anthropic, такое как `CLAUDE_CODE_USE_BEDROCK` или пользовательский `ANTHROPIC_BASE_URL`. Если у вас есть подходящий вход claude.ai, отключите названную переменную, удалите её из ключа `env` в [параметрах](/docs/ru/settings), если вы установили её там, и перезагрузите сеанс. До версии 2.1.219 сообщение было только предложением в заголовке этого раздела, поэтому на более старых версиях проверьте вашу среду самостоятельно на переменные поставщика, такие как `CLAUDE_CODE_USE_BEDROCK` и `CLAUDE_CODE_USE_VERTEX`, и на `ANTHROPIC_BASE_URL`.437Сообщение называет то, что направило сеанс в сторону от API Anthropic, такое как `CLAUDE_CODE_USE_BEDROCK` или пользовательский `ANTHROPIC_BASE_URL`. Если у вас есть подходящий вход claude.ai, отмените установку названной переменной, удалите её из ключа `env` в [параметрах](/docs/ru/settings), если вы установили её там, и перезагрузите сеанс. До версии 2.1.219 сообщение было только предложением в заголовке этого раздела, поэтому в более старых версиях проверьте вашу среду самостоятельно на наличие переменных поставщика, таких как `CLAUDE_CODE_USE_BEDROCK` и `CLAUDE_CODE_USE_VERTEX`, и для `ANTHROPIC_BASE_URL`.

441 438 

442<h3 id="remote-control-is-disabled-by-your-organization’s-policy">439<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

443 "Remote Control is disabled by your organization's policy"440 "Remote Control is disabled by your organization's policy"


445 442 

446Политика блокирует Remote Control, или Claude Code не смог загрузить политику вашей организации на этой машине и временно держит Remote Control отключённым. Проверьте эти причины по порядку:443Политика блокирует Remote Control, или Claude Code не смог загрузить политику вашей организации на этой машине и временно держит Remote Control отключённым. Проверьте эти причины по порядку:

447 444 

448* **Ошибка упоминает `disableRemoteControl`**: ваш IT администратор отключил Remote Control на этом устройстве через [управляемые параметры](/docs/ru/managed-settings), независимо от переключателя на уровне организации и от того, как вы вошли в систему.445* **Ошибка упоминает `disableRemoteControl`**: ваш администратор IT отключил Remote Control на этом устройстве через [управляемые параметры](/docs/ru/managed-settings), независимо от переключателя на уровне организации и от того, как вы вошли в систему.

449* **Ваш план claude.ai — Pro или Max**: Claude Code всё ещё вошёл в систему под организацией Team или Enterprise из более раннего входа, поэтому он проверяет политику Remote Control этой организации. Запустите `/status` для просмотра того, какой план и организацию использует ваш вход. Запустите `claude auth logout`, а затем `claude auth login` для повторного входа под вашим текущим планом.446* **Ваш план claude.ai — Pro или Max**: Claude Code по-прежнему вошёл в систему под организацией Team или Enterprise из более раннего входа, поэтому он проверяет политику Remote Control этой организации. Запустите `/status` для просмотра того, какой план и организацию использует ваш вход. Запустите `claude auth logout`, а затем `claude auth login` для повторного входа под вашим текущим планом.

450* **Политика организации не загрузилась на этой машине**: запустите `claude doctor` и прочитайте строку `Organization policy`. Если строка показывает, что политика не загружена, это то, что держит Remote Control отключённым. До версии 2.1.261 `claude doctor` не печатал эту строку.447* **Политика организации не загрузилась на этой машине**: запустите `claude doctor` и прочитайте строку `Organization policy`. Если строка показывает, что политика не загружена, это то, что держит Remote Control отключённым. До версии 2.1.261 `claude doctor` не печатал эту строку.

451* **Сообщение не говорит связаться с администратором вашей организации**: ваша организация имеет конфигурацию HIPAA, которая несовместима с Remote Control, и `/status` указывает `HIPAA` в своей строке `Compliance`. В этом состоянии переключатель Remote Control в панели администратора неактивен, поэтому Owner не может изменить его там. Свяжитесь с поддержкой Anthropic для обсуждения вариантов. До версии 2.1.267 этот случай показывал "Remote Control isn't available for your organization due to its compliance policy" вместо этого.448* **Сообщение не говорит обратиться к администратору вашей организации**: ваша организация имеет конфигурацию HIPAA, которая несовместима с Remote Control, и `/status` указывает `HIPAA` в своей строке `Compliance`. В этом состоянии переключатель Remote Control в панели администратора неактивен, поэтому Owner не может изменить его там. Обратитесь в службу поддержки Anthropic для обсуждения вариантов. До версии 2.1.267 этот случай показывал "Remote Control isn't available for your organization due to its compliance policy" вместо этого.

452* **В противном случае Owner не включил это для вашей организации**: Remote Control отключен по умолчанию на планах Team и Enterprise. Owner может включить его на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code), включив переключатель **Remote Control**. Этот переключатель является параметром организации на стороне сервера.449* **В противном случае Owner не включил его для вашей организации**: Remote Control отключён по умолчанию в планах Team и Enterprise. Owner может включить его на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code), включив переключатель **Remote Control**. Этот переключатель является параметром организации на стороне сервера.

453 450 

454<h3 id="remote-credentials-fetch-failed">451<h3 id="remote-credentials-fetch-failed">

455 "Remote credentials fetch failed"452 "Remote credentials fetch failed"

456</h3>453</h3>

457 454 

458Claude Code не смог получить краткосрочные учётные данные из API Anthropic для установления соединения. Запустите снова с `--verbose` для просмотра полной ошибки:455Claude Code не смог получить краткосрочные учётные данные из API Anthropic для установления соединения. Повторно запустите с `--verbose` для просмотра полной ошибки:

459 456 

460```bash theme={null}457```bash theme={null}

461claude remote-control --verbose458claude remote-control --verbose


463 460 

464Распространённые причины:461Распространённые причины:

465 462 

466* Не вошли в систему: запустите `claude` и используйте `/login` для аутентификации с вашей учётной записью claude.ai. Аутентификация с помощью API ключа не поддерживается для Remote Control.463* Не вошли в систему: запустите `claude` и используйте `/login` для аутентификации с помощью вашей учётной записи claude.ai. Аутентификация с помощью ключа API не поддерживается для Remote Control.

467* Проблема с сетью или прокси: брандмауэр или прокси может блокировать исходящий HTTPS запрос. Remote Control требует доступа к API Anthropic на порту 443.464* Проблема с сетью или прокси: брандмауэр или прокси может блокировать исходящий запрос HTTPS. Remote Control требует доступа к API Anthropic на порту 443.

468* Ошибка создания сеанса: если вы также видите `Session creation failed — see debug log`, ошибка произошла ранее при настройке. Проверьте, что ваша подписка активна.465* Ошибка создания сеанса: если вы также видите `Session creation failed — see debug log`, ошибка произошла ранее в процессе настройки. Проверьте, что ваша подписка активна.

469 466 

470Устаревший токен входа не вызывает эту ошибку. Когда API Anthropic отклоняет сохранённый токен, например потому что другой процесс Claude Code уже обновил его, Claude Code обновляет токен и повторяет попытку самостоятельно. До версии 2.1.224 устаревший токен не запускал Remote Control с этим сообщением, поэтому сеансы, установленные на [автоматическое подключение](#enable-remote-control-for-all-sessions), могли периодически не запускаться.467Устаревший токен входа не вызывает эту ошибку. Когда API Anthropic отклоняет сохранённый токен, например потому что другой процесс Claude Code уже обновил его, Claude Code обновляет токен и повторяет попытку самостоятельно. До версии 2.1.224 устаревший токен вызывал сбой запуска Remote Control с этим сообщением, поэтому сеансы, установленные на [автоматическое подключение](#enable-remote-control-for-all-sessions), могли периодически не запускаться при запуске.

471 468 

472<h3 id="couldn’t-reconnect-to-your-remote-control-session">469<h3 id="couldn’t-reconnect-to-your-remote-control-session">

473 "Couldn't reconnect to your Remote Control session"470 "Couldn't reconnect to your Remote Control session"


475 472 

476Когда вы возобновляете разговор с `claude --resume` или `claude --continue`, Claude Code переподключается к сеансу Remote Control, записанному в этом разговоре. Это сообщение означает, что переподключение не удалось по причине, которая может быть временной, такой как сетевой сбой или ошибка сервера, поэтому Claude Code не может подтвердить, существует ли удалённый сеанс.473Когда вы возобновляете разговор с `claude --resume` или `claude --continue`, Claude Code переподключается к сеансу Remote Control, записанному в этом разговоре. Это сообщение означает, что переподключение не удалось по причине, которая может быть временной, такой как сетевой сбой или ошибка сервера, поэтому Claude Code не может подтвердить, существует ли удалённый сеанс.

477 474 

478Запустите `/remote-control` для повторной попытки подключения, или запустите новый сеанс с `claude --remote-control` для создания нового сеанса Remote Control. Ваш локальный сеанс продолжает работать без Remote Control в то же время.475Запустите `/remote-control` для повторной попытки подключения, или начните новый сеанс с `claude --remote-control` для создания нового сеанса Remote Control. Ваш локальный сеанс продолжает работать без Remote Control в то же время.

479 476 

480<span id="resume-outcomes" />Когда вы возобновляете, вы также можете получить один из этих результатов вместо этого сообщения:477<span id="resume-outcomes" />Когда вы возобновляете, вы также можете получить один из этих результатов вместо этого сообщения:

481 478 

482* **Сервер сообщает, что записанный сеанс исчез, или запись переподключения указывает на другую учётную запись**: Claude Code руководствуется тем, что говорит запись переподключения разговора:479* **Сервер сообщает, что записанный сеанс исчез, или запись переподключения называет другую учётную запись**: Claude Code руководствуется тем, что говорит запись переподключения разговора:

483 * **Запись указывает на вашу вошедшую учётную запись**: Claude Code запускает сеанс замены с автоматически сгенерированным именем и оставляет более ранние сообщения разговора вне его. Вы получаете это после удаления сеанса из claude.ai или приложения Claude, например.480 * **Запись называет вашу вошедшую в систему учётную запись**: Claude Code запускает сеанс замены с автоматически сгенерированным именем и оставляет более ранние сообщения разговора вне его. Вы получаете это после удаления сеанса из claude.ai или приложения Claude, например.

484 * **Запись указывает на другую учётную запись**: Claude Code запускает новый сеанс без более ранних сообщений разговора и без отображения сообщения, независимо от того, существует ли записанный сеанс.481 * **Запись называет другую учётную запись**: Claude Code запускает новый сеанс без более ранних сообщений разговора и без отображения сообщения, существует ли записанный сеанс или нет.

485 * **Запись не указывает, какая учётная запись владела сеансом, или Claude Code не может прочитать ваш сохранённый вход**: Claude Code показывает [`Previous session is unavailable — run /remote-control to start a new one`](#previous-session-is-unavailable) вместо этого сообщения, ничего не запускает и удаляет запись из разговора.482 * **Запись не говорит, какой учётной записи принадлежал сеанс, или Claude Code не может прочитать ваш сохранённый вход**: Claude Code показывает [`Previous session is unavailable — run /remote-control to start a new one`](#previous-session-is-unavailable) вместо этого сообщения, ничего не запускает и удаляет запись из разговора.

486* **Вы отключили Remote Control перед возобновлением**: если приложение, размещающее Claude Code, не сообщило ему, что приложение владеет сеансом claude.ai, Claude Code удалил запись переподключения, когда вы отключили Remote Control из [панели статуса](#check-connection-status) CLI, расширения VS Code или хоста, построенного на [Agent SDK](/docs/ru/agent-sdk/overview), поэтому он не переподключается. Когда владеющее приложение отключило его, Claude Code сохранил запись и переподключается.483* **Вы отключили Remote Control перед возобновлением**: если приложение, в котором размещается Claude Code, не сообщило ему, что приложение владеет сеансом claude.ai, Claude Code удалил запись переподключения, когда вы отключили Remote Control из панели [status](#check-connection-status) CLI, расширения VS Code или хоста, построенного на [Agent SDK](/docs/ru/agent-sdk/overview), поэтому он не переподключается. Когда владеющее приложение отключило его, Claude Code сохранил запись и переподключается.

487* **Другой Claude Code на этой машине всё ещё имеет сеанс**: вы видите уведомление, которое начинается с `Remote Control not started here`, и Claude Code [оставляет Remote Control отключённым в возобновлённом сеансе](#resume-sessions-after-stopping-the-server). Запустите `/remote-control` там для его перемещения.484* **Другой Claude Code на этой машине по-прежнему имеет сеанс**: вы видите уведомление, которое начинается с `Remote Control not started here`, и Claude Code [оставляет Remote Control отключённым в возобновлённом сеансе](#resume-sessions-after-stopping-the-server). Запустите `/remote-control` там для его перемещения.

488 485 

489<span id="reconnect-history" />До версии 2.1.232 Claude Code отвечал по-другому, когда сервер сообщал, что записанный сеанс исчез. С версии 2.1.227 по 2.1.231 Claude Code отказывался запускать замену даже когда запись совпадала с вашей учётной записью. До версии 2.1.226 Claude Code запускал замену независимо от того, совпадала ли запись с вашей учётной записью, и в версиях 2.1.224–2.1.226 создавал её под учётной записью, вошедшей на этой машине, никогда под другой учётной записью, без загрузки более ранних сообщений разговора в неё. До версии 2.1.200 Claude Code создавал новый сеанс после любого сбоя переподключения.486<span id="reconnect-history" />До версии 2.1.232 Claude Code отвечал по-другому, когда сервер сообщал, что записанный сеанс исчез. С версии 2.1.227 по версию 2.1.231 Claude Code отказывался запускать замену даже когда запись совпадала с вашей учётной записью. До версии 2.1.226 Claude Code запускал замену независимо от того, совпадала ли запись с вашей учётной записью, и в версиях 2.1.224–2.1.226 создавал её под учётной записью, вошедшей на эту машину, никогда под другой учётной записью, без загрузки более ранних сообщений разговора в неё. До версии 2.1.200 Claude Code создавал новый сеанс после любого сбоя переподключения.

490 487 

491<h3 id="previous-session-is-unavailable">488<h3 id="previous-session-is-unavailable">

492 "Previous session is unavailable — run /remote-control to start a new one"489 "Previous session is unavailable — run /remote-control to start a new one"


494 491 

495Claude Code не смог восстановить предыдущий сеанс Remote Control и остановился вместо того, чтобы запустить новый самостоятельно. Вы можете увидеть это сообщение после возобновления разговора с `claude --resume` или `claude --continue`, или после того как Claude Code [переподключается самостоятельно после отключения](/docs/ru/errors#remote-control-couldnt-refresh-your-login).492Claude Code не смог восстановить предыдущий сеанс Remote Control и остановился вместо того, чтобы запустить новый самостоятельно. Вы можете увидеть это сообщение после возобновления разговора с `claude --resume` или `claude --continue`, или после того как Claude Code [переподключается самостоятельно после отключения](/docs/ru/errors#remote-control-couldnt-refresh-your-login).

496 493 

497Запустите `/remote-control` для запуска нового сеанса Remote Control под текущим входом; ваш локальный сеанс продолжает работать без Remote Control в то же время. Связанное сообщение `Remote Control could not verify the signed-in account — run /remote-control to reconnect` имеет то же решение; Claude Code показывает его, когда вошедшая учётная запись изменилась или не могла быть прочитана между её проверкой и переподключением. Если вы запустите `/remote-control` после `Previous session is unavailable` без перезагрузки Claude Code в первую очередь, Claude Code оставляет более ранние сообщения разговора вне нового сеанса.494Запустите `/remote-control` для запуска нового сеанса Remote Control под текущим входом; ваш локальный сеанс продолжает работать без Remote Control в то же время. Связанное сообщение `Remote Control could not verify the signed-in account — run /remote-control to reconnect` имеет то же исправление; Claude Code показывает его, когда вошедшая в систему учётная запись изменилась или не могла быть прочитана между её проверкой и переподключением. Если вы запустите `/remote-control` после `Previous session is unavailable` без перезагрузки Claude Code в первую очередь, Claude Code оставляет более ранние сообщения разговора вне нового сеанса.

498 495 

499При возобновлении Claude Code [запускает новый сеанс на его месте](#resume-outcomes) только если запись переподключения разговора указывает на учётную запись, которая владела сеансом, потому что сервер сообщает о сеансе, который вы удалили, и сеансе, принадлежащем другой учётной записи, одинаково. Claude Code до версии 2.1.227 не записывал эту учётную запись, и Claude Code не может проверить запись, когда не может прочитать ваш сохранённый вход. Claude Code до версии 2.1.232 показывал `Remote Control could not resume the previous session under the current login — run /remote-control to start fresh` вместо этого, в [другом наборе случаев](#reconnect-history).496При возобновлении Claude Code [запускает новый сеанс на его месте](#resume-outcomes) только если запись переподключения разговора называет учётную запись, которой принадлежал сеанс, потому что сервер сообщает о сеансе, который вы удалили, и сеансе, принадлежащем другой учётной записи, одинаково. Claude Code до версии 2.1.227 не записывал эту учётную запись, и Claude Code не может проверить запись, когда не может прочитать ваш сохранённый вход. Claude Code до версии 2.1.232 показывал `Remote Control could not resume the previous session under the current login — run /remote-control to start fresh` вместо этого, в [другом наборе случаев](#reconnect-history).

500 497 

501<h3 id="remote-control-got-an-unexpected-server-response">498<h3 id="remote-control-got-an-unexpected-server-response">

502 "Remote Control got an unexpected server response"499 "Remote Control got an unexpected server response"

503</h3>500</h3>

504 501 

505Сервер Remote Control принял запрос, но ответил в форме, которую эта версия Claude Code не смогла прочитать, при создании удалённого сеанса или получении его учётных данных. Повторная попытка на той же версии не удаётся таким же образом. Запустите `claude update`, затем запустите `/remote-control` для переподключения. Это сообщение было добавлено в версии 2.1.225.502Сервер Remote Control принял запрос, но ответил в форме, которую эта версия Claude Code не смогла прочитать, при создании удалённого сеанса или получении его учётных данных. Повторная попытка на той же версии не удаётся таким же образом. Запустите `claude update`, а затем запустите `/remote-control` для переподключения. Это сообщение было добавлено в версии 2.1.225.

506 503 

507<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">504<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">

508 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"505 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"

509</h3>506</h3>

510 507 

511Ваша организация имеет [Trusted Devices](#trusted-devices) включены и эта машина ещё не зарегистрирована. Запустите `/login` в Claude Code. Регистрация происходит как часть входа, и нет отдельной команды регистрации.508Ваша организация имеет включённые [Trusted Devices](#trusted-devices) и эта машина ещё не зарегистрирована. Запустите `/login` в Claude Code. Регистрация происходит как часть входа, и нет отдельной команды регистрации.

512 509 

513<h3 id="session-expired-for-trusted-device-check">510<h3 id="session-expired-for-trusted-device-check">

514 "session expired for trusted-device check"511 "session expired for trusted-device check"


536</h2>533</h2>

537 534 

538* [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web): запускайте сеансы в облаке вместо вашего компьютера, настроенные через [облачные среды](/docs/ru/cloud-environments)535* [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web): запускайте сеансы в облаке вместо вашего компьютера, настроенные через [облачные среды](/docs/ru/cloud-environments)

539* [Кросс-сеансовая передача сообщений](/docs/ru/cross-session-messaging): позвольте Claude отправлять сообщения вашим сеансам на других машинах или в [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web)536* [Кросс-сеансовая передача сообщений](/docs/ru/cross-session-messaging): позвольте Claude отправлять сообщения вашим сеансам на других машинах или в [облачных сеансах](/docs/ru/claude-code-on-the-web)

540* [Channels](/docs/ru/channels): перенаправьте Telegram, Discord или iMessage в сеанс, чтобы Claude реагировал на сообщения, пока вас нет537* [Channels](/docs/ru/channels): перенаправьте Telegram, Discord или iMessage в сеанс, чтобы Claude реагировал на сообщения, пока вас нет

541* [Dispatch](/docs/ru/desktop#sessions-from-dispatch): отправьте задачу со своего телефона, и она может создать сеанс Desktop для её обработки538* [Dispatch](/docs/ru/desktop#sessions-from-dispatch): отправьте задачу со своего телефона, и она может создать сеанс Desktop для её обработки

542* [Аутентификация](/docs/ru/authentication): настройте `/login` и управляйте учётными данными для claude.ai539* [Аутентификация](/docs/ru/authentication): настройте `/login` и управляйте учётными данными для claude.ai

543* [Справочник CLI](/docs/ru/cli-reference): полный список флагов и команд, включая `claude remote-control`540* [Справочник CLI](/docs/ru/cli-reference): полный список флагов и команд, включая `claude remote-control`

544* [Безопасность](/docs/ru/security): как сеансы Remote Control вписываются в модель безопасности Claude Code541* [Безопасность](/docs/ru/security): как сеансы Remote Control вписываются в модель безопасности Claude Code

545* [Использование данных](/docs/ru/data-usage): какие данные проходят через API Anthropic во время локальных и удалённых сеансов542* [Использование данных](/docs/ru/data-usage): какие данные проходят через API Anthropic во время локальных, Remote Control и облачных сеансов

routines.md +16 −18

Details

174 174 

175<Steps>175<Steps>

176 <Step title="Откройте рутину для редактирования">176 <Step title="Откройте рутину для редактирования">

177 Перейдите на [claude.ai/code/routines](https://claude.ai/code/routines), нажмите рутину, которую вы хотите запустить через API, затем нажмите значок карандаша, чтобы открыть **Edit routine**.177 Перейдите на [claude.ai/code/routines](https://claude.ai/code/routines), нажмите рутину, которую вы хотите запустить через API, затем откройте меню рядом с названием рутины и выберите **Edit**.

178 </Step>178 </Step>

179 179 

180 <Step title="Добавьте триггер API">180 <Step title="Добавьте триггер API">


254 254 

255<Steps>255<Steps>

256 <Step title="Откройте рутину для редактирования">256 <Step title="Откройте рутину для редактирования">

257 Перейдите на [claude.ai/code/routines](https://claude.ai/code/routines), нажмите рутину, затем нажмите значок карандаша, чтобы открыть **Edit routine**.257 Перейдите на [claude.ai/code/routines](https://claude.ai/code/routines), нажмите рутину, затем откройте меню рядом с названием рутины и выберите **Edit**.

258 </Step>258 </Step>

259 259 

260 <Step title="Добавьте триггер события GitHub">260 <Step title="Добавьте триггер события GitHub">


331Со страницы деталей рутины вы можете:331Со страницы деталей рутины вы можете:

332 332 

333* Нажать **Run now**, чтобы начать запуск немедленно без ожидания следующего запланированного времени. Вы можете дополнительно предоставить текст, специфичный для запуска, который достигает рутину так же, как поле `text` триггера API.333* Нажать **Run now**, чтобы начать запуск немедленно без ожидания следующего запланированного времени. Вы можете дополнительно предоставить текст, специфичный для запуска, который достигает рутину так же, как поле `text` триггера API.

334* Использовать переключатель в разделе **Repeats**, чтобы приостановить или возобновить расписание. Приостановленные рутины сохраняют свою конфигурацию, но не запускаются, пока вы их не переактивируете.334* Использовать переключатель в верхней части страницы, чтобы приостановить или возобновить расписание. Приостановленные рутины сохраняют свою конфигурацию, но не запускаются, пока вы их не переактивируете.

335* Нажать значок карандаша, чтобы открыть **Edit routine** и изменить имя, подсказку, репозитории, окружение, коннекторы или любые триггеры рутины. Раздел **Select a trigger** — это место, где вы добавляете или удаляете расписания, токены API и триггеры событий GitHub.335* Открыть меню рядом с именем рутины и выбрать **Edit**, чтобы изменить имя, подсказку, репозитории, окружение, коннекторы или любые триггеры рутины. Раздел **Select a trigger** — это место, где вы добавляете или удаляете расписания, токены API и триггеры событий GitHub.

336* Нажать значок удаления, чтобы удалить рутину. Прошлые сеансы, созданные рутиной, остаются в вашем списке сеансов.336* Открыть то же меню и выбрать **Delete**, чтобы удалить рутину.

337 337 

338<h3 id="manage-routines-from-the-cli">338<h3 id="manage-routines-from-the-cli">

339 Управление рутинами из CLI339 Управление рутинами из CLI


363 363 

364Рутины могут использовать ваши подключенные MCP коннекторы для чтения и записи во внешние сервисы во время каждого запуска. Например, рутина, которая сортирует запросы поддержки, может читать из канала Slack и создавать проблемы в Linear.364Рутины могут использовать ваши подключенные MCP коннекторы для чтения и записи во внешние сервисы во время каждого запуска. Например, рутина, которая сортирует запросы поддержки, может читать из канала Slack и создавать проблемы в Linear.

365 365 

366Коннекторы — это [интеграции claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) на вашем аккаунте. MCP серверы, которые вы добавили локально в CLI с помощью `claude mcp add`, хранятся на вашей машине, а не на вашем аккаунте claude.ai, поэтому они не отображаются в списке коннекторов. Чтобы использовать один из этих серверов в рутине, добавьте его как коннектор на [claude.ai/customize/connectors](https://claude.ai/customize/connectors) или объявите его в committed [`.mcp.json`](/docs/ru/mcp#project-scope), чтобы он был частью клонированного репозитория.366Коннекторы — это [интеграции claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) на вашем аккаунте. MCP серверы, которые вы добавили локально в CLI с помощью `claude mcp add`, хранятся на вашей машине, а не на вашем аккаунте claude.ai, поэтому они не отображаются в списке коннекторов. Чтобы использовать один из этих серверов в рутине, добавьте его как коннектор на [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Для рутины с одним репозиторием вы можете вместо этого объявить его в committed [`.mcp.json`](/docs/ru/mcp#project-scope), чтобы он был частью клонированного репозитория.

367 367 

368Когда вы создаете рутину, все ваши текущие подключенные коннекторы включены по умолчанию. Удалите все, которые не нужны, чтобы ограничить, к каким инструментам Claude имеет доступ во время запуска. Вы также можете добавлять коннекторы непосредственно из формы рутины.368Когда вы создаете рутину, все ваши текущие подключенные коннекторы включены по умолчанию. Удалите все, которые не нужны, чтобы ограничить, к каким инструментам Claude имеет доступ во время запуска. Вы также можете добавлять коннекторы непосредственно из формы рутины.

369 369 


381 381 

382<Steps>382<Steps>

383 <Step title="Откройте рутину для редактирования">383 <Step title="Откройте рутину для редактирования">

384 На странице деталей рутины нажмите значок карандаша, чтобы открыть **Edit routine**.384 На странице деталей рутины откройте меню рядом с именем рутины и выберите **Edit**.

385 </Step>385 </Step>

386 386 

387 <Step title="Откройте селектор окружения">387 <Step title="Откройте селектор окружения">


421 `/schedule` returns "Unknown command"421 `/schedule` returns "Unknown command"

422</h3>422</h3>

423 423 

424CLI скрывает `/schedule`, когда одно из его требований не выполнено: меню команд показывает `No commands match "/schedule"` во время ввода, а отправка возвращает `Unknown command: /schedule` во всех случаях ниже, кроме Console API key или профиля Anthropic с включенной загрузкой флагов функций. Причина обычно одна из следующих:424CLI скрывает `/schedule`, когда одно из его требований не выполнено: меню команд показывает `No commands match "/schedule"` во время ввода. Отправка возвращает `Unknown command: /schedule`, за исключением случаев ниже, которые указывают на другой ответ.

425 425 

426* Вы аутентифицированы с помощью Console API key, [профиля Anthropic или учетных данных федерации](/docs/ru/authentication#anthropic-profiles-and-federation-credentials), или облачного провайдера, такого как Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry. `/schedule` требует входа с подпиской claude.ai. С Console API key или профилем отправка `/schedule` вместо этого показывает `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`. С входом облачного провайдера вы все еще видите `Unknown command: /schedule`. Если `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN` установлены в вашей оболочке, или `apiKeyHelper` установлен в `settings.json`, удалите их сначала, так как они имеют приоритет над входом claude.ai. Профиль или учетные данные федерации также имеют приоритет, поэтому отключите их тоже426Причина обычно одна из следующих:

427* Вы находитесь в сеансе Claude Code в веб-версии. Управляйте рутинами из [веб-интерфейса](https://claude.ai/code/routines) вместо этого

428* Политика вашей организации отключает [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web), на которой работают рутины

429* Владелец [отключил рутины](#routines-are-disabled-by-your-organizations-policy) для вашей организации Team или Enterprise. До версии v2.1.227 команда все еще появлялась в этом случае, и claude.ai отклонял рутину, когда Claude пытался создать или запустить ее

430 

431Если политика вашей организации не отключает рутины или Claude Code в веб-версии, вы можете создавать и управлять рутинами на [claude.ai/code/routines](https://claude.ai/code/routines) независимо от того, как настроен ваш CLI.

432 427 

433<h3 id="/schedule-asks-you-to-authenticate">428* Вы аутентифицированы с помощью Console API key, [профиля Anthropic или учетных данных федерации](/docs/ru/authentication#anthropic-profiles-and-federation-credentials), или облачного провайдера, такого как Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry. `/schedule` требует входа с подпиской claude.ai. С Console API key или профилем и включенной загрузкой флагов функций отправка `/schedule` вместо этого показывает `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`. С входом облачного провайдера вы все еще видите `Unknown command: /schedule`. Если `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN` установлены в вашей оболочке, или `apiKeyHelper` установлен в `settings.json`, удалите их сначала, так как они имеют приоритет над входом claude.ai. Профиль или учетные данные федерации также имеют приоритет, поэтому отключите их тоже

434 `/schedule` просит вас пройти аутентификацию429* Вы полностью вышли из системы, без API key или других учетных данных. С включенной загрузкой флагов функций отправка `/schedule` показывает `/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.` До версии v2.1.268 сеанс без входа показывал то же сообщение Claude for Enterprise, что и Console API key

435</h3>430* Вы находитесь в облачном сеансе. Управляйте рутинами из [веб-интерфейса](https://claude.ai/code/routines) вместо этого

431* Политика вашей организации отключает [облачные сеансы](/docs/ru/claude-code-on-the-web), на которых работают рутины. В этом случае отправка `/schedule` отвечает [`Cloud sessions are disabled by your organization's policy`](/docs/ru/errors#cloud-sessions-are-disabled-by-your-organizations-policy) вместо этого. До версии v2.1.268 она возвращала `Unknown command: /schedule`

432* Владелец [отключил рутины](#routines-are-disabled-by-your-organizations-policy) для вашей организации Team или Enterprise. До версии v2.1.227 команда все еще появлялась в этом случае, и claude.ai отклонял рутину, когда Claude пытался создать или запустить ее

436 433 

437Если `/schedule` запускается, но Claude отвечает, что вам нужно сначала аутентифицироваться с помощью учетной записи claude.ai, то CLI не имеет сохраненного входа claude.ai. Учетные записи API не поддерживаются для рутин. Запустите `/login`, войдите с помощью вашей учетной записи claude.ai, затем снова запустите `/schedule`.434Если политика вашей организации не отключает рутины или облачные сеансы, вы можете создавать и управлять рутинами на [claude.ai/code/routines](https://claude.ai/code/routines) независимо от того, как настроен ваш CLI.

438 435 

439<h3 id="routines-are-disabled-by-your-organizations-policy">436<h3 id="routines-are-disabled-by-your-organizations-policy">

440 "Routines are disabled by your organization's policy"437 "Routines are disabled by your organization's policy"


449* [`/loop` and in-session scheduling](/docs/ru/scheduled-tasks): запланируйте локальные задачи в открытом сеансе CLI446* [`/loop` and in-session scheduling](/docs/ru/scheduled-tasks): запланируйте локальные задачи в открытом сеансе CLI

450* [Desktop scheduled tasks](/docs/ru/desktop-scheduled-tasks): локальные запланированные задачи, которые запускаются на вашей машине с доступом к локальным файлам447* [Desktop scheduled tasks](/docs/ru/desktop-scheduled-tasks): локальные запланированные задачи, которые запускаются на вашей машине с доступом к локальным файлам

451* [Cloud environments](/docs/ru/cloud-environments): настройте сетевой доступ, переменные окружения и скрипты настройки для облачных сеансов448* [Cloud environments](/docs/ru/cloud-environments): настройте сетевой доступ, переменные окружения и скрипты настройки для облачных сеансов

449* [Projects](/docs/ru/claude-projects): текущая работа, которую Claude координирует в параллельных облачных сеансах; процедуры, созданные из проекта, появляются на его вкладке **Routines**

452* [MCP connectors](/docs/ru/mcp): подключите внешние сервисы, такие как Slack, Linear и Google Drive450* [MCP connectors](/docs/ru/mcp): подключите внешние сервисы, такие как Slack, Linear и Google Drive

453* [GitHub Actions](/docs/ru/github-actions): запустите Claude в вашем конвейере CI при событиях репозитория451* [GitHub Actions](/docs/ru/github-actions): запустите Claude в вашем конвейере CI при событиях репозитория

Details

21Первые два подхода в таблице ниже работают на хост-операционной системе без контейнеров. Остальные помещают Claude Code внутри контейнера или виртуальной машины.21Первые два подхода в таблице ниже работают на хост-операционной системе без контейнеров. Остальные помещают Claude Code внутри контейнера или виртуальной машины.

22 22 

23| Подход | Что изолируется | Требует Docker | Усилия по настройке |23| Подход | Что изолируется | Требует Docker | Усилия по настройке |

24| :------------------------------------------------ | :------------------------------------------------------------------------ | :------------- | :--------------------------------------------------------------------------- |24| :------------------------------------------ | :------------------------------------------------------------------------ | :------------- | :------------------------------------------------------------------------------------------------------------ |

25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Команды Bash и их дочерние процессы | Нет | Минимально на macOS; низко на Linux и WSL2 |25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Команды Bash, PowerShell и Monitor и их дочерние процессы | Нет | Минимально на macOS; низко на Linux и WSL2 |

26| [Sandbox runtime](#sandbox-runtime) | Весь процесс Claude Code, включая инструменты файлов, серверы MCP и hooks | Нет | Низко |26| [Sandbox runtime](#sandbox-runtime) | Весь процесс Claude Code, включая инструменты файлов, серверы MCP и hooks | Нет | Низко |

27| [Dev container](#dev-containers) | Полная среда разработки | Да | Среднее |27| [Dev container](#dev-containers) | Полная среда разработки | Да | Среднее |

28| [Custom container](#custom-container) | Полная среда разработки | Да | Среднее-высокое |28| [Custom container](#custom-container) | Полная среда разработки | Да | Среднее-высокое |

29| [Virtual machine](#virtual-machine) | Полная операционная система | Нет | Высокое |29| [Virtual machine](#virtual-machine) | Полная операционная система | Нет | Высокое |

30| [Claude Code on the web](#claude-code-on-the-web) | Полная операционная система, размещенная Anthropic | Нет | Нет; требуется подписка Claude, а также GitHub при запуске из веб-интерфейса |30| [Cloud sessions](#cloud-sessions) | Полная операционная система, размещенная Anthropic | Нет | Нет; требуется подписка Claude, а также подключенный аккаунт GitHub, если вы не запускаете с `claude --cloud` |

31 31 

32[Sandboxed Bash tool](/docs/ru/sandboxing) встроен в Claude Code и ограничивает только команды Bash. Встроенные инструменты файлов, серверы MCP и hooks по-прежнему работают непосредственно на вашем хосте. Каждый другой подход в таблице помещает весь процесс Claude Code внутри границы изоляции, поэтому инструменты файлов, серверы MCP и hooks также ограничены.32[Sandboxed Bash tool](/docs/ru/sandboxing) встроен в Claude Code и ограничивает только команды Bash. Встроенные инструменты файлов, серверы MCP и hooks по-прежнему работают непосредственно на вашем хосте. Каждый другой подход в таблице помещает весь процесс Claude Code внутри границы изоляции, поэтому инструменты файлов, серверы MCP и hooks также ограничены.

33 33 


44Сопоставьте вашу цель со строкой ниже, затем прочитайте раздел деталей, который следует.44Сопоставьте вашу цель со строкой ниже, затем прочитайте раздел деталей, который следует.

45 45 

46| Вы хотите | Начните с |46| Вы хотите | Начните с |

47| :------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |

48| Уменьшить запросы разрешений во время повседневной работы на собственной машине | [sandboxed Bash tool](/docs/ru/sandboxing), включенный с `/sandbox` |48| Уменьшить запросы разрешений во время повседневной работы на собственной машине | [sandboxed Bash tool](/docs/ru/sandboxing), включенный с `/sandbox` |

49| Позволить Claude работать без присмотра с `--dangerously-skip-permissions` или в режиме auto | Предварительно настроенный [dev container](/docs/ru/devcontainer), любой контейнер или VM, или [sandbox runtime](#sandbox-runtime) |49| Позволить Claude работать без присмотра с `--dangerously-skip-permissions` или в режиме auto | Предварительно настроенный [dev container](/docs/ru/devcontainer), любой контейнер или VM, или [sandbox runtime](#sandbox-runtime) |

50| Изолировать серверы MCP и hooks, а также Bash, без Docker | Среда выполнения sandbox |50| Изолировать серверы MCP и hooks, а также Bash, без Docker | Среда выполнения sandbox |

51| Работать с ненадежным репозиторием | Выделенная виртуальная машина или [Claude Code on the web](/docs/ru/claude-code-on-the-web), если у вас есть подписка Claude; GitHub требуется только при запуске из веб-интерфейса |51| Работать с ненадежным репозиторием | Выделенная виртуальная машина или [cloud session](/docs/ru/claude-code-on-the-web), если у вас есть подписка Claude; GitHub не требуется при запуске с `claude --cloud` |

52| Стандартизировать изолированную среду в команде | Предварительно настроенный [dev container](/docs/ru/devcontainer), скопированный в ваш репозиторий |52| Стандартизировать изолированную среду в команде | Предварительно настроенный [dev container](/docs/ru/devcontainer), скопированный в ваш репозиторий |

53| Использовать Claude Code с устройства без локальной настройки | [Claude Code on the web](/docs/ru/claude-code-on-the-web), который требует подписку Claude и подключенный аккаунт GitHub |53| Использовать Claude Code с устройства без локальной настройки | [cloud session](/docs/ru/claude-code-on-the-web), который требует подписку Claude и подключенный аккаунт GitHub |

54| Требовать изоляцию для каждого разработчика в вашей организации | [Enforce isolation across an organization](#enforce-isolation-across-an-organization) |54| Требовать изоляцию для каждого разработчика в вашей организации | [Enforce isolation across an organization](#enforce-isolation-across-an-organization) |

55| Работать на нативном хосте Windows | Контейнер или VM, или запустить Bash sandbox внутри WSL2 |55| Работать на нативном хосте Windows | Контейнер или VM, или запустить Bash sandbox внутри WSL2 |

56 56 


66 66 

67[Auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) заменяет запрос классификатором, который проверяет действия. Классификатор — это контроль для каждого действия, а не граница изоляции, поэтому граница изоляции все еще добавляет защиту в глубину для автоматических запусков и не требуется так, как для `--dangerously-skip-permissions`.67[Auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) заменяет запрос классификатором, который проверяет действия. Классификатор — это контроль для каждого действия, а не граница изоляции, поэтому граница изоляции все еще добавляет защиту в глубину для автоматических запусков и не требуется так, как для `--dangerously-skip-permissions`.

68 68 

69[sandboxed Bash tool](#sandboxed-bash-tool) сам по себе ограничивает только Bash, поэтому его недостаточно для полностью автоматических запусков в любом режиме. Вы можете комбинировать подходы: запуск sandboxed Bash tool внутри контейнера или VM дает вам ограничения команд на уровне ОС поверх внешней границы окружения. Для информации о том, как сам Bash sandbox взаимодействует с правилами разрешений и режимами разрешений, см. [How sandboxing relates to permissions and permission modes](/docs/ru/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes).69[sandboxed Bash tool](#sandboxed-bash-tool) сам по себе ограничивает только shell команды, поэтому его недостаточно для полностью автоматических запусков в любом режиме. Вы можете комбинировать подходы: запуск sandboxed Bash tool внутри контейнера или VM дает вам ограничения команд на уровне ОС поверх внешней границы окружения. Для информации о том, как сам Bash sandbox взаимодействует с правилами разрешений и режимами разрешений, см. [How sandboxing relates to permissions and permission modes](/docs/ru/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes).

70 70 

71<h2 id="sandboxed-bash-tool">71<h2 id="sandboxed-bash-tool">

72 Sandboxed Bash tool72 Sandboxed Bash tool


76 Этот вариант не поддерживает нативный Windows. На хостах Windows используйте WSL2 или один из подходов контейнера или VM ниже.76 Этот вариант не поддерживает нативный Windows. На хостах Windows используйте WSL2 или один из подходов контейнера или VM ниже.

77</Note>77</Note>

78 78 

79Sandboxed Bash tool встроен в Claude Code. Он использует примитивы операционной системы для ограничения доступа к файловой системе и сети каждой команды Bash, которую запускает Claude.79Sandboxed Bash tool встроен в Claude Code. Он использует примитивы операционной системы для ограничения доступа к файловой системе и сети каждой команды Bash, PowerShell или Monitor, которую запускает Claude.

80 80 

81Запустите команду `/sandbox` для открытия панели песочницы и выберите режим. Руководство [Sandboxing](/docs/ru/sandboxing) охватывает режимы одобрения, границу по умолчанию и как расширить или сузить ее.81Запустите команду `/sandbox` для открытия панели песочницы и выберите режим. Руководство [Sandboxing](/docs/ru/sandboxing) охватывает режимы одобрения, границу по умолчанию и как расширить или сузить ее.

82 82 


175 175 

176[Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) предоставляет microVM с собственным демоном Docker и синхронизацией рабочего пространства, которая может запустить Claude Code на любом хосте с установленным Docker Sandboxes. Это бесплатный автономный продукт от Docker, который не требует Docker Desktop.176[Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) предоставляет microVM с собственным демоном Docker и синхронизацией рабочего пространства, которая может запустить Claude Code на любом хосте с установленным Docker Sandboxes. Это бесплатный автономный продукт от Docker, который не требует Docker Desktop.

177 177 

178<h2 id="claude-code-on-the-web">178<h2 id="cloud-sessions">

179 Claude Code on the web179 Cloud sessions

180</h2>180</h2>

181 181 

182[Claude Code on the web](/docs/ru/claude-code-on-the-web) запускает каждый сеанс в изолированной виртуальной машине, управляемой Anthropic. Сетевой прокси обеспечивает список разрешений по умолчанию, и отдельный прокси хранит ваш токен GitHub вне sandbox, выдавая ограниченные учетные данные для доступа к репозиторию внутри него. Сеансы, которые ваша организация маршрутизирует в [самостоятельно размещаемую среду](/docs/ru/self-hosted-environments), запускаются на инфраструктуре, которую вы предоставляете, где изоляция, контроль исходящего трафика и учетные данные git являются ответственностью вашего развертывания.182[Облачный сеанс](/docs/ru/claude-code-on-the-web) запускается в изолированной виртуальной машине, управляемой Anthropic. Сетевой прокси обеспечивает список разрешений по умолчанию, и отдельный прокси хранит ваш токен GitHub вне sandbox, выдавая ограниченные учетные данные для доступа к репозиторию внутри него. Сеансы, которые ваша организация маршрутизирует в [самостоятельно размещаемую среду](/docs/ru/self-hosted-environments), запускаются на инфраструктуре, которую вы предоставляете, где изоляция, контроль исходящего трафика и учетные данные git являются ответственностью вашего развертывания.

183 183 

184Используйте этот подход, когда вы хотите полную изоляцию VM без самостоятельного предоставления инфраструктуры, или когда вы делегируете задачи с устройства, которое не имеет локальной среды разработки. Это требует подписку Claude. Когда вы запускаете сеанс из веб-интерфейса, вам также нужен подключенный аккаунт GitHub, чтобы sandbox мог клонировать ваш репозиторий. Когда вы запускаете из CLI с `--cloud`, Claude Code может [упаковать и загрузить ваш локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) вместо этого. См. [Claude Code on the web](/docs/ru/claude-code-on-the-web) для доступности плана и опций аутентификации GitHub.184Используйте этот подход, когда вы хотите полную изоляцию VM без самостоятельного предоставления инфраструктуры, или когда вы делегируете задачи с устройства, которое не имеет локальной среды разработки. Это требует подписку Claude. Если вы не запускаете из CLI, вам также нужен подключенный аккаунт GitHub, чтобы sandbox мог клонировать ваш репозиторий. Когда вы запускаете из CLI с `--cloud`, Claude Code может [упаковать и загрузить ваш локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) вместо этого. См. [Использование Claude Code в облаке](/docs/ru/claude-code-on-the-web) для доступности плана и опций аутентификации GitHub.

185 185 

186<h2 id="enforce-isolation-across-an-organization">186<h2 id="enforce-isolation-across-an-organization">

187 Enforce isolation across an organization187 Enforce isolation across an organization

sandboxing.md +110 −92

Details

6 6 

7> Узнайте, как изолированный инструмент Bash в Claude Code обеспечивает изоляцию файловой системы и сети для более безопасного и автономного выполнения агента.7> Узнайте, как изолированный инструмент Bash в Claude Code обеспечивает изоляцию файловой системы и сети для более безопасного и автономного выполнения агента.

8 8 

9Bash sandbox позволяет Claude выполнять большинство команд оболочки без остановки для запроса разрешения. Вместо одобрения каждой команды вы определяете, какие файлы и сетевые домены могут использовать команды, и операционная система применяет эту границу для каждой команды Bash и её дочерних процессов.9Bash sandbox позволяет Claude выполнять большинство команд оболочки без остановки для запроса разрешения. Вместо одобрения каждой команды вы определяете, какие файлы и сетевые домены могут использовать команды, и операционная система применяет эту границу для каждой команды Bash, PowerShell или Monitor и её дочерних процессов.

10 10 

11<Note>11<Note>

12 Для сравнения других подходов к изоляции, таких как dev containers, пользовательские контейнеры и виртуальные машины, см. [Sandbox environments](/docs/ru/sandbox-environments). Чтобы уменьшить количество запросов разрешений для инструментов, отличных от Bash, см. [permission modes](/docs/ru/permission-modes).12 Для сравнения других подходов к изоляции, таких как dev containers, пользовательские контейнеры и виртуальные машины, см. [Sandbox environments](/docs/ru/sandbox-environments). Чтобы уменьшить количество запросов разрешений для инструментов, отличных от Bash, см. [permission modes](/docs/ru/permission-modes).


42 </Step>42 </Step>

43 43 

44 <Step title="Выполните команду Bash">44 <Step title="Выполните команду Bash">

45 Попросите Claude выполнить команду, например сборку или набор тестов. По умолчанию команды внутри sandbox могут писать в рабочий каталог, каталог временных файлов сеанса и любые [каталоги, которые вы добавили](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`. Первый раз, когда команде требуется новый сетевой домен, Claude Code запрашивает одобрение, или в [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) отправляет запрос классификатору.45 Попросите Claude выполнить команду, например сборку или набор тестов. По умолчанию команды внутри sandbox могут писать в рабочий каталог, каталог временных файлов сеанса и любые [каталоги, которые вы добавили](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`.

46 

47 Первый раз, когда команде требуется новый сетевой домен, Claude Code запрашивает одобрение; в [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) Claude вместо этого называет хосты, которые требует команда, [в самой команде](#per-command-allowed-domains-in-auto-mode) для проверки классификатором вместе с ней.

46 48 

47 Команды, которые не могут выполняться в sandbox, возвращаются к обычному потоку разрешений. Claude Code озаглавливает их запрос разрешения как "Bash command (unsandboxed)" вместо "Bash command", чтобы вы могли определить, какие команды выполнялись вне sandbox. Чтобы расширить или сузить эти границы, см. [Настройка sandboxing](#configure-sandboxing).49 Команды, которые не могут выполняться в sandbox, возвращаются к обычному потоку разрешений. Claude Code озаглавливает их запрос разрешения как "Bash command (unsandboxed)" вместо "Bash command", чтобы вы могли определить, какие команды выполнялись вне sandbox. Чтобы расширить или сузить эти границы, см. [Настройка sandboxing](#configure-sandboxing).

48 50 


145* Простое правило `Bash` ask, или эквивалентная форма `Bash(*)`, пропускается для команд, которые выполняются в изолированном режиме; оно по-прежнему применяется к командам, которые возвращаются к обычному потоку разрешений. В [режиме plan](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) правило не пропускается: оно запрашивает разрешение для изолированных команд, включая команды только для чтения. До версии 2.1.212 пропуск применялся и в режиме plan147* Простое правило `Bash` ask, или эквивалентная форма `Bash(*)`, пропускается для команд, которые выполняются в изолированном режиме; оно по-прежнему применяется к командам, которые возвращаются к обычному потоку разрешений. В [режиме plan](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) правило не пропускается: оно запрашивает разрешение для изолированных команд, включая команды только для чтения. До версии 2.1.212 пропуск применялся и в режиме plan

146 148 

147<Info>149<Info>

148 Режим автоматического разрешения работает независимо от вашего параметра режима разрешений, с одним исключением: [режим plan](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode). Даже если вы не находитесь в режиме "принять правки", изолированные команды Bash выполняются автоматически при включении автоматического разрешения. Это означает, что команды Bash, которые изменяют файлы в границах sandbox, выполняются без запроса, даже в режиме Manual, где инструменты редактирования файлов запрашивали бы разрешение.150 Режим автоматического разрешения работает независимо от вашего параметра режима разрешений, за исключением [режима plan](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) и, в режиме auto, для команды, которая несёт [разрешённые домены для каждой команды](#per-command-allowed-domains-in-auto-mode). Даже если вы не находитесь в режиме "принять правки", изолированные команды Bash выполняются автоматически при включении автоматического разрешения. Это означает, что команды Bash, которые изменяют файлы в границах sandbox, выполняются без запроса, даже в режиме Manual, где инструменты редактирования файлов запрашивали бы разрешение.

149 151 

150 В режиме plan автоматическое разрешение не расширяет одобрения; см. [режим plan](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) для информации о том, как Claude Code управляет командами во время планирования. До версии 2.1.212 автоматическое разрешение выполняло изолированные команды без запроса и в режиме plan.152 В режиме plan автоматическое разрешение не расширяет одобрения; см. [режим plan](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) для информации о том, как Claude Code управляет командами во время планирования. До версии 2.1.212 автоматическое разрешение выполняло изолированные команды без запроса и в режиме plan.

151</Info>153</Info>


180Каталог временных файлов сеанса доступен для записи внутри sandbox по умолчанию, наряду с рабочим каталогом. Если вы не [отключите изоляцию файловой системы](#disable-filesystem-isolation), Claude Code устанавливает `$TMPDIR` в этот каталог для изолированных команд, поэтому инструменты, которые записывают временные файлы, работают без дополнительной конфигурации. Неизолированные команды наследуют `$TMPDIR` вашей оболочки без изменений, поэтому пока изоляция файловой системы включена, изолированные и неизолированные команды разрешают `$TMPDIR` в разные каталоги. Чтобы передавать временные файлы между ними, записывайте их в рабочий каталог вместо этого.182Каталог временных файлов сеанса доступен для записи внутри sandbox по умолчанию, наряду с рабочим каталогом. Если вы не [отключите изоляцию файловой системы](#disable-filesystem-isolation), Claude Code устанавливает `$TMPDIR` в этот каталог для изолированных команд, поэтому инструменты, которые записывают временные файлы, работают без дополнительной конфигурации. Неизолированные команды наследуют `$TMPDIR` вашей оболочки без изменений, поэтому пока изоляция файловой системы включена, изолированные и неизолированные команды разрешают `$TMPDIR` в разные каталоги. Чтобы передавать временные файлы между ними, записывайте их в рабочий каталог вместо этого.

181 183 

182<h2 id="configure-sandboxing">184<h2 id="configure-sandboxing">

183 Настройка sandboxing185 Настройка изоляции в песочнице

184</h2>186</h2>

185 187 

186Настройте поведение sandbox через ваш файл `settings.json`. Полную справку по конфигурации см. в разделе [Settings](/docs/ru/settings-reference#sandbox-settings).188Настройте поведение песочницы через файл `settings.json`. Полную справку по конфигурации см. в разделе [Settings](/docs/ru/settings-reference#sandbox-settings).

187 189 

188По умолчанию изолированные команды могут писать в текущий рабочий каталог, временный каталог сеанса и любые [каталоги, которые вы добавили](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`. Если команды подпроцесса, такие как `kubectl`, `terraform` или `npm`, должны писать вне этих каталогов, используйте `sandbox.filesystem.allowWrite` для предоставления доступа к определённым путям:190По умолчанию команды в песочнице могут писать в текущий рабочий каталог, временный каталог сеанса и любые [каталоги, которые вы добавили](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`. Если подпроцессы, такие как `kubectl`, `terraform` или `npm`, должны писать вне этих каталогов, используйте `sandbox.filesystem.allowWrite` для предоставления доступа к определённым путям:

189 191 

190```json theme={null}192```json theme={null}

191{193{


198}200}

199```201```

200 202 

201Эти пути применяются на уровне ОС, поэтому все команды, работающие внутри sandbox, включая их дочерние процессы, соблюдают их. Это рекомендуемый подход, когда инструменту требуется доступ на запись к определённому местоположению, вместо полного исключения инструмента из sandbox с помощью `excludedCommands`.203Эти пути применяются на уровне операционной системы, поэтому все команды, работающие внутри песочницы, включая их дочерние процессы, их соблюдают. Это рекомендуемый подход, когда инструменту требуется доступ на запись в определённое место, вместо полного исключения инструмента из песочницы с помощью `excludedCommands`.

202 204 

203Когда один и тот же массив файловой системы определён в нескольких [областях параметров](/docs/ru/settings#settings-precedence), Claude Code объединяет их, комбинируя пути из каждой области, а не заменяя массив одной области на массив другой.205Когда вы определяете один и тот же массив файловой системы в нескольких [областях параметров](/docs/ru/settings#settings-precedence), Claude Code объединяет их, комбинируя пути из каждой области вместо замены массива одной области на массив другой.

204 206 

205Если вы исключите источник с помощью [`--setting-sources`](/docs/ru/cli-reference) в CLI или [`settingSources`](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) в Agent SDK, Claude Code игнорирует его записи `sandbox.filesystem`, его правила разрешения `Edit` и его правила отказа `Read` при построении конфигурации sandbox. Требуется Claude Code v2.1.246 или позже.207Если вы исключаете источник с помощью [`--setting-sources`](/docs/ru/cli-reference) в CLI или [`settingSources`](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) в Agent SDK, Claude Code игнорирует его записи `sandbox.filesystem`, его правила разрешения `Edit` и его правила отказа `Read` при построении конфигурации песочницы. Требуется Claude Code v2.1.246 или позже.

206 208 

207Когда вы редактируете эти списки файловой системы во время сеанса, Claude Code [применяет изменение к работающему сеансу](/docs/ru/settings#when-edits-take-effect), поэтому следующая изолированная команда выполняется под новыми путями.209Когда вы редактируете эти списки файловой системы во время сеанса, Claude Code [применяет изменение к работающему сеансу](/docs/ru/settings#when-edits-take-effect), поэтому следующая команда в песочнице выполняется под новыми путями.

208 210 

209Префиксы пути контролируют способ разрешения путей:211Префиксы путей контролируют способ разрешения путей:

210 212 

211| Префикс | Значение | Пример |213| Префикс | Значение | Пример |

212| :-------------------- | :---------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |214| :-------------------- | :--------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |

213| `/` | Абсолютный путь от корня файловой системы | `/tmp/build` остаётся `/tmp/build` |215| `/` | Абсолютный путь от корня файловой системы | `/tmp/build` остаётся `/tmp/build` |

214| `~/` | Относительно домашнего каталога | `~/.kube` становится `$HOME/.kube` |216| `~/` | Относительно домашнего каталога | `~/.kube` становится `$HOME/.kube` |

215| `./` или без префикса | Относительно корня проекта для параметров проекта или к `~/.claude` для параметров пользователя | `./output` в `.claude/settings.json` разрешается в `<project-root>/output` |217| `./` или без префикса | Относительно корня проекта для параметров проекта или относительно `~/.claude` для параметров пользователя | `./output` в `.claude/settings.json` разрешается в `<project-root>/output` |

216 218 

217Этот синтаксис отличается от [правил разрешений Read и Edit](/docs/ru/permissions#read-and-edit), которые используют `//path` для абсолютных и `/path` для относительных к проекту. Пути файловой системы sandbox используют стандартные соглашения: `/tmp/build` — это абсолютный путь. О том, как Claude Code обрабатывает завершающий слэш или подстановочный знак в этих путях, см. [Префиксы путей Sandbox](/docs/ru/settings-reference#sandbox-path-prefixes).219Этот синтаксис отличается от [правил разрешения Read и Edit](/docs/ru/permissions#read-and-edit), которые используют `//path` для абсолютного и `/path` для относительного к проекту. Пути файловой системы песочницы используют стандартные соглашения: `/tmp/build` является абсолютным. О том, как Claude Code обрабатывает косую черту в конце или подстановочный знак в этих путях, см. [Префиксы путей песочницы](/docs/ru/settings-reference#sandbox-path-prefixes).

218 220 

219Вы также можете запретить доступ на запись или чтение, используя `sandbox.filesystem.denyWrite` и `sandbox.filesystem.denyRead`, и повторно разрешить определённые пути в запрещённой области, используя `sandbox.filesystem.allowRead`. Когда правила чтения перекрываются, более специфичный путь побеждает:221Вы также можете запретить доступ на запись или чтение, используя `sandbox.filesystem.denyWrite` и `sandbox.filesystem.denyRead`, и повторно разрешить определённые пути в запрещённой области, используя `sandbox.filesystem.allowRead`. Когда правила чтения перекрываются, применяется правило с более узким путём:

220 222 

221| Примеры правил | Результат |223| Примеры правил | Результат |

222| :--------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |224| :--------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

223| `"denyRead": ["~/"]` с `"allowRead": ["~/projects"]` | `~/projects` доступен для чтения, а остальная часть домашнего каталога остаётся заблокирована. Более узкое разрешение повторно открывает эту часть запрещённой области |225| `"denyRead": ["~/"]` с `"allowRead": ["~/projects"]` | `~/projects` доступен для чтения, а остальная часть домашнего каталога остаётся заблокированной. Более узкое разрешение повторно открывает эту часть запрещённой области |

224| `"allowRead": ["~/"]` с `"denyRead": ["~/.env"]` | `~/.env` остаётся заблокирован, а остальная часть домашнего каталога доступна для чтения. Точный запрет действует внутри более широкого разрешения, поэтому широкое разрешение не может скрытно повторно открыть секрет |226| `"allowRead": ["~/"]` с `"denyRead": ["~/.env"]` | `~/.env` остаётся заблокированным, а остальная часть домашнего каталога доступна для чтения. Отказ действует внутри более широкого разрешения, поэтому широкое разрешение не может скрытно повторно открыть секрет |

225| `"allowRead": ["~/"]` с `"denyRead": ["~/**/.env"]` | Каждый `.env` под домашним каталогом остаётся заблокирован, а остальное доступно для чтения. [Подстановочный запрет](/docs/ru/settings-reference#sandbox-path-prefixes) действует внутри более широкого разрешения так же, как точный путь |227| `"allowRead": ["~/"]` с `"denyRead": ["~/**/.env"]` | Каждый `.env` в домашнем каталоге остаётся заблокированным, а остальное доступно для чтения. [Подстановочный отказ](/docs/ru/settings-reference#sandbox-path-prefixes) действует внутри более широкого разрешения так же, как точный путь |

226 228 

227Пример ниже блокирует чтение из всего домашнего каталога, но при этом разрешает чтение из текущего проекта. Поместите его в `.claude/settings.json` вашего проекта, потому что относительный путь `.` разрешается в корень проекта только когда конфигурация находится в параметрах проекта:229Пример ниже блокирует чтение из всего домашнего каталога, но по-прежнему разрешает чтение из текущего проекта. Поместите его в `.claude/settings.json` вашего проекта, потому что относительный путь `.` разрешается в корень проекта только когда конфигурация находится в параметрах проекта:

228 230 

229```json theme={null}231```json theme={null}

230{232{


238}240}

239```241```

240 242 

241Если вы поместили ту же конфигурацию в `~/.claude/settings.json`, `.` разрешился бы в `~/.claude` вместо этого, и файлы проекта остались бы заблокированы правилом `denyRead`.243Если бы вы поместили ту же конфигурацию в `~/.claude/settings.json`, `.` разрешился бы в `~/.claude` вместо этого, и файлы проекта остались бы заблокированными правилом `denyRead`.

242 244 

243Чтобы запретить изолированным командам доступ на чтение к домашним каталогам и смонтированным томам, сохраняя при этом доступность рабочих каталогов, установите [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) вместо написания правил пути.245Чтобы запретить командам в песочнице доступ на чтение к домашним каталогам и смонтированным томам, сохраняя при этом доступность рабочих каталогов, установите [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) вместо написания правил путей.

244 246 

245<h3 id="disable-filesystem-isolation">247<h3 id="disable-filesystem-isolation">

246 Отключение изоляции файловой системы248 Отключение изоляции файловой системы


262}264}

263```265```

264 266 

265Sandbox имеет два независимых слоя: [изоляция файловой системы](#filesystem-isolation) контролирует, какие пути могут читать и писать изолированные команды, и [изоляция сети](#network-isolation) контролирует, какие домены они могут достичь. С отключённым слоем файловой системы изолированные команды получают неограниченный доступ на чтение и запись к файловой системе хоста, в то время как их исходящий трафик сети остаётся ограниченным вашими разрешёнными доменами. Отключите слой, когда вы используете sandbox для контроля того, где команды подключаются, а не того, что они пишут.267Песочница имеет два независимых слоя: [изоляция файловой системы](#filesystem-isolation) контролирует, какие пути могут читать и писать команды в песочнице, а [изоляция сети](#network-isolation) контролирует, какие домены они могут достичь. С отключённым слоем файловой системы команды в песочнице получают неограниченный доступ на чтение и запись к файловой системе хоста, в то время как их исходящий трафик сети остаётся ограниченным вашими разрешёнными доменами. Отключите слой, когда вы используете песочницу для контроля того, где команды подключаются, а не того, что они пишут.

266 268 

267Параметр отключён по умолчанию и применяется на платформах, где работает sandbox: macOS, Linux и WSL2. Требуется Claude Code v2.1.216 или позже.269Параметр отключён по умолчанию и применяется на платформах, где работает песочница: macOS, Linux и WSL2. Требуется Claude Code v2.1.216 или позже.

268 270 

269<Warning>271<Warning>

270 С отключённой изоляцией файловой системы и автоматически разрешёнными командами изолированная команда может писать файлы, которые позже выполняют или читают другие команды, такие как файлы запуска оболочки, исполняемые файлы на `$PATH` или `~/.claude/settings.json`, и использовать их для расширения собственного доступа при следующем запуске. Установите `filesystem.disabled` в `true` только для рабочих нагрузок, которым вы доверяете не расширять собственный доступ. Блокировка доменов сети с помощью [`allowManagedDomainsOnly`](#keep-developers-from-widening-the-policy) сужает риск, но не устраняет его, поскольку эта блокировка применяется только к командам, работающим внутри sandbox.272 С отключённой изоляцией файловой системы и автоматически разрешёнными командами команда в песочнице может писать файлы, которые позже выполняют или читают другие команды, такие как файлы запуска оболочки, исполняемые файлы на `$PATH` или `~/.claude/settings.json`, и использовать их для расширения собственного доступа при следующем запуске. Установите `filesystem.disabled` в `true` только для рабочих нагрузок, которым вы доверяете не расширять собственный доступ. Блокировка доменов сети с помощью [`allowManagedDomainsOnly`](#keep-developers-from-widening-the-policy) сужает риск, но не устраняет его, поскольку эта блокировка применяется только к командам, работающим внутри песочницы.

271</Warning>273</Warning>

272 274 

273<h4 id="which-settings-can-disable-it">275<h4 id="which-settings-can-disable-it">

274 Какие параметры могут отключить это276 Какие параметры могут отключить её

275</h4>277</h4>

276 278 

277Поскольку отключение изоляции файловой системы расширяет возможности изолированных команд, Claude Code соблюдает `filesystem.disabled` только из этих источников параметров:279Поскольку отключение изоляции файловой системы расширяет возможности команд в песочнице, Claude Code соблюдает `filesystem.disabled` только из этих источников параметров:

278 280 

279* Параметры пользователя, управляемые параметры и флаг CLI `--settings` могут установить его. Параметры проекта в `.claude/settings.json` и `.claude/settings.local.json` не могут, поэтому проверенный проект не может отключить изоляцию файловой системы.281* Параметры пользователя, управляемые параметры и флаг CLI `--settings` могут установить его. Параметры проекта в `.claude/settings.json` и `.claude/settings.local.json` не могут, поэтому проверенный проект не может отключить изоляцию файловой системы.

280* Когда управляемые параметры конфигурируют `sandbox.filesystem` вообще или перечисляют любую запись `sandbox.credentials.files` с `"mode": "deny"`, только управляемые параметры могут установить ключ. Это сохраняет ограничения файловой системы, развёрнутые администратором; чтобы ослабить такое развёртывание, установите `"disabled": true` в управляемых параметрах.282* Когда управляемые параметры конфигурируют `sandbox.filesystem` вообще или перечисляют любую запись `sandbox.credentials.files` с `"mode": "deny"`, только управляемые параметры могут установить ключ. Это сохраняет ограничения файловой системы, развёрнутые администратором; чтобы ослабить такое развёртывание, установите `"disabled": true` в управляемых параметрах.

281* Когда установлена [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars), Claude Code игнорирует `filesystem.disabled` из каждого источника, включая управляемые параметры, и сохраняет изоляцию файловой системы включённой.283* Когда установлена [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars), Claude Code игнорирует `filesystem.disabled` из каждого источника, включая управляемые параметры, и сохраняет изоляцию файловой системы включённой.

282 284 

283Закрепляет ли управляемая запись `credentials.files` `filesystem.disabled`, блокируя ключ для управляемых параметров, чтобы разработчики не могли отключить изоляцию файловой системы, зависит от `mode` записи и того, что происходит с записью при запуске sandbox:285Закреплена ли управляемая запись `credentials.files` на `filesystem.disabled`, блокируя ключ для управляемых параметров, чтобы разработчики не могли отключить изоляцию файловой системы, зависит от режима записи и того, что происходит с записью при запуске песочницы:

284 286 

285| Управляемая запись | Закрепляет `filesystem.disabled` | Что защищает файл при отключённой изоляции |287| Управляемая запись | Закрепляет `filesystem.disabled` | Что защищает файл при отключённой изоляции |

286| --------------------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |288| -------------------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |

287| `"mode": "deny"` | Да | Ничего: блок чтения является частью слоя файловой системы |289| `"mode": "deny"` | Да | Ничего: блок чтения является частью слоя файловой системы |

288| `"mode": "mask"`, применённый как маска | Нет | Само маскирование: [копия-дозорное значение и прокси](#mask-credential-files) на Linux и WSL2, собственные правила чтения sandbox на macOS |290| `"mode": "mask"`, применённый как маска | Нет | Сама маскировка: [копия-дозорный и прокси](#mask-credential-files) на Linux и WSL2, собственные правила чтения песочницы на macOS |

289| `"mode": "mask"`, [вернулся к `deny`](#mask-credential-files) при настройке | Нет | Ничего, как `deny`. Перечислите путь, который не может быть замаскирован, такой как каталог, как явную запись `deny`, которая закрепляет ключ |291| `"mode": "mask"`, [вернулся к `deny`](#mask-credential-files) при настройке | Нет | Ничего, как `deny`. Перечислите путь, который не может быть замаскирован, такой как каталог, как явную запись `deny`, которая закрепляет ключ |

290| `"mode": "mask"`, [деградирован до `deny` валидацией](/docs/ru/managed-settings#invalid-entries-in-managed-settings) | Да, как явный `deny` | Ничего, как `deny` |292| `"mode": "mask"`, [деградирован к `deny` валидацией](/docs/ru/managed-settings#invalid-entries-in-managed-settings) | Да, как явная запись `deny` | Ничего, как `deny` |

291 293 

292Возврат происходит при запуске sandbox, после того как Claude Code уже прочитал параметры, на которых выполняется проверка закрепления, поэтому вернувшаяся запись никогда не закрепляет. Валидация переписывает недействительную запись в `deny` при загрузке параметров, поэтому деградированная запись закрепляется как та, которую вы написали как `deny`.294Возврат происходит при запуске песочницы, после того как Claude Code уже прочитал параметры, на которых выполняется проверка закрепления, поэтому вернувшаяся запись никогда не закрепляется. Валидация переписывает недействительную запись на `deny` при загрузке параметров, поэтому деградированная запись закрепляется как та, которую вы написали как `deny`.

293 295 

294<h4 id="what-changes-when-filesystem-isolation-is-off">296<h4 id="what-changes-when-filesystem-isolation-is-off">

295 Что изменяется при отключённой изоляции файловой системы297 Что изменяется при отключённой изоляции файловой системы


298Установка `filesystem.disabled` снимает защиту, которую сам слой файловой системы применяет. Защиты, которые применяют другие слои, продолжают применяться:300Установка `filesystem.disabled` снимает защиту, которую сам слой файловой системы применяет. Защиты, которые применяют другие слои, продолжают применяться:

299 301 

300| Защита | С отключённой изоляцией файловой системы |302| Защита | С отключённой изоляцией файловой системы |

301| --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |303| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

302| `filesystem.denyRead` и [`credentials.files`](#protect-credentials) блоки чтения `deny` | Не применяется. Слой файловой системы применяет оба |304| `filesystem.denyRead` и [`credentials.files`](#protect-credentials) блоки чтения `deny` | Не применяется. Слой файловой системы применяет оба |

303| `credentials.envVars` записи `deny` и `mask` | Применяется. Очистка переменных окружения независима от слоя файловой системы |305| `credentials.envVars` записи `deny` и `mask` | Применяется. Очистка переменных окружения независима от слоя файловой системы |

304| [`credentials.files` записи `mask`](#mask-credential-files) применённые как маски | Применяется: маскирование независимо от слоя файловой системы. Запись, которая [вернулась к `deny`](#mask-credential-files), не применяется, как любая запись `deny` |306| [`credentials.files` записи `mask`](#mask-credential-files) применённые как маски | Применяется: маскировка независима от слоя файловой системы. Запись, которая [вернулась к `deny`](#mask-credential-files), не применяется, как любая запись `deny` |

305 307 

306Два других вещи изменяются:308Два других вещи изменяются:

307 309 

308* Изолированные команды наследуют `$TMPDIR` вашей оболочки вместо временного каталога сеанса, потому что каждый временный каталог доступен для записи и Claude Code больше не перенаправляет команды в сеансовый.310* Команды в песочнице наследуют `$TMPDIR` вашей оболочки вместо временного каталога сеанса, потому что каждый временный каталог доступен для записи и Claude Code больше не перенаправляет команды в сеансовый.

309 311 

310 На Linux переменная часто не установлена в родительской оболочке, поэтому она может расширяться пусто внутри изолированных команд; Claude Code сообщает Claude через руководство инструмента Bash создавать временные каталоги с помощью `mktemp -d` вместо полагания на `$TMPDIR`.312 На Linux переменная часто не установлена в родительской оболочке, поэтому она может расширяться пусто внутри команд в песочнице; Claude Code сообщает Claude через руководство инструмента Bash создавать временные каталоги с помощью `mktemp -d` вместо полагания на `$TMPDIR`.

311* [`autoAllowBashIfSandboxed`](/docs/ru/settings-reference#sandbox-autoallowbashifsandboxed) по-прежнему по умолчанию `true`, поэтому изолированные команды продолжают выполняться без подсказок. Установите его в `false`, чтобы изолированные команды запрашивали подтверждение.313* [`autoAllowBashIfSandboxed`](/docs/ru/settings-reference#sandbox-autoallowbashifsandboxed) по-прежнему по умолчанию `true`, поэтому команды в песочнице продолжают работать без подсказок. Установите его в `false`, чтобы получать подсказки для команд в песочнице.

312 314 

313<h3 id="protect-credentials">315<h3 id="protect-credentials">

314 Защита учётных данных316 Защита учётных данных

315</h3>317</h3>

316 318 

317Параметр `sandbox.credentials` объявляет файлы учётных данных и переменные окружения для защиты от изолированных команд. Каждая запись называет путь файла или переменную окружения и `mode`. Выделенный блок `credentials` сохраняет правила учётных данных сгруппированными и отдельно от общих правил файловой системы. Требуется Claude Code v2.1.187 или позже.319Параметр `sandbox.credentials` объявляет файлы учётных данных и переменные окружения для защиты от команд в песочнице. Каждая запись называет путь файла или переменную окружения и `mode`. Выделенный блок `credentials` сохраняет правила учётных данных сгруппированными вместе и отдельно от общих правил файловой системы. Требуется Claude Code v2.1.187 или позже.

318 320 

319Для записей с `"mode": "deny"` пути файлов запрещены для чтения внутри sandbox, применяется то же ограничение, что и `filesystem.denyRead`, и переменные окружения удаляются перед каждой изолированной командой. Защита файлов является частью слоя файловой системы, поэтому она не применяется, если вы [отключите изоляцию файловой системы](#disable-filesystem-isolation); защита переменной окружения по-прежнему применяется.321Для записей с `"mode": "deny"` пути файлов запрещены для чтения внутри песочницы, то же ограничение, которое применяет `filesystem.denyRead`, и переменные окружения не установлены перед каждой командой в песочнице. Защита файла является частью слоя файловой системы, поэтому она не применяется, если вы [отключите изоляцию файловой системы](#disable-filesystem-isolation); защита переменной окружения по-прежнему применяется.

320 322 

321Пример ниже блокирует чтение файла учётных данных AWS и каталога SSH и удаляет `GITHUB_TOKEN` и `NPM_TOKEN` из окружения изолированных команд:323Пример ниже блокирует чтение файла учётных данных AWS и каталога SSH и удаляет `GITHUB_TOKEN` и `NPM_TOKEN` из окружения команд в песочнице:

322 324 

323```json theme={null}325```json theme={null}

324{326{


338}340}

339```341```

340 342 

341Записи переменных окружения и записи файлов также принимают `"mode": "mask"`, описанные в разделе [Маскирование учётных данных](#mask-credentials).343Записи переменных окружения и записи файлов также принимают `"mode": "mask"`, описанные в разделе [Маскировка учётных данных](#mask-credentials).

342 344 

343Пути файлов следуют тем же [правилам префиксов](/docs/ru/settings-reference#sandbox-path-prefixes), что и параметры `sandbox.filesystem.*`.345Пути файлов следуют тем же [правилам префиксов](/docs/ru/settings-reference#sandbox-path-prefixes), что и параметры `sandbox.filesystem.*`.

344 346 

345Claude Code объединяет записи `deny` из каждой [области параметров](/docs/ru/settings#settings-precedence), которую загружает сеанс. Запись `deny` только сужает доступ, поэтому любая область может добавить одну, но ни одна не может удалить ту, которую добавила другая область.347Claude Code объединяет записи `deny` из каждой [области параметров](/docs/ru/settings#settings-precedence), которую загружает сеанс. Запись `deny` только когда-либо сужает доступ, поэтому любая область может добавить одну, но ни одна область не может удалить ту, которую добавила другая область.

346 348 

347Когда вы [исключите источник параметров](#configure-sandboxing):349Когда вы [исключаете источник параметров](#configure-sandboxing):

348 350 

349* **Параметры проекта или локальные**: Claude Code не применяет ни одну из их записей `credentials`. Требуется Claude Code v2.1.246 или позже.351* **Параметры проекта или локальные**: Claude Code не применяет ни одну из их записей `credentials`. Требуется Claude Code v2.1.246 или позже.

350* **Параметры пользователя**: Claude Code по-прежнему применяет записи `deny` в `~/.claude/settings.json` и сохраняет свои [записи `mask` файла](#mask-credential-files) как ограничения, но отбрасывает свои [записи `mask` переменной окружения](#mask-environment-variables).352* **Параметры пользователя**: Claude Code по-прежнему применяет записи `deny` в `~/.claude/settings.json` и сохраняет свои [записи `mask` файла](#mask-credential-files) как ограничения, но отбрасывает свои [записи `mask` переменной окружения](#mask-environment-variables).

351 353 

352Встроенного списка запрещённых учётных данных нет, поэтому ограничены только файлы и переменные, которые вы указали.354Встроенного списка отказа учётных данных нет, поэтому ограничены только файлы и переменные, которые вы перечислили.

353 355 

354`sandbox.credentials` влияет только на изолированные команды Bash. Чтобы удалить учётные данные из всех подпроцессов независимо от sandboxing, установите [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars).356`sandbox.credentials` влияет только на команды Bash в песочнице. Чтобы удалить учётные данные из всех подпроцессов независимо от изоляции, установите [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars).

355 357 

356<h3 id="mask-credentials">358<h3 id="mask-credentials">

357 Маскирование учётных данных359 Маскировка учётных данных

358</h3>360</h3>

359 361 

360Маскирование идёт дальше, чем запись `deny` в разделе [Защита учётных данных](#protect-credentials). Вместо блокировки учётных данных Claude Code показывает изолированным командам заполнитель, дозорное значение, и [прокси sandbox](#network-isolation) подставляет реальное значение на исходящих запросах к хостам, которые вы разрешаете. Для файлов подстановка является поведением Linux и WSL2; [macOS блокирует файл вместо этого](#mask-credential-files).362Маскировка идёт дальше, чем запись `deny` в разделе [Защита учётных данных](#protect-credentials). Вместо блокировки учётных данных Claude Code показывает командам в песочнице заполнитель, дозорный, и [прокси песочницы](#network-isolation) подставляет реальное значение на исходящих запросах к хостам, которые вы разрешаете. Для файлов подстановка является поведением Linux и WSL2; [macOS блокирует файл вместо этого](#mask-credential-files).

361 363 

362<h4 id="mask-environment-variables">364<h4 id="mask-environment-variables">

363 Маскирование переменных окружения365 Маскировка переменных окружения

364</h4>366</h4>

365 367 

366`"mode": "mask"` защищает учётные данные, сохраняя работу инструментов, которые с ними аутентифицируются. `deny` удаляет переменную полностью, что также нарушает работу инструментов, которые её требуют, таких как `gh` или `npm`. Требуется Claude Code v2.1.199 или позже.368`"mode": "mask"` защищает учётные данные, сохраняя при этом работающими инструменты, которые аутентифицируются с ними. `deny` полностью удаляет переменную, что также нарушает инструменты, которые её нужны, такие как `gh` или `npm`. Требуется Claude Code v2.1.199 или позже.

367 369 

368С `mask` изолированная команда видит значение-дозорное значение для каждого сеанса вместо реального. Каждая запись `mask` может перечислить `injectHosts`, хосты, на которые разрешено достичь реальное значение. Когда запрос покидает sandbox для одного из них, [прокси sandbox](#network-isolation) заменяет дозорное значение на реальное. Команда и всё, что она логирует, никогда не содержат реальные учётные данные, но её запросы по-прежнему аутентифицируются.370С `mask` команда в песочнице видит значение дозорного для каждого сеанса вместо реального. Каждая запись `mask` может перечислять `injectHosts`, хосты, которым разрешено достичь реальное значение. Когда запрос покидает песочницу для одного из них, [прокси песочницы](#network-isolation) заменяет дозорный на реальное значение. Команда и всё, что она регистрирует, никогда не содержат реальные учётные данные, но её запросы по-прежнему аутентифицируются.

369 371 

370Прокси подставляет учётные данные внутри содержимого запроса, поэтому он должен их видеть. Установите [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate) так, чтобы прокси сам завершал TLS.372Прокси подставляет учётные данные внутри содержимого запроса, поэтому он должен их видеть. Установите [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate), чтобы прокси сам завершал TLS.

371 373 

372Без этого маскирование закрывается неудачей: команда по-прежнему видит только дозорное значение, но дозорное значение достигает сервера без изменений и аутентификация не удаётся. Claude Code сообщает об этой неправильной конфигурации при запуске.374Без этого маскировка не удаётся без раскрытия чего-либо: команда по-прежнему видит только дозорный, но дозорный достигает сервера без изменений и аутентификация не удаётся. Claude Code сообщает об этой неправильной конфигурации при запуске.

373 375 

374Подстановка охватывает заголовки и тела запросов. Запросы, которые аутентифицируются с подписью, полученной из учётных данных, а не самих учётных данных, требуют повторного подписания на прокси; [Повторное подписание запросов AWS](#re-sign-aws-requests) охватывает, как это работает для AWS.376Подстановка охватывает заголовки и тела запросов. Запросы, которые аутентифицируются с подписью, полученной из учётных данных, а не самих учётных данных, нуждаются в повторном подписании на прокси; [Повторное подписание запросов AWS](#re-sign-aws-requests) охватывает, как это работает для AWS.

375 377 

376Прокси вводит только на соединениях, которые [список разрешённых доменов](#network-isolation) допускает, поэтому каждое назначение `injectHosts` также должно быть достижимо через `network.allowedDomains`.378Прокси вводит только на соединениях, которые [список разрешённых доменов](#network-isolation) допускает, поэтому каждое назначение `injectHosts` также должно быть достижимо через `network.allowedDomains`.

377 379 

378Пример ниже маскирует два токена. `GH_TOKEN` подставляется только на запросы к `api.github.com`, в то время как `NPM_TOKEN` не имеет `injectHosts` и подставляется на запросы ко всем хостам в `network.allowedDomains`.380Пример ниже маскирует два токена. `GH_TOKEN` подставляется только на запросах к `api.github.com`, в то время как `NPM_TOKEN` не имеет `injectHosts` и подставляется на запросах ко всем хостам в `network.allowedDomains`.

379 381 

380```json theme={null}382```json theme={null}

381{383{


395}397}

396```398```

397 399 

398<span id="ipv6-destinations-in-injecthosts" />Напишите назначение IPv6 по-разному в двух списках, потому что каждый список имеет свой сопоставитель:400<span id="ipv6-destinations-in-injecthosts" />Напишите назначение IPv6 по-разному в двух списках, потому что каждый список имеет свой собственный сопоставитель:

399 401 

400* **`network.allowedDomains`**: [форма в скобках, которую используют списки доменов](#ipv6-addresses-in-domain-lists), такая как `"[::1]"`. Прокси проверяет этот список, чтобы допустить соединение.402* **`network.allowedDomains`**: [форма в скобках, которую используют списки доменов](#ipv6-addresses-in-domain-lists), такая как `"[::1]"`. Прокси проверяет этот список, чтобы допустить соединение.

401* **`injectHosts`**: голый адрес в его канонической сжатой форме, такой как `"::1"` или `"2001:db8::1"`. Прокси сопоставляет каждую запись с голым адресом назначения соединения, игнорируя порты, поэтому скобочная, зона-ID или иначе сжатая орфография никогда не совпадает и прокси никогда не вводит учётные данные там.403* **`injectHosts`**: голый адрес в его канонической сжатой форме, такой как `"::1"` или `"2001:db8::1"`. Прокси сопоставляет каждую запись с голым адресом назначения соединения, игнорируя порты, поэтому скобочная, зональная или иначе сжатая орфография никогда не совпадает и прокси никогда не вводит учётные данные там.

402 404 

403`claude doctor` помечает записи `injectHosts`, которые никогда не могут совпадать, предупреждением `Sandbox credential injectHosts entries can never match their destination`. Эта проверка требует Claude Code v2.1.229 или позже.405`claude doctor` помечает записи `injectHosts`, которые никогда не могут совпадать, предупреждением `Sandbox credential injectHosts entries can never match their destination`. Эта проверка требует Claude Code v2.1.229 или позже.

404 406 

405В отличие от `deny`, маскирование уполномочивает прокси отправлять ваши реальные учётные данные на указанные хосты, поэтому Claude Code соблюдает его только из параметров, которые вы или ваш администратор контролируете: параметры пользователя, управляемые параметры и флаг CLI `--settings`. Claude Code игнорирует записи `mask` в `.claude/settings.json` или `.claude/settings.local.json` репозитория. В этих файлах он также игнорирует `network.tlsTerminate` и [`credentials.allowPlaintextInject`](/docs/ru/settings-reference#sandbox-credentials-allowplaintextinject), параметр, который позволяет прокси вводить учётные данные в незашифрованные запросы. Если вы [исключите параметры пользователя](#configure-sandboxing), Claude Code отбрасывает записи `mask` переменной окружения в `~/.claude/settings.json` тоже.407В отличие от `deny`, маскировка уполномочивает прокси отправлять ваши реальные учётные данные на перечисленные хосты, поэтому Claude Code соблюдает её только из параметров, которые вы или ваш администратор контролируете: параметры пользователя, управляемые параметры и флаг CLI `--settings`. Claude Code игнорирует записи `mask` в `.claude/settings.json` или `.claude/settings.local.json` репозитория. В этих файлах он также игнорирует `network.tlsTerminate` и [`credentials.allowPlaintextInject`](/docs/ru/settings-reference#sandbox-credentials-allowplaintextinject), параметр, который позволяет прокси вводить учётные данные в незашифрованные запросы. Если вы [исключите параметры пользователя](#configure-sandboxing), Claude Code отбрасывает записи `mask` переменной окружения в `~/.claude/settings.json` тоже.

406 408 

407Когда ваш администратор доставляет записи `mask`, `network.tlsTerminate` или `credentials.allowPlaintextInject` через управляемые параметры сервера, они считаются [параметрами, требующими одобрения](/docs/ru/server-managed-settings#security-approval-dialogs).409Когда ваш администратор доставляет записи `mask`, `network.tlsTerminate` или `credentials.allowPlaintextInject` через управляемые параметры сервера, они считаются [параметрами, которые нуждаются в одобрении](/docs/ru/server-managed-settings#security-approval-dialogs).

408 410 

409Когда одна и та же переменная указана с `deny` в любой области, `deny` имеет приоритет.411Когда одна и та же переменная указана с `deny` в любой области, `deny` имеет приоритет.

410 412 

411Маскирование заменяет всё значение переменной по умолчанию, что подходит для голого токена. Дополнительные поля записи, которые требуют Claude Code v2.1.224 или позже, обрабатывают значения со структурой:413Маскировка заменяет всё значение переменной по умолчанию, что подходит для голого токена. Дополнительные поля записи, которые требуют Claude Code v2.1.224 или позже, обрабатывают значения со структурой:

412 414 

413* `extract`: регулярное выражение, которое Claude Code применяет по всему значению, заменяя только текст, захваченный группой 1 каждого совпадения, поэтому инструмент, который анализирует значение, такой как строка подключения `DATABASE_URL`, по-прежнему работает внутри sandbox. Шаблон должен содержать по крайней мере одну захватывающую группу.415* `extract`: регулярное выражение, которое Claude Code применяет по всему значению, заменяя только текст, захваченный группой 1 каждого совпадения, поэтому инструмент, который анализирует значение, такой как строка подключения `DATABASE_URL`, по-прежнему работает внутри песочницы. Шаблон должен содержать по крайней мере одну захватывающую группу.

414* `onExtractNoMatch` контролирует, что происходит, когда шаблон ничего не совпадает:416* `onExtractNoMatch` контролирует, что происходит, когда шаблон ничего не совпадает:

415 * `warn`, по умолчанию, предупреждает и передаёт переменную немаскированной417 * `warn`, по умолчанию, предупреждает и передаёт переменную без маскировки

416 * `deny` отменяет переменную внутри sandbox418 * `deny` не устанавливает переменную внутри песочницы

417 * `error` останавливает настройку sandbox, пока вы не исправите конфигурацию419 * `error` останавливает настройку песочницы, пока вы не исправите конфигурацию

418* `decode: "jwt"`: для переменной, содержащей JSON Web Token (JWT). Claude Code проверяет, что значение является JWT, и заменяет его структурно действительным поддельным токеном, поэтому код внутри sandbox, который декодирует токен, продолжает работать. Добавьте `maskClaims`, чтобы перечислить утверждения полезной нагрузки верхнего уровня для маскирования отдельно вместо замены всего токена; другие утверждения остаются читаемыми. Когда значение не проверяется как JWT или ни одно перечисленное утверждение не совпадает, Claude Code передаёт переменную немаскированной с предупреждением. `decode` не может быть объединён с `extract`.420* `decode: "jwt"`: для переменной, содержащей JSON Web Token (JWT). Claude Code проверяет, что значение является JWT, и заменяет его структурно действительным поддельным токеном, поэтому код внутри песочницы, который декодирует токен, продолжает работать. Добавьте `maskClaims` для перечисления утверждений полезной нагрузки верхнего уровня для маскировки отдельно вместо замены всего токена; другие утверждения остаются читаемыми. Когда значение не проверяется как JWT или ни одно перечисленное утверждение не совпадает, Claude Code передаёт переменную без маскировки с предупреждением. `decode` не может быть объединён с `extract`.

419 421 

420Полный список полей см. в [строках `credentials.envVars[]` в справке параметров](/docs/ru/settings-reference#sandbox-settings).422Полный список полей см. в [строках `credentials.envVars[]` в справке параметров](/docs/ru/settings-reference#sandbox-settings).

421 423 


423 Повторное подписание запросов AWS425 Повторное подписание запросов AWS

424</h4>426</h4>

425 427 

426Запросы AWS содержат подписи SigV4 по содержимому запроса, поэтому маскируйте `AWS_ACCESS_KEY_ID` и `AWS_SECRET_ACCESS_KEY` вместе. Прокси обнаруживает запрос SigV4 по дозорному значению ключа доступа и повторно подписывает его после подстановки реальных значений. Маскирование только секрета оставляет запросы подписанными заполнителем, который прокси не может обнаружить, поэтому они не удаются в AWS; Claude Code предупреждает об этом случае при запуске, но не когда маскируется только ID ключа доступа. Обнаруженный запрос, который прокси не может повторно подписать, такой как запрос без заголовка `x-amz-date`, не удаётся с ошибкой прокси вместо достижения сервера с нарушенной подписью.428Запросы AWS содержат подписи SigV4 по содержимому запроса, поэтому маскируйте `AWS_ACCESS_KEY_ID` и `AWS_SECRET_ACCESS_KEY` вместе. Прокси обнаруживает запрос SigV4 по дозорному ключа доступа и повторно подписывает его после подстановки реальных значений. Маскировка только секрета оставляет запросы подписанными с заполнителем, который прокси не может обнаружить, поэтому они не удаются в AWS; Claude Code предупреждает об этом случае при запуске, но не когда маскирован только ID ключа доступа. Обнаруженный запрос, который прокси не может повторно подписать, такой как запрос без заголовка `x-amz-date`, не удаётся с ошибкой прокси вместо достижения сервера с нарушенной подписью.

427 429 

428Claude Code связывает обычные переменные `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` и `AWS_SESSION_TOKEN` в одно учётное данные автоматически, когда вы маскируете их целые значения. Если ваше учётное данные AWS находится в переменных с другими именами, сгруппируйте их сами с помощью [`credentials.awsPairs`](/docs/ru/settings-reference#sandbox-credentials-awspairs), которое требует Claude Code v2.1.224 или позже. Этот пример добавляет спаривание к конфигурации, которая уже маскирует `MY_KEY_ID`, `MY_SECRET_KEY` и `MY_SESSION_TOKEN` целое значение, как в [конфигурации маскирования выше](#mask-environment-variables):430Claude Code связывает обычные переменные `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` и `AWS_SESSION_TOKEN` в одно учётное данные автоматически, когда вы маскируете их целые значения. Если ваши учётные данные AWS находятся в переменных с другими именами, сгруппируйте их сами с помощью [`credentials.awsPairs`](/docs/ru/settings-reference#sandbox-credentials-awspairs), что требует Claude Code v2.1.224 или позже. Этот пример добавляет спаривание к конфигурации, которая уже маскирует `MY_KEY_ID`, `MY_SECRET_KEY` и `MY_SESSION_TOKEN` целое значение, как в [конфигурации маскировки выше](#mask-environment-variables):

429 431 

430```json theme={null}432```json theme={null}

431{433{


445 447 

446Каждая запись следует этим правилам:448Каждая запись следует этим правилам:

447 449 

448* `accessKeyIdVar` и `secretAccessKeyVar` называют записи `envVars` маски, содержащие ID ключа доступа и секретный ключ. Дополнительный `sessionTokenVar` называет запись, содержащую токен сеанса для временных учётных данных; когда установлен, прокси отправляет реальный токен как `x-amz-security-token` на повторно подписанных запросах.450* `accessKeyIdVar` и `secretAccessKeyVar` называют записи `envVars` с маскировкой, содержащие ID ключа доступа и секретный ключ. Дополнительный `sessionTokenVar` называет запись, содержащую токен сеанса для временных учётных данных; когда установлен, прокси отправляет реальный токен как `x-amz-security-token` на повторно подписанных запросах.

449* Каждая названная переменная должна быть записью `mask`, которая маскирует своё целое значение, без `extract` или `decode`.451* Каждая названная переменная должна быть записью `mask`, которая маскирует своё целое значение, без `extract` или `decode`.

450* Прокси повторно подписывает запросы на хостах, перечисленных в `injectHosts` записи ID ключа доступа.452* Прокси повторно подписывает запросы на хостах, перечисленных в записи ID ключа доступа `injectHosts`.

451* Именование любой из обычных переменных в паре заменяет автоматическое спаривание.453* Именование любой из обычных переменных в паре заменяет автоматическое спаривание.

452 454 

453Как записи `mask`, `awsPairs` соблюдается только из параметров пользователя, управляемых параметров и флага CLI `--settings`.455Как записи `mask`, `awsPairs` соблюдается только из параметров пользователя, управляемых параметров и флага CLI `--settings`.

454 456 

455Три формы запроса AWS содержат подписи, которые прокси не может пересчитать. Когда такой запрос подписан заполнителем маскированной пары, прокси не удаётся вместо пересылки нарушенной подписи; запросы, подписанные немаскированными учётными данными, никогда не затрагиваются. Параметр [`credentials.sigv4`](/docs/ru/settings-reference#sandbox-credentials-sigv4), который требует Claude Code v2.1.224 или позже, ослабляет это для каждой формы: установка ключа формы в `passthrough` пересылает запрос с его подписью, полученной из заполнителя, поэтому вызывающий инструмент получает собственный ответ отказа AWS вместо ошибки прокси. Как `awsPairs`, `sigv4` соблюдается только из параметров пользователя, управляемых параметров и флага CLI `--settings`.457Три формы запросов AWS содержат подписи, которые прокси не может пересчитать. Когда такой запрос подписан с заполнителем маскированной пары, прокси не удаётся вместо пересылки нарушенной подписи; запросы, подписанные немаскированными учётными данными, никогда не затрагиваются. Параметр [`credentials.sigv4`](/docs/ru/settings-reference#sandbox-credentials-sigv4), который требует Claude Code v2.1.224 или позже, ослабляет это для каждой формы: установка ключа формы на `passthrough` пересылает запрос с его подписью, полученной из заполнителя, поэтому вызывающий инструмент получает собственный ответ отказа AWS вместо ошибки прокси. Как `awsPairs`, `sigv4` соблюдается только из параметров пользователя, управляемых параметров и флага CLI `--settings`.

456 458 

457| Форма запроса | Ключ `sigv4` | Почему прокси не может повторно подписать это |459| Форма запроса | Ключ `sigv4` | Почему прокси не может повторно подписать его |

458| :----------------------------- | :----------- | :-------------------------------------------------------------------------------------------------------- |460| :----------------------------- | :----------- | :---------------------------------------------------------------------------------------------------------------- |

459| потоковые загрузки aws-chunked | `streaming` | Подписи за чанк цепляются от подписи семени, поэтому повторное подписание потребовало бы переписания тела |461| потоковые загрузки aws-chunked | `streaming` | Подписи для каждого блока связаны с подписью семени, поэтому повторное подписание потребовало бы переписания тела |

460| Предподписанные URL | `presigned` | Подпись находится в самом URL, без заголовка `Authorization` |462| Предподписанные URL | `presigned` | Подпись находится в самом URL, без заголовка `Authorization` |

461| Асимметричные подписи SigV4A | `sigv4a` | Нет общего ключа HMAC для пересчёта |463| Асимметричные подписи SigV4A | `sigv4a` | Нет общего ключа HMAC для пересчёта |

462 464 

463<h4 id="mask-credential-files">465<h4 id="mask-credential-files">

464 Маскирование файлов учётных данных466 Маскировка файлов учётных данных

465</h4>467</h4>

466 468 

467Записи файлов также принимают `"mode": "mask"`, которое требует Claude Code v2.1.221 или позже. То, что видит изолированная команда, зависит от платформы:469Записи файлов также принимают `"mode": "mask"`, что требует Claude Code v2.1.221 или позже. То, что видит команда в песочнице, зависит от платформы:

468 470 

469* **Linux и WSL2**: изолированные команды читают копию-дозорное значение файла, заменитель, чей секрет заменён значением заполнителя, и [прокси sandbox](#network-isolation) подставляет реальное значение на исходящем трафике.471* **Linux и WSL2**: команды в песочнице читают копию дозорного файла, заменитель, чей секрет заменён значением заполнителя, и [прокси песочницы](#network-isolation) подставляет реальное значение на исходящем трафике.

470* **macOS**: изолированные команды не могут читать перечисленный файл вообще. Claude Code не строит копию-дозорное значение и не подставляет ничего на исходящем трафике, поэтому инструменты, которые аутентифицируются с файлом, не работают внутри sandbox, тот же эффект, что и `deny`. В отличие от записи `deny`, блок чтения держится даже когда вы [отключите изоляцию файловой системы](#disable-filesystem-isolation).472* **macOS**: команды в песочнице не могут читать перечисленный файл вообще. Claude Code не строит копию дозорного и ничего не подставляет на исходящем трафике, поэтому инструменты, которые аутентифицируются с файлом, не работают внутри песочницы, тот же эффект, что и `deny`. В отличие от записи `deny`, блок чтения сохраняется даже когда вы [отключите изоляцию файловой системы](#disable-filesystem-isolation).

471 473 

472На каждой платформе Claude Code применяет требование [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate) и `injectHosts` так же, как для [маскированных переменных окружения](#mask-environment-variables), и игнорирует параметры репозитория так же. Если вы [исключите параметры пользователя](#configure-sandboxing), Claude Code сохраняет записи `mask` файла в `~/.claude/settings.json` как ограничения, но записи больше не уполномочивают прокси подставлять реальное значение.474На каждой платформе Claude Code применяет требование [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate) и `injectHosts` так же, как для [маскированных переменных окружения](#mask-environment-variables), и игнорирует параметры репозитория так же. Если вы [исключите параметры пользователя](#configure-sandboxing), Claude Code сохраняет записи `mask` файла в `~/.claude/settings.json` как ограничения, но записи больше не уполномочивают прокси подставлять реальное значение.

473 475 

474Пример ниже маскирует токен GitHub, хранящийся в `~/.config/gh/hosts.yml`; шаблон `extract`, охватываемый ниже, сообщает Claude Code, какая часть файла является секретом. На Linux и WSL2 изолированные команды, которые читают файл, получают дозорное значение вместо токена, и прокси подставляет реальный токен на запросы к `api.github.com`:476Пример ниже маскирует токен GitHub, хранящийся в `~/.config/gh/hosts.yml`; шаблон `extract`, описанный ниже, сообщает Claude Code, какая часть файла является секретом. На Linux и WSL2 команды в песочнице, которые читают файл, получают дозорный вместо токена, и прокси подставляет реальный токен на запросах к `api.github.com`:

475 477 

476```json theme={null}478```json theme={null}

477{479{


495}497}

496```498```

497 499 

498Чтобы подтвердить, что маска активна, попросите Claude запустить `cat ~/.config/gh/hosts.yml` в изолированной команде: на Linux и WSL2 вывод показывает значение-дозорное значение вместо токена, а на macOS чтение не удаётся вместо этого.500Чтобы подтвердить, что маска активна, попросите Claude запустить `cat ~/.config/gh/hosts.yml` в команде в песочнице: на Linux и WSL2 вывод показывает значение дозорного вместо токена, а на macOS чтение не удаётся вместо этого.

499 501 

500На Linux и WSL2 шаблон `extract` — это то, что сохраняет остальную часть `hosts.yml` читаемой. Claude Code применяет регулярное выражение по всему файлу и заменяет только текст, захваченный группой 1 каждого совпадения, поэтому `gh` по-прежнему анализирует свою конфигурацию и только токен является заполнителем. Используйте `extract` для любого структурированного файла, который инструменты анализируют, такого как `.netrc`, JSON или YAML; шаблон должен содержать по крайней мере одну захватывающую группу. Без `extract` Claude Code заменяет всё содержимое файла одним значением-дозорным значением, что подходит для файла, который содержит один голый секрет и ничего больше.502На Linux и WSL2 шаблон `extract` — это то, что сохраняет остальную часть `hosts.yml` читаемой. Claude Code применяет регулярное выражение по всему файлу и заменяет только текст, захваченный группой 1 каждого совпадения, поэтому `gh` по-прежнему анализирует свою конфигурацию и только токен является заполнителем. Используйте `extract` для любого структурированного файла, который инструменты анализируют, такого как `.netrc`, JSON или YAML; шаблон должен содержать по крайней мере одну захватывающую группу. Без `extract` Claude Code заменяет всё содержимое файла одним значением дозорного, что подходит для файла, который содержит один голый секрет и ничего больше.

501 503 

502Для файла, который содержит JSON Web Token (JWT), установите `decode: "jwt"` вместо или вместе с `extract`. `decode` требует Claude Code v2.1.224 или позже. Claude Code находит кандидатов JWT с встроенным шаблоном или с вашим шаблоном `extract`, когда установлен, проверяет каждого кандидата как JWT и заменяет его структурно действительным поддельным токеном, поэтому код, который декодирует токен внутри sandbox, продолжает работать. Добавьте `maskClaims`, чтобы маскировать только названные утверждения полезной нагрузки верхнего уровня внутри каждого проверенного токена и оставить другие утверждения читаемыми. Когда ни один кандидат не проверяется или ни одно названное утверждение не совпадает, поле `onExtractNoMatch` ниже управляет результатом, как оно делает для шаблона, который ничего не совпадает.504Для файла, который содержит JSON Web Token (JWT), установите `decode: "jwt"` вместо или вместе с `extract`. `decode` требует Claude Code v2.1.224 или позже. Claude Code находит кандидатов JWT с встроенным шаблоном или с вашим шаблоном `extract`, когда установлен, проверяет каждого кандидата как JWT и заменяет его структурно действительным поддельным токеном, поэтому код, который декодирует токен внутри песочницы, продолжает работать. Добавьте `maskClaims` для маскировки только названных утверждений полезной нагрузки верхнего уровня внутри каждого проверенного токена и оставьте другие утверждения читаемыми. Когда ни один кандидат не проверяется или ни одно названное утверждение не совпадает, поле `onExtractNoMatch` ниже управляет результатом, как оно делает для шаблона, который ничего не совпадает.

503 505 

504Два дополнительных поля уточняют, как ведёт себя сопоставление. Оба применяются только когда `mode` — это `mask` и `extract` или `decode` установлены. На macOS Claude Code применяет записи `mask` как `deny` перед запуском шаблона, когда изоляция файловой системы включена, поэтому эти поля и результаты отсутствия совпадения ниже вступают в силу там только когда [изоляция файловой системы отключена](#disable-filesystem-isolation):506Два дополнительных поля уточняют, как ведёт себя сопоставление. Оба применяются только когда `mode` — это `mask` и `extract` или `decode` установлены. На macOS Claude Code применяет записи `mask` как `deny` перед запуском шаблона всякий раз, когда изоляция файловой системы включена, поэтому эти поля и результаты отсутствия совпадения ниже вступают в силу там только когда [изоляция файловой системы отключена](#disable-filesystem-isolation):

505 507 

506* `onExtractNoMatch` контролирует, что происходит, когда сопоставление не находит ничего для маскирования в файле:508* `onExtractNoMatch` контролирует, что происходит, когда сопоставление не находит ничего для маскировки в файле:

507 509 

508 * `warn`, по умолчанию, предупреждает и пропускает запись, поэтому изолированные команды могут читать реальный файл немаскированным. По умолчанию подходит для учётных данных, которые могут быть законно отсутствующими; если секрет может быть присутствующим, но шаблон может его пропустить, используйте `deny`510 * `warn`, по умолчанию, предупреждает и пропускает запись, поэтому команды в песочнице могут читать реальный файл без маскировки. По умолчанию подходит для учётных данных, которые могут быть законно отсутствующими; если секрет может быть присутствующим, но шаблон может его пропустить, используйте `deny`

509 * `deny` делает файл нечитаемым вместо этого511 * `deny` делает файл нечитаемым вместо этого

510 * `error` останавливает настройку sandbox, пока вы не исправите конфигурацию512 * `error` останавливает настройку песочницы, пока вы не исправите конфигурацию

511 513 

512 Claude Code обрабатывает `deny` как `error`, когда блок чтения не будет применяться: когда вы [отключите изоляцию файловой системы](#disable-filesystem-isolation) и когда запись `filesystem.allowRead` из любого источника параметров повторно открывает путь файла.514 Claude Code обрабатывает `deny` как `error` всякий раз, когда блок чтения не будет применяться: когда вы [отключите изоляцию файловой системы](#disable-filesystem-isolation), и когда запись `filesystem.allowRead` из любого источника параметров повторно открывает путь файла.

513* `maskDuplicates` также заменяет дословные копии каждого маскированного значения учётных данных, захват `extract` или проверенный токен `decode`, найденный вне совпадённых диапазонов, для секрета, повторённого где сопоставление не достигает. Он совпадает с сырыми подстроками, поэтому короткое или обычное значение было бы заменено везде, где оно появляется; зарезервируйте его для длинных, высокоэнтропийных секретов. По умолчанию: false.515* `maskDuplicates` также заменяет дословные копии каждого маскированного значения учётных данных, захват `extract` или проверенный токен `decode`, найденные вне совпадённых диапазонов, для секрета, повторённого где сопоставление не достигает. Он совпадает с сырыми подстроками, поэтому короткое или обычное значение было бы заменено везде, где оно появляется; зарезервируйте его для длинных, высокоэнтропийных секретов. По умолчанию: false.

514 516 

515`mask` применяется к одному файлу, поэтому перечислите каждый файл учётных данных отдельно. Claude Code возвращается к `deny` для записи `mask`, которую он не может безопасно маскировать: путь каталога, шаблон glob, файл больше 8 МиБ или файл, который не является текстом UTF-8. Напишите каталоги как явные записи `deny` вместо этого; таблица в разделе [Какие параметры могут отключить это](#which-settings-can-disable-it) охватывает, закрепляет ли каждая форма `filesystem.disabled` и как она ведёт себя с отключённой изоляцией файловой системы.517`mask` применяется к одному файлу, поэтому перечислите каждый файл учётных данных отдельно. Claude Code возвращается к `deny` для записи `mask`, которую он не может безопасно маскировать: путь каталога, шаблон glob, файл больше 8 МиБ или файл, который не является текстом UTF-8. Напишите каталоги как явные записи `deny` вместо этого; таблица в разделе [Какие параметры могут отключить её](#which-settings-can-disable-it) охватывает, закрепляет ли каждая форма `filesystem.disabled` и как она ведёт себя с отключённой изоляцией файловой системы.

516 518 

517<h2 id="how-sandboxing-works">519<h2 id="how-sandboxing-works">

518 Как работает sandboxing520 Как работает sandboxing


540 542 

541* **В вашем рабочем каталоге и каталогах выше него**: файлы параметров `.claude`, каталоги `.claude/skills`, `.claude/agents`, `.claude/commands` и `.claude/hooks`, `.mcp.json`, а также файлы, которые Claude Code запускает самостоятельно, такие как `.claude/workflows` и `.claude/scheduled_tasks.json`543* **В вашем рабочем каталоге и каталогах выше него**: файлы параметров `.claude`, каталоги `.claude/skills`, `.claude/agents`, `.claude/commands` и `.claude/hooks`, `.mcp.json`, а также файлы, которые Claude Code запускает самостоятельно, такие как `.claude/workflows` и `.claude/scheduled_tasks.json`

542* **Только в вашем рабочем каталоге**: файлы запуска оболочки, такие как `.bashrc` и `.zshrc`, `.gitconfig`, каталоги `.vscode` и `.idea`, а также `hooks` и `config` внутри `.git`544* **Только в вашем рабочем каталоге**: файлы запуска оболочки, такие как `.bashrc` и `.zshrc`, `.gitconfig`, каталоги `.vscode` и `.idea`, а также `hooks` и `config` внутри `.git`

543* **Файлы, которые превратили бы ваш рабочий каталог в голый git репозиторий**: `HEAD`, `objects` и `refs` на верхнем уровне, плюс `config` и `hooks` там, когда они уже существуют, даже если каталог `config` принадлежит вашему проекту, а не git. На Linux и WSL2 sandbox удаляет файл `HEAD` верхнего уровня или каталог `objects` или `refs`, который появляется во время выполнения изолированной команды545* **Файлы, которые превратили бы ваш рабочий каталог в голый git репозиторий**: `HEAD`, `objects` и `refs` на верхнем уровне, плюс `config` и `hooks` там, когда `HEAD` находится рядом с ними. Файл с именем `config` запрещён даже без `HEAD`. На Linux и WSL2 sandbox удаляет файл `HEAD` верхнего уровня или каталог `objects` или `refs`, который появляется во время выполнения изолированной команды

544* **В `~/.claude` или в каталоге, на который указывает `CLAUDE_CONFIG_DIR`**: большая часть его содержимого, плюс `~/.claude.json` и хранилище учётных данных `.credentials.json`546* **В `~/.claude` или в каталоге, на который указывает `CLAUDE_CONFIG_DIR`**: большая часть его содержимого, плюс `~/.claude.json` и хранилище учётных данных `.credentials.json`

545 547 

546Если симлинк появляется в пути защищённого файла параметров во время сеанса, sandbox также запрещает запись в файл, на который он указывает, начиная со следующей команды.548Если симлинк появляется в пути защищённого файла параметров во время сеанса, sandbox также запрещает запись в файл, на который он указывает, начиная со следующей команды.


555 557 

556Доступ в сеть контролируется через прокси-сервер, работающий вне sandbox:558Доступ в сеть контролируется через прокси-сервер, работающий вне sandbox:

557 559 

558* **Ограничения домена**: Claude Code не предварительно разрешает никакие домены по умолчанию. Первый раз, когда команде требуется новый домен, Claude Code запрашивает одобрение, или в [режиме автоматизации](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) отправляет запрос классификатору. Если вы выберете «Да» при запросе, Claude Code разрешит хост для остальной части текущего сеанса и больше не будет запрашивать подтверждение для более поздних подключений к тому же хосту. Если вы выберете «Да, и больше не спрашивать», Claude Code сохранит правило разрешения `WebFetch(domain:...)` в ваши [локальные параметры](/docs/ru/permissions#permission-system), чтобы хост оставался разрешённым в будущих сеансах. Предварительно разрешите домены с помощью [`allowedDomains`](/docs/ru/settings-reference#sandbox-network-alloweddomains), чтобы полностью избежать запроса. Claude Code также предварительно разрешает домены из правил разрешения `WebFetch(domain:...)`, как описано в [Permission rules](#permission-rules).560* **Ограничения домена**: Claude Code не предварительно разрешает никакие домены по умолчанию. Первый раз, когда команде требуется новый домен, Claude Code запрашивает одобрение; в [режиме автоматизации](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) Claude вместо этого называет хосты, которые требуются команде, на самой команде, согласно [Per-command allowed domains](#per-command-allowed-domains-in-auto-mode).

561* **Варианты одобрения**: если вы выберете «Да» при запросе, Claude Code разрешит хост для остальной части текущего сеанса и больше не будет запрашивать подтверждение для более поздних подключений к тому же хосту. Если вы выберете «Да, и больше не спрашивать», Claude Code сохранит правило разрешения `WebFetch(domain:...)` в ваши [локальные параметры](/docs/ru/permissions#permission-system), чтобы хост оставался разрешённым в будущих сеансах.

562* **Предварительно разрешённые домены**: предварительно разрешите домены с помощью [`allowedDomains`](/docs/ru/settings-reference#sandbox-network-alloweddomains), чтобы полностью избежать запроса. Claude Code также предварительно разрешает домены из правил разрешения `WebFetch(domain:...)`, как описано в [Permission rules](#permission-rules).

559* **Строгий список разрешений**: если вы установите [`strictAllowlist`](/docs/ru/settings-reference#sandbox-network-strictallowlist) в значение `true` в пользовательских, управляемых или CLI параметрах `--settings`, Claude Code запретит изолированным командам доступ к любому хосту вне списка разрешений вместо запроса. Список разрешений — это тот же, против которого sandbox иначе запрашивает: `allowedDomains` плюс домены из правил разрешения `WebFetch(domain:...)`, или только записи управляемых параметров, когда установлен `allowManagedDomainsOnly`. Claude Code применяет это только для изолированных команд; встроенные инструменты, такие как `WebFetch`, всё ещё следуют своим [правилам разрешения](#permission-rules). Установка этого в `.claude/settings.json` или `.claude/settings.local.json` репозитория не имеет эффекта. Требуется Claude Code версии 2.1.219 или позже.563* **Строгий список разрешений**: если вы установите [`strictAllowlist`](/docs/ru/settings-reference#sandbox-network-strictallowlist) в значение `true` в пользовательских, управляемых или CLI параметрах `--settings`, Claude Code запретит изолированным командам доступ к любому хосту вне списка разрешений вместо запроса. Список разрешений — это тот же, против которого sandbox иначе запрашивает: `allowedDomains` плюс домены из правил разрешения `WebFetch(domain:...)`, или только записи управляемых параметров, когда установлен `allowManagedDomainsOnly`. Claude Code применяет это только для изолированных команд; встроенные инструменты, такие как `WebFetch`, всё ещё следуют своим [правилам разрешения](#permission-rules). Установка этого в `.claude/settings.json` или `.claude/settings.local.json` репозитория не имеет эффекта. Требуется Claude Code версии 2.1.219 или позже.

560* **Управляемая блокировка**: если [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly) установлен в управляемых параметрах, неразрешённые домены автоматически блокируются вместо запроса, и только `allowedDomains` и правила разрешения `WebFetch(domain:...)` из управляемых параметров учитываются.564* **Управляемая блокировка**: если [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly) установлен в управляемых параметрах, неразрешённые домены автоматически блокируются вместо запроса, и только `allowedDomains` и правила разрешения `WebFetch(domain:...)` из управляемых параметров учитываются.

561* **Корпоративный прокси**: когда ваша сеть требует, чтобы исходящий трафик проходил через корпоративный прокси, установите `HTTPS_PROXY`, `HTTP_PROXY` и `NO_PROXY` как описано в [proxy configuration](/docs/ru/network-config#proxy-configuration), в блоке `env` ваших параметров, чтобы [фоновые агенты](/docs/ru/network-config#set-network-variables-in-settings-not-the-shell) их получили, или в окружении, из которого вы запускаете Claude Code. Claude Code применяет список разрешений домена и затем туннелирует разрешённые подключения через этот вышестоящий прокси.565* **Корпоративный прокси**: когда ваша сеть требует, чтобы исходящий трафик проходил через корпоративный прокси, установите `HTTPS_PROXY`, `HTTP_PROXY` и `NO_PROXY` как описано в [proxy configuration](/docs/ru/network-config#proxy-configuration), в блоке `env` ваших параметров, чтобы [фоновые агенты](/docs/ru/network-config#set-network-variables-in-settings-not-the-shell) их получили, или в окружении, из которого вы запускаете Claude Code. Claude Code применяет список разрешений домена и затем туннелирует разрешённые подключения через этот вышестоящий прокси.


568 Встроенный прокси применяет список разрешений на основе запрошенного имени хоста и, по умолчанию, не завершает и не проверяет трафик TLS. Экспериментальный параметр [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate), доступный в Claude Code версии 2.1.199 и позже, заставляет встроенный прокси самостоятельно завершать TLS, что требуется для [`mask` записей учётных данных](#mask-credentials). См. [Security limitations](#security-limitations) для понимания последствий поведения по умолчанию и [Custom proxy configuration](#custom-proxy-configuration), если ваша модель угроз требует проверки TLS.572 Встроенный прокси применяет список разрешений на основе запрошенного имени хоста и, по умолчанию, не завершает и не проверяет трафик TLS. Экспериментальный параметр [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate), доступный в Claude Code версии 2.1.199 и позже, заставляет встроенный прокси самостоятельно завершать TLS, что требуется для [`mask` записей учётных данных](#mask-credentials). См. [Security limitations](#security-limitations) для понимания последствий поведения по умолчанию и [Custom proxy configuration](#custom-proxy-configuration), если ваша модель угроз требует проверки TLS.

569</Note>573</Note>

570 574 

575<h4 id="per-command-allowed-domains-in-auto-mode">

576 Разрешённые домены для каждой команды в режиме автоматизации

577</h4>

578 

579В [режиме автоматизации](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) с включённым sandboxing Claude называет хосты, которые требуются команде, на самой команде вместо того, чтобы вызывать одобрение сети для каждого подключения. Каждая команда Bash, PowerShell или [Monitor](/docs/ru/tools-reference#monitor-tool), которая запускается в sandbox, может содержать список хостов, выходящих за пределы списка разрешений sandbox: домен, такой как `registry.npmjs.org`, подстановочный символ, такой как `*.pythonhosted.org`, или IP-адрес, каждый с необязательным `:port`. Классификатор проверяет хосты вместе с командой. Требуется Claude Code версии 2.1.271 или позже.

580 

581Одобренный список открывает эти хосты только для этой одной команды, пока она выполняется. Ничего не добавляется в разрешённые хосты вашего сеанса или в ваши параметры; следующая команда называет свои собственные хосты.

582 

583Команда, которая содержит хосты, переходит к классификатору вместо того, чтобы быть одобренной правилом разрешения или [режимом автоматического одобрения](#sandbox-modes) sandbox. Если [правило ask](/docs/ru/permissions#manage-permissions) вынуждает запрос для команды, диалог разрешения в вашем терминале перечисляет хосты рядом с ней, и одобрение там охватывает оба.

584 

585Список для каждой команды расширяет только то, что sandbox запрещает по умолчанию. Записи [`deniedDomains`](/docs/ru/settings-reference#sandbox-network-denieddomains) всё ещё блокируют. Когда [`strictAllowlist`](/docs/ru/settings-reference#sandbox-network-strictallowlist) или [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly) блокирует список разрешений, Claude Code отказывает в списках для каждой команды.

586 

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

588 

571<h4 id="ipv6-addresses-in-domain-lists">589<h4 id="ipv6-addresses-in-domain-lists">

572 IPv6 адреса в списках доменов590 IPv6 адреса в списках доменов

573</h4>591</h4>


610Правила разрешений и sandboxing контролируют разные вещи:628Правила разрешений и sandboxing контролируют разные вещи:

611 629 

612* **Правила разрешений** контролируют, какие инструменты может использовать Claude Code, и оцениваются перед запуском любого инструмента. Они применяются ко всем инструментам: Bash, Read, Edit, WebFetch, MCP и другим, за исключением того, что правило deny или ask не может заблокировать [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), пока остаётся любой другой инструмент.630* **Правила разрешений** контролируют, какие инструменты может использовать Claude Code, и оцениваются перед запуском любого инструмента. Они применяются ко всем инструментам: Bash, Read, Edit, WebFetch, MCP и другим, за исключением того, что правило deny или ask не может заблокировать [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), пока остаётся любой другой инструмент.

613* **Sandboxing** обеспечивает применение на уровне ОС, которое ограничивает, к чему могут получить доступ команды Bash на уровне файловой системы и сети. Это применяется только к командам Bash и их дочерним процессам.631* **Sandboxing** обеспечивает применение на уровне ОС, которое ограничивает, к чему могут получить доступ команды Bash на уровне файловой системы и сети. Это применяется только к командам Bash, PowerShell и [Monitor](/docs/ru/tools-reference#monitor-tool) и их дочерним процессам.

614 632 

615Два слоя также отличаются способом их применения. Claude Code оценивает решения разрешений перед запуском команды на основе строки команды и, в режиме auto, отдельного классификатора, который судит о безопасности команды. Операционная система применяет границу sandbox к работающему процессу, поэтому она действует независимо от того, что выбрала модель для запуска, и даже если разрешённая команда делает больше, чем предполагает её имя.633Два слоя также отличаются способом их применения. Claude Code оценивает решения разрешений перед запуском команды на основе строки команды и, в режиме auto, отдельного классификатора, который судит о безопасности команды. Операционная система применяет границу sandbox к работающему процессу, поэтому она действует независимо от того, что выбрала модель для запуска, и даже если разрешённая команда делает больше, чем предполагает её имя.

616 634 


644| [Auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) | Выполняется ли каждый вызов инструмента | Классификатор, который проверяет действия |662| [Auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) | Выполняется ли каждый вызов инструмента | Классификатор, который проверяет действия |

645| `--dangerously-skip-permissions` | Выполняется ли каждый вызов инструмента | Ничего. Проверки [защищённого пути](/docs/ru/permission-modes#protected-paths) также пропускаются; [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves) по-прежнему применяются |663| `--dangerously-skip-permissions` | Выполняется ли каждый вызов инструмента | Ничего. Проверки [защищённого пути](/docs/ru/permission-modes#protected-paths) также пропускаются; [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves) по-прежнему применяются |

646 664 

647Режим [автоматического разрешения](#sandbox-modes) sandbox отличается от [режима auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode): автоматическое разрешение одобряет команды Bash, потому что граница sandbox их содержит, в то время как режим auto использует классификатор для проверки действий. Два работают независимо и могут быть объединены. Чтобы выбрать границу изоляции для автоматических запусков, см. [Sandbox environments](/docs/ru/sandbox-environments#how-isolation-relates-to-permission-modes). Для таблицы распространённых пар режимов разрешений и sandbox с флагами, которые запускают каждый из них, см. [Common setups](/docs/ru/permission-modes#common-setups).665Режим [автоматического разрешения](#sandbox-modes) sandbox отличается от [режима auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode): автоматическое разрешение одобряет команды Bash, потому что граница sandbox их содержит, в то время как режим auto использует классификатор для проверки действий. Два работают независимо и могут быть объединены, с исключениями, перечисленными в разделе [Sandbox modes](#sandbox-modes). Чтобы выбрать границу изоляции для автоматических запусков, см. [Sandbox environments](/docs/ru/sandbox-environments#how-isolation-relates-to-permission-modes). Для таблицы распространённых пар режимов разрешений и sandbox с флагами, которые запускают каждый из них, см. [Common setups](/docs/ru/permission-modes#common-setups).

648 666 

649<h2 id="configure-the-sandbox-for-your-organization">667<h2 id="configure-the-sandbox-for-your-organization">

650 Настройка sandbox для вашей организации668 Настройка sandbox для вашей организации


656 Применение sandboxing с управляемыми параметрами674 Применение sandboxing с управляемыми параметрами

657</h3>675</h3>

658 676 

659Чтобы требовать sandbox для каждого разработчика, доставьте ключи `sandbox` через [управляемые параметры](/docs/ru/managed-settings#delivery-mechanisms), либо как файл, управляемый вашей MDM, либо через [управляемые параметры сервера](/docs/ru/server-managed-settings) на Claude.ai.677Чтобы требовать sandbox для каждого разработчика, доставьте ключи `sandbox` через [управляемые параметры](/docs/ru/managed-settings#delivery-mechanisms), либо как файл, управляемый вашей MDM, либо через [управляемые параметры сервера](/docs/ru/server-managed-settings) на claude.ai.

660 678 

661Следующая конфигурация управляемых параметров включает sandbox, отказывает запустить Claude Code, если sandbox не может инициализироваться, и препятствует модели повторять команды вне sandbox:679Следующая конфигурация управляемых параметров включает sandbox, отказывает запустить Claude Code, если sandbox не может инициализироваться, и препятствует модели повторять команды вне sandbox:

662 680 

scheduled-tasks.md +49 −54

Details

8 8 

9Запланированные задачи позволяют Claude автоматически повторно запускать подсказку через определённый интервал. Используйте их для опроса развёртывания, контроля pull request, проверки долгоживущей сборки или напоминания себе о чём-то позже в сеансе. Чтобы реагировать на события по мере их возникновения вместо опроса, см. [Channels](/docs/ru/channels): ваш CI может отправить сбой непосредственно в сеанс. Чтобы продолжить работу сеанса от одного хода к другому до выполнения условия, а не через интервал, см. [`/goal`](/docs/ru/goal).9Запланированные задачи позволяют Claude автоматически повторно запускать подсказку через определённый интервал. Используйте их для опроса развёртывания, контроля pull request, проверки долгоживущей сборки или напоминания себе о чём-то позже в сеансе. Чтобы реагировать на события по мере их возникновения вместо опроса, см. [Channels](/docs/ru/channels): ваш CI может отправить сбой непосредственно в сеанс. Чтобы продолжить работу сеанса от одного хода к другому до выполнения условия, а не через интервал, см. [`/goal`](/docs/ru/goal).

10 10 

11Задачи привязаны к сеансу: они существуют в текущем разговоре и останавливаются при запуске нового. Возобновление с помощью `--resume` или `--continue` восстанавливает любую задачу, которая не [истекла](#seven-day-expiry): повторяющуюся задачу, созданную в течение последних 7 дней, или одноразовую, чьё запланированное время ещё не наступило. Для планирования, которое сохраняется независимо от любого сеанса, используйте [Routines](/docs/ru/routines) для создания процедуры на управляемой Anthropic инфраструктуре, установите [Desktop запланированные задачи](/docs/ru/desktop-scheduled-tasks) или используйте [GitHub Actions](/docs/ru/github-actions).11Задачи привязаны к сеансу: они существуют в текущем разговоре и останавливаются при запуске нового. Возобновление с помощью `--resume` или `--continue` восстанавливает задачи, которые не [истекли](#seven-day-expiry), за исключением перечисленных в разделе [Limitations](#limitations). Для планирования, которое сохраняется независимо от любого сеанса, используйте [Routines](/docs/ru/routines) для создания процедуры на облаке, установите [Desktop запланированные задачи](/docs/ru/desktop-scheduled-tasks) или используйте [GitHub Actions](/docs/ru/github-actions).

12 12 

13<h2 id="compare-scheduling-options">13<h2 id="compare-scheduling-options">

14 Сравните варианты планирования14 Сравните варианты планирования

15</h2>15</h2>

16 16 

17Claude Code offers three ways to schedule recurring or one-off work:17Claude Code предлагает три способа планирования повторяющихся или одноразовых задач:

18 18 

19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |19| | [Cloud](/docs/ru/routines) | [Desktop](/docs/ru/desktop-scheduled-tasks) | [`/loop`](/docs/ru/scheduled-tasks) |

20| :------------------------- | :---------------------------------- | :------------------------------------- | :------------------------------------------------------------------------- |20| :----------------------------- | :---------------------------------------- | :------------------------------------- | :---------------------------------------------------------------------------------- |

21| Runs on | Cloud, Anthropic-managed by default | Your machine | Your machine |21| Запускается на | Cloud, управляется Anthropic по умолчанию | Ваша машина | Ваша машина |

22| Requires machine on | No | Yes | Yes |22| Требует включенную машину | Нет | Да | Да |

23| Requires open session | No | No | Yes |23| Требует открытую сессию | Нет | Нет | Да |

24| Persistent across restarts | Yes | Yes | Restored on `--resume`, with [exceptions](/docs/en/scheduled-tasks#limitations) |24| Сохраняется после перезагрузки | Да | Да | Восстанавливается при `--resume`, с [исключениями](/docs/ru/scheduled-tasks#limitations) |

25| Access to local files | No (fresh clone) | Yes | Yes |25| Доступ к локальным файлам | Нет (свежий клон) | Да | Да |

26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |26| MCP servers | Connectors настроены для каждой задачи | [Config files](/docs/ru/mcp) и connectors | Наследуется из сессии |

27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |27| Запросы разрешений | Нет (работает автономно) | Настраивается для каждой задачи | Наследуется из сессии |

28| Customizable schedule | Via `/schedule` in the CLI | Yes | Yes |28| Настраиваемое расписание | Через `/schedule` в CLI | Да | Да |

29| Minimum interval | 1 hour | 1 minute | 1 minute |29| Минимальный интервал | 1 час | 1 минута | 1 минута |

30 30 

31<Tip>31<Tip>

32 Use **cloud tasks** for work that should run reliably without your machine. Use **Desktop tasks** when you need access to local files and tools. Use **`/loop`** for quick polling during a session.32 Используйте **облачные задачи** для работы, которая должна выполняться надежно без вашей машины. Используйте **Desktop задачи**, когда вам нужен доступ к локальным файлам и инструментам. Используйте **`/loop`** для быстрого опроса во время сессии.

33</Tip>33</Tip>

34 34 

35<h2 id="run-a-prompt-repeatedly-with-/loop">35<h2 id="run-a-prompt-repeatedly-with-/loop">

36 Запланируйте повторяющуюся подсказку с помощью /loop36 Запустите подсказку повторно с помощью /loop

37</h2>37</h2>

38 38 

39Встроенный skill `/loop` — это самый быстрый способ запланировать повторяющуюся подсказку, пока сеанс остаётся открытым. Как интервал, так и подсказка являются необязательными, и то, что вы предоставляете, определяет поведение цикла.39Встроенный навык `/loop` [bundled skill](/docs/ru/commands) — это самый быстрый способ запустить подсказку повторно, пока сеанс остается открытым. Интервал и подсказка являются необязательными, и то, что вы предоставляете, определяет поведение цикла.

40 40 

41| Что вы предоставляете | Пример | Что происходит |41| Что вы предоставляете | Пример | Что происходит |

42| :------------------------- | :-------------------------- | :-------------------------------------------------------------------------------------------------------------------------- |42| :------------------------- | :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |

43| Интервал и подсказка | `/loop 5m check the deploy` | Ваша подсказка запускается по [фиксированному расписанию](#run-on-a-fixed-interval) |43| Интервал и подсказка | `/loop 5m check the deploy` | Ваша подсказка запускается по [фиксированному расписанию](#run-on-a-fixed-interval) |

44| Только подсказка | `/loop check the deploy` | Ваша подсказка запускается с [интервалом, выбранным Claude](#let-claude-choose-the-interval) на каждой итерации |44| Только подсказка | `/loop check the deploy` | Ваша подсказка запускается с [интервалом, который выбирает Claude](#let-claude-choose-the-interval) на каждой итерации |

45| Только интервал или ничего | `/loop` | Запускается [встроенная подсказка обслуживания](#run-the-built-in-maintenance-prompt) или ваш `loop.md`, если он существует |45| Только интервал или ничего | `/loop` | Запускается [встроенная подсказка обслуживания](#run-the-built-in-maintenance-prompt), или ваш `loop.md`, если он существует |

46 46 

47Вы также можете передать skill в качестве подсказки, например `/loop 20m /review-pr 1234`, чтобы повторно запустить этот skill на каждой итерации. Начиная с версии 2.1.196, запланированное срабатывание запускает только skills, которые Claude [может вызывать самостоятельно](/docs/ru/skills#control-who-invokes-a-skill). Следующие элементы поступают к Claude как простой текст вместо выполнения:47Вы также можете передать навык в качестве подсказки, например `/loop 20m /review-pr 1234`, чтобы повторно запустить этот навык на каждой итерации. Запланированное выполнение запускает только навыки, которые Claude [разрешено вызывать самостоятельно](/docs/ru/skills#control-who-invokes-a-skill). Следующие элементы поступают к Claude как простой текст вместо выполнения:

48 48 

49* встроенные команды, такие как `/permissions`, `/model` или `/clear`49* Встроенные команды, такие как `/permissions`, `/model` или `/clear`

50* skills, отмеченные [`disable-model-invocation: true`](/docs/ru/skills#frontmatter-reference)50* Навыки, отмеченные [`disable-model-invocation: true`](/docs/ru/skills#frontmatter-reference), включая встроенный навык `/verify`

51* skills, скрытые от Claude параметром [`skillOverrides`](/docs/ru/skills#override-skill-visibility-from-settings) или правилом `Skill` [deny](/docs/ru/skills#restrict-claude’s-skill-access)51* Навыки, скрытые от Claude параметром [`skillOverrides`](/docs/ru/skills#override-skill-visibility-from-settings) или правилом `Skill` [deny](/docs/ru/skills#restrict-claude%E2%80%99s-skill-access)

52* [MCP prompts](/docs/ru/mcp#use-mcp-prompts-as-commands), такие как `/mcp__github__list_prs`; skills, которые предоставляет MCP сервер, всё ещё запускаются52* [MCP prompts](/docs/ru/mcp#use-mcp-prompts-as-commands), такие как `/mcp__github__list_prs`

53 53 

54<h3 id="run-on-a-fixed-interval">54<h3 id="run-on-a-fixed-interval">

55 Запуск по фиксированному интервалу55 Запуск с фиксированным интервалом

56</h3>56</h3>

57 57 

58Когда вы указываете интервал, Claude преобразует его в выражение cron, планирует задание и подтверждает кадентность и ID задания.58Когда вы указываете интервал, Claude преобразует его в выражение cron, планирует задание и подтверждает кадр и ID задания.

59 59 

60```text theme={null}60```text theme={null}

61/loop 5m check if the deployment finished and tell me what happened61/loop 5m check if the deployment finished and tell me what happened

62```62```

63 63 

64Интервал может предшествовать подсказке как простой токен, например `30m`, или следовать за ней как предложение, например `every 2 hours`. Поддерживаемые единицы: `s` для секунд, `m` для минут, `h` для часов и `d` для дней.64Интервал может предшествовать подсказке как отдельный токен, например `30m`, или следовать за ней как предложение, например `every 2 hours`. Поддерживаемые единицы: `s` для секунд, `m` для минут, `h` для часов и `d` для дней.

65 65 

66Секунды округляются до ближайшей минуты, так как cron имеет гранулярность в одну минуту. Интервалы, которые не соответствуют чистому шагу cron, такие как `7m` или `90m`, округляются до ближайшего интервала, который соответствует, и Claude сообщает вам, что он выбрал.66Секунды округляются до ближайшей минуты, так как cron имеет гранулярность в одну минуту. Интервалы, которые не соответствуют чистому шагу cron, такие как `7m` или `90m`, округляются до ближайшего интервала, который соответствует, и Claude сообщает вам, что он выбрал.

67 67 


69 Позвольте Claude выбрать интервал69 Позвольте Claude выбрать интервал

70</h3>70</h3>

71 71 

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

73 73 

74Пример ниже проверяет CI и комментарии рецензии, с Claude ожидающим дольше между итерациями, когда PR затихает:74Приведенный ниже пример проверяет CI и комментарии рецензии, при этом Claude ждет дольше между итерациями, когда PR становится неактивным:

75 75 

76```text theme={null}76```text theme={null}

77/loop check whether CI passed and address any review comments77/loop check whether CI passed and address any review comments

78```78```

79 79 

80Когда вы запрашиваете динамическое расписание `/loop`, Claude может использовать инструмент [Monitor](/docs/ru/tools-reference#monitor-tool) напрямую. Monitor запускает фоновый скрипт и передаёт каждую строку вывода обратно, что полностью избегает опроса и часто более эффективно по токенам и отзывчиво, чем повторный запуск подсказки через интервал.80В сеансе, где доступен [инструмент Monitor](/docs/ru/tools-reference#monitor-tool), Claude может использовать его напрямую, когда вы просите динамическое расписание `/loop`. Monitor запускает фоновый скрипт и передает каждую строку вывода обратно, что полностью избегает опроса и часто более эффективно по токенам и отзывчиво, чем повторный запуск подсказки с интервалом.

81 81 

82Динамически запланированный цикл появляется в вашем [списке запланированных задач](#manage-scheduled-tasks) как любая другая задача, поэтому вы можете перечислить или отменить его таким же образом. [Правила дрожания](#jitter) не применяются к нему, но [истечение через семь дней](#seven-day-expiry) применяется: цикл автоматически заканчивается через семь дней после его запуска.82Динамически запланированный цикл отображается в вашем [списке запланированных задач](#manage-scheduled-tasks) как любая другая задача, поэтому вы можете перечислить или отменить его таким же образом. [Правила jitter](#jitter) к нему не применяются, но [семидневное истечение](#seven-day-expiry) применяется.

83 

84<span id="loop-provider-differences" />

83 85 

84<Note>86<Note>

85 На Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform и Microsoft Foundry подсказка без интервала запускается по фиксированному расписанию в 10 минут вместо этого.87 Динамически выбранные интервалы и [встроенная подсказка обслуживания](#run-the-built-in-maintenance-prompt) работают на каждом поставщике и с [получением флага функции](/docs/ru/env-vars#features-that-need-feature-flag-fetching) отключенным. На Amazon Bedrock, Claude Platform на AWS, Google Cloud's Agent Platform и Microsoft Foundry, или с отключенным получением, оба требуют Claude Code v2.1.248 или позже. В этих случаях на более ранних версиях подсказка без интервала запускается по фиксированному расписанию в 10 минут, а `/loop` без подсказки выводит сообщение об использовании.

86</Note>88</Note>

87 89 

88<h3 id="run-the-built-in-maintenance-prompt">90<h3 id="run-the-built-in-maintenance-prompt">

89 Запустите встроенную подсказку обслуживания91 Запуск встроенной подсказки обслуживания

90</h3>92</h3>

91 93 

92Когда вы опускаете подсказку, Claude использует встроенную подсказку обслуживания вместо той, которую вы предоставляете. На каждой итерации он работает через следующее, по порядку:94Когда вы опускаете подсказку, Claude использует встроенную подсказку обслуживания вместо предоставленной вами. На каждой итерации он работает со следующим по порядку:

93 95 

94* продолжить любую незавершённую работу из разговора96* продолжить любую незавершенную работу из разговора

95* ухаживать за pull request текущей ветки: комментарии рецензии, неудачные запуски CI, конфликты слияния97* ухаживать за pull request текущей ветки: комментарии рецензии, неудачные запуски CI, конфликты слияния

96* запустить проходы очистки, такие как охота на ошибки или упрощение, когда ничего другого не ожидается98* запустить проходы очистки, такие как охота на ошибки или упрощение, когда ничего больше не ожидается

97 99 

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

99 101 

100```text theme={null}102```text theme={null}

101/loop103/loop

102```104```

103 105 

104Простой `/loop` запускает эту подсказку с [динамически выбранным интервалом](#let-claude-choose-the-interval). Добавьте интервал, например `/loop 15m`, чтобы запустить его по фиксированному расписанию вместо этого. Чтобы заменить встроенную подсказку своей собственной по умолчанию, см. [Настройте подсказку по умолчанию с помощью loop.md](#customize-the-default-prompt-with-loop-md).106Простой `/loop` запускает эту подсказку с [динамически выбранным интервалом](#let-claude-choose-the-interval). Добавьте интервал, например `/loop 15m`, чтобы запустить его по фиксированному расписанию. Чтобы заменить встроенную подсказку своей собственной по умолчанию, см. [Настройте подсказку по умолчанию с помощью loop.md](#customize-the-default-prompt-with-loop-md).

105 

106<Note>

107 На Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform и Microsoft Foundry `/loop` без подсказки выводит сообщение об использовании вместо запуска подсказки обслуживания.

108</Note>

109 107 

110<h3 id="customize-the-default-prompt-with-loop-md">108<h3 id="customize-the-default-prompt-with-loop-md">

111 Настройте подсказку по умолчанию с помощью loop.md109 Настройте подсказку по умолчанию с помощью loop.md

112</h3>110</h3>

113 111 

114Файл `loop.md` заменяет встроенную подсказку обслуживания вашими собственными инструкциями. Он определяет одну подсказку по умолчанию для простого `/loop`, а не список отдельных запланированных задач, и игнорируется всякий раз, когда вы предоставляете подсказку в командной строке. Чтобы запланировать дополнительные подсказки рядом с ней, используйте `/loop <prompt>` или [попросите Claude напрямую](#manage-scheduled-tasks).112Создайте файл `loop.md`, чтобы заменить [встроенную подсказку обслуживания](#run-the-built-in-maintenance-prompt) своими собственными инструкциями. Он определяет одну подсказку по умолчанию для простого `/loop`, а не список отдельных запланированных задач, и Claude Code игнорирует его всякий раз, когда вы предоставляете подсказку в командной строке. Чтобы запланировать дополнительные подсказки рядом с ней, используйте `/loop <prompt>` или [попросите Claude напрямую](#manage-scheduled-tasks).

115 113 

116Claude ищет файл в двух местах и использует первый, который он находит.114Claude ищет файл в двух местах и использует первый найденный.

117 115 

118| Путь | Область |116| Путь | Область |

119| :------------------ | :------------------------------------------------------------------------------------------- |117| :------------------ | :------------------------------------------------------------------------------------------- |


129quiet, say so in one line.127quiet, say so in one line.

130```128```

131 129 

132Изменения в `loop.md` вступают в силу на следующей итерации, поэтому вы можете уточнить инструкции, пока цикл работает. Когда `loop.md` не существует ни в одном месте, цикл возвращается к встроенной подсказке обслуживания. Держите файл кратким: содержимое, превышающее 25 000 байт, усекается.130Изменения в `loop.md` вступают в силу на следующей итерации, поэтому вы можете уточнить инструкции во время выполнения цикла. Когда `loop.md` не существует ни в одном месте, цикл возвращается к встроенной подсказке обслуживания. Держите файл кратким: содержимое, превышающее 25 000 байт, усекается.

133 

134<Note>

135 На Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform и Microsoft Foundry `loop.md` не читается и `/loop` без подсказки выводит сообщение об использовании вместо этого.

136</Note>

137 131 

138<h3 id="stop-a-loop">132<h3 id="stop-a-loop">

139 Остановите цикл133 Остановите цикл

140</h3>134</h3>

141 135 

142Чтобы остановить `/loop` во время ожидания следующей итерации, нажмите `Esc`. Это очищает ожидающее пробуждение, поэтому цикл не срабатывает снова. Задачи, которые вы запланировали, [попросив Claude напрямую](#manage-scheduled-tasks), не затрагиваются `Esc` и остаются на месте до тех пор, пока вы их не удалите.136Чтобы остановить [самостоятельный `/loop`](#let-claude-choose-the-interval) во время ожидания следующей итерации, нажмите `Esc`. Это очищает ожидающее пробуждение, поэтому цикл не срабатывает снова. Задачи, которые вы запланировали, [попросив Claude напрямую](#manage-scheduled-tasks), не затрагиваются `Esc` и остаются на месте, пока вы их не удалите.

143 137 

144В [режиме самостоятельного темпа](#let-claude-choose-the-interval) Claude также может завершить цикл самостоятельно, как только задача будет завершена. Claude вызывает инструмент [`ScheduleWakeup`](/docs/ru/tools-reference) с `stop: true`, что немедленно отменяет ожидающее пробуждение. Если итерация заканчивается без переплана или остановки, Claude Code планирует одно резервное пробуждение примерно через 20 минут и завершает цикл, когда эта итерация также не переплана. До версии 2.1.202 отсутствие переплана было единственным способом, которым Claude мог завершить цикл самостоятельно.138В [режиме самостоятельного выполнения](#let-claude-choose-the-interval) Claude также может завершить цикл самостоятельно после завершения задачи. Claude вызывает инструмент [`ScheduleWakeup`](/docs/ru/tools-reference) с `stop: true`, который немедленно отменяет ожидающее пробуждение. Если итерация заканчивается без переплана или остановки, Claude Code планирует одно резервное пробуждение примерно через 20 минут и завершает цикл, когда эта итерация также не переплана.

145 139 

146Циклы по фиксированному интервалу продолжают работать до тех пор, пока вы их не остановите или [не пройдёт семь дней](#seven-day-expiry).140Циклы с фиксированным интервалом продолжают работать, пока вы не [отмените их как любую другую запланированную задачу](#manage-scheduled-tasks) или [не истекут семь дней](#seven-day-expiry).

147 141 

148<h2 id="set-a-one-time-reminder">142<h2 id="set-a-one-time-reminder">

149 Установите одноразовое напоминание143 Установите одноразовое напоминание


243 237 

244* Задачи срабатывают только во время работы Claude Code и в режиме ожидания. Закрытие терминала или выход из сеанса отменяет всё. [Перемещение сеанса в фоновый режим](/docs/ru/agent-view#from-inside-a-session) переносит задачи `/loop` в фоновый сеанс, который продолжает работать без терминала.238* Задачи срабатывают только во время работы Claude Code и в режиме ожидания. Закрытие терминала или выход из сеанса отменяет всё. [Перемещение сеанса в фоновый режим](/docs/ru/agent-view#from-inside-a-session) переносит задачи `/loop` в фоновый сеанс, который продолжает работать без терминала.

245* Нет наверстывания пропущенных срабатываний. Если запланированное время задачи проходит, пока Claude занят долгоживущим запросом, она срабатывает один раз, когда Claude становится свободным, а не один раз за каждый пропущенный интервал.239* Нет наверстывания пропущенных срабатываний. Если запланированное время задачи проходит, пока Claude занят долгоживущим запросом, она срабатывает один раз, когда Claude становится свободным, а не один раз за каждый пропущенный интервал.

246* Запуск нового разговора очищает все задачи, привязанные к сеансу. Возобновление с помощью `claude --resume` или `claude --continue` восстанавливает задачи, которые не истекли: повторяющиеся задачи в течение семи дней после создания и одноразовые задачи, чьё запланированное время ещё не наступило. Фоновые задачи Bash и monitor никогда не восстанавливаются при возобновлении.240* Запуск нового разговора очищает все задачи, привязанные к сеансу. Возобновление с помощью `claude --resume` или `claude --continue` восстанавливает задачи, запланированные с помощью `CronCreate`, за исключением повторяющихся задач, которые [истекли](#seven-day-expiry), и одноразовых задач, чьё запланированное время уже прошло. Самостоятельный `/loop` [не восстанавливается](#let-claude-choose-the-interval), поэтому запустите `/loop` снова, чтобы перезапустить его. Фоновые задачи Bash и monitor никогда не восстанавливаются при возобновлении.

241* С [отключённой загрузкой флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching) Claude Code сохраняет задачу, которую вы попросили сохранить между сеансами, в файле `.claude/scheduled_tasks.json` проекта. Когда директория `.claude` или этот файл является символической ссылкой, Claude Code возвращает ошибку вместо планирования задачи. Сохранённая задача запускается только в папке проекта, где вы её создали. Если вы скопируете файл в другую папку, например в новый worktree, сеансы там будут отображать скопированные задачи, но не будут их запускать, поэтому создайте задачу снова в этой папке.

247 242 

248Для автоматизации, управляемой cron, которая должна работать без присмотра:243Для автоматизации, управляемой cron, которая должна работать без присмотра:

249 244 

250* [Routines](/docs/ru/routines): запуск на инфраструктуре, управляемой Anthropic, по расписанию, через вызов API или на события GitHub245* [Routines](/docs/ru/routines): запуск в облаке по расписанию, через вызов API или на события GitHub

251* [GitHub Actions](/docs/ru/github-actions): используйте триггер `schedule` в CI246* [GitHub Actions](/docs/ru/github-actions): используйте триггер `schedule` в CI

252* [Desktop запланированные задачи](/docs/ru/desktop-scheduled-tasks): запуск локально на вашей машине247* [Desktop запланированные задачи](/docs/ru/desktop-scheduled-tasks): запуск локально на вашей машине

security.md +2 −2

Details

124 Безопасность облачного выполнения124 Безопасность облачного выполнения

125</h2>125</h2>

126 126 

127При использовании [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) действуют дополнительные элементы управления безопасностью. Сеансы, которые ваша организация маршрутизирует в [самостоятельно размещаемую среду](/docs/ru/self-hosted-environments), работают на вашей собственной инфраструктуре, где изоляция, сетевой выход и учетные данные git являются ответственностью вашего развертывания. В средах, размещаемых Anthropic:127При использовании [облачных сеансов](/docs/ru/claude-code-on-the-web) действуют дополнительные элементы управления безопасностью. Сеансы, которые ваша организация маршрутизирует в [самостоятельно размещаемую среду](/docs/ru/self-hosted-environments), работают на вашей собственной инфраструктуре, где изоляция, сетевой выход и учетные данные git являются ответственностью вашего развертывания. В средах, размещаемых Anthropic:

128 128 

129* **Изолированные виртуальные машины**: Каждый облачный сеанс работает в изолированной ВМ, управляемой Anthropic129* **Изолированные виртуальные машины**: Каждый облачный сеанс работает в изолированной ВМ, управляемой Anthropic

130* **Элементы управления доступом в сети**: Доступ в сеть ограничен по умолчанию и может быть настроен на отключение или разрешение только определенных доменов130* **Элементы управления доступом в сети**: Доступ в сеть ограничен по умолчанию и может быть настроен на отключение или разрешение только определенных доменов


133* **Логирование аудита**: Все операции в облачных сеансах регистрируются в целях соответствия и аудита133* **Логирование аудита**: Все операции в облачных сеансах регистрируются в целях соответствия и аудита

134* **Автоматическая очистка**: Облачные ВМ сеансов высвобождаются после периода неактивности134* **Автоматическая очистка**: Облачные ВМ сеансов высвобождаются после периода неактивности

135 135 

136Для получения дополнительной информации о облачном выполнении см. [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web); для настройки сетевого доступа к облачным сеансам см. [Настройка облачных сред](/docs/ru/cloud-environments#network-access).136Для получения дополнительной информации о облачном выполнении см. [Использование Claude Code в облаке](/docs/ru/claude-code-on-the-web); для настройки сетевого доступа к облачным сеансам см. [Настройка облачных сред](/docs/ru/cloud-environments#network-access).

137 137 

138Сеансы [Remote Control](/docs/ru/remote-control) работают иначе: веб-интерфейс подключается к процессу Claude Code, работающему на вашей локальной машине. Все выполнение кода и доступ к файлам остаются локальными, и трафик сеанса проходит через API Anthropic по TLS; при подключении транскрипт сеанса хранится на серверах Anthropic для синхронизации разговора между устройствами, как описано в [Соединение и безопасность](/docs/ru/remote-control#connection-and-security). Никаких облачных ВМ или sandboxing не задействовано. Соединение использует несколько краткосрочных, узко ограниченных учетных данных, каждые ограниченные определенной целью и истекающие независимо, чтобы ограничить радиус поражения любого скомпрометированного учетного данного.138Сеансы [Remote Control](/docs/ru/remote-control) работают иначе: веб-интерфейс подключается к процессу Claude Code, работающему на вашей локальной машине. Все выполнение кода и доступ к файлам остаются локальными, и трафик сеанса проходит через API Anthropic по TLS; при подключении транскрипт сеанса хранится на серверах Anthropic для синхронизации разговора между устройствами, как описано в [Соединение и безопасность](/docs/ru/remote-control#connection-and-security). Никаких облачных ВМ или sandboxing не задействовано. Соединение использует несколько краткосрочных, узко ограниченных учетных данных, каждые ограниченные определенной целью и истекающие независимо, чтобы ограничить радиус поражения любого скомпрометированного учетного данного.

139 139 

Details

34`/plugin` открывает интерактивную панель и доступен только в терминальном CLI. Если Claude сообщит, что `/plugin` недоступен в этой среде, установите другим способом:34`/plugin` открывает интерактивную панель и доступен только в терминальном CLI. Если Claude сообщит, что `/plugin` недоступен в этой среде, установите другим способом:

35 35 

36* **Приложение Claude для рабочего стола, локальный или SSH сеанс**: откройте [браузер плагинов](/docs/ru/desktop#install-plugins), нажав кнопку **+** рядом с приглашением, затем **Plugins**, затем **Add plugin**36* **Приложение Claude для рабочего стола, локальный или SSH сеанс**: откройте [браузер плагинов](/docs/ru/desktop#install-plugins), нажав кнопку **+** рядом с приглашением, затем **Plugins**, затем **Add plugin**

37* **Claude Code в веб-версии или облачном сеансе рабочего стола**: объявите плагин в `.claude/settings.json`, как показано в разделе [Enable in cloud sessions](#enable-in-cloud-sessions-and-shared-repositories)37* **Облачные сеансы**: объявите плагин в `.claude/settings.json`, как показано в разделе [Enable in cloud sessions](#enable-in-cloud-sessions-and-shared-repositories)

38 38 

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

40 40 


49 Включение в облачных сеансах и общих репозиториях49 Включение в облачных сеансах и общих репозиториях

50</h3>50</h3>

51 51 

52Плагины с областью действия пользователя не переносятся в [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web), потому что эти сеансы работают в облаке, а не на вашей машине. Чтобы включить плагин там или включить его для всех, кто клонирует репозиторий, объявите его в параметрах проекта, которые проверены:52Плагины с областью действия пользователя не переносятся в [облачные сеансы](/docs/ru/claude-code-on-the-web), потому что эти сеансы не работают на вашей машине. Чтобы включить плагин там или включить его для всех, кто клонирует репозиторий, объявите его в параметрах проекта, которые проверены:

53 53 

54```json .claude/settings.json theme={null}54```json .claude/settings.json theme={null}

55{55{

Details

10 Самостоятельно размещаемые окружения находятся в публичной бета-версии для планов Team и Enterprise и отключены по умолчанию. Смотрите [Доступность и ограничения](#availability-and-limitations) для пути включения и того, что исключено.10 Самостоятельно размещаемые окружения находятся в публичной бета-версии для планов Team и Enterprise и отключены по умолчанию. Смотрите [Доступность и ограничения](#availability-and-limitations) для пути включения и того, что исключено.

11</Note>11</Note>

12 12 

13Самостоятельно размещаемое окружение выполняет сеансы Claude Code в облаке на инфраструктуре, которой управляет ваша организация. [Облачный сеанс](/docs/ru/claude-code-on-the-web) — это любой сеанс, который выполняется не на машине разработчика: разработчики запускают их из claude.ai, мобильных и настольных приложений, терминала с помощью [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-web) и [запланированных процедур](/docs/ru/routines), и по умолчанию они выполняются на инфраструктуре Anthropic. В самостоятельно размещаемом окружении эти же сеансы выполняются внутри вашей сети, а опыт разработчика остается прежним, за исключением различий в [Доступности и ограничениях](#availability-and-limitations) и [известных проблемах](/docs/ru/self-hosted-environments-deploy#known-issues-and-limitations) на странице развертывания.13Самостоятельно размещаемое окружение выполняет сеансы Claude Code в облаке на инфраструктуре, которой управляет ваша организация. [Облачный сеанс](/docs/ru/claude-code-on-the-web) — это любой сеанс, который выполняется не на машине разработчика: разработчики запускают их из claude.ai, мобильных и настольных приложений, терминала с помощью [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) и [запланированных процедур](/docs/ru/routines), и по умолчанию они выполняются на инфраструктуре Anthropic. В самостоятельно размещаемом окружении эти же сеансы выполняются внутри вашей сети, а опыт разработчика остается прежним, за исключением различий в [Доступности и ограничениях](#availability-and-limitations) и [известных проблемах](/docs/ru/self-hosted-environments-deploy#known-issues-and-limitations) на странице развертывания.

14 14 

15Если ваша команда не использует облачные сеансы, здесь нечего настраивать: сеансы в терминале или IDE всегда выполняются на собственной машине разработчика. Если вы хотите запустить Claude Code на собственной постоянно работающей машине и управлять ею с других устройств, используйте [Remote Control](/docs/ru/remote-control), который также доступен на планах Pro и Max. Когда вы будете готовы к настройке, переходите прямо к [быстрому старту](/docs/ru/self-hosted-environments-quickstart); чтобы сначала проверить позицию безопасности, начните с [Развертывание в production](/docs/ru/self-hosted-environments-deploy). Остальная часть этой страницы объясняет, как работает самостоятельное размещение и когда его выбирать.15Если ваша команда не использует облачные сеансы, здесь нечего настраивать: сеансы в терминале или IDE всегда выполняются на собственной машине разработчика. Если вы хотите запустить Claude Code на собственной постоянно работающей машине и управлять ею с других устройств, используйте [Remote Control](/docs/ru/remote-control), который также доступен на планах Pro и Max. Когда вы будете готовы к настройке, переходите прямо к [быстрому старту](/docs/ru/self-hosted-environments-quickstart); чтобы сначала проверить позицию безопасности, начните с [Развертывание в production](/docs/ru/self-hosted-environments-deploy). Остальная часть этой страницы объясняет, как работает самостоятельное размещение и когда его выбирать.

16 16 


44 44 

45Проверьте это перед планированием развертывания:45Проверьте это перед планированием развертывания:

46 46 

47* **Plans**: публичная бета для организаций Team и Enterprise. Самостоятельно размещаемые окружения отключены по умолчанию; [Owner](/docs/ru/cloud-environments#organization-shared-environments) включает **Allow self-hosted environments** на [странице администратора **Cloud environments**](https://claude.ai/admin-settings/cloud-environments), что требует [Claude Code on the web](/docs/ru/claude-code-on-the-web) для включения для организации.47* **Plans**: публичная бета для организаций Team и Enterprise. Самостоятельно размещаемые окружения отключены по умолчанию; [Owner](/docs/ru/cloud-environments#organization-shared-environments) включает **Allow self-hosted environments** на [странице администратора **Cloud environments**](https://claude.ai/admin-settings/cloud-environments), что требует [cloud sessions](/docs/ru/claude-code-on-the-web) для включения для организации.

48* **Zero Data Retention**: недоступно для организаций с включенным [Zero Data Retention](/docs/ru/zero-data-retention).48* **Zero Data Retention**: недоступно для организаций с включенным [Zero Data Retention](/docs/ru/zero-data-retention).

49* **Model inference**: сеансы используют Anthropic API, и вывод не может быть маршрутизирован через [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/ru/third-party-integrations) или [LLM gateway](/docs/ru/llm-gateway).49* **Model inference**: сеансы используют Anthropic API, и вывод не может быть маршрутизирован через [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/ru/third-party-integrations) или [LLM gateway](/docs/ru/llm-gateway).

50* **Surfaces**: сеансы, запущенные из [Claude Code on the web](/docs/ru/claude-code-on-the-web), мобильных и настольных приложений, [запланированных процедур](/docs/ru/routines) и терминала с [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-web) или [`--environment` dispatch](/docs/ru/self-hosted-environments-testing#run-the-test-loop), могут работать в самостоятельно размещаемых окружениях. Сеансы [Claude Tag](https://claude.com/docs/claude-tag/overview) могут работать в них тоже, но Claude не может использовать [Access bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) в этих сеансах еще. Сеансы [Claude Security](/docs/ru/claude-security) и [Code Review](/docs/ru/code-review) еще не маршрутизируются на них. Поддержка этих двух поверхностей следует отдельно.50* **Surfaces**: сеансы, запущенные из [claude.ai/code](https://claude.ai/code), мобильных и настольных приложений, [запланированных процедур](/docs/ru/routines) и терминала с [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) или [`--environment` dispatch](/docs/ru/self-hosted-environments-testing#run-the-test-loop), могут работать в самостоятельно размещаемых окружениях. Сеансы [Claude Tag](https://claude.com/docs/claude-tag/overview) могут работать в них тоже, но Claude не может использовать [Access bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) в этих сеансах еще. Сеансы [Claude Security](/docs/ru/claude-security) и [Code Review](/docs/ru/code-review) еще не маршрутизируются на них. Поддержка этих двух поверхностей следует отдельно.

51* **Repositories**: сеансы проверяют репозитории из GitHub; смотрите [Варианты аутентификации GitHub](/docs/ru/claude-code-on-the-web#github-authentication-options).51* **Repositories**: сеансы проверяют репозитории из GitHub; смотрите [Варианты аутентификации GitHub](/docs/ru/claude-code-on-the-web#github-authentication-options).

52* **Billing**: сеансы в самостоятельно размещаемом окружении потребляют использование Claude Code вашей организации так же, как сеансы в окружениях, размещаемых Anthropic.52* **Billing**: сеансы в самостоятельно размещаемом окружении потребляют использование Claude Code вашей организации так же, как сеансы в окружениях, размещаемых Anthropic.

53 53 

Details

37| `CLAUDE_CODE_REMOTE_SESSION_ID` | ID сеанса в форме с тегом `cse_...`. Это тот же сеанс, который [хуки жизненного цикла](#lifecycle-hooks) видят как `CLAUDE_RUNNER_SESSION_ID` в форме `session_...`; переменные UUID совпадают в обоих случаях, и замена префикса `cse_` на `session_` дает ID, показанный в URL сеанса. |37| `CLAUDE_CODE_REMOTE_SESSION_ID` | ID сеанса в форме с тегом `cse_...`. Это тот же сеанс, который [хуки жизненного цикла](#lifecycle-hooks) видят как `CLAUDE_RUNNER_SESSION_ID` в форме `session_...`; переменные UUID совпадают в обоих случаях, и замена префикса `cse_` на `session_` дает ID, показанный в URL сеанса. |

38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | Тот же ID сеанса в канонической форме UUID для систем, которые используют UUID в качестве ключа. |38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | Тот же ID сеанса в канонической форме UUID для систем, которые используют UUID в качестве ключа. |

39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | Абсолютный путь к файлу для каждого сеанса, содержащему текущий JWT сеанса, поддерживаемый в актуальном состоянии при обновлении токенов. Подпроцессы оболочки читают его для своего заголовка `Authorization` при загрузке вложений, которые пользователь добавил в сеанс. `exec` сохраняет переменную автоматически; оболочка, которая перестраивает окружение дочернего процесса, должна перенести переменную, иначе загрузки вложений молча прекратятся. |39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | Абсолютный путь к файлу для каждого сеанса, содержащему текущий JWT сеанса, поддерживаемый в актуальном состоянии при обновлении токенов. Подпроцессы оболочки читают его для своего заголовка `Authorization` при загрузке вложений, которые пользователь добавил в сеанс. `exec` сохраняет переменную автоматически; оболочка, которая перестраивает окружение дочернего процесса, должна перенести переменную, иначе загрузки вложений молча прекратятся. |

40| `CLAUDE_CONFIG_DIR` | Каталог конфигурации Claude для каждого сеанса, написанный при запуске сеанса из снимка конфигурации хоста средства выполнения, который средство выполнения захватывает при запуске; см. [Permissions and tool approval](#permissions-and-tool-approval). Записи здесь изолированы для этого сеанса. |40| `CLAUDE_CONFIG_DIR` | Каталог конфигурации Claude для каждого сеанса, написанный при запуске сеанса из снимка конфигурации хоста средства выполнения, который средство выполнения захватывает при запуске; см. [Permissions and tool approval](#permissions-and-tool-approval). Записи здесь изолированы для этого сеанса. Каталог остается под `<base-dir>/_sessions/` после завершения сеанса, если вы не запустите средство выполнения с [`--remove-session-state`](/docs/ru/self-hosted-environments-reference#runner-cli-flags); см. [Reuse a pre-warmed checkout](/docs/ru/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout). |

41| `ANTHROPIC_BASE_URL` | URL базы API, который будет использовать дочерний процесс, доставленный плоскостью управления для каждого сеанса и обычно `https://api.anthropic.com`. Не переопределяйте его: учетные данные вывода сеанса — это выданный Anthropic токен OAuth, который другие поставщики не принимают, поэтому вывод в самостоятельно размещаемых окружениях не маршрутизируется в другие места. |41| `ANTHROPIC_BASE_URL` | URL базы API, который будет использовать дочерний процесс, доставленный плоскостью управления для каждого сеанса и обычно `https://api.anthropic.com`. Не переопределяйте его: учетные данные вывода сеанса — это выданный Anthropic токен OAuth, который другие поставщики не принимают, поэтому вывод в самостоятельно размещаемых окружениях не маршрутизируется в другие места. |

42| `CLAUDE_CODE_OAUTH_TOKEN` | Краткосрочный токен доступа OAuth, который дочерний процесс использует для вывода модели, ограниченный выводом модели и загрузкой файлов только, с временем жизни около 30 минут. Средство выполнения переминтирует его перед истечением и доставляет ротацию через stdin дочернего процесса, поэтому оболочка, которая не [сохраняет stdin прикрепленным](#keep-stdin-and-file-descriptor-3-attached), видит только начальное значение. Не полагайтесь на список разрешенных IP-адресов вашей организации для ограничения использования этого токена: рассматривайте его как учетные данные носителя, которые остаются пригодными для использования примерно 30 минут при утечке, и не логируйте его, не записывайте на диск и не пересылайте вне контейнера сеанса. |42| `CLAUDE_CODE_OAUTH_TOKEN` | Краткосрочный токен доступа OAuth, который дочерний процесс использует для вывода модели, ограниченный выводом модели и загрузкой файлов только, с временем жизни около 30 минут. Средство выполнения переминтирует его перед истечением и доставляет ротацию через stdin дочернего процесса, поэтому оболочка, которая не [сохраняет stdin прикрепленным](#keep-stdin-and-file-descriptor-3-attached), видит только начальное значение. Не полагайтесь на список разрешенных IP-адресов вашей организации для ограничения использования этого токена: рассматривайте его как учетные данные носителя, которые остаются пригодными для использования примерно 30 минут при утечке, и не логируйте его, не записывайте на диск и не пересылайте вне контейнера сеанса. |

43 43 


407 Как собирается конфигурация каждого сеанса407 Как собирается конфигурация каждого сеанса

408</h3>408</h3>

409 409 

410Средство выполнения дает каждому сеансу свой собственный каталог конфигурации, заполненный из снимка в памяти `~/.claude/` хоста, который средство выполнения захватывает один раз при запуске: `settings.json`, `CLAUDE.md`, хуки, агенты, команды и навыки в вашем образе средства выполнения применяются к каждому сеансу как базовая линия уровня пользователя. Поскольку снимок берется при запуске, изменения конфигурации на работающем хосте вступают в силу только после перезагрузки средства выполнения. Установите `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` для заполнения из другого пути или укажите его на пустой каталог для отключения заполнения.410Средство выполнения дает каждому сеансу свой собственный каталог конфигурации, заполненный из снимка в памяти `~/.claude/` хоста, который средство выполнения захватывает один раз при запуске: `settings.json`, `CLAUDE.md`, хуки, агенты, команды и навыки в вашем образе средства выполнения применяются к каждому сеансу как базовая линия уровня пользователя. Если вы измените конфигурацию на работающем хосте, изменение вступает в силу только после перезагрузки средства выполнения.

411 

412Установите `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` для заполнения из другого пути или укажите его на пустой каталог для отключения заполнения.

411 413 

412Зафиксированный в репозитории `.claude/settings.json` накладывается сверху как настройки проекта. Сеансы также читают [`managed-settings.json`](/docs/ru/settings#where-settings-live) из стандартного системного пути в вашем образе средства выполнения. Применяются ли его ключи наряду с [управляемыми сервером настройками](/docs/ru/server-managed-settings) следует [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources): по умолчанию, когда ваша организация доставляет любые управляемые сервером ключи, сеансы игнорируют файл образа средства выполнения, кроме [ключей, которые Claude Code читает из каждого источника администратора](/docs/ru/managed-settings#keys-read-from-every-admin-source), такие как блок `env`, блокировки песочницы, пути двоичных файлов песочницы и `forceRemoteSettingsRefresh`. См. [приоритет настроек](/docs/ru/settings#settings-precedence).414Зафиксированный в репозитории `.claude/settings.json` накладывается сверху как настройки проекта. Сеансы также читают [`managed-settings.json`](/docs/ru/settings#where-settings-live) из стандартного системного пути в вашем образе средства выполнения. Применяются ли его ключи наряду с [управляемыми сервером настройками](/docs/ru/server-managed-settings) следует [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources): по умолчанию, когда ваша организация доставляет любые управляемые сервером ключи, сеансы игнорируют файл образа средства выполнения, кроме [ключей, которые Claude Code читает из каждого источника администратора](/docs/ru/managed-settings#keys-read-from-every-admin-source), такие как блок `env`, блокировки песочницы, пути двоичных файлов песочницы и `forceRemoteSettingsRefresh`. См. [приоритет настроек](/docs/ru/settings#settings-precedence).

413 415 

Details

434 434 

435* **Любая форма клона работает**: полный, неглубокий или однозвездный клон на пути используется как есть. Runner никогда не передает `--depth` при получении в существующий клон, поэтому полный pre-warm держит свою полную историю и неглубокий остается неглубоким. `CLAUDE_RUNNER_FETCH_DEPTH` (`full`, `0` или число; по умолчанию 50) контролирует только холодный клон, который runner делает, когда клон еще не существует.435* **Любая форма клона работает**: полный, неглубокий или однозвездный клон на пути используется как есть. Runner никогда не передает `--depth` при получении в существующий клон, поэтому полный pre-warm держит свою полную историю и неглубокий остается неглубоким. `CLAUDE_RUNNER_FETCH_DEPTH` (`full`, `0` или число; по умолчанию 50) контролирует только холодный клон, который runner делает, когда клон еще не существует.

436* **Отслеживаемые изменения сбрасываются, неотслеживаемые файлы сохраняются**: каждый сеанс начинается с жесткого сброса, который стирает предыдущие модификации сеанса, но runner никогда не запускает `git clean`, поэтому неотслеживаемые файлы из более ранних сеансов заблокированного владельца остаются в дереве.436* **Отслеживаемые изменения сбрасываются, неотслеживаемые файлы сохраняются**: каждый сеанс начинается с жесткого сброса, который стирает предыдущие модификации сеанса, но runner никогда не запускает `git clean`, поэтому неотслеживаемые файлы из более ранних сеансов заблокированного владельца остаются в дереве.

437* **Каталоги для каждого сеанса также сохраняются**: рядом с checkout runner создает записи для каждого сеанса под `<base-dir>/_sessions/` для каждого сеанса, который он запускает. Локальный каталог конфигурации Claude сеанса содержит локальную копию транскрипта беседы. Рядом с ним находятся загруженные файлы сеанса, когда сеанс их имеет. Каталог сеанса находится там же: он содержит любые worktrees для каждого сеанса и `checkout` hook checkouts во время работы сеанса, и он сохраняет все остальное, что Claude написал в нем.

438 

439 По умолчанию runner оставляет их на месте, когда сеанс заканчивается, поэтому на диске, который пережил процесс runner, они накапливаются. Каждый сеанс запускается как собственный пользователь runner, поэтому любой более поздний сеанс, который обслуживает этот диск, может их прочитать. Если вы сохраняете постоянный `--base-dir`, размер тома для этого роста. То же самое применяется к любой установке, которая перезапускает runner на той же файловой системе, включая [Docker Compose рецепт](#docker-compose).

440* **С `--remove-session-state`, каталоги для каждого сеанса не сохраняются**: запустите runner с [`--remove-session-state`](/docs/ru/self-hosted-environments-reference#runner-cli-flags), чтобы он удалял каталоги для каждого сеанса по мере завершения сеанса. Удаление является наилучшей попыткой: каталоги остаются, когда runner убивается до того, как его очистка запустится. Канонический клон и файлы, которые сеанс написал в другом месте на хосте, такие как временный каталог, остаются независимо.

437* **С git proxy, сброс становится checkout**: с [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), runner дезинфицирует `.git/` клона перед каждым сеансом, сохраняя хранилище объектов, refs и неглубокое состояние, но удаляя индекс, поэтому каждый сеанс платит полный checkout рабочего дерева вместо почти мгновенного сброса; он все еще никогда не переклонирует. Pre-warms подмодулей не поддерживаются под proxy.441* **С git proxy, сброс становится checkout**: с [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), runner дезинфицирует `.git/` клона перед каждым сеансом, сохраняя хранилище объектов, refs и неглубокое состояние, но удаляя индекс, поэтому каждый сеанс платит полный checkout рабочего дерева вместо почти мгновенного сброса; он все еще никогда не переклонирует. Pre-warms подмодулей не поддерживаются под proxy.

438* **Длинные клоны не нуждаются в обходном пути**: runner ограничивает каждую операцию git с помощью 120-секундного наблюдателя без прогресса и 30-минутного жесткого лимита, а не плоского тайм-аута, поэтому медленный холодный клон, который продолжает сообщать о прогрессе, завершается.442* **Длинные клоны не нуждаются в обходном пути**: runner ограничивает каждую операцию git с помощью 120-секундного наблюдателя без прогресса и 30-минутного жесткого лимита, а не плоского тайм-аута, поэтому медленный холодный клон, который продолжает сообщать о прогрессе, завершается.

439 443 


530* **Сеансы занимают минуты для запуска**: начальный клон обычно доминирует. Смотрите метрику `claude_code_self_hosted_runner_session_init_duration_seconds` [metric](/docs/ru/self-hosted-environments-reference#prometheus-metrics), чтобы подтвердить, и сократите клон с помощью [pre-warmed checkout](#reuse-a-pre-warmed-checkout) или меньшего `CLAUDE_RUNNER_FETCH_DEPTH`.534* **Сеансы занимают минуты для запуска**: начальный клон обычно доминирует. Смотрите метрику `claude_code_self_hosted_runner_session_init_duration_seconds` [metric](/docs/ru/self-hosted-environments-reference#prometheus-metrics), чтобы подтвердить, и сократите клон с помощью [pre-warmed checkout](#reuse-a-pre-warmed-checkout) или меньшего `CLAUDE_RUNNER_FETCH_DEPTH`.

531* **Pod убивается в середине осушения**: поднимите `terminationGracePeriodSeconds` по крайней мере на значение, которое runner регистрирует при запуске. См. [Shutdown timing](#shutdown-timing).535* **Pod убивается в середине осушения**: поднимите `terminationGracePeriodSeconds` по крайней мере на значение, которое runner регистрирует при запуске. См. [Shutdown timing](#shutdown-timing).

532 536 

533Как только логирование инициализируется, runner пишет свой лог жизненного цикла, включая строки `[runner:fatal]`, в stdout и отладочный вывод в stderr, все как простые текстовые строки, а не JSON. Отказы при запуске, описанные в записях устранения неполадок выше, печатаются в stderr перед этой точкой. Захватите оба потока с помощью `--log-file`, что также позволяет `self-hosted-runner doctor` их отслеживать, или с помощью сбора логов вашей платформы. Каждый процесс дочернего сеанса пишет отдельный отладочный лог. При отказе runner сохраняет лог, печатает путь логов в логе runner и выводит хвост логов рядом с сеансом в claude.ai/code.537Как только логирование инициализируется, runner пишет свой лог жизненного цикла, включая строки `[runner:fatal]`, в stdout и отладочный вывод в stderr, все как простые текстовые строки, а не JSON. Отказы при запуске, описанные в записях устранения неполадок выше, печатаются в stderr перед этой точкой. Захватите оба потока с помощью `--log-file`, что также позволяет `self-hosted-runner doctor` их отслеживать, или с помощью сбора логов вашей платформы.

538 

539Каждый процесс дочернего сеанса пишет отдельный отладочный лог. При отказе runner выводит хвост логов рядом с сеансом в claude.ai/code. Если вы не запустили runner с [`--remove-session-state`](/docs/ru/self-hosted-environments-reference#runner-cli-flags), он также сохраняет лог неудачного сеанса на диске и печатает его путь в логе runner.

534 540 

535<h2 id="what’s-next">541<h2 id="what’s-next">

536 Что дальше542 Что дальше

Details

31| `--debug-token-dir <path>` | `SELF_HOSTED_RUNNER_DEBUG_TOKEN_DIR` | unset | Запишите живые токены на диск для проверки. Только для отладки; не используйте в production. |31| `--debug-token-dir <path>` | `SELF_HOSTED_RUNNER_DEBUG_TOKEN_DIR` | unset | Запишите живые токены на диск для проверки. Только для отладки; не используйте в production. |

32| `--defer-shutdown-max-min <n>` | `SELF_HOSTED_RUNNER_DEFER_SHUTDOWN_MAX_MS` | `0` | При первом `SIGTERM` или `SIGINT` продолжайте обслуживать уже подключенные сеансы вместо их осушения, затем отпустите все еще подключенное через N минут и выйдите. Повысьте timeout остановки вашего хоста перед установкой этого. См. [Defer the drain past the first signal](/docs/ru/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal). `0` отключает. Требует Claude Code v2.1.238 или позже. |32| `--defer-shutdown-max-min <n>` | `SELF_HOSTED_RUNNER_DEFER_SHUTDOWN_MAX_MS` | `0` | При первом `SIGTERM` или `SIGINT` продолжайте обслуживать уже подключенные сеансы вместо их осушения, затем отпустите все еще подключенное через N минут и выйдите. Повысьте timeout остановки вашего хоста перед установкой этого. См. [Defer the drain past the first signal](/docs/ru/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal). `0` отключает. Требует Claude Code v2.1.238 или позже. |

33| `--drain-grace-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_GRACE_MS` | `0` | До тех пор, пока runner не получит сигнал завершения или не достигнет времени выхода на пенсию, контролирует, когда runner выходит после завершения активных сеансов: `0` выходит немедленно без опроса на дополнительные, а положительное значение держит runner живым и повторно опрашивает очередь заблокированного owner в течение этого количества секунд, за счет изоляции контейнера для каждого сеанса, описанной в [разделе hardening](/docs/ru/self-hosted-environments-deploy#harden-your-deployment). После первого сигнала, который вы отложили с помощью [`--defer-shutdown-max-min`](/docs/ru/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), runner выходит, как только он не содержит сеансов, независимо от того, что вы установили здесь. |33| `--drain-grace-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_GRACE_MS` | `0` | До тех пор, пока runner не получит сигнал завершения или не достигнет времени выхода на пенсию, контролирует, когда runner выходит после завершения активных сеансов: `0` выходит немедленно без опроса на дополнительные, а положительное значение держит runner живым и повторно опрашивает очередь заблокированного owner в течение этого количества секунд, за счет изоляции контейнера для каждого сеанса, описанной в [разделе hardening](/docs/ru/self-hosted-environments-deploy#harden-your-deployment). После первого сигнала, который вы отложили с помощью [`--defer-shutdown-max-min`](/docs/ru/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), runner выходит, как только он не содержит сеансов, независимо от того, что вы установили здесь. |

34| `--drain-marker-file <path>` | `SELF_HOSTED_RUNNER_DRAIN_MARKER_FILE` | unset | Файл маркера, который ваш хост записывает для объявления корректного осушения перед отправкой `SIGTERM`. Когда файл существует в начале осушения, runner сообщает о своем выходе в Anthropic как об осушении хоста, а не как о простом сигнале завершения. Само осушение, включая удержание `--drain-wait-sec`, работает так же, как без флага. Назовите путь на локальной файловой системе, в которую сеансы не могут писать. Требует Claude Code v2.1.271 или позже. |

34| `--drain-wait-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_WAIT_MS` | `0` | После начала осушения, которое происходит на `SIGTERM`, если вы не установили [`--defer-shutdown-max-min`](/docs/ru/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), ждите до N секунд для завершения текущего хода каждого сеанса и фоновых задач перед завершением дочернего процесса. Во время этого ожидания runner считает фоновую задачу, которая только что завершилась, все еще работающей до тех пор, пока не начнется следующий ход, который читает её результат, в течение максимум окна [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). |35| `--drain-wait-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_WAIT_MS` | `0` | После начала осушения, которое происходит на `SIGTERM`, если вы не установили [`--defer-shutdown-max-min`](/docs/ru/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), ждите до N секунд для завершения текущего хода каждого сеанса и фоновых задач перед завершением дочернего процесса. Во время этого ожидания runner считает фоновую задачу, которая только что завершилась, все еще работающей до тех пор, пока не начнется следующий ход, который читает её результат, в течение максимум окна [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). |

35| `--environment-secret-file <path>` | `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` | required | Путь к файлу, содержащему секрет среды, или, для runner, порожденных [orchestrator](/docs/ru/self-hosted-environments-configuration#on-demand-runners), одноразовый JWT работного заказа. `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` несет значение секрета напрямую, а не путь к файлу. Старый флаг `--pool-secret-file` и переменная `SELF_HOSTED_RUNNER_POOL_SECRET` по-прежнему работают и выводят уведомление об устаревании в stderr; сборки runner программы предварительного просмотра старше 2.1.216 распознают только эти старые имена. |36| `--environment-secret-file <path>` | `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` | required | Путь к файлу, содержащему секрет среды, или, для runner, порожденных [orchestrator](/docs/ru/self-hosted-environments-configuration#on-demand-runners), одноразовый JWT работного заказа. `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` несет значение секрета напрямую, а не путь к файлу. Старый флаг `--pool-secret-file` и переменная `SELF_HOSTED_RUNNER_POOL_SECRET` по-прежнему работают и выводят уведомление об устаревании в stderr; сборки runner программы предварительного просмотра старше 2.1.216 распознают только эти старые имена. |

36| `--exec-path <path>` | `SELF_HOSTED_RUNNER_EXEC_PATH` | собственный бинарный файл | Бинарный файл или скрипт-обертка для порождения для каждого сеанса. См. [Wrapper scripts](/docs/ru/self-hosted-environments-configuration#wrapper-scripts). |37| `--exec-path <path>` | `SELF_HOSTED_RUNNER_EXEC_PATH` | собственный бинарный файл | Бинарный файл или скрипт-обертка для порождения для каждого сеанса. См. [Wrapper scripts](/docs/ru/self-hosted-environments-configuration#wrapper-scripts). |


39| `--git-ssh-rewrite <host>` | none | unset | Переписать URL источников `https://<host>/...` на `git@<host>:...` перед клонированием для хостов git только с SSH. Повторяемо; только флаг. |40| `--git-ssh-rewrite <host>` | none | unset | Переписать URL источников `https://<host>/...` на `git@<host>:...` перед клонированием для хостов git только с SSH. Повторяемо; только флаг. |

40| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Порт для слушателя `/healthz` и `/metrics`. Установите `0` для отключения. |41| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Порт для слушателя `/healthz` и `/metrics`. Установите `0` для отключения. |

41| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | unset | Каталог скриптов hooks жизненного цикла. См. [Lifecycle hooks](/docs/ru/self-hosted-environments-configuration#lifecycle-hooks). |42| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | unset | Каталог скриптов hooks жизненного цикла. См. [Lifecycle hooks](/docs/ru/self-hosted-environments-configuration#lifecycle-hooks). |

43| `--host-config-snapshot <mode>` | `SELF_HOSTED_RUNNER_HOST_CONFIG_SNAPSHOT` | `disk` | Где runner хранит снимок при запуске [каталога конфигурации хоста](#environment-variable-only-settings), который он засевает каждый сеанс. `disk` копирует снимок в каталог, принадлежащий runner, под `--base-dir` и при каждом запуске сеанса проверяет каждый файл по дайджесту в памяти. Если файл в копии был изменен, сеанс не удается и runner отказывает в сеансах, пока вы не перезагрузите его. `memory` держит весь снимок на куче, ограниченный 64 МиБ; сверх лимита сеансы запускаются без конфигурации хоста и показывают уведомление об этом. Когда runner не может записать снимок на диск, он регистрирует сбой и использует `memory` для этого запуска. Требует Claude Code v2.1.271 или позже. |

42| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Ограничьте сеанс N минутами настенного времени как предел безопасности для зависших сеансов. На v2.1.260 или позже runner отпускает сеанс, который достигает лимита, чтобы он мог возобновиться при следующем сообщении пользователя, и завершает его только если он все еще на runner, когда окончится окно благодати [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings). До v2.1.260 runner завершал сеанс на лимите. См. [Some sessions don't count as idle](/docs/ru/self-hosted-environments-deploy#some-sessions-don%E2%80%99t-count-as-idle) для деталей и как выбрать значение. `0` отключает. |44| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Ограничьте сеанс N минутами настенного времени как предел безопасности для зависших сеансов. На v2.1.260 или позже runner отпускает сеанс, который достигает лимита, чтобы он мог возобновиться при следующем сообщении пользователя, и завершает его только если он все еще на runner, когда окончится окно благодати [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings). До v2.1.260 runner завершал сеанс на лимите. См. [Some sessions don't count as idle](/docs/ru/self-hosted-environments-deploy#some-sessions-don%E2%80%99t-count-as-idle) для деталей и как выбрать значение. `0` отключает. |

43| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | unset | Предварительно заблокируйте runner на конкретный аккаунт при запуске вместо блокировки при первом сеансе. Принимает адрес электронной почты или ID `user_...` в организации среды. Предварительно заблокированный runner никогда не подхватывает сеансы канала Claude Tag, у которых нет аккаунта. |45| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | unset | Предварительно заблокируйте runner на конкретный аккаунт при запуске вместо блокировки при первом сеансе. Принимает адрес электронной почты или ID `user_...` в организации среды. Предварительно заблокированный runner никогда не подхватывает сеансы канала Claude Tag, у которых нет аккаунта. |

44| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | unset | Зеркалируйте логи runner в файл в дополнение к stdout и stderr, созданный с разрешениями `0600`. Требуется для `self-hosted-runner doctor` для локального отслеживания логов. |46| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | unset | Зеркалируйте логи runner в файл в дополнение к stdout и stderr, созданный с разрешениями `0600`. Требуется для `self-hosted-runner doctor` для локального отслеживания логов. |


48| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | unset | Файл, который runner читает для каждого подключения к вашему прокси выхода, используя его обрезанное содержимое как значение заголовка `Proxy-Authorization`. Используйте этот флаг для токена, который другой процесс ротирует на месте. Несет те же требования, что и `--proxy-authorization-command`, и не может быть объединен с ним. См. [Authenticate to an egress proxy](/docs/ru/self-hosted-environments-deploy#authenticate-to-an-egress-proxy). Требует Claude Code v2.1.238 или позже. |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | unset | Файл, который runner читает для каждого подключения к вашему прокси выхода, используя его обрезанное содержимое как значение заголовка `Proxy-Authorization`. Используйте этот флаг для токена, который другой процесс ротирует на месте. Несет те же требования, что и `--proxy-authorization-command`, и не может быть объединен с ним. См. [Authenticate to an egress proxy](/docs/ru/self-hosted-environments-deploy#authenticate-to-an-egress-proxy). Требует Claude Code v2.1.238 или позже. |

49| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | off | При инициированном runner завершении сеанса, таком как осушение или отпуск при простое, отправьте отслеживаемые ветви результатов в `origin` перед удалением рабочего пространства, чтобы текущие коммиты пережили перезагрузку. Лучшее усилие; добавляет 30 секунд к бюджету завершения и требует git 2.29 или новее для возобновления с отправленной ветви. Ограничьте доступ на отправку к ссылкам `claude/*` перед включением; см. [Resumed sessions lose unpushed work](/docs/ru/self-hosted-environments-deploy#additional-limitations). Репозитории, проверенные через hook `checkout` жизненного цикла, не отправляются; снимите их с помощью [`post-session` hook](/docs/ru/self-hosted-environments-configuration#post-session) вместо этого. |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | off | При инициированном runner завершении сеанса, таком как осушение или отпуск при простое, отправьте отслеживаемые ветви результатов в `origin` перед удалением рабочего пространства, чтобы текущие коммиты пережили перезагрузку. Лучшее усилие; добавляет 30 секунд к бюджету завершения и требует git 2.29 или новее для возобновления с отправленной ветви. Ограничьте доступ на отправку к ссылкам `claude/*` перед включением; см. [Resumed sessions lose unpushed work](/docs/ru/self-hosted-environments-deploy#additional-limitations). Репозитории, проверенные через hook `checkout` жизненного цикла, не отправляются; снимите их с помощью [`post-session` hook](/docs/ru/self-hosted-environments-configuration#post-session) вместо этого. |

50| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Отпустите слот сеанса после N минут неактивности после завершения хода или ожидания сеансом действия пользователя. Сеанс, который все еще находится в процессе хода, включая тот, который держит никогда не заканчивающуюся фоновую задачу или одобрение, запрошенное изнутри работающего вызова инструмента, не считается неактивным; объедините с `--kill-session-after-min` как жесткий упор. После завершения фоновой задачи сеанса runner считает сеанс занятым до тех пор, пока не начнется следующий ход, который читает результат, в течение максимум окна [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). До тех пор, пока runner не получит сигнал завершения или не достигнет времени выхода на пенсию, отпуск, который оставляет runner без активных сеансов, запускает тот же путь выхода, что и нормальное осушение, управляемое `--drain-grace-sec`. После первого сигнала, который вы отложили с помощью [`--defer-shutdown-max-min`](/docs/ru/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), runner выходит, как только отпуск оставляет его без сеансов. `0` отключает. |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Отпустите слот сеанса после N минут неактивности после завершения хода или ожидания сеансом действия пользователя. Сеанс, который все еще находится в процессе хода, включая тот, который держит никогда не заканчивающуюся фоновую задачу или одобрение, запрошенное изнутри работающего вызова инструмента, не считается неактивным; объедините с `--kill-session-after-min` как жесткий упор. После завершения фоновой задачи сеанса runner считает сеанс занятым до тех пор, пока не начнется следующий ход, который читает результат, в течение максимум окна [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). До тех пор, пока runner не получит сигнал завершения или не достигнет времени выхода на пенсию, отпуск, который оставляет runner без активных сеансов, запускает тот же путь выхода, что и нормальное осушение, управляемое `--drain-grace-sec`. После первого сигнала, который вы отложили с помощью [`--defer-shutdown-max-min`](/docs/ru/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), runner выходит, как только отпуск оставляет его без сеансов. `0` отключает. |

53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | off | Удалите каталоги сеанса для каждого сеанса под `<base-dir>/_sessions/` когда сеанс заканчивается на этом runner, независимо от результата. [Reuse a pre-warmed checkout](/docs/ru/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout) описывает, что они содержат и кто может их читать, когда они остаются. Удаление является лучшим усилием: каталоги для каждого сеанса остаются на месте, когда runner убивается или достигает крайнего срока осушения перед запуском очистки. С флагом включенным, логи отладки неудачного или прерванного сеанса не сохраняются на диск. Требует Claude Code v2.1.268 или позже. |

51| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | unset | Выведите runner на пенсию в абсолютный временной штамп Unix в секундах для инфраструктуры, которая убивает runner в известное время; [Runner lifecycle](/docs/ru/self-hosted-environments#runner-lifecycle) описывает последовательность отпуска и как определить размер маржи. Значения до 2001 или после года 5138 отклоняются флагом и игнорируются переменной окружения. |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | unset | Выведите runner на пенсию в абсолютный временной штамп Unix в секундах для инфраструктуры, которая убивает runner в известное время; [Runner lifecycle](/docs/ru/self-hosted-environments#runner-lifecycle) описывает последовательность отпуска и как определить размер маржи. Значения до 2001 или после года 5138 отклоняются флагом и игнорируются переменной окружения. |

52| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Как долго ждать чистого выхода процесса Claude после завершения сеанса перед принудительным завершением. Повысьте значение, если собственные hooks `SessionEnd` дочернего процесса нуждаются в большем времени. |55| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Как долго ждать чистого выхода процесса Claude после завершения сеанса перед принудительным завершением. Повысьте значение, если собственные hooks `SessionEnd` дочернего процесса нуждаются в большем времени. |

53| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Отпустите слот сеанса, если дочерний процесс не сигнализировал об инициализации в течение N минут после порождения. Очищается сигналом инициализации дочернего процесса на [канале активности](/docs/ru/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached), а не обычным выводом, после чего `--release-idle-session-min` берет верх. `0` отключает. |56| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Отпустите слот сеанса, если дочерний процесс не сигнализировал об инициализации в течение N минут после порождения. Очищается сигналом инициализации дочернего процесса на [канале активности](/docs/ru/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached), а не обычным выводом, после чего `--release-idle-session-min` берет верх. `0` отключает. |

Details

74 Перед запуском runner74 Перед запуском runner

75</h3>75</h3>

76 76 

77Две вещи, от которых зависит hook:77Hook имеет следующие требования:

78 78 

79* Установите его перед запуском runner. Runner создаёт снимок `~/.claude/` один раз при запуске, поэтому hook, добавленный к работающему runner, вступает в силу только после перезагрузки.79* Установите его перед запуском runner. Runner создаёт снимок `~/.claude/` один раз при запуске, поэтому hook, добавленный к работающему runner, вступает в силу только после перезагрузки.

80* Экспортируйте `E2E_REPLY_DIR` в процесс runner. Hook не выполняет никаких действий, когда переменная не установлена или каталог не существует, поэтому установите её везде, где вы запускаете runner, например в модуле systemd, спецификации pod или шаге CI. Тестовый скрипт ниже также требует её.80* Экспортируйте `E2E_REPLY_DIR` в процесс runner. Hook не выполняет никаких действий, когда переменная не установлена или каталог не существует, поэтому установите её везде, где вы запускаете runner, например в модуле systemd, спецификации pod или шаге CI. Тестовый скрипт ниже также требует её.

Details

33| **Параметры, управляемые сервером** | Организации без MDM или пользователи на неуправляемых устройствах | Параметры, которые Claude Code получает с серверов Anthropic при запуске и обновляет каждый час во время сеанса |33| **Параметры, управляемые сервером** | Организации без MDM или пользователи на неуправляемых устройствах | Параметры, которые Claude Code получает с серверов Anthropic при запуске и обновляет каждый час во время сеанса |

34| **[Параметры, управляемые конечной точкой](/docs/ru/managed-settings#delivery-mechanisms)** | Организации с MDM или управлением конечными точками | Параметры развертываются на устройства через профили конфигурации MDM, политики реестра или управляемые файлы параметров |34| **[Параметры, управляемые конечной точкой](/docs/ru/managed-settings#delivery-mechanisms)** | Организации с MDM или управлением конечными точками | Параметры развертываются на устройства через профили конфигурации MDM, политики реестра или управляемые файлы параметров |

35 35 

36Если ваши устройства зарегистрированы в решении MDM или управления конечными точками, параметры, управляемые конечной точкой, обеспечивают более сильные гарантии безопасности, поскольку файл параметров может быть защищен от изменения пользователем на уровне ОС. Параметры, управляемые конечной точкой, не достигают [облачных сеансов](/docs/ru/model-config#surface-coverage) в размещенных в Anthropic средах, поэтому организации, использующие Claude Code в веб-версии, должны также настроить параметры, управляемые сервером. Сеансы в [самостоятельно размещенной среде](/docs/ru/self-hosted-environments) также читают управляемый файл параметров в образе runner. [Приоритет параметров](#settings-precedence) ниже указывает, когда этот файл применяется.36Если ваши устройства зарегистрированы в решении MDM или управления конечными точками, параметры, управляемые конечной точкой, обеспечивают более сильные гарантии безопасности, поскольку файл параметров может быть защищен от изменения пользователем на уровне ОС. Параметры, управляемые конечной точкой, не достигают [облачных сеансов](/docs/ru/model-config#surface-coverage) в размещенных в Anthropic средах, поэтому организации, разработчики которых запускают облачные сеансы, должны также настроить параметры, управляемые сервером. Сеансы в [самостоятельно размещенной среде](/docs/ru/self-hosted-environments) также читают управляемый файл параметров в образе runner. [Приоритет параметров](#settings-precedence) ниже указывает, когда этот файл применяется.

37 37 

38<h2 id="configure-server-managed-settings">38<h2 id="configure-server-managed-settings">

39 Настройка параметров, управляемых сервером39 Настройка параметров, управляемых сервером


165 165 

166Три вида ключей являются исключениями из правила отсутствия объединения:166Три вида ключей являются исключениями из правила отсутствия объединения:

167 167 

168* **Ключи блокировки между источниками**: небольшой набор ключей, таких как блокировки списка разрешений песочницы, [указанные на странице управляемых параметров](/docs/ru/managed-settings#precedence-within-the-managed-tier). Claude Code соблюдает их, когда любой управляемый администратором источник их устанавливает; уровень реестра HKCU, доступный для записи пользователем, исключен. Когда [`policyHelper`](/docs/ru/settings-reference#policyhelper) предоставляет управляемые параметры, его вывод является единственным источником, который эти проверки читают, за исключением [`forceRemoteSettingsRefresh`](/docs/ru/settings-reference#forceremotesettingsrefresh), который Claude Code читает из источников администратора непосредственно при запуске.168* **Ключи блокировки между источниками**: небольшой набор ключей, таких как блокировки списка разрешений песочницы, [указанные на странице управляемых параметров](/docs/ru/managed-settings#precedence-within-the-managed-tier). Claude Code соблюдает их, когда любой управляемый администратором источник их устанавливает; уровень реестра HKCU, доступный для записи пользователем, исключен.

169 

170 Когда [`policyHelper`](/docs/ru/settings-reference#policyhelper) предоставляет управляемые параметры, его вывод является единственным источником, который эти проверки читают, за исключением [`forceRemoteSettingsRefresh`](/docs/ru/settings-reference#forceremotesettingsrefresh), который Claude Code читает из источников администратора непосредственно при запуске.

169* **Блок `env`**: помимо единицы телеметрии и переменных маршрутизации, связанных с ключом учетных данных, оба рассмотрены ниже, он объединяется для каждого ключа в управляемых источниках, контролируемых администратором. Для каждой переменной окружения источник с наивысшим приоритетом, определяющий ее, побеждает, и источники администратора с более низким приоритетом заполняют переменные, которые источники с более высоким приоритетом оставляют неустановленными. Запись `env`, управляемая конечной точкой, поэтому применяется всякий раз, когда конфигурация, управляемая сервером, оставляет эту переменную неустановленной, или пока кэшированное значение сервера для нее [удерживается в ожидании подтверждения сервером](#fetch-and-caching-behavior). Требуется Claude Code v2.1.223 или более поздняя версия. До v2.1.223 Claude Code применяет только весь блок `env` выбранного источника.171* **Блок `env`**: помимо единицы телеметрии и переменных маршрутизации, связанных с ключом учетных данных, оба рассмотрены ниже, он объединяется для каждого ключа в управляемых источниках, контролируемых администратором. Для каждой переменной окружения источник с наивысшим приоритетом, определяющий ее, побеждает, и источники администратора с более низким приоритетом заполняют переменные, которые источники с более высоким приоритетом оставляют неустановленными. Запись `env`, управляемая конечной точкой, поэтому применяется всякий раз, когда конфигурация, управляемая сервером, оставляет эту переменную неустановленной, или пока кэшированное значение сервера для нее [удерживается в ожидании подтверждения сервером](#fetch-and-caching-behavior). Требуется Claude Code v2.1.223 или более поздняя версия. До v2.1.223 Claude Code применяет только весь блок `env` выбранного источника.

170 * **Единица телеметрии**: ключи экспортера `OTEL_EXPORTER_OTLP_*`, переключатели захвата содержимого `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` и переменные бета-трассировки `ENABLE_BETA_TRACING_DETAILED` и `BETA_TRACING_ENDPOINT` следуют источнику с наивысшим приоритетом, который устанавливает любой из них как единицу. Источник, который доставляет ключ учетных данных `otelHeadersHelper`, также претендует на единицу, но размещает эти переменные только когда он является выбранным источником: источник, который не выбран, но доставляет ключ, не вносит ни один из них и все еще блокирует источники с более низким приоритетом от их заполнения. В любом случае конечная точка экспортера из одного источника никогда не может быть связана с учетными данными из другого.172 * **Единица телеметрии**: ключи экспортера `OTEL_EXPORTER_OTLP_*`, переключатели захвата содержимого `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` и переменные бета-трассировки `ENABLE_BETA_TRACING_DETAILED` и `BETA_TRACING_ENDPOINT` следуют источнику с наивысшим приоритетом, который устанавливает любой из них как единицу. Источник, который доставляет ключ учетных данных `otelHeadersHelper`, также претендует на единицу, но размещает эти переменные только когда он является выбранным источником: источник, который не выбран, но доставляет ключ, не вносит ни один из них и все еще блокирует источники с более низким приоритетом от их заполнения. В любом случае конечная точка экспортера из одного источника никогда не может быть связана с учетными данными из другого.

171 * **Маршрутизация, связанная с учетными данными**: источник, который связывает переменные маршрутизации с ключом учетных данных, применяемым только для выбранного источника, таким как `apiKeyHelper` или `otelHeadersHelper`, вносит эти переменные маршрутизации только когда он выигрывает слот.173 * **Маршрутизация, связанная с учетными данными**: источник, который связывает переменные маршрутизации с ключом учетных данных, применяемым только для выбранного источника, таким как `apiKeyHelper` или `otelHeadersHelper`, вносит эти переменные маршрутизации только когда он выигрывает слот.

settings.md +55 −54

Details

470 470 

471Чтобы изменить параметр для себя в одном проекте без изменения его для товарищей по команде, сохраните его в `.claude/settings.local.json` внутри проекта. Claude Code применяет этот файл поверх зафиксированного `.claude/settings.json`, поэтому если файл вашей команды устанавливает `"model": "claude-sonnet-5"` и вы хотите Opus, поместите `"model": "claude-opus-4-8"` в ваш локальный файл и только ваши сеансы изменятся.471Чтобы изменить параметр для себя в одном проекте без изменения его для товарищей по команде, сохраните его в `.claude/settings.local.json` внутри проекта. Claude Code применяет этот файл поверх зафиксированного `.claude/settings.json`, поэтому если файл вашей команды устанавливает `"model": "claude-sonnet-5"` и вы хотите Opus, поместите `"model": "claude-opus-4-8"` в ваш локальный файл и только ваши сеансы изменятся.

472 472 

473Три вещи, которые нужно знать о локальном файле:473Claude Code также записывает в этот файл, держит его вне ваших коммитов и применяет его правила разрешений без шага доверия:

474 474 

475* **Claude Code также его записывает.** Когда Claude просит разрешение запустить команду Bash и вы выбираете "Да, и больше не спрашивайте", Claude Code сохраняет это [одобрение разрешения](/docs/ru/permissions#permission-system) здесь как правило `allow`.475* **Claude Code также его записывает.** Когда Claude просит разрешение запустить команду Bash и вы выбираете "Да, и больше не спрашивайте", Claude Code сохраняет это [одобрение разрешения](/docs/ru/permissions#permission-system) здесь как правило `allow`.

476* **Вам не нужно его gitignore самостоятельно, если только вы не создали его вручную.** При первом написании файла Claude Code в репозитории git, который его ещё не игнорирует, он добавляет `**/.claude/settings.local.json` в ваш глобальный файл исключений git, поэтому файл остаётся вне ваших коммитов в каждом репозитории. Этот файл — это `core.excludesFile`, когда ваша глобальная конфигурация git устанавливает его на абсолютный путь или путь с префиксом `~`; в противном случае это `$XDG_CONFIG_HOME/git/ignore`, или `~/.config/git/ignore`, когда `XDG_CONFIG_HOME` не установлен. Если вы создали файл вручную и Claude Code ещё не писал в него, добавьте его в `.gitignore` сами.476* **Вам не нужно его gitignore самостоятельно, если только вы не создали его вручную.** При первом написании файла Claude Code в репозитории git, который его ещё не игнорирует, он добавляет `**/.claude/settings.local.json` в ваш глобальный файл исключений git, поэтому файл остаётся вне ваших коммитов в каждом репозитории. Этот файл — это `core.excludesFile`, когда ваша глобальная конфигурация git устанавливает его на абсолютный путь или путь с префиксом `~`; в противном случае это `$XDG_CONFIG_HOME/git/ignore`, или `~/.config/git/ignore`, когда `XDG_CONFIG_HOME` не установлен. Если вы создали файл вручную и Claude Code ещё не писал в него, добавьте его в `.gitignore` сами.


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

654</h2>654</h2>

655 655 

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

657 657 

658<SettingsPrecedence />658<SettingsPrecedence />

659 659 

660По порядку, наивысший приоритет первым:660По порядку, наивысший приоритет первым:

661 661 

6621. **Managed settings**: параметры, которые ваша организация развертывает, файлом `managed-settings.json`, политикой MDM или [параметрами, управляемыми сервером](/docs/ru/server-managed-settings) из консоли claude.ai. Ничто, что вы устанавливаете, их не переопределяет: ключ, который вы передаете с `--settings`, не переопределяет один и тот же управляемый ключ, и флаг, такой как `--model`, выбирает только из моделей, которые ваша организация разрешает. Управляемый `model` устанавливает модель, с которой каждый сеанс начинается, и вы все еще можете переключаться с `/model`; блокировка — это [`availableModels`](/docs/ru/settings-reference#availablemodels), которая ограничивает `/model`, `--model` и ключ `model` в ваших собственных файлах. Когда ваша организация доставляет более одного управляемого источника, правила для [приоритета в пределах управляемого уровня](/docs/ru/managed-settings#precedence-within-the-managed-tier) говорят, что Claude Code читает из каждого.6621. **Управляемые параметры**: параметры, которые ваша организация развертывает через файл `managed-settings.json`, политику MDM или [параметры, управляемые сервером](/docs/ru/server-managed-settings) из консоли claude.ai. Ничто из того, что вы устанавливаете, их не переопределяет: ключ, который вы передаете с `--settings`, не переопределяет тот же управляемый ключ, и флаг, такой как `--model`, выбирает только из моделей, которые разрешает ваша организация. Управляемый `model` устанавливает модель, с которой начинается каждая сессия, и вы все еще можете переключаться с помощью `/model`; блокировка — это [`availableModels`](/docs/ru/settings-reference#availablemodels), которая ограничивает `/model`, `--model` и ключ `model` в ваших собственных файлах. Когда ваша организация предоставляет более одного управляемого источника, правила для [приоритета в пределах управляемого уровня](/docs/ru/managed-settings#precedence-within-the-managed-tier) указывают, что Claude Code читает из каждого.

6632. **Command line arguments**: флаги, которые вы передаете при запуске `claude` из терминала, для одного сеанса; см. [Измените параметр для одного сеанса](#change-a-setting-for-one-session). Claude Code объединяет JSON, который вы передаете с `--settings <file-or-json>`, с вашими файлами параметров по тем же правилам, что и другие уровни: он берет ключ, который вы устанавливаете здесь, над один и тот же ключ в локальных, проектных или пользовательских параметрах, и держит значение нижнего уровня для ключа, который вы опускаете.6632. **Аргументы командной строки**: флаги, которые вы передаете при запуске `claude` из терминала, для одной сессии; см. [Изменить параметр для одной сессии](#change-a-setting-for-one-session). Claude Code объединяет JSON, который вы передаете с `--settings <file-or-json>`, с вашими файлами параметров по тем же правилам, что и другие уровни: он берет ключ, который вы устанавливаете здесь, над тем же ключом в локальных, проектных или пользовательских параметрах, и сохраняет значение более низкого уровня для ключа, который вы опускаете.

6643. **Project local settings** (`.claude/settings.local.json`): ваши личные параметры для этого проекта.6643. **Локальные параметры проекта** (`.claude/settings.local.json`): ваши личные параметры для этого проекта.

6654. **Shared project settings** (`.claude/settings.json`): параметры, которые ваша команда проверяет в системе управления версиями.6654. **Общие параметры проекта** (`.claude/settings.json`): параметры, которые ваша команда проверяет в систему управления версиями.

6665. **User settings** (`~/.claude/settings.json`): ваши личные параметры для каждого проекта.6665. **Пользовательские параметры** (`~/.claude/settings.json`): ваши личные параметры для каждого проекта.

667 667 

668Переменные окружения не являются уровнем в этом стеке. Когда поведение имеет как переменную оболочки, так и ключ параметров, какой применяется, решается для каждой пары, не по уровню: `ANTHROPIC_MODEL`, экспортированная в вашей оболочке, применяется над ключом `model` из любого файла, в то время как `ANTHROPIC_DEFAULT_MODEL` применяется только когда никакой файл не устанавливает `model`. [Справочник переменных окружения](/docs/ru/env-vars#precedence) говорит, какие ключи имеют пару и какой Claude Code читает первым. Блок `env` внутри файла параметров — это обычный ключ и следует уровням выше.668Переменные окружения не являются уровнем в этом стеке. Когда поведение имеет как переменную оболочки, так и ключ параметров, какой из них применяется, решается для каждой пары отдельно, а не по уровню: `ANTHROPIC_MODEL`, экспортированная в вашей оболочке, применяется над ключом `model` из любого файла, в то время как `ANTHROPIC_DEFAULT_MODEL` применяется только когда ни один файл не устанавливает `model`. [Справочник переменных окружения](/docs/ru/env-vars#precedence) указывает, какие ключи имеют пару и какой из них Claude Code читает первым. Блок `env` внутри файла параметров — это обычный ключ и следует уровням выше.

669 669 

670Для нескольких ключей, чувствительных к безопасности, Claude Code чтит более строгое значение из нижнего уровня над управляемым значением; [Исключения из приоритета управляемых параметров](#exceptions-to-managed-settings-precedence) перечисляет их.670Для нескольких ключей, чувствительных к безопасности, Claude Code соблюдает более строгое значение из более низкого уровня над управляемым значением; [Исключения из приоритета управляемых параметров](#exceptions-to-managed-settings-precedence) их перечисляет.

671 671 

672<h3 id="lists-merge-instead-of-overriding">672<h3 id="lists-merge-instead-of-overriding">

673 Списки объединяются вместо переопределения673 Списки объединяются вместо переопределения


676Когда вы устанавливаете один и тот же ключ списка, такой как `permissions.allow`, в более чем одном файле, Claude Code объединяет списки вместо выбора одного, поэтому каждый файл может добавлять записи без удаления записей другого файла. Четыре ключа, которые содержат списки моделей или записи для каждой модели, следуют своим собственным правилам:676Когда вы устанавливаете один и тот же ключ списка, такой как `permissions.allow`, в более чем одном файле, Claude Code объединяет списки вместо выбора одного, поэтому каждый файл может добавлять записи без удаления записей другого файла. Четыре ключа, которые содержат списки моделей или записи для каждой модели, следуют своим собственным правилам:

677 677 

678* [`fallbackModel`](/docs/ru/settings-reference#fallbackmodel) — это упорядоченная цепь, где позиция имеет значение, поэтому Claude Code берет все значение из файла с наивысшим приоритетом, который его определяет.678* [`fallbackModel`](/docs/ru/settings-reference#fallbackmodel) — это упорядоченная цепь, где позиция имеет значение, поэтому Claude Code берет все значение из файла с наивысшим приоритетом, который его определяет.

679* [`modelPicker`](/docs/ru/settings-reference#modelpicker) содержит один упорядоченный список строк плюс флаг замены, поэтому Claude Code никогда не объединяет строки из двух источников. Он берет все значение из наивысшего из управляемых параметров, `--settings` и параметров пользователя, которые его определяют, и игнорирует ключ в параметрах проекта и локальных. Требует Claude Code v2.1.242 или позже.679* [`modelPicker`](/docs/ru/settings-reference#modelpicker) содержит один упорядоченный список строк плюс флаг замены, поэтому Claude Code никогда не объединяет строки из двух источников. Он берет все значение из наивысшего из управляемых параметров, `--settings` и пользовательских параметров, которые его определяют, и игнорирует ключ в проектных и локальных параметрах. Требует Claude Code v2.1.242 или позже.

680* [`availableModels`](/docs/ru/settings-reference#availablemodels): когда управляемые параметры, которые Claude Code применяет, его определяют, Claude Code применяет этот список как есть и игнорирует записи, которые вы добавляете в параметры пользователя, проекта или локальные, если приложение, которое встраивает Claude Code, не предоставляет свой собственный список моделей; см. [Исключения из приоритета управляемых параметров](#exceptions-to-managed-settings-precedence). Через управляемые источники список никогда не объединяется либо; [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) говорит, какой список источника применяется. Через неуправляемые области Claude Code объединяет массивы как обычно.680* [`availableModels`](/docs/ru/settings-reference#availablemodels): когда применяемые управляемые параметры Claude Code его определяют, Claude Code применяет этот список как есть и игнорирует записи, которые вы добавляете в пользовательские, проектные или локальные параметры, если только приложение, которое встраивает Claude Code, не предоставляет свой собственный список моделей; см. [Исключения из приоритета управляемых параметров](#exceptions-to-managed-settings-precedence). Во всех управляемых источниках список также никогда не объединяется; [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) указывает, какой список источника применяется. Во всех неуправляемых областях Claude Code объединяет массивы как обычно.

681* [`modelSettings`](/docs/ru/settings-reference#modelsettings): Claude Code разрешает его одну модель за раз, вместе с [`effortLevel`](/docs/ru/settings-reference#effortlevel). Запись `modelSettings` указывает, какой файл значение применяется к модели.681* [`modelSettings`](/docs/ru/settings-reference#modelsettings): Claude Code разрешает его одну модель за раз, вместе с [`effortLevel`](/docs/ru/settings-reference#effortlevel). Запись `modelSettings` указывает, какое значение файла применяется к модели.

682 682 

683<span id="examples" />683<span id="examples" />

684 684 


686 Примеры приоритета686 Примеры приоритета

687</h3>687</h3>

688 688 

689Пока Claude работает, Claude Code показывает совет в одну строку под спиннером, такой как "Use /config to change your default permission mode (including Plan Mode)". Предположим, вы хотите эти советы отключить, поэтому вы устанавливаете [`spinnerTipsEnabled`](/docs/ru/settings-reference#spinnertipsenabled) на `false` в `~/.claude/settings.json`. Каждый сценарий ниже — это что-то, что может их снова включить, и что вы можете с этим сделать.689Пока Claude работает, Claude Code показывает подсказку в одну строку под спиннером, например "Используйте /config для изменения режима разрешений по умолчанию (включая Plan Mode)". Предположим, вы хотите отключить эти подсказки, поэтому вы устанавливаете [`spinnerTipsEnabled`](/docs/ru/settings-reference#spinnertipsenabled) в `false` в `~/.claude/settings.json`. Каждый сценарий ниже — это что-то, что может их снова включить, и что вы можете с этим сделать.

690 690 

691<h4 id="team-settings-override-personal-settings">691<h4 id="team-settings-override-personal-settings">

692 Параметры команды переопределяют личные параметры692 Параметры команды переопределяют личные параметры

693</h4>693</h4>

694 694 

695Ваша команда `.claude/settings.json` устанавливает это на `true`. Claude Code использует значение проекта, потому что общий проект находится выше пользователя, поэтому вы видите советы в этом проекте и нигде больше.695Параметры `.claude/settings.json` вашей команды устанавливают это в `true`. Claude Code использует значение проекта, потому что общие параметры проекта находятся выше пользовательских, поэтому вы видите подсказки в этом проекте и больше нигде.

696 696 

697Вы можете получить ваше значение обратно: добавьте `"spinnerTipsEnabled": false` в `.claude/settings.local.json` в этом проекте. Локальный проект находится выше общего проекта, поэтому ваши сеансы там перестают показывать советы и сеансы ваших товарищей по команде не изменяются.697Вы можете вернуть свое значение: добавьте `"spinnerTipsEnabled": false` в `.claude/settings.local.json` в этом проекте. Локальные параметры проекта находятся выше общих параметров проекта, поэтому ваши сессии там перестанут показывать подсказки, а сессии ваших товарищей по команде не изменятся.

698 698 

699<h4 id="organization-settings-override-everything">699<h4 id="organization-settings-override-everything">

700 Параметры организации переопределяют все700 Параметры организации переопределяют все

701</h4>701</h4>

702 702 

703Управляемые параметры вашей организации устанавливают это на `true`. Ничто, что вы помещаете в параметры пользователя, проекта или локальные, не отключает советы, и ни `--settings` не отключает. Managed — это наивысший уровень.703Управляемые параметры вашей организации устанавливают это в `true`. Ничто из того, что вы поместите в пользовательские, проектные или локальные параметры, не отключит подсказки, и `--settings` тоже не отключит. Управляемые параметры — это наивысший уровень.

704 704 

705Вы не можете получить ваше значение обратно. Запустите `/status`, чтобы увидеть, какой управляемый источник применяется, и спросите вашего администратора, должна ли политика измениться.705Вы не можете вернуть свое значение. Запустите `/status`, чтобы увидеть, какой управляемый источник применяется, и попросите вашего администратора изменить политику.

706 706 

707<h4 id="the-command-line-overrides-your-files-for-one-session">707<h4 id="the-command-line-overrides-your-files-for-one-session">

708 Командная строка переопределяет ваши файлы для одного сеанса708 Командная строка переопределяет ваши файлы для одной сессии

709</h4>709</h4>

710 710 

711Вы запустили сеанс с `claude --settings '{"spinnerTipsEnabled": true}'`. Командная строка находится выше каждого файла, кроме управляемых, поэтому этот сеанс показывает советы, даже хотя ваши файлы говорят `false`.711Вы запустили сессию с `claude --settings '{"spinnerTipsEnabled": true}'`. Командная строка находится выше каждого файла, кроме управляемых, поэтому эта сессия показывает подсказки, даже если ваши файлы говорят `false`.

712 712 

713Вы получаете ваше значение обратно на следующем сеансе; `--settings` длится один сеанс и не записывает в какой-либо файл.713Вы получите свое значение обратно в следующей сессии; `--settings` длится одну сессию и не записывает в какой-либо файл.

714 714 

715<h4 id="a-flag-or-environment-variable-sets-the-same-thing">715<h4 id="a-flag-or-environment-variable-sets-the-same-thing">

716 Флаг или переменная окружения устанавливает то же самое716 Флаг или переменная окружения устанавливает то же самое

717</h4>717</h4>

718 718 

719Некоторые ключи имеют флаг командной строки или переменную окружения, которая переопределяет значение параметров независимо от того, какой файл его установил: `ANTHROPIC_MODEL` переопределяет параметр [`model`](/docs/ru/settings-reference#model), и `--model` переопределяет оба для сеанса.719Некоторые ключи имеют флаг командной строки или переменную окружения, которая переопределяет значение параметров независимо от того, какой файл его установил: `ANTHROPIC_MODEL` переопределяет параметр [`model`](/docs/ru/settings-reference#model), а `--model` переопределяет оба для сессии.

720 720 

721Можете ли вы получить ваше значение обратно, зависит от ключа: отмените переменную или отбросьте флаг, и проверьте запись ключа на [справочнике параметров](/docs/ru/settings-reference) и строку переменной на [справочнике переменных окружения](/docs/ru/env-vars) для того, какой Claude Code использует.721Можете ли вы вернуть свое значение, зависит от ключа: отмените переменную или удалите флаг, и проверьте запись ключа на [справочнике параметров](/docs/ru/settings-reference) и строку переменной на [справочнике переменных окружения](/docs/ru/env-vars), чтобы узнать, какой из них использует Claude Code.

722 722 

723<span id="keys-ignored-in-a-repository-file" />723<span id="keys-ignored-in-a-repository-file" />

724 724 


729<span id="which-value-applies-in-common-situations" />729<span id="which-value-applies-in-common-situations" />

730 730 

731<h3 id="troubleshoot-a-setting-that-doesn’t-apply">731<h3 id="troubleshoot-a-setting-that-doesn’t-apply">

732 Устранение неполадок параметра, который не применяется732 Устранение неполадок с параметром, который не применяется

733</h3>733</h3>

734 734 

735Когда вы устанавливаете ключ и Claude Code не ведет себя так, как если бы вы это сделали, начните с `/status`, чтобы увидеть, какие файлы он загрузил, затем найдите ваш симптом ниже. [Отладьте вашу конфигурацию](/docs/ru/debug-your-config) охватывает более широкие проверки, включая тест чистой конфигурации.735Когда вы устанавливаете ключ и Claude Code не ведет себя так, как если бы вы это сделали, начните с `/status`, чтобы увидеть, какие файлы он загрузил, затем найдите ваш симптом ниже. [Отладка вашей конфигурации](/docs/ru/debug-your-config) охватывает более широкие проверки, включая тест чистой конфигурации.

736 736 

737<h4 id="a-value-you-set-is-ignored">737<h4 id="a-value-you-set-is-ignored">

738 Значение, которое вы установили, игнорируется738 Значение, которое вы установили, игнорируется

739</h4>739</h4>

740 740 

741Что-то еще устанавливает один и тот же ключ, файл не может установить это значение, или файл не загружен:741Что-то еще устанавливает тот же ключ, файл не может установить это значение, или файл не загрузился:

742 742 

743* **Более высокий уровень его устанавливает.** Другой файл параметров, флаг `--settings` или управляемый источник устанавливает ключ выше вашего; [стек](#settings-precedence) говорит, какой. Флаг или переменная окружения также может переопределить ключ самостоятельно, решено ключ за ключом; запись ключа на [справочнике параметров](/docs/ru/settings-reference) говорит, какой Claude Code использует, и запись [`env`](/docs/ru/settings-reference#env) охватывает управляемое значение `env` против экспорта оболочки.743* **Более высокий уровень его устанавливает.** Другой файл параметров, флаг `--settings` или управляемый источник устанавливает ключ выше вашего; [стек](#settings-precedence) указывает, какой. Флаг или переменная окружения также может переопределить ключ самостоятельно, решаемый ключ за ключом; запись ключа на [справочнике параметров](/docs/ru/settings-reference) указывает, какой из них использует Claude Code, и [запись `env`](/docs/ru/settings-reference#env) охватывает управляемое значение `env` в сравнении с экспортом оболочки.

744* **Ключ безопасности держит его строгое значение.** Для нескольких ключей Claude Code чтит ограничивающее значение из любого файла, поэтому проект `true` для [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) остается включенным; см. [Исключения из приоритета управляемых параметров](#exceptions-to-managed-settings-precedence).744* **Ключ безопасности сохраняет свое строгое значение.** Для нескольких ключей Claude Code соблюдает ограничивающее значение из любого файла, поэтому проектный `true` для [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) остается включенным; см. [Исключения из приоритета управляемых параметров](#exceptions-to-managed-settings-precedence).

745* **Файл не может установить это значение.** Значения [`permissions.defaultMode`](/docs/ru/settings-reference#permissions-defaultmode) `auto` и `bypassPermissions` не вступают в силу из параметров проекта или локальных; установите их в параметры пользователя или управляемые вместо этого, или передайте `--permission-mode` для одного сеанса. До v2.1.257 `bypassPermissions` вступал в силу из любого файла.745* **Файл не может установить это значение.** Значения [`permissions.defaultMode`](/docs/ru/settings-reference#permissions-defaultmode) `auto` и `bypassPermissions` не вступают в силу из проектных или локальных параметров; установите их в пользовательские или управляемые параметры вместо этого, или передайте `--permission-mode` для одной сессии. До v2.1.257 `bypassPermissions` вступал в силу из любого файла.

746* **Файл сломан.** Недействительный JSON или отклоненное значение заставляет Claude Code пропустить файл или запись; см. [Исправьте сломанный файл параметров](#fix-a-broken-settings-file).746* **Файл сломан.** Неверный JSON или отклоненное значение заставляет Claude Code пропустить файл или запись; см. [Исправить сломанный файл параметров](#fix-a-broken-settings-file).

747 747 

748<h4 id="a-change-you-made-in-claude-code-is-lost-in-new-sessions">748<h4 id="a-change-you-made-in-claude-code-is-lost-in-new-sessions">

749 Изменение, которое вы сделали в Claude Code, потеряно в новых сеансах749 Изменение, которое вы сделали в Claude Code, теряется в новых сессиях

750</h4>750</h4>

751 751 

752Когда вы сохраняете выбор для новых сеансов из Claude Code, такой как модель по умолчанию с `/model`, Claude Code записывает его в ваш файл параметров пользователя, `~/.claude/settings.json`. Если вы не можете писать в этот файл, например потому что другой инструмент его генерирует или связывает его с копией только для чтения, изменение применяется к текущему сеансу и исчезает в следующем. Установите ключ в инструмент, который генерирует файл, или замените файл на тот, в который вы можете писать.752Когда вы сохраняете выбор для новых сессий из Claude Code, например модель по умолчанию с `/model`, Claude Code записывает это в ваш файл пользовательских параметров, `~/.claude/settings.json`. Если вы не можете писать в этот файл, например потому что другой инструмент его генерирует или связывает его с копией только для чтения, изменение применяется к текущей сессии и исчезает в следующей. Установите ключ в инструменте, который генерирует файл, или замените файл на тот, в который вы можете писать.

753 753 

754Если вы можете писать в файл и изменение все еще не длится, проверьте, было ли изменение [только для одного сеанса](#change-a-setting-for-one-session) или [более высокий уровень устанавливает один и тот же ключ](#a-value-you-set-is-ignored). Для ключа `model`, [Новый сеанс начинается на другой модели, чем вы выбрали](/docs/ru/model-config#a-new-session-starts-on-a-different-model-than-you-picked) перечисляет больше причин.754Если вы можете писать в файл и изменение все еще не сохраняется, проверьте, было ли изменение [только для одной сессии](#change-a-setting-for-one-session) или [более высокий уровень устанавливает тот же ключ](#a-value-you-set-is-ignored). Для ключа `model` [Новая сессия начинается с другой модели, чем вы выбрали](/docs/ru/model-config#a-new-session-starts-on-a-different-model-than-you-picked) перечисляет больше причин.

755 755 

756<h4 id="a-managed-change-hasn’t-reached-you">756<h4 id="a-managed-change-hasn’t-reached-you">

757 Управляемое изменение не достигло вас757 Управляемое изменение не достигло вас

758</h4>758</h4>

759 759 

760Управляемые источники достигают работающего сеанса по расписанию в [таблице доставки](/docs/ru/managed-settings#choose-a-delivery-mechanism), поэтому сначала перезагрузите сеанс. Если `/status` затем называет другой источник, чем тот, который ваш администратор изменил, применяется более высокий приоритет источника; [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) дает порядок.760Управляемые источники достигают работающей сессии по расписанию в [таблице доставки](/docs/ru/managed-settings#choose-a-delivery-mechanism), поэтому сначала перезагрузите сессию. Если `/status` затем называет другой источник, чем тот, который изменил ваш администратор, применяется источник с более высоким приоритетом; [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) дает порядок.

761 761 

762<h4 id="a-committed-key-doesn’t-reach-teammates">762<h4 id="a-committed-key-doesn’t-reach-teammates">

763 Зафиксированный ключ не достигает товарищей по команде763 Зафиксированный ключ не достигает товарищей по команде

764</h4>764</h4>

765 765 

766Две вещи держат ключ в `.claude/settings.json` от применения для всех, кто его клонирует:766Две вещи не позволяют ключу в `.claude/settings.json` применяться для всех, кто его клонирует:

767 767 

768* **Claude Code игнорирует ключ в файле репозитория.** Ищите `User, local, or managed`, `User or managed`, `Managed` или `Global config` в столбце Scope [индекса параметров](/docs/ru/settings-reference#settings-index); эти ключи никогда не применяются из общего файла, кроме [`autoContinueAtUsageLimit`](/docs/ru/settings-reference#autocontinueatusagelimit), который файл репозитория все еще может отключить: пока файл устанавливает ключ и никакое пользовательское значение, `--settings` или управляемое значение не делает, Claude Code читает параметр как отключенный. Ключи `Global config` применяются только из `~/.claude.json`.768* **Claude Code игнорирует ключ в файле репозитория.** Ищите `User, local, or managed`, `User or managed`, `Managed` или `Global config` в столбце Scope [индекса параметров](/docs/ru/settings-reference#settings-index). Эти ключи никогда не применяются из общего файла, кроме нескольких, которые файл репозитория все еще может отключить. Каждая из этих записей говорит об этом на строке Scope. Ключи `Global config` применяются только из `~/.claude.json`.

769* **Ключ ждет доверия.** Правила `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces` и большинство значений [`env`](/docs/ru/settings-reference#env) применяются только после того, как каждый товарищ по команде [доверит папке](/docs/ru/permissions#project-allow-rules-and-workspace-trust). До этого они все еще видят подсказки и не получают plugins из marketplace, который файл объявляет. Правила `deny` и `ask` применяются сразу же.769* **Ключ ждет доверия.** Правила `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces` и большинство значений [`env`](/docs/ru/settings-reference#env) применяются только после того, как каждый товарищ по команде [доверяет папке](/docs/ru/permissions#project-allow-rules-and-workspace-trust). До этого они все еще видят подсказки и не получают плагины с маркетплейса, который объявляет файл. Правила `deny` и `ask` применяются сразу же.

770 770 

771<h4 id="permission-rules-combine-differently-than-you-expected">771<h4 id="permission-rules-combine-differently-than-you-expected">

772 Правила разрешений объединяются иначе, чем вы ожидали772 Правила разрешений объединяются иначе, чем вы ожидали

773</h4>773</h4>

774 774 

775* **Вы выбрали "Да, и больше не спрашивай" на подсказке разрешения, но все еще получаете подсказку для одного и того же инструмента.** Этот выбор сохранил правило `allow` в ваш локальный файл, и правило `allow` там не превосходит правило `ask` из файла проекта или управляемого; [как правила разрешений объединяются](/docs/ru/permissions#settings-precedence) объясняет порядок. В расширении VS Code карточка одобрения позволяет вам выбрать файл назначения, включая общий файл проекта, который изменяет правило для всех; в CLI Claude Code записывает только в ваш локальный файл.775* **Вы выбрали "Да, и больше не спрашивайте" в подсказке разрешения, но все еще получаете подсказку для того же инструмента.** Этот выбор сохранил правило `allow` в ваш локальный файл, и правило `allow` там не превосходит правило `ask` из проектного или управляемого файла; [как правила разрешений объединяются](/docs/ru/permissions#settings-precedence) объясняет порядок. В расширении VS Code карточка одобрения позволяет вам выбрать файл назначения, включая общий файл проекта, что изменяет правило для всех; в CLI Claude Code пишет только в ваш локальный файл.

776* **Правила allow вашей организации все еще применяются рядом с вашими.** Это ожидается: Claude Code объединяет [`permissions.allow`](/docs/ru/settings-reference#permissions-allow) через области, если только ваша организация не устанавливает [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly).776* **Правила разрешения вашей организации все еще применяются наряду с вашими.** Это ожидаемо: Claude Code объединяет [`permissions.allow`](/docs/ru/settings-reference#permissions-allow) во всех областях, если только ваша организация не устанавливает [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly).

777 777 

778<span id="security-keys-where-the-stricter-value-applies" />778<span id="security-keys-where-the-stricter-value-applies" />

779 779 


781 Исключения из приоритета управляемых параметров781 Исключения из приоритета управляемых параметров

782</h3>782</h3>

783 783 

784Для нескольких ключей, чьи значения ограничивают сеанс, Claude Code чтит ограничивающее значение из области, которая в противном случае не могла бы переопределить управляемые параметры. Найдите ключ в этой таблице, чтобы увидеть, какое значение он чтит и откуда.784Для нескольких ключей, значения которых ограничивают сессию, Claude Code соблюдает ограничивающее значение из области, которая в противном случае не могла бы переопределить управляемые параметры. Найдите ключ в этой таблице, чтобы увидеть, какое значение он соблюдает и откуда.

785 785 

786| Ключ | Значение, которое Claude Code чтит | Примечания |786| Ключ | Значение, которое соблюдает Claude Code | Примечания |

787| :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |787| :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

788| [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) | `true` из любой области | Чтится даже когда управляемый источник устанавливает `false` |788| [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) | `true` из любой области | Соблюдается даже когда управляемый источник устанавливает `false` |

789| [`enableArtifact`](/docs/ru/settings-reference#enableartifact) | `false` из любой области и `disableArtifact: true` из любой области | Чтится даже когда управляемый источник устанавливает `true`; ничто не включает [инструмент Artifact](/docs/ru/artifacts#disable-artifacts) обратно. Требует Claude Code v2.1.242 или позже |789| [`enableArtifact`](/docs/ru/settings-reference#enableartifact) | `false` из любой области и `disableArtifact: true` из любой области | Соблюдается даже когда управляемый источник устанавливает `true`; ничто не включает [инструмент Artifact](/docs/ru/artifacts#disable-artifacts) обратно. Требует Claude Code v2.1.242 или позже |

790| [`isolatePeerMachines`](/docs/ru/settings-reference#isolatepeermachines) | `true` из любой области | Чтится даже когда управляемый источник устанавливает `false` |790| [`isolatePeerMachines`](/docs/ru/settings-reference#isolatepeermachines) | `true` из любой области | Соблюдается даже когда управляемый источник устанавливает `false` |

791| [`remoteControlAtStartup`](/docs/ru/settings-reference#remotecontrolatstartup) | `false` из `.claude/settings.json` или `.claude/settings.local.json` | Чтится даже когда управляемый источник устанавливает `true`; проект или локальный `true` игнорируется |791| [`remoteControlAtStartup`](/docs/ru/settings-reference#remotecontrolatstartup) | `false` из `.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда управляемый источник устанавливает `true`; проектный или локальный `true` игнорируется |

792| [`crossSessionInbound`](/docs/ru/settings-reference#crosssessioninbound) | Более строгое значение из `.claude/settings.json` или `.claude/settings.local.json`, на лестнице `accept` \< `hold` \< `refuse` | Чтится над управляемыми, `--settings` и пользовательскими значениями; проект или локальное значение, которое не более строгое, игнорируется |792| [`crossSessionInbound`](/docs/ru/settings-reference#crosssessioninbound) | Более строгое значение из `.claude/settings.json` или `.claude/settings.local.json`, на лестнице `accept` \< `hold` \< `refuse` | Соблюдается над управляемыми, `--settings` и пользовательскими значениями; проектное или локальное значение, которое не является более строгим, игнорируется |

793| [`useAutoModeDuringPlan`](/docs/ru/settings-reference#useautomodeduringplan) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Чтится даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |793| [`useAutoModeDuringPlan`](/docs/ru/settings-reference#useautomodeduringplan) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |

794| [`syncClaudeAiSkills`](/docs/ru/settings-reference#syncclaudeaiskills) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Чтится даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |794| [`syncClaudeAiSkills`](/docs/ru/settings-reference#syncclaudeaiskills) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |

795| [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) | Более низкий лимит из любой области, включая `--settings` | Чтится даже когда управляемые параметры, которые Claude Code применяет, устанавливают более высокий лимит; применяется самый низкий лимит. Требует Claude Code v2.1.267 или позже |795| [`syncClaudeAiPlugins`](/docs/ru/settings-reference#syncclaudeaiplugins) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |

796| [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) | Более низкий предел из любой области, включая `--settings` | Соблюдается даже когда применяемые управляемые параметры Claude Code устанавливают более высокий предел; применяется самый низкий предел. Требует Claude Code v2.1.267 или позже |

796 797 

797Приложение, которое запускает Claude Code внутри себя и устанавливает [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ru/env-vars), также является исключением. Claude Code берет конфигурацию модели этого приложения над ключами `model`, `fallbackModel`, `modelPicker` и `modelOverrides` из каждого управляемого источника, и над переменными выбора модели в управляемом блоке `env`, такими как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code держит управляемый [`availableModels`](/docs/ru/settings-reference#availablemodels) список разрешений в силе, если только приложение не предоставляет свой собственный.798Приложение, которое запускает Claude Code внутри себя и устанавливает [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ru/env-vars), также является исключением. Claude Code берет конфигурацию модели этого приложения над ключами `model`, `fallbackModel`, `modelPicker` и `modelOverrides` из каждого управляемого источника, и над переменными выбора модели в управляемом блоке `env`, такими как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code сохраняет управляемый список разрешений [`availableModels`](/docs/ru/settings-reference#availablemodels) в силе, если только приложение не предоставляет свой собственный.

798 799 

799<h2 id="settings-in-cloud-sessions">800<h2 id="settings-in-cloud-sessions">

800 Параметры в облачных сеансах801 Параметры в облачных сеансах

801</h2>802</h2>

802 803 

803Облачный сеанс, на [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) или из [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-web), работает в [облачной среде](/docs/ru/cloud-environments) на свежем клоне вашего репозитория, не на вашей машине. Это изменяет, какие параметры его достигают:804[Облачный сеанс](/docs/ru/claude-code-on-the-web) работает в [облачной среде](/docs/ru/cloud-environments) на свежем клоне вашего репозитория, не на вашей машине. Это изменяет, какие параметры его достигают:

804 805 

805* **Общие параметры проекта** (`.claude/settings.json`): читаются, потому что файл является частью клона. Зафиксируйте параметр там, чтобы применить его в облачных сеансах.806* **Общие параметры проекта** (`.claude/settings.json`): читаются в сеансе с одним репозиторием, потому что файл является частью клона и сеанс начинается внутри него. Зафиксируйте параметр там, чтобы применить его в этих сеансах. Сеанс с несколькими репозиториями начинается выше клонов, поэтому из файла `.claude/settings.json` каждого репозитория он загружает только плагины и маркетплейсы, которые файл объявляет, но не правила разрешений, hooks, `env` или другие ключи; см. [Что переносится из вашей установки](/docs/ru/cloud-environments#what-carries-over-from-your-setup).

806* **Параметры пользователя и локальные параметры проекта** (`~/.claude/settings.json` и `.claude/settings.local.json`): не читаются. Оба остаются на вашей машине, и локальный файл не находится в клоне.807* **Параметры пользователя и локальные параметры проекта** (`~/.claude/settings.json` и `.claude/settings.local.json`): не читаются. Оба остаются на вашей машине, и локальный файл не находится в клоне.

807* **Managed settings**: только [параметры, управляемые сервером](/docs/ru/server-managed-settings), достигают облачного сеанса; файл `managed-settings.json` или профиль MDM на вашем устройстве не достигают. [Самостоятельно размещенная среда](/docs/ru/self-hosted-environments) также читает файл управляемых параметров в образе своего runner. [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) говорит, когда этот файл применяется.808* **Managed settings**: только [параметры, управляемые сервером](/docs/ru/server-managed-settings) достигают облачного сеанса; файл `managed-settings.json` или профиль MDM на вашем устройстве не достигают. [Самостоятельно размещенная среда](/docs/ru/self-hosted-environments) также читает файл управляемых параметров в образе своего runner. [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) говорит, когда этот файл применяется.

808* **`/config`**: в веб-версии открывает раздел Claude Code ваших параметров claude.ai вместо изменения значения. Чтобы изменить параметр для облачного сеанса, установите [переменную окружения](/docs/ru/cloud-environments#set-environment-variables) в среде или зафиксируйте ключ в `.claude/settings.json` репозитория.809* **`/config`**: в вашем браузере на claude.ai/code открывает раздел Claude Code ваших параметров claude.ai вместо изменения значения. Чтобы изменить параметр для облачного сеанса, установите [переменную окружения](/docs/ru/cloud-environments#set-environment-variables) в среде или в сеансе с одним репозиторием зафиксируйте ключ в файле `.claude/settings.json` этого репозитория.

809 810 

810[Что переносится из вашей установки](/docs/ru/cloud-environments#what-carries-over-from-your-setup) перечисляет остальное: `CLAUDE.md`, skills, MCP servers, plugins и учетные данные.811[Что переносится из вашей установки](/docs/ru/cloud-environments#what-carries-over-from-your-setup) перечисляет остальное: `CLAUDE.md`, skills, MCP servers, plugins и учетные данные.

811 812 

Details

96 96 

97Общие параметры одной команды, зафиксированные в репозитории, чтобы каждый, кто его клонирует, получал одинаковые разрешения, hooks, телеметрию и marketplace плагинов. Сохраните файл, подобный этому, в `.claude/settings.json` в верхней части репозитория. Что нужно знать перед его фиксацией:97Общие параметры одной команды, зафиксированные в репозитории, чтобы каждый, кто его клонирует, получал одинаковые разрешения, hooks, телеметрию и marketplace плагинов. Сохраните файл, подобный этому, в `.claude/settings.json` в верхней части репозитория. Что нужно знать перед его фиксацией:

98 98 

99* **Облачные сеансы также его читают.** [Облачный сеанс](/docs/ru/settings#settings-in-cloud-sessions) на Claude Code в веб-версии начинается с клона репозитория, поэтому зафиксированный файл применяется и там.99* **Облачные сеансы также его читают.** [Облачный сеанс](/docs/ru/settings#settings-in-cloud-sessions) начинается с клона репозитория, поэтому зафиксированный файл применяется и там.

100* **Правила Allow ждут доверия.** Правила Allow и записи `extraKnownMarketplaces` вступают в силу после того, как каждый человек [доверит этой папке](/docs/ru/permissions#project-allow-rules-and-workspace-trust), а не только родительской папке; правила deny и ask применяются в каждом сеансе, доверенном или нет.100* **Правила Allow ждут доверия.** Правила Allow и записи `extraKnownMarketplaces` вступают в силу после того, как каждый человек [доверит этой папке](/docs/ru/permissions#project-allow-rules-and-workspace-trust), а не только родительской папке; правила deny и ask применяются в каждом сеансе, доверенном или нет.

101* **Hook — это скрипт в репозитории.** Hook этого файла запускает `.claude/hooks/block-rm.sh`; [How a hook resolves](/docs/ru/hooks#how-a-hook-resolves) описывает, как его написать.101* **Hook — это скрипт в репозитории.** Hook этого файла запускает `.claude/hooks/block-rm.sh`; [How a hook resolves](/docs/ru/hooks#how-a-hook-resolves) описывает, как его написать.

102* **Правила соответствуют команде и пути в том виде, в котором они написаны.** `Bash(git push *)` не соответствует [`git -C . push`](/docs/ru/permissions#bash-rule-limits). `Read(./.env)` само по себе останавливает инструменты файлов и команды, которые называют файл, такие как `cat .env`, но не [`grep -r`, запущенный по каталогу](/docs/ru/permissions#read-and-edit); блок `sandbox` в этом файле закрывает этот пробел, потому что sandbox [добавляет ваши пути `Read` deny](/docs/ru/settings-reference#sandbox-filesystem-denyread) к тому, что не может читать каждая команда в sandbox.102* **Правила соответствуют команде и пути в том виде, в котором они написаны.** `Bash(git push *)` не соответствует [`git -C . push`](/docs/ru/permissions#bash-rule-limits). `Read(./.env)` само по себе останавливает инструменты файлов и команды, которые называют файл, такие как `cat .env`, но не [`grep -r`, запущенный по каталогу](/docs/ru/permissions#read-and-edit); блок `sandbox` в этом файле закрывает этот пробел, потому что sandbox [добавляет ваши пути `Read` deny](/docs/ru/settings-reference#sandbox-filesystem-denyread) к тому, что не может читать каждая команда в sandbox.

Details

624| [`awsAuthRefresh`](#awsauthrefresh) | Обновляйте истёкшие [учётные данные Bedrock](/docs/ru/amazon-bedrock#advanced-credential-configuration) в `.aws` с помощью вашей собственной команды | Authentication and providers | Any file |624| [`awsAuthRefresh`](#awsauthrefresh) | Обновляйте истёкшие [учётные данные Bedrock](/docs/ru/amazon-bedrock#advanced-credential-configuration) в `.aws` с помощью вашей собственной команды | Authentication and providers | Any file |

625| [`awsCredentialExport`](#awscredentialexport) | Предоставляйте [учётные данные Bedrock](/docs/ru/amazon-bedrock#advanced-credential-configuration) как JSON из вашей собственной команды | Authentication and providers | Any file |625| [`awsCredentialExport`](#awscredentialexport) | Предоставляйте [учётные данные Bedrock](/docs/ru/amazon-bedrock#advanced-credential-configuration) как JSON из вашей собственной команды | Authentication and providers | Any file |

626| [`axScreenReader`](#axscreenreader) | Отображайте [вывод, удобный для программ чтения с экрана](/docs/ru/accessibility) | Interface and terminal | Any file |626| [`axScreenReader`](#axscreenreader) | Отображайте [вывод, удобный для программ чтения с экрана](/docs/ru/accessibility) | Interface and terminal | Any file |

627| [`bashEditDiffEnabled`](#basheditdiffenabled) | Записывайте [файлы, которые изменила команда Bash](/docs/ru/hooks#bash) в каждом режиме разрешений | Interface and terminal | User or managed |

627| [`bashOutputMaxChars`](#bashoutputmaxchars) | Установите, сколько [вывода](/docs/ru/tools-reference#output-limits) успешной команды Claude получает встроенным образом | Memory and context | Any file |628| [`bashOutputMaxChars`](#bashoutputmaxchars) | Установите, сколько [вывода](/docs/ru/tools-reference#output-limits) успешной команды Claude получает встроенным образом | Memory and context | Any file |

628| [`blockedMarketplaces`](#blockedmarketplaces) | Блокируйте источники [маркетплейса плагинов](/docs/ru/plugin-marketplaces) для вашей организации | Plugins and skills | Managed |629| [`blockedMarketplaces`](#blockedmarketplaces) | Блокируйте источники [маркетплейса плагинов](/docs/ru/plugin-marketplaces) для вашей организации | Plugins and skills | Managed |

629| [`browserExternalPageTools`](#browserexternalpagetools) | Отключите инструменты Claude на внешних страницах в [панели Browser](/docs/ru/desktop) рабочего стола | Tools | Managed |630| [`browserExternalPageTools`](#browserexternalpagetools) | Отключите инструменты Claude на внешних страницах в [панели Browser](/docs/ru/desktop) рабочего стола | Tools | Managed |


679| [`forceLoginMethod`](#forceloginmethod) | [Ограничьте вход](/docs/ru/authentication#restrict-login-to-your-organization) на claude.ai, Claude Console или [облачный шлюз](/docs/ru/claude-apps-gateway) | Authentication and providers | Any file |680| [`forceLoginMethod`](#forceloginmethod) | [Ограничьте вход](/docs/ru/authentication#restrict-login-to-your-organization) на claude.ai, Claude Console или [облачный шлюз](/docs/ru/claude-apps-gateway) | Authentication and providers | Any file |

680| [`forceLoginOrgUUID`](#forceloginorguuid) | [Привяжите входы claude.ai к вашей организации](/docs/ru/authentication#restrict-login-to-your-organization); только управляемый источник это обеспечивает | Authentication and providers | Any file |681| [`forceLoginOrgUUID`](#forceloginorguuid) | [Привяжите входы claude.ai к вашей организации](/docs/ru/authentication#restrict-login-to-your-organization); только управляемый источник это обеспечивает | Authentication and providers | Any file |

681| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Блокируйте запуск до [свежей загрузки параметров, управляемых сервером](/docs/ru/server-managed-settings) | Enterprise and managed settings | Managed |682| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Блокируйте запуск до [свежей загрузки параметров, управляемых сервером](/docs/ru/server-managed-settings) | Enterprise and managed settings | Managed |

683| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Позвольте `/login` достичь [облачного шлюза](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) на общедоступном пространстве IPv4, которое ваша организация использует внутри | Authentication and providers | Managed |

682| [`gcpAuthRefresh`](#gcpauthrefresh) | Обновляйте [учётные данные Google Cloud](/docs/ru/google-vertex-ai#advanced-credential-configuration) с помощью вашей собственной команды | Authentication and providers | Any file |684| [`gcpAuthRefresh`](#gcpauthrefresh) | Обновляйте [учётные данные Google Cloud](/docs/ru/google-vertex-ai#advanced-credential-configuration) с помощью вашей собственной команды | Authentication and providers | Any file |

683| [`hooks`](#hooks) | Запускайте свои собственные команды как [hooks](/docs/ru/hooks) в точках жизненного цикла Claude Code | Hooks and automation | Any file |685| [`hooks`](#hooks) | Запускайте свои собственные команды как [hooks](/docs/ru/hooks) в точках жизненного цикла Claude Code | Hooks and automation | Any file |

684| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Ограничьте, какие переменные окружения [HTTP hooks](/docs/ru/hooks) могут помещать в заголовки | Hooks and automation | Any file |686| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Ограничьте, какие переменные окружения [HTTP hooks](/docs/ru/hooks) могут помещать в заголовки | Hooks and automation | Any file |


792| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Выберите [время жизни кэша подсказки](/docs/ru/prompt-caching#cache-lifetime) для подагентов и других запросов вне основного разговора | Model and responses | Any file |794| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Выберите [время жизни кэша подсказки](/docs/ru/prompt-caching#cache-lifetime) для подагентов и других запросов вне основного разговора | Model and responses | Any file |

793| [`subagentStatusLine`](#subagentstatusline) | Переписывайте строки в [отображении задач подагента](/docs/ru/sub-agents) с помощью вашей собственной команды | Interface and terminal | Any file |795| [`subagentStatusLine`](#subagentstatusline) | Переписывайте строки в [отображении задач подагента](/docs/ru/sub-agents) с помощью вашей собственной команды | Interface and terminal | Any file |

794| [`switchModelsOnFlag`](#switchmodelsonflag) | Автоматически переключайте модели или приостанавливайте, когда [классификатор безопасности](/docs/ru/model-config#ask-before-switching) помечает запрос | Model and responses | Any file |796| [`switchModelsOnFlag`](#switchmodelsonflag) | Автоматически переключайте модели или приостанавливайте, когда [классификатор безопасности](/docs/ru/model-config#ask-before-switching) помечает запрос | Model and responses | Any file |

797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Остановите загрузку [плагинов, включённых в вашу учётную запись claude.ai](/docs/ru/plugins-reference#synced-plugins) и скройте уже синхронизированные | Plugins and skills | User, local, or managed |

795| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Остановите загрузку [навыков, включённых в вашу учётную запись claude.ai](/docs/ru/skills#how-synced-skills-behave) и скройте уже синхронизированные | Plugins and skills | User, local, or managed |798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Остановите загрузку [навыков, включённых в вашу учётную запись claude.ai](/docs/ru/skills#how-synced-skills-behave) и скройте уже синхронизированные | Plugins and skills | User, local, or managed |

796| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Отключите выделение синтаксиса в дифах и блоках кода | Interface and terminal | Any file |799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Отключите выделение синтаксиса в дифах и блоках кода | Interface and terminal | Any file |

797| [`taskOutputMaxChars`](#taskoutputmaxchars) | Установите, сколько [вывода фоновой задачи](/docs/ru/tools-reference#background-commands) Claude получает встроенным образом | Memory and context | Any file |800| [`taskOutputMaxChars`](#taskoutputmaxchars) | Установите, сколько [вывода фоновой задачи](/docs/ru/tools-reference#background-commands) Claude получает встроенным образом | Memory and context | Any file |


1152* **Тип**: объект с необязательным `multiplier` и необязательной картой `overrides`1155* **Тип**: объект с необязательным `multiplier` и необязательной картой `overrides`

1153* **По умолчанию**: не установлено, поэтому Claude Code сообщает цену списка, если приложение-хост не поставляет таблицу1156* **По умолчанию**: не установлено, поэтому Claude Code сообщает цену списка, если приложение-хост не поставляет таблицу

1154 1157 

1155Этот пример устанавливает согласованные ставки для Sonnet 4.6 и затем снижает каждую цифру, включая строку Sonnet, на 15%. Установите `multiplier` один для плоской скидки, `overrides` один для ставок для каждой модели или оба:1158Установите `multiplier` один для плоской скидки или надбавки, `overrides` один для ставок для каждой модели или оба.

1159 

1160Этот пример устанавливает согласованные ставки для Sonnet 4.6 и затем снижает каждую цифру, включая строку Sonnet, на 15%:

1156 1161 

1157```json managed-settings.json theme={null}1162```json managed-settings.json theme={null}

1158{1163{


1170}1175}

1171```1176```

1172 1177 

1178Установите `multiplier` выше 1, до 10, чтобы отметить каждую цифру. Надбавка требует Claude Code версии 2.1.271 или позже. Более ранние версии игнорируют `multiplier` выше 1 с предупреждением и сохраняют остальную часть параметра.

1179 

1173Для шагов, включая как подтвердить, что ставки действуют, см. [Сообщайте о расходах по вашим согласованным ставкам](/docs/ru/costs#report-spend-at-your-contracted-rates).1180Для шагов, включая как подтвердить, что ставки действуют, см. [Сообщайте о расходах по вашим согласованным ставкам](/docs/ru/costs#report-spend-at-your-contracted-rates).

1174 1181 

1175<span id="modelpricing-multiplier" />1182<span id="modelpricing-multiplier" />


1182 1189 

1183| Поле | Тип | Что оно делает |1190| Поле | Тип | Что оно делает |

1184| :----------- | :----------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1191| :----------- | :----------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1185| `multiplier` | число больше 0 и не более 1 | Масштабирует каждую стоимость, которую вычисляет Claude Code, независимо от того, охватывает ли её строка `overrides` |1192| `multiplier` | число больше 0 и не более 10 | Масштабирует каждую стоимость, которую вычисляет Claude Code, независимо от того, охватывает ли её строка `overrides`. Ниже 1 — скидка, выше 1 — надбавка |

1186| `overrides` | карта ID модели к объекту ставки с `input`, `output`, `cacheRead` и `cacheWrite`, каждый от 0 до 10000 | Ставки USD за миллион токенов для этой модели, все четыре обязательны. `cacheWrite` охватывает как пятиминутные, так и одночасовые записи кэша. См. [Какие модели применяет строка modelPricing](#which-models-a-modelpricing-row-applies-to) |1193| `overrides` | карта ID модели к объекту ставки с `input`, `output`, `cacheRead` и `cacheWrite`, каждый от 0 до 10000 | Ставки USD за миллион токенов для этой модели, все четыре обязательны. `cacheWrite` охватывает как пятиминутные, так и одночасовые записи кэша. См. [Какие модели применяет строка modelPricing](#which-models-a-modelpricing-row-applies-to) |

1187 1194 

1188Claude Code использует ставки строки ровно так, как вы их написали, без добавления надбавки быстрого режима или [ставки только для США](/docs/ru/about-claude/pricing). Если вы также установите `multiplier`, Claude Code применяет его поверх ставок строки. Claude Code удаляет строку со ставкой, которую он не может разобрать, или `multiplier`, который он не может разобрать, и сохраняет остальные; см. [Исправьте сломанный файл параметров](/docs/ru/settings#fix-a-broken-settings-file).1195Claude Code использует ставки строки ровно так, как вы их написали, без добавления надбавки быстрого режима или [ставки только для США](/docs/ru/about-claude/pricing). Если вы также установите `multiplier`, Claude Code применяет его поверх ставок строки. Claude Code удаляет строку со ставкой, которую он не может разобрать, или `multiplier`, который он не может разобрать, и сохраняет остальные; см. [Исправьте сломанный файл параметров](/docs/ru/settings#fix-a-broken-settings-file).


1361 Параметры разрешений1368 Параметры разрешений

1362</h2>1369</h2>

1363 1370 

1364Решите, что Claude может делать без запроса, в каком режиме разрешений начинается сеанс, и что позволяет классификатор автоматического режима. Синтаксис правил и модель разрешений см. в разделе [Настройка разрешений](/docs/ru/permissions).1371Решите, что Claude может делать без запроса, в каком режиме разрешений начинается сеанс и что позволяет классификатор автоматического режима. Синтаксис правил и модель разрешений см. в разделе [Настройка разрешений](/docs/ru/permissions).

1365 1372 

1366<h3 id="allowmanagedpermissionrulesonly">1373<h3 id="allowmanagedpermissionrulesonly">

1367 `allowManagedPermissionRulesOnly`1374 `allowManagedPermissionRulesOnly`


1369 1376 

1370Сделайте управляемые параметры единственным источником правил разрешений. Claude Code затем игнорирует правила `allow`, `ask` и `deny` в файлах пользователя, проекта, локальных и `--settings`, игнорирует `--allowedTools`, скрывает варианты всегда разрешить в подсказках разрешений и прекращает сохранение новых правил.1377Сделайте управляемые параметры единственным источником правил разрешений. Claude Code затем игнорирует правила `allow`, `ask` и `deny` в файлах пользователя, проекта, локальных и `--settings`, игнорирует `--allowedTools`, скрывает варианты всегда разрешить в подсказках разрешений и прекращает сохранение новых правил.

1371 1378 

1372Когда применяются [родительские параметры от хоста встраивания](/docs/ru/managed-settings#let-an-embedding-host-add-policy), Claude Code рассматривает их как часть управляемого уровня: он сохраняет их правила `deny` и `ask` и отбрасывает их правила `allow` и `additionalDirectories`.1379Когда применяются [родительские параметры от хоста встраивания](/docs/ru/managed-settings#let-an-embedding-host-add-policy), Claude Code рассматривает их как часть управляемого уровня. Он отбрасывает их правила `allow` и `additionalDirectories`, и сохраняет их правила `deny` и `ask`, кроме правил `Read` и `Edit`, чей шаблон начинается с `!`. Хост не может вырезать пути из управляемых правил с помощью правила `!`, независимо от того, установлен ли этот ключ.

1373 1380 

1374Правила `--disallowedTools` и текущие правила `deny` и `ask` сеанса по-прежнему применяются, включая после перезагрузки параметров Claude Code в середине сеанса. Они только ограничивают, поэтому не могут расширить то, что предоставляют управляемые правила. До версии 2.1.257 Claude Code отбрасывал эти правила командной строки и сеанса при первой перезагрузке параметров.1381Правила `--disallowedTools` и текущие правила `deny` и `ask` сеанса по-прежнему применяются, включая после перезагрузки параметров Claude Code в середине сеанса. Они только ограничивают, поэтому не могут расширить то, что предоставляют управляемые правила. До версии 2.1.257 Claude Code отбрасывал эти правила командной строки и сеанса при первой перезагрузке параметров.

1375 1382 

1383Для того, что может вырезать шаблон `!` в правиле `--disallowedTools` или сеанса, см. [Правила Read и Edit](/docs/ru/permissions#read-and-edit).

1384 

1376* **Область**: [`Managed`](#scopes)1385* **Область**: [`Managed`](#scopes)

1377* **Тип**: Boolean1386* **Тип**: Boolean

1378 * `true`: управляемые параметры становятся единственным источником правил разрешений1387 * `true`: управляемые параметры становятся единственным источником правил разрешений

1379 * `false`: Claude Code применяет правила разрешений из файлов пользователя, проекта, локальных и `--settings` в дополнение к управляемым1388 * `false`: Claude Code применяет правила разрешений из файлов пользователя, проекта, локальных и `--settings` в дополнение к управляемым

1380* **По умолчанию**: не установлено, поэтому Claude Code применяет правила разрешений из параметров пользователя, проекта и локальных параметров, а также из `--settings`, в дополнение к управляемым1389* **По умолчанию**: не установлено, поэтому Claude Code применяет правила разрешений из параметров пользователя, проекта и локальных, а также из `--settings`, в дополнение к управляемым

1381 1390 

1382```json managed-settings.json theme={null}1391```json managed-settings.json theme={null}

1383{1392{


1391 `autoMode`1400 `autoMode`

1392</h3>1401</h3>

1393 1402 

1394Добавьте свои собственные правила к тому, что блокирует и разрешает классификатор [автоматического режима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode). Используйте его, чтобы сообщить классификатору, какие репозитории, корзины и домены доверяет ваша организация, чтобы он прекратил блокировать обычные внутренние операции. Классификатор поставляется с [встроенными правилами разрешения и запрета](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config). Включите буквальную строку `"$defaults"` в массив, чтобы сохранить эти встроенные правила в этой позиции и добавить свои вокруг них; опустите её, чтобы заменить их своими.1403Добавьте свои собственные правила к тому, что блокирует и разрешает классификатор [автоматического режима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode). Используйте его, чтобы сообщить классификатору, какие репозитории, корзины и домены доверяет ваша организация, чтобы он прекратил блокировать обычные внутренние операции. Классификатор поставляется с [встроенными правилами разрешения и отрицания](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config). Включите буквальную строку `"$defaults"` в массив, чтобы сохранить эти встроенные правила в этой позиции и добавить свои вокруг них; опустите её, чтобы заменить их своими.

1395 1404 

1396* **Область**: [`User or managed`](#scopes)1405* **Область**: [`User or managed`](#scopes)

1397* **Тип**: объект с массивами `environment`, `allow`, `soft_deny` и `hard_deny` правил в виде текста, плюс Boolean [`classifyAllShell`](#automode-classifyallshell)1406* **Тип**: объект с массивами `environment`, `allow`, `soft_deny` и `hard_deny` правил в прозе, плюс Boolean [`classifyAllShell`](#automode-classifyallshell)

1398* **По умолчанию**: не установлено, поэтому классификатор использует только свои [встроенные правила](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config)1407* **По умолчанию**: не установлено, поэтому классификатор использует только свои [встроенные правила](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config)

1399 1408 

1400Этот пример сохраняет встроенные правила `soft_deny` через `"$defaults"` и добавляет ещё одно, которое блокирует `terraform apply`:1409Этот пример сохраняет встроенные правила `soft_deny` через `"$defaults"` и добавляет ещё одно, которое блокирует `terraform apply`:


1413 `autoMode.classifyAllShell`1422 `autoMode.classifyAllShell`

1414</h3>1423</h3>

1415 1424 

1416Отправляйте каждую команду Bash и PowerShell через классификатор автоматического режима, пока активен автоматический режим. По умолчанию автоматический режим приостанавливает только правила разрешения, которые могут запускать произвольный код: правила на уровне инструмента и подстановочные знаки, такие как `Bash(*)`, и префиксы интерпретатора или оболочки, такие как `Bash(python *)`. Команда, которая соответствует любому другому правилу разрешения, такому как `Bash(npm test)`, пропускает классификатор, и деструктивный аргумент, который префикс правила не предусмотрел, может пройти незамеченным. Установка этого ключа приостанавливает каждое правило разрешения оболочки для сеанса, чтобы классификатор видел каждую команду. Требует Claude Code версии 2.1.193 или позже.1425Отправляйте каждую команду Bash и PowerShell через классификатор автоматического режима, пока активен автоматический режим. По умолчанию автоматический режим приостанавливает только правила разрешения, которые могут запускать произвольный код: правила на уровне инструмента и подстановочные знаки, такие как `Bash(*)`, и префиксы интерпретатора или оболочки, такие как `Bash(python *)`. Команда, которая соответствует любому другому правилу разрешения, такому как `Bash(npm test)`, пропускает классификатор, если только она не содержит [разрешённые домены для каждой команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode). Когда она пропускает, деструктивный аргумент, который префикс правила не предусмотрел, может пройти незамеченным. Установка этого ключа приостанавливает каждое правило разрешения оболочки для сеанса, чтобы классификатор видел каждую команду. Требует Claude Code v2.1.193 или позже.

1417 1426 

1418* **Область**: [`User or managed`](#scopes). Читается везде, где читается [`autoMode`](#automode).1427* **Область**: [`User or managed`](#scopes). Читается везде, где читается [`autoMode`](#automode).

1419* **Тип**: Boolean1428* **Тип**: Boolean

1420 * `true`: пока активен автоматический режим, Claude Code отправляет каждую команду Bash и PowerShell через классификатор и приостанавливает ваши правила разрешения оболочки; вне автоматического режима правила по-прежнему применяются1429 * `true`: пока активен автоматический режим, Claude Code отправляет каждую команду Bash и PowerShell через классификатор и приостанавливает ваши правила разрешения оболочки; вне автоматического режима правила по-прежнему применяются

1421 * `false`: автоматический режим приостанавливает только правила разрешения, которые могут запускать произвольный код, такие как `Bash(*)` и `Bash(python *)`; команда, которая соответствует любому другому правилу разрешения, пропускает классификатор, и каждая другая команда оболочки проходит через него1430 * `false`: автоматический режим приостанавливает только правила разрешения, которые могут запускать произвольный код, такие как `Bash(*)` и `Bash(python *)`; команда, которая соответствует любому другому правилу разрешения, пропускает классификатор, если только она не содержит [разрешённые домены для каждой команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode), и каждая другая команда оболочки проходит через него

1422* **По умолчанию**: `false`1431* **По умолчанию**: `false`

1423 1432 

1424```json settings.json theme={null}1433```json settings.json theme={null}


1429}1438}

1430```1439```

1431 1440 

1432См. [Маршрутизация всех команд оболочки через классификатор](/docs/ru/auto-mode-config#route-all-shell-commands-through-the-classifier). Требует Claude Code версии 2.1.193 или позже.1441См. [Маршрутизация всех команд оболочки через классификатор](/docs/ru/auto-mode-config#route-all-shell-commands-through-the-classifier). Требует Claude Code v2.1.193 или позже.

1433 1442 

1434<h3 id="disableautomode">1443<h3 id="disableautomode">

1435 `disableAutoMode`1444 `disableAutoMode`

1436</h3>1445</h3>

1437 1446 

1438Удалите [автоматический режим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) из цикла `Shift+Tab`. Любой сеанс, который в противном случае [начинается в автоматическом режиме](/docs/ru/permission-modes#which-mode-a-session-starts-in), будь то из `--permission-mode auto`, файла параметров или встроенного значения по умолчанию, вместо этого начинается в `default`. Администраторы устанавливают его в управляемых параметрах, чтобы предотвратить использование автоматического режима разработчиками в их организации.1447Удалите [автоматический режим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) из цикла `Shift+Tab`. Любой сеанс, который в противном случае [начинается в автоматическом режиме](/docs/ru/permission-modes#which-mode-a-session-starts-in), будь то из `--permission-mode auto`, файла параметров или встроенного по умолчанию, вместо этого начинается в `default`. Администраторы устанавливают его в управляемых параметрах, чтобы предотвратить использование автоматического режима разработчиками в их организации.

1439 1448 

1440* **Область**: [`Any file`](#scopes). Наиболее полезно в [управляемых параметрах](/docs/ru/managed-settings), где пользователи не могут его переопределить. Также принимается под `permissions` как `permissions.disableAutoMode`.1449* **Область**: [`Any file`](#scopes). Наиболее полезно в [управляемых параметрах](/docs/ru/managed-settings), где пользователи не могут его переопределить. Также принимается под `permissions` как `permissions.disableAutoMode`.

1441* **Тип**: строка `"disable"`1450* **Тип**: строка `"disable"`


1494 `permissions.allow`1503 `permissions.allow`

1495</h3>1504</h3>

1496 1505 

1497Перечислите использование инструментов, которые Claude Code одобряет без запроса. В правиле MCP `*` может появляться только в имени инструмента после префикса `mcp__<server>__`, например `mcp__github__get_*`; он не может появляться в имени сервера.1506Перечислите использование инструментов, которые Claude Code одобряет без запроса. В правиле MCP `*` может появляться только в имени инструмента после префикса `mcp__<server>__`, такого как `mcp__github__get_*`; оно не может появляться в имени сервера.

1498 1507 

1499* **Область**: [`Any file`](#scopes)1508* **Область**: [`Any file`](#scopes)

1500* **Тип**: массив строк правил разрешения1509* **Тип**: массив строк правил разрешения

1501* **По умолчанию**: не установлено1510* **По умолчанию**: не установлено

1502* **Переопределения для каждого сеанса**: `--allowedTools` добавляет правила разрешения для одного сеанса, и правило запрета из любого файла параметров по-прежнему блокирует инструмент, который оно называет1511* **Переопределения для каждого сеанса**: `--allowedTools` добавляет правила разрешения для одного сеанса, и правило отрицания из любого файла параметров по-прежнему блокирует инструмент, который оно называет

1503 1512 

1504Этот пример одобряет `git diff` и позволяет Claude Code читать ваш `.zshrc` без запроса:1513Этот пример одобряет `git diff` и позволяет Claude Code читать ваш `.zshrc` без запроса:

1505 1514 


1528| `Read(./.env)` | Чтение файла `.env` |1537| `Read(./.env)` | Чтение файла `.env` |

1529| `WebFetch(domain:example.com)` | Запросы выборки на example.com |1538| `WebFetch(domain:example.com)` | Запросы выборки на example.com |

1530 1539 

1531Для полного синтаксиса правила, включая поведение подстановочных знаков, специфичные для инструмента шаблоны для Read, Edit, WebFetch, MCP и Agent правил, а также ограничения безопасности шаблонов Bash, см. [Синтаксис правила разрешения](/docs/ru/permissions#permission-rule-syntax).1540Для полного синтаксиса правила, включая поведение подстановочных знаков, шаблоны для конкретных инструментов для Read, Edit, WebFetch, MCP и Agent правил, и ограничения безопасности шаблонов Bash, см. [Синтаксис правила разрешения](/docs/ru/permissions#permission-rule-syntax).

1532 1541 

1533<h3 id="permissions-ask">1542<h3 id="permissions-ask">

1534 `permissions.ask`1543 `permissions.ask`

1535</h3>1544</h3>

1536 1545 

1537Перечислите использование инструментов, которые запрашивают вас на подтверждение даже в режиме разрешений, который в противном случае их одобрил бы, например `acceptEdits` или `bypassPermissions`. В режиме `dontAsk` Claude Code отклоняет соответствующее использование инструмента вместо того, чтобы запрашивать.1546Перечислите использование инструментов, которые запрашивают вас на подтверждение даже в режиме разрешений, который в противном случае их одобрил бы, такой как `acceptEdits` или `bypassPermissions`. В режиме `dontAsk` Claude Code отрицает соответствующее использование инструмента вместо того, чтобы запрашивать.

1538 1547 

1539* **Область**: [`Any file`](#scopes)1548* **Область**: [`Any file`](#scopes)

1540* **Тип**: массив строк правил разрешения1549* **Тип**: массив строк правил разрешения


1554 `permissions.deny`1563 `permissions.deny`

1555</h3>1564</h3>

1556 1565 

1557Перечислите использование инструментов, которые блокирует Claude Code. Используйте его для файлов, которые содержат ключи API, секреты или значения окружения: Claude Code исключает соответствующие файлы из обнаружения файлов и результатов поиска, отклоняет их чтение и блокирует инструменты [Edit и Write](/docs/ru/permissions#read-and-edit) на соответствующих путях. Правила запрета Read и Edit применяются к встроенным инструментам файлов Claude, к командам файлов, которые Claude Code распознает в Bash, таким как `cat`, `head`, `tail` и `sed`, и к целям Bash [перенаправлений](/docs/ru/permissions#redirections), таких как `> file` и `< file`; они не применяются к команде, которая читает файлы без их названия, такой как `grep -r pattern .`, или к произвольным подпроцессам, поэтому для принудительного применения на уровне ОС [включите песочницу](/docs/ru/sandboxing).1566Перечислите использование инструментов, которые блокирует Claude Code. Используйте его для файлов, которые содержат ключи API, секреты или значения окружения: Claude Code исключает соответствующие файлы из обнаружения файлов и результатов поиска, отрицает их чтение и блокирует [инструменты Edit и Write](/docs/ru/permissions#read-and-edit) на соответствующих путях.

1567 

1568Правила отрицания Read и Edit применяются к встроенным инструментам файлов Claude, к командам файлов, которые Claude Code распознаёт в Bash, таким как `cat`, `head`, `tail`, `sed` и `tee`, и к целям Bash [перенаправлений](/docs/ru/permissions#redirections), таких как `> file` и `< file`; они не применяются к команде, которая читает файлы без их названия, такой как `grep -r pattern .`, или к произвольным подпроцессам, поэтому для принудительного применения на уровне ОС [включите песочницу](/docs/ru/sandboxing).

1558 1569 

1559* **Область**: [`Any file`](#scopes)1570* **Область**: [`Any file`](#scopes)

1560* **Тип**: массив строк правил разрешения1571* **Тип**: массив строк правил разрешения

1561* **По умолчанию**: не установлено1572* **По умолчанию**: не установлено

1562* **Переопределения для каждого сеанса**: `--disallowedTools` добавляет правила запрета для одного сеанса наряду с этим ключом1573* **Переопределения для каждого сеанса**: `--disallowedTools` добавляет правила отрицания для одного сеанса рядом с этим ключом

1563 1574 

1564Этот пример отклоняет чтение файлов `.env`, каталога `secrets` и файла учетных данных, а также блокирует команды `curl`:1575Этот пример отрицает чтение файлов `.env`, каталога `secrets` и файла учётных данных, и блокирует команды `curl`:

1565 1576 

1566```json settings.json theme={null}1577```json settings.json theme={null}

1567{1578{


1577}1588}

1578```1589```

1579 1590 

1580Имена инструментов принимают шаблоны glob, поэтому `"*"` отклоняет каждый инструмент и `"mcp__*"` отклоняет каждый инструмент MCP. Claude Code игнорирует правило запрета для инструмента [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), пока доступен любой другой инструмент для Claude. Правило `Bash` запрета соответствует команде, как её пишет Claude, поэтому `Bash(curl *)` не останавливает `/usr/bin/curl` или `sh -c 'curl …'`; см. [что правило Bash не соответствует](/docs/ru/permissions#bash-rule-limits). Этот ключ заменяет устаревшую конфигурацию `ignorePatterns`.1591Имена инструментов принимают шаблоны glob, поэтому `"*"` отрицает каждый инструмент и `"mcp__*"` отрицает каждый инструмент MCP. Claude Code игнорирует правило отрицания для инструмента [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), пока доступен любой другой инструмент. Правило отрицания `Bash` соответствует команде, как её пишет Claude, поэтому `Bash(curl *)` не останавливает `/usr/bin/curl` или `sh -c 'curl …'`; см. [что правило Bash не соответствует](/docs/ru/permissions#bash-rule-limits). Этот ключ заменяет устаревшую конфигурацию `ignorePatterns`.

1581 1592 

1582<h3 id="permissions-additionaldirectories">1593<h3 id="permissions-additionaldirectories">

1583 `permissions.additionalDirectories`1594 `permissions.additionalDirectories`


1588* **Область**: [`Any file`](#scopes)1599* **Область**: [`Any file`](#scopes)

1589* **Тип**: массив путей каталогов1600* **Тип**: массив путей каталогов

1590* **По умолчанию**: не установлено1601* **По умолчанию**: не установлено

1591* **Переопределения для каждого сеанса**: `--add-dir` и `/add-dir` добавляют каталоги для одного сеанса наряду с этим ключом1602* **Переопределения для каждого сеанса**: `--add-dir` и `/add-dir` добавляют каталоги для одного сеанса рядом с этим ключом

1592 1603 

1593```json settings.json theme={null}1604```json settings.json theme={null}

1594{1605{


1604 `permissions.blockReadsOutsideWorkingDirectories`1615 `permissions.blockReadsOutsideWorkingDirectories`

1605</h3>1616</h3>

1606 1617 

1607Остановите Claude от чтения путей вне [рабочих каталогов](/docs/ru/permissions#working-directories) сеанса с помощью инструментов Read, Grep, Glob и LSP, в каждом режиме разрешений, включая `bypassPermissions`. Команда Bash, которая читает соответствующий путь через команду файла, которую Claude Code распознает, такую как `cat`, запрашивает вас даже в режиме автоматического режима и `bypassPermissions`. Требует Claude Code версии 2.1.257 или позже.1618Остановите Claude от чтения путей вне [рабочих каталогов](/docs/ru/permissions#working-directories) сеанса с помощью инструментов Read, Grep, Glob и LSP, в каждом режиме разрешений, включая `bypassPermissions`. Команда Bash, которая читает соответствующий путь через команду файла, которую Claude Code распознаёт, такую как `cat`, запрашивает вас даже в автоматическом режиме и режиме `bypassPermissions`. Требует Claude Code v2.1.257 или позже.

1619 

1620Команда Bash, которую парсер оболочки не может отследить, такая как та, которая меняет каталог более одного раза или запускает подоболочку, запрашивает вас даже в автоматическом режиме и режиме `bypassPermissions`. Подсказка появляется даже когда команда не называет путь вне рабочих каталогов. Эта подсказка не применяется, когда команда запускается в [песочнице](/docs/ru/sandboxing) и песочница применяет блокировку.

1608 1621 

1609Claude Code также пишет `true` здесь, когда вы выбираете блокировку таких чтений на [подсказке автоматического режима перед первым чтением вне рабочих каталогов](/docs/ru/permission-modes#first-read-outside-the-working-directories).1622Claude Code также пишет `true` здесь, когда вы выбираете блокировку таких чтений на [подсказке автоматического режима перед первым чтением вне рабочих каталогов](/docs/ru/permission-modes#first-read-outside-the-working-directories).

1610 1623 

1611* **Область**: [`Any file`](#scopes). Если любой источник параметров устанавливает `true`, блокировка применяется, поэтому проверенный в репозитории файл может включить блокировку для проекта, но не может снять блокировку, которую вы установили.1624* **Область**: [`Any file`](#scopes). Если любой источник параметров устанавливает `true`, блокировка применяется, поэтому проверенный файл репозитория может включить блокировку для проекта, но не может снять блокировку, которую вы установили.

1612* **Тип**: Boolean1625* **Тип**: Boolean

1613 * `true`: чтение файлов вне рабочих каталогов заблокировано1626 * `true`: чтение файлов вне рабочих каталогов заблокировано

1614 * `false`: то же самое, что не установлено; `true` в любом другом файле параметров по-прежнему блокирует1627 * `false`: то же самое, что не установлено; `true` в любом другом файле параметров по-прежнему блокирует

1615* **По умолчанию**: не установлено, поэтому чтение вне рабочих каталогов следует вашему режиму разрешений и правилам1628* **По умолчанию**: не установлено, поэтому чтение файлов вне рабочих каталогов следует вашему режиму разрешений и правилам

1616 1629 

1617```json settings.json theme={null}1630```json settings.json theme={null}

1618{1631{


1622}1635}

1623```1636```

1624 1637 

1625Если только файл параметров репозитория, проверенный в системе управления версиями, добавляет каталог, блокировка по-прежнему применяется к чтению там. Файлы, которые сам Claude Code нужны, остаются читаемыми, такие как ваши skills, plugins, правила, agents, команды и файл памяти `CLAUDE.md` под `~/.claude/`.1638Если только файл параметров репозитория добавляет каталог, блокировка по-прежнему применяется к чтению там. Когда [`autoMemoryDirectory`](#automemorydirectory) поступает из `.claude/settings.json` проекта или из `.claude/settings.local.json` [рассматриваемого как предоставленный репозиторием](/docs/ru/permissions#when-your-local-settings-file-needs-trust), Claude Code не загружает [автоматическую память](/docs/ru/memory#storage-location) из этого каталога и не сохраняет её в него. Файлы, которые нужны самому Claude Code, остаются читаемыми, такие как ваши skills, plugins, правила, agents, команды и файл памяти `CLAUDE.md` под `~/.claude/`.

1626 1639 

1627Когда [песочница](/docs/ru/sandboxing) включена, блокировка также отклоняет доступ к чтению команд в песочнице для домашних каталогов и корней смонтированных томов вне рабочих каталогов. Повторная попытка, которая требует одобрения для [запуска вне песочницы](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch), запрашивает вас даже в режиме `bypassPermissions`. Файлы, которые инструмент читает из вашего домашнего каталога, такие как `~/.gitconfig`, отклоняются вместе с остальным; повторно откройте определенный путь с помощью [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread), когда инструменту это нужно.1640Когда [песочница](/docs/ru/sandboxing) включена, блокировка также отрицает доступ к чтению для команд в песочнице к домашним каталогам и корням смонтированных томов вне рабочих каталогов. Повторная попытка, которая требует одобрения для [запуска вне песочницы](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch), запрашивает вас даже в режиме `bypassPermissions`. Файлы, которые инструмент читает из вашего домашнего каталога, такие как `~/.gitconfig`, отрицаются вместе с остальным; повторно откройте конкретный путь с помощью [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread), когда инструменту это нужно.

1628 1641 

1629Когда рабочий каталог сеанса является связанным [git worktree](/docs/ru/worktrees), включая тот, который Claude Code ввел в середине сеанса, общий каталог `.git` репозитория остается читаемым и доступным для записи командами в песочнице, поэтому git продолжает работать там.1642Когда рабочий каталог сеанса является связанным [git worktree](/docs/ru/worktrees), включая тот, в который Claude Code вошёл в середине сеанса, общий каталог `.git` репозитория остаётся читаемым и записываемым для команд в песочнице, чтобы git продолжал работать там.

1630 1643 

1631<h3 id="permissions-defaultmode">1644<h3 id="permissions-defaultmode">

1632 `permissions.defaultMode`1645 `permissions.defaultMode`

1633</h3>1646</h3>

1634 1647 

1635Установите [режим разрешений](/docs/ru/permission-modes), в котором начинаются новые сеансы. Когда вы оставляете его не установленным, сеансы начинаются в [встроенном значении по умолчанию](/docs/ru/permission-modes#which-mode-a-session-starts-in) для вашего плана и поверхности.1648Установите [режим разрешений](/docs/ru/permission-modes), в котором начинаются новые сеансы. Когда вы оставляете его не установленным, сеансы начинаются в [встроенном по умолчанию](/docs/ru/permission-modes#which-mode-a-session-starts-in) для вашего плана и поверхности.

1636 1649 

1637* **Область**: [`Any file`](#scopes). `auto` и `bypassPermissions` не вступают в силу из параметров проекта или локальных параметров, поэтому установите их в `~/.claude/settings.json` вместо этого. До версии 2.1.257 `bypassPermissions` вступал в силу из любого файла. Для разговоров, которые расширение VS Code запускает, Claude Code читает только значения пользователя, управляемые и `--settings`.1650* **Область**: [`Any file`](#scopes). `auto` и `bypassPermissions` не вступают в силу из параметров проекта или локальных, поэтому установите их в `~/.claude/settings.json` вместо этого. До версии 2.1.257 `bypassPermissions` вступал в силу из любого файла. Для разговоров, которые запускает расширение VS Code, Claude Code читает только значения пользователя, управляемые и `--settings`.

1638* **Тип**: строка, одна из:1651* **Тип**: строка, одна из:

1639 * `"default"`: Claude Code запускает только чтение без запроса1652 * `"default"`: Claude Code запускает только чтение без запроса

1640 * `"acceptEdits"`: Claude Code также запускает редактирование файлов и общие команды файловой системы, такие как `mkdir` и `mv`, без запроса1653 * `"acceptEdits"`: Claude Code также запускает редактирование файлов и общие команды файловой системы, такие как `mkdir` и `mv`, без запроса

1641 * `"plan"`: Claude Code читает и планирует, но блокирует редактирование до тех пор, пока вы не одобрите план1654 * `"plan"`: Claude Code читает и планирует, но блокирует редактирование до того, как вы одобрите план

1642 * `"auto"`: Claude Code запускает всё с проверками безопасности в фоне1655 * `"auto"`: Claude Code запускает всё с проверками безопасности в фоне

1643 * `"dontAsk"`: Claude Code автоматически отклоняет каждый вызов, который в противном случае запрашивал бы; чтение, другие действия, которые не требуют одобрения, и предварительно одобренные инструменты по-прежнему запускаются1656 * `"dontAsk"`: Claude Code автоматически отрицает каждый вызов, который в противном случае запрашивал бы; чтение, другие действия, которые не требуют одобрения, и предварительно одобренные инструменты по-прежнему запускаются

1644 * `"bypassPermissions"`: Claude Code запускает всё без запроса1657 * `"bypassPermissions"`: Claude Code запускает всё без запроса

1645 * `"manual"`: псевдоним для `"default"`, в Claude Code версии 2.1.200 или позже1658 * `"manual"`: псевдоним для `"default"`, в Claude Code v2.1.200 или позже

1646* **По умолчанию**: не установлено1659* **По умолчанию**: не установлено

1647* **Переопределения для каждого сеанса**: `--permission-mode` и его эквивалент `--dangerously-skip-permissions` для `bypassPermissions` имеют приоритет над этим ключом для одного сеанса1660* **Переопределения для каждого сеанса**: `--permission-mode` и его эквивалент `--dangerously-skip-permissions` для `bypassPermissions` имеют приоритет над этим ключом для одного сеанса

1648 1661 


1654}1667}

1655```1668```

1656 1669 

1657Правила разрешений накладываются на каждый режим: правила `deny` блокируют в каждом режиме, включая `bypassPermissions`. См. [Режимы разрешений](/docs/ru/permission-modes). `manual` называет режим разрешений, обозначенный Manual в CLI и расширении VS Code; псевдоним требует Claude Code версии 2.1.200 или позже. В Claude Code в веб-версии Claude Code соблюдает только `acceptEdits`, `plan`, `default` и `auto` из этого ключа. Для разговоров, которые расширение VS Code запускает, см. [какой параметр расширение читает для режима разрешений при запуске](/docs/ru/permission-modes#switch-permission-modes).1670Правила разрешений накладываются на каждый режим: правила `deny` блокируют в каждом режиме, включая `bypassPermissions`. См. [Режимы разрешений](/docs/ru/permission-modes). `manual` называет режим разрешений, помеченный Manual в CLI и расширении VS Code; псевдоним требует Claude Code v2.1.200 или позже. В облачных сеансах Claude Code соблюдает только `acceptEdits`, `plan`, `default` и `auto` из этого ключа. Для разговоров, которые запускает расширение VS Code, см. [какой параметр расширение читает для режима разрешений при запуске](/docs/ru/permission-modes#switch-permission-modes).

1658 1671 

1659<h3 id="permissions-disablebypasspermissionsmode">1672<h3 id="permissions-disablebypasspermissionsmode">

1660 `permissions.disableBypassPermissionsMode`1673 `permissions.disableBypassPermissionsMode`

1661</h3>1674</h3>

1662 1675 

1663Предотвратите вход кого-либо в режим `bypassPermissions`. Claude Code затем отклоняет флаг `--dangerously-skip-permissions` и игнорирует [определение агента](/docs/ru/sub-agents#permission-modes) `permissionMode: bypassPermissions`, поэтому подагент запускается с режимом разрешений родительского сеанса.1676Предотвратите вход кого-либо в режим `bypassPermissions`. Claude Code затем отклоняет флаг `--dangerously-skip-permissions` и игнорирует `permissionMode: bypassPermissions` [определения агента](/docs/ru/sub-agents#permission-modes), поэтому подагент запускается с режимом разрешений родительского сеанса.

1664 1677 

1665* **Область**: [`Any file`](#scopes). Обычно устанавливается в [управляемых параметрах](/docs/ru/managed-settings) для обеспечения организационной политики.1678* **Область**: [`Any file`](#scopes). Обычно устанавливается в [управляемых параметрах](/docs/ru/managed-settings) для применения организационной политики.

1666* **Тип**: строка `"disable"`1679* **Тип**: строка `"disable"`

1667* **По умолчанию**: не установлено1680* **По умолчанию**: не установлено

1668* **Переопределения для каждого сеанса**: этот ключ имеет приоритет над `--dangerously-skip-permissions`, который Claude Code отклоняет, пока ключ установлен1681* **Переопределения для каждого сеанса**: этот ключ имеет приоритет над `--dangerously-skip-permissions`, который Claude Code отклоняет, пока ключ установлен


1675}1688}

1676```1689```

1677 1690 

1678До версии 2.1.223 Claude Code применял режим разрешений frontmatter даже с отключенным обходом.1691До версии 2.1.223 Claude Code применял режим разрешений frontmatter даже с отключённым обходом.

1679 1692 

1680<h3 id="skipautopermissionprompt">1693<h3 id="skipautopermissionprompt">

1681 `skipAutoPermissionPrompt`1694 `skipAutoPermissionPrompt`

1682</h3>1695</h3>

1683 1696 

1684Пропустите одноразовое уведомление, описывающее [автоматический режим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), которое Claude Code показывает, когда вы впервые сами входите в автоматический режим, например через свои собственные параметры или селектор режима, а не когда встроенное значение по умолчанию запускает сеанс в нём. Claude Code показывает это уведомление один раз, а затем записывает, что оно было показано, поэтому этот ключ имеет значение только там, где уведомление ещё не появилось.1697Пропустите одноразовое уведомление, описывающее [автоматический режим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), которое Claude Code показывает, когда вы впервые входите в автоматический режим самостоятельно, например через свои собственные параметры или селектор режима, а не когда встроенное по умолчанию запускает сеанс в нём. Claude Code показывает это уведомление один раз, а затем записывает, что оно было показано, поэтому этот ключ имеет значение только там, где уведомление ещё не появилось.

1685 1698 

1686* **Область**: [`User or managed`](#scopes). Репозиторий не может установить его для вас.1699* **Область**: [`User or managed`](#scopes). Репозиторий не может установить его для вас.

1687* **Тип**: Boolean1700* **Тип**: Boolean


1701 1714 

1702Пропустите диалог подтверждения, который Claude Code показывает перед входом сеанса в режим `bypassPermissions`, будь то из `--dangerously-skip-permissions` или из `defaultMode: "bypassPermissions"`. Claude Code пишет `true` здесь в ваши пользовательские параметры, когда вы один раз примете этот диалог.1715Пропустите диалог подтверждения, который Claude Code показывает перед входом сеанса в режим `bypassPermissions`, будь то из `--dangerously-skip-permissions` или из `defaultMode: "bypassPermissions"`. Claude Code пишет `true` здесь в ваши пользовательские параметры, когда вы один раз примете этот диалог.

1703 1716 

1704* **Область**: [`User, local, or managed`](#scopes). Ненадежный репозиторий не может пропустить диалог для вас.1717* **Область**: [`User, local, or managed`](#scopes). Ненадёжный репозиторий не может пропустить диалог для вас.

1705* **Тип**: Boolean1718* **Тип**: Boolean

1706 * `true`: Claude Code пропускает диалог подтверждения перед входом сеанса в режим `bypassPermissions`1719 * `true`: Claude Code пропускает диалог подтверждения перед входом сеанса в режим `bypassPermissions`

1707 * `false`: то же самое, что не установлено; диалог появляется, если другой из этих файлов не устанавливает `true`1720 * `false`: то же самое, что не установлено; диалог появляется, если другой из этих файлов не устанавливает `true`


2670* **Scope**: [`User or managed`](#scopes). Репозиторий не может его включить или отключить.2683* **Scope**: [`User or managed`](#scopes). Репозиторий не может его включить или отключить.

2671* **Type**: Boolean2684* **Type**: Boolean

2672 * `true`: Claude Code запрещает изолированным командам доступ к хостам вне списка разрешений2685 * `true`: Claude Code запрещает изолированным командам доступ к хостам вне списка разрешений

2673 * `false`: если другой доверенный файл параметров не установит `true`, Claude Code решает хост вне списка разрешений по режиму разрешения вместо прямого отказа: он запускает классификатор в режиме auto, отказывает в режиме `dontAsk`, разрешает в режиме `bypassPermissions` и в режиме плана, когда доступен обход, и в противном случае спрашивает вас2686 * `false`: если другой доверенный файл параметров не установит `true`, Claude Code решает хост вне списка разрешений по режиму разрешения вместо прямого отказа: в режиме auto он проверяет хост против [per-command allowed domains](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode) команды, в режиме `dontAsk` отказывает, в режиме `bypassPermissions` и в интерактивных сеансах режима плана терминала, где доступен обход, разрешает, и в противном случае спрашивает вас

2674* **Default**: `false`2687* **Default**: `false`

2675 2688 

2676```json settings.json theme={null}2689```json settings.json theme={null}


3136 `axScreenReader`3149 `axScreenReader`

3137</h3>3150</h3>

3138 3151 

3139Отрисовка вывода, удобного для программ чтения с экрана: плоский текст без декоративных границ или анимаций. Режим программы чтения с экрана использует классический рендерер, поэтому параметр `tui` не имеет эффекта, пока он активен; прикрепленные [фоновые сеансы](/docs/ru/agent-view) все еще отрисовываются в полноэкранном режиме. Требуется Claude Code v2.1.181 или позже.3152Отрисовка вывода, удобного для программ чтения с экрана: плоский текст без декоративных границ или анимаций. Режим программы чтения с экрана использует классический рендерер, поэтому параметр `tui` не имеет эффекта, пока он активен; прикрепленные [фоновые сеансы](/docs/ru/agent-view) все еще отрисовываются в полноэкранном режиме.

3140 3153 

3141* **Область действия**: [`Любой файл`](#scopes)3154* **Область действия**: [`Любой файл`](#scopes)

3142* **Тип**: Boolean3155* **Тип**: Boolean


3151}3164}

3152```3165```

3153 3166 

3154Требуется Claude Code v2.1.181 или позже.3167<h3 id="basheditdiffenabled">

3168 `bashEditDiffEnabled`

3169</h3>

3170 

3171Выберите, записывает ли Claude Code файлы, которые команда Bash изменяет в репозитории Git. Когда он их записывает, вы видите их diff в терминале после команды, и ваши [PostToolUse Bash hooks](/docs/ru/hooks#bash) получают список измененных файлов.

3172 

3173Установите ключ на `true`, чтобы записывать их в каждом режиме разрешений. Требуется Claude Code v2.1.269 или позже.

3174 

3175* **Область действия**: [`Пользователь или управляемый`](#scopes). `true` считается только из ваших пользовательских параметров, JSON, переданного с `--settings`, или [управляемых параметров](/docs/ru/managed-settings), поэтому `true` в `.claude/settings.json` или `.claude/settings.local.json` репозитория не может включить запись. `false` в любом файле репозитория все еще отключает его, если файл с [более высоким приоритетом](/docs/ru/settings#settings-precedence) не устанавливает `true`.

3176* **Тип**: Boolean

3177* **По умолчанию**: не установлено, поэтому Claude Code записывает изменения в режиме auto и режиме `bypassPermissions`, когда он направляет Claude на редактирование файлов через Bash

3178* **Переопределения для каждого сеанса**: [`CLAUDE_CODE_BASH_EDIT_DIFF`](/docs/ru/env-vars) имеет приоритет над этим ключом для одного сеанса

3179 

3180```json settings.json theme={null}

3181{

3182 "bashEditDiffEnabled": true

3183}

3184```

3155 3185 

3156<h3 id="companyannouncements">3186<h3 id="companyannouncements">

3157 `companyAnnouncements`3187 `companyAnnouncements`


3216 `editorMode`3246 `editorMode`

3217</h3>3247</h3>

3218 3248 

3219Выберите режим привязки клавиш для приглашения ввода.3249Выберите режим сочетаний клавиш для приглашения ввода.

3220 3250 

3221* **Область действия**: [`Любой файл`](#scopes)3251* **Область действия**: [`Любой файл`](#scopes)

3222* **Тип**: строка, одна из:3252* **Тип**: строка, одна из:


3335 Ограничения значков3365 Ограничения значков

3336</h4>3366</h4>

3337 3367 

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

3339 3369 

3340| Ограничение | Поведение |3370| Ограничение | Поведение |

3341| :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |3371| :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |


4297 `workflowSizeGuideline`4327 `workflowSizeGuideline`

4298</h3>4328</h3>

4299 4329 

4300Установите [количество агентов, на которое Claude нацелен](/docs/ru/workflows#set-a-size-guideline) в динамических рабочих процессах, которые он пишет. Claude Code отправляет значение Claude как совет, а не как принудительный предел: `"small"` просит менее 5 агентов, `"medium"` менее 15 и `"large"` менее 50. Выберите `"small"`, когда вы хотите ограничить, что тратит рабочий процесс. Требуется Claude Code v2.1.219 или позже.4330Установите [количество агентов, на которое Claude нацелен](/docs/ru/workflows#set-a-size-guideline) в динамических рабочих процессах, которые он пишет. Claude Code отправляет значение Claude как совет, а не как принудительный предел: `"small"` просит менее 5 агентов, `"medium"` менее 10, и `"large"` менее 50. Выберите `"small"`, когда вы хотите ограничить, что тратит рабочий процесс. Требуется Claude Code v2.1.219 или позже.

4301 4331 

4302* **Область действия**: [`Any file`](#scopes). Значение там имеет приоритет над выбором **Dynamic workflow size** в `/config`, который Claude Code хранит в `~/.claude.json`, и Claude Code скрывает эту строку, пока файл параметров устанавливает ключ.4332* **Область действия**: [`Any file`](#scopes). Значение там имеет приоритет над выбором **Dynamic workflow size** в `/config`, который Claude Code хранит в `~/.claude.json`, и Claude Code скрывает эту строку, пока файл параметров устанавливает ключ.

4303* **Тип**: строка, одна из:4333* **Тип**: строка, одна из:

4304 * `"unrestricted"`: нет рекомендации, поэтому Claude размер рабочего процесса в соответствии с задачей4334 * `"unrestricted"`: нет рекомендации, поэтому Claude размер рабочего процесса в соответствии с задачей

4305 * `"small"`: Claude нацелен на менее 5 агентов4335 * `"small"`: Claude нацелен на менее 5 агентов

4306 * `"medium"`: Claude нацелен на менее 15 агентов4336 * `"medium"`: Claude нацелен на менее 10 агентов

4307 * `"large"`: Claude нацелен на менее 50 агентов4337 * `"large"`: Claude нацелен на менее 50 агентов

4308* **По умолчанию**: `"medium"`4338* **По умолчанию**: `"medium"`, или `"small"` когда вы вошли в систему на плане Pro с Claude Code v2.1.271 или позже

4309 4339 

4310```json settings.json theme={null}4340```json settings.json theme={null}

4311{4341{


4401 `syncClaudeAiSkills`4431 `syncClaudeAiSkills`

4402</h3>4432</h3>

4403 4433 

4404Отключите загрузку [skills, которые вы включаете на claude.ai](/docs/ru/skills#how-synced-skills-behave). Claude Code загружает их в `~/.claude/skills/synced/` при запуске в [non-interactive mode](/docs/ru/headless) с флагом `-p` и [`CLAUDE_CODE_SYNC_SKILLS`](/docs/ru/env-vars#variables) установленным. Установите `false`, чтобы остановить эту загрузку и скрыть skills, которые она уже синхронизировала. Claude Code соблюдает только `false`: `true` то же самое, что и не установлено, и не включает синхронизацию.4434Отключите загрузку [skills, которые вы включаете на claude.ai](/docs/ru/skills#how-synced-skills-behave). Claude Code загружает их в `~/.claude/skills/synced/` в [terminal sessions, где вы входите с вашей claude.ai учётной записью](/docs/ru/skills#where-synced-skills-load), интерактивных или non-interactive, и в Cowork и cloud сессиях. Установите `false`, чтобы остановить эту загрузку и скрыть skills, которые она уже синхронизировала. Claude Code соблюдает только `false`: `true` то же самое, что и не установлено, и не включает синхронизацию, где она иначе отключена.

4405 4435 

4406* **Scope**: [`User, local, or managed`](#scopes). Репозиторий не может отключить это для вас.4436* **Scope**: [`User, local, or managed`](#scopes), и файлы, переданные с `--settings`. Репозиторий не может отключить это для вас.

4407* **Type**: Boolean4437* **Type**: Boolean

4408 * `false`: Claude Code прекращает загрузку синхронизированных skills и скрывает те, которые уже находятся в `~/.claude/skills/synced/`. В user или managed settings он также перемещает их в `~/.claude/skills/.trash/`4438 * `false`: Claude Code прекращает загрузку синхронизированных skills и скрывает те, которые уже находятся в `~/.claude/skills/synced/`. В user или managed settings он также перемещает их в `~/.claude/skills/.trash/`

4409 * `true`: то же самое, что и не установлено4439 * `true`: то же самое, что и не установлено

4410* **Default**: не установлено, поэтому non-interactive запуск с установленным `CLAUDE_CODE_SYNC_SKILLS` загружает skills4440* **Default**: не установлено, поэтому сессии, вошедшие с вашей claude.ai учётной записью, синхронизируют ваши skills

4411 4441 

4412Этот пример предотвращает загрузку skills учётной записи машиной, независимо от того, что сессия устанавливает в своём окружении:4442Этот пример предотвращает загрузку skills учётной записи машиной в любой сессии:

4413 4443 

4414```json settings.json theme={null}4444```json settings.json theme={null}

4415{4445{


4417}4447}

4418```4448```

4419 4449 

4450<h3 id="syncclaudeaiplugins">

4451 `syncClaudeAiPlugins`

4452</h3>

4453 

4454Отключите загрузку [plugins, которые вы включаете на claude.ai](/docs/ru/plugins-reference#synced-plugins). Claude Code загружает их в `~/.claude/plugins/synced/` в начале terminal sessions, где вы входите с вашей claude.ai учётной записью, и в Cowork и cloud сессиях, и загружает каждый как `<name>@synced`. Установите `false`, чтобы остановить эту загрузку и скрыть plugins, которые она уже синхронизировала. Claude Code соблюдает только `false`: `true` то же самое, что и не установлено, и не включает синхронизацию, где она иначе отключена. Требует Claude Code v2.1.273 или позже.

4455 

4456* **Scope**: [`User, local, or managed`](#scopes), и файлы, переданные с `--settings`. Репозиторий не может отключить это для вас.

4457* **Type**: Boolean

4458 * `false`: Claude Code прекращает загрузку синхронизированных plugins и скрывает те, которые уже находятся в `~/.claude/plugins/synced/`. В user или managed settings он также перемещает их в `~/.claude/plugins/.trash/`

4459 * `true`: то же самое, что и не установлено

4460* **Default**: не установлено, поэтому сессии, вошедшие с вашей claude.ai учётной записью, синхронизируют ваши plugins

4461 

4462Чтобы отключить один синхронизированный plugin вместо всех, установите `"<name>@synced": false` в [`enabledPlugins`](#enabledplugins).

4463 

4464Этот пример предотвращает загрузку plugins учётной записи машиной в любой сессии:

4465 

4466```json settings.json theme={null}

4467{

4468 "syncClaudeAiPlugins": false

4469}

4470```

4471 

4420<h3 id="allowedchannelplugins">4472<h3 id="allowedchannelplugins">

4421 `allowedChannelPlugins`4473 `allowedChannelPlugins`

4422</h3>4474</h3>


4858 4910 

4859Тип источника `git` работает с любым git хостингом, включая self-hosted GitLab и Bitbucket. Claude Code клонирует репозиторий с той же аутентификацией, которую использовал бы `git clone` на этой машине: настроенные credential helpers или SSH ключи. Provider token, такой как `GITHUB_TOKEN`, вступает в силу только через credential helper, который его читает. См. [Private repositories](/docs/ru/plugin-marketplaces#private-repositories) для деталей настройки.4911Тип источника `git` работает с любым git хостингом, включая self-hosted GitLab и Bitbucket. Claude Code клонирует репозиторий с той же аутентификацией, которую использовал бы `git clone` на этой машине: настроенные credential helpers или SSH ключи. Provider token, такой как `GITHUB_TOKEN`, вступает в силу только через credential helper, который его читает. См. [Private repositories](/docs/ru/plugin-marketplaces#private-repositories) для деталей настройки.

4860 4912 

4861Для источников `github` и `git`, установите `"skipLfs": true` внутри объекта `source`, рядом с `repo` или `url`, чтобы пропустить Git LFS загрузки, когда Claude Code клонирует или обновляет репозиторий marketplace. LFS pointer файлы остаются как pointers вместо загрузки их контента. Используйте это, когда репозиторий содержит большие LFS объекты, не связанные с контентом plugin.4913Для источников `github` и `git`, Claude Code никогда не загружает контент [Git LFS](https://git-lfs.com) когда он клонирует репозиторий marketplace для добавления или обновления. LFS-отслеживаемые файлы проверяются как pointer файлы, и вывод добавления или обновления сообщает, сколько их.

4914 

4915Поле `skipLfs` внутри объекта `source` принимается и не имеет эффекта. До v2.1.274, Claude Code загружал контент LFS, если вы не установили `"skipLfs": true`.

4862 4916 

4863Для источника `url`, установите `headersHelper` внутри объекта `source`, когда credential в `headers` истекает и команда должна произвести свежий. Требует Claude Code v2.1.238 или позже. Для того, что команда должна печатать и где Claude Code её запускает, см. [Write the headersHelper command](/docs/ru/plugin-marketplaces#write-the-headershelper-command), и для случаев, когда Claude Code её не запускает, см. [When Claude Code skips a headersHelper command](/docs/ru/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output). Как только вы установите `headersHelper` на URL `https://` marketplace, Claude Code запускает команду в двух точках, переиспользуя вывод одного запуска до 60 секунд:4917Для источника `url`, установите `headersHelper` внутри объекта `source`, когда credential в `headers` истекает и команда должна произвести свежий. Требует Claude Code v2.1.238 или позже. Для того, что команда должна печатать и где Claude Code её запускает, см. [Write the headersHelper command](/docs/ru/plugin-marketplaces#write-the-headershelper-command), и для случаев, когда Claude Code её не запускает, см. [When Claude Code skips a headersHelper command](/docs/ru/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output). Как только вы установите `headersHelper` на URL `https://` marketplace, Claude Code запускает команду в двух точках, переиспользуя вывод одного запуска до 60 секунд:

4864 4918 


4934}4988}

4935```4989```

4936 4990 

4991Built-in plugins сохраняют свои опции под тем же ключом с суффиксом `@builtin`. Например, [**Project instructions**](/docs/ru/memory#choose-which-instruction-files-load) настройка, которая контролирует, читает ли Claude Code файлы `AGENTS.md`, — это `pluginConfigs["agents-md@builtin"].options.instructionFiles`.

4992 

4937Claude Code игнорирует project и local записи, потому что он подставляет эти значения в plugin hook, MCP и LSP конфигурации, и клонированный репозиторий не должен быть в состоянии их поставлять. До v2.1.207, project и local settings также читались.4993Claude Code игнорирует project и local записи, потому что он подставляет эти значения в plugin hook, MCP и LSP конфигурации, и клонированный репозиторий не должен быть в состоянии их поставлять. До v2.1.207, project и local settings также читались.

4938 4994 

4939<h2 id="mcp">4995<h2 id="mcp">


5020Блокируйте определённые серверы MCP. Claude Code отказывается загружать совпадающий сервер, где бы он ни был определён, включая серверы плагинов, серверы, переданные с `--mcp-config`, серверы из `managed-mcp.json`, серверы из [`managedMcpServers`](#managedmcpservers) и соединители claude.ai, [которые он получает сам](/docs/ru/mcp#how-connectors-reach-claude-code). Внутрипроцессные серверы `type: "sdk"` освобождены; приложение, которое запустило сеанс, регистрирует их.5076Блокируйте определённые серверы MCP. Claude Code отказывается загружать совпадающий сервер, где бы он ни был определён, включая серверы плагинов, серверы, переданные с `--mcp-config`, серверы из `managed-mcp.json`, серверы из [`managedMcpServers`](#managedmcpservers) и соединители claude.ai, [которые он получает сам](/docs/ru/mcp#how-connectors-reach-claude-code). Внутрипроцессные серверы `type: "sdk"` освобождены; приложение, которое запустило сеанс, регистрирует их.

5021 5077 

5022* **Scope**: [`Any file`](#scopes). Записи из каждого файла объединяются в один список запретов, и [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) это не меняет. Разверните его в управляемых параметрах, чтобы обеспечить его.5078* **Scope**: [`Any file`](#scopes). Записи из каждого файла объединяются в один список запретов, и [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) это не меняет. Разверните его в управляемых параметрах, чтобы обеспечить его.

5023* **Type**: массив объектов, каждый с ровно одним ключом: `serverName`, любая непустая строка, поэтому отображаемое имя соединителя claude.ai, такое как `"claude.ai Slack"`, работает; `serverCommand`, массив команды и её аргументов, совпадающих точно; или `serverUrl`, шаблон URL с подстановочными знаками `*`5079* **Type**: массив объектов, каждый с ровно одним ключом: `serverName`, строка, поэтому отображаемое имя соединителя claude.ai, такое как `"claude.ai Slack"`, работает; `serverCommand`, массив команды и её аргументов, совпадающих точно; или `serverUrl`, шаблон URL с подстановочными знаками `*`

5024* **Default**: не установлено, поэтому ни один сервер не блокируется; пустой массив также ничего не блокирует5080* **Default**: не установлено, поэтому ни один сервер не блокируется; пустой массив также ничего не блокирует

5025 5081 

5026```json settings.json theme={null}5082```json settings.json theme={null}


5037 `disableClaudeAiConnectors`5093 `disableClaudeAiConnectors`

5038</h3>5094</h3>

5039 5095 

5040Отключите [соединители MCP claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai), [которые Claude Code получает сам](/docs/ru/mcp#how-connectors-reach-claude-code), чтобы он ни получал, ни подключал их. `true` в любом файле параметров применяется: проверенный в репозитории проект `.claude/settings.json` может отказать репозиторию в этих соединителях, но проектный уровень `false` не может переопределить пользовательский или управляемый уровень `true`. Требует Claude Code версии 2.1.182 или позже.5096Отключите [соединители MCP claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai), [которые Claude Code получает сам](/docs/ru/mcp#how-connectors-reach-claude-code), чтобы он ни получал, ни подключал их. `true` в любом файле параметров применяется: проверенный в репозитории проект `.claude/settings.json` может отказать репозиторию в этих соединителях, но проектный уровень `false` не может переопределить пользовательский или управляемый уровень `true`.

5041 5097 

5042* **Scope**: [`Any file`](#scopes)5098* **Scope**: [`Any file`](#scopes)

5043* **Type**: Boolean5099* **Type**: Boolean


5052}5108}

5053```5109```

5054 5110 

5055Серверы, которые вы явно передаёте с `--mcp-config`, не затрагиваются. Чтобы блокировать отдельные соединители вместо всех, используйте [`deniedMcpServers`](#deniedmcpservers). См. [Отключить соединители claude.ai](/docs/ru/mcp#disable-claude-ai-connectors). Требует Claude Code версии 2.1.182 или позже.5111Серверы, которые вы явно передаёте с `--mcp-config`, не затрагиваются. Чтобы блокировать отдельные соединители вместо всех, используйте [`deniedMcpServers`](#deniedmcpservers). См. [Отключить соединители claude.ai](/docs/ru/mcp#disable-claude-ai-connectors).

5056 5112 

5057<h3 id="disabledmcpjsonservers">5113<h3 id="disabledmcpjsonservers">

5058 `disabledMcpjsonServers`5114 `disabledMcpjsonServers`


5266}5322}

5267```5323```

5268 5324 

5269До v2.1.179 значение по умолчанию было `auto`. Значение `iterm2` требует Claude Code v2.1.186 или позже.5325Значение `iterm2` требует Claude Code v2.1.186 или позже.

5270 5326 

5271<span id="worktree-settings" />5327<span id="worktree-settings" />

5272 5328 


5791 5847 

5792См. [Ограничить вход в вашу организацию](/docs/ru/authentication#restrict-login-to-your-organization) для того, как Claude Code обрабатывает входы Claude Console, другие пути входа и учетные данные окружения.5848См. [Ограничить вход в вашу организацию](/docs/ru/authentication#restrict-login-to-your-organization) для того, как Claude Code обрабатывает входы Claude Console, другие пути входа и учетные данные окружения.

5793 5849 

5850<h3 id="gatewayinternalnetworks">

5851 `gatewayInternalNetworks`

5852</h3>

5853 

5854Объявите публичные блоки IPv4, из которых ваша организация нумерует свою внутреннюю сеть, чтобы `/login` принимал [облачный шлюз](/docs/ru/claude-apps-gateway) там. Требуется Claude Code v2.1.268 или позже.

5855 

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

5857 

5858* **Scope**: [`Managed`](#scopes). Read only from a source on the machine: `managed-settings.json`, the macOS plist or Windows HKLM registry, or a policy helper. Claude Code ignores it in HKCU and server-managed settings.

5859* **Type**: array of strings, at most four IPv4 CIDR blocks, each `/8` to `/32`, not overlapping one another, and none overlapping private space.

5860* **Default**: unset, so `/login` accepts only gateways on private addresses

5861 

5862```json managed-settings.json theme={null}

5863{

5864 "gatewayInternalNetworks": ["203.0.113.0/24"]

5865}

5866```

5867 

5868Замените диапазон документации в примере на ваш собственный блок. Claude Code отказывает диапазонам документации, диапазонам, которые используют локально клиенты VPN и NAT64, и зарезервированному пространству, из которого не нумеруется ни одна сеть, такому как многоадресная рассылка.

5869 

5870Если запись недействительна или значение не является списком строк, `/login` называет проблему и отказывает каждому новому входу через облачный шлюз на машине до тех пор, пока вы не исправите значение. Существующие входы продолжают работать. См. [Разрешить шлюз на адресном пространстве общего пользования, которым вы владеете](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) для полных правил и того, что видят разработчики.

5871 

5794<h3 id="gcpauthrefresh">5872<h3 id="gcpauthrefresh">

5795 `gcpAuthRefresh`5873 `gcpAuthRefresh`

5796</h3>5874</h3>


6105 6183 

6106Claude Code по-прежнему принимает `--mcp-config`, чьи серверы являются встроенными записями `type: "sdk"`, поэтому Agent SDK и расширение VS Code продолжают работать. Пользователи по-прежнему могут добавлять серверы с помощью `claude mcp add` или файла `.mcp.json`; для управления отдельными серверами также установите [`allowedMcpServers`](/docs/ru/managed-mcp). Требуется Claude Code v2.1.193 или позже.6184Claude Code по-прежнему принимает `--mcp-config`, чьи серверы являются встроенными записями `type: "sdk"`, поэтому Agent SDK и расширение VS Code продолжают работать. Пользователи по-прежнему могут добавлять серверы с помощью `claude mcp add` или файла `.mcp.json`; для управления отдельными серверами также установите [`allowedMcpServers`](/docs/ru/managed-mcp). Требуется Claude Code v2.1.193 или позже.

6107 6185 

6108В облачных сеансах Claude Code также игнорирует обновления MCP, доставленные сервером в середине сеанса, путь позади конфигурации облачного сеанса и SDK `setMcpServers()` на удаленных рабочих. Встроенные записи `type: "sdk"` остаются исключенными там же. До v2.1.239 доставленный сервером `--mcp-config` блокировал запуск облачного сеанса.6186В облачных сеансах Claude Code также игнорирует обновления MCP, доставленные сервером в середине сеанса, путь позади конфигурации облачного сеанса и SDK `setMcpServers()` вызовов, которые достигают этих сеансов. Встроенные записи `type: "sdk"` остаются исключенными там же. До v2.1.239 доставленный сервером `--mcp-config` блокировал запуск облачного сеанса.

6109 6187 

6110<h3 id="forceremotesettingsrefresh">6188<h3 id="forceremotesettingsrefresh">

6111 `forceRemoteSettingsRefresh`6189 `forceRemoteSettingsRefresh`


6170 6248 

6171* **[`policyHelper`](#policyhelper)**: Claude Code соблюдает это только когда источник с наивысшим приоритетом, который содержит ключ политики, является политикой MDM или файлом управляемых параметров, поэтому при управляемых параметрах сервера это не применяется.6249* **[`policyHelper`](#policyhelper)**: Claude Code соблюдает это только когда источник с наивысшим приоритетом, который содержит ключ политики, является политикой MDM или файлом управляемых параметров, поэтому при управляемых параметрах сервера это не применяется.

6172* **[`modelOverrides`](#modeloverrides)**: связан с `availableModels`. Claude Code берет `modelOverrides` из источника с наивысшим приоритетом, который его устанавливает, если только более высокий источник не устанавливает `availableModels` без `modelOverrides`. В этом случае он игнорирует `modelOverrides` из каждого источника.6250* **[`modelOverrides`](#modeloverrides)**: связан с `availableModels`. Claude Code берет `modelOverrides` из источника с наивысшим приоритетом, который его устанавливает, если только более высокий источник не устанавливает `availableModels` без `modelOverrides`. В этом случае он игнорирует `modelOverrides` из каждого источника.

6173* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) и значение `"gateway"` [`forceLoginMethod`](#forceloginmethod)**: Claude Code никогда не читает ни один из них из управляемых параметров сервера, поэтому значение там ни не применяется, ни не скрывает значение, установленное в политике MDM или файле управляемых параметров. Среди источников администратора на машине только источник с наивысшим рангом, который содержит ключ политики, поставляет их, независимо от того, присутствуют ли также управляемые параметры сервера.6251* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) и значение `"gateway"` [`forceLoginMethod`](#forceloginmethod)**: Claude Code никогда не читает ни один из них из управляемых параметров сервера, поэтому значение там ни не применяется, ни не скрывает значение, установленное в политике MDM или файле управляемых параметров. Среди источников администратора на машине только источник с наивысшим рангом, который содержит ключ политики, поставляет их, независимо от того, присутствуют ли также управляемые параметры сервера.

6174 6252 

6175Чтобы подтвердить, какие источники объединены на машине, запустите `/status` и [прочитайте строку `Setting sources`](/docs/ru/managed-settings#read-the-source-in-/status).6253Чтобы подтвердить, какие источники объединены на машине, запустите `/status` и [прочитайте строку `Setting sources`](/docs/ru/managed-settings#read-the-source-in-/status).

6176 6254 

setup.md +1 −1

Details

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

203</h2>203</h2>

204 204 

205Claude Code требует учетную запись Pro, Max, Team, Enterprise или Console. Бесплатный план Claude.ai не включает доступ к Claude Code. Вы также можете использовать Claude Code с поставщиком API третьей стороны, таким как [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry).205Claude Code требует учетную запись Pro, Max, Team, Enterprise или Console. Бесплатный план claude.ai не включает доступ к Claude Code. Вы также можете использовать Claude Code с поставщиком API третьей стороны, таким как [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry).

206 206 

207После установки войдите, выполнив `claude` и следуя подсказкам браузера. Если установлена переменная окружения `ANTHROPIC_API_KEY`, Claude Code попросит вас один раз одобрить ключ вместо открытия браузера. См. [Аутентификация](/docs/ru/authentication) для всех типов учетных записей и параметров настройки команды.207После установки войдите, выполнив `claude` и следуя подсказкам браузера. Если установлена переменная окружения `ANTHROPIC_API_KEY`, Claude Code попросит вас один раз одобрить ключ вместо открытия браузера. См. [Аутентификация](/docs/ru/authentication) для всех типов учетных записей и параметров настройки команды.

208 208 

skills.md +76 −59

Details

122 122 

123Место сохранения skill определяет, какие сеансы его загружают. Сохраните его в домашнем каталоге, чтобы получить его во всех проектах, зафиксируйте его в репозитории, чтобы поделиться им со всеми, кто там работает, или распространяйте его через plugin или управляемые параметры, чтобы охватить всю команду.123Место сохранения skill определяет, какие сеансы его загружают. Сохраните его в домашнем каталоге, чтобы получить его во всех проектах, зафиксируйте его в репозитории, чтобы поделиться им со всеми, кто там работает, или распространяйте его через plugin или управляемые параметры, чтобы охватить всю команду.

124 124 

125| Местоположение | Путь | Загружается в |125| Расположение | Путь | Загружается в |

126| :------------------- | :------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |126| :------------------- | :------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` в [каталоге управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms) | Все пользователи на машинах, где ваша организация его развертывает |127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` в [каталоге управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms) | Все пользователи на машинах, где ваша организация его развертывает |

128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Все ваши проекты на этой машине, но не [сеансы Cowork или облачные сеансы](#skills-in-cowork-and-cloud-sessions) |128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Все ваши проекты на этой машине, но не [Cowork или облачные сеансы](#skills-in-cowork-and-cloud-sessions) |

129| Project | `.claude/skills/<skill-name>/SKILL.md` | Сеансы в этом репозитории. Зафиксируйте его, чтобы ваша команда тоже его получила |129| Project | `.claude/skills/<skill-name>/SKILL.md` | Сеансы в этом репозитории. Зафиксируйте его, чтобы ваша команда тоже его получила |

130| Nested | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Сеансы, запущенные в `<subdir>` или ниже. Сеанс, запущенный выше, загружает skill один раз, когда Claude работает с файлами там. См. [монорепозитории и подкаталоги](#discovery-from-parent-and-nested-directories) |130| Nested | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Сеансы, запущенные в `<subdir>` или ниже. Сеанс, запущенный выше, загружает skill один раз, когда Claude работает с файлами там. См. [monorepos и подкаталоги](#discovery-from-parent-and-nested-directories) |

131| Additional directory | `.claude/skills/<skill-name>/SKILL.md` в каталоге, который вы передаете с `--add-dir` | Этот сеанс. См. [каталоги вне проекта](#skills-from-additional-directories) |131| Additional directory | `.claude/skills/<skill-name>/SKILL.md` в каталоге, который вы передаете с `--add-dir` | Этот сеанс. См. [каталоги вне проекта](#skills-from-additional-directories) |

132| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Везде, где [plugin](/docs/ru/plugins) включен, как `/plugin-name:skill-name` |132| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Везде, где [plugin](/docs/ru/plugins) включен, как `/plugin-name:skill-name` |

133| claude.ai account | Skills, которые вы включаете в параметрах claude.ai | Сеансы Cowork и облачные сеансы. См. [Skills, синхронизированные с claude.ai](#how-synced-skills-behave) для локальных сеансов |133| claude.ai account | Skills, которые вы включаете в параметрах claude.ai | Cowork и облачные сеансы, а также сеансы терминала, где вы входите с этой учетной записью. См. [Skills синхронизированные с claude.ai](#how-synced-skills-behave) |

134 134 

135Папки Skill также следуют этим правилам:135Папки Skill также следуют этим правилам:

136 136 

137* **Symlinked folders**: запись `<skill-name>` в местоположении enterprise, personal или project может быть символической ссылкой на каталог в другом месте на диске. Claude Code читает `SKILL.md` из целевого объекта и загружает skill один раз, даже если несколько местоположений указывают на один и тот же целевой объект. Plugin skills [обрабатывают символические ссылки по-другому](/docs/ru/plugins-reference#share-files-within-a-marketplace-with-symlinks).137* **Symlinked folders**: запись `<skill-name>` в расположении enterprise, personal или project может быть символической ссылкой на каталог в другом месте на диске. Claude Code читает `SKILL.md` из целевого объекта и загружает skill один раз, даже если несколько расположений указывают на один и тот же целевой объект. Plugin skills [обрабатывают символические ссылки по-другому](/docs/ru/plugins-reference#share-files-within-a-marketplace-with-symlinks).

138* **Reserved name**: не называйте папку skill `synced` в любом регистре. Claude Code использует `~/.claude/skills/synced/` для [skills, загруженных с claude.ai](#where-synced-skills-load) и пропускает skill, который вы создали с этим именем в местоположениях enterprise, personal и project.138* **Reserved name**: не называйте папку skill `synced` в любом регистре. Claude Code использует `~/.claude/skills/synced/` для [skills загруженных с claude.ai](#where-synced-skills-load) и пропускает skill, который вы создаете с этим именем в расположениях enterprise, personal и project.

139* **Command files**: файл Markdown в `.claude/commands/` — это более старый формат, который все еще работает. Он поддерживает тот же [frontmatter](#frontmatter-reference), кроме `name` и `paths`. Чтобы найти имя, которое вы вводите для его вызова, см. [Как skill получает имя команды](#how-a-skill-gets-its-command-name). Предпочитайте skill для новой работы, так как skills также поддерживают [вспомогательные файлы](#add-supporting-files).139* **Command files**: файл Markdown в `.claude/commands/` — это более старый формат, который все еще работает. Он поддерживает то же [frontmatter](#frontmatter-reference), кроме `name` и `paths`. Чтобы найти имя, которое вы вводите для его вызова, см. [Как skill получает имя команды](#how-a-skill-gets-its-command-name). Предпочитайте skill для новой работы, так как skills также поддерживают [вспомогательные файлы](#add-supporting-files).

140* **Skill folder as a plugin**: добавьте `.claude-plugin/plugin.json` в папку skill, и она загружается как [plugin](/docs/ru/plugins-reference#skills-directory-plugins) с именем `<name>@skills-dir`, поэтому он может объединять agents, hooks и MCP servers. В `.claude/skills/` проекта это требует сначала принять диалог доверия рабочей области.140* **Skill folder as a plugin**: добавьте `.claude-plugin/plugin.json` в папку skill, и она загружается как [plugin](/docs/ru/plugins-reference#skills-directory-plugins) с именем `<name>@skills-dir`, поэтому она может объединять agents, hooks и MCP servers. В `.claude/skills/` проекта это требует сначала принять диалог доверия рабочей области.

141 141 

142<h3 id="discovery-from-parent-and-nested-directories">142<h3 id="discovery-from-parent-and-nested-directories">

143 Загружайте skills в монорепозитории и подкаталоги143 Загружайте skills в monorepos и подкаталоги

144</h3>144</h3>

145 145 

146Claude Code загружает project skills из `.claude/skills/` в каталоге, где вы его запускаете, и в каждом родительском каталоге вплоть до корня репозитория, поэтому запуск в `packages/frontend/` все еще подхватывает skills, определенные в корне. Когда вы [перемещаете сеанс с `/cd`](/docs/ru/permissions#move-the-session-to-another-directory) на v2.1.246 или позже, Claude Code добавляет project skills нового каталога.146Claude Code загружает project skills из `.claude/skills/` в каталоге, где вы его запускаете, и в каждом родительском каталоге вплоть до корня репозитория, поэтому запуск в `packages/frontend/` все еще подхватывает skills, определенные в корне. Когда вы [перемещаете сеанс с `/cd`](/docs/ru/permissions#move-the-session-to-another-directory) на v2.1.246 или позже, Claude Code добавляет project skills нового каталога.


149 149 

150Когда вложенный skill имеет то же имя, что и другой skill, оба остаются доступными. С skill `deploy` в корне репозитория и другим в `apps/web/.claude/skills/`:150Когда вложенный skill имеет то же имя, что и другой skill, оба остаются доступными. С skill `deploy` в корне репозитория и другим в `apps/web/.claude/skills/`:

151 151 

152* `/deploy` запускает skill корня. Claude Code также перечисляет варианты с квалификацией по каталогу для Claude с инструкцией вызвать тот, чей каталог содержит файлы, над которыми он работает, поэтому вложенный skill все еще применяется к работе в `apps/web/`.152* `/deploy` запускает root skill. Claude Code также перечисляет варианты с квалификацией каталога для Claude с инструкцией вызвать тот, чей каталог содержит файлы, над которыми он работает, поэтому вложенный skill все еще применяется к работе в `apps/web/`.

153* `/apps/web:deploy` запускает вложенный skill самостоятельно. Его описание называет каталог, к которому он применяется.153* `/apps/web:deploy` запускает вложенный skill самостоятельно. Его описание называет каталог, к которому он применяется.

154 154 

155<h3 id="skills-from-additional-directories">155<h3 id="skills-from-additional-directories">

156 Загружайте skills из каталога вне проекта156 Загружайте skills из каталога вне проекта

157</h3>157</h3>

158 158 

159Когда вы добавляете каталог с `--add-dir` или `/add-dir`, Claude Code загружает skills в `.claude/skills/` этого каталога, вместе с его `.claude/commands/` и `.claude/agents/`. Каталоги, которые Agent SDK добавляет через [`additionalDirectories`](/docs/ru/agent-sdk/typescript#options) в TypeScript или [`add_dirs`](/docs/ru/agent-sdk/python#claudeagentoptions) в Python, загружаются так же, потому что SDK передает их как `--add-dir`. Параметр `permissions.additionalDirectories` в `settings.json` предоставляет только доступ к файлам и не загружает ничего из этого.159Когда вы добавляете каталог с `--add-dir` или `/add-dir`, Claude Code загружает skills в `.claude/skills/` этого каталога, вместе с его `.claude/commands/` и `.claude/agents/`. Каталоги, которые Agent SDK добавляет через [`additionalDirectories`](/docs/ru/agent-sdk/typescript#options) в TypeScript или [`add_dirs`](/docs/ru/agent-sdk/python#claudeagentoptions) в Python, загружаются так же, потому что SDK передает их как `--add-dir`. Параметр `permissions.additionalDirectories` в `settings.json` предоставляет доступ только к файлам и не загружает ничего из этого.

160 160 

161Claude Code отслеживает `.claude/skills/` в каталоге, который вы передаете с `--add-dir` при запуске, как описано в [Редактируйте skill во время сеанса](#live-change-detection). Он не отслеживает `.claude/commands/` или `.claude/agents/` добавленного каталога, поэтому перезапустите сеанс после изменения файла там.161Claude Code отслеживает `.claude/skills/` в каталоге, который вы передаете с `--add-dir` при запуске, как описано в [Редактируйте skill во время сеанса](#live-change-detection). Он не отслеживает `.claude/commands/` или `.claude/agents/` добавленного каталога, поэтому перезапустите сеанс после изменения файла там.

162 162 


166 Разрешайте skills, которые имеют одинаковое имя166 Разрешайте skills, которые имеют одинаковое имя

167</h3>167</h3>

168 168 

169Когда два skills имеют одинаковое имя, откуда каждый из них пришел, определяет, какой из них запускает `/name`. Таблица охватывает местоположения enterprise, personal, project, nested, plugin и claude.ai, встроенные skills и файлы команд:169Когда два skills имеют одинаковое имя, откуда каждый из них пришел, решает, какой из них запускает `/name`. Таблица охватывает расположения enterprise, personal, project, nested, plugin и claude.ai, встроенные skills и command files:

170 170 

171| Одинаковое имя в | Какой из них запускается |171| Одинаковое имя в | Какой из них запускается |

172| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |172| :-------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

173| Два из enterprise, personal и project | Enterprise над personal, и personal над project. С `deploy` в обоих `~/.claude/skills/` и `.claude/skills/` проекта, `/deploy` запускает personal |173| Два из enterprise, personal и project | Enterprise над personal, и personal над project. С `deploy` в обоих `~/.claude/skills/` и `.claude/skills/` проекта, `/deploy` запускает personal |

174| Любое из этих местоположений и [встроенный skill](#bundled-skills) | Ваш skill заменяет встроенную команду, но не ее aliases. Project skill `code-review` заменяет `/code-review`, и встроенный alias `/review` никогда не запускает ваш skill |174| Любое из этих расположений и [встроенный skill](#bundled-skills) | Ваш skill заменяет встроенную команду, но не ее aliases. Project skill `code-review` заменяет `/code-review`, и встроенный alias `/review` никогда не запускает ваш skill |

175| Skill и файл в `.claude/commands/` | Skill |175| Skill и файл в `.claude/commands/` | Skill |

176| Project-root skill и вложенный skill | Оба загружаются. См. [монорепозитории и подкаталоги](#discovery-from-parent-and-nested-directories) |176| Project-root skill и вложенный skill | Оба загружаются. См. [monorepos и подкаталоги](#discovery-from-parent-and-nested-directories) |

177| Plugin skill и skill в любом из вышеперечисленных местоположений | Оба загружаются, потому что plugin skills имеют пространство имен как `/plugin-name:skill-name` |177| Plugin skill и skill в любом из расположений выше | Оба загружаются, потому что plugin skills имеют пространство имен как `/plugin-name:skill-name` |

178| Любое из вышеперечисленного и skill, синхронизированный с claude.ai | Другой skill или команда. См. [Когда имя синхронизированного skill совпадает с другой командой](#when-a-synced-skill-name-matches-another-command) |178| Любое из вышеперечисленного и skill [синхронизированный с вашей учетной записью claude.ai](#how-synced-skills-behave) | Другой skill или команда. Синхронизированный skill все еще запускается как `/anthropic-skills:<name>`. См. [Когда имя синхронизированного skill совпадает с другой командой](#when-a-synced-skill-name-matches-another-command) |

179 179 

180<h3 id="skills-in-cowork-and-cloud-sessions">180<h3 id="skills-in-cowork-and-cloud-sessions">

181 Используйте skills в сеансах Cowork и облачных сеансах181 Используйте skills в Cowork и облачных сеансах

182</h3>182</h3>

183 183 

184Сеансы [Cowork](https://claude.com/product/cowork) и [облачные сеансы](/docs/ru/cloud-environments#what-carries-over-from-your-setup), включая [routines](/docs/ru/routines), не читают `~/.claude/skills/` на вашей машине. Как интерактивные, так и запланированные сеансы Cowork загружают skills, включенные для вашей учетной записи claude.ai, синхронизированные при запуске сеанса; управляйте ими из **Customize** в боковой панели Desktop app или из параметров skills на claude.ai. Облачные сеансы дополнительно загружают project skills, зафиксированные в `.claude/skills/` клонированного репозитория.184Сеансы [Cowork](https://claude.com/product/cowork) и [облачные сеансы](/docs/ru/cloud-environments#what-carries-over-from-your-setup), включая [routines](/docs/ru/routines), не читают `~/.claude/skills/` на вашей машине. Как интерактивные, так и запланированные сеансы Cowork загружают skills, включенные для вашей учетной записи claude.ai, синхронизированные при запуске сеанса; управляйте ими из **Customize** в боковой панели Desktop app или из параметров skills на claude.ai. Облачные сеансы дополнительно загружают project skills, зафиксированные в `.claude/skills/` клонированного репозитория.

185 185 

186Если skill существует только в `~/.claude/skills/` на вашей машине, Claude Code сообщает, что skill не найден, когда [routine](/docs/ru/routines) его вызывает, потому что каждый запуск routine запускается как свежий удаленный сеанс. Чтобы сделать personal skill доступным в этих сеансах:186Если skill существует только в `~/.claude/skills/` на вашей машине, Claude Code сообщает, что skill не найден, когда [routine](/docs/ru/routines) его вызывает, потому что каждый запуск routine запускается как свежий облачный сеанс. Чтобы сделать personal skill доступным в этих сеансах:

187 187 

188* Для сеансов Cowork и облачных сеансов включите skill для вашей учетной записи claude.ai.188* Для Cowork и облачных сеансов включите skill для вашей учетной записи claude.ai.

189* Для облачных сеансов вы можете вместо этого зафиксировать skill в `.claude/skills/` репозитория или отправить его в plugin, объявленном в `.claude/settings.json` репозитория. Plugins, объявленные в репозитории, [устанавливаются при запуске сеанса](/docs/ru/cloud-environments#what-carries-over-from-your-setup); plugins, включенные только в параметрах пользователя, не передаются.189* Для облачных сеансов вы можете вместо этого зафиксировать skill в `.claude/skills/` репозитория или отправить его в plugin, объявленном в `.claude/settings.json` репозитория. Plugins, объявленные в репозитории, [устанавливаются при запуске сеанса](/docs/ru/cloud-environments#what-carries-over-from-your-setup); plugins, включенные только в параметрах пользователя, не передаются.

190 190 

191[Desktop scheduled tasks](/docs/ru/desktop-scheduled-tasks) запускаются локально на вашей машине, поэтому они загружают `~/.claude/skills/`.191[Desktop scheduled tasks](/docs/ru/desktop-scheduled-tasks) запускаются локально на вашей машине, поэтому они загружают `~/.claude/skills/`.

192 192 

193<h3 id="how-synced-skills-behave">193<h3 id="how-synced-skills-behave">

194 Skills, синхронизированные с claude.ai194 Skills синхронизированные с claude.ai

195</h3>195</h3>

196 196 

197Этот раздел применяется к вам, если вы включили skills для вашей учетной записи claude.ai. В сеансах Cowork и облачных сеансах Claude Code загружает эти skills без какой-либо настройки на вашей машине. В любом другом сеансе на вашей машине Claude Code загружает их только после того, как вы включите синхронизацию с [`CLAUDE_CODE_SYNC_SKILLS`](/docs/ru/env-vars#variables) в неинтерактивном запуске, как описано в [Где загружаются синхронизированные skills](#where-synced-skills-load).197Этот раздел применяется к вам, если вы используете Cowork или облачные сеансы, или входите в Claude Code в вашем терминале с учетной записью claude.ai. В этих сеансах Claude Code загружает skills, включенные для вашей учетной записи claude.ai, без какой-либо настройки на вашей части, как описано в [Где загружаются синхронизированные skills](#where-synced-skills-load). Эти skills включают те, которые вы создаете или включаете в параметрах claude.ai, skills, которые предоставляет ваша организация там, и встроенные skills Anthropic, такие как `pdf` и `xlsx`.

198 198 

199Claude Code загружает синхронизированный skill с вашей учетной записи, а не читает файл, который вы написали на машине, где запускается сеанс, поэтому он применяет правила к синхронизированным skills, которые не применяются к skills, которые вы храните в [местоположениях skills](#where-skills-live).199Claude Code загружает синхронизированный skill с вашей учетной записи, а не читает файл, который вы написали на машине, где запускается сеанс, поэтому он применяет правила к синхронизированным skills, которые не применяются к skills, которые вы храните в [расположениях skills](#where-skills-live).

200 200 

201<h4 id="where-synced-skills-load">201<h4 id="where-synced-skills-load">

202 Где загружаются синхронизированные skills202 Где загружаются синхронизированные skills

203</h4>203</h4>

204 204 

205В сеансе Cowork или облачном сеансе Claude Code загружает skills, включенные для вашей учетной записи claude.ai, и [Skills в сеансах Cowork и облачных сеансах](#skills-in-cowork-and-cloud-sessions) говорит, как выбрать, какие skills получают эти сеансы.205В Cowork или облачном сеансе Claude Code загружает skills, включенные для вашей учетной записи claude.ai, и [Skills в Cowork и облачных сеансах](#skills-in-cowork-and-cloud-sessions) говорит, как выбрать, какие skills получают эти сеансы.

206 206 

207В любом другом сеансе на вашей машине Claude Code загружает их только после того, как вы загрузите их один раз в неинтерактивном запуске:207В вашем терминале Claude Code синхронизирует эти skills в сеансах, где вы входите с вашей учетной записью claude.ai. Когда сеанс запускается, Claude Code загружает skills вашей учетной записи в `~/.claude/skills/synced/` в фоновом режиме, затем проверяет claude.ai на предмет изменений примерно каждые 10 минут во время работы сеанса. Когда проверка обнаруживает, что skill был добавлен, отредактирован или отключен на claude.ai, Claude Code добавляет, обновляет или удаляет его в работающем сеансе без перезагрузки. Синхронизация в сеансах терминала требует Claude Code v2.1.273 или позже.

208 208 

209<Steps>209Синхронизация никогда не задерживает запуск, потому что Claude ждет загрузки skill только когда он вызывает этот skill. Короткий [неинтерактивный](/docs/ru/headless) запуск может поэтому завершиться до того, как недавно добавленный skill загрузится, в этом случае более поздний сеанс загружает его. Чтобы сделать неинтерактивный запуск загружающим ваши skills и ожидающим список перед ответом на prompt, установите [`CLAUDE_CODE_SYNC_SKILLS`](/docs/ru/env-vars#variables) на `1`.

210 <Step title="Включите skills для вашей учетной записи claude.ai">

211 Включите каждый skill, который вам нужен для вашей учетной записи claude.ai, как описано в [Skills в сеансах Cowork и облачных сеансах](#skills-in-cowork-and-cloud-sessions). Claude Code загружает только skills, которые вы включили, и ему нужен ваш вход в claude.ai для их загрузки.

212 </Step>

213 210 

214 <Step title="Запустите Claude Code в неинтерактивном режиме с включенной синхронизацией">211Claude Code синхронизирует только в сеансе, который входит с вашей учетной записью claude.ai и [получает флаги функций от Anthropic](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Он не синхронизирует в этих сеансах:

215 Claude Code загружает синхронизированные skills только когда вы запускаете его в [неинтерактивном режиме](/docs/ru/headless) с флагом `-p` и устанавливаете [`CLAUDE_CODE_SYNC_SKILLS`](/docs/ru/env-vars#variables) на `1`. Подсказка, которую вы передаете, не влияет на загрузку.

216 212 

217 ```bash theme={null}213* Сеанс, который не использует sign-in, сохраненный `/login`, такой как тот, который аутентифицируется с API key, или тот, где `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN` или скрипт `apiKeyHelper` предоставляет учетные данные

218 CLAUDE_CODE_SYNC_SKILLS=1 claude -p "List the skills you have available"214* Сеанс, который не получает флаги функций, такой как тот на Amazon Bedrock или тот, где вы установили `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

219 ```215* Сеанс в [bare mode](/docs/ru/headless#start-faster-with-bare-mode) или тот, который вы запускаете с `--safe-mode`

216* Сеанс, где управляемые параметры вашей организации [блокируют skills на источники plugin](/docs/ru/settings-reference#strictpluginonlycustomization-skills), или тот, который вы запускаете со списком [`--setting-sources`](/docs/ru/cli-reference#cli-flags), который исключает `user`

220 217 

221 Claude Code загружает skills в `~/.claude/skills/synced/`, отвечает на подсказку и выходит как любой другой неинтерактивный запуск. Загруженные skills остаются на диске после выхода, поэтому вам не нужно держать запуск открытым. Claude Code загружает skills только во время запуска с установленным `CLAUDE_CODE_SYNC_SKILLS`, поэтому после того, как вы включите или измените skill на claude.ai, запустите команду снова. Чтобы изменить, как долго запуск ждет синхронизации перед ответом на подсказку, установите [`CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`](/docs/ru/env-vars#variables).218Если вы входите с `/login` во время сеанса, перезапустите Claude Code, чтобы начать синхронизацию.

222 </Step>

223 219 

224 <Step title="Подтвердите, что skills загружаются в локальном сеансе">220Skills, которые синхронизировал более ранний сеанс, остаются на диске. Claude Code загружает их в более поздних сеансах, вошедших в ту же учетную запись, даже когда он не может достичь claude.ai.

225 Запустите интерактивный сеанс без установленного `CLAUDE_CODE_SYNC_SKILLS` и запустите `/skills`. Меню перечисляет загруженные skills под `claude.ai sync`. Каждый локальный сеанс, который вы запустите впоследствии с той же учетной записью claude.ai, загружает их из `~/.claude/skills/synced/` тоже.221 

226 </Step>222Чтобы увидеть, какие skills синхронизировались, запустите `/skills`. Меню перечисляет их под `claude.ai sync`.

227</Steps>223 

224Некоторые skills Anthropic, такие как `pdf` и `xlsx`, всегда синхронизируются. Для остальных включите или отключите skill в параметрах skills на claude.ai, чтобы изменить, синхронизируется ли он.

225 

226Чтобы остановить синхронизацию на машине, установите [`syncClaudeAiSkills`](/docs/ru/settings-reference#syncclaudeaiskills) на `false` в параметрах пользователя. Claude Code прекращает загрузку, и в следующий раз при запуске он перемещает skills, которые он уже синхронизировал, в `~/.claude/skills/.trash/` и больше их не загружает. Ваша организация может отключить синхронизацию для всех, отключив Skills на claude.ai. Чтобы остановить синхронизацию, оставляя Skills включенными, она может установить тот же ключ в [управляемые параметры](/docs/ru/managed-settings).

227 

228Если ваша организация отключит Skills на claude.ai, Claude Code удалит загруженные skills и они перестанут загружаться. Удаленные skills перемещаются в `~/.claude/skills/.trash/`, где вы можете восстановить файлы до того, как [retention sweep](/docs/ru/claude-directory#cleaned-up-automatically) их удалит. После того как ваша организация снова включит Skills, Claude Code загружает skills, которые вы включили при следующей синхронизации.

228 229 

229<h4 id="when-a-synced-skill-name-matches-another-command">230<h4 id="when-a-synced-skill-name-matches-another-command">

230 Когда имя синхронизированного skill совпадает с другой командой231 Когда имя синхронизированного skill совпадает с другой командой

231</h4>232</h4>

232 233 

233Claude Code пропускает синхронизированный skill, имя которого совпадает с любой другой командой, и запускается эта другая команда. Другая команда может быть встроенной командой, [встроенным skill](#bundled-skills), skill на любом [локальном уровне](#where-skills-live), plugin skill, файлом в `.claude/commands/` или [MCP prompt](/docs/ru/mcp#use-mcp-prompts-as-commands). Claude Code также резервирует имена своих собственных встроенных команд и встроенных skills, даже когда они недоступны в вашем сеансе, например после отключения встроенных skills, поэтому он пропускает синхронизированный skill с одним из этих имен тоже.234Вы можете вызвать синхронизированный skill по его полному имени, `/anthropic-skills:<name>`, или по его короткому имени, `/<name>`. Когда другая команда использует это короткое имя, `/<name>` запускает другую команду, и синхронизированный skill запускается только как `/anthropic-skills:<name>`. С локальным skill `deploy` и синхронизированным `deploy`, `/deploy` запускает локальный skill и `/anthropic-skills:deploy` запускает синхронизированный. До v2.1.269 синхронизированный skill имел только его короткое имя.

235 

236Другая команда может быть любой из этих:

237 

238* Встроенная команда или [встроенный skill](#bundled-skills), включая тот, который недоступен в вашем сеансе, например после того, как вы отключите встроенные skills

239* Skill на любом [локальном уровне](#where-skills-live) или файл в `.claude/commands/`

240* Plugin skill

241* [MCP prompt](/docs/ru/mcp#use-mcp-prompts-as-commands)

234 242 

235Claude Code помечает синхронизированные skills, чтобы вы могли сказать, откуда они пришли. Меню `/skills` и `/context` группируют синхронизированные skills под `claude.ai sync`, и меню команды `/` помечает их как поступающие с claude.ai.243Claude Code помечает синхронизированные skills, чтобы вы могли сказать, откуда они пришли. Меню `/skills` и `/context` группируют синхронизированные skills под `claude.ai sync`, и меню команды `/` помечают их как поступающие с claude.ai.

236 244 

237При сравнении имен Claude Code игнорирует регистр, пробелы и невидимые символы и рассматривает формы совместимости, такие как полноширинные буквы и варианты тире, как их простые эквиваленты, поэтому синхронизированный `Commit` не может загружаться рядом с локальным `commit`. Имя, которое отличается только похожей буквой из другого алфавита, считается другим именем, и метка `claude.ai sync` — это то, как вы различаете эти два. Эти проверки и метки требуют Claude Code v2.1.228 или позже.245При сравнении имен Claude Code игнорирует регистр, пробелы и невидимые символы и рассматривает формы совместимости, такие как полноширинные буквы и варианты тире, как их простые эквиваленты. Например, синхронизированный skill с именем `Commit` и локальный skill с именем `commit` считаются одним и тем же именем, поэтому `/commit` продолжает запускать ваш локальный skill.

246 

247Имя, которое отличается только похожей буквой из другого алфавита, считается другим именем, и метка `claude.ai sync` — это то, как вы различаете эти два. Эти проверки и метки требуют Claude Code v2.1.228 или позже.

238 248 

239<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">249<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">

240 Как Claude Code обрабатывает frontmatter синхронизированного skill250 Как Claude Code обрабатывает frontmatter синхронизированного skill


242 252 

243Claude Code применяет два правила к frontmatter синхронизированного skill:253Claude Code применяет два правила к frontmatter синхронизированного skill:

244 254 

245* Claude Code соблюдает frontmatter в каждом виде сеанса, поэтому грант `allowed-tools` проходит через нормальный [поток разрешений](/docs/ru/permissions).255* Claude Code соблюдает frontmatter в каждом виде сеанса, поэтому грант `allowed-tools` проходит через нормальный [permission flow](/docs/ru/permissions).

246* Claude Code санитизирует отображаемый текст, который предоставляет skill, такой как его описание. Он удаляет управляющие символы, и в тексте, который достигает Claude, такой как описание, он также экранирует угловые скобки, чтобы текст не мог имитировать внутреннее форматирование Claude Code. Эта санитизация требует Claude Code v2.1.228 или позже.256* Claude Code санитизирует отображаемый текст, который предоставляет skill, такой как его описание. Он удаляет управляющие символы, и в тексте, который достигает Claude, такой как описание, он также экранирует угловые скобки, чтобы текст не мог имитировать внутреннее форматирование Claude Code. Эта санитизация требует Claude Code v2.1.228 или позже.

247 257 

248<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">258<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">


252То, что Claude Code делает с телом синхронизированного skill, зависит от того, где запускается сеанс:262То, что Claude Code делает с телом синхронизированного skill, зависит от того, где запускается сеанс:

253 263 

254* В облачном сеансе тело сохраняет поведение, которое имеет локальный skill, потому что сеанс запускается в изолированном контейнере.264* В облачном сеансе тело сохраняет поведение, которое имеет локальный skill, потому что сеанс запускается в изолированном контейнере.

255* В сеансе Cowork на вашем рабочем столе тело сохраняет поведение локального skill, за исключением того, что Claude Code заменяет каждую строку команды `!` на заполнитель [`disableSkillShellExecution`](#inject-dynamic-context), как он делает для каждого skill, который вы предоставляете там.265* В Cowork сеансе на вашем рабочем столе тело сохраняет поведение локального skill, за исключением того, что Claude Code заменяет каждую строку команды `!` на заполнитель [`disableSkillShellExecution`](#inject-dynamic-context), как он делает для каждого skill, который вы предоставляете там.

256* В любом другом сеансе на вашей машине Claude Code не запускает [`!` команды](#inject-dynamic-context), не прикрепляет файлы, которые `@` ссылки называют так же, как для локального skill, и не подставляет заполнители `${CLAUDE_PROJECT_DIR}` и `${CLAUDE_SESSION_ID}`, поэтому `@` ссылки и оба заполнителя достигают Claude как буквальный текст. Строка `!` команды достигает Claude как буквальный текст тоже, или как этот заполнитель, когда `disableSkillShellExecution` включен. Эта обработка требует Claude Code v2.1.228 или позже.266* В любом другом сеансе на вашей машине Claude Code не запускает [`!` команды](#inject-dynamic-context), не прикрепляет файлы, которые `@` ссылки называют так же, как для локального skill, и не подставляет заполнители `${CLAUDE_PROJECT_DIR}` и `${CLAUDE_SESSION_ID}`, поэтому `@` ссылки и оба заполнителя достигают Claude как буквальный текст. Строка команды `!` также достигает Claude как буквальный текст, или как этот заполнитель, когда `disableSkillShellExecution` включен. Эта обработка требует Claude Code v2.1.228 или позже.

257 267 

258<h3 id="live-change-detection">268<h3 id="live-change-detection">

259 Редактируйте skill во время сеанса269 Редактируйте skill во время сеанса

260</h3>270</h3>

261 271 

262Claude Code отслеживает каталоги skills на предмет изменений файлов, кроме [bare mode](/docs/ru/headless#start-faster-with-bare-mode). Когда вы добавляете, редактируете или удаляете skill под `~/.claude/skills/`, project `.claude/skills/` или `.claude/skills/` внутри каталога `--add-dir`, Claude Code подхватывает изменение в текущем сеансе без перезагрузки. Если вы создаете каталог skills верхнего уровня, который не существовал при запуске сеанса, перезапустите Claude Code, чтобы он мог отслеживать новый каталог.272Claude Code отслеживает каталоги skills на предмет изменений файлов, кроме как в [bare mode](/docs/ru/headless#start-faster-with-bare-mode). Когда вы добавляете, редактируете или удаляете skill под `~/.claude/skills/`, project `.claude/skills/` или `.claude/skills/` внутри каталога `--add-dir`, Claude Code подхватывает изменение в текущем сеансе без перезагрузки. Если вы создаете каталог skills верхнего уровня, который не существовал при запуске сеанса, перезапустите Claude Code, чтобы он мог отслеживать новый каталог.

263 273 

264Обнаружение изменений в реальном времени охватывает только текст `SKILL.md`. Для папки skill, которая также является [plugin](/docs/ru/plugins-reference#skills-directory-plugins), изменения в `hooks/`, `.mcp.json`, `agents/` и `output-styles/` требуют `/reload-plugins` для вступления в силу.274Live change detection охватывает только текст `SKILL.md`. Для папки skill, которая также является [plugin](/docs/ru/plugins-reference#skills-directory-plugins), изменения в `hooks/`, `.mcp.json`, `agents/` и `output-styles/` требуют `/reload-plugins` для вступления в силу.

265 275 

266<h3 id="remove-a-skill">276<h3 id="remove-a-skill">

267 Удалите skill277 Удалите skill


269 279 

270Способ удаления skill зависит от того, откуда он пришел:280Способ удаления skill зависит от того, откуда он пришел:

271 281 

272* **Personal или project skill**: удалите каталог skill, `~/.claude/skills/<skill-name>/` или `.claude/skills/<skill-name>/`. Claude Code [удаляет его из `/skills` в текущем сеансе](#live-change-detection); содержимое, которое Claude Code уже загрузил из него, следует [жизненному циклу содержимого skill](#skill-content-lifecycle).282* **Personal или project skill**: удалите каталог skill, `~/.claude/skills/<skill-name>/` или `.claude/skills/<skill-name>/`. Claude Code [удаляет его из `/skills` в текущем сеансе](#live-change-detection); содержимое, которое Claude Code уже загрузил из него, следует [skill content lifecycle](#skill-content-lifecycle).

273* **Enterprise skill**: администратор удаляет каталог skill из `.claude/skills/` внутри [каталога управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms), например `/etc/claude-code/.claude/skills/<skill-name>/` на Linux.283* **Enterprise skill**: администратор удаляет каталог skill из `.claude/skills/` внутри [каталога управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms), например `/etc/claude-code/.claude/skills/<skill-name>/` на Linux.

274* **Plugin skill**: отключите или удалите plugin, который его предоставляет, из меню `/plugin` или с помощью `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code выгружает skills plugin, когда [изменение применяется](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting) или когда вы перезагружаетесь.284* **Plugin skill**: отключите или удалите plugin, который его предоставляет, из меню `/plugin` или с помощью `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code выгружает skills plugin, когда [изменение применяется](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting) или когда вы перезагружаетесь.

275* **Skill, синхронизированный с claude.ai**: отключите skill для вашей учетной записи claude.ai в том же месте, где вы его [включили](#skills-in-cowork-and-cloud-sessions). Claude Code удаляет его из `~/.claude/skills/synced/` в следующий раз, когда он [синхронизирует ваши skills](#where-synced-skills-load). Если вы вместо этого удалите каталог вручную, следующая синхронизация загрузит его снова, пока skill остается включенным на claude.ai.285* **Skill синхронизированный с claude.ai**: отключите skill для вашей учетной записи claude.ai в том же месте, где вы его [включили](#skills-in-cowork-and-cloud-sessions). Claude Code удаляет его из `~/.claude/skills/synced/` в следующий раз, когда он [синхронизирует ваши skills](#where-synced-skills-load). Если вы удалите каталог вручную, следующая синхронизация загрузит его снова, пока skill остается включенным на claude.ai.

276* **Встроенный skill**: установите [`disableBundledSkills`](#bundled-skills) на `true`, чтобы отключить встроенные skills, или установите один skill на `"off"` в [`skillOverrides`](#override-skill-visibility-from-settings), чтобы скрыть его.286* **Bundled skill**: установите [`disableBundledSkills`](#bundled-skills) на `true`, чтобы отключить встроенные skills, или установите один skill на `"off"` в [`skillOverrides`](#override-skill-visibility-from-settings), чтобы скрыть его.

277 287 

278Чтобы сохранить personal или project skill, но остановить Claude от его автоматического вызова, установите [`disable-model-invocation: true`](#control-who-invokes-a-skill) в его frontmatter или `"user-invocable-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), когда вы не хотите редактировать файл.288Чтобы сохранить personal или project skill, но остановить Claude от его автоматического вызова, установите [`disable-model-invocation: true`](#control-who-invokes-a-skill) в его frontmatter, или `"user-invocable-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), когда вы не хотите редактировать файл.

279 289 

280<h2 id="configure-skills">290<h2 id="configure-skills">

281 Настройка skills291 Настройка skills


404| Файл в подкаталоге `.claude/commands/` | Путь подкаталога относительно `commands/` с каждым `/` заменен на `:`, затем имя файла без расширения | `.claude/commands/frontend/component.md` → `/frontend:component` |414| Файл в подкаталоге `.claude/commands/` | Путь подкаталога относительно `commands/` с каждым `/` заменен на `:`, затем имя файла без расширения | `.claude/commands/frontend/component.md` → `/frontend:component` |

405| Подкаталог Plugin `skills/` | Frontmatter `name` или имя каталога, с пространством имен по plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, или `/my-plugin:fancy` с `name: fancy` |415| Подкаталог Plugin `skills/` | Frontmatter `name` или имя каталога, с пространством имен по plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, или `/my-plugin:fancy` с `name: fancy` |

406| Plugin root `SKILL.md` | Frontmatter `name`, с именем каталога plugin в качестве резервного варианта | `my-plugin/SKILL.md` с `name: review` → `/my-plugin:review`. См. [Правила поведения пути](/docs/ru/plugins-reference#path-behavior-rules) |416| Plugin root `SKILL.md` | Frontmatter `name`, с именем каталога plugin в качестве резервного варианта | `my-plugin/SKILL.md` с `name: review` → `/my-plugin:review`. См. [Правила поведения пути](/docs/ru/plugins-reference#path-behavior-rules) |

417| Skill [синхронизированный с claude.ai](#how-synced-skills-behave) | Имя skill на вашем аккаунте claude.ai, с префиксом `anthropic-skills:` | Skill аккаунта `deploy` → `/anthropic-skills:deploy`, или `/deploy`, если никакая другая команда не использует это имя |

407 418 

408В plugin skill frontmatter `name` заменяет имя каталога в последнем сегменте команды, поэтому `my-plugin/skills/review/SKILL.md` с `name: fancy` становится `/my-plugin:fancy`. Голая команда `/fancy` также вызывает skill, если другая команда еще не использует это имя. Если `name`, который вы пишете, уже начинается с собственного префикса plugin, Claude Code не добавляет префикс снова на v2.1.246 или позже. Например, `name: my-plugin:fancy` все еще становится `/my-plugin:fancy`. С v2.1.216 по v2.1.245 Claude Code удваивал префикс, когда `name` уже его содержал.419В plugin skill frontmatter `name` заменяет имя каталога в последнем сегменте команды, поэтому `my-plugin/skills/review/SKILL.md` с `name: fancy` становится `/my-plugin:fancy`. Голая команда `/fancy` также вызывает skill, если другая команда еще не использует это имя. Если `name`, который вы пишете, уже начинается с собственного префикса plugin, Claude Code не добавляет префикс снова на v2.1.246 или позже. Например, `name: my-plugin:fancy` все еще становится `/my-plugin:fancy`. С v2.1.216 по v2.1.245 Claude Code удваивал префикс, когда `name` уже его содержал.

409 420 

410В [неинтерактивных сеансах](/docs/ru/headless) имена `help` и `feedback` не зарезервированы для их встроенных команд, специфичных для терминала, поэтому plugin skill с одним из этих имен сохраняет свою голую команду там. Каждое другое встроенное имя, специфичное для терминала, такое как `/login`, остается зарезервированным, даже если команда не может запуститься в этих сеансах. Синхронизированный skill с именем `help` или `feedback` все еще пропускается там, потому что Claude Code [пропускает синхронизированный skill](#when-a-synced-skill-name-matches-another-command), имя которого совпадает с любой встроенной командой, независимо от того, может ли эта команда запуститься.421В [неинтерактивных сеансах](/docs/ru/headless) имена `help` и `feedback` не зарезервированы для их встроенных команд, специфичных для терминала, поэтому plugin skill с одним из этих имен сохраняет свою голую команду там. Каждое другое встроенное имя, специфичное для терминала, такое как `/login`, остается зарезервированным, даже если команда не может запуститься в этих сеансах.

411 422 

412Для plugin-root `SKILL.md` нет каталога skill, из которого можно взять имя, поэтому `name` предоставляет весь последний сегмент. Без поля `name` Claude Code возвращается к имени каталога plugin.423Для plugin-root `SKILL.md` нет каталога skill, из которого можно взять имя, поэтому `name` предоставляет весь последний сегмент. Без поля `name` Claude Code возвращается к имени каталога plugin.

413 424 


709 720 

710С оболочкой `bash` по умолчанию добавьте `|| true` к любой другой команде, которая, как вы ожидаете, выйдет с ненулевым кодом. Скрипт проверки, который выходит с кодом 1 при обнаружении проблем, является одним примером.721С оболочкой `bash` по умолчанию добавьте `|| true` к любой другой команде, которая, как вы ожидаете, выйдет с ненулевым кодом. Скрипт проверки, который выходит с кодом 1 при обнаружении проблем, является одним примером.

711 722 

712Внедренные команды никогда не запрашивают разрешение. Когда проверка разрешения команды возвращает что-либо, кроме разрешения, Claude Code прерывает вызов. Это включает правило, которое обычно вас спрашивает. Прерывание показывает `Shell command permission check failed for pattern "..."`.723<h4 id="permission-checks-on-injected-commands">

724 Проверки разрешений для внедренных команд

725</h4>

726 

727Внедренные команды никогда не запрашивают разрешение во время отображения навыка. Claude Code проверяет каждую из них против ваших [правил разрешений](/docs/ru/permissions) сначала. Команда, которой соответствует правило deny, прерывает вызов с `Shell command permission check failed for pattern "..."`.

728 

729Вне [режима auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), когда проверка разрешения команды возвращает что-либо, кроме разрешения, Claude Code прерывает вызов с той же ошибкой. Это включает правило, которое обычно вас спрашивает. Чтобы предотвратить прерывание несовпадающей команды здесь, предварительно одобрите ее с помощью [`allowed-tools`](#pre-approve-tools-for-a-skill). Правила deny и ask все равно переопределяют `allowed-tools`. См. [Manage permissions](/docs/ru/permissions#manage-permissions).

713 730 

714Чтобы предотвратить прерывание несовпадающей команды здесь, предварительно одобрите ее с помощью [`allowed-tools`](#pre-approve-tools-for-a-skill). Совпадающее правило ask или deny все равно прерывает вызов независимо от `allowed-tools`. См. [Manage permissions](/docs/ru/permissions#manage-permissions).731В режиме auto команда, которая в противном случае требовала бы вашего одобрения, не прерывает вызов. Навык загружается с инструкцией, указывающей Claude запустить команду первой, и собственный вызов Claude затем проходит через [обычные проверки режима auto](/docs/ru/permission-modes#how-the-classifier-evaluates-actions). Вызов все еще прерывается в [разветвленном навыке](#run-skills-in-a-subagent), который устанавливает `agent`, и в сеансе, где Claude не имеет [инструмента оболочки, который запускает внедренные команды](#how-injected-commands-run).

715 732 

716<h3 id="run-skills-in-a-subagent">733<h3 id="run-skills-in-a-subagent">

717 Запуск навыков в подагенте734 Запуск навыков в подагенте


743Навыки и [подагенты](/docs/ru/sub-agents) работают вместе в двух направлениях:760Навыки и [подагенты](/docs/ru/sub-agents) работают вместе в двух направлениях:

744 761 

745| Подход | Системная подсказка | Задача | Также загружает |762| Подход | Системная подсказка | Задача | Также загружает |

746| :------------------------ | :---------------------- | :----------------------------- | :------------------------------------------------------- |763| :------------------------ | :---------------------- | :----------------------------- | :------------------------------------------------------------------------------------------------------------------------ |

747| Навык с `context: fork` | Из типа агента | Содержимое SKILL.md | CLAUDE.md, кроме случаев, когда агент — Explore или Plan |764| Навык с `context: fork` | Из типа агента | Содержимое SKILL.md | CLAUDE.md, согласно [startup context](/docs/ru/sub-agents#what-loads-at-startup) агента |

748| Подагент с полем `skills` | Тело markdown подагента | Сообщение делегирования Claude | Предварительно загруженные навыки + CLAUDE.md |765| Подагент с полем `skills` | Тело markdown подагента | Сообщение делегирования Claude | Предварительно загруженные навыки + CLAUDE.md, согласно [startup context](/docs/ru/sub-agents#what-loads-at-startup) подагента |

749 766 

750С `context: fork` вы пишете задачу в своем навыке и выбираете тип агента для ее выполнения. Встроенные агенты Explore и Plan [пропускают CLAUDE.md и статус git](/docs/ru/sub-agents#what-loads-at-startup), чтобы сохранить их контекст небольшим, поэтому разветвленный навык, использующий `agent: Explore`, видит только содержимое SKILL.md и собственную системную подсказку агента. Для обратного варианта, где вы определяете пользовательский подагент, который использует навыки в качестве справочного материала, см. [Подагенты](/docs/ru/sub-agents#preload-skills-into-subagents).767С `context: fork` вы пишете задачу в своем навыке и выбираете тип агента для ее выполнения. Встроенные агенты Explore и Plan [пропускают CLAUDE.md и статус git](/docs/ru/sub-agents#what-loads-at-startup), чтобы сохранить их контекст небольшим, поэтому разветвленный навык, использующий `agent: Explore`, видит только содержимое SKILL.md и собственную системную подсказку агента. Для обратного варианта, где вы определяете пользовательский подагент, который использует навыки в качестве справочного материала, см. [Подагенты](/docs/ru/sub-agents#preload-skills-into-subagents).

751 768 

slack.md +16 −16

Details

13 * **Планы Pro и Max:** Claude Tag недоступен в индивидуальных планах, поэтому эта страница остается путем настройки.13 * **Планы Pro и Max:** Claude Tag недоступен в индивидуальных планах, поэтому эта страница остается путем настройки.

14</Warning>14</Warning>

15 15 

16Claude Code в Slack приносит мощь Claude Code прямо в ваше рабочее пространство Slack. Когда вы упоминаете `@Claude` с задачей кодирования, Claude автоматически определяет намерение и создает сеанс Claude Code в веб-версии, позволяя вам делегировать работу по разработке, не покидая командные беседы.16Claude Code в Slack приносит мощь Claude Code прямо в ваше рабочее пространство Slack. Когда вы упоминаете `@Claude` с задачей кодирования, Claude автоматически определяет намерение и создает сеанс Claude Code в облаке, позволяя вам делегировать работу по разработке, не покидая командные беседы.

17 17 

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

19 19 

20<h2 id="use-cases">20<h2 id="use-cases">

21 Варианты использования21 Варианты использования


33Перед использованием Claude Code в Slack убедитесь, что у вас есть следующее:33Перед использованием Claude Code в Slack убедитесь, что у вас есть следующее:

34 34 

35| Требование | Детали |35| Требование | Детали |

36| :----------------------- | :-------------------------------------------------------------------------------------------------- |36| :-------------------- | :------------------------------------------------------------------------------------------------------------- |

37| План Claude | Pro, Max, Team или Enterprise с доступом к Claude Code (премиум-места или места Chat + Claude Code) |37| План Claude | Pro, Max, Team или Enterprise с доступом к Claude Code (премиум-места или места Chat + Claude Code) |

38| Claude Code в веб-версии | Доступ к [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) должен быть включен |38| Cloud sessions | [Cloud sessions](/docs/ru/claude-code-on-the-web) включены для вашей учетной записи |

39| Учетная запись GitHub | Подключена к Claude Code в веб-версии с по крайней мере одним аутентифицированным репозиторием |39| Учетная запись GitHub | Подключена к [claude.ai/code](https://claude.ai/code) с по крайней мере одним аутентифицированным репозиторием |

40| Аутентификация Slack | Ваша учетная запись Slack связана с вашей учетной записью Claude через приложение Claude |40| Аутентификация Slack | Ваша учетная запись Slack связана с вашей учетной записью Claude через приложение Claude |

41 41 

42<h2 id="setting-up-claude-code-in-slack">42<h2 id="setting-up-claude-code-in-slack">


57 4. Завершите процесс аутентификации в вашем браузере57 4. Завершите процесс аутентификации в вашем браузере

58 </Step>58 </Step>

59 59 

60 <Step title="Настройте Claude Code в веб-версии">60 <Step title="Настройте облачные сеансы">

61 Убедитесь, что ваш Claude Code в веб-версии правильно настроен:61 Убедитесь, что облачные сеансы правильно настроены для вашей учетной записи:

62 62 

63 * Посетите [claude.ai/code](https://claude.ai/code) и войдите с той же учетной записью, которую вы подключили к Slack63 * Посетите [claude.ai/code](https://claude.ai/code) и войдите с той же учетной записью, которую вы подключили к Slack

64 * Подключите вашу учетную запись GitHub, если она еще не подключена64 * Подключите вашу учетную запись GitHub, если она еще не подключена


66 </Step>66 </Step>

67 67 

68 <Step title="Выберите режим маршрутизации">68 <Step title="Выберите режим маршрутизации">

69 После подключения ваших учетных записей настройте, как Claude обрабатывает ваши сообщения в Slack. Перейдите на App Home Claude в Slack, чтобы найти параметр **Режим маршрутизации**.69 После подключения ваших учетных записей настройте, как Claude обрабатывает ваши сообщения в Slack. Откройте App Home Claude в Slack, чтобы найти параметр **Режим маршрутизации**.

70 70 

71 | Режим | Поведение |71 | Режим | Поведение |

72 | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72 | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


91 Автоматическое обнаружение91 Автоматическое обнаружение

92</h3>92</h3>

93 93 

94В режиме маршрутизации Code + Chat, когда вы упоминаете @Claude в канале или цепочке Slack, Claude автоматически определяет, является ли ваше сообщение задачей кодирования. Задачи кодирования переходят в Claude Code в веб-версии. Все остальное получает обычный ответ чата. В режиме только Code каждое упоминание @mention переходит в Claude Code.94В режиме маршрутизации Code + Chat, когда вы упоминаете @Claude в канале или цепочке Slack, Claude автоматически определяет, является ли ваше сообщение задачей кодирования. Задачи кодирования переходят в Claude Code в облачный сеанс. Все остальное получает обычный ответ чата. В режиме только Code каждое упоминание @mention переходит в Claude Code.

95 95 

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

97 97 


182 182 

183**В Slack**: Вы увидите обновления статуса, резюме завершения и кнопки действия. Полная стенограмма сохраняется и всегда доступна.183**В Slack**: Вы увидите обновления статуса, резюме завершения и кнопки действия. Полная стенограмма сохраняется и всегда доступна.

184 184 

185**На веб-сайте**: Полный сеанс Claude Code с полной историей беседы, все изменения кода и операции с файлами. Сеансы остаются в истории Claude Code по адресу [claude.ai/code](https://claude.ai/code), где вы можете продолжить прошлые сеансы, ссылаться на них или создавать запросы на слияние.185**На claude.ai/code**: Полный сеанс Claude Code с полной историей беседы, все изменения кода и операции с файлами. Сеансы остаются в истории Claude Code по адресу [claude.ai/code](https://claude.ai/code), где вы можете продолжить прошлые сеансы, ссылаться на них или создавать запросы на слияние.

186 186 

187Для учетных записей Enterprise и Team сеансы, созданные из Claude в Slack, автоматически видны организации. Дополнительные сведения см. в разделе [Совместное использование сеансов Claude Code на веб-сайте](/docs/ru/claude-code-on-the-web#share-sessions).187Для учетных записей Enterprise и Team сеансы, созданные из Claude в Slack, автоматически видны организации. Дополнительные сведения см. в разделе [совместное использование сеансов](/docs/ru/claude-code-on-the-web#share-sessions).

188 188 

189<h2 id="best-practices">189<h2 id="best-practices">

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


222</h3>222</h3>

223 223 

2241. Убедитесь, что ваша учетная запись Claude подключена в Claude App Home2241. Убедитесь, что ваша учетная запись Claude подключена в Claude App Home

2252. Проверьте, что у вас включен доступ к Claude Code в веб-версии2252. Проверьте, что облачные сеансы включены для вашей учетной записи

2263. Убедитесь, что у вас подключен по крайней мере один репозиторий GitHub к Claude Code2263. Убедитесь, что у вас подключен по крайней мере один репозиторий GitHub к Claude Code

227 227 

228<h3 id="sessions-from-a-claude-tag-channel-fail-to-start">228<h3 id="sessions-from-a-claude-tag-channel-fail-to-start">


242 Репозиторий не отображается242 Репозиторий не отображается

243</h3>243</h3>

244 244 

2451. Подключите репозиторий в Claude Code в веб-версии на [claude.ai/code](https://claude.ai/code)2451. Подключите репозиторий на [claude.ai/code](https://claude.ai/code)

2462. Проверьте ваши разрешения GitHub для этого репозитория2462. Проверьте ваши разрешения GitHub для этого репозитория

2473. Попробуйте отключить и повторно подключить вашу учетную запись GitHub2473. Попробуйте отключить и повторно подключить вашу учетную запись GitHub

248 248 


267 267 

268* **Только GitHub**: репозитории должны находиться на GitHub.268* **Только GitHub**: репозитории должны находиться на GitHub.

269* **Один PR за раз**: каждый сеанс может создать один запрос на слияние.269* **Один PR за раз**: каждый сеанс может создать один запрос на слияние.

270* **Требуется веб-доступ**: пользователи должны иметь доступ к Claude Code в веб-версии; без него Claude отвечает стандартными ответами чата.270* **Требуется доступ к облачным сеансам**: пользователи должны иметь доступ к [облачным сеансам](/docs/ru/claude-code-on-the-web); без него Claude отвечает стандартными ответами чата.

271 271 

272<h2 id="related-resources">272<h2 id="related-resources">

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

274</h2>274</h2>

275 275 

276<CardGroup>276<CardGroup>

277 <Card title="Claude Code в веб-версии" icon="globe" href="/docs/ru/claude-code-on-the-web">277 <Card title="Claude Code в облаке" icon="cloud" href="/docs/ru/claude-code-on-the-web">

278 Узнайте больше о Claude Code в веб-версии278 Узнайте больше о облачных сеансах

279 </Card>279 </Card>

280 280 

281 <Card title="Claude для Slack" icon="slack" href="https://claude.com/claude-and-slack">281 <Card title="Claude для Slack" icon="slack" href="https://claude.com/claude-and-slack">

statusline.md +1 −1

Details

86 Построение строки состояния пошагово86 Построение строки состояния пошагово

87</h2>87</h2>

88 88 

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

90 90 

91<Note>Запуск [`/statusline`](#use-the-%2Fstatusline-command) с описанием того, что вы хотите, настраивает всё это автоматически.</Note>91<Note>Запуск [`/statusline`](#use-the-%2Fstatusline-command) с описанием того, что вы хотите, настраивает всё это автоматически.</Note>

92 92 

sub-agents.md +16 −9

Details

32 32 

33Claude Code включает встроенные subagents, которые Claude автоматически использует при необходимости. Каждый наследует разрешения родительского разговора; большинство работают с ограниченным набором инструментов.33Claude Code включает встроенные subagents, которые Claude автоматически использует при необходимости. Каждый наследует разрешения родительского разговора; большинство работают с ограниченным набором инструментов.

34 34 

35Explore и Plan пропускают ваши файлы CLAUDE.md и статус git родительской сессии, чтобы исследование было быстрым и экономичным. Все остальные встроенные и [пользовательские subagents](#configure-subagents) загружают оба. Для полного разбора того, что достигает subagent, см. [что загружается при запуске](#what-loads-at-startup).35Explore и Plan пропускают ваши файлы CLAUDE.md и статус git родительской сессии, чтобы исследование было быстрым и экономичным. Все остальные встроенные и [пользовательские subagents](#configure-subagents) загружают оба, если только их определение не устанавливает поле [`omitClaudeMd`](#supported-frontmatter-fields) для пропуска файлов CLAUDE.md пользователя, проекта и локального. Для полного разбора того, что достигает subagent, см. [что загружается при запуске](#what-loads-at-startup).

36 36 

37<Tabs>37<Tabs>

38 <Tab title="Explore">38 <Tab title="Explore">


230 </Tab>230 </Tab>

231</Tabs>231</Tabs>

232 232 

233Флаг `--agents` принимает JSON с полем `prompt` плюс эти поля [frontmatter](#supported-frontmatter-fields): `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background` и `isolation`. Используйте `prompt` для системного приглашения, эквивалентного телу markdown в файловых subagents. Каждый ключ верхнего уровня в JSON — это имя агента. Не начинайте имя с `-`.233Флаг `--agents` принимает JSON с полем `prompt` плюс эти поля [frontmatter](#supported-frontmatter-fields): `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd` и `isolation`. Используйте `prompt` для системного приглашения, эквивалентного телу markdown в файловых subagents.

234 

235Каждый ключ верхнего уровня в JSON — это имя агента. Не начинайте имя с `-`.

234 236 

235Для того, что Claude Code делает со значением, которое он не может загрузить, и флагов и переменной окружения, которые пропускают эту проверку, см. [`Invalid --agents configuration`](/docs/ru/errors#invalid-agents-configuration).237Для того, что Claude Code делает со значением, которое он не может загрузить, и флагов и переменной окружения, которые пропускают эту проверку, см. [`Invalid --agents configuration`](/docs/ru/errors#invalid-agents-configuration).

236 238 


313| `hooks` | Нет | [Lifecycle hooks](#define-hooks-for-subagents) в области этого subagent. Игнорируется для [plugin subagents](#choose-the-subagent-scope) |315| `hooks` | Нет | [Lifecycle hooks](#define-hooks-for-subagents) в области этого subagent. Игнорируется для [plugin subagents](#choose-the-subagent-scope) |

314| `memory` | Нет | [Область постоянной памяти](#enable-persistent-memory): `user`, `project` или `local`. Включает кросс-сессионное обучение |316| `memory` | Нет | [Область постоянной памяти](#enable-persistent-memory): `user`, `project` или `local`. Включает кросс-сессионное обучение |

315| `background` | Нет | Установите на `true`, чтобы держать этот subagent в фоне даже когда Claude просит запустить его на переднем плане. Где [fork mode](#turn-fork-mode-on-or-off) включен, Claude Code уже запускает subagents, которые Claude порождает, [в фоне](#run-subagents-in-foreground-or-background) |317| `background` | Нет | Установите на `true`, чтобы держать этот subagent в фоне даже когда Claude просит запустить его на переднем плане. Где [fork mode](#turn-fork-mode-on-or-off) включен, Claude Code уже запускает subagents, которые Claude порождает, [в фоне](#run-subagents-in-foreground-or-background) |

318| `omitClaudeMd` | Нет | Установите на `true`, чтобы запустить этот subagent без файлов user, project и local CLAUDE.md; [managed policy files](/docs/ru/memory#how-claude-md-files-load) по-прежнему загружаются, кроме [managed subagents](#choose-the-subagent-scope). Используйте это для subagents, которые берут всё необходимое из [delegation prompt](#what-loads-at-startup). Игнорируется, когда агент работает как основной агент сессии через `--agent` или параметр `agent`. Требует Claude Code v2.1.271 или позже |

316| `effort` | Нет | Уровень усилий, когда этот subagent активен. Переопределяет уровень усилий сессии. По умолчанию: наследуется из сессии. Параметры: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели |319| `effort` | Нет | Уровень усилий, когда этот subagent активен. Переопределяет уровень усилий сессии. По умолчанию: наследуется из сессии. Параметры: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели |

317| `isolation` | Нет | Установите на `worktree`, чтобы запустить subagent во временном [git worktree](/docs/ru/worktrees), дав ему изолированную копию репозитория, разветвлённую по умолчанию от вашей [ветки по умолчанию](/docs/ru/worktrees#choose-the-base-branch), а не от `HEAD` родительской сессии. Worktree автоматически очищается, если subagent не вносит изменения |320| `isolation` | Нет | Установите на `worktree`, чтобы запустить subagent во временном [git worktree](/docs/ru/worktrees), дав ему изолированную копию репозитория, разветвлённую по умолчанию от вашей [ветки по умолчанию](/docs/ru/worktrees#choose-the-base-branch), а не от `HEAD` родительской сессии. Worktree автоматически очищается, если subagent не вносит изменения |

318| `color` | Нет | Цвет отображения для subagent в списке задач и транскрипте. Принимает `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` или `cyan` |321| `color` | Нет | Цвет отображения для subagent в списке задач и транскрипте. Принимает `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` или `cyan` |


439* `WaitForMcpServers`442* `WaitForMcpServers`

440* `Workflow`443* `Workflow`

441 444 

442Второй фильтр применяется к subagents, работающим в фоне. Кроме `Agent` и `ExitPlanMode`, которые следуют условиям первого фильтра везде, где работает subagent, фоновый subagent сохраняет каждый MCP инструмент, но только эти встроенные инструменты: `Read`, `Grep`, `Glob`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage` и `Artifact`. Claude Code удаляет каждый другой встроенный инструмент из фонового subagent, унаследованный или указанный в поле `tools`, поэтому одно и то же определение может разрешаться в разные инструменты на переднем плане и в фоне. Удаление сообщает об ошибке только в том случае, если после него список `tools` [оказывается пустым](/docs/ru/errors#agent-would-be-spawned-with-zero-tools).445Второй фильтр применяется к subagents, работающим в фоне. Кроме `Agent` и `ExitPlanMode`, которые следуют условиям первого фильтра везде, где работает subagent, фоновый subagent сохраняет каждый MCP инструмент, но только эти встроенные инструменты: `Read`, `Grep`, `Glob`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage` и `Artifact`, плюс [`SubagentHandback`](/docs/ru/tools-reference) для subagent, который сообщает через него. Claude Code удаляет каждый другой встроенный инструмент из фонового subagent, унаследованный или указанный в поле `tools`, поэтому одно и то же определение может разрешаться в разные инструменты на переднем плане и в фоне. Удаление сообщает об ошибке только в том случае, если после него список `tools` [оказывается пустым](/docs/ru/errors#agent-would-be-spawned-with-zero-tools).

443 446 

444[`ListAgents`](/docs/ru/cross-session-messaging) следует этим фильтрам как любой встроенный инструмент: передний subagent наследует его в сессиях, где включен кросс-сессионный обмен сообщениями, и фоновый subagent его не сохраняет.447[`ListAgents`](/docs/ru/cross-session-messaging) следует этим фильтрам как любой встроенный инструмент: передний subagent наследует его в сессиях, где включен кросс-сессионный обмен сообщениями, и фоновый subagent его не сохраняет.

445 448 


578 581 

579Режим разрешений основного разговора решает, использует ли Claude Code значение, которое вы установили:582Режим разрешений основного разговора решает, использует ли Claude Code значение, которое вы установили:

580 583 

581* Когда основной разговор находится в `bypassPermissions`, `acceptEdits` или [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), subagent работает в этом же режиме и Claude Code игнорирует `permissionMode`, который вы установили. Под auto mode классификатор оценивает вызовы инструментов subagent с правилами блокировки и разрешения основного разговора.584* Когда основной разговор находится в `bypassPermissions`, `acceptEdits` или [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), subagent работает в этом же режиме и Claude Code игнорирует `permissionMode`, который вы установили. Под auto mode классификатор оценивает вызовы инструментов subagent с правилами блокировки и разрешения основного разговора. Когда subagent завершается, классификатор также проверяет его работу и его финальный отчёт перед доставкой отчёта, как [How auto mode handles subagents](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) описывает.

582* Когда основной разговор находится в режиме `default`, `dontAsk` или `plan`, subagent работает в режиме разрешений, который вы установили, кроме `bypassPermissions`. Subagent, который объявляет `bypassPermissions`, сохраняет режим основного разговора вместо этого. Исключение `bypassPermissions` требует Claude Code v2.1.267 или позже.585* Когда основной разговор находится в режиме `default`, `dontAsk` или `plan`, subagent работает в режиме разрешений, который вы установили, кроме `bypassPermissions`. Subagent, который объявляет `bypassPermissions`, сохраняет режим основного разговора вместо этого. Исключение `bypassPermissions` требует Claude Code v2.1.267 или позже.

583 586 

584`permissionMode` принимает эти значения и `manual` как псевдоним для `default`:587`permissionMode` принимает эти значения и `manual` как псевдоним для `default`:


884claude --agent code-reviewer887claude --agent code-reviewer

885```888```

886 889 

887Системное приглашение subagent полностью заменяет системное приглашение Claude Code по умолчанию, так же как [`--system-prompt`](/docs/ru/cli-reference) это делает. Файлы `CLAUDE.md` и память проекта по-прежнему загружаются через обычный поток сообщений. Имя агента появляется как `@<name>` в заголовке запуска, чтобы вы могли подтвердить, что он активен.890Системное приглашение subagent полностью заменяет системное приглашение Claude Code по умолчанию, так же как [`--system-prompt`](/docs/ru/cli-reference) это делает. Файлы `CLAUDE.md` и память проекта по-прежнему загружаются через обычный поток сообщений, даже когда определение агента устанавливает [`omitClaudeMd`](#supported-frontmatter-fields).

891 

892Имя агента появляется как `@<name>` в заголовке запуска, чтобы вы могли подтвердить, что он активен.

888 893 

889Это работает с встроенными и пользовательскими subagents, и выбор сохраняется при возобновлении сессии: Claude Code восстанавливает ограничения инструментов и модель агента вместе с разговором. Если агент больше не существует при возобновлении, сессия продолжается с инструментами по умолчанию и показывает [предупреждение с названием агента](/docs/ru/errors#session-agent-no-longer-available). Для системного приглашения в любом случае см. [System prompt flags in resumed conversations](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations).894Это работает с встроенными и пользовательскими subagents, и выбор сохраняется при возобновлении сессии: Claude Code восстанавливает ограничения инструментов и модель агента вместе с разговором. Если агент больше не существует при возобновлении, сессия продолжается с инструментами по умолчанию и показывает [предупреждение с названием агента](/docs/ru/errors#session-agent-no-longer-available). Для системного приглашения в любом случае см. [System prompt flags in resumed conversations](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations).

890 895 


1057 1062 

1058По умолчанию subagent может порождать subagents собственные, вплоть до трёх слоёв ниже основного разговора. На лимите глубины Claude Code удерживает инструмент `Agent` от каждого subagent, кроме [fork](#fork-the-current-conversation), поэтому subagent на лимите выполняет свою делегированную работу сам и возвращает одно резюме. Fork на лимите сохраняет `Agent` в своём унаследованном списке инструментов, но инструмент возвращает ошибку вместо порождения.1063По умолчанию subagent может порождать subagents собственные, вплоть до трёх слоёв ниже основного разговора. На лимите глубины Claude Code удерживает инструмент `Agent` от каждого subagent, кроме [fork](#fork-the-current-conversation), поэтому subagent на лимите выполняет свою делегированную работу сам и возвращает одно резюме. Fork на лимите сохраняет `Agent` в своём унаследованном списке инструментов, но инструмент возвращает ошибку вместо порождения.

1059 1064 

1060Вложенные subagents подходят для делегированной задачи, которая сама разбивается на параллельные подзадачи, такие как subagent-рецензент, который отправляет верификатор для каждого обнаружения, так что промежуточный выход никогда не достигает основного разговора. Только резюме subagent верхнего уровня возвращается вам.1065Вложенные subagents подходят для делегированной задачи, которая сама разбивается на параллельные подзадачи, такие как subagent-рецензент, который отправляет верификатор для каждого обнаружения. В интерактивной сессии только резюме subagent верхнего уровня возвращается вам и промежуточный выход остаётся вне вашего основного разговора: subagent, который запускает фоновые subagents, ждёт их результатов перед завершением. В [non-interactive mode](/docs/ru/headless) и Agent SDK запускающий subagent не ждёт, поэтому вложенный фоновый subagent, который завершается после того, как его запускатель закончился, сообщает вашему основному разговору вместо этого.

1061 1066 

1062Чтобы изменить лимит, установите [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ru/env-vars) на количество слоёв subagent, которые вы хотите ниже основного разговора. Например, эта запись в [`settings.json`](/docs/ru/settings) ограничивает вложение двумя слоями:1067Чтобы изменить лимит, установите [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ru/env-vars) на количество слоёв subagent, которые вы хотите ниже основного разговора. Например, эта запись в [`settings.json`](/docs/ru/settings) ограничивает вложение двумя слоями:

1063 1068 


1111 1116 

1112* **System prompt**: собственное приглашение агента плюс детали окружения, которые добавляет Claude Code, а не системное приглашение Claude Code. Пользовательские subagents определяют свои в [markdown body](#write-subagent-files) или поле `prompt`. Встроенные агенты имеют предопределённые приглашения.1117* **System prompt**: собственное приглашение агента плюс детали окружения, которые добавляет Claude Code, а не системное приглашение Claude Code. Пользовательские subagents определяют свои в [markdown body](#write-subagent-files) или поле `prompt`. Встроенные агенты имеют предопределённые приглашения.

1113* **Task message**: приглашение делегирования, которое Claude пишет при передаче работы.1118* **Task message**: приглашение делегирования, которое Claude пишет при передаче работы.

1114* **CLAUDE.md files**: каждый уровень [иерархии CLAUDE.md](/docs/ru/memory#how-claude-md-files-load), который загружает основной разговор, включая `~/.claude/CLAUDE.md`, правила проекта, `CLAUDE.local.md` и управляемые файлы политики. Встроенные агенты Explore и Plan пропускают это.1119* **CLAUDE.md files**: каждый уровень [иерархии CLAUDE.md](/docs/ru/memory#how-claude-md-files-load), который загружает основной разговор, включая `~/.claude/CLAUDE.md`, правила проекта, `CLAUDE.local.md`, управляемые файлы политики и любые [`AGENTS.md` файлы](/docs/ru/memory#agents-md), загруженные как инструкции проекта. Встроенные агенты Explore и Plan пропускают это. Subagent, чьё определение устанавливает [`omitClaudeMd`](#supported-frontmatter-fields), загружает только управляемые файлы политики, или ничего вообще, когда определение поступает из [managed settings](#choose-the-subagent-scope).

1115* **Git status**: снимок, сделанный в начале родительской сессии. Отсутствует, когда рабочая директория не является Git репозиторием или когда [`includeGitInstructions`](/docs/ru/settings-reference#includegitinstructions) имеет значение `false`. Explore и Plan пропускают это независимо.1120* **Git status**: снимок, сделанный в начале родительской сессии. Отсутствует, когда рабочая директория не является Git репозиторием или когда [`includeGitInstructions`](/docs/ru/settings-reference#includegitinstructions) имеет значение `false`. Explore и Plan пропускают это независимо.

1116* **Preloaded skills**: полное содержание любого навыка, названного в поле [`skills`](#preload-skills-into-subagents) агента. Встроенные агенты не предзагружают навыки.1121* **Preloaded skills**: полное содержание любого навыка, названного в поле [`skills`](#preload-skills-into-subagents) агента. Встроенные агенты не предзагружают навыки.

1117* **Sibling roster**: системное напоминание, в котором перечислены `main` и каждый другой именованный агент в сессии, каждый является допустимым значением `to` для [`SendMessage`](#resume-subagents). Требует Claude Code v2.1.206 или позже. Реестр появляется только когда инструменты subagent включают `SendMessage` и по крайней мере один другой агент имеет имя, независимо от того, назвал ли его Claude при порождении или он работает как товарищ [agent team](/docs/ru/agent-teams). Это снимок, сделанный при запуске subagent, поэтому агенты, названные позже, не появляются.1122* **Sibling roster**: системное напоминание, в котором перечислены `main` и каждый другой именованный агент в сессии, каждый является допустимым значением `to` для [`SendMessage`](#resume-subagents). Требует Claude Code v2.1.206 или позже. Реестр появляется только когда инструменты subagent включают `SendMessage` и по крайней мере один другой агент имеет имя, независимо от того, назвал ли его Claude при порождении или он работает как товарищ [agent team](/docs/ru/agent-teams). Это снимок, сделанный при запуске subagent, поэтому агенты, названные позже, не появляются.

1118 1123 

1119Explore и Plan — единственные subagents, которые опускают CLAUDE.md и git status. Нет поля frontmatter или параметра per-agent для изменения того, какие агенты их пропускают.1124Чтобы запустить один из ваших собственных subagents без файлов пользователя, проекта и локального CLAUDE.md, установите [`omitClaudeMd: true`](#supported-frontmatter-fields) в его frontmatter или `--agents` JSON.

1125 

1126Основной разговор по-прежнему имеет ваш полный CLAUDE.md, когда он читает результаты этих subagents, поэтому большинству правил не нужно достигать самого subagent. Если правило должно, такое как "ignore the `vendor/` directory," переформулируйте его в приглашении, которое вы даёте Claude при делегировании.

1120 1127 

1121Основной разговор читает результаты Explore и Plan с полным контекстом CLAUDE.md, поэтому большинству правил не нужно достигать самого subagent. Если правило должно, такое как "ignore the `vendor/` directory," переформулируйте его в приглашении, которое вы даёте Claude при делегировании.1128Вы не можете изменить, какие subagents получают статус git. Только Explore и Plan пропускают его.

1122 1129 

1123Некоторое состояние основного разговора никогда не достигает non-fork subagent:1130Некоторое состояние основного разговора никогда не достигает non-fork subagent:

1124 1131 

Details

126 Настройка tmux126 Настройка tmux

127</h2>127</h2>

128 128 

129Когда Claude Code работает внутри tmux, по умолчанию возникают две проблемы: Shift+Enter отправляет сообщение вместо вставки новой строки, и уведомления рабочего стола и [индикатор прогресса](/docs/ru/settings-reference#terminalprogressbarenabled) никогда не достигают внешнего терминала. Добавьте эти строки в `~/.tmux.conf`, затем запустите `tmux source-file ~/.tmux.conf`, чтобы применить их к работающему серверу:129Когда Claude Code работает внутри tmux, по умолчанию Shift+Enter отправляет вместо вставки новой строки, и уведомления рабочего стола и [индикатор прогресса](/docs/ru/settings-reference#terminalprogressbarenabled) никогда не достигают внешнего терминала. Добавьте эти строки в `~/.tmux.conf`, затем запустите `tmux source-file ~/.tmux.conf`, чтобы применить их к работающему серверу:

130 130 

131```bash ~/.tmux.conf theme={null}131```bash ~/.tmux.conf theme={null}

132set -g allow-passthrough on132set -g allow-passthrough on

Details

152 152 

153 <tr>153 <tr>

154 <td>Аутентификация</td>154 <td>Аутентификация</td>

155 <td>Claude.ai SSO или электронная почта</td>155 <td>claude.ai SSO или электронная почта</td>

156 <td>API ключ или [вход в Console без него](/docs/ru/authentication#sign-in-without-an-api-key)</td>156 <td>API ключ или [вход в Console без него](/docs/ru/authentication#sign-in-without-an-api-key)</td>

157 <td>API ключ или учетные данные AWS</td>157 <td>API ключ или учетные данные AWS</td>

158 <td>API ключ или учетные данные AWS</td>158 <td>API ключ или учетные данные AWS</td>

Details

47| `ScheduleWakeup` | Переносит следующую итерацию [самостоятельного `/loop`](/docs/ru/scheduled-tasks#let-claude-choose-the-interval). Claude вызывает это в конце каждой итерации, чтобы выбрать, когда запустится следующая, между одной минутой и одним часом; вы не вызываете это напрямую. Чтобы вместо этого завершить цикл, Claude вызывает его с `stop: true`, что отменяет ожидающее пробуждение. Поле `stop` требует Claude Code v2.1.202 или позже. Ожидающее пробуждение появляется в `session_crons` в [входных данных Stop hook](/docs/ru/hooks#stop-input) | No |47| `ScheduleWakeup` | Переносит следующую итерацию [самостоятельного `/loop`](/docs/ru/scheduled-tasks#let-claude-choose-the-interval). Claude вызывает это в конце каждой итерации, чтобы выбрать, когда запустится следующая, между одной минутой и одним часом; вы не вызываете это напрямую. Чтобы вместо этого завершить цикл, Claude вызывает его с `stop: true`, что отменяет ожидающее пробуждение. Поле `stop` требует Claude Code v2.1.202 или позже. Ожидающее пробуждение появляется в `session_crons` в [входных данных Stop hook](/docs/ru/hooks#stop-input) | No |

48| `SendFeedback` | Составляет отчет об обратной связи о Claude Code, охватывающий проблему продукта или поведение Claude в сеансе, и ставит его в очередь на вашей машине для вашего просмотра. Claude Code ничего не отправляет, пока вы не выберете отправить черновик. См. [Поведение инструмента SendFeedback](#sendfeedback-tool-behavior). Требует Claude Code v2.1.238 или позже | No |48| `SendFeedback` | Составляет отчет об обратной связи о Claude Code, охватывающий проблему продукта или поведение Claude в сеансе, и ставит его в очередь на вашей машине для вашего просмотра. Claude Code ничего не отправляет, пока вы не выберете отправить черновик. См. [Поведение инструмента SendFeedback](#sendfeedback-tool-behavior). Требует Claude Code v2.1.238 или позже | No |

49| `SendMessage` | Отправляет сообщение другому агенту: товарищу по команде [команды агентов](/docs/ru/agent-teams), [подагенту, который он возобновляет](/docs/ru/sub-agents#resume-subagents) по ID или имени агента, или одному из ваших других сеансов Claude Code, на этой машине или за ее пределами. Обмен сообщениями с другими сеансами требует Claude Code v2.1.224 или позже. [Обмен сообщениями между сеансами](/docs/ru/cross-session-messaging) охватывает, какие сеансы Claude может достичь, [как выглядит сообщение, когда оно прибывает](/docs/ru/cross-session-messaging#what-a-message-looks-like), и [как Claude получает уведомление, когда другой сеанс переходит в режим ожидания](/docs/ru/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude может включить необязательный ввод `summary`, обычно 5-10 слов, который Claude Code показывает как однострочный предпросмотр. Когда Claude опускает его в [простом текстовом сообщении](/docs/ru/cross-session-messaging#limitations), Claude Code использует первую строку сообщения как резюме. Claude Code обрезает резюме длиннее 200 символов с многоточием | No |49| `SendMessage` | Отправляет сообщение другому агенту: товарищу по команде [команды агентов](/docs/ru/agent-teams), [подагенту, который он возобновляет](/docs/ru/sub-agents#resume-subagents) по ID или имени агента, или одному из ваших других сеансов Claude Code, на этой машине или за ее пределами. Обмен сообщениями с другими сеансами требует Claude Code v2.1.224 или позже. [Обмен сообщениями между сеансами](/docs/ru/cross-session-messaging) охватывает, какие сеансы Claude может достичь, [как выглядит сообщение, когда оно прибывает](/docs/ru/cross-session-messaging#what-a-message-looks-like), и [как Claude получает уведомление, когда другой сеанс переходит в режим ожидания](/docs/ru/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude может включить необязательный ввод `summary`, обычно 5-10 слов, который Claude Code показывает как однострочный предпросмотр. Когда Claude опускает его в [простом текстовом сообщении](/docs/ru/cross-session-messaging#limitations), Claude Code использует первую строку сообщения как резюме. Claude Code обрезает резюме длиннее 200 символов с многоточием | No |

50| `SendUserFile` | Отправляет файлы из сеанса вам с необязательной подписью, чтобы созданный отчет, диаграмма, снимок экрана или встроенный артефакт достигли вашего устройства вместо того, чтобы только упоминаться в стенограмме. Начиная с v2.1.196, необязательный ввод `display` контролирует представление: `render` открывает файл встроенным в клиент, `attach` показывает только карточку загрузки, и когда не установлено, клиент решает по типу файла. Доступно, когда подключен клиент [Remote Control](/docs/ru/remote-control) или сеанс работает в управляемой облачной среде, такой как [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web). Доставка осуществляется через инфраструктуру, размещенную на Anthropic, поэтому инструмент недоступен на Amazon Bedrock, Agent Platform Google Cloud или Microsoft Foundry | No |50| `SendUserFile` | Отправляет файлы из сеанса вам с необязательной подписью, чтобы созданный отчет, диаграмма, снимок экрана или встроенный артефакт достигли вашего устройства вместо того, чтобы только упоминаться в стенограмме. Начиная с v2.1.196, необязательный ввод `display` контролирует представление: `render` открывает файл встроенным в клиент, `attach` показывает только карточку загрузки, и когда не установлено, клиент решает по типу файла. Доступно, когда подключен клиент [Remote Control](/docs/ru/remote-control) или в [облачном сеансе](/docs/ru/claude-code-on-the-web). Доставка осуществляется через инфраструктуру, размещенную на Anthropic, поэтому инструмент недоступен на Amazon Bedrock, Agent Platform Google Cloud или Microsoft Foundry | No |

51| `ShareOnboardingGuide` | Загружает `ONBOARDING.md` и возвращает ссылку для общего доступа, которую товарищи по команде могут открыть в Claude Code. Вызывается из `/team-onboarding` после написания руководства. Доступно подписчикам claude.ai в планах Pro, Max, Team и Enterprise | Yes |51| `ShareOnboardingGuide` | Загружает `ONBOARDING.md` и возвращает ссылку для общего доступа, которую товарищи по команде могут открыть в Claude Code. Вызывается из `/team-onboarding` после написания руководства. Доступно подписчикам claude.ai в планах Pro, Max, Team и Enterprise | Yes |

52| `Skill` | Выполняет [skill](/docs/ru/skills#control-who-invokes-a-skill) в основном разговоре | Yes |52| `Skill` | Выполняет [skill](/docs/ru/skills#control-who-invokes-a-skill) в основном разговоре | Yes |

53| `SubagentHandback` | Доставляет финальный отчет подагента в разговор, который получает результат этого подагента. Предоставляется только в [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), подагентам, которых запускает инструмент Agent локально, кроме [форков](/docs/ru/sub-agents#fork-the-current-conversation), и доступно в терминальном CLI, расширениях IDE, облачных сеансах и Agent SDK; классификатор проверяет отчет перед его доставкой. Требует Claude Code v2.1.271 или позже | No |

53| `TaskCreate` | Создает новую задачу в списке задач. Предоставляется по умолчанию только на моделях, перечисленных в [Доступность инструмента Task](#task-tool-availability), и на других моделях, когда вы согласитесь | No |54| `TaskCreate` | Создает новую задачу в списке задач. Предоставляется по умолчанию только на моделях, перечисленных в [Доступность инструмента Task](#task-tool-availability), и на других моделях, когда вы согласитесь | No |

54| `TaskGet` | Получает полные детали для конкретной задачи. Предоставляется по умолчанию только на моделях, перечисленных в [Доступность инструмента Task](#task-tool-availability), и на других моделях, когда вы согласитесь | No |55| `TaskGet` | Получает полные детали для конкретной задачи. Предоставляется по умолчанию только на моделях, перечисленных в [Доступность инструмента Task](#task-tool-availability), и на других моделях, когда вы согласитесь | No |

55| `TaskList` | Выводит список всех задач с их текущим статусом. Предоставляется по умолчанию только на моделях, перечисленных в [Доступность инструмента Task](#task-tool-availability), и на других моделях, когда вы согласитесь | No |56| `TaskList` | Выводит список всех задач с их текущим статусом. Предоставляется по умолчанию только на моделях, перечисленных в [Доступность инструмента Task](#task-tool-availability), и на других моделях, когда вы согласитесь | No |


112* **Только `disallowedTools`**: подагент получает каждый инструмент родителя, кроме перечисленных.113* **Только `disallowedTools`**: подагент получает каждый инструмент родителя, кроме перечисленных.

113* **Оба установлены**: `disallowedTools` имеет приоритет. Инструмент, указанный в обоих, удаляется.114* **Оба установлены**: `disallowedTools` имеет приоритет. Инструмент, указанный в обоих, удаляется.

114 115 

115В каждом случае разрешенный набор ограничен [инструментами, доступными подагентам](/docs/ru/sub-agents#available-tools): инструмент, который недоступен подагентам, никогда не предоставляется, даже если указан в `tools`.116В каждом случае разрешенный набор ограничен [инструментами, доступными подагентам](/docs/ru/sub-agents#available-tools): инструмент, который недоступен подагентам, никогда не предоставляется, даже если указан в `tools`. Где условия в записи таблицы инструментов `SubagentHandback` выполняются, Claude Code также предоставляет подагенту этот инструмент, даже если вы его опустите в `tools` или указали в `disallowedTools`.

116 117 

117Если каждая запись в списке `tools` подагента не соответствует используемому инструменту, инструмент Agent обычно возвращает ошибку с названием записей вместо запуска подагента; см. [Agent would be spawned with zero tools](/docs/ru/errors#agent-would-be-spawned-with-zero-tools) для сообщения и способов исправления каждой записи.118Если каждая запись в списке `tools` подагента не соответствует используемому инструменту, инструмент Agent обычно возвращает ошибку с названием записей вместо запуска подагента; см. [Agent would be spawned with zero tools](/docs/ru/errors#agent-would-be-spawned-with-zero-tools) для сообщения и способов исправления каждой записи.

118 119 


277 * сессии через пакеты TypeScript и Python [Agent SDK](/docs/ru/agent-sdk/overview)278 * сессии через пакеты TypeScript и Python [Agent SDK](/docs/ru/agent-sdk/overview)

278 * панель [VS Code extension](/docs/ru/vs-code), которая поставляется с собственным CLI279 * панель [VS Code extension](/docs/ru/vs-code), которая поставляется с собственным CLI

279 * [GitHub Actions](/docs/ru/github-actions)280 * [GitHub Actions](/docs/ru/github-actions)

280 * [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web)281 * [облачные сессии](/docs/ru/claude-code-on-the-web)

281* **Режим запуска**: не сессия [`--bare`](/docs/ru/headless#start-faster-with-bare-mode). Режим bare загружает только инструменты shell и файлов, поэтому инструмент никогда там не регистрируется.282* **Режим запуска**: не сессия [`--bare`](/docs/ru/headless#start-faster-with-bare-mode). Режим bare загружает только инструменты shell и файлов, поэтому инструмент никогда там не регистрируется.

282* **Поставщик**: недоступно на [Amazon Bedrock](/docs/ru/amazon-bedrock), [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry), или на сессиях, вошедших через [облачный шлюз](/docs/ru/claude-apps-gateway).283* **Поставщик**: недоступно на [Amazon Bedrock](/docs/ru/amazon-bedrock), [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry), или на сессиях, вошедших через [облачный шлюз](/docs/ru/claude-apps-gateway).

283 284 


363 364 

364Вы продолжаете работать в одном сеансе, а Claude вмешивается при поступлении события.365Вы продолжаете работать в одном сеансе, а Claude вмешивается при поступлении события.

365 366 

367Каждое наблюдение, которое запускает Claude, имеет крайний срок: 5 минут по умолчанию, максимум 30 минут и максимум 10 минут в [неинтерактивном](/docs/ru/headless) запуске с одним приглашением с флагом `-p`.

368 

369По истечении крайнего срока наблюдение завершается. Claude получает одно уведомление, поэтому оно может снова запустить наблюдение, если оно всё ещё необходимо.

370 

366Остановите монитор, попросив Claude отменить его или завершив сеанс. Когда вы останавливаете [подагента](/docs/ru/sub-agents), который запустил мониторы, например из `/tasks`, эти мониторы останавливаются вместе с ним.371Остановите монитор, попросив Claude отменить его или завершив сеанс. Когда вы останавливаете [подагента](/docs/ru/sub-agents), который запустил мониторы, например из `/tasks`, эти мониторы останавливаются вместе с ним.

367 372 

368Когда Monitor запускает команду, он использует те же [правила разрешений, что и Bash](/docs/ru/permissions#tool-specific-permission-rules), поэтому шаблоны `allow` и `deny`, которые вы установили для Bash, применяются и здесь. Пока [режим auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) активен, Claude Code откладывает правила разрешений, которые называют сам `Monitor`, наряду с другими [широкими правилами разрешений, которые он отбрасывает](/docs/ru/permission-modes#how-the-classifier-evaluates-actions), поэтому классификатор проверяет команды Monitor так же, как он проверяет команды Bash.373Когда Monitor запускает команду, он использует те же [правила разрешений, что и Bash](/docs/ru/permissions#tool-specific-permission-rules), поэтому шаблоны `allow` и `deny`, которые вы установили для Bash, применяются и здесь. Пока [режим auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) активен, Claude Code откладывает правила разрешений, которые называют сам `Monitor`, наряду с другими [широкими правилами разрешений, которые он отбрасывает](/docs/ru/permission-modes#how-the-classifier-evaluates-actions), поэтому классификатор проверяет команды Monitor так же, как он проверяет команды Bash.


395| `url` | Да | Конечная точка для подключения. Должна быть URL `ws://` или `wss://` без встроенных учётных данных или пробелов, используя только символы ASCII |400| `url` | Да | Конечная точка для подключения. Должна быть URL `ws://` или `wss://` без встроенных учётных данных или пробелов, используя только символы ASCII |

396| `protocols` | Нет | Имена подпротоколов WebSocket для предложения во время рукопожатия. Каждая запись должна быть действительным токеном подпротокола, и список не может содержать дубликаты |401| `protocols` | Нет | Имена подпротоколов WebSocket для предложения во время рукопожатия. Каждая запись должна быть действительным токеном подпротокола, и список не может содержать дубликаты |

397 402 

398Входные данные `timeout_ms` и `persistent` ведут себя так же, как для команды: наблюдение завершается в крайний срок, если не установлен `persistent`, и `TaskStop` отменяет его раньше.403Крайний срок `timeout_ms` применяется и к наблюдению WebSocket: наблюдение завершается в крайний срок, и `TaskStop` отменяет его раньше.

399 404 

400Открытие WebSocket запрашивает одобрение; в [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) классификатор решает вместо этого. Приглашение не предлагает опцию пропустить будущие приглашения для одного хоста.405Открытие WebSocket запрашивает одобрение; в [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) классификатор решает вместо этого. Приглашение не предлагает опцию пропустить будущие приглашения для одного хоста.

401 406 


593* Перечислите инструменты в [`--tools`](/docs/ru/cli-reference#cli-flags), что ограничивает встроенные инструменты сеанса только теми, которые он называет. Включите нужные вам инструменты вместе с другими встроенными инструментами, которые вы используете598* Перечислите инструменты в [`--tools`](/docs/ru/cli-reference#cli-flags), что ограничивает встроенные инструменты сеанса только теми, которые он называет. Включите нужные вам инструменты вместе с другими встроенными инструментами, которые вы используете

594* В Agent SDK параметры [`allowedTools` и `tools`](/docs/ru/agent-sdk/todo-tracking#model-availability) работают так же, как два флага599* В Agent SDK параметры [`allowedTools` и `tools`](/docs/ru/agent-sdk/todo-tracking#model-availability) работают так же, как два флага

595 600 

596В [фоновых сеансах](/docs/ru/agent-view) и в [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) Claude Code предоставляет одинаковые инструменты на каждой модели, независимо от того, указана она в списке или нет.601В [фоновых сеансах](/docs/ru/agent-view) и в [облачных сеансах](/docs/ru/claude-code-on-the-web) Claude Code предоставляет одинаковые инструменты на каждой модели, независимо от того, указана она в списке или нет.

597 602 

598Claude Code предоставляет подагенту инструменты только когда ваш сеанс их имеет, даже когда подагент запускает другую модель. Товарищ команды агентов в процессе [команды агентов](/docs/ru/agent-teams) следует вашему сеансу таким же образом, в то время как товарищ в своей собственной [разделённой панели](/docs/ru/agent-teams#choose-a-display-mode) работает как отдельный процесс Claude Code, поэтому его собственная модель решает. Без инструментов Task агент координирует работу со своей командой через сообщения вместо [общего списка задач](/docs/ru/agent-teams#assign-and-claim-tasks).603Claude Code предоставляет подагенту инструменты только когда ваш сеанс их имеет, даже когда подагент запускает другую модель. Товарищ команды агентов в процессе [команды агентов](/docs/ru/agent-teams) следует вашему сеансу таким же образом, в то время как товарищ в своей собственной [разделённой панели](/docs/ru/agent-teams#choose-a-display-mode) работает как отдельный процесс Claude Code, поэтому его собственная модель решает. Без инструментов Task агент координирует работу со своей командой через сообщения вместо [общего списка задач](/docs/ru/agent-teams#assign-and-claim-tasks).

599 604 


609 614 

610Несколько поведений формируют ответ, который получает Claude:615Несколько поведений формируют ответ, который получает Claude:

611 616 

617* WebFetch отказывает `localhost` и любому другому имени хоста без точки, например простому имени интранета, перед выполнением запроса. [Ошибка, которую он возвращает](/docs/ru/errors#webfetch-cannot-fetch-localhost), говорит Claude достичь локальных серверов с помощью `curl` через Bash вместо этого.

612* HTTP URL-адреса автоматически обновляются до HTTPS.618* HTTP URL-адреса автоматически обновляются до HTTPS.

613* Большие страницы усекаются до фиксированного ограничения символов перед обработкой.619* Большие страницы усекаются до фиксированного ограничения символов перед обработкой.

614* WebFetch кэширует каждый ответ на 15 минут по умолчанию, поэтому повторные загрузки одного и того же URL возвращаются быстро. На Claude Code v2.1.233 или позже установите [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ru/env-vars#variables) для изменения того, как долго WebFetch хранит каждый ответ.620* WebFetch кэширует каждый ответ на 15 минут по умолчанию, поэтому повторные загрузки одного и того же URL возвращаются быстро. На Claude Code v2.1.233 или позже установите [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ru/env-vars#variables) для изменения того, как долго WebFetch хранит каждый ответ.

ultrareview.md +14 −7

Details

10 Ultrareview — это функция исследовательского предпросмотра. Функция, цены и доступность могут измениться на основе отзывов. Команда вызывается как `/code-review ultra`. Когда ultrareview доступен для вашей учетной записи, `/ultrareview` является псевдонимом.10 Ultrareview — это функция исследовательского предпросмотра. Функция, цены и доступность могут измениться на основе отзывов. Команда вызывается как `/code-review ultra`. Когда ultrareview доступен для вашей учетной записи, `/ultrareview` является псевдонимом.

11</Note>11</Note>

12 12 

13Ultrareview — это глубокий анализ кода, который работает на Claude Code в облачной инфраструктуре. Когда вы запускаете `/code-review ultra`, Claude Code запускает флот агентов-рецензентов в удаленной изолированной среде для поиска ошибок в вашей ветке или запросе на слияние.13Ultrareview — это глубокий анализ кода, который работает как [облачный сеанс](/docs/ru/claude-code-on-the-web) на инфраструктуре Anthropic. Когда вы запускаете `/code-review ultra`, Claude Code запускает флот агентов-рецензентов в облачной изолированной среде для поиска ошибок в вашей ветке или запросе на слияние.

14 14 

15По сравнению с локальным `/code-review`, ultrareview предлагает:15По сравнению с локальным `/code-review`, ultrareview предлагает:

16 16 

17* **Более высокий сигнал**: каждый найденный результат независимо воспроизводится и проверяется, поэтому результаты сосредоточены на реальных ошибках, а не на предложениях по стилю17* **Более высокий сигнал**: каждый найденный результат независимо воспроизводится и проверяется, поэтому результаты сосредоточены на реальных ошибках, а не на предложениях по стилю

18* **Более широкое покрытие**: более крупный флот агентов-рецензентов исследует изменение параллельно, что выявляет проблемы, которые может пропустить локальный анализ18* **Более широкое покрытие**: более крупный флот агентов-рецензентов исследует изменение параллельно, что выявляет проблемы, которые может пропустить локальный анализ

19* **Без использования локальных ресурсов**: анализ работает полностью в удаленной изолированной среде, поэтому ваш терминал остается свободным для другой работы во время его выполнения19* **Без использования локальных ресурсов**: анализ работает полностью в облачной изолированной среде, поэтому ваш терминал остается свободным для другой работы во время его выполнения

20 20 

21Ultrareview требует аутентификации с помощью учетной записи claude.ai, так как работает на Claude Code в облачной инфраструктуре. Если вы вошли только с помощью ключа API, запустите `/login` и сначала аутентифицируйтесь с помощью claude.ai. Ultrareview недоступен при использовании Claude Code с Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, а также недоступен для организаций, которые включили Zero Data Retention. Когда ultrareview недоступен, `/code-review ultra` запускает локальный анализ в вашем сеансе вместо этого.21Ultrareview требует аутентификации с помощью учетной записи claude.ai, так как работает как облачный сеанс на инфраструктуре Anthropic. Если вы вошли только с помощью ключа API, запустите `/login` и сначала аутентифицируйтесь с помощью claude.ai. Ultrareview недоступен при использовании Claude Code с Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, а также недоступен для организаций, которые включили Zero Data Retention. Когда ultrareview недоступен, `/code-review ultra` запускает локальный анализ в вашем сеансе вместо этого.

22 22 

23<h2 id="run-ultrareview-from-the-cli">23<h2 id="run-ultrareview-from-the-cli">

24 Запуск ultrareview из CLI24 Запуск ultrareview из CLI


79* **Интерактивно**: в диалоговом окне запуска выберите **Run and post the findings to the PR as me**. Если вы добавите `--post` к команде, как в `/code-review ultra 1234 --post`, Claude Code предварительно выбирает этот выбор и все еще спрашивает перед запуском.79* **Интерактивно**: в диалоговом окне запуска выберите **Run and post the findings to the PR as me**. Если вы добавите `--post` к команде, как в `/code-review ultra 1234 --post`, Claude Code предварительно выбирает этот выбор и все еще спрашивает перед запуском.

80* **Неинтерактивно**: запустите [подкоманду `claude ultrareview`](#run-ultrareview-non-interactively) с `--post`. Вы даете согласие на публикацию, запустив подкоманду с флагом, поэтому Claude Code публикует без вопросов. В запуске `claude -p '/code-review ultra'` Claude Code выходит перед прибытием результатов, поэтому ничего не публикует; используйте подкоманду вместо этого.80* **Неинтерактивно**: запустите [подкоманду `claude ultrareview`](#run-ultrareview-non-interactively) с `--post`. Вы даете согласие на публикацию, запустив подкоманду с флагом, поэтому Claude Code публикует без вопросов. В запуске `claude -p '/code-review ultra'` Claude Code выходит перед прибытием результатов, поэтому ничего не публикует; используйте подкоманду вместо этого.

81 81 

82Claude Code не публикует с вашей машины. Он отправляет результаты в сессию на [Claude Code on the web](/docs/ru/claude-code-on-the-web), которая публикует комментарий через учетную запись GitHub, которую вы подключили к Claude. Публикация требует того же входа claude.ai, что и сам анализ. Поскольку публикация работает через Claude Code on the web, она недоступна у сторонних поставщиков или когда вы установили [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ru/env-vars).82Claude Code не публикует с вашей машины. Он отправляет ID сессии анализа в API Anthropic, который публикует сохраненные результаты анализа как комментарий через учетную запись GitHub, которую вы подключили к Claude. Публикация требует того же входа claude.ai, что и сам анализ, и она недоступна у сторонних поставщиков или когда вы установили [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ru/env-vars).

83 83 

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

85 85 

86Когда публикация не может начаться, пока ваша сессия открыта, Claude сообщает вам, что ничего не попало в PR и почему, и результаты остаются в вашем терминале, чтобы вы могли опубликовать их вручную.86Когда публикация завершается, Claude сообщает вам результат:

87 

88* **Опубликовано**: Claude дает вам ссылку на комментарий.

89* **Уже опубликовано**: более ранняя публикация того же анализа уже поместила комментарий в PR, поэтому Claude ссылает вас на запрос на слияние вместо повторной публикации.

90* **Не удалось**: Claude сообщает вам почему, и результаты остаются в вашем терминале, чтобы вы могли опубликовать их вручную.

87 91 

88<h3 id="pass-a-request-in-plain-words">92<h3 id="pass-a-request-in-plain-words">

89 Передайте запрос простыми словами93 Передайте запрос простыми словами


185 189 

186Если вы прерываете подкоманду, удаленный анализ продолжает работать; следите за URL сессии, выведенным в stderr, чтобы смотреть его в браузере.190Если вы прерываете подкоманду, удаленный анализ продолжает работать; следите за URL сессии, выведенным в stderr, чтобы смотреть его в браузере.

187 191 

188С флагом `--post` подкоманда начинает публикацию сразу после вывода результатов. Если запуск не удается, истекает тайм-аут или вы его прерываете, подкоманда ничего не публикует. Если анализ завершается, но публикация не может начаться, Claude Code выводит причину в stderr, а результаты остаются в stdout, чтобы вы могли опубликовать их вручную.192С флагом `--post` подкоманда начинает публикацию сразу после вывода результатов, и выводит ссылку в stderr.

193 

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

195* Если анализ завершается, но комментарий не опубликован, Claude Code выводит причину в stderr, а результаты остаются в stdout, чтобы вы могли опубликовать их вручную.

189 196 

190Для автоматических анализов запросов на слияние GitHub [Code Review](/docs/ru/code-review) интегрируется непосредственно с вашим репозиторием и публикует результаты как встроенные комментарии PR без этапа CLI.197Для автоматических анализов запросов на слияние GitHub [Code Review](/docs/ru/code-review) интегрируется непосредственно с вашим репозиторием и публикует результаты как встроенные комментарии PR без этапа CLI.

191 198 


198| | `/code-review` | `/code-review ultra` |205| | `/code-review` | `/code-review ultra` |

199| ----------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------- |206| ----------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------- |

200| Цель | ваш рабочий diff, pull request, ветка или путь | ваш рабочий diff или pull request |207| Цель | ваш рабочий diff, pull request, ветка или путь | ваш рабочий diff или pull request |

201| Запуск | локально в вашей сессии | удаленно в облачной изолированной среде |208| Запуск | локально в вашей сессии | в облачной изолированной среде |

202| Глубина | масштабируется с аргументом effort | многоагентный флот с независимой проверкой |209| Глубина | масштабируется с аргументом effort | многоагентный флот с независимой проверкой |

203| Продолжительность | секунды до нескольких минут | примерно 5–10 минут |210| Продолжительность | секунды до нескольких минут | примерно 5–10 минут |

204| Стоимость | учитывается в обычном использовании | бесплатные запуски, затем примерно \$5–\$25 за анализ как дополнительное использование |211| Стоимость | учитывается в обычном использовании | бесплатные запуски, затем примерно \$5–\$25 за анализ как дополнительное использование |

Details

17Голосовой ввод передает вашу записанную речь на серверы Anthropic для транскрибирования. Аудио не обрабатывается локально. Для этого требуется все следующее:17Голосовой ввод передает вашу записанную речь на серверы Anthropic для транскрибирования. Аудио не обрабатывается локально. Для этого требуется все следующее:

18 18 

19* **Учетная запись Claude.ai**: служба преобразования речи в текст доступна только при аутентификации с помощью учетной записи Claude.ai и недоступна, когда Claude Code настроен на использование ключа Anthropic API напрямую, Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry.19* **Учетная запись Claude.ai**: служба преобразования речи в текст доступна только при аутентификации с помощью учетной записи Claude.ai и недоступна, когда Claude Code настроен на использование ключа Anthropic API напрямую, Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry.

20* **Локальный микрофон**: голосовой ввод не работает в удаленных окружениях, таких как [Claude Code в веб-браузере](/docs/ru/claude-code-on-the-web) или сеансы SSH.20* **Локальный микрофон**: голосовой ввод не работает в [облачных сеансах](/docs/ru/claude-code-on-the-web) или сеансах SSH.

21* **WSLg, если вы запускаете Claude Code в WSL**: WSLg включен в WSL2 при установке из Microsoft Store на Windows 10 или 11. Если WSLg недоступен, например на WSL1, запустите Claude Code в собственной Windows.21* **WSLg, если вы запускаете Claude Code в WSL**: WSLg включен в WSL2 при установке из Microsoft Store на Windows 10 или 11. Если WSLg недоступен, например на WSL1, запустите Claude Code в собственной Windows.

22 22 

23Транскрибирование не потребляет сообщения Claude или токены и не учитывается в пределах, показанных в `/usage`. См. [использование данных](/docs/ru/data-usage), чтобы узнать, как Anthropic обрабатывает ваши данные.23Транскрибирование не потребляет сообщения Claude или токены и не учитывается в пределах, показанных в `/usage`. См. [использование данных](/docs/ru/data-usage), чтобы узнать, как Anthropic обрабатывает ваши данные.

vs-code.md +17 −4

Details

125 125 

126 Последний список дел Claude остается видимым, как и текст, о котором задает вопрос ожидающий вопрос от Claude; это требует Claude Code v2.1.225 или позже. Пока Claude запускает [подагентов](/docs/ru/sub-agents), строки прямого прогресса с их последней активностью появляются под группой вызовов инструментов, которая их запустила. Это требует Claude Code v2.1.269 или позже.126 Последний список дел Claude остается видимым, как и текст, о котором задает вопрос ожидающий вопрос от Claude; это требует Claude Code v2.1.225 или позже. Пока Claude запускает [подагентов](/docs/ru/sub-agents), строки прямого прогресса с их последней активностью появляются под группой вызовов инструментов, которая их запустила. Это требует Claude Code v2.1.269 или позже.

127 * Чтобы сообщить об ошибке, нажмите **Report a problem** в нижней части меню, или введите `/bug` или `/feedback` с необязательным описанием, которое предварительно заполняет отчет. Когда вы отправляете отчет и вы вошли в Anthropic на подключении первой стороны, Claude Code отправляет его в Anthropic. У поставщика третьей стороны или без учетных данных Anthropic диалог все еще открывается, но отправка показывает ошибку и ничего не отправляет: в отличие от `/bug` CLI, расширение не записывает локальный архив. Требует Claude Code v2.1.229 или позже.127 * Чтобы сообщить об ошибке, нажмите **Report a problem** в нижней части меню, или введите `/bug` или `/feedback` с необязательным описанием, которое предварительно заполняет отчет. Когда вы отправляете отчет и вы вошли в Anthropic на подключении первой стороны, Claude Code отправляет его в Anthropic. У поставщика третьей стороны или без учетных данных Anthropic диалог все еще открывается, но отправка показывает ошибку и ничего не отправляет: в отличие от `/bug` CLI, расширение не записывает локальный архив. Требует Claude Code v2.1.229 или позже.

128 

129 Если политика вашей организации отключает отзывы о продукте, **Report a problem** не появляется в меню, и `/bug` и `/feedback` показывают уведомление `Feedback is turned off by your organization's policy or this environment's settings.` вместо открытия отчета.

128* **Side questions**: введите `/btw` с последующим вопросом, чтобы задать вопрос о вашем сеансе [без добавления в разговор](/docs/ru/interactive-mode#side-questions-with-%2Fbtw). Ответ открывается в панели рядом с чатом, где вы можете задавать дополнительные вопросы. Поток сохраняется при перезагрузке окна. Claude Code сохраняет новейшие 20 обменов и истекает сохраненные потоки по расписанию [`cleanupPeriodDays`](/docs/ru/settings-reference#cleanupperioddays), пока Claude Code может [безопасно определить период хранения](/docs/ru/claude-directory#cleaned-up-automatically). Чтобы очистить поток, нажмите на значок корзины в панели. Требует Claude Code v2.1.227 или позже.130* **Side questions**: введите `/btw` с последующим вопросом, чтобы задать вопрос о вашем сеансе [без добавления в разговор](/docs/ru/interactive-mode#side-questions-with-%2Fbtw). Ответ открывается в панели рядом с чатом, где вы можете задавать дополнительные вопросы. Поток сохраняется при перезагрузке окна. Claude Code сохраняет новейшие 20 обменов и истекает сохраненные потоки по расписанию [`cleanupPeriodDays`](/docs/ru/settings-reference#cleanupperioddays), пока Claude Code может [безопасно определить период хранения](/docs/ru/claude-directory#cleaned-up-automatically). Чтобы очистить поток, нажмите на значок корзины в панели. Требует Claude Code v2.1.227 или позже.

129* **Context indicator**: поле ввода подсказки показывает, сколько контекстного окна Claude вы используете. Claude автоматически компактирует при необходимости, или вы можете запустить `/compact` вручную.131* **Context indicator**: поле ввода подсказки показывает, сколько контекстного окна Claude вы используете. Claude автоматически компактирует при необходимости, или вы можете запустить `/compact` вручную.

132* **Prompt cache clock**: значок часов рядом с индикатором контекста оценивает, сколько времени осталось у [prompt cache](/docs/ru/prompt-caching) разговора перед его истечением. Он отсчитывает от [времени жизни](/docs/ru/prompt-caching#cache-lifetime) кэша в пять минут или один час, и каждый ответ, который использует кэш, перезапускает обратный отсчет. Помимо компактирования, [действия, которые делают кэш недействительным](/docs/ru/prompt-caching#actions-that-invalidate-the-cache), не сбрасывают часы, поэтому они все еще могут показывать оставшиеся минуты после переключения моделей.

133 * До истечения обратного отсчета значок показывает оставшиеся минуты, такие как **12m**.

134 * Когда обратный отсчет заканчивается, минуты исчезают и значок становится красным, или цветом ошибки вашей темы, до следующего ответа. Кэш, вероятно, истек, поэтому ожидайте более медленный и дорогостоящий ответ на ваше следующее сообщение, пока кэш перестраивается. Если время жизни в пять минут продолжает истекать между вашими сообщениями, смотрите [Choose the TTL yourself](/docs/ru/prompt-caching#choose-the-ttl-yourself).

135 * Сразу после [компактирования](/docs/ru/prompt-caching#compacting-the-conversation) разговора значок также становится красным без минут до следующего ответа, потому что кэш еще не охватывает компактированный разговор.

130* **Agent map**: когда разговор включает [подагентов](/docs/ru/sub-agents), счетчик агентов, такой как **2 agents**, появляется в нижней части поля ввода подсказки. Его точка показывает, работает ли какой-либо подагент или ожидает вашего разрешения.136* **Agent map**: когда разговор включает [подагентов](/docs/ru/sub-agents), счетчик агентов, такой как **2 agents**, появляется в нижней части поля ввода подсказки. Его точка показывает, работает ли какой-либо подагент или ожидает вашего разрешения.

131 137 

132 Нажмите на счетчик агентов, чтобы открыть карту агентов, которая рисует подагентов разговора как дерево под главным агентом, каждый с его статусом, прошедшим временем и счетчиком токенов. Нажмите на подагента, чтобы увидеть его подсказку и вызовы инструментов, открыть его транскрипт только для чтения или остановить его во время работы. Требует Claude Code v2.1.269 или позже.138 Нажмите на счетчик агентов, чтобы открыть карту агентов, которая рисует подагентов разговора как дерево под главным агентом, каждый с его статусом, прошедшим временем и счетчиком токенов. Нажмите на подагента, чтобы увидеть его подсказку и вызовы инструментов, открыть его транскрипт только для чтения или остановить его во время работы. Требует Claude Code v2.1.269 или позже.


146 152 

147Для больших PDF-файлов вы можете попросить Claude прочитать определенные страницы вместо всего файла: одну страницу, диапазон, например страницы 1-10, или открытый диапазон, например страница 3 и далее.153Для больших PDF-файлов вы можете попросить Claude прочитать определенные страницы вместо всего файла: одну страницу, диапазон, например страницы 1-10, или открытый диапазон, например страница 3 и далее.

148 154 

149Когда вы выбираете текст в редакторе, Claude может видеть ваш выделенный код автоматически. Нижняя часть поля ввода подсказки показывает, сколько строк выбрано. Нажмите `Option+K` (Mac) / `Alt+K` (Windows/Linux), чтобы вставить @-упоминание с путем файла и номерами строк (например, `@app.ts#5-10`). Нажмите **X** на индикаторе выделения, чтобы удалить его, чтобы Claude не получал выделение. Индикатор появляется снова, когда вы выбираете другой текст или переключаетесь на другой файл.155Когда вы выбираете текст в редакторе, Claude может видеть ваш выделенный код автоматически. Нижняя часть поля ввода подсказки показывает, сколько строк выбрано. Нажмите `Option+K` (Mac) / `Alt+K` (Windows/Linux), чтобы вставить @-упоминание с путем файла и номерами строк (например, `@app.ts#5-10`). Нажмите **X** на индикаторе выделения, чтобы удалить его, чтобы Claude не получал выделение. Индикатор появляется снова, когда вы выбираете другой текст.

156 

157Claude также видит, какой файл у вас открыт в редакторе, даже когда ничего не выбрано, и поле ввода подсказки показывает его имя. Чтобы добавить только выбранный текст, отключите [параметр Attach Open File](vscode://settings/claudeCode.attachOpenFile). Параметр требует Claude Code v2.1.271 или позже.

150 158 

151Чтобы прикрепить изображение, вставьте его из буфера обмена в поле ввода подсказки. Вы также можете удерживать `Shift` при перетаскивании файлов в поле ввода подсказки, чтобы добавить их как вложения. Нажмите X на любом вложении, чтобы удалить его из контекста.159Чтобы прикрепить изображение, вставьте его из буфера обмена в поле ввода подсказки. Вы также можете удерживать `Shift` при перетаскивании файлов в поле ввода подсказки, чтобы добавить их как вложения. Нажмите X на любом вложении, чтобы удалить его из контекста.

152 160 


174 Возобновление облачных сеансов из Claude.ai182 Возобновление облачных сеансов из Claude.ai

175</h3>183</h3>

176 184 

177Если вы используете [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web), вы можете возобновить эти облачные сеансы прямо в VS Code. Это требует входа с **Claude.ai Subscription**, а не Anthropic Console.185Если вы используете [облачные сеансы](/docs/ru/claude-code-on-the-web), вы можете возобновить их прямо в VS Code. Это требует входа с **Claude.ai Subscription**, а не Anthropic Console.

178 186 

179<Steps>187<Steps>

180 <Step title="Open session history">188 <Step title="Open session history">


191</Steps>199</Steps>

192 200 

193<Note>201<Note>

194 Только веб-сеансы, начатые с репозитория GitHub, появляются на вкладке Web. Возобновление загружает историю разговора локально; изменения не синхронизируются обратно в claude.ai.202 Только облачные сеансы, начатые с репозитория GitHub, появляются на вкладке Web. Возобновление загружает историю разговора локально; изменения не синхронизируются обратно в claude.ai.

195</Note>203</Note>

196 204 

197<h3 id="check-account-and-usage">205<h3 id="check-account-and-usage">


450| `initialPermissionMode` | - | Управляет запросами одобрения для новых бесед: `default`, `plan`, `acceptEdits` или `bypassPermissions`. `manual` является псевдонимом для `default` и выбирает режим, обозначенный как **Manual** в индикаторе режима. Если оставить его неустановленным, расширение выбирает начальный режим разрешений, как описано в [Switch permission modes](/docs/ru/permission-modes#switch-permission-modes). |458| `initialPermissionMode` | - | Управляет запросами одобрения для новых бесед: `default`, `plan`, `acceptEdits` или `bypassPermissions`. `manual` является псевдонимом для `default` и выбирает режим, обозначенный как **Manual** в индикаторе режима. Если оставить его неустановленным, расширение выбирает начальный режим разрешений, как описано в [Switch permission modes](/docs/ru/permission-modes#switch-permission-modes). |

451| `preferredLocation` | `panel` | Где открывается Claude: `sidebar` (справа) или `panel` (новая вкладка) |459| `preferredLocation` | `panel` | Где открывается Claude: `sidebar` (справа) или `panel` (новая вкладка) |

452| `autosave` | `true` | Автоматически сохранять файлы перед тем, как Claude их читает или записывает |460| `autosave` | `true` | Автоматически сохранять файлы перед тем, как Claude их читает или записывает |

461| `attachOpenFile` | `true` | Добавить файл, открытый в редакторе, к вашим сообщениям и показать его в поле подсказки. Когда отключено, добавляется только выбранный текст. Требуется Claude Code v2.1.271 или позже |

453| `useCtrlEnterToSend` | `false` | Использовать Ctrl/Cmd+Enter вместо Enter для отправки подсказок |462| `useCtrlEnterToSend` | `false` | Использовать Ctrl/Cmd+Enter вместо Enter для отправки подсказок |

454| `enableNewConversationShortcut` | `false` | Включить Cmd/Ctrl+N для начала новой беседы |463| `enableNewConversationShortcut` | `false` | Включить Cmd/Ctrl+N для начала новой беседы |

455| `enableReopenClosedSessionShortcut` | `true` | Использовать Cmd/Ctrl+Shift+T для повторного открытия самой недавно закрытой вкладки сеанса Claude. Когда последняя закрытая вкладка не была сеансом Claude, сочетание клавиш запускает обычную команду VS Code для повторного открытия закрытого редактора. |464| `enableReopenClosedSessionShortcut` | `true` | Использовать Cmd/Ctrl+Shift+T для повторного открытия самой недавно закрытой вкладки сеанса Claude. Когда последняя закрытая вкладка не была сеансом Claude, сочетание клавиш запускает обычную команду VS Code для повторного открытия закрытого редактора. |


623 632 

624Сервер называется `ide` и скрыт от `/mcp`, потому что нечего настраивать. Однако если ваша организация использует hook `PreToolUse` для создания списка разрешённых MCP инструментов, вам нужно знать, что он существует.633Сервер называется `ide` и скрыт от `/mcp`, потому что нечего настраивать. Однако если ваша организация использует hook `PreToolUse` для создания списка разрешённых MCP инструментов, вам нужно знать, что он существует.

625 634 

626**Выделение и контекст открытого файла.** Во время подключения CLI включает ваш текущий выбор в редакторе и путь активного файла в качестве контекста для каждого отправляемого вами запроса. Стенограмма показывает строку `⧉ Selected N lines from <file>` когда это происходит. Чтобы исключить конфиденциальный файл, такой как `.env`, добавьте [правило отказа `Read`](/docs/ru/permissions#read-and-edit) для его пути. Соответствующее правило отказа предотвращает как выбранный текст, так и уведомление об открытом файле для этого файла от достижения Claude.635**Выделение и контекст открытого файла.** Во время подключения CLI включает ваш текущий выбор в редакторе и путь активного файла в качестве контекста для каждого отправляемого вами запроса. Стенограмма показывает строку `⧉ Selected N lines from <file>` когда это происходит.

636 

637Чтобы исключить конфиденциальный файл, такой как `.env`, добавьте [правило отказа `Read`](/docs/ru/permissions#read-and-edit) для его пути. Соответствующее правило отказа предотвращает как выбранный текст, так и уведомление об открытом файле для этого файла от достижения Claude.

638 

639Если вы отключите [параметр Attach Open File](#extension-settings), CLI получит путь активного файла только при наличии выделенного текста в нём.

627 640 

628**Транспорт и аутентификация.** Сервер привязывается к `127.0.0.1` на случайный порт в диапазоне 10000–65535, и порт не настраивается. Транспорт — это незашифрованный `ws://`; поскольку сокет только для обратного пути, любой процесс, который может перехватить трафик, также может прочитать токен из файла блокировки, поэтому TLS не добавит защиту. Каждая активация расширения генерирует свежий случайный токен аутентификации, записывает его в файл блокировки в `~/.claude/ide/<port>.lock`, и CLI должен представить его как заголовок `X-Claude-Code-Ide-Authorization` для подключения. Файл блокировки имеет разрешения `0600` в каталоге `0700`, поэтому только пользователь, запустивший VS Code, может его прочитать. Если установлена переменная `CLAUDE_CONFIG_DIR`, файл блокировки записывается в `$CLAUDE_CONFIG_DIR/ide/` вместо этого.641**Транспорт и аутентификация.** Сервер привязывается к `127.0.0.1` на случайный порт в диапазоне 10000–65535, и порт не настраивается. Транспорт — это незашифрованный `ws://`; поскольку сокет только для обратного пути, любой процесс, который может перехватить трафик, также может прочитать токен из файла блокировки, поэтому TLS не добавит защиту. Каждая активация расширения генерирует свежий случайный токен аутентификации, записывает его в файл блокировки в `~/.claude/ide/<port>.lock`, и CLI должен представить его как заголовок `X-Claude-Code-Ide-Authorization` для подключения. Файл блокировки имеет разрешения `0600` в каталоге `0700`, поэтому только пользователь, запустивший VS Code, может его прочитать. Если установлена переменная `CLAUDE_CONFIG_DIR`, файл блокировки записывается в `$CLAUDE_CONFIG_DIR/ide/` вместо этого.

629 642 

web-quickstart.md +32 −26

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> 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.3> Use this file to discover all available pages before exploring further.

4 4 

5# Начало работы с Claude Code в веб-версии5# Начало работы с Claude Code в облаке

6 6 

7> Запустите Claude Code в облаке из браузера или мобильного приложения. Подключите репозиторий GitHub, отправьте задачу и просмотрите PR без локальной настройки.7> Запустите Claude Code в облаке из браузера или мобильного приложения. Подключите репозиторий GitHub, отправьте задачу и просмотрите PR без локальной настройки.

8 8 

9<Note>9<Note>

10 Claude Code в веб-версии находится в исследовательском предпросмотре для пользователей Pro, Max и Team, а также для пользователей Enterprise с премиум-местами или местами Chat + Claude Code.10 Облачные сеансы находятся в исследовательском предпросмотре для пользователей Pro, Max и Team, а также для пользователей Enterprise с премиум-местами или местами Chat + Claude Code.

11</Note>11</Note>

12 12 

13Claude Code в веб-версии работает на облачной инфраструктуре вместо вашей машины, управляемой Anthropic по умолчанию. Отправляйте задачи с [claude.ai/code](https://claude.ai/code) из браузера или мобильного приложения Claude.13Облачный сеанс запускает Claude Code на облачной инфраструктуре вместо вашей машины, управляемой Anthropic по умолчанию. Этот краткий старт запускает один с [claude.ai/code](https://claude.ai/code) в вашем браузере. Вы также можете запустить один из мобильного приложения Claude, приложения Desktop или вашего терминала с помощью `claude --cloud`.

14 14 

15Вам потребуется репозиторий GitHub для [начала работы](#connect-github). Claude клонирует его в изолированную виртуальную машину, вносит изменения и отправляет ветку для вашего просмотра. Сеансы сохраняются на всех устройствах, поэтому задача, которую вы начали на ноутбуке, готова к просмотру с телефона позже.15Вам потребуется репозиторий GitHub для [начала работы](#connect-github). Claude клонирует его в изолированную виртуальную машину, вносит изменения и отправляет ветку для вашего просмотра. Сеансы сохраняются на всех устройствах, поэтому задача, которую вы начали на ноутбуке, готова к просмотру с телефона позже.

16 16 

17Claude Code в веб-версии хорошо подходит для:17Облачные сеансы хорошо подходят для:

18 18 

19* **Параллельные задачи**: запускайте несколько независимых задач одновременно, каждую в своем сеансе и ветке, без управления несколькими worktrees19* **Параллельные задачи**: запускайте несколько независимых задач одновременно, каждую в своем сеансе и ветке, без управления несколькими worktrees

20* **Репозитории, которые у вас нет локально**: Claude клонирует репозиторий заново в каждом сеансе, поэтому вам не нужно его проверять20* **Репозитории, которые у вас нет локально**: Claude клонирует репозиторий заново в каждом сеансе, поэтому вам не нужно его проверять


40 Сравнение способов запуска Claude Code40 Сравнение способов запуска Claude Code

41</h2>41</h2>

42 42 

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

44 44 

45| | В веб-версии | Remote Control | Terminal CLI | Приложение Desktop |45| | Cloud session | Local session | Local session с [Remote Control](/docs/ru/remote-control) |

46| :-------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- | :---------------- | :----------------------------------- |46| :-------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |

47| **Код выполняется на** | Облачной ВМ Anthropic | Вашей машине | Вашей машине | Вашей машине или облачной ВМ |47| **Код выполняется на** | Cloud VM, управляемой Anthropic по умолчанию | Вашей машине | Вашей машине |

48| **Вы общаетесь с** | claude.ai или мобильного приложения | claude.ai или мобильного приложения | Вашего терминала | Интерфейса Desktop |48| **Вы запускаете его из** | claude.ai/code, мобильного приложения Claude, приложения Desktop с выбранным **Cloud** или `claude --cloud` | Вашего терминала, вашей IDE или приложения Desktop с выбранным **Local** | Вашего терминала, расширения VS Code или приложения Desktop |

49| **Использует вашу локальную конфигурацию** | Нет, только репозиторий | Да | Да | Да для локального, нет для облачного |49| **Вы общаетесь из** | claude.ai, мобильного приложения или приложения Desktop | Места, где вы его запустили | claude.ai или мобильного приложения, а также из места, где вы его запустили |

50| **Требует GitHub** | Да, или [отправьте локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) через `--cloud` | Нет | Нет | Только для облачных сеансов |50| **Использует вашу локальную конфигурацию** | Нет, только репозиторий | Да | Да |

51| **Продолжает работать при отключении** | Да | Пока терминал остается открытым | Нет | Зависит от типа сеанса |51| **Требует GitHub** | Да, или [отправьте локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) через `--cloud` | Нет | Нет |

52| **[Режимы разрешений](/docs/ru/permission-modes)** | Принять правки, Plan, Auto | Спросить, Автоматическое принятие правок, Plan | Все режимы | Зависит от типа сеанса |52| **Продолжает работать при отключении** | Да | Нет | Пока сеанс остается открытым на вашей машине |

53| **Доступ в сеть** | Настраивается для каждого окружения | Сеть вашей машины | Сеть вашей машины | Зависит от типа сеанса |53| **[Режимы разрешений](/docs/ru/permission-modes)** | Принять правки, Plan, Auto | Все режимы в терминале; см. [Переключение режимов разрешений](/docs/ru/permission-modes#switch-permission-modes) для IDE и приложения Desktop | Manual, Принять правки или Plan из claude.ai и мобильного приложения |

54| **Доступ в сеть** | Настраивается для каждого окружения | Сеть вашей машины | Сеть вашей машины |

54 55 

55Смотрите документацию [быстрого старта терминала](/docs/ru/quickstart), [приложения Desktop](/docs/ru/desktop) или [Remote Control](/docs/ru/remote-control) для их настройки.56Смотрите документацию [быстрого старта терминала](/docs/ru/quickstart), [приложения Desktop](/docs/ru/desktop) или [Remote Control](/docs/ru/remote-control) для настройки локальных сеансов.

56 57 

57<h2 id="connect-github">58<h2 id="connect-github">

58 Подключение GitHub59 Подключение GitHub


66 67 

67<Steps>68<Steps>

68 <Step title="Посетите claude.ai/code">69 <Step title="Посетите claude.ai/code">

69 Перейдите на [claude.ai/code](https://claude.ai/code) и войдите со своей учетной записью claude.ai. На macOS или Windows первый экран предлагает приложение Claude Code для рабочего стола и другие способы установки Claude Code. Чтобы остаться в браузере, нажмите **Continue on web** внизу страницы.70 Перейдите на [claude.ai/code](https://claude.ai/code) и войдите со своей учетной записью claude.ai.

70 </Step>71 </Step>

71 72 

72 <Step title="Войдите с помощью GitHub">73 <Step title="Войдите с помощью GitHub">

73 После входа claude.ai/code предложит вам подключить GitHub. Следуйте подсказке, и claude.ai/code отправит вас на страницу авторизации GitHub. Одобрите запрос авторизации, и GitHub вернет вас на claude.ai/code. Облачные сеансы работают с существующими репозиториями GitHub. Чтобы запустить новый проект, сначала [создайте пустой репозиторий на GitHub](https://github.com/new).74 После входа claude.ai/code предложит вам подключить GitHub. Следуйте подсказке, и claude.ai/code отправит вас на страницу авторизации GitHub. Одобрите запрос авторизации, и GitHub вернет вас на claude.ai/code. Облачные сеансы работают с существующими репозиториями GitHub. Чтобы запустить новый проект, сначала [создайте пустой репозиторий на GitHub](https://github.com/new).

74 75 

75 С этим подключением сеанс может клонировать любой открытый репозиторий, но может работать в приватном репозитории только когда приложение Claude GitHub установлено на нем. [Установите приложение](https://github.com/apps/claude/installations/new) на каждую учетную запись GitHub или организацию, чьи приватные репозитории вы хотите использовать. В организации GitHub владелец организации может потребоваться одобрить установку. Установка приложения также включает [Auto-fix](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests), который позволяет Claude реагировать на сбои CI и комментарии рецензентов в pull requests в этих репозиториях.76 С этим подключением сеанс может клонировать любой открытый репозиторий, но может работать в приватном репозитории только когда приложение Claude GitHub установлено на нем. [Установите приложение Claude GitHub](https://github.com/apps/claude/installations/new) на каждую учетную запись GitHub или организацию, чьи приватные репозитории вы хотите использовать. В организации GitHub владелец организации может потребоваться одобрить установку. Установка приложения также включает [Auto-fix](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests), который позволяет Claude реагировать на сбои CI и комментарии рецензентов в pull requests в этих репозиториях.

76 77 

77 Если встроенная настройка предложит вам установить приложение на этом этапе и вы предпочитаете сделать это позже, нажмите **Skip**.78 Если встроенная настройка предложит вам установить приложение Claude GitHub на этом этапе и вы предпочитаете сделать это позже, нажмите **Skip**.

78 </Step>79 </Step>

79 80 

80 <Step title="Настройте ваше окружение по умолчанию">81 <Step title="Настройте ваше окружение по умолчанию">


93 Подключение из терминала94 Подключение из терминала

94</h3>95</h3>

95 96 

96Если вы уже используете GitHub CLI (`gh`), вы можете настроить Claude Code в веб-версии из терминала. Это требует [Claude Code CLI](/docs/ru/quickstart). На планах Team и Enterprise `/web-setup` доступен только после того, как Owner включит [Quick web setup](/docs/ru/claude-code-on-the-web#github-authentication-options).97Если вы уже используете GitHub CLI (`gh`), вы можете подключить GitHub для облачных сеансов из терминала. Это требует [Claude Code CLI](/docs/ru/quickstart). На планах Team и Enterprise `/web-setup` доступен только после того, как Owner включит [Quick web setup](/docs/ru/claude-code-on-the-web#github-authentication-options).

97 98 

98Когда вы запускаете `/web-setup`, Claude Code читает токен, который выводит `gh auth token`, просит вас подтвердить и отправляет токен в Anthropic. Anthropic хранит его в зашифрованном виде с вашей учетной записью claude.ai, и ваши облачные сеансы используют его для доступа к GitHub до тех пор, пока вы не [удалите его](#remove-the-web-setup-token). Облачный сеанс может затем получить доступ к любому репозиторию, к которому может получить доступ этот токен, без установки приложения Claude GitHub.99Когда вы запускаете `/web-setup`, Claude Code читает токен, который выводит `gh auth token`, просит вас подтвердить и отправляет токен в Anthropic. Anthropic хранит его в зашифрованном виде с вашей учетной записью claude.ai, и ваши облачные сеансы используют его для доступа к GitHub до тех пор, пока вы не [удалите его](#remove-the-web-setup-token). Облачный сеанс, который вы запускаете сами, может затем получить доступ к любому репозиторию, к которому может получить доступ этот токен, без установки приложения Claude GitHub. Потоки в [проекте](/docs/ru/claude-projects#set-up-github-access) по-прежнему требуют приложение Claude GitHub.

99 100 

100Если вы уже подключили GitHub в браузере, `/web-setup` предупредит вас, что продолжение заменит это подключение для ваших облачных сеансов.101Если вы уже подключили GitHub в браузере, `/web-setup` предупредит вас, что продолжение заменит это подключение для ваших облачных сеансов.

101 102 


123 /web-setup124 /web-setup

124 ```125 ```

125 126 

126 Подтвердите подсказку для отправки вашего токена `gh` на вашу учетную запись Claude. При успехе Claude Code выводит `Connected as <your-github-username>` и открывает [claude.ai/code](https://claude.ai/code) в вашем браузере. Если у вас еще нет облачного окружения, `/web-setup` создает его с доступом в сеть Trusted и без скрипта настройки. Вы можете [отредактировать окружение или добавить переменные](/docs/ru/cloud-environments#configure-your-environment) позже. После завершения `/web-setup` вы можете запускать облачные сеансы из терминала с помощью [`--cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-web) или настроить повторяющиеся задачи с помощью [`/schedule`](/docs/ru/routines).127 Подтвердите подсказку для отправки вашего токена `gh` на вашу учетную запись Claude. При успехе Claude Code выводит `Connected as <your-github-username>` и открывает [claude.ai/code](https://claude.ai/code) в вашем браузере. Если у вас еще нет облачного окружения, `/web-setup` создает его с доступом в сеть Trusted и без скрипта настройки. Вы можете [отредактировать окружение или добавить переменные](/docs/ru/cloud-environments#configure-your-environment) позже. После завершения `/web-setup` вы можете запускать облачные сеансы из терминала с помощью [`--cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) или настроить повторяющиеся задачи с помощью [`/schedule`](/docs/ru/routines).

127 </Step>128 </Step>

128</Steps>129</Steps>

129 130 


226 На странице отображается только кнопка входа GitHub227 На странице отображается только кнопка входа GitHub

227</h3>228</h3>

228 229 

229Облачные сеансы требуют подключенной учетной записи GitHub. Подключитесь через поток браузера выше или запустите `/web-setup` из терминала, если вы используете GitHub CLI. Если вы предпочитаете вообще не подключать GitHub, смотрите [Remote Control](/docs/ru/remote-control) для запуска Claude Code на вашей машине и мониторинга его из веб-версии.230Облачные сеансы требуют подключенной учетной записи GitHub. Подключитесь через поток браузера выше или запустите `/web-setup` из терминала, если вы используете GitHub CLI. Если вы предпочитаете вообще не подключать GitHub, смотрите [Remote Control](/docs/ru/remote-control) для запуска Claude Code на вашей машине и мониторинга его из браузера или телефона.

230 231 

231<h3 id="not-available-for-the-selected-organization">232<h3 id="not-available-for-the-selected-organization">

232 "Not available for the selected organization"233 "Not available for the selected organization"

233</h3>234</h3>

234 235 

235Организациям Enterprise может потребоваться администратор для включения Claude Code в веб-версии. Свяжитесь с вашей командой учетных записей Anthropic.236Организациям Enterprise может потребоваться владелец для включения облачных сеансов. Свяжитесь с вашей командой учетных записей Anthropic.

236 237 

237<h3 id="/web-setup-says-not-signed-in-to-claude">238<h3 id="/web-setup-says-not-signed-in-to-claude">

238 `/web-setup` говорит "Not signed in to Claude"239 `/web-setup` говорит "Not signed in to Claude"


254 255 

255Если вы ввели его внутри Claude Code и меню команд показывает `No commands match "/web-setup"`, или отправка возвращает `Unknown command: /web-setup`, команда скрыта, потому что требование не выполнено. Причина обычно в том, что вы аутентифицированы с помощью ключа API или поставщика третьей стороны вместо подписки claude.ai. Запустите `/login` для входа со своей учетной записью claude.ai.256Если вы ввели его внутри Claude Code и меню команд показывает `No commands match "/web-setup"`, или отправка возвращает `Unknown command: /web-setup`, команда скрыта, потому что требование не выполнено. Причина обычно в том, что вы аутентифицированы с помощью ключа API или поставщика третьей стороны вместо подписки claude.ai. Запустите `/login` для входа со своей учетной записью claude.ai.

256 257 

257На планах Team и Enterprise команда скрыта по умолчанию: [переключатель быстрой веб-настройки](/docs/ru/claude-code-on-the-web#github-authentication-options) отключен до тех пор, пока администратор его не включит. Пока он отключен, [подключите GitHub из браузера](#connect-github) вместо этого. Команда также скрыта, когда администратор отключил Claude Code в веб-версии для вашей организации, или когда ваша организация Enterprise имеет [Zero Data Retention](/docs/ru/zero-data-retention) включенный, что делает Claude Code в веб-версии недоступным.258На планах Team и Enterprise команда скрыта по умолчанию: [переключатель быстрой веб-настройки](/docs/ru/claude-code-on-the-web#github-authentication-options) отключен до тех пор, пока владелец его не включит. Пока он отключен, [подключите GitHub из браузера](#connect-github) вместо этого.

259 

260Команда также скрыта в двух других случаях:

261 

262* Администратор отключил облачные сеансы для вашей организации. В этом случае отправка `/web-setup` возвращает [`Cloud sessions are disabled by your organization's policy`](/docs/ru/errors#cloud-sessions-are-disabled-by-your-organizations-policy). До версии 2.1.268 этот случай также возвращал `Unknown command: /web-setup`.

263* Ваша организация Enterprise имеет [Zero Data Retention](/docs/ru/zero-data-retention) включенный, что делает облачные сеансы недоступными.

258 264 

259<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-cloud">265<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-cloud">

260 "Could not create a cloud environment" или "No cloud environment available" при использовании `--cloud`266 "Could not create a cloud environment" или "No cloud environment available" при использовании `--cloud`

261</h3>267</h3>

262 268 

263Функции удаленного сеанса автоматически создают облачное окружение по умолчанию, если у вас его нет. Если вы видите "Could not create a cloud environment", автоматическое создание не удалось. Если вы видите "No cloud environment available", ваш CLI предшествует автоматическому созданию. В любом случае запустите `/web-setup` в Claude Code CLI, или добавьте окружение из [селектора окружения](/docs/ru/cloud-environments#configure-your-environment) на [claude.ai/code](https://claude.ai/code).269Функции облачного сеанса автоматически создают облачное окружение по умолчанию, если у вас его нет. Если вы видите "Could not create a cloud environment", автоматическое создание не удалось. Если вы видите "No cloud environment available", ваш CLI предшествует автоматическому созданию. В любом случае запустите `/web-setup` в Claude Code CLI, или добавьте окружение из [селектора окружения](/docs/ru/cloud-environments#configure-your-environment) на [claude.ai/code](https://claude.ai/code).

264 270 

265<h3 id="setup-script-failed">271<h3 id="setup-script-failed">

266 Скрипт настройки не удался272 Скрипт настройки не удался


302* [Настройка облачных окружений](/docs/ru/cloud-environments): уровни сетевого доступа, переменные окружения и скрипты настройки для облачных сеансов308* [Настройка облачных окружений](/docs/ru/cloud-environments): уровни сетевого доступа, переменные окружения и скрипты настройки для облачных сеансов

303* [Routines](/docs/ru/routines): автоматизируйте работу по расписанию, через вызов API или в ответ на события GitHub309* [Routines](/docs/ru/routines): автоматизируйте работу по расписанию, через вызов API или в ответ на события GitHub

304* [CLAUDE.md](/docs/ru/memory): дайте Claude постоянные инструкции и контекст, которые загружаются в начале каждого сеанса310* [CLAUDE.md](/docs/ru/memory): дайте Claude постоянные инструкции и контекст, которые загружаются в начале каждого сеанса

305* Установите мобильное приложение Claude для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) или [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) для мониторинга сеансов с телефона. Из Claude Code CLI `/mobile` показывает QR-код.311* Установите мобильное приложение Claude для [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) или [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) для мониторинга сеансов с телефона. Из Claude Code CLI `/mobile` показывает QR-код для [claude.ai/mobile](https://claude.ai/mobile), который открывает правильный магазин приложений для вашего телефона.

whats-new.md +68 −44

Details

4 4 

5# Что нового5# Что нового

6 6 

7> Еженедельный дайджест заметных функций Claude Code с примерами кода, демонстрациями и контекстом о том, почему они важны.7> Еженедельный дайджест примечательных функций Claude Code с примерами кода, демонстрациями и контекстом о том, почему они важны.

8 8 

9Еженедельный дайджест для разработчиков выделяет функции, которые с наибольшей вероятностью изменят способ вашей работы. Каждая запись включает исполняемый код, краткую демонстрацию и ссылку на полную документацию. Для каждого исправления ошибок и незначительного улучшения см. [журнал изменений](/docs/en/changelog).9Еженедельный дайджест для разработчиков выделяет функции, которые с наибольшей вероятностью изменят ваш способ работы. Каждая запись включает исполняемый код, краткую демонстрацию и ссылку на полную документацию. Для каждого исправления ошибок и незначительного улучшения см. [журнал изменений](/docs/en/changelog).

10 

11<Update label="Week 37" description="September 7–11, 2026" tags={["v2.1.263–v2.1.269"]}>

12 **`claude plugin eval`**: запустите ваш плагин для набора тестовых случаев, оцените результаты и сравните с базовым уровнем без плагина. `claude plugin eval init` подготавливает случаи и оценщики для вас.

13 

14 Также на этой неделе: выведите любую **Claude Code Desktop pane** в отдельное окно и закрепите его обратно позже; параметр **`maxEffortLevel`** ограничивает уровень усилий для каждого поставщика; и страница, которую **WebFetch** не закончил загружать в течение пяти минут, завершается с ошибкой вместо зависания.

15 

16 [Прочитайте дайджест Week 37 →](/docs/ru/whats-new/2026-w37)

17</Update>

18 

19<Update label="Week 36" description="August 31 – September 4, 2026" tags={["v2.1.251–v2.1.261"]}>

20 **Claude Fable 5.1**: доступна в Claude Code с окном контекста в 1M токенов.

21 

22 Также на этой неделе: в планах Pro и Max, **компьютерное использование в приложении Desktop** работает в фоновом режиме на macOS, пока вы продолжаете работать; при полноэкранной визуализации, **`/diff`** открывает живую панель рядом с беседой, которая обновляется по мере редактирования Claude; и **`/skill-doctor`** показывает, сколько стоит каждый из ваших skills в контексте и как часто он используется.

23 

24 [Прочитайте дайджест Week 36 →](/docs/ru/whats-new/2026-w36)

25</Update>

26 

27<Update label="Week 35" description="August 24–28, 2026" tags={["v2.1.240–v2.1.250"]}>

28 **Возобновление сеансов терминала в приложении Desktop**: введите `/resume` в поле подсказки Claude Code Desktop, чтобы продолжить любой сеанс, который вы начали из CLI, со всей беседой и контекстом в целости.

29 

30 Также на этой неделе: **Claude-drafted feedback** заставляет Claude написать отчет об обратной связи, когда что-то идёт не так в сеансе, который вы просматриваете и отправляете из `/feedback`; **`--restricted`** запускает сеанс без инструментов запуска команд или ваших пользовательских и проектных параметров, для оценочных систем на общих машинах; и параметр **`modelPicker`** контролирует, какие модели перечисляет средство выбора `/model`.

31 

32 [Прочитайте дайджест Week 35 →](/docs/ru/whats-new/2026-w35)

33</Update>

10 34 

11<Update label="Week 34" description="August 17–21, 2026" tags={["v2.1.234–v2.1.239"]}>35<Update label="Week 34" description="August 17–21, 2026" tags={["v2.1.234–v2.1.239"]}>

12 **`/design`**: исследовательский предпросмотр, который переносит рабочий процесс артборда Claude Design в CLI и Claude Code Desktop, построенный на артефактах, поэтому Claude создает редактируемые артборды для вашего пользовательского интерфейса и реализует выбранный вами.36 **`/design`**: исследовательский предпросмотр, который переносит рабочий процесс артборда Claude Design в CLI и Claude Code Desktop, построенный на артефактах, поэтому Claude создаёт редактируемые артборды для вашего пользовательского интерфейса и реализует выбранный вами.

13 37 

14 Также на этой неделе: встроенный **стиль вывода Concise** заставляет Claude начинать с результата и пропускать преамбулу; любая машина, на которой работает `claude remote-control`, отображается как **карточка устройства** на вашем телефоне, поэтому вы можете запустить сеанс на ней из вкладки Code; и **`ANTHROPIC_DEFAULT_MODEL`** устанавливает модель, на которой начинаются новые сеансы.38 Также на этой неделе: встроенный **Concise output style** заставляет Claude начать с результата и пропустить преамбулу; любая машина, запускающая `claude remote-control`, отображается как **device card** на вашем телефоне, чтобы вы могли запустить сеанс на нём из вкладки Code; и **`ANTHROPIC_DEFAULT_MODEL`** устанавливает модель, на которой начинаются новые сеансы.

15 39 

16 [Прочитайте дайджест Week 34 →](/docs/ru/whats-new/2026-w34)40 [Прочитайте дайджест Week 34 →](/docs/ru/whats-new/2026-w34)

17</Update>41</Update>

18 42 

19<Update label="Week 33" description="August 10–14, 2026" tags={["v2.1.225–v2.1.233"]}>43<Update label="Week 33" description="August 10–14, 2026" tags={["v2.1.225–v2.1.233"]}>

20 **Автоматическое продолжение после достижения лимита использования на Desktop**: когда вы достигаете лимита сеанса в Claude Code Desktop, установите флажок **Auto-continue when limits reset** на карточке лимита и приложение повторит прерванный ход после сброса лимита.44 **Auto-continue после лимита использования на Desktop**: когда вы достигаете лимита сеанса в Claude Code Desktop, установите флажок **Auto-continue when limits reset** на карточке лимита и приложение повторит прерванный ход после сброса лимита.

21 45 

22 Также на этой неделе: **режим fork** включен по умолчанию в интерактивных сеансах, поэтому Claude может передать побочную задачу подагенту, который наследует полный разговор; **URL-адреса запросов слияния GitLab** работают с `--worktree` и представлением `claude agents`, и маркетплейсы клонируют простые URL-адреса `gitlab.com`; и ввод **`@`** в подсказку упоминает другой сеанс Claude по имени.46 Также на этой неделе: **fork mode** включен по умолчанию в интерактивных сеансах, поэтому Claude может делегировать побочную задачу подагенту, который наследует полную беседу; **GitLab** URL-адреса запросов на слияние работают с `--worktree` и представлением `claude agents`, и маркетплейсы клонируют простые URL-адреса `gitlab.com`; и ввод **`@`** в подсказку упоминает другой сеанс Claude по имени.

23 47 

24 [Прочитайте дайджест Week 33 →](/docs/ru/whats-new/2026-w33)48 [Прочитайте дайджест Week 33 →](/docs/ru/whats-new/2026-w33)

25</Update>49</Update>

26 50 

27<Update label="Week 32" description="August 3–7, 2026" tags={["v2.1.220–v2.1.224"]}>51<Update label="Week 32" description="August 3–7, 2026" tags={["v2.1.220–v2.1.224"]}>

28 **Обмен сообщениями между сеансами**: на macOS и Linux ваши сеансы Claude Code теперь могут обмениваться сообщениями друг с другом, поэтому Claude передает вывод или решение из одного сеанса в другой вместо того, чтобы вы переобъясняли это.52 **Cross-session messaging**: на macOS и Linux ваши сеансы Claude Code теперь могут обмениваться сообщениями друг с другом, поэтому Claude передаёт вывод или решение из одного сеанса в другой вместо того, чтобы вы переобъясняли это.

29 53 

30 Также на этой неделе: **самостоятельно размещаемые среды** запускают облачные сеансы Claude Code на инфраструктуре, которой управляет ваша организация, в общедоступной бета-версии на планах Team и Enterprise; **режим auto** становится режимом разрешений по умолчанию для новых сеансов на планах Pro, Max и Team, начиная с 14 августа; и **расширение VS Code** получает представление Focus.54 Также на этой неделе: **self-hosted environments** запускают облачные сеансы Claude Code на инфраструктуре, которой управляет ваша организация, в публичной бета-версии в планах Team и Enterprise; **auto mode** становится режимом разрешений по умолчанию для новых сеансов в планах Pro, Max и Team, начиная с 14 августа; и **VS Code extension** получает Focus view.

31 55 

32 [Прочитайте дайджест Week 32 →](/docs/ru/whats-new/2026-w32)56 [Прочитайте дайджест Week 32 →](/docs/ru/whats-new/2026-w32)

33</Update>57</Update>

34 58 

35<Update label="Week 30" description="July 20–24, 2026" tags={["v2.1.214–v2.1.219"]}>59<Update label="Week 30" description="July 20–24, 2026" tags={["v2.1.214–v2.1.219"]}>

36 **Claude Opus 5**: новая модель Opus по умолчанию в Claude Code с окном контекста 1M токенов и быстрым режимом по цене \$10/\$50 за MTok.60 **Claude Opus 5**: новая модель Opus по умолчанию в Claude Code с окном контекста в 1M токенов и быстрым режимом в \$10/\$50 за MTok.

37 61 

38 Также на этой неделе: **Claude Code Desktop** открывает панель iOS Simulator в общедоступной бета-версии, поэтому Claude может запустить ваше приложение и кликать по нему, пока вы смотрите; **плагин Claude Security** запускает многоагентное сканирование уязвимостей вашей кодовой базы и превращает выбранные вами результаты в патчи, которые вы применяете сами; и **`/code-review`** работает как фоновый подагент.62 Также на этой неделе: **Claude Code Desktop** открывает панель iOS Simulator в публичной бета-версии, поэтому Claude может запустить ваше приложение и нажимать на него, пока вы смотрите; **Claude Security plugin** запускает многоагентное сканирование уязвимостей вашей кодовой базы и превращает выбранные вами выводы в патчи, которые вы применяете сами; и **`/code-review`** работает как фоновый подагент.

39 63 

40 [Прочитайте дайджест Week 30 →](/docs/ru/whats-new/2026-w30)64 [Прочитайте дайджест Week 30 →](/docs/ru/whats-new/2026-w30)

41</Update>65</Update>

42 66 

43<Update label="Week 29" description="July 13–17, 2026" tags={["v2.1.207–v2.1.212"]}>67<Update label="Week 29" description="July 13–17, 2026" tags={["v2.1.207–v2.1.212"]}>

44 **Артефакты вызывают ваши MCP коннекторы**: опубликованный артефакт может извлекать живые данные и выполнять действия через собственные MCP коннекторы каждого зрителя, когда они открывают страницу, и на этой неделе также добавляются ссылки на общедоступное совместное использование, роли редактора на Team и Enterprise, и артефакты, созданные из сеансов Claude Tag.68 **Artifacts call your MCP connectors**: опубликованный артефакт может извлекать живые данные и выполнять действия через собственные MCP connectors каждого зрителя, когда они открывают страницу, и на этой неделе также добавляются ссылки для публичного обмена, роли редактора в планах Team и Enterprise и артефакты, созданные из сеансов Claude Tag.

45 69 

46 Также на этой неделе: **режим чтения с экрана** заменяет визуальный интерфейс терминала простым линейным текстом для программ чтения с экрана, таких как VoiceOver и NVDA; **`/fork`** копирует ваш разговор в новый фоновый сеанс, пока вы продолжаете работать; и **режим auto** больше не требует переменной opt-in на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry.70 Также на этой неделе: **screen reader mode** заменяет визуальный интерфейс терминала простым линейным текстом для программ чтения с экрана, таких как VoiceOver и NVDA; **`/fork`** копирует вашу беседу в новый фоновый сеанс, пока вы продолжаете работать; и **auto mode** больше не требует переменной opt-in на Amazon Bedrock, платформе Agent Platform Google Cloud и Microsoft Foundry.

47 71 

48 [Прочитайте дайджест Week 29 →](/docs/ru/whats-new/2026-w29)72 [Прочитайте дайджест Week 29 →](/docs/ru/whats-new/2026-w29)

49</Update>73</Update>

50 74 

51<Update label="Week 28" description="July 6–10, 2026" tags={["v2.1.202–v2.1.206"]}>75<Update label="Week 28" description="July 6–10, 2026" tags={["v2.1.202–v2.1.206"]}>

52 **Встроенный браузер в приложении на Desktop**: Claude Code на desktop получает встроенный браузер, поэтому Claude может открывать документацию, дизайны или любой другой сайт и взаимодействовать со страницами так же, как с локальными предпросмотрами dev сервера.76 **In-app browser on Desktop**: Claude Code на рабочем столе получает встроенный браузер, поэтому Claude может открыть документы, дизайны или любой другой сайт и взаимодействовать со страницами так же, как с локальными предпросмотрами сервера разработки.

53 77 

54 Также на этой неделе: **`/doctor`** — это полная проверка настройки, которая диагностирует проблемы и может их исправить, с `/checkup` в качестве его псевдонима; **режим auto** блокирует подделку стенограмм и запрашивает разрешение перед `rm -rf` на неразрешенных переменных; и **строки представления агента** показывают цветное слово состояния и заголовок, написанный классификатором.78 Также на этой неделе: **`/doctor`** — это полная проверка настройки, которая диагностирует проблемы и может их исправить, с `/checkup` в качестве его псевдонима; **auto mode** блокирует подделку стенограмм и просит перед `rm -rf` на неразрешённых переменных; и **agent view rows** показывают цветное слово состояния и заголовок, написанный классификатором.

55 79 

56 [Прочитайте дайджест Week 28 →](/docs/ru/whats-new/2026-w28)80 [Прочитайте дайджест Week 28 →](/docs/ru/whats-new/2026-w28)

57</Update>81</Update>

58 82 

59<Update label="Week 27" description="June 29 – July 3, 2026" tags={["v2.1.195–v2.1.201"]}>83<Update label="Week 27" description="June 29 – July 3, 2026" tags={["v2.1.195–v2.1.201"]}>

60 **Claude Sonnet 5**: новая модель по умолчанию для Pro, Team Standard и Enterprise подписок с кодированием и использованием инструментов высшего уровня по цене Sonnet, собственным окном контекста 1M токенов и адаптивным мышлением, включенным по умолчанию.84 **Claude Sonnet 5**: новая модель по умолчанию для мест подписки Pro, Team Standard и Enterprise с кодированием и использованием инструментов высшего уровня по цене Sonnet, встроенным окном контекста в 1M токенов и адаптивным мышлением, включённым по умолчанию.

61 85 

62 Также на этой неделе: **Claude в Chrome** доступен для всех прямых планов Anthropic; **подагенты работают в фоновом режиме по умолчанию**, поэтому Claude продолжает работать во время их выполнения; **Claude Desktop на Linux** выходит в бета-версию на Ubuntu и Debian; и **`/radio`** настраивается на Claude FM lo-fi радио.86 Также на этой неделе: **Claude in Chrome** доступен в целом на всех прямых планах Anthropic; **subagents run in the background by default**, поэтому Claude продолжает работать, пока они работают; **Claude Desktop on Linux** выходит в бета-версию на Ubuntu и Debian; и **`/radio`** настраивается на Claude FM lo-fi radio.

63 87 

64 [Прочитайте дайджест Week 27 →](/docs/ru/whats-new/2026-w27)88 [Прочитайте дайджест Week 27 →](/docs/ru/whats-new/2026-w27)

65</Update>89</Update>

66 90 

67<Update label="Week 26" description="June 22–26, 2026" tags={["v2.1.185–v2.1.193"]}>91<Update label="Week 26" description="June 22–26, 2026" tags={["v2.1.185–v2.1.193"]}>

68 **`claude mcp login`**: аутентифицируйте настроенный MCP сервер из вашей оболочки вместо интерактивного меню `/mcp`, и очистите его сохраненные учетные данные позже с помощью `claude mcp logout`.92 **`claude mcp login`**: аутентифицируйте настроенный MCP server из вашей оболочки вместо интерактивного меню `/mcp` и очистите его сохранённые учётные данные позже с помощью `claude mcp logout`.

69 93 

70 Также на этой неделе: **shell режим реагирует на вывод команды** (`! npm test` получает объяснение без второго запроса); **`/rewind`** может возобновить разговор с момента до запуска `/clear`; и **фоновые подагенты** теперь выводят запросы разрешений в основной сеанс вместо автоматического отказа.94 Также на этой неделе: **shell mode responds to command output** (`! npm test` получает объяснение без второй подсказки); **`/rewind`** может возобновить беседу с момента до запуска `/clear`; и **background subagents** теперь выводят подсказки разрешений в основной сеанс вместо автоматического отказа.

71 95 

72 [Прочитайте дайджест Week 26 →](/docs/ru/whats-new/2026-w26)96 [Прочитайте дайджест Week 26 →](/docs/ru/whats-new/2026-w26)

73</Update>97</Update>

74 98 

75<Update label="Week 25" description="June 15–19, 2026" tags={["v2.1.178–v2.1.183"]}>99<Update label="Week 25" description="June 15–19, 2026" tags={["v2.1.178–v2.1.183"]}>

76 **Artifacts**: превратите вывод сеанса в живую, общедоступную страницу на claude.ai, которая обновляется на месте по мере работы сеанса, теперь в бета-версии на планах Team и Enterprise.100 **Artifacts**: превратите вывод сеанса в живую, общую страницу на claude.ai, которая обновляется на месте по мере работы сеанса, теперь в бета-версии в планах Team и Enterprise.

77 101 

78 Также на этой неделе: **правила отрицания и запроса соответствуют параметрам инструмента** с `Tool(param:value)`, например `Agent(model:opus)`; **`/config key=value`** устанавливает любой параметр из подсказки, в режиме `-p` и из Remote Control; и **автоматический режим блокирует деструктивные команды git**, когда вы не просили отбросить локальную работу.102 Также на этой неделе: **deny and ask rules match tool parameters** с `Tool(param:value)`, например `Agent(model:opus)`; **`/config key=value`** устанавливает любой параметр из подсказки, в режиме `-p` и из Remote Control; и **auto mode blocks destructive git commands**, когда вы не просили отбросить локальную работу.

79 103 

80 [Прочитайте дайджест Week 25 →](/docs/ru/whats-new/2026-w25)104 [Прочитайте дайджест Week 25 →](/docs/ru/whats-new/2026-w25)

81</Update>105</Update>

82 106 

83<Update label="Week 24" description="June 8–12, 2026" tags={["v2.1.166–v2.1.176"]}>107<Update label="Week 24" description="June 8–12, 2026" tags={["v2.1.166–v2.1.176"]}>

84 **`/cd`**: переместите текущий сеанс в новый рабочий каталог в середине разговора без перестроения кэша подсказок.108 **`/cd`**: переместите текущий сеанс в новый рабочий каталог в середине беседы без перестройки кэша подсказок.

85 109 

86 Также на этой неделе: **подагенты могут порождать собственных подагентов** (фоновые цепи ограничены пятью уровнями в глубину); **`--safe-mode`** запускает Claude Code со всеми отключенными настройками для устранения неполадок; и **`fallbackModel`** настраивает до трех резервных моделей, которые пробуются по порядку.110 Также на этой неделе: **sub-agents can spawn their own sub-agents** (фоновые цепи ограничены пятью уровнями в глубину); **`--safe-mode`** запускает Claude Code со всеми отключёнными настройками для устранения неполадок; и **`fallbackModel`** настраивает до трёх резервных моделей, которые пробуются по порядку.

87 111 

88 [Прочитайте дайджест Week 24 →](/docs/ru/whats-new/2026-w24)112 [Прочитайте дайджест Week 24 →](/docs/ru/whats-new/2026-w24)

89</Update>113</Update>

90 114 

91<Update label="Week 23" description="June 1–5, 2026" tags={["v2.1.158–v2.1.165"]}>115<Update label="Week 23" description="June 1–5, 2026" tags={["v2.1.158–v2.1.165"]}>

92 **Auto mode на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry**: auto mode теперь доступен на сторонних поставщиках для Opus 4.7 и Opus 4.8, заменяя запросы разрешений проверками безопасности в фоновом режиме.116 **Auto mode on Amazon Bedrock, Google Cloud's Agent Platform, and Microsoft Foundry**: auto mode теперь доступен на сторонних поставщиках для Opus 4.7 и Opus 4.8, заменяя подсказки разрешений фоновыми проверками безопасности.

93 117 

94 Также на этой неделе: **более безопасные автоматические правки** запрашивают перед записью файлов, которые могут выполнять код в режиме `acceptEdits`; **`/plugin list`** выводит установленные плагины встроенно; и **требования к версии** позволяют управляемым развертываниям требовать утвержденный диапазон версий Claude Code.118 Также на этой неделе: **safer automatic edits** просят перед записью файлов, которые могут запускать код в режиме `acceptEdits`; **`/plugin list`** выводит ваши установленные плагины встроенными; и **version requirements** позволяют управляемым развёртываниям требовать утверждённый диапазон версий Claude Code.

95 119 

96 [Прочитайте дайджест Week 23 →](/docs/ru/whats-new/2026-w23)120 [Прочитайте дайджест Week 23 →](/docs/ru/whats-new/2026-w23)

97</Update>121</Update>

98 122 

99<Update label="Week 22" description="May 25–29, 2026" tags={["v2.1.150–v2.1.157"]}>123<Update label="Week 22" description="May 25–29, 2026" tags={["v2.1.150–v2.1.157"]}>

100 **Claude Opus 4.8**: новая модель по умолчанию для Max, Team Premium, Enterprise с оплатой по мере использования и учетных записей Anthropic API с высоким усилием по умолчанию и `/effort xhigh` для самых сложных задач.124 **Claude Opus 4.8**: новая модель по умолчанию для Max, Team Premium, Enterprise pay-as-you-go и учётных записей Anthropic API с высоким усилием по умолчанию и `/effort xhigh` для самых сложных задач.

101 125 

102 Также на этой неделе: **динамические рабочие процессы** организуют десятки или сотни подагентов из скрипта, который пишет Claude; **плагин security-guidance** проверяет изменения Claude на уязвимости во время работы; и **быстрый режим** работает на Opus 4.8 по цене \$10/\$50 за MTok.126 Также на этой неделе: **dynamic workflows** организуют десятки или сотни подагентов из скрипта, который пишет Claude; **security-guidance plugin** проверяет изменения Claude на уязвимости по мере работы; и **fast mode** работает на Opus 4.8 в \$10/\$50 за MTok.

103 127 

104 [Прочитайте дайджест Week 22 →](/docs/ru/whats-new/2026-w22)128 [Прочитайте дайджест Week 22 →](/docs/ru/whats-new/2026-w22)

105</Update>129</Update>

106 130 

107<Update label="Week 21" description="May 18–22, 2026" tags={["v2.1.143–v2.1.149"]}>131<Update label="Week 21" description="May 18–22, 2026" tags={["v2.1.143–v2.1.149"]}>

108 **Auto mode на плане Pro**: auto mode теперь работает на учетных записях Pro и поддерживает Sonnet 4.6 наряду с Opus, заменяя запросы разрешений проверками безопасности в фоновом режиме.132 **Auto mode on the Pro plan**: auto mode теперь работает на учётных записях Pro и поддерживает Sonnet 4.6 наряду с Opus, заменяя подсказки разрешений фоновыми проверками безопасности.

109 133 

110 Также на этой неделе: **`/usage`** разбирает то, что влияет на ваши лимиты плана по skill, подагенту, плагину и MCP серверу; новая команда **`/code-review`** сообщает об ошибках корректности; и **фоновые сеансы** появляются в `/resume` и остаются активными при закреплении.134 Также на этой неделе: **`/usage`** разбирает то, что определяет ваши лимиты плана по skill, подагенту, плагину и MCP server; новая команда **`/code-review`** сообщает об ошибках корректности; и **background sessions** появляются в `/resume` и остаются активными при закреплении.

111 135 

112 [Прочитайте дайджест Week 21 →](/docs/ru/whats-new/2026-w21)136 [Прочитайте дайджест Week 21 →](/docs/ru/whats-new/2026-w21)

113</Update>137</Update>

114 138 

115<Update label="Week 20" description="May 11–15, 2026" tags={["v2.1.139–v2.1.142"]}>139<Update label="Week 20" description="May 11–15, 2026" tags={["v2.1.139–v2.1.142"]}>

116 **Agent view**: `claude agents` открывает один экран для каждого сеанса Claude Code, показывая, что выполняется, что ждет вас, и что завершено.140 **Agent view**: `claude agents` открывает один экран для каждого сеанса Claude Code, показывая, что работает, что ждёт вас и что сделано.

117 141 

118 Также на этой неделе: **`/goal`** держит Claude работающим на протяжении нескольких ходов до выполнения условия завершения; **быстрый режим** теперь по умолчанию работает на Opus 4.7; и **меню Rewind** может сжимать более ранний контекст с помощью "Summarize up to here".142 Также на этой неделе: **`/goal`** заставляет Claude работать в течение нескольких ходов, пока условие завершения не будет выполнено; **fast mode** теперь работает на Opus 4.7 по умолчанию; и **Rewind menu** может сжимать более ранний контекст с помощью "Summarize up to here".

119 143 

120 [Прочитайте дайджест Week 20 →](/docs/ru/whats-new/2026-w20)144 [Прочитайте дайджест Week 20 →](/docs/ru/whats-new/2026-w20)

121</Update>145</Update>

122 146 

123<Update label="Week 19" description="May 4–8, 2026" tags={["v2.1.128–v2.1.136"]}>147<Update label="Week 19" description="May 4–8, 2026" tags={["v2.1.128–v2.1.136"]}>

124 **Плагины загружаются из архивов `.zip` и URL-адресов**: `--plugin-dir` теперь принимает файлы `.zip`, а `--plugin-url` загружает архив плагина для текущего сеанса.148 **Plugins load from `.zip` archives and URLs**: `--plugin-dir` теперь принимает файлы `.zip`, и `--plugin-url` загружает архив плагина для текущего сеанса.

125 149 

126 Также на этой неделе: **`worktree.baseRef`** выбирает, будут ли новые worktrees ветвиться от удаленного значения по умолчанию или локального `HEAD`; **правила жесткого отрицания в режиме auto** блокируют действия безусловно независимо от исключений разрешения; и **hooks видят активный уровень усилий** через `effort.level` и `$CLAUDE_EFFORT`.150 Также на этой неделе: **`worktree.baseRef`** выбирает, ветвятся ли новые worktrees от удалённого значения по умолчанию или локального `HEAD`; **auto mode hard deny rules** блокируют действия безусловно независимо от исключений разрешений; и **hooks see the active effort level** через `effort.level` и `$CLAUDE_EFFORT`.

127 151 

128 [Прочитайте дайджест Week 19 →](/docs/ru/whats-new/2026-w19)152 [Прочитайте дайджест Week 19 →](/docs/ru/whats-new/2026-w19)

129</Update>153</Update>

130 154 

131<Update label="Week 18" description="April 27 – May 1, 2026" tags={["v2.1.120–v2.1.126"]}>155<Update label="Week 18" description="April 27 – May 1, 2026" tags={["v2.1.120–v2.1.126"]}>

132 **Windows без Git Bash**: Git для Windows больше не требуется, и Claude Code использует PowerShell в качестве инструмента shell при отсутствии Bash.156 **Windows without Git Bash**: Git для Windows больше не требуется, и Claude Code использует PowerShell в качестве инструмента оболочки при отсутствии Bash.

133 157 

134 Также на этой неделе: **`claude ultrareview`** приносит облачный обзор кода в CI и скрипты; **`claude project purge`** очищает локальное состояние для проекта; и вставка **URL-адреса PR в `/resume`** находит сеанс, который его создал.158 Также на этой неделе: **`claude ultrareview`** приносит облачную проверку кода в CI и скрипты; **`claude project purge`** очищает локальное состояние для проекта; и вставка **PR URL в `/resume`** находит сеанс, который его создал.

135 159 

136 [Прочитайте дайджест Week 18 →](/docs/ru/whats-new/2026-w18)160 [Прочитайте дайджест Week 18 →](/docs/ru/whats-new/2026-w18)

137</Update>161</Update>

138 162 

139<Update label="Week 17" description="April 20–24, 2026" tags={["v2.1.114–v2.1.119"]}>163<Update label="Week 17" description="April 20–24, 2026" tags={["v2.1.114–v2.1.119"]}>

140 **`/ultrareview`** открывается как общедоступный исследовательский предпросмотр: флот агентов по поиску ошибок работает в облаке, и результаты автоматически поступают обратно в ваш CLI или Desktop.164 **`/ultrareview`** открывается как публичный исследовательский предпросмотр: флот агентов по поиску ошибок работает в облаке и выводы попадают обратно в ваш CLI или Desktop автоматически.

141 165 

142 Также на этой неделе: **сводка сеанса** показывает вам, что произошло, пока терминал был в фокусе; **пользовательские темы** позволяют вам создавать и развертывать цветовые палитры из `/theme` или плагина; и **Claude Code в веб-версии** получает переделку с новой боковой панелью сеансов и макетом с перетаскиванием.166 Также на этой неделе: **session recap** показывает вам, что произошло, пока терминал был не в фокусе; **custom themes** позволяют вам создавать и отправлять цветовые палитры из `/theme` или плагина; и **Claude Code on the web** получает переделку с новой боковой панелью сеансов и макетом перетаскивания.

143 167 

144 [Прочитайте дайджест Week 17 →](/docs/ru/whats-new/2026-w17)168 [Прочитайте дайджест Week 17 →](/docs/ru/whats-new/2026-w17)

145</Update>169</Update>

146 170 

147<Update label="Week 16" description="April 13–17, 2026" tags={["v2.1.105–v2.1.113"]}>171<Update label="Week 16" description="April 13–17, 2026" tags={["v2.1.105–v2.1.113"]}>

148 **Claude Opus 4.7** становится новым значением по умолчанию на Max и Team Premium с новым уровнем усилий `xhigh`, который является рекомендуемой настройкой для большинства работ по кодированию, и интерактивным ползунком `/effort` для его настройки.172 **Claude Opus 4.7** выходит как новое значение по умолчанию на Max и Team Premium с новым уровнем усилий `xhigh`, который является рекомендуемой настройкой для большинства работ по кодированию и интерактивным ползунком `/effort` для его настройки.

149 173 

150 Также на этой неделе: **Routines** в Claude Code в веб-версии запускают шаблонные облачные агенты по расписанию, событию GitHub или вызову API; **мобильные push-уведомления** отправляют уведомления на ваш телефон, когда длительная задача завершается или Claude нуждается в вас; `/usage` показывает, что влияет на ваши лимиты; и CLI переходит на собственные двоичные файлы.174 Также на этой неделе: **Routines** на Claude Code в сети запускают облачные агенты с шаблонами из расписания, события GitHub или вызова API; **mobile push notifications** отправляют уведомления на ваш телефон, когда долгая задача завершается или Claude нуждается в вас; `/usage` показывает, что определяет ваши лимиты; и CLI переходит на встроенные двоичные файлы.

151 175 

152 [Прочитайте дайджест Week 16 →](/docs/ru/whats-new/2026-w16)176 [Прочитайте дайджест Week 16 →](/docs/ru/whats-new/2026-w16)

153</Update>177</Update>

154 178 

155<Update label="Week 15" description="April 6–10, 2026" tags={["v2.1.92–v2.1.101"]}>179<Update label="Week 15" description="April 6–10, 2026" tags={["v2.1.92–v2.1.101"]}>

156 **Ultraplan** входит в ранний предпросмотр: создайте план в облаке из вашего CLI, просмотрите и прокомментируйте его в веб-редакторе, затем запустите его удаленно или верните его локально. Первый запуск теперь автоматически создает облачную среду для вас.180 **Ultraplan** входит в раннюю предпросмотр: составьте план в облаке из вашего CLI, просмотрите и прокомментируйте его в веб-редакторе, затем запустите его удалённо или вытащите его обратно локально. Первый запуск теперь автоматически создаёт облачную среду для вас.

157 181 

158 Также на этой неделе: инструмент **Monitor** передает фоновые события в разговор, чтобы Claude мог отслеживать логи и реагировать в реальном времени, `/loop` самостоятельно устанавливает темп, когда вы опускаете интервал, `/team-onboarding` упаковывает вашу настройку в воспроизводимое руководство, и `/autofix-pr` включает автоисправление PR из вашего терминала.182 Также на этой неделе: инструмент **Monitor** передаёт фоновые события в беседу, поэтому Claude может отслеживать журналы и реагировать в реальном времени, `/loop` самостоятельно устанавливает темп, когда вы опускаете интервал, `/team-onboarding` упаковывает вашу настройку в воспроизводимое руководство, и `/autofix-pr` включает автоисправление PR из вашего терминала.

159 183 

160 [Прочитайте дайджест Week 15 →](/docs/ru/whats-new/2026-w15)184 [Прочитайте дайджест Week 15 →](/docs/ru/whats-new/2026-w15)

161</Update>185</Update>

162 186 

163<Update label="Week 14" description="March 30 – April 3, 2026" tags={["v2.1.86–v2.1.91"]}>187<Update label="Week 14" description="March 30 – April 3, 2026" tags={["v2.1.86–v2.1.91"]}>

164 **Компьютерное использование** приходит в CLI в исследовательском предпросмотре: Claude может открывать собственные приложения, кликать по пользовательскому интерфейсу и проверять изменения из вашего терминала. Лучше всего для завершения вещей, которые может проверить только графический интерфейс.188 **Computer use** приходит в CLI в исследовательском предпросмотре: Claude может открывать встроенные приложения, нажимать на пользовательский интерфейс и проверять изменения из вашего терминала. Лучше всего для закрытия цикла на вещах, которые может проверить только GUI.

165 189 

166 Также на этой неделе: интерактивные уроки `/powerup`, безмерцающий рендеринг alt-screen, переопределение размера результата MCP для каждого инструмента до 500K и исполняемые файлы плагинов в `PATH` инструмента Bash.190 Также на этой неделе: интерактивные уроки `/powerup`, безмерцающая визуализация alt-screen, переопределение размера результата MCP для каждого инструмента до 500K и исполняемые файлы плагинов на `PATH` инструмента Bash.

167 191 

168 [Прочитайте дайджест Week 14 →](/docs/ru/whats-new/2026-w14)192 [Прочитайте дайджест Week 14 →](/docs/ru/whats-new/2026-w14)

169</Update>193</Update>

170 194 

171<Update label="Week 13" description="March 23–27, 2026" tags={["v2.1.83–v2.1.85"]}>195<Update label="Week 13" description="March 23–27, 2026" tags={["v2.1.83–v2.1.85"]}>

172 **Auto mode** приходит в исследовательский предпросмотр: классификатор обрабатывает ваши запросы разрешений, чтобы безопасные действия выполнялись без прерывания, а рискованные блокировались. Золотая середина между одобрением всего и `--dangerously-skip-permissions`.196 **Auto mode** выходит в исследовательском предпросмотре: классификатор обрабатывает ваши подсказки разрешений, поэтому безопасные действия выполняются без прерывания, а рискованные блокируются. Золотая середина между одобрением всего и `--dangerously-skip-permissions`.

173 197 

174 Также на этой неделе: компьютерное использование в приложении Desktop, автоисправление PR в Web, поиск по стенограмме с `/`, собственный инструмент PowerShell для Windows и условные hooks `if`.198 Также на этой неделе: компьютерное использование в приложении Desktop, автоисправление PR в Web, поиск стенограмм с `/`, встроенный инструмент PowerShell для Windows и условные hooks `if`.

175 199 

176 [Прочитайте дайджест Week 13 →](/docs/ru/whats-new/2026-w13)200 [Прочитайте дайджест Week 13 →](/docs/ru/whats-new/2026-w13)

177</Update>201</Update>

whats-new/2026-w35.md +98 −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# Неделя 35 · 24–28 августа 2026

6 

7> Возобновляйте сеансы терминала в приложении Claude Code Desktop, просматривайте отчеты об обратной связи, которые Claude подготавливает для вас, и начните сеанс в режиме ограничений.

8 

9<div className="digest-meta">

10 <span>Выпуски <a href="/docs/en/changelog#2-1-240">v2.1.240 → v2.1.250</a></span>

11 <span>3 функции · 24–28 августа</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Возобновление сеансов терминала в приложении Desktop</span>

17 <span className="digest-feature-pill">Desktop</span>

18 </div>

19 

20 <p className="digest-feature-lede">Введите <code>/resume</code> в поле подсказки Claude Code Desktop, чтобы выбрать любой сеанс, который вы начали из CLI, и продолжить его в приложении со всей беседой и контекстом в целости. Ищите свои сеансы по названию, папке или ветке и просмотрите, где вы остановились, прежде чем возобновить.</p>

21 

22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/desktop-resume-cli-session.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=41e4a5fda6b9d63280589f2cbdabf44f" data-path="images/whats-new/desktop-resume-cli-session.mp4" />

24 </Frame>

25 

26 <p className="digest-feature-try">В сеансе Desktop выполните команду для отображения списка ваших сеансов терминала:</p>

27 

28 ```text Claude Code theme={null}

29 > /resume

30 ```

31 

32 <p className="digest-feature-try">Выберите сеанс и нажмите <code>Enter</code>. Беседа откроется в приложении там, где вы остановились.</p>

33 

34 <a className="digest-feature-link" href="/docs/ru/desktop#coming-from-the-cli">Переход между CLI и Desktop</a>

35</div>

36 

37<div className="digest-feature">

38 <div className="digest-feature-header">

39 <span className="digest-feature-title">Обратная связь, подготовленная Claude</span>

40 <span className="digest-feature-pill">CLI</span>

41 </div>

42 

43 <p className="digest-feature-lede">Когда инструмент продолжает давать сбой, Claude не может помочь с запросом или вы указываете на ошибку, Claude теперь подготавливает отчет об обратной связи для вас с помощью инструмента <code>SendFeedback</code>. Карточка над вашей подсказкой показывает черновик, и вы можете просмотреть, отправить или отклонить его оттуда. Ничего не достигает Anthropic, пока вы это не отправите. Требуется v2.1.238 или позже.</p>

44 

45 <Frame>

46 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/claude-drafted-feedback.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=5cacb3be0dffd1cbd417381f3721637e" alt="Сеанс Claude Code, где Claude подготовил отчет об ошибке под названием Sandbox image pull fails behind proxy, показанный как карточка над подсказкой с опциями для просмотра, отправки или отклонения" width="1440" height="756" data-path="images/whats-new/claude-drafted-feedback.jpg" />

47 </Frame>

48 

49 <p className="digest-feature-try">Выполните <code>/feedback</code> без аргумента, чтобы открыть вашу очередь черновиков из каждого сеанса:</p>

50 

51 ```text Claude Code theme={null}

52 > /feedback

53 ```

54 

55 <p className="digest-feature-try">Выберите черновик, затем отредактируйте, отправьте или отклоните его. Чтобы отключить подготовку, установите <strong>Claude-drafted feedback</strong> на <code>off</code> в <code>/config</code>.</p>

56 

57 <a className="digest-feature-link" href="/docs/ru/tools-reference#sendfeedback-tool-behavior">Поведение инструмента SendFeedback</a>

58</div>

59 

60<div className="digest-feature">

61 <div className="digest-feature-header">

62 <span className="digest-feature-title">Режим ограничений</span>

63 <span className="digest-feature-pill">v2.1.248</span>

64 </div>

65 

66 <p className="digest-feature-lede">Режим ограничений запускает Claude Code без встроенных инструментов, которые выполняют команды или код. Используйте его, когда оценочная система управляет <code>claude</code> на общем компьютере. Запустите его с помощью `--restricted` или установите <code>CLAUDE\_CODE\_RESTRICTED=1</code>. Claude Code также удаляет <code>WebFetch</code>, ограничивает инструменты файлов рабочими каталогами, загружает только управляемые параметры и `--settings`, и отказывает в режиме разрешения <code>bypassPermissions</code>.</p>

67 

68 <p className="digest-feature-try">Выполните неинтерактивный запрос без инструментов для выполнения команд:</p>

69 

70 ```bash terminal theme={null}

71 claude --restricted -p "review src/ for SQL injection risks"

72 ```

73 

74 <p className="digest-feature-try">Чтобы вернуть Claude один из удаленных инструментов, перечислите его в `--tools` вместе с другими встроенными инструментами, которые вы хотите, например `--tools "Bash,Read,Edit"`. `--tools` — это список разрешений, и его предустановка <code>default</code> не восстанавливает удаленные инструменты.</p>

75 

76 <a className="digest-feature-link" href="/docs/ru/cli-reference#cli-flags">Флаги CLI</a>

77</div>

78 

79<div className="digest-wins">

80 <p className="digest-wins-title">Другие улучшения</p>

81 

82 <div className="digest-wins-grid">

83 <div>Установите новый параметр <a href="/docs/ru/settings-reference#modelpicker"><code>modelPicker</code></a>, чтобы расширить или заменить встроенный список средства выбора <code>/model</code> вашими собственными упорядоченными, помеченными записями, включая идентификаторы моделей Amazon Bedrock или Google Cloud's Agent Platform</div>

84 <div>Установите <a href="/docs/ru/prompt-caching#choose-the-ttl-yourself"><code>promptCacheTtl</code></a> на <code>1h</code>, чтобы сохранить кэш подсказок на один час в основной беседе при использовании ключа API или поставщика облачных услуг; <code>subagentPromptCacheTtl</code> устанавливает TTL для подагентов и всех других запросов вне основной беседы</div>

85 <div>В планах Pro, Max, Team и Enterprise <a href="/docs/ru/costs#plan-usage-breakdown"><code>/usage</code></a> добавляет разбивку Loops: количество запусков, общее количество токенов, токены на запуск и последний запуск для <code>/loop</code> и запланированных задач, которые использовали наибольшее количество токенов</div>

86 <div>Организации с договорными ставками могут установить управляемый параметр <a href="/docs/ru/costs#report-spend-at-your-contracted-rates"><code>modelPricing</code></a>, чтобы <code>/usage</code>, строка состояния и OpenTelemetry сообщали стоимость по этим ставкам вместо прейскурантной цены</div>

87 <div><code>/login</code> предлагает <strong>Войти с помощью учетной записи Console</strong> в разделе опции <strong>Учетная запись Anthropic Console</strong>, поэтому члены организаций Console, которые не разрешают ключи API, могут войти без создания одного</div>

88 <div>Выполните <code>/permissions</code> и откройте новую <a href="/docs/ru/auto-mode-config#edit-rules-from-permissions"><strong>вкладку Auto mode</strong></a>, чтобы просмотреть и отредактировать правила классификатора автоматического режима без открытия файла параметров</div>

89 <div>Когда автоматический режим доступен, подсказки разрешения Bash в режимах Manual и <code>acceptEdits</code> предлагают опцию <a href="/docs/ru/permission-modes#switch-permission-modes"><strong>Да, и переключиться на автоматический режим</strong></a>; выберите ее, чтобы одобрить команду и переключить сеанс на автоматический режим</div>

90 <div>После того как вы <a href="/docs/ru/permissions#move-the-session-to-another-directory">переместите сеанс с помощью <code>/cd</code></a>, параметры проекта нового каталога, hooks, серверы <code>.mcp.json</code>, skills и подагенты вступают в силу немедленно вместо следующего `--resume`</div>

91 <div>В неинтерактивных сеансах, включая запуски `-p`, запуски Agent SDK и облачные сеансы, Claude Code <a href="/docs/ru/errors#the-response-above-may-be-incomplete">продолжает ответ</a>, который ошибка сервера, разорванное соединение или зависание прервали в середине потока, когда частичный ответ содержит текст и не содержит вызовов инструментов</div>

92 <div>Подагент, который останавливается на пределе <code>maxTurns</code>, возвращает свой вывод, отмеченный как частичный, с подсказкой о том, что Claude может <a href="/docs/ru/sub-agents#resume-subagents">продолжить его с помощью <code>SendMessage</code></a>, вместо того чтобы казаться завершенным</div>

93 <div>На Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry сеансы на одном компьютере теперь могут <a href="/docs/ru/cross-session-messaging#availability">обмениваться сообщениями друг с другом</a>, <code>/loop</code> может <a href="/docs/ru/scheduled-tasks#let-claude-choose-the-interval">выбрать свой собственный интервал</a>, и <code>/model</code> и <code>/effort</code> применяются немедленно вместо после завершения хода</div>

94 <div>Встроенный установщик и автоматический обновитель загружают сборку, сжатую с помощью zstd, примерно 75 МБ вместо 340 МБ на Linux x64, и встроенные сборки загружают код по требованию, используя примерно на 40–70 МБ меньше памяти на сеанс</div>

95 </div>

96</div>

97 

98[Полный журнал изменений для v2.1.240–v2.1.250 →](/docs/en/changelog#2-1-240)

whats-new/2026-w36.md +109 −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# Неделя 36 · 31 августа – 4 сентября 2026

6 

7> Переключитесь на Claude Fable 5.1, запустите компьютерное управление в фоновом режиме на Desktop и смотрите правки Claude в живой панели /diff.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/docs/en/changelog#2-1-251">v2.1.251 → v2.1.261</a></span>

11 <span>4 функции · 31 августа – 4 сентября</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Claude Fable 5.1</span>

17 <span className="digest-feature-pill">новая модель</span>

18 </div>

19 

20 <p className="digest-feature-lede">Claude Fable 5.1 доступна в Claude Code с контекстным окном в 1M токенов, и псевдоним <code>fable</code> теперь выбирает её. В сеансах шлюза Claude apps <code>fable</code> по-прежнему выбирает Fable 5. Если ваш шлюз обслуживает Fable 5.1, запустите <code>/model claude-fable-5-1</code>. Требуется v2.1.257 или позже.</p>

21 

22 <p className="digest-feature-try">Переключите текущий сеанс на Fable 5.1 и сохраните его как стандартный:</p>

23 

24 ```text Claude Code theme={null}

25 > /model fable

26 ```

27 

28 <p className="digest-feature-try">На Anthropic API средство выбора отображает Fable только после того, как сервер сообщит о её доступности для вашей организации, но ввод <code>/model fable</code> проверяет с сервером напрямую.</p>

29 

30 <a className="digest-feature-link" href="/docs/ru/model-config#work-with-fable">Работа с Fable</a>

31</div>

32 

33<div className="digest-feature">

34 <div className="digest-feature-header">

35 <span className="digest-feature-title">Компьютерное управление работает в фоновом режиме на Desktop</span>

36 <span className="digest-feature-pill">Desktop</span>

37 </div>

38 

39 <p className="digest-feature-lede">На macOS компьютерное управление в приложении Claude Code Desktop теперь работает в фоновом режиме: Claude видит и действует в приложениях, которые вы одобрили, пока вы продолжаете работать. Фоновое компьютерное управление находится в бета-версии на планах Pro и Max.</p>

40 

41 <Frame>

42 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/background-computer-use.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=a599a6c6fa544cb8d1b426b93706caf4" alt="Сеанс Claude Code Desktop, где Claude просит использовать Xcode, с карточкой разрешения компьютерного управления, которая гласит: Позвольте Claude видеть и действовать в приложениях, которые вы одобрили, в фоновом режиме или с полным контролем вашего экрана, рядом с кнопкой Enable" width="1440" height="810" data-path="images/whats-new/background-computer-use.jpg" />

43 </Frame>

44 

45 <a className="digest-feature-link" href="/docs/ru/desktop#let-claude-use-your-computer">Позвольте Claude использовать ваш компьютер</a>

46</div>

47 

48<div className="digest-feature">

49 <div className="digest-feature-header">

50 <span className="digest-feature-title">Живая панель diff в полноэкранном режиме</span>

51 <span className="digest-feature-pill">v2.1.260</span>

52 </div>

53 

54 <p className="digest-feature-lede">В полноэкранном режиме <code>/diff</code> теперь открывает панель рядом с беседой вместо средства просмотра, которое нужно закрывать. Панель отображает изменённые файлы с количеством добавленных и удалённых строк и обновляется каждый раз, когда Claude редактирует файл или запускает команду shell. Выбирайте строки в панели мышью, чтобы прикрепить их к следующему запросу.</p>

55 

56 <Frame>

57 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/diff-panel.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=9d7553c19e7f227891cd95f1f59d796d" data-path="images/whats-new/diff-panel.mp4" />

58 </Frame>

59 

60 <p className="digest-feature-try">С включённым полноэкранным режимом, внутри репозитория git и в терминале шириной не менее 110 столбцов переключайте панель:</p>

61 

62 ```text Claude Code theme={null}

63 > /diff

64 ```

65 

66 <p className="digest-feature-try">Запустите <code>/diff</code> снова или нажмите <code>✕</code> в его заголовке, чтобы закрыть его.</p>

67 

68 <a className="digest-feature-link" href="/docs/ru/interactive-mode#diff-panel">Панель diff</a>

69</div>

70 

71<div className="digest-feature">

72 <div className="digest-feature-header">

73 <span className="digest-feature-title">Найдите неиспользуемые skills с /skill-doctor</span>

74 <span className="digest-feature-pill">CLI</span>

75 </div>

76 

77 <p className="digest-feature-lede"><code>/skill-doctor</code> показывает, сколько контекста стоит каждый из ваших skills и как часто он используется, чтобы вы могли решить, какие из них отключить. Каждый skill в <a href="/docs/ru/skills#skill-descriptions-are-cut-short">списке skills</a> добавляет к вашему контексту на каждом ходу, используется ли Claude его или нет. Требуется v2.1.252 или позже и недоступен в сеансах, которые пропускают <a href="/docs/ru/env-vars#features-that-need-feature-flag-fetching">получение флагов функций</a>.</p>

78 

79 <p className="digest-feature-try">Запустите его в интерактивном сеансе, чтобы открыть отчёт на вкладке <strong>Stats</strong> менеджера <code>/plugin</code>:</p>

80 

81 ```text Claude Code theme={null}

82 > /skill-doctor

83 ```

84 

85 <p className="digest-feature-try">В неинтерактивном режиме с <code>-p</code> Claude Code выводит отчёт как текст.</p>

86 

87 <a className="digest-feature-link" href="/docs/ru/skills#find-unused-skills">Найдите неиспользуемые skills</a>

88</div>

89 

90<div className="digest-wins">

91 <p className="digest-wins-title">Другие улучшения</p>

92 

93 <div className="digest-wins-grid">

94 <div>Hook <a href="/docs/ru/hooks#premodelswitch"><code>PreModelSwitch</code></a> может заблокировать переключение модели, которое вы запросили, и hook <a href="/docs/ru/hooks#postmodelswitch"><code>PostModelSwitch</code></a> может добавить контекст для Claude после изменения модели сеанса</div>

95 <div><a href="/docs/ru/costs#prompt-cache-statistics"><code>/cost</code></a> добавляет строку <code>Prompt cache (main)</code>: доля входных токенов, поданных из кэша, промахи кэша, прогрет ли кэш и вероятная причина последнего промаха, когда Claude Code может назвать одну. Скрипты строки состояния получают соответствующий объект <code>prompt\_cache</code></div>

96 <div>Организации могут перечислять HTTP и SSE MCP серверы в управляемой настройке <a href="/docs/ru/managed-mcp#provide-servers-through-managed-settings"><code>managedMcpServers</code></a>, чтобы предоставить их каждому пользователю в дополнение к серверам, которые пользователи добавляют самостоятельно</div>

97 <div><code>/effort</code> и средство выбора <code>/model</code> теперь <a href="/docs/ru/model-config#adjust-effort-level">сохраняют отдельный уровень усилий для каждой модели</a>; нажмите <code>s</code> вместо <code>Enter</code>, чтобы применить уровень только к текущему сеансу</div>

98 <div>По умолчанию классификатор автоматического режима теперь также <a href="/docs/ru/permission-modes#what-the-classifier-blocks-by-default">блокирует</a> действия, такие как запрос учётных данных из облачной конечной точки метаданных экземпляра или подключение к дочерним контейнерам, которые Claude не запустил</div>

99 <div>В автоматическом режиме Claude Code спрашивает вас перед тем, как Claude <a href="/docs/ru/permission-modes#first-read-outside-the-working-directories">впервые прочитает файл вне ваших рабочих каталогов</a>, с опцией блокировать такие чтения с этого момента</div>

100 <div>Увеличьте <a href="/docs/ru/settings-reference#bashoutputmaxchars"><code>bashOutputMaxChars</code></a> и <a href="/docs/ru/settings-reference#taskoutputmaxchars"><code>taskOutputMaxChars</code></a> до 128 000 символов, чтобы Claude получал больше вывода из успешной команды или фоновой задачи встроенным образом</div>

101 <div>Сочетания клавиш редактирования слов в подсказке <a href="/docs/ru/interactive-mode#make-ctrl-w-delete-back-to-whitespace">следуют readline</a> для всех, и настройка <code>keybindingFlavor</code> больше не имеет никакого эффекта. <code>Ctrl+W</code> удаляет до предыдущего пробела, а <code>Alt+B</code>, <code>Alt+F</code> и <code>Alt+D</code> рассматривают пунктуацию, такую как <code>/</code> и <code>.</code>, как разделители слов</div>

102 <div>Если вы установите <code>defaultMode</code> на <code>"bypassPermissions"</code> в <code>.claude/settings.json</code> или <code>.claude/settings.local.json</code> проекта, это <a href="/docs/ru/permission-modes#which-mode-a-session-starts-in">больше не вступает в силу</a> и сеанс начинается в режиме Manual; установите <code>"bypassPermissions"</code> в пользовательских или управляемых настройках вместо этого или передайте `--permission-mode`</div>

103 <div>Планы Enterprise на основе мест теперь <a href="/docs/ru/model-config#default-model-setting">по умолчанию используют Opus 5</a></div>

104 <div>В расширении VS Code нажмите на имя модели в нижней части поля подсказки, чтобы <a href="/docs/ru/vs-code#use-the-prompt-box">открыть средство выбора модели</a></div>

105 <div>В расширении VS Code выберите <strong>Output styles</strong> в разделе Customize меню команд, чтобы <a href="/docs/ru/vs-code#use-the-prompt-box">выбрать стиль вывода</a>, включая ваши пользовательские</div>

106 </div>

107</div>

108 

109[Полный журнал изменений для v2.1.251–v2.1.261 →](/docs/en/changelog#2-1-251)

whats-new/2026-w37.md +69 −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# Неделя 37 · 7–11 сентября 2026

6 

7> Тестируйте свои плагины с помощью claude plugin eval и выводите панели Claude Code Desktop в отдельные окна.

8 

9<div className="digest-meta">

10 <span>Релизы <a href="/docs/en/changelog#2-1-263">v2.1.263 → v2.1.269</a></span>

11 <span>2 функции · 7–11 сентября</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Тестируйте плагины с помощью claude plugin eval</span>

17 <span className="digest-feature-pill">v2.1.269</span>

18 </div>

19 

20 <p className="digest-feature-lede"><code>claude plugin eval</code> запускает ваш плагин на наборе тестовых случаев, оценивает результаты и по умолчанию запускает каждый случай снова без плагина, чтобы вы могли увидеть, что он добавляет. <code>claude plugin eval init</code> спрашивает вас, как должен выглядеть хороший результат, затем предлагает тестовые случаи и проверки, которые их оценивают, пробует набор один раз и записывает файлы. Каждый запуск и каждая проверка, которая имеет второго судью модели для ответа, — это реальный вызов модели на вашем счёте.</p>

21 

22 <Frame>

23 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/plugin-eval.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=913066f6d4a2a15426e98a627802f47f" alt="Вывод терминала claude plugin eval: таблица из семи случаев с оценкой каждого случая с плагином и без плагина, разницей между ними, количеством запусков и стоимостью, за которой следует строка сводки со средней разницей, общей продолжительностью и общей стоимостью" width="1600" height="900" data-path="images/whats-new/plugin-eval.jpg" />

24 </Frame>

25 

26 <p className="digest-feature-try">Из корневого каталога вашего плагина попросите Claude составить набор:</p>

27 

28 ```bash terminal theme={null}

29 claude plugin eval init

30 ```

31 

32 <p className="digest-feature-try">Когда Claude скажет вам, что набор готов, выйдите из сеанса, который открыл <code>claude plugin eval init</code>, и запустите <code>claude plugin eval .</code> для оценки каждого случая. Таблица сводки выводится в ваш терминал, а <code>report.html</code> в <code>evals/results/</code> содержит детали каждого запуска.</p>

33 

34 <a className="digest-feature-link" href="/docs/ru/plugin-evals">Тестируйте плагины с помощью evals</a>

35</div>

36 

37<div className="digest-feature">

38 <div className="digest-feature-header">

39 <span className="digest-feature-title">Выводите панели Desktop в отдельные окна</span>

40 <span className="digest-feature-pill">Desktop</span>

41 </div>

42 

43 <p className="digest-feature-lede">В приложении Claude Code Desktop вы можете вывести любую панель в отдельное окно. Перетащите diff или терминал на второй экран, пока Claude продолжает работать в главном окне, а затем закрепите панель обратно, когда закончите.</p>

44 

45 <Frame>

46 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/desktop-pop-out-panes.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=ff3770dd09bb15ed9cf17a460f3d1e23" data-path="images/whats-new/desktop-pop-out-panes.mp4" />

47 </Frame>

48 

49 <a className="digest-feature-link" href="/docs/ru/desktop#arrange-your-workspace">Организуйте своё рабочее пространство</a>

50</div>

51 

52<div className="digest-wins">

53 <p className="digest-wins-title">Другие улучшения</p>

54 

55 <div className="digest-wins-grid">

56 <div>Установите <a href="/docs/ru/settings-reference#maxeffortlevel"><code>maxEffortLevel</code></a> на верхнем уровне или для каждой модели в <code>modelSettings</code>, чтобы ограничить уровень усилий на каждом поставщике, включая Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry; любой более высокий уровень работает на пределе</div>

57 <div>Укажите `--plugin-dir` на папку плагинов, чтобы <a href="/docs/ru/plugins#test-your-plugins-locally">загрузить каждую непосредственную подпапку, которая имеет манифест</a></div>

58 <div>Если WebFetch не завершил загрузку страницы в течение пяти минут, <a href="/docs/ru/tools-reference#webfetch-tool-behavior">загрузка завершается с ошибкой истечения срока</a> вместо зависания; установите <code>CLAUDE\_CODE\_WEBFETCH\_DEADLINE\_MS</code> для изменения срока или на <code>0</code> для удаления ограничения</div>

59 <div>Передайте `--json` в <code>claude plugin install</code>, <code>uninstall</code>, <code>update</code>, <code>enable</code> или <code>disable</code>, чтобы вывести результат как <a href="/docs/ru/plugins-reference#plugin-json-result">один объект JSON в последней строке stdout</a></div>

60 <div>Когда классификатор автоматического режима блокирует действие, причина, которую получает Claude, <a href="/docs/ru/auto-mode-config#fix-a-denial-with-an-allow-rule-an-environment-entry-or-a-retry">обычно называет правило, которое совпало</a>, например <code>\[Data Exfiltration]</code></div>

61 <div>Когда вы вводите <code>/</code> в середине подсказки, вы теперь можете выбрать из <a href="/docs/ru/interactive-mode#complete-a-command-mid-prompt">списка соответствующих команд</a> вместо одного предложения. Список открывается по мере ввода в полноэкранном режиме. Навык плагина также совпадает по его имени без префикса плагина</div>

62 <div>В расширении VS Code нажмите на количество агентов в нижней части поля подсказки, чтобы открыть <a href="/docs/ru/vs-code#use-the-prompt-box">карту агентов</a>, где вы можете открыть транскрипт подагента только для чтения или остановить его</div>

63 <div>В расширении VS Code выберите <strong>Hooks</strong> или <strong>Permissions</strong> в разделе Customize меню команд, чтобы <a href="/docs/ru/vs-code#use-the-prompt-box">добавить или удалить hooks и правила разрешений</a> в ваших пользовательских, проектных и локальных параметрах</div>

64 <div>Claude может выбрать <a href="/docs/ru/artifacts#create-an-artifact">значок вкладки браузера</a> для соответствия каждому артефакту, который он публикует</div>

65 <div>В Claude Code в веб-версии отозвите поставленное в очередь сообщение в облачном сеансе до того, как Claude его прочитает: удалите его из очереди или нажмите <code>Esc</code> или <code>Up</code>, и текст вернётся в поле сообщения</div>

66 </div>

67</div>

68 

69[Полный журнал изменений для v2.1.263–v2.1.269 →](/docs/en/changelog#2-1-263)

workflows.md +33 −18

Details

372Вы также можете отредактировать [скрипт одного запуска](#how-a-workflow-runs) вместо сохранённой копии. [Возобновление после паузы](#resume-after-a-pause) охватывает, какие агенты запускаются снова при перезапуске отредактированного скрипта. Для входов инструмента Workflow смотрите его запись в [справочнике Agent SDK](/docs/ru/agent-sdk/typescript#workflow).372Вы также можете отредактировать [скрипт одного запуска](#how-a-workflow-runs) вместо сохранённой копии. [Возобновление после паузы](#resume-after-a-pause) охватывает, какие агенты запускаются снова при перезапуске отредактированного скрипта. Для входов инструмента Workflow смотрите его запись в [справочнике Agent SDK](/docs/ru/agent-sdk/typescript#workflow).

373 373 

374<h2 id="how-a-workflow-runs">374<h2 id="how-a-workflow-runs">

375 Как работает workflow375 Как выполняется workflow

376</h2>376</h2>

377 377 

378Runtime workflow выполняет скрипт в изолированной среде, отдельно от вашей беседы. Промежуточные результаты остаются в переменных скрипта вместо того, чтобы попадать в контекст Claude.378Среда выполнения workflow выполняет скрипт в изолированной среде, отдельно от вашего разговора. Промежуточные результаты остаются в переменных скрипта вместо того, чтобы попадать в контекст Claude.

379 379 

380Каждый запуск записывает свой скрипт в файл в директорию вашей сессии в `~/.claude/projects/`. Claude получает путь при запуске, поэтому вы можете попросить его. Вы можете открыть этот файл, чтобы прочитать оркестровку, которую написал Claude, сравнить его с скриптом предыдущего запуска или отредактировать его и попросить Claude перезапустить с отредактированной версии.380Каждый запуск записывает свой скрипт в файл в каталоге вашей сессии в `~/.claude/projects/`. Claude получает путь при запуске, поэтому вы можете попросить его. Вы можете открыть этот файл, чтобы прочитать оркестровку, которую написал Claude, сравнить его со скриптом предыдущего запуска или отредактировать его и попросить Claude перезапустить с отредактированной версией.

381 381 

382Claude может запустить workflow только из файла скрипта, который сессия уже имеет право читать. Чтобы запустить скрипт, находящийся вне вашей рабочей директории, сначала добавьте его директорию с помощью [`/add-dir`](/docs/ru/permissions#working-directories) или [правила разрешения Read](/docs/ru/permissions#read-and-edit).382Claude может запустить workflow только из файла скрипта, который сессия уже имеет право читать. Чтобы запустить скрипт, находящийся вне вашего рабочего каталога, сначала добавьте его каталог с помощью [`/add-dir`](/docs/ru/permissions#working-directories) или [правила Read](/docs/ru/permissions#read-and-edit).

383 383 

384Runtime отслеживает результат каждого агента по мере прогресса запуска, что делает запуск [возобновляемым](#resume-after-a-pause) в той же сессии.384Среда выполнения отслеживает результат каждого агента по мере выполнения запуска, что делает запуск [возобновляемым](#resume-after-a-pause) в рамках одной сессии.

385 385 

386<h3 id="prompt-caching-in-a-fan-out">386<h3 id="prompt-caching-in-a-fan-out">

387 Prompt caching в fan-out387 Prompt caching в fan-out

388</h3>388</h3>

389 389 

390Агенты в одном запуске могут читать [prompt cache](/docs/ru/prompt-caching#subagents-and-the-cache) друг друга. Два агента, которые работают с одной и той же моделью, уровнем усилий, типом агента, инструментами, схемой вывода и рабочей директорией, создают один и тот же префикс tools-and-system-prompt, поэтому агент, который начинает работу после того, как ответ соответствующего соседнего агента начал формироваться, читает кэш этого соседнего агента при первом запросе.390Агенты в одном запуске могут читать [prompt cache](/docs/ru/prompt-caching#subagents-and-the-cache) друг друга. Два агента, которые работают с одной и той же моделью, уровнем усилий, типом агента, инструментами, схемой вывода и рабочим каталогом, создают один и тот же префикс инструментов и системного приглашения, поэтому агент, который запускается после того, как ответ соответствующего соседнего агента начал обрабатываться, читает кэш этого соседнего агента при первом запросе.

391 391 

392Запросы workflow агента выходят за пределы [TTL bucket кэша](/docs/ru/prompt-caching#which-ttl-each-request-gets) основной беседы, поэтому его кэш сохраняется в течение пяти минут по умолчанию, включая подписку Claude. Чтобы сохранить его на час, установите [`subagentPromptCacheTtl`](/docs/ru/settings-reference#subagentpromptcachettl) на `1h`. API выставляет счета за записи кэша на один час по более высокому тарифу.392Запросы агента workflow выходят за пределы [TTL bucket кэша](/docs/ru/prompt-caching#which-ttl-each-request-gets) основного разговора, поэтому его кэш сохраняется в течение пяти минут по умолчанию, включая подписку Claude. Чтобы сохранить его на час, установите [`subagentPromptCacheTtl`](/docs/ru/settings-reference#subagentpromptcachettl) на `1h`. API выставляет счета за записи кэша на 1 час по более высокому тарифу.

393 393 

394Когда fan-out запускает несколько соответствующих агентов одновременно, Claude Code удерживает всех, кроме первого, до тех пор, пока ответ первого агента не начнет формироваться, затем отпускает удерживаемых агентов вместе, чтобы их первые запросы читали общий префикс вместо того, чтобы каждый обрабатывал его без кэша. Claude Code ограничивает удержание [`CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS`](/docs/ru/env-vars) миллисекундами, `5000` по умолчанию. Установите его на `0`, чтобы отключить удержание.394Когда fan-out запускает несколько соответствующих агентов одновременно, Claude Code удерживает всех, кроме первого, до тех пор, пока ответ первого агента не начнет обрабатываться, затем отпускает удерживаемых агентов вместе, чтобы их первые запросы читали общий префикс вместо того, чтобы каждый обрабатывал его без кэша. Claude Code ограничивает удержание [`CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS`](/docs/ru/env-vars) миллисекундами, `5000` по умолчанию. Установите его на `0`, чтобы отключить удержание.

395 395 

396<h3 id="behavior-and-limits">396<h3 id="behavior-and-limits">

397 Поведение и ограничения397 Поведение и ограничения

398</h3>398</h3>

399 399 

400Runtime применяет следующие ограничения:400Среда выполнения применяет следующие ограничения:

401 401 

402| Ограничение | Почему |402| Ограничение | Причина |

403| :---------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |403| :--------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

404| Нет пользовательского ввода во время запуска | Только подсказки разрешений агентов могут приостановить запуск. Для одобрения между этапами запустите каждый этап как свой собственный workflow |404| Нет ввода пользователя во время выполнения | Запуск приостанавливается самостоятельно только для запросов разрешения агента и [ожидания лимита использования](#when-a-run-hits-your-usage-limit). Для утверждения между этапами запустите каждый этап как отдельный workflow |

405| Нет прямого доступа к файловой системе или shell из самого workflow | Агенты читают, пишут и запускают команды. Скрипт координирует агентов |405| Нет прямого доступа к файловой системе или shell из самого workflow | Агенты читают, записывают и выполняют команды. Скрипт координирует агентов |

406| Нет загрузки модулей: скрипт, содержащий `import()`, не запускается до начала выполнения | Тело скрипта — это простой JavaScript. Поместите работу, которая требует библиотеки, в задачу агента |406| Нет загрузки модулей: скрипт, содержащий `import()`, не запускается до начала выполнения | Тело скрипта — это простой JavaScript. Поместите работу, которая требует библиотеки, в задачу агента |

407| До 16 одновременных агентов, меньше, когда Claude Code имеет меньше доступных CPU, включая внутри контейнера с ограниченным CPU | Ограничивает локальное использование ресурсов |407| До 16 одновременных агентов, меньше, когда Claude Code имеет меньше доступных процессоров, включая внутри контейнера с ограничением процессора | Ограничивает локальное использование ресурсов |

408| В fan-out агенты, которые совместно используют префикс prompt-cache первого агента, запускаются до 5 секунд после него по умолчанию | Все, кроме первого, читают [префикс, который кэшировал первый агент](#prompt-caching-in-a-fan-out) вместо того, чтобы каждый обрабатывал его без кэша |408| В fan-out агенты, которые совместно используют префикс prompt-cache первого агента, запускаются до 5 секунд после него по умолчанию | Все, кроме первого, читают [префикс, который кэшировал первый агент](#prompt-caching-in-a-fan-out) вместо того, чтобы каждый обрабатывал его без кэша |

409| До 4096 элементов в одном вызове `parallel()` или `pipeline()`: runtime отклоняет более длинный список с ошибкой | Молчаливое ограничение могло бы отбросить часть рабочей нагрузки без уведомления скрипта |409| До 4096 элементов в одном вызове `parallel()` или `pipeline()`: среда выполнения отклоняет более длинный список с ошибкой | Молчаливое ограничение могло бы отбросить часть рабочей нагрузки без уведомления скрипта |

410| 1000 агентов всего за запуск | Предотвращает бесконечные циклы |410| 1000 агентов всего за запуск | Предотвращает бесконечные циклы |

411 411 

412<h2 id="manage-runs">412<h2 id="manage-runs">


440 440 

441В локальных и облачных сессиях одинаково, когда Claude перезапускает более ранний запуск и Claude Code вообще не может найти сохранённые результаты этого запуска, перезапуск не удаётся с ошибкой `nothing to resume` вместо самостоятельного запуска запуска. Попросите Claude запустить workflow заново как новый запуск.441В локальных и облачных сессиях одинаково, когда Claude перезапускает более ранний запуск и Claude Code вообще не может найти сохранённые результаты этого запуска, перезапуск не удаётся с ошибкой `nothing to resume` вместо самостоятельного запуска запуска. Попросите Claude запустить workflow заново как новый запуск.

442 442 

443<h3 id="when-a-run-hits-your-usage-limit">

444 Когда запуск достигает вашего лимита использования

445</h3>

446 

447Когда агент достигает вашего лимита использования [usage limit](/docs/ru/interactive-mode#wait-for-a-usage-limit-to-reset) на claude.ai, запуск приостанавливается, а не отказывает этому агенту: агенты, которые достигли лимита, ждут сброса, и новые агенты не запускаются. Вскоре после сброса лимита ожидающие агенты работают снова и запуск продолжается самостоятельно. Требуется Claude Code v2.1.271 или позже; в более ранних версиях затронутые агенты отказывают.

448 

449Пока запуск ждёт, его строка прогресса в панели задач и заголовок [`/workflows`](#watch-the-run) показывают, когда лимит сбросится.

450 

451Запуск приостанавливается только когда все эти условия выполняются; когда одно из них не выполняется, затронутый агент отказывает вместо этого:

452 

453* Сессия интерактивна и вы вошли с подпиской claude.ai. Запуск не приостанавливается в [неинтерактивном режиме](/docs/ru/headless) с `claude -p` или в [Agent SDK](/docs/ru/agent-sdk/overview), в [фоновой сессии](/docs/ru/agent-view), или в сессии товарища по команде [Remote Control](/docs/ru/remote-control) или [agent team](/docs/ru/agent-teams).

454* [`autoContinueAtUsageLimit`](/docs/ru/settings-reference#autocontinueatusagelimit) включена, тот же параметр, который позволяет самой сессии [ждать сброса лимита использования](/docs/ru/interactive-mode#wait-for-a-usage-limit-to-reset). Если вы отключите его во время ожидания, ожидание заканчивается и ожидающие агенты отказывают.

455* Лимит сбросится в течение 24 часов. Еженедельный лимит может сбросится позже.

456* Запуск ещё не ждал дважды. Когда он достигает лимита в третий раз, агент отказывает.

457 

443<h3 id="cost">458<h3 id="cost">

444 Стоимость459 Стоимость

445</h3>460</h3>

446 461 

447Workflow создаёт множество агентов, поэтому один запуск может использовать значительно больше токенов, чем работа через ту же задачу в беседе. Запуски считаются в сторону использования вашего плана и ограничений скорости, как и любая другая сессия.462Workflow создаёт множество агентов, поэтому один запуск может использовать значительно больше токенов, чем работа через ту же задачу в беседе. Запуски считаются в сторону использования вашего плана и ограничений скорости.

448 463 

449Чтобы оценить расходы перед выполнением крупной задачи, сначала запустите workflow на небольшом срезе: один каталог вместо всего репозитория или узкий вопрос вместо широкого. Представление `/workflows` показывает использование токенов каждым агентом по мере выполнения запуска, и вы можете остановить запуск там в любое время, обычно без потери завершённой работы. [Возобновить после паузы](#resume-after-a-pause) охватывает то, что сохраняет остановленный запуск. [Ограничения агентов](#behavior-and-limits) среды выполнения ограничивают количество агентов, которых может создать один запуск, что ограничивает стоимость неконтролируемого скрипта. Чтобы сохранить запуски с меньшим количеством агентов, выберите рекомендацию по размеру `small` [size guideline](#set-a-size-guideline).464Чтобы оценить расходы перед выполнением крупной задачи, сначала запустите workflow на небольшом срезе: один каталог вместо всего репозитория или узкий вопрос вместо широкого. Представление `/workflows` показывает использование токенов каждым агентом по мере выполнения запуска, и вы можете остановить запуск там в любое время, обычно без потери завершённой работы. [Возобновить после паузы](#resume-after-a-pause) охватывает то, что сохраняет остановленный запуск. [Ограничения агентов](#behavior-and-limits) среды выполнения ограничивают количество агентов, которых может создать один запуск, что ограничивает стоимость неконтролируемого скрипта. Чтобы сохранить запуски с меньшим количеством агентов, выберите рекомендацию по размеру `small` [size guideline](#set-a-size-guideline).

450 465 


476| :------------- | :--------------------------------------------------------------------------- |491| :------------- | :--------------------------------------------------------------------------- |

477| `unrestricted` | Нет рекомендации: Claude определяет размер workflow в соответствии с задачей |492| `unrestricted` | Нет рекомендации: Claude определяет размер workflow в соответствии с задачей |

478| `small` | Менее 5 агентов |493| `small` | Менее 5 агентов |

479| `medium` | Менее 15 агентов |494| `medium` | Менее 10 агентов |

480| `large` | Менее 50 агентов |495| `large` | Менее 50 агентов |

481 496 

482По умолчанию используется `medium`. До тех пор, пока вы не выберете значение, строка `/config` показывает `medium (default)` и строка `Running in background` workflow показывает `medium size (/config)`. Требуется Claude Code v2.1.219 или позже; более ранние версии по умолчанию используют `unrestricted`.497По умолчанию используется `medium`, или `small` когда вы вошли в Pro план с Claude Code v2.1.271 или позже. До тех пор, пока вы не выберете значение, строка `/config` показывает значение как значение по умолчанию, и строка `Running in background` workflow показывает размер в силе. Требуется Claude Code v2.1.219 или позже; более ранние версии по умолчанию используют `unrestricted`.

483 498 

484Чтобы изменить рекомендацию, выберите значение для параметра Dynamic workflow size в `/config`, или запустите `/config workflowSizeGuideline=small`. На v2.1.219 и позже вы также можете установить ключ [`workflowSizeGuideline`](/docs/ru/settings-reference#workflowsizeguideline) в любом файле параметров; это значение имеет приоритет над `/config`, и Claude Code скрывает строку `/config`, пока файл параметров предоставляет один.499Чтобы изменить рекомендацию, выберите значение для параметра Dynamic workflow size в `/config`, или запустите `/config workflowSizeGuideline=small`. На v2.1.219 и позже вы также можете установить ключ [`workflowSizeGuideline`](/docs/ru/settings-reference#workflowsizeguideline) в любом файле параметров; это значение имеет приоритет над `/config`, и Claude Code скрывает строку `/config`, пока файл параметров предоставляет один.

485 500 

worktrees.md +5 −2

Details

139Когда вы [отправляете в фон](/docs/ru/agent-view#send-the-session-to-the-background) сеанс `--worktree`, его worktree становится worktree фонового сеанса, который очистка может удалить. Очистка оставляет worktree на месте в этих случаях:139Когда вы [отправляете в фон](/docs/ru/agent-view#send-the-session-to-the-background) сеанс `--worktree`, его worktree становится worktree фонового сеанса, который очистка может удалить. Очистка оставляет worktree на месте в этих случаях:

140 140 

141* Worktree по-прежнему содержит работу: изменённые или неотслеживаемые файлы или неотправленные коммиты.141* Worktree по-прежнему содержит работу: изменённые или неотслеживаемые файлы или неотправленные коммиты.

142* Claude Code не может определить, какие драйверы фильтров определяет конфигурация репозитория, в любом из [трёх случаев, которые также блокируют создание worktree](#git-lfs-content-is-missing-from-a-worktree-claude-code-created).142* Один из [четырёх случаев, которые также блокируют создание worktree](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) применяется: Claude Code не может определить, какие драйверы фильтров определяет конфигурация репозитория, или находит там параметр, который не может отключить.

143* Worktree принадлежит сеансу `--worktree`, который вы не отправили в фон, независимо от его возраста.143* Worktree принадлежит сеансу `--worktree`, который вы не отправили в фон, независимо от его возраста.

144* Вы создали worktree самостоятельно с `git worktree add`, даже если вы затем запустили сеанс `--worktree <name>` в нём и отправили этот сеанс в фон.144* Вы создали worktree самостоятельно с `git worktree add`, даже если вы затем запустили сеанс `--worktree <name>` в нём и отправили этот сеанс в фон.

145 145 


353 353 

354Чтобы получить реальные файлы, запустите `git lfs pull` внутри worktree.354Чтобы получить реальные файлы, запустите `git lfs pull` внутри worktree.

355 355 

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

357 357 

358* **`Could not read the repository git config to neutralize filter drivers`**: Claude Code не мог прочитать `.git/config` репозитория, например из-за его разрешений. Исправьте это и повторите попытку.358* **`Could not read the repository git config to neutralize filter drivers`**: Claude Code не мог прочитать `.git/config` репозитория, например из-за его разрешений. Исправьте это и повторите попытку.

359* **`The repository git config defines a filter driver whose name cannot be neutralized (contains "=" or a newline)`**: переименуйте или удалите этот драйвер фильтра в `.git/config` и повторите попытку.359* **`The repository git config defines a filter driver whose name cannot be neutralized (contains "=" or a newline)`**: переименуйте или удалите этот драйвер фильтра в `.git/config` и повторите попытку.

360* **`The repository git config has a conditional include (includeIf)`**: переместите параметры, которые `includeIf` в `.git/config` вытягивает, непосредственно в этот файл, удалите `includeIf` и повторите попытку. `includeIf` в вашей глобальной конфигурации git не вызывает это.360* **`The repository git config has a conditional include (includeIf)`**: переместите параметры, которые `includeIf` в `.git/config` вытягивает, непосредственно в этот файл, удалите `includeIf` и повторите попытку. `includeIf` в вашей глобальной конфигурации git не вызывает это.

361* **`Git was not run: the repository's own git config sets <key>`**: сообщение называет ключ, который указывает Git LFS на программу для запуска, такую как `lfs.customtransfer.<name>.path` или `lfs.standalonetransferagent`. Если этот параметр ваш, переместите его в вашу глобальную конфигурацию git. Если вы его не узнаёте, удалите его из конфигурации репозитория, так как инструмент или checkout, которому вы не доверяете, мог его написать. Повторите попытку, когда ключ исчезнет из конфигурации репозитория.

361 362 

362<h3 id="claude-code-refuses-to-use-a-worktree">363<h3 id="claude-code-refuses-to-use-a-worktree">

363 Claude Code отказывается использовать worktree364 Claude Code отказывается использовать worktree


406 407 

407Окончание отказа, встроенное в каждую ошибку, делится с интерактивными уведомлениями, поэтому оно по-прежнему сопоставляется с его записью в разделе [Claude Code отказывается использовать worktree](#claude-code-refuses-to-use-a-worktree).408Окончание отказа, встроенное в каждую ошибку, делится с интерактивными уведомлениями, поэтому оно по-прежнему сопоставляется с его записью в разделе [Claude Code отказывается использовать worktree](#claude-code-refuses-to-use-a-worktree).

408 409 

410В результате stream-json [`startup_failure_reason`](/docs/ru/agent-sdk/typescript#startup_failure_reason) — это `worktree_unverified` для ошибки `could not verify worktree` и `worktree_resume_refused` для ошибок `cannot resume into worktree` и `The worktree binding is kept`. Приложение может ветвиться на нём вместо сопоставления текста ошибки. До версии 2.1.274 результат не содержал поле `startup_failure_reason`.

411 

409<h2 id="see-also">412<h2 id="see-also">

410 См. также413 См. также

411</h2>414</h2>

Details

64Когда ZDR включен для организации Claude Code на Claude for Enterprise, определенные функции, которые требуют сохранения запросов или завершений, автоматически отключаются на уровне бэкенда:64Когда ZDR включен для организации Claude Code на Claude for Enterprise, определенные функции, которые требуют сохранения запросов или завершений, автоматически отключаются на уровне бэкенда:

65 65 

66| Функция | Причина |66| Функция | Причина |

67| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |67| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |

68| [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) | Требует серверного хранилища истории беседы. |68| [Cloud sessions](/docs/ru/claude-code-on-the-web), включая те, которые запущены из [приложения Desktop](/docs/ru/desktop#cloud-sessions) | Требует серверного хранилища данных сеанса, включая историю беседы с запросами и завершениями. |

69| [Удаленные сеансы](/docs/ru/desktop#cloud-sessions) из приложения Desktop | Требует постоянных данных сеанса, которые включают запросы и завершения. |

70| [Claude Tag](/docs/ru/claude-tag) | Сохраняет память канала и стенограммы сеансов. |69| [Claude Tag](/docs/ru/claude-tag) | Сохраняет память канала и стенограммы сеансов. |

71| [Артефакты](/docs/ru/artifacts) | Требует сохранения опубликованного содержимого страницы на инфраструктуре, управляемой Anthropic. |70| [Артефакты](/docs/ru/artifacts) | Требует сохранения опубликованного содержимого страницы на инфраструктуре, управляемой Anthropic. |

72| Отправка отзыва (`/feedback`, `/bug`, `/share`) | Отправка отзыва отправляет данные беседы в Anthropic. |71| Отправка отзыва (`/feedback`, `/bug`, `/share`) | Отправка отзыва отправляет данные беседы в Anthropic. |