SpyBara
Go Premium

Documentation 2026-11-08 22:58 UTC to 2026-11-09 23:02 UTC

35 files changed +510 −178. View all changes and history on the product overview
2026
Thu 12 21:00 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57

advisor.md +4 −3

Details

98| Opus 4.7 или Opus 4.8 | Fable, Opus 4.7 или позже, Sonnet 5.5 |98| Opus 4.7 или Opus 4.8 | Fable, Opus 4.7 или позже, Sonnet 5.5 |

99| Sonnet 5.5 | Fable, Opus 5 или позже, Sonnet 5.5 |99| Sonnet 5.5 | Fable, Opus 5 или позже, Sonnet 5.5 |

100| Opus 5 или Opus 5.5 | Fable, Opus 5 или позже |100| Opus 5 или Opus 5.5 | Fable, Opus 5 или позже |

101| Fable 5 | Fable 5.1 или Fable 5 |101| Fable 5 | Fable 5.2, Fable 5.1 или Fable 5 |

102| Fable 5.1 | Fable 5.1 |102| Fable 5.1 | Fable 5.2 или Fable 5.1 |

103| Fable 5.2 | Fable 5.2 |

103 104 

104Fable 5.1 требует Claude Code v2.1.257 или более поздней версии. Модели Fable требуют [доступ к Fable](https://code.claude.com/docs/ru/model-config.md#work-with-fable). Sonnet 5.5 в качестве советника для основной модели Opus 4.7 или Opus 4.8 требует Claude Code v2.1.287 или более поздней версии. Haiku 5.5 в качестве основной модели или советника требует Claude Code v2.1.293 или более поздней версии.105Fable 5.2 требует Claude Code v2.1.321 или более поздней версии, а Fable 5.1 требует v2.1.257 или более поздней версии. Модели Fable требуют [доступ к Fable](https://code.claude.com/docs/ru/model-config.md#work-with-fable). Sonnet 5.5 в качестве советника для основной модели Opus 4.7 или Opus 4.8 требует Claude Code v2.1.287 или более поздней версии. Haiku 5.5 в качестве основной модели или советника требует Claude Code v2.1.293 или более поздней версии.

105 106 

106Установите советника как `fable`, `opus` или `sonnet`. Эти псевдонимы разрешаются во [встроенную версию Claude Code по умолчанию](https://code.claude.com/docs/ru/model-config.md#model-aliases) для каждого семейства моделей, которая обновляется с новыми выпусками Claude Code. Вы также можете передать полный ID модели, например `claude-opus-5-5` или `claude-haiku-5-5`. Haiku 4.5 может вызывать советника, но не может быть им.107Установите советника как `fable`, `opus` или `sonnet`. Эти псевдонимы разрешаются во [встроенную версию Claude Code по умолчанию](https://code.claude.com/docs/ru/model-config.md#model-aliases) для каждого семейства моделей, которая обновляется с новыми выпусками Claude Code. Вы также можете передать полный ID модели, например `claude-opus-5-5` или `claude-haiku-5-5`. Haiku 4.5 может вызывать советника, но не может быть им.

107 108 

Details

56 56 

57### Пример инструмента Weather57### Пример инструмента Weather

58 58 

59Этот пример определяет инструмент `get_temperature` и оборачивает его в MCP-сервер, не передавая сервер в `query`. Чтобы запустить инструмент, смотрите [Call a custom tool](#call-a-custom-tool) ниже.59Этот пример определяет инструмент `get_temperature` и оборачивает его в MCP-сервер, не передавая сервер в `query`. Чтобы запустить инструмент, смотрите [Call a custom tool](#call-a-custom-tool).

60 60 

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

62from typing import Annotated, Any62from typing import Annotated, Any


148* **TypeScript**: добавьте `.optional()` к полю Zod.148* **TypeScript**: добавьте `.optional()` к полю Zod.

149* **Python**: словарная схема требует наличия каждого ключа. Используйте форму JSON Schema, не включайте параметр в `required` и читайте его с помощью `args.get()`. Для типизированной схемы с необязательными ключами смотрите [TypedDict class](https://code.claude.com/docs/ru/agent-sdk/python.md#input-schema-options).149* **Python**: словарная схема требует наличия каждого ключа. Используйте форму JSON Schema, не включайте параметр в `required` и читайте его с помощью `args.get()`. Для типизированной схемы с необязательными ключами смотрите [TypedDict class](https://code.claude.com/docs/ru/agent-sdk/python.md#input-schema-options).

150 150 

151Инструмент [`get_precipitation_chance` ниже](#add-more-tools) показывает оба паттерна.151[Инструмент `get_precipitation_chance`](#add-more-tools) показывает оба паттерна.

152 152 

153### Вызов пользовательского инструмента153### Вызов пользовательского инструмента

154 154 

155Передайте созданный вами MCP-сервер в `query` через опцию `mcpServers` и перечислите [полностью квалифицированное имя](https://code.claude.com/docs/ru/agent-sdk/mcp.md#tool-naming-convention) каждого инструмента в `allowedTools`, чтобы инструмент работал без запроса разрешения. Это имя имеет вид `mcp__{server_name}__{tool_name}`, где `{server_name}` — это ключ, который вы задаёте серверу в `mcpServers`. Если ключ содержит такие символы, как `.` или пробелы, замените их на `_`, когда записываете `{server_name}`.155Чтобы вызвать пользовательский инструмент, выполните следующие шаги:

156 

1571. Передайте созданный вами MCP-сервер в `query` через опцию `mcpServers`.

1582. Перечислите [полностью квалифицированное имя](https://code.claude.com/docs/ru/agent-sdk/mcp.md#tool-naming-convention) инструмента в `allowedTools`, чтобы [заранее одобрить](https://code.claude.com/docs/ru/agent-sdk/permissions.md#allow-and-deny-rules) его вызовы. Это имя имеет вид `mcp__{server_name}__{tool_name}`, где `{server_name}` — это ключ, который вы задаёте серверу в `mcpServers`. Если ключ содержит такие символы, как `.` или пробелы, замените их на `_`, когда записываете `{server_name}`.

156 159 

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

158 161 


329| :- | :- | :- |332| :- | :- | :- |

330| `readOnlyHint` | `false` | Инструмент не изменяет свою среду. Контролирует, может ли инструмент вызываться параллельно с другими инструментами только для чтения. |333| `readOnlyHint` | `false` | Инструмент не изменяет свою среду. Контролирует, может ли инструмент вызываться параллельно с другими инструментами только для чтения. |

331| `destructiveHint` | `true` | Инструмент может выполнять деструктивные обновления. Явно установите значение `true` для любого инструмента, который вы [помечаете как `always_ask`](#require-approval-for-specific-tools). |334| `destructiveHint` | `true` | Инструмент может выполнять деструктивные обновления. Явно установите значение `true` для любого инструмента, который вы [помечаете как `always_ask`](#require-approval-for-specific-tools). |

332| `idempotentHint` | `false` | Повторные вызовы с одинаковыми аргументами не имеют дополнительного эффекта. Только информационное. |335| `idempotentHint` | `false` | Повторные вызовы с одинаковыми аргументами не имеют дополнительного эффекта. |

333| `openWorldHint` | `true` | Инструмент достигает систем вне вашего процесса. Только информационное. |336| `openWorldHint` | `true` | Инструмент достигает систем вне вашего процесса. |

334 337 

335Аннотации — это метаданные, а не принуждение. Инструмент, отмеченный как `readOnlyHint: true`, всё ещё может писать на диск, если это то, что делает обработчик. Держите аннотацию точной для обработчика.338Аннотации — это метаданные, а не принуждение. Инструмент, отмеченный как `readOnlyHint: true`, всё ещё может писать на диск, если это то, что делает обработчик. Держите аннотацию точной для обработчика.

336 339 


373 376 

374### Настройка разрешённых инструментов377### Настройка разрешённых инструментов

375 378 

376Опция `tools` и списки разрешённых/запрещённых инструментов влияют на два уровня: доступность, которая контролирует, появляется ли инструмент в контексте Claude, и разрешение, которое контролирует, одобрен ли вызов после того, как Claude попытается его выполнить. `tools` и записи `disallowedTools` с простым именем изменяют доступность. `allowedTools` и правила `disallowedTools` с областью действия изменяют разрешение. Если вы назовёте один из [инструментов отслеживания задач](https://code.claude.com/docs/ru/agent-sdk/todo-tracking.md#model-availability) в `allowedTools`, Claude Code также включит эти инструменты для сессии.379С помощью опций `tools`, `allowedTools` и `disallowedTools` вы управляете двумя уровнями:

380 

381* **Доступность**: появляется ли инструмент в контексте Claude. Чтобы изменить её, используйте опцию `tools` или укажите простое имя встроенного инструмента, например `"Bash"`, в `disallowedTools`.

382* **Разрешение**: одобряет ли Claude Code вызов, когда Claude его выполняет. Чтобы изменить его, используйте `allowedTools` или правило `disallowedTools` с областью действия, например `"Bash(rm *)"`.

377 383 

378| Опция | Уровень | Эффект |384| Опция | Уровень | Эффект |

379| :- | :- | :- |385| :- | :- | :- |

380| `tools: ["Read", "Grep"]` | Доступность | Только перечисленные встроенные инструменты находятся в контексте Claude. Неперечисленные встроенные инструменты удаляются. Инструменты MCP не затрагиваются. |386| `tools: ["Read", "Grep"]` | Доступность | Только перечисленные встроенные инструменты находятся в контексте Claude. Неперечисленные встроенные инструменты удаляются. Инструменты MCP не затрагиваются. |

381| `tools: []` | Доступность | Все встроенные инструменты удаляются. Claude может использовать только ваши инструменты MCP. |387| `tools: []` | Доступность | Все встроенные инструменты удаляются. Claude может использовать только ваши инструменты MCP. |

382| разрешённые инструменты | Разрешение | Перечисленные инструменты работают без запроса разрешения. Другие неперечисленные инструменты остаются доступными; вызовы проходят через [поток разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md). |388| разрешённые инструменты | Разрешение | Перечисленные инструменты одобрены заранее, за исключением [вызовов, которые не одобряет ни одно правило разрешения](https://code.claude.com/docs/ru/agent-sdk/permissions.md#calls-an-allow-rule-never-approves). Вызовы инструментов, не включённых в список, проходят через [поток разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md). |

383| запрещённые инструменты | Оба | Простое имя инструмента, такое как `"Bash"`, удаляет инструмент из контекста Claude, как если бы вы его опустили из `tools`. Правило с областью действия, такое как `"Bash(rm *)"`, оставляет инструмент в контексте и отклоняет только вызовы, которые совпадают [как написано](https://code.claude.com/docs/ru/permissions.md#bash-rule-limits). |389| запрещённые инструменты | Оба | Простое имя встроенного инструмента, такое как `"Bash"`, удаляет инструмент из контекста Claude. Правило с областью действия, такое как `"Bash(rm *)"`, оставляет инструмент в контексте и отклоняет вызовы, которые совпадают с ним [как написано](https://code.claude.com/docs/ru/permissions.md#bash-rule-limits). |

384 390 

385Чтобы полностью удалить встроенный инструмент, опустите его из `tools` или перечислите его простое имя в `disallowedTools` (Python: `disallowed_tools`); оба варианта держат инструмент вне контекста, поэтому Claude никогда не попытается его использовать. Правило `disallowedTools` с областью действия блокирует совпадающие вызовы, но оставляет инструмент видимым, поэтому Claude может потратить ход, пытаясь его использовать. Полный порядок оценки см. в разделе [Настройка разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md).391Чтобы удалить встроенный инструмент из контекста Claude, опустите его из `tools` или перечислите его простое имя в `disallowedTools` (TypeScript) или `disallowed_tools` (Python). Полный порядок оценки см. в разделе [Настройка разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated).

386 392 

387### Требование подтверждения для определённых инструментов393### Требование подтверждения для определённых инструментов

388 394 


637 643 

638## Возврат структурированных данных644## Возврат структурированных данных

639 645 

640`structuredContent` — это необязательный объект JSON в результате, отдельный от массива `content`. Используйте его для возврата необработанных значений, которые Claude может читать как точные поля вместо их анализа из текстовой строки или изображения.646`structuredContent` — это необязательный объект JSON в результате, отдельный от массива `content`. Используйте его для возврата необработанных значений, которые Claude может читать как точные поля вместо их анализа из текстовой строки или изображения. Для обработчиков на Python см. раздел [Структурированное содержимое в Python](#structured-content-in-python).

641 647 

642Когда `structuredContent` установлен, Claude получает JSON плюс любые блоки изображений или ресурсов из `content`. Текстовые блоки в `content` не передаются, так как предполагается, что они дублируют структурированные данные. Пример ниже отображает диаграмму как блок изображения и возвращает точки данных за ней в `structuredContent` из того же обработчика. В фрагменте `chartPngBuffer` — это `Buffer`, содержащий отрендеренные байты PNG.648Когда обработчик TypeScript `tool()` устанавливает `structuredContent`, Claude получает JSON плюс блоки изображений и ресурсов из `content`, а текстовые блоки в `content` до Claude не доходят. Пример ниже отображает диаграмму как блок изображения и возвращает точки данных за ней в `structuredContent` из того же обработчика. В фрагменте `chartPngBuffer` — это `Buffer`, содержащий отрендеренные байты PNG.

643 649 

644```typescript TypeScript theme={null}650```typescript TypeScript theme={null}

645return {651return {

Details

205 205 

206### Автоматическое одобрение с allowedTools206### Автоматическое одобрение с allowedTools

207 207 

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

209 209 

210```typescript TypeScript hidelines={1,-1} theme={null}210```typescript TypeScript hidelines={1,-1} theme={null}

211const _ = {211const _ = {

Details

18 18 

19**1. Хуки**19**1. Хуки**

20 20 

21Запускаются [хуки](https://code.claude.com/docs/ru/agent-sdk/hooks.md). Хук может сразу запретить вызов или передать его дальше. Хук, возвращающий `allow`, не отменяет проверку приведённых ниже правил deny и ask, которые оцениваются независимо от результата хука.21Запуск [хуков](https://code.claude.com/docs/ru/agent-sdk/hooks.md). Хук может сразу отклонить вызов или передать его дальше. Хук, возвращающий `allow`, не пропускает этапы правил запрета и правил запроса подтверждения: они проверяются независимо от результата хука.

22 22 

23Хук `PreToolUse`, который возвращает `allow`, также не может одобрить команду `rm` или `rmdir`, цель которой Claude Code распознает как [критический путь](https://code.claude.com/docs/ru/permission-modes.md#critical-paths), например `rm -rf ~`. О том, что делает такой `allow` в режиме планирования, см. [Подтверждения хуков в режиме планирования](https://code.claude.com/docs/ru/permissions.md#hook-approvals-in-plan-mode).23Хук `PreToolUse`, который возвращает `allow`, также не может одобрить команду `rm` или `rmdir`, цель которой Claude Code распознает как [критический путь](https://code.claude.com/docs/ru/permission-modes.md#critical-paths), например `rm -rf ~`. О том, что делает такой `allow` в режиме планирования, см. [Подтверждения хуков в режиме планирования](https://code.claude.com/docs/ru/permissions.md#hook-approvals-in-plan-mode).

24 24 


54 54 

55Распознанные [удаления по критическим путям](https://code.claude.com/docs/ru/permission-modes.md#critical-paths) не одобряются правилом allow, а команды с пометкой `Dangerous rm operation not ruled out` не одобряются правилом `Bash` или `Bash(*)`. Достигают ли они затем вашего callback, зависит от режима разрешений: например, в сессии Agent SDK в режиме `auto` Claude Code по умолчанию отклоняет их, не вызывая его. [Таблица режимов для критических путей](https://code.claude.com/docs/ru/permission-modes.md#critical-path-removals-in-each-permission-mode) перечисляет, что каждый режим с ними делает.55Распознанные [удаления по критическим путям](https://code.claude.com/docs/ru/permission-modes.md#critical-paths) не одобряются правилом allow, а команды с пометкой `Dangerous rm operation not ruled out` не одобряются правилом `Bash` или `Bash(*)`. Достигают ли они затем вашего callback, зависит от режима разрешений: например, в сессии Agent SDK в режиме `auto` Claude Code по умолчанию отклоняет их, не вызывая его. [Таблица режимов для критических путей](https://code.claude.com/docs/ru/permission-modes.md#critical-path-removals-in-each-permission-mode) перечисляет, что каждый режим с ними делает.

56 56 

57Правило allow не одобряет чтение из [сетевого пути](https://code.claude.com/docs/ru/permissions.md#network-paths).57Правило разрешения не одобряет чтение из [сетевого пути](https://code.claude.com/docs/ru/permissions.md#network-paths).

58 58 

59**6. canUseTool callback**59**6. Обратный вызов canUseTool**

60 60 

61Если ни один из вышеперечисленных шагов не определил исход вызова, вызовите ваш callback [`canUseTool`](https://code.claude.com/docs/ru/agent-sdk/user-input) для принятия решения. В режиме `dontAsk` этот шаг пропускается и инструмент отклоняется, хотя установленный вами [мод](https://code.claude.com/docs/ru/plugins/mods/overview.md) все еще может одобрить [некоторые такие вызовы](https://code.claude.com/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods).61Если ни один из предыдущих шагов не разрешает запрос, для принятия решения вызывается ваш [обратный вызов `canUseTool`](https://code.claude.com/docs/ru/agent-sdk/user-input). В режиме `dontAsk` этот шаг пропускается и в использовании инструмента отказывается, однако установленный вами [мод](https://code.claude.com/docs/ru/plugins/mods/overview.md) всё же может одобрить [некоторые такие вызовы](https://code.claude.com/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods).

62 62 

63В TypeScript SDK, если вы установите [`permissionPrompts: 'none'`](https://code.claude.com/docs/ru/agent-sdk/typescript#options), ваш callback не вызывается на этом шаге. Hook [`PermissionRequest`](https://code.claude.com/docs/ru/hooks#permissionrequest) все еще получает возможность принять решение, и если он этого не делает, Claude Code отклоняет вызов. Опция требует Claude Code v2.1.259 или позже.63В TypeScript SDK, если вы установите [`permissionPrompts: 'none'`](https://code.claude.com/docs/ru/agent-sdk/typescript#options), ваш callback не вызывается на этом шаге. Hook [`PermissionRequest`](https://code.claude.com/docs/ru/hooks#permissionrequest) все еще получает возможность принять решение, и если он этого не делает, Claude Code отклоняет вызов. Опция требует Claude Code v2.1.259 или позже.

64 64 


80 80 

81## Правила разрешения и запрета81## Правила разрешения и запрета

82 82 

83`allowed_tools` и `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) добавляют записи в списки правил разрешения и запрета в потоке оценки выше. Если вы назовете один из [инструментов отслеживания задач](https://code.claude.com/docs/ru/agent-sdk/todo-tracking.md#model-availability) в `allowed_tools`, Claude Code также включит эти инструменты для сессии. Любой другой инструмент, не указанный в `allowed_tools`, по-прежнему доступен Claude, и вызов к нему, требующий одобрения, переходит в режим разрешений. Правила запрета ведут себя по-разному в зависимости от того, называют ли они инструмент или определяют шаблон в пределах одного.83Когда вы задаете `allowedTools` и `disallowedTools` (TypeScript) или `allowed_tools` и `disallowed_tools` (Python), Claude Code добавляет их записи в списки правил разрешения и запрета в [потоке оценки разрешений](#how-permissions-are-evaluated). Любой другой инструмент, не указанный в `allowed_tools`, по-прежнему доступен Claude, и вызов к нему, требующий одобрения, переходит в режим разрешений.

84 84 

85| Опция | Эффект |85| Опция | Эффект |

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

87| `allowed_tools=["Read", "Grep"]` | `Read` и `Grep` автоматически одобрены, за исключением [чтения из сетевых путей](https://code.claude.com/docs/ru/permissions.md#network-paths). Другие инструменты, не указанные здесь, по-прежнему существуют, и вызовы к ним, требующие одобрения, переходят в режим разрешений и `canUseTool`. |87| `allowed_tools=["Read", "Grep"]` | `Read` и `Grep` автоматически одобрены, за исключением [чтения из сетевых путей](https://code.claude.com/docs/ru/permissions.md#network-paths). Другие инструменты, не указанные здесь, по-прежнему существуют, и вызовы к ним, требующие одобрения, переходят в режим разрешений и `canUseTool`. |

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

89| `disallowed_tools=["Bash(rm *)"]` | `Bash` остается доступным. Вызовы, соответствующие `rm *` [как написано](https://code.claude.com/docs/ru/permissions.md#bash-rule-limits), отклоняются в каждом режиме разрешений, включая `bypassPermissions`. Другие вызовы `Bash`, включая `/bin/rm`, переходят в режим разрешений. |89| `disallowed_tools=["Bash(rm *)"]` | `Bash` остается доступным. Вызовы, соответствующие `rm *` [как написано](https://code.claude.com/docs/ru/permissions.md#bash-rule-limits), отклоняются в каждом режиме разрешений, включая `bypassPermissions`. Другие вызовы `Bash`, включая `/bin/rm`, переходят в режим разрешений. |

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

91 91 

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

93 93 

Details

2787 2787 

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

2789 2789 

2790Когда Monitor запускает команду, он следует тем же правилам разрешений, что и Bash; наблюдение за WebSocket запрашивает подтверждение отдельно. Источник `ws` требует Claude Code v2.1.195 или позже. См. [Справочник инструмента Monitor](https://code.claude.com/docs/ru/tools-reference.md#monitor-tool) для поведения и доступности поставщика.2790Источник `ws` требует Claude Code v2.1.195 или позже. Когда Monitor запускает команду, он следует тем же правилам разрешений, что и Bash. См. [Справочник инструмента Monitor](https://code.claude.com/docs/ru/tools-reference.md#monitor-tool) для информации о разрешениях WebSocket, поведении и доступности поставщика.

2791 2791 

2792**Ввод:**2792**Ввод:**

2793 2793 

Details

3387 3387 

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

3389 3389 

3390`timeout_ms` — это крайний срок наблюдения в миллисекундах. По умолчанию он равен 300000 и принимает значения до 3600000. Эффективный крайний срок составляет максимум 1800000, то есть 30 минут, поэтому большее принятое значение сокращается до него. В крайний срок наблюдение заканчивается, и Claude получает одно уведомление, чтобы он мог начать новое наблюдение, если оно ему всё ещё нужно.3390`timeout_ms` — это крайний срок наблюдения в миллисекундах:

3391 3391 

3392Экспортированный тип отмечает `timeout_ms` как обязательный, потому что схема заполняет значение по умолчанию; вызов, который его опускает, проходит валидацию.3392* **Значение по умолчанию и ограничения**: по умолчанию он равен 300000 и принимает значения до 3600000. Эффективный крайний срок составляет максимум 1800000, то есть 30 минут, поэтому большее принятое значение сокращается до него

3393* **По достижении крайнего срока**: наблюдение заканчивается, и Claude получает одно уведомление, чтобы он мог начать новое наблюдение, если оно ему всё ещё нужно

3394* **Обязательность в типе**: экспортированный тип отмечает `timeout_ms` как обязательный, потому что схема заполняет значение по умолчанию; вызов, который его опускает, проходит валидацию

3393 3395 

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

3395 3397 

3396### TaskOutput3398### TaskOutput

3397 3399 

Details

433 433 

434### Измените модель и effort434### Измените модель и effort

435 435 

436[Effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) — основной способ управлять тем, как долго думает Claude, и он заменяет большую часть того, что раньше делали формулировками промпта. Claude Opus 5.5, Sonnet 5.5 и Haiku 5.5 по умолчанию используют `medium`, чего вполне достаточно для повседневной работы над функциями с понятным объёмом. Случаи, когда стоит его менять с помощью `/effort` в сессии:436[Effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) — основной способ управлять тем, как долго думает Claude, и он заменяет большую часть того, что раньше делали формулировками промпта. Claude Fable 5.2, Opus 5.5, Sonnet 5.5 и Haiku 5.5 по умолчанию используют `medium`, чего вполне достаточно для повседневной работы над функциями с понятным объёмом. Случаи, когда стоит его менять с помощью `/effort` в сессии:

437 437 

438* Повысьте его через `/effort high` или `/effort xhigh`, когда правильный результат зависит от случаев, которые легко упустить. Например, баг в коде, который писали не вы, нестабильный тест или изменение схемы, при котором Claude должен найти всех, кто читает старую структуру. Тогда Claude проверяет больше граничных случаев и тщательнее перепроверяет свою работу перед ответом — на это и уходят дополнительное время и токены.438* Повысьте его через `/effort high` или `/effort xhigh`, когда правильный результат зависит от случаев, которые легко упустить. Например, баг в коде, который писали не вы, нестабильный тест или изменение схемы, при котором Claude должен найти всех, кто читает старую структуру. Тогда Claude проверяет больше граничных случаев и тщательнее перепроверяет свою работу перед ответом — на это и уходят дополнительное время и токены.

439* Понизьте его через `/effort low`, когда вы быстро обмениваетесь репликами и всё равно просматриваете каждый результат: мозговой штурм, первый набросок, переименование в нескольких файлах. Claude быстрее даст вам отправную точку, а поскольку вы направляете каждый шаг, дополнительные размышления почти ничего бы не изменили, кроме времени ожидания.439* Понизьте его через `/effort low`, когда вы быстро обмениваетесь репликами и всё равно просматриваете каждый результат: мозговой штурм, первый набросок, переименование в нескольких файлах. Claude быстрее даст вам отправную точку, а поскольку вы направляете каждый шаг, дополнительные размышления почти ничего бы не изменили, кроме времени ожидания.

440* Оставьте `max` для сложной задачи, которую Claude должен проработать без вас, например поиска уязвимости. На обычных задачах он склонен размышлять избыточно, так что вы платите больше за ответ, который может оказаться не лучше, чем дал бы `high`.440* Оставьте `max` для сложной задачи, которую Claude должен проработать без вас, например поиска уязвимости. На обычных задачах он склонен размышлять избыточно, так что вы платите больше за ответ, который может оказаться не лучше, чем дал бы `high`.

441* Когда это нужно только для следующего сообщения, например для одного хитрого вопроса посреди в остальном рутинной работы, добавьте в этот промпт [`ultrathink`](https://code.claude.com/docs/ru/model-config#use-ultrathink-for-one-off-deep-reasoning), вместо того чтобы менять настройку.441* Когда это нужно только для следующего сообщения, например для одного хитрого вопроса посреди в остальном рутинной работы, добавьте в этот промпт [`ultrathink`](https://code.claude.com/docs/ru/model-config#use-ultrathink-for-one-off-deep-reasoning), вместо того чтобы менять настройку.

442 442 

443Что касается самой модели, Opus 5.5 по умолчанию хорошо справляется с большинством задач программирования, а Sonnet стоит дешевле на рутинной работе. [Claude Fable 5.1](https://code.claude.com/docs/ru/model-config.md#work-with-fable) доступна, когда вы явно выбираете её через `/model fable`, а Haiku хорошо подходит для субагентов, выполняющих простые задания. Полный список по тарифам и провайдерам — в разделе [Конфигурация модели](https://code.claude.com/docs/ru/model-config.md).443Что касается самой модели, Opus 5.5 по умолчанию хорошо справляется с большинством задач программирования, а Sonnet стоит дешевле на рутинной работе. Чтобы использовать [Claude Fable 5.2](https://code.claude.com/docs/ru/model-config.md#work-with-fable), выполните `/model fable`. Haiku хорошо подходит для субагентов, выполняющих простые задания. Полный список по тарифам и провайдерам — в разделе [Конфигурация модели](https://code.claude.com/docs/ru/model-config.md).

444 444 

445### Знайте, во что обходятся субагенты445### Знайте, во что обходятся субагенты

446 446 

Details

57 57 

58## Быстрый старт58## Быстрый старт

59 59 

60Этот быстрый старт проходит минимальный путь: зарегистрируйте клиент OAuth в вашем IdP, напишите `gateway.yaml`, запустите шлюз вместе с Postgres с помощью Docker Compose и проверьте вход от конца к концу. Он использует вышестоящий уровень Amazon Bedrock; Claude Platform on AWS, Agent Platform Google Cloud, Microsoft Foundry и API Anthropic одинаково поддерживаются путём замены блока `upstreams`, как показано в [справочнике конфигурации](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#upstreams). В конце у вас есть шлюз, к которому разработчик может выполнить `/login`.60В этом руководстве по быстрому старту описан минимальный путь: зарегистрировать OAuth-клиент в вашем IdP, написать `gateway.yaml`, запустить шлюз вместе с Postgres с помощью Docker Compose и проверить вход от начала до конца. В нём используется вышестоящий провайдер Amazon Bedrock; Claude Platform on AWS, Agent Platform от Google Cloud, Microsoft Foundry и Anthropic API поддерживаются в равной степени — достаточно заменить блок `upstreams`, как показано в [справочнике по конфигурации](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#upstreams). В итоге у вас будет шлюз, в который разработчик может войти с помощью `/login`.

61 61 

62> [!NOTE]62> [!NOTE]

63>63>

64> **Развёртывайте в вашей частной сети.** Claude Code подключается только к шлюзу, адрес которого является частным. Это охранник безопасности, потому что доверенный шлюз может отправлять параметры, которые запускают команды на машинах разработчиков. Поместите шлюз за внутренним балансировщиком нагрузки или VPN и дайте ему имя хоста, которое разрешается только в частные IP-адреса. Если ваша внутренняя сеть пронумерована из общедоступного пространства IPv4, которым владеет ваша организация, см. [Разрешить шлюз на общедоступном адресном пространстве, которым вы владеете](#allow-a-gateway-on-public-address-space-you-own).64> **Развёртывайте шлюз в частной сети.** Claude Code подключается только к шлюзу с частным адресом. Это мера безопасности, поскольку доверенный шлюз может передавать настройки, которые выполняют команды на машинах разработчиков. Разместите шлюз за внутренним балансировщиком нагрузки или VPN и назначьте ему имя хоста, которое разрешается только в частные IP-адреса. Если ваша внутренняя сеть использует публичное адресное пространство IPv4, принадлежащее вашей организации, см. раздел [Разрешение шлюза в принадлежащем вам публичном адресном пространстве](#allow-a-gateway-on-public-address-space-you-own).

65 65 

66### Предварительные требования66### Предварительные требования

67 67 

68Имейте это на месте перед началом:68Перед началом убедитесь, что у вас есть следующее:

69 69 

70| Вам нужно | Детали |70| Что нужно | Подробности |

71| - | - |71| - | - |

72| Claude Code v2.1.195 или позже | Подкоманда `claude gateway` и поток входа шлюза поставляются в v2.1.195. Более ранние общедоступные сборки их не включают. Как машина, запускающая сервер шлюза, так и машина каждого разработчика должны быть на v2.1.195 или позже; запустите `claude update`, чтобы получить последний выпуск. [Claude Platform on AWS upstream](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#claude-platform-on-aws) требует Claude Code v2.1.198 или позже на сервере шлюза. |72| Claude Code v2.1.195 или новее | Подкоманда `claude gateway` и процесс входа через шлюз появились в v2.1.195. Более ранние публичные сборки их не содержат. И машина, на которой работает сервер шлюза, и машина каждого разработчика должны использовать v2.1.195 или новее; выполните `claude update`, чтобы получить последний выпуск. Для [вышестоящего провайдера Claude Platform on AWS](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#claude-platform-on-aws) на сервере шлюза требуется Claude Code v2.1.198 или новее. |

73| Поставщик удостоверений OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak или Dex, или любой другой совместимый с OIDC IdP, такой как PingFederate. Шлюз запускает стандартное обнаружение OIDC и поток кода авторизации против него. SAML и LDAP не поддерживаются. |73| Поставщик удостоверений OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak или Dex, либо любой другой OIDC-совместимый IdP, например PingFederate. Шлюз выполняет с ним стандартное обнаружение OIDC и процесс authorization code. SAML и LDAP не поддерживаются. |

74| PostgreSQL 11 или позже | Обеспечивает работу потока входа устройства и счётчиков ограничения частоты запросов. Подойдёт управляемый сервис PostgreSQL, включая самый маленький уровень; см. [какие базы данных поддерживаются](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#postgres). С [ограничениями расходов](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md) он также содержит долговечные таблицы расходов, аудита и идентификации, для которых следует создавать резервные копии. TLS через `?sslmode=require` рекомендуется. PostgreSQL 11, 12 и 13 требуют Claude Code v2.1.290 или позже на сервере шлюза. Проект PostgreSQL больше не поддерживает эти версии, поэтому по возможности используйте более новую. |74| PostgreSQL 11 или новее | Обеспечивает процесс входа с устройства и счётчики ограничений частоты запросов. Подойдёт управляемый сервис PostgreSQL, включая самый маленький тариф; см. [какие базы данных поддерживаются](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#postgres). При использовании [лимитов расходов](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md) в нём также хранятся постоянные таблицы расходов, аудита и удостоверений, для которых следует делать резервные копии. Рекомендуется TLS через `?sslmode=require`. Для PostgreSQL 11, 12 и 13 на сервере шлюза требуется Claude Code v2.1.290 или новее. Проект PostgreSQL больше не поддерживает эти версии, поэтому по возможности используйте более новую. |

75| Вышестоящий уровень модели | Учётные данные Amazon Bedrock, учётные данные Claude Platform on AWS, учётные данные Google Cloud, ресурс Microsoft Foundry или ключ API Anthropic. Поддерживаются несколько вышестоящих уровней с отказоустойчивостью. |75| Вышестоящий провайдер моделей | Учётные данные Amazon Bedrock, учётные данные Claude Platform on AWS, учётные данные Google Cloud, ресурс Microsoft Foundry или API-ключ Anthropic. Поддерживается несколько вышестоящих провайдеров с переключением при отказе. |

76| HTTPS | Шлюз должен быть доступен по `https://` с ноутбуков разработчиков и из любого браузера, используемого для входа; шлюз служит страницей проверки устройства на том же слушателе. Либо предоставьте сертификат TLS через `listen.tls`, либо запустите позади завершающего TLS входа, и установите `listen.public_url` на внешнее происхождение в обоих случаях. При `/login` Claude Code принимает простое происхождение `http://` только когда хост шлюза является loopback: `localhost`, `127.0.0.1` или `::1`. |76| HTTPS | Шлюз должен быть доступен по `https://` с ноутбуков разработчиков и из любого браузера, используемого для входа; шлюз отдаёт страницу проверки устройства на том же слушателе. Либо предоставьте TLS-сертификат через `listen.tls`, либо запустите шлюз за ingress с терминированием TLS, и в обоих случаях задайте в `listen.public_url` внешний origin. При `/login` Claude Code принимает обычный origin `http://` только в том случае, если хост шлюза — loopback: `localhost`, `127.0.0.1` или `::1`. |

77| Адрес частной сети | При `/login` Claude Code требует, чтобы имя хоста или IP-адрес шлюза разрешались только в частные адреса: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` или loopback. Для шлюза, который вы размещаете, любой общедоступный адрес вне блока, который вы объявляете, отклоняется; см. [модель угроз](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#threat-model-summary) в руководстве развёртывания. Если машины разработчиков маршрутизируют HTTPS через корпоративный прокси, вход также требует, чтобы хост прокси разрешался в частные адреса; если это не так, добавьте хост шлюза в `NO_PROXY`, чтобы CLI подключался напрямую. Если ваша внутренняя сеть пронумерована из общедоступного пространства IPv4, которым владеет ваша организация, [объявите эти блоки](#allow-a-gateway-on-public-address-space-you-own), чтобы `/login` принял шлюз там. |77| Адрес в частной сети | При `/login` Claude Code требует, чтобы имя хоста или IP-адрес шлюза разрешались только в частные адреса: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` или loopback. Для размещаемого вами шлюза любой публичный адрес вне объявленного вами блока отклоняется; см. [модель угроз](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#threat-model-summary) в руководстве по развёртыванию. Если машины разработчиков направляют HTTPS через корпоративный прокси, для входа также требуется, чтобы хост прокси разрешался в частные адреса; если это не так, добавьте хост шлюза в `NO_PROXY`, чтобы CLI подключался напрямую. Если ваша внутренняя сеть использует публичное адресное пространство IPv4, принадлежащее вашей организации, [объявите эти блоки](#allow-a-gateway-on-public-address-space-you-own), чтобы `/login` принимал шлюз в них. |

78| Среда выполнения Linux | Сервер шлюза работает только на собственном двоичном файле Linux. macOS работает для локальной разработки. Windows не поддерживается как платформа сервера. |78| Среда выполнения Linux | Сервер шлюза работает только как нативный бинарный файл Linux. macOS подходит для локальной разработки. Windows не поддерживается в качестве серверной платформы. |

79 79 

80### Шаги80### Шаги

81 81 

82**1. Зарегистрируйте клиент OAuth в вашем IdP**82**1. Зарегистрируйте OAuth-клиент в вашем IdP**

83 83 

84Сначала решите имя хоста шлюза, потому что URI перенаправления должен ему соответствовать. Создайте новое веб-приложение OIDC и установите URI перенаправления на `https://claude-gateway.<your-domain>/oauth/callback`, где хост — это то же значение, которое вы установили как [`listen.public_url`](https://code.claude.com/docs/ru/claude-apps-gateway-config#listen) на шаге 3. Запишите `client_id` и `client_secret`. Инструкции для каждого IdP находятся в [Настройка поставщика удостоверений](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#identity-provider-setup).84Сначала определитесь с именем хоста шлюза, поскольку URI перенаправления должен ему соответствовать. Создайте новое веб-приложение OIDC и задайте URI перенаправления `https://claude-gateway.<your-domain>/oauth/callback`, где хост совпадает со значением, которое вы зададите в [`listen.public_url`](https://code.claude.com/docs/ru/claude-apps-gateway-config#listen) на шаге 3. Запишите `client_id` и `client_secret`. Инструкции для отдельных IdP приведены в разделе [Настройка поставщика удостоверений](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#identity-provider-setup).

85 85 

86**2. Подготовьте базу данных PostgreSQL**86**2. Подготовьте базу данных PostgreSQL**

87 87 

88Используйте PostgreSQL 11 или позже. Самого маленького управляемого уровня достаточно. Шлюз запускает свои собственные миграции схемы при загрузке, поэтому роли базы данных нужны права для создания и изменения таблиц; см. [`store`](https://code.claude.com/docs/ru/claude-apps-gateway-config#store).88Используйте PostgreSQL 11 или новее. Самого маленького управляемого тарифа достаточно. Шлюз сам выполняет миграции схемы при запуске, поэтому роли базы данных нужны права на создание и изменение таблиц; см. [`store`](https://code.claude.com/docs/ru/claude-apps-gateway-config#store).

89 89 

90**3. Напишите gateway.yaml**90**3. Напишите gateway.yaml**

91 91 

92Секреты читаются через расширение `${ENV_VAR}`, поэтому сам файл может находиться в системе управления версиями. Используйте имя хоста `public_url`, которое разрешается в частный IP в вашей сети, потому что `/login` отклоняет общедоступные адреса. Минимальная конфигурация имеет пять разделов, и каждое другое поле имеет значение по умолчанию:92Секреты считываются через подстановку `${ENV_VAR}`, поэтому сам файл можно хранить в системе контроля версий. Используйте в `public_url` имя хоста, которое разрешается в частный IP-адрес в вашей сети, поскольку `/login` отклоняет публичные адреса. Минимальная конфигурация состоит из пяти разделов, а у всех остальных полей есть значения по умолчанию:

93 93 

94```yaml gateway.yaml theme={null}94```yaml gateway.yaml theme={null}

95listen:95listen:

96 host: 0.0.0.096 host: 0.0.0.0

97 port: 808097 port: 8080

98 # Требуется, если хост не является адресом loopback. Используется для IdP98 # Required unless host is a loopback address. Used for the IdP

99 # redirect_uri и документа обнаружения.99 # redirect_uri and the discovery document.

100 public_url: https://claude-gateway.internal.example.com100 public_url: https://claude-gateway.internal.example.com

101 101 

102oidc:102oidc:

103 issuer: https://login.example.com # должен служить /.well-known/openid-configuration103 issuer: https://login.example.com # must serve /.well-known/openid-configuration

104 client_id: 0oa1example2104 client_id: 0oa1example2

105 client_secret: ${OIDC_CLIENT_SECRET}105 client_secret: ${OIDC_CLIENT_SECRET}

106 allowed_email_domains: [example.com] # отклонять id_tokens вне вашей организации106 allowed_email_domains: [example.com] # reject id_tokens outside your org

107 userinfo_fallback: true # для IdPs, чьи id_token опускают email/groups; безвредно в противном случае107 userinfo_fallback: true # for IdPs whose id_token omits email/groups; harmless otherwise

108 108 

109session:109session:

110 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32110 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32

111 ttl_hours: 1 # также ограничивает задержку отзыва при отключении IdP111 ttl_hours: 1 # also bounds revocation latency on IdP deprovision

112 112 

113store:113store:

114 postgres_url: ${GATEWAY_POSTGRES_URL} # добавьте ?sslmode=require для управляемого Postgres114 postgres_url: ${GATEWAY_POSTGRES_URL} # add ?sslmode=require for managed Postgres

115 115 

116upstreams:116upstreams:

117 - provider: bedrock117 - provider: bedrock

118 region: us-east-1118 region: us-east-1

119 auth: {} # пусто: цепь учётных данных AWS по умолчанию119 auth: {} # empty: AWS default credential chain

120# (IRSA, роль задачи EC2/ECS, переменные окружения, ~/.aws)120# (IRSA, EC2/ECS task role, env vars, ~/.aws)

121 121 

122# Модели переводятся для каждого вышестоящего уровня автоматически. Встроенный каталог122# Models are translated per upstream automatically. The built-in catalog

123# сопоставляет claude-opus-4-8 с us.anthropic.claude-opus-4-8 и так далее для каждого123# maps claude-opus-4-8 to us.anthropic.claude-opus-4-8 and so on for every

124# поддерживаемого Bedrock модели Claude. Установите false и добавьте список `models:` для124# Bedrock-supported Claude model. Set false and add a `models:` list to

125# раскрытия только определённых моделей.125# expose only specific models.

126auto_include_builtin_models: true126auto_include_builtin_models: true

127```127```

128 128 

129Эта конфигурация достаточна для работающего цикла входа с каталогом моделей Bedrock по умолчанию. После того как она запущена, добавьте RBAC для каждой группы и управляемые параметры через [`managed.policies`](https://code.claude.com/docs/ru/claude-apps-gateway-config#managed), телеметрию fan-out через [`telemetry`](https://code.claude.com/docs/ru/claude-apps-gateway-config#telemetry), и многоуровневую отказоустойчивость, ARN подготовленной пропускной способности или не-US регионы через [`models`](https://code.claude.com/docs/ru/claude-apps-gateway-config#models).129Этой конфигурации достаточно для работающего цикла входа с каталогом моделей Amazon Bedrock по умолчанию. Когда всё заработает, добавьте RBAC для отдельных групп и управляемые настройки через [`managed.policies`](https://code.claude.com/docs/ru/claude-apps-gateway-config#managed), рассылку телеметрии через [`telemetry`](https://code.claude.com/docs/ru/claude-apps-gateway-config#telemetry), а также переключение между несколькими вышестоящими провайдерами при отказе, ARN выделенной пропускной способности или регионы за пределами США через [`models`](https://code.claude.com/docs/ru/claude-apps-gateway-config#models).

130 130 

131> [!NOTE]131> [!NOTE]

132>132>

133> Вышестоящий уровень Amazon Bedrock нуждается в принципе AWS с `bedrock:InvokeModel` и `bedrock:InvokeModelWithResponseStream` как на ARN `inference-profile/us.anthropic.*`, так и на базовых ARN `foundation-model/anthropic.*`. Он также нуждается в форме одноразового использования Anthropic, отправленной для учётной записи из каталога моделей консоли Bedrock.133> Вышестоящему провайдеру Amazon Bedrock нужен субъект AWS с разрешениями `bedrock:InvokeModel` и `bedrock:InvokeModelWithResponseStream` как на ARN `inference-profile/us.anthropic.*`, так и на базовые ARN `foundation-model/anthropic.*`. Кроме того, для аккаунта должна быть отправлена одноразовая форма Anthropic с описанием сценария использования из раздела Model catalog консоли Bedrock.

134>134>

135> Предоставьте учётные данные с IRSA на EKS, ролью задачи ECS или профилем экземпляра EC2, а не статическими ключами. [Справочник `upstreams`](https://code.claude.com/docs/ru/claude-apps-gateway-config#upstreams) содержит полные детали IAM, матрицу учётных данных между облаками и блоки `auth` для других поставщиков.135> Предоставляйте учётные данные через IRSA в EKS, роль задачи ECS или профиль экземпляра EC2, а не через статические ключи. В [справочнике по `upstreams`](https://code.claude.com/docs/ru/claude-apps-gateway-config#upstreams) приведены полные сведения об IAM, матрица учётных данных для разных облаков и блоки `auth` для других провайдеров.

136 136 

137**4. Запустите его**137**4. Запустите шлюз**

138 138 

139Создайте образ контейнера вокруг двоичного файла `claude`, который соответствует [требованиям образа](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#container-image), затем запустите его вместе с Postgres. Файл Compose ссылается на образ как `registry.example.com/claude-gateway:2.1.198`; замените свой собственный реестр и тег образа:139Соберите образ контейнера на основе бинарного файла `claude`, отвечающий [требованиям к образу](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#container-image), и запустите его вместе с Postgres. В файле Compose образ указан как `registry.example.com/claude-gateway:2.1.198`; подставьте собственный реестр и тег образа:

140 140 

141```yaml docker-compose.yaml theme={null}141```yaml docker-compose.yaml theme={null}

142services:142services:


148 OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}148 OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}

149 GATEWAY_JWT_SECRET: ${GATEWAY_JWT_SECRET}149 GATEWAY_JWT_SECRET: ${GATEWAY_JWT_SECRET}

150 GATEWAY_POSTGRES_URL: postgres://gw:pw@postgres/gateway150 GATEWAY_POSTGRES_URL: postgres://gw:pw@postgres/gateway

151 # Учётные данные AWS: в производстве опустите их и используйте роль экземпляра151 # AWS credentials: in production, omit these and use an instance

152 # вместо этого. Для локального тестирования Compose передайте свои собственные:152 # role. For local Compose testing, pass through your own:

153 AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}153 AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}

154 AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}154 AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}

155 AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}155 AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}


166volumes: { pgdata: }166volumes: { pgdata: }

167```167```

168 168 

169Шлюз — это один двоичный файл Linux, который читает конфигурацию, подключается к Postgres и применяет его миграции схемы, запускает обнаружение OIDC против вашего IdP, создаёт клиентов вышестоящего уровня и начинает слушать.169Шлюз — это один бинарный файл Linux, который считывает конфигурацию, подключается к Postgres и применяет миграции схемы, выполняет обнаружение OIDC для вашего IdP, создаёт клиенты вышестоящих провайдеров и начинает прослушивание.

170 170 

171Загрузка закрывается для конфигурации, подключения Postgres, обнаружения OIDC и конструкции клиента вышестоящего уровня. Если какой-либо из них недоступен или неправильно настроен, шлюз выходит с ошибкой, а не служит трафику в деградированном состоянии.171Запуск работает по принципу fail-closed в отношении конфигурации, подключения к Postgres, обнаружения OIDC и создания клиентов вышестоящих провайдеров: при сбое любого из этих этапов шлюз отказывается запускаться. Если что-либо из этого недоступно или неправильно настроено, шлюз завершает работу с ошибкой, а не обслуживает трафик в деградированном состоянии.

172 172 

173Успешная загрузка не проверяет путь вывода, потому что учётные данные экземпляра Bedrock и Agent Platform разрешаются при первом запросе, а не при загрузке.173Успешный запуск не проверяет путь инференса, поскольку учётные данные экземпляра Amazon Bedrock и Agent Platform от Google Cloud разрешаются при первом запросе, а не при запуске.

174 174 

175Смотрите stderr для последовательности загрузки. Строки журнала используют формат `[gateway] <timestamp> <level> <message>`, события аудита — это однострочный JSON с полем `evt`, и баннер запуска, опущенный ниже, печатается между строками миграции и прослушивания. Свежая база данных печатает одну строку `migration N applied` на каждую миграцию схемы; уже перенесённая база данных не печатает ничего. Вы должны увидеть, по порядку:175Следите за последовательностью запуска в stderr. По умолчанию строки лога имеют формат `[gateway] <timestamp> <level> <message>`, а между строками миграций и строкой о начале прослушивания выводится баннер запуска (ниже он опущен). События аудита — однострочный JSON с полем `evt`. Для новой базы данных выводится по одной строке `migration N applied` на каждую миграцию схемы; для уже мигрированной базы такие строки не выводятся. Вы должны увидеть по порядку:

176 176 

177```text theme={null}177```text theme={null}

178{"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}178{"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}


183[gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080183[gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080

184```184```

185 185 

186Шлюз также регистрирует предупреждение, что `access_control.allow_cidrs` пусто. Это ожидается здесь, потому что ничто не ограничивает, какие адреса клиентов обслуживает шлюз, пока вы не установите список разрешений. [Справочник `access_control`](https://code.claude.com/docs/ru/claude-apps-gateway-config#http-tuning) содержит рекомендуемые диапазоны.186Шлюз также записывает в лог предупреждение о том, что `access_control.allow_cidrs` пуст. Здесь это ожидаемо, поскольку до тех пор, пока вы не зададите список разрешённых адресов, ничто не ограничивает, какие клиентские адреса обслуживает шлюз. Рекомендуемые диапазоны приведены в [справочнике по `access_control`](https://code.claude.com/docs/ru/claude-apps-gateway-config#http-tuning).

187 187 

188Если загрузка выходит перед строкой `claude gateway listening on`, последняя строка stderr называет проблему:188Если запуск завершается до строки `claude gateway listening on`, последняя строка stderr указывает на проблему:

189 189 

190* недоступный Postgres190* недоступный Postgres

191* роль Postgres без разрешения DDL191* роль Postgres без права на DDL

192* недоступный или недействительный документ обнаружения OIDC192* недоступный или недействительный документ обнаружения OIDC

193* нарушение схемы конфигурации с путём нарушающего поля193* нарушение схемы конфигурации с путём к проблемному полю

194 194 

195Исправьте это и перезагрузитесь.195Исправьте проблему и перезапустите шлюз.

196 196 

197Если у вас уже есть завершающий TLS вход, пропустите Compose и запустите двоичный файл напрямую с помощью `claude gateway --config gateway.yaml`. Установите `public_url` на происхождение входа и привяжите `listen` к адресу loopback или внутри кластера.197Если у вас уже есть ingress с терминированием TLS, пропустите Compose и запустите бинарный файл напрямую с помощью `claude gateway --config gateway.yaml`. Задайте в `public_url` origin ingress и привяжите `listen` к loopback-адресу или внутреннему адресу кластера.

198 198 

199**5. Проверьте поверхность аутентификации**199**5. Проверьте аутентификацию**

200 200 

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

202 202 

203Примеры используют общедоступный URL шлюза; для локальной установки Compose без входа замените `http://localhost:8080` в первых двух проверках. Третья проверка открывает `verification_uri_complete`, который построен из `public_url`, поэтому для локального Compose установите `public_url: http://localhost:8080` в `gateway.yaml` и добавьте `http://localhost:8080/oauth/callback` как второй URI перенаправления на клиент OAuth из шага 1, потому что шлюз строит IdP `redirect_uri` из `public_url`. Ссылка проверки затем открывается в вашем локальном браузере.203В примерах используется публичный URL шлюза; для локальной конфигурации Compose без ingress подставьте `http://localhost:8080` в первых двух проверках. Третья проверка открывает `verification_uri_complete`, который формируется из `public_url`, поэтому для локального Compose задайте `public_url: http://localhost:8080` в `gateway.yaml` и добавьте `http://localhost:8080/oauth/callback` в качестве второго URI перенаправления для OAuth-клиента из шага 1, поскольку шлюз формирует `redirect_uri` для IdP из `public_url`. После этого ссылка проверки откроется в вашем локальном браузере.

204 204 

205В Windows PowerShell запустите `curl.exe`; голый `curl` — это псевдоним для `Invoke-WebRequest` и отклоняет эти флаги.205В Windows PowerShell используйте `curl.exe`; просто `curl` — это псевдоним `Invoke-WebRequest`, который не принимает эти флаги.

206 206 

207Сначала получите документ обнаружения, который подтверждает, что шлюз работает, конфигурация действительна и все проверки загрузки прошли:207Сначала получите документ обнаружения — это подтверждает, что шлюз работает, конфигурация корректна и все проверки при запуске пройдены:

208 208 

209```bash theme={null}209```bash theme={null}

210curl -s https://claude-gateway.internal.example.com/.well-known/oauth-authorization-server | jq210curl -s https://claude-gateway.internal.example.com/.well-known/oauth-authorization-server | jq


219}219}

220```220```

221 221 

222Ответ включает дополнительные поля, такие как `response_types_supported` и `scopes_supported`.222Ответ содержит дополнительные поля, например `response_types_supported` и `scopes_supported`.

223 223 

224Во-вторых, запросите авторизацию устройства, которая подтверждает, что поток входа устройства работает и Postgres доступен и доступен для записи:224Затем запросите авторизацию устройства — это подтверждает, что процесс входа с устройства работает, а Postgres доступен для чтения и записи:

225 225 

226```bash theme={null}226```bash theme={null}

227curl -s -X POST https://claude-gateway.internal.example.com/oauth/device_authorization | jq227curl -s -X POST https://claude-gateway.internal.example.com/oauth/device_authorization | jq


238}238}

239```239```

240 240 

241В-третьих, протестируйте ветку браузера, открыв `verification_uri_complete` в браузере и подтвердив код. Вы должны быть перенаправлены на страницу входа вашего IdP и после входа приземлиться обратно на шлюз с подтверждением входа.241Наконец, проверьте браузерную часть: откройте `verification_uri_complete` в браузере и подтвердите код. Вы должны быть перенаправлены на страницу входа вашего IdP, а после входа вернуться на шлюз с подтверждением успешного входа.

242 242 

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

244 244 

245* **Первая проверка не удаётся**: загрузка не завершена; проверьте stderr245* **Первая проверка не проходит**: запуск не завершился; проверьте stderr

246* **Вторая проверка не удаётся**: Postgres недоступен из шлюза или роль не может писать; проверьте строку подключения и разрешения246* **Вторая проверка не проходит**: Postgres недоступен со шлюза или роль не может выполнять запись; проверьте строку подключения и права

247* **Третья проверка не достигает IdP**: проверьте, что URI перенаправления IdP точно соответствует `https://<gateway>/oauth/callback`247* **Третья проверка не доходит до IdP**: убедитесь, что URI перенаправления в IdP в точности совпадает с `https://<gateway>/oauth/callback`

248* **Третья проверка достигает IdP, но отскакивает с ошибкой**: прочитайте журнал аудита шлюза, который записывает каждый отказ в аутентификации с причиной, такой как `email domain not allowed`248* **Третья проверка доходит до IdP, но возвращается с ошибкой**: прочитайте журнал аудита шлюза, в котором каждое отклонение аутентификации записывается с указанием причины, например `email domain not allowed`

249 249 

250**6. Войдите разработчик**250**6. Выполните вход для разработчика**

251 251 

252Этот последний шаг происходит на машине разработчика, а не на сервере. Установите `forceLoginMethod` в значение `"gateway"`, `forceLoginGatewayUrl` — в `public_url` вашего шлюза, а `parentSettingsBehavior` — в `"merge"` в [файле управляемых настроек](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) этой машины, затем запустите `/login`, нажмите Enter на экране **Cloud gateway** и завершите вход в браузере. [Установка URL шлюза](#set-the-gateway-url) ниже описывает эти три ключа и их распространение на все машины разработчиков.252Этот последний шаг выполняется на машине разработчика, а не на сервере. В [файле управляемых настроек](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) этой машины задайте для `forceLoginMethod` значение `"gateway"`, для `forceLoginGatewayUrl` — `public_url` вашего шлюза, а для `parentSettingsBehavior` — `"merge"`, затем выполните `/login`, нажмите Enter на экране **Cloud gateway** и завершите вход в браузере. В разделе [Задание URL шлюза](#set-the-gateway-url) ниже описаны эти три ключа и их распространение на все машины разработчиков.

253 253 

254## Подключение разработчиков254## Подключение разработчиков

255 255 

Details

28 28 

29**Опциональные разделы:**29**Опциональные разделы:**

30 30 

31* [`login_notice`](#login_notice): уведомление, которое разработчики видят при входе

31* [`admin`](#admin): аутентификация Admin API и сохранение лимитов расходов32* [`admin`](#admin): аутентификация Admin API и сохранение лимитов расходов

32* [`enforcement`](#enforcement): поведение лимитов расходов при сбое — пропускать запросы (fail-open) или блокировать (fail-closed)33* [`enforcement`](#enforcement): поведение лимитов расходов при сбое — пропускать запросы (fail-open) или блокировать (fail-closed)

33* [`pricing`](#pricing): договорные ставки и множитель для счётчика расходов и для цифр стоимости, которые видят разработчики34* [`pricing`](#pricing): договорные ставки и множитель для счётчика расходов и для цифр стоимости, которые видят разработчики


847 848 

848## Необязательные разделы849## Необязательные разделы

849 850 

851### `login_notice`

852 

853Чтобы показывать разработчикам уведомление при входе, задайте в ключе верхнего уровня `login_notice` текст уведомления длиной до 500 символов. В этом примере указано, для кого предназначен шлюз и куда обращаться за доступом:

854 

855```yaml theme={null}

856login_notice: This gateway is for Example Corp staff. For access questions, email it-help@example.com.

857```

858 

859Разработчики видят этот текст под заголовком `Notice from <gateway hostname>` на странице подтверждения шлюза в браузере и на интерактивном экране входа в терминале. Переносы строк в тексте заменяются пробелами. Уведомление отображается до входа, поэтому его может прочитать любой, кто может подключиться к шлюзу.

860 

861Требуется Claude Code v2.1.319 или новее на сервере шлюза, а для экрана в терминале — также на компьютере разработчика. Более ранняя версия шлюза отказывается запускаться, обнаружив этот ключ. Обновите все реплики, прежде чем добавлять ключ, и удалите ключ перед откатом.

862 

850### `admin`863### `admin`

851 864 

852Необязательный. Включает `/v1/organizations/spend_limits`, который повторяет публичный Admin API Anthropic, и применение лимитов расходов для каждого разработчика на `/v1/messages`. О том, как задаются и применяются лимиты, см. [Лимиты расходов](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md); в этом разделе описаны ключи `gateway.yaml`, которые включают и настраивают эту функцию.865Необязательный. Включает `/v1/organizations/spend_limits`, который повторяет публичный Admin API Anthropic, и применение лимитов расходов для каждого разработчика на `/v1/messages`. О том, как задаются и применяются лимиты, см. [Лимиты расходов](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md); в этом разделе описаны ключи `gateway.yaml`, которые включают и настраивают эту функцию.


865 # IdP groups granted full admin via the normal gateway JWT (no API key).878 # IdP groups granted full admin via the normal gateway JWT (no API key).

866 admin_groups: [platform-finops]879 admin_groups: [platform-finops]

867 blocked_message: request an increase at https://go.example.com/claude-limits880 blocked_message: request an increase at https://go.example.com/claude-limits

881 # Try eng-platform's pooled budget first, then eng-all's, then any other group's.

882 pooled_conflict_rule: priority_list

883 pooled_priority_order: [eng-platform, eng-all]

868```884```

869 885 

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


877| `spend_retention_months` | Нет | По умолчанию `13`. Строки счётчиков `spend` старше этого срока удаляются. Значение по умолчанию сохраняет полный год плюс текущий неполный месяц для сравнения год к году. |893| `spend_retention_months` | Нет | По умолчанию `13`. Строки счётчиков `spend` старше этого срока удаляются. Значение по умолчанию сохраняет полный год плюс текущий неполный месяц для сравнения год к году. |

878| `identity_retention_days` | Нет | По умолчанию `90`. TTL с момента последнего появления для строк `principal_emails`, которые хранят email, отображаемое имя и группы каждого разработчика (PII). Намеренно короче срока хранения расходов, чтобы удалённая учётная запись со временем исчезала, а её анонимные счётчики расходов сохранялись. |894| `identity_retention_days` | Нет | По умолчанию `90`. TTL с момента последнего появления для строк `principal_emails`, которые хранят email, отображаемое имя и группы каждого разработчика (PII). Намеренно короче срока хранения расходов, чтобы удалённая учётная запись со временем исчезала, а её анонимные счётчики расходов сохранялись. |

879| `group_limit_mode` | Нет | `min` (по умолчанию) или `max`. Когда разработчик состоит в нескольких группах с лимитами, `min` применяет самый строгий, а `max` — самый мягкий. Используется и при применении лимитов, и в `/effective`. |895| `group_limit_mode` | Нет | `min` (по умолчанию) или `max`. Когда разработчик состоит в нескольких группах с лимитами, `min` применяет самый строгий, а `max` — самый мягкий. Используется и при применении лимитов, и в `/effective`. |

896| `pooled_conflict_rule` | Нет | `default_order` (по умолчанию) или `priority_list`. Порядок, в котором шлюз перебирает общие бюджеты разработчика. См. [Порядок общих бюджетов](#pooled-budget-order). Требуется v2.1.319 или новее. |

897| `pooled_priority_order` | При `priority_list` | До 50 имён групп, каждое указано один раз и написано так, как его отправляет ваш IdP. Группы, общие бюджеты которых шлюз перебирает первыми. См. [Порядок общих бюджетов](#pooled-budget-order). Требуется v2.1.319 или новее. |

898 

899#### Порядок общих бюджетов

900 

901Общий бюджет — это единый месячный лимит, из которого расходует вся группа. Чтобы задать его, добавьте `pooled_budget` в [запрос, задающий месячный лимит группы](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md#set-a-cap), например `"pooled_budget": {"amount": "500000"}` для \$5,000. Запрос также принимает `scope` группы, `"period": "monthly"` и `amount`, который остаётся личным лимитом каждого участника.

902 

903Для разработчика, состоящего в нескольких таких группах, каждый запрос засчитывается в первый бюджет, расходы по которому ниже его лимита, и отклоняется, когда исчерпаны все бюджеты. `pooled_conflict_rule` задаёт порядок, в котором шлюз перебирает бюджеты:

904 

905* **`default_order`**: сначала самый большой лимит, а равные лимиты — по возрастанию имени группы

906* **`priority_list`**: бюджеты групп из `pooled_priority_order` в порядке списка, затем бюджеты остальных групп по имени группы

907 

908Если вы перечислите группы без `pooled_conflict_rule: priority_list`, шлюз проигнорирует список и запишет предупреждение в лог при запуске.

909 

910Сервер шлюза версии ниже v2.1.319 отказывается запускаться, обнаружив `pooled_conflict_rule` или `pooled_priority_order`. Обновите все реплики, прежде чем добавлять любой из этих ключей, и удалите оба ключа перед откатом.

880 911 

881### `enforcement`912### `enforcement`

882 913 


1675# CLAUDE_GATEWAY_LOG_LEVEL (debug | info | warn | error; по умолчанию info). debug1706# CLAUDE_GATEWAY_LOG_LEVEL (debug | info | warn | error; по умолчанию info). debug

1676# также логирует имена утверждений в каждом id_token для диагностики groups_claim.1707# также логирует имена утверждений в каждом id_token для диагностики groups_claim.

1677# Это не влияет на события аудита, которые всегда генерируются.1708# Это не влияет на события аудита, которые всегда генерируются.

1709# Установите CLAUDE_GATEWAY_LOG_FORMAT=json, чтобы записывать строки операционного

1710# журнала как объекты JSON с полями severity, time и message.

1678 1711 

1679listen:1712listen:

1680 host: 0.0.0.01713 host: 0.0.0.0


1715 # connect_timeout_seconds: 51748 # connect_timeout_seconds: 5

1716 # readiness_grace_seconds: 300 # продолжайте проходить проверку готовности через отказ базы данных1749 # readiness_grace_seconds: 300 # продолжайте проходить проверку готовности через отказ базы данных

1717 1750 

1751# Уведомление, показываемое при входе. Его может прочитать любой, у кого есть доступ к шлюзу.

1752# login_notice: This gateway is for Example Corp staff. For access questions, email it-help@example.com.

1753 

1718# Включает /v1/organizations/spend_limits (зеркалирует Admin API Anthropic)1754# Включает /v1/organizations/spend_limits (зеркалирует Admin API Anthropic)

1719# и принудительное соблюдение лимитов расходов на разработчика на /v1/messages. Опустите для отключения.1755# и принудительное соблюдение лимитов расходов на разработчика на /v1/messages. Опустите для отключения.

1720# Сами лимиты устанавливаются через admin API, а не здесь.1756# Сами лимиты устанавливаются через admin API, а не здесь.


1729# # spend_retention_months: 131765# # spend_retention_months: 13

1730# # identity_retention_days: 901766# # identity_retention_days: 90

1731# # group_limit_mode: min1767# # group_limit_mode: min

1768# # pooled_conflict_rule: priority_list

1769# # pooled_priority_order: [eng-platform, eng-all]

1732 1770 

1733# enforcement:1771# enforcement:

1734# fail_closed_on_error: false1772# fail_closed_on_error: false

Details

173 * `admin.denied` фиксирует отклонённую попытку аутентификации в API администратора с IP-адресом клиента, методом, путём и причиной, без предъявленного ключевого материала: `invalid_key`, если был предъявлен `x-api-key`, не совпавший ни с одним настроенным ключом; `bearer_rejected`, если был предъявлен только заголовок `Authorization` и он не прошёл проверку как сессия шлюза в `admin.admin_groups`; или `no_credentials`, если не был предъявлен ни один из заголовков173 * `admin.denied` фиксирует отклонённую попытку аутентификации в API администратора с IP-адресом клиента, методом, путём и причиной, без предъявленного ключевого материала: `invalid_key`, если был предъявлен `x-api-key`, не совпавший ни с одним настроенным ключом; `bearer_rejected`, если был предъявлен только заголовок `Authorization` и он не прошёл проверку как сессия шлюза в `admin.admin_groups`; или `no_credentials`, если не был предъявлен ни один из заголовков

174* **Операционные логи**: удобочитаемые строки с префиксом `[gateway]` о запуске, предупреждениях и ошибках вышестоящих серверов. Переменная окружения `CLAUDE_GATEWAY_LOG_LEVEL` управляет уровнем детализации и принимает значения `debug`, `info`, `warn` или `error`; по умолчанию используется `info`. На уровне `debug` при каждом входе и обновлении также записываются в лог имена (но не значения) claims в id\_token, а также имена claims userinfo, если `userinfo_fallback` их предоставил, что позволяет диагностировать настройки `email_claim` и `groups_claim` без записи персональных данных в лог. На события аудита эта переменная не влияет — они генерируются всегда.174* **Операционные логи**: удобочитаемые строки с префиксом `[gateway]` о запуске, предупреждениях и ошибках вышестоящих серверов. Переменная окружения `CLAUDE_GATEWAY_LOG_LEVEL` управляет уровнем детализации и принимает значения `debug`, `info`, `warn` или `error`; по умолчанию используется `info`. На уровне `debug` при каждом входе и обновлении также записываются в лог имена (но не значения) claims в id\_token, а также имена claims userinfo, если `userinfo_fallback` их предоставил, что позволяет диагностировать настройки `email_claim` и `groups_claim` без записи персональных данных в лог. На события аудита эта переменная не влияет — они генерируются всегда.

175 175 

176#### Запись операционных логов в формате JSON

177 

178Если ваш сборщик логов считывает уровень каждой строки из поля JSON, задайте `CLAUDE_GATEWAY_LOG_FORMAT=json` в окружении шлюза. Требуется Claude Code v2.1.319 или новее на сервере шлюза.

179 

180Тогда каждая строка операционного лога представляет собой один объект с полями `severity`, `time` и `message`:

181 

182```json theme={null}

183{"severity":"INFO","time":"2026-11-04T17:03:21.512Z","message":"claude gateway listening on http://0.0.0.0:8080"}

184```

185 

186`severity` — это уровень лога заглавными буквами, причём `warn` записывается как `WARNING`. Неудачный запуск отображается строкой `ERROR`.

187 

188События аудита, которые также направляются в stderr, не меняются. Они содержат `ts` и `evt`, но не содержат `severity`.

189 

176### Работоспособность190### Работоспособность

177 191 

178Шлюз обслуживает `GET /healthz` как проверку жизнеспособности (liveness probe) и `GET /readyz` как проверку готовности (readiness probe). `/readyz` проверяет доступность хранилища. Если вы задали [`store.readiness_grace_seconds`](https://code.claude.com/docs/ru/claude-apps-gateway-config#store), `/readyz` продолжает сообщать о готовности в течение указанного числа секунд после того, как хранилище перестало отвечать.192Шлюз обслуживает `GET /healthz` как проверку жизнеспособности (liveness probe) и `GET /readyz` как проверку готовности (readiness probe). `/readyz` проверяет доступность хранилища. Если вы задали [`store.readiness_grace_seconds`](https://code.claude.com/docs/ru/claude-apps-gateway-config#store), `/readyz` продолжает сообщать о готовности в течение указанного числа секунд после того, как хранилище перестало отвечать.

Details

6 6 

7> Ограничьте расходы каждого разработчика через Claude apps gateway по дням, неделям или месяцам. Установите лимиты с помощью Admin API, и шлюз будет их соблюдать в реальном времени при каждом запросе.7> Ограничьте расходы каждого разработчика через Claude apps gateway по дням, неделям или месяцам. Установите лимиты с помощью Admin API, и шлюз будет их соблюдать в реальном времени при каждом запросе.

8 8 

9Лимиты расходов ограничивают, сколько каждый разработчик может потратить через ваш [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway) в течение дня, недели или месяца. Когда разработчик превышает свой лимит, шлюз возвращает `429` при следующем запросе и блокирует его до сброса периода или пока администратор не повысит лимит. Используйте лимиты расходов, чтобы установить потолок расходов для каждого разработчика, группы или всей организации на общем учетном данном.9Лимиты расходов ограничивают, сколько каждый разработчик может потратить через ваш [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway) в течение дня, недели или месяца. Когда разработчик превышает свой лимит, шлюз возвращает `429` на его последующие запросы, пока администратор не повысит лимит или, если лимит больше \$0, пока лимит не будет сброшен. Используйте лимиты расходов, чтобы установить потолок расходов для каждого разработчика, группы или всей организации при использовании общих учётных данных.

10 10 

11По умолчанию Claude apps gateway пересылает все вычисления через одно общее учетное данное вышестоящего провайдера, поэтому счет вашего провайдера относит все к этому учетному данному, а не к отдельным разработчикам. На Amazon Bedrock [атрибуция затрат AWS для каждого разработчика](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#per-developer-aws-cost-attribution) изменяет это. Без лимитов на разработчика один неконтролируемый флот агентов может потратить всю приверженность организации. Лимиты расходов — это представление шлюза на уровне разработчика и автоматический выключатель поверх этого общего счета.11По умолчанию Claude apps gateway пересылает все вычисления через одно общее учетное данное вышестоящего провайдера, поэтому счет вашего провайдера относит все к этому учетному данному, а не к отдельным разработчикам. На Amazon Bedrock [атрибуция затрат AWS для каждого разработчика](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#per-developer-aws-cost-attribution) изменяет это. Без лимитов на разработчика один неконтролируемый флот агентов может потратить всю приверженность организации. Лимиты расходов — это представление шлюза на уровне разработчика и автоматический выключатель поверх этого общего счета.

12 12 


51 51 

52При каждом запросе `/v1/messages` шлюз ищет лимиты разработчика и его расходы с начала периода в одном запросе Postgres. Разработчик, превысивший любой лимит, получает `429` с `error.type: billing_error` и заголовком `x-should-retry: false`.52При каждом запросе `/v1/messages` шлюз ищет лимиты разработчика и его расходы с начала периода в одном запросе Postgres. Разработчик, превысивший любой лимит, получает `429` с `error.type: billing_error` и заголовком `x-should-retry: false`.

53 53 

54Сообщение указывает период и время сброса, например `spend limit reached (daily; resets 2026-08-08 00:00 UTC)`, за которым следует ваш [`admin.blocked_message`](https://code.claude.com/docs/ru/claude-apps-gateway-config#admin), если он установлен. Когда разработчик превышает несколько лимитов одновременно, сообщение указывает лимит, который сбрасывается последним. Ответ также содержит заголовок `retry-after` с количеством секунд до этого сброса. До версии 2.1.225 на сервере шлюза сообщение было `spend limit reached` без периода, времени сброса или заголовка `retry-after`.54Для лимита выше `"0"` сообщение указывает дату по UTC, когда этот лимит сбрасывается. Если вы задали [`admin.blocked_message`](https://code.claude.com/docs/ru/claude-apps-gateway-config#admin), шлюз добавляет его к сообщению, как в этом примере:

55 

56```text theme={null}

57spend limit reached · resets Dec 1 · request an increase at https://go.example.com/claude-limits

58```

59 

60Для лимита `"0"`, который сброс не снимает, сообщение не содержит даты. Когда разработчик превышает несколько лимитов одновременно, сообщение указывает лимит, который сбрасывается последним. Ответ также содержит заголовок `retry-after` с количеством секунд до окончания периода этого лимита.

61 

62До версии 2.1.319 на сервере шлюза сообщение указывало период и время сброса, например `spend limit reached (daily; resets 2026-08-08 00:00 UTC)`. До версии 2.1.225 сообщение было `spend limit reached` без периода, времени сброса или заголовка `retry-after`.

55 63 

56На версии 2.1.227 или позже справочник протокола по адресу `<public_url>/protocol` также содержит точные заголовки ответа об ограничении использования и тело `429`.64На версии 2.1.227 или позже справочник протокола по адресу `<public_url>/protocol` также содержит точные заголовки ответа об ограничении использования и тело `429`.

57 65 


95| Предупреждения об использовании при 75% и 95% | v2.1.225 или позже | v2.1.225 или позже |103| Предупреждения об использовании при 75% и 95% | v2.1.225 или позже | v2.1.225 или позже |

96| Полоса **Spend limit** в `/usage` с процентом использованного лимита и временем его сброса, а также объект `rate_limits.spend_limit` во входных данных строки состояния | v2.1.251 или позже | v2.1.225 или позже |104| Полоса **Spend limit** в `/usage` с процентом использованного лимита и временем его сброса, а также объект `rate_limits.spend_limit` во входных данных строки состояния | v2.1.251 или позже | v2.1.225 или позже |

97| Оценка расходов разработчика и лимит в долларах США в полосе **Spend limit**, например "\$271.40 / \$500.00 spent this month", а также те же суммы и период лимита во входных данных строки состояния | v2.1.284 или позже | v2.1.284 или позже |105| Оценка расходов разработчика и лимит в долларах США в полосе **Spend limit**, например "\$271.40 / \$500.00 spent this month", а также те же суммы и период лимита во входных данных строки состояния | v2.1.284 или позже | v2.1.284 или позже |

106| На шлюзе с блоком [`admin:`](https://code.claude.com/docs/ru/claude-apps-gateway-config#admin), когда к разработчику не применяется ни один лимит, — оценка его расходов в разделе **Spend (UTC)** в `/usage`, например "\$13.06 today · \$80.76 this week · \$272.06 this month" | v2.1.319 или позже | v2.1.319 или позже |

98 107 

99Предупреждения и процент берутся из заголовков `anthropic-ratelimit-unified-*`, которые шлюз добавляет к каждому успешному ответу `/v1/messages` для разработчика, у которого есть лимит. Заголовки всегда описывают лимит самого разработчика: шлюз удаляет заголовки ограничения частоты запросов поставщика upstream, которые описывают вашу общую квоту, и никогда их не пересылает.108Предупреждения и процент берутся из заголовков `anthropic-ratelimit-unified-*`, которые шлюз добавляет к каждому успешному ответу `/v1/messages` для разработчика, у которого есть лимит. Заголовки всегда описывают лимит самого разработчика: шлюз удаляет заголовки ограничения частоты запросов поставщика upstream, которые описывают вашу общую квоту, и никогда их не пересылает.

100 109 

Details

41| `claude mcp logout <name>` | Очистить сохранённые учётные данные OAuth для MCP-сервера | `claude mcp logout sentry` |41| `claude mcp logout <name>` | Очистить сохранённые учётные данные OAuth для MCP-сервера | `claude mcp logout sentry` |

42| `claude plugin` | Управлять [плагинами](https://code.claude.com/docs/ru/plugins/overview.md) Claude Code. Псевдоним: `claude plugins`. Подкоманды см. в [справочнике по плагинам](https://code.claude.com/docs/ru/plugins/cli-reference.md#claude-plugin-commands) | `claude plugin install code-review@claude-plugins-official` |42| `claude plugin` | Управлять [плагинами](https://code.claude.com/docs/ru/plugins/overview.md) Claude Code. Псевдоним: `claude plugins`. Подкоманды см. в [справочнике по плагинам](https://code.claude.com/docs/ru/plugins/cli-reference.md#claude-plugin-commands) | `claude plugin install code-review@claude-plugins-official` |

43| `claude purge [path]` | Удалить всё локальное состояние Claude Code для проекта: транскрипты, списки задач, логи отладки, историю редактирования файлов, строки истории промптов и запись проекта в `~/.claude.json`. Опустите `[path]`, чтобы выбрать из интерактивного списка. Флаги: `--dry-run` для предпросмотра, `-y`/`--yes` для пропуска подтверждения, `-i`/`--interactive` для подтверждения каждого элемента, `--all` для всех проектов. См. [Очистить локальные данные](https://code.claude.com/docs/ru/claude-directory.md#clear-local-data) | `claude purge ~/work/repo --dry-run` |43| `claude purge [path]` | Удалить всё локальное состояние Claude Code для проекта: транскрипты, списки задач, логи отладки, историю редактирования файлов, строки истории промптов и запись проекта в `~/.claude.json`. Опустите `[path]`, чтобы выбрать из интерактивного списка. Флаги: `--dry-run` для предпросмотра, `-y`/`--yes` для пропуска подтверждения, `-i`/`--interactive` для подтверждения каждого элемента, `--all` для всех проектов. См. [Очистить локальные данные](https://code.claude.com/docs/ru/claude-directory.md#clear-local-data) | `claude purge ~/work/repo --dry-run` |

44| `claude remote-control` | Запустить сервер [Remote Control](https://code.claude.com/docs/ru/remote-control.md) для управления Claude Code из Claude.ai или приложения Claude. Работает в режиме сервера (без локальной интерактивной сессии). См. [флаги режима сервера](https://code.claude.com/docs/ru/remote-control.md#start-a-remote-control-session). После остановки сервера вы можете вернуть сессии, которые он обслуживал. См. [Возобновить сессии после остановки сервера](https://code.claude.com/docs/ru/remote-control.md#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |44| `claude remote-control` | Запустить сервер [Remote Control](https://code.claude.com/docs/ru/remote-control.md) для управления Claude Code из claude.ai или приложения Claude. Псевдоним: `claude rc`. Работает в режиме сервера (без локальной интерактивной сессии). См. [флаги режима сервера](https://code.claude.com/docs/ru/remote-control.md#start-a-remote-control-session). После остановки сервера вы можете вернуть сессии, которые он обслуживал. См. [Возобновить сессии после остановки сервера](https://code.claude.com/docs/ru/remote-control.md#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |

45| `claude respawn <id>` | Перезапустить [фоновую сессию](https://code.claude.com/docs/ru/agent-view.md#manage-sessions-from-the-shell), работающую или остановленную, с сохранением её диалога. Используйте `--all` для перезапуска всех работающих сессий, например чтобы применить обновлённый двоичный файл Claude Code | `claude respawn 7c5dcf5d` |45| `claude respawn <id>` | Перезапустить [фоновую сессию](https://code.claude.com/docs/ru/agent-view.md#manage-sessions-from-the-shell), работающую или остановленную, с сохранением её диалога. Используйте `--all` для перезапуска всех работающих сессий, например чтобы применить обновлённый двоичный файл Claude Code | `claude respawn 7c5dcf5d` |

46| `claude rm <id>` | Удалить [фоновую сессию](https://code.claude.com/docs/ru/agent-view.md#manage-sessions-from-the-shell) из списка. Если в удалении [отказано из-за worktree сессии](https://code.claude.com/docs/ru/agent-view.md#what-deleting-a-session-removes) и повторный вызов `claude rm` может это решить, сообщение об отказе выводит точный флаг и значение для передачи: `--discard-unpushed <commit>@<worktree-id>` отбрасывает worktree с неотправленными коммитами вместе с этими коммитами, а `--force-remove-worktree <worktree-id>` удаляет каталог worktree, который git или хук `WorktreeRemove` не смогли удалить. `--discard-unpushed` требует Claude Code v2.1.260 или новее, а `--force-remove-worktree` требует v2.1.268 или новее. Транскрипт диалога остаётся на вашем локальном компьютере и доступен через `claude --resume` | `claude rm 7c5dcf5d` |46| `claude rm <id>` | Удалить [фоновую сессию](https://code.claude.com/docs/ru/agent-view.md#manage-sessions-from-the-shell) из списка. Если в удалении [отказано из-за worktree сессии](https://code.claude.com/docs/ru/agent-view.md#what-deleting-a-session-removes) и повторный вызов `claude rm` может это решить, сообщение об отказе выводит точный флаг и значение для передачи: `--discard-unpushed <commit>@<worktree-id>` отбрасывает worktree с неотправленными коммитами вместе с этими коммитами, а `--force-remove-worktree <worktree-id>` удаляет каталог worktree, который git или хук `WorktreeRemove` не смогли удалить. `--discard-unpushed` требует Claude Code v2.1.260 или новее, а `--force-remove-worktree` требует v2.1.268 или новее. Транскрипт диалога остаётся на вашем локальном компьютере и доступен через `claude --resume` | `claude rm 7c5dcf5d` |

47| `claude self-hosted-runner` | Запустить процесс runner, который регистрирует эту машину или контейнер в [самостоятельно размещаемой среде](https://code.claude.com/docs/ru/self-hosted-environments) и размещает облачные сессии Claude Code на вашей инфраструктуре. Запустите `claude self-hosted-runner setup` для пошагового руководства оператора, `claude self-hosted-runner doctor` для [диагностики развёрнутого runner](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#troubleshooting) и `claude self-hosted-runner orchestrator` для создания [runner по требованию](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#on-demand-runners). Требует Claude Code v2.1.224 или новее | `claude self-hosted-runner setup` |47| `claude self-hosted-runner` | Запустить процесс runner, который регистрирует эту машину или контейнер в [самостоятельно размещаемой среде](https://code.claude.com/docs/ru/self-hosted-environments) и размещает облачные сессии Claude Code на вашей инфраструктуре. Запустите `claude self-hosted-runner setup` для пошагового руководства оператора, `claude self-hosted-runner doctor` для [диагностики развёрнутого runner](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#troubleshooting) и `claude self-hosted-runner orchestrator` для создания [runner по требованию](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#on-demand-runners). Требует Claude Code v2.1.224 или новее | `claude self-hosted-runner setup` |


111| `--no-session-persistence` | Отключить сохранение сеанса, чтобы сеансы не сохранялись на диск и не могли быть возобновлены. Только режим печати. Переменная окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](https://code.claude.com/docs/ru/env-vars) делает то же самое в любом режиме | `claude -p --no-session-persistence "query"` |111| `--no-session-persistence` | Отключить сохранение сеанса, чтобы сеансы не сохранялись на диск и не могли быть возобновлены. Только режим печати. Переменная окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](https://code.claude.com/docs/ru/env-vars) делает то же самое в любом режиме | `claude -p --no-session-persistence "query"` |

112| `--output-format` | Указать формат вывода для режима печати (опции: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |112| `--output-format` | Указать формат вывода для режима печати (опции: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |

113| `--permission-mode` | Начать в указанном [режиме разрешения](https://code.claude.com/docs/ru/permission-modes.md). Принимает `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions` или `manual` как псевдоним для `default`. Псевдоним `manual` выбирает режим разрешения, который UI обозначает как Manual и требует Claude Code v2.1.200 или позже; `claude --help` выводит его вместо `default`, и оба значения работают. Переопределяет `defaultMode` из файлов параметров. Без этого флага или `--dangerously-skip-permissions` новый сеанс начинается в режиме разрешения, описанном в [какой режим разрешения начинает сеанс](https://code.claude.com/docs/ru/permission-modes.md#which-mode-a-session-starts-in), который также охватывает то, в каком режиме начинается запуск `-p` | `claude --permission-mode plan` |113| `--permission-mode` | Начать в указанном [режиме разрешения](https://code.claude.com/docs/ru/permission-modes.md). Принимает `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions` или `manual` как псевдоним для `default`. Псевдоним `manual` выбирает режим разрешения, который UI обозначает как Manual и требует Claude Code v2.1.200 или позже; `claude --help` выводит его вместо `default`, и оба значения работают. Переопределяет `defaultMode` из файлов параметров. Без этого флага или `--dangerously-skip-permissions` новый сеанс начинается в режиме разрешения, описанном в [какой режим разрешения начинает сеанс](https://code.claude.com/docs/ru/permission-modes.md#which-mode-a-session-starts-in), который также охватывает то, в каком режиме начинается запуск `-p` | `claude --permission-mode plan` |

114| `--permission-prompt-tool` | Указать MCP-инструмент для обработки запросов разрешения в неинтерактивном режиме. Передайте полное имя, например `mcp__<server>__<tool>`, инструмента на MCP-сервере, который загружается при этом запуске. Claude Code перед первым ходом ждёт подключения MCP-сервера этого инструмента — не дольше стартового таймаута [`MCP_TIMEOUT`](https://code.claude.com/docs/ru/env-vars), по умолчанию 30 секунд. Инструмент обработки запросов не может одобрить MCP-инструмент, помеченный как [требующий взаимодействия с пользователем](https://code.claude.com/docs/ru/mcp.md#require-approval-for-a-specific-tool): Claude Code преобразует результат `allow` для такого инструмента в запрет. Это ограничение требует Claude Code v2.1.199 или новее | `claude -p --mcp-config ./mcp.json --permission-prompt-tool mcp__permissions__approve "query"` |114| `--permission-prompt-tool` | Указать MCP-инструмент для обработки запросов разрешения в неинтерактивном режиме. Передайте полное имя, например `mcp__<server>__<tool>`, инструмента на MCP-сервере, который загружается при этом запуске. Claude Code перед первым ходом ждёт подключения MCP-сервера этого инструмента — не дольше стартового таймаута [`MCP_TIMEOUT`](https://code.claude.com/docs/ru/env-vars), по умолчанию 30 секунд. См. [что должен возвращать инструмент](https://code.claude.com/docs/ru/errors.md#permission-prompt-tool-returned-an-invalid-result). Инструмент обработки запросов не может одобрить MCP-инструмент, помеченный как [требующий взаимодействия с пользователем](https://code.claude.com/docs/ru/mcp.md#require-approval-for-a-specific-tool): Claude Code преобразует результат `allow` для такого инструмента в запрет. Это ограничение требует Claude Code v2.1.199 или новее | `claude -p --mcp-config ./mcp.json --permission-prompt-tool mcp__permissions__approve "query"` |

115| `--permission-prompts` | Установить, кто отвечает на запросы разрешения в режиме печати. С по умолчанию `host`, Claude Code отправляет их хосту Agent SDK или инструменту `--permission-prompt-tool`. Передайте `none`, когда никто не может ответить, и Claude Code отклоняет их вместо этого. См. [Отключить запросы разрешения в автоматических запусках](https://code.claude.com/docs/ru/headless.md#turn-off-permission-prompts-in-unattended-runs). Требует Claude Code v2.1.259 или позже | `claude -p --permission-prompts none "query"` |115| `--permission-prompts` | Установить, кто отвечает на запросы разрешения в режиме печати. С по умолчанию `host`, Claude Code отправляет их хосту Agent SDK или инструменту `--permission-prompt-tool`. Передайте `none`, когда никто не может ответить, и Claude Code отклоняет их вместо этого. См. [Отключить запросы разрешения в автоматических запусках](https://code.claude.com/docs/ru/headless.md#turn-off-permission-prompts-in-unattended-runs). Требует Claude Code v2.1.259 или позже | `claude -p --permission-prompts none "query"` |

116| `--plugin-dir` | Загрузить plugin из каталога или архива `.zip`, или несколько из [папки plugins](https://code.claude.com/docs/ru/plugins/create.md#load-a-directory-or-archive-for-one-session), только для этого сеанса. Каждый флаг принимает один путь. Повторите флаг для нескольких путей: `--plugin-dir A --plugin-dir B.zip`. Передача папки plugins требует Claude Code v2.1.265 или позже | `claude --plugin-dir ./my-plugin` |116| `--plugin-dir` | Загрузить plugin из каталога или архива `.zip`, или несколько из [папки plugins](https://code.claude.com/docs/ru/plugins/create.md#load-a-directory-or-archive-for-one-session), только для этого сеанса. Каждый флаг принимает один путь. Повторите флаг для нескольких путей: `--plugin-dir A --plugin-dir B.zip`. Передача папки plugins требует Claude Code v2.1.265 или позже | `claude --plugin-dir ./my-plugin` |

117| `--plugin-url` | Получить plugin архив `.zip` из URL только для этого сеанса. Повторите флаг для нескольких plugins, или передайте разделённые пробелом URL в одном значении в кавычках | `claude --plugin-url https://example.com/plugin.zip` |117| `--plugin-url` | Получить plugin архив `.zip` из URL только для этого сеанса. Повторите флаг для нескольких plugins, или передайте разделённые пробелом URL в одном значении в кавычках | `claude --plugin-url https://example.com/plugin.zip` |

commands.md +1 −1

Details

162| `/ultrareview [PR or branch]` | Запустить глубокое мультиагентное код-ревью в облачной песочнице с помощью [ultrareview](https://code.claude.com/docs/ru/ultrareview.md). Передайте ссылку на PR, чтобы проверить этот pull request, либо базовую ветку или коммит, чтобы изменить базу сравнения. Предпочтительный способ вызова — `/code-review ultra`, а `/ultrareview` является псевдонимом. Включает 3 бесплатных запуска на Pro, Max и Ultra, после чего требуются [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |162| `/ultrareview [PR or branch]` | Запустить глубокое мультиагентное код-ревью в облачной песочнице с помощью [ultrareview](https://code.claude.com/docs/ru/ultrareview.md). Передайте ссылку на PR, чтобы проверить этот pull request, либо базовую ветку или коммит, чтобы изменить базу сравнения. Предпочтительный способ вызова — `/code-review ultra`, а `/ultrareview` является псевдонимом. Включает 3 бесплатных запуска на Pro, Max и Ultra, после чего требуются [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

163| `/update-config [request]` | **[Скилл](https://code.claude.com/docs/ru/skills.md#bundled-skills).** Опишите изменение настроек, например разрешение команды, задание переменной окружения или добавление [хука](https://code.claude.com/docs/ru/hooks.md), и Claude отредактирует соответствующий файл [`settings.json`](https://code.claude.com/docs/ru/settings). Для таких параметров, как тема и модель, используйте вместо этого `/config` |163| `/update-config [request]` | **[Скилл](https://code.claude.com/docs/ru/skills.md#bundled-skills).** Опишите изменение настроек, например разрешение команды, задание переменной окружения или добавление [хука](https://code.claude.com/docs/ru/hooks.md), и Claude отредактирует соответствующий файл [`settings.json`](https://code.claude.com/docs/ru/settings). Для таких параметров, как тема и модель, используйте вместо этого `/config` |

164| `/upgrade` | Открыть страницу повышения тарифа в браузере, чтобы перейти на более высокий тариф. Если браузер не открывается, команда показывает приглашение ко входу, не выводя URL |164| `/upgrade` | Открыть страницу повышения тарифа в браузере, чтобы перейти на более высокий тариф. Если браузер не открывается, команда показывает приглашение ко входу, не выводя URL |

165| `/usage` | Показать стоимость сессии, лимиты использования тарифа и статистику активности. На тарифе Pro, Max, Ultra, Team или Enterprise включает [разбивку того, что учитывается в лимитах тарифа](https://code.claude.com/docs/ru/costs.md#plan-usage-breakdown). `/cost` и `/stats` — псевдонимы |165| `/usage` | Показать стоимость сессии, лимиты использования тарифа и статистику активности. На тарифе Pro, Max, Ultra, Team или Enterprise включает [разбивку того, что учитывается в лимитах тарифа](https://code.claude.com/docs/ru/costs.md#plan-usage-breakdown). При работе через шлюз Claude apps, отслеживающий расходы, показывает [ваши расходы через шлюз](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code). `/cost` и `/stats` — псевдонимы |

166| `/usage-credits` | Настроить кредиты использования или запросить их у администратора, когда вы достигли лимита. Открывает [настройки биллинга кредитов использования](https://code.claude.com/docs/ru/costs.md#add-usage-credits-to-your-subscription) в браузере, за исключением случаев, когда участники Team и Enterprise без доступа к биллингу вместо этого отправляют запрос на кредиты своему администратору из CLI, предварительно подтвердив в диалоговом окне, что запрос уведомит их администраторов. Если ни один браузер не может открыть страницу биллинга, например при работе через SSH, команда вместо этого выводит URL для перехода; для этого требуется Claude Code v2.1.205 или новее, а более ранние версии в этом случае ничего не показывали. Ранее `/extra-usage` |166| `/usage-credits` | Настроить кредиты использования или запросить их у администратора, когда вы достигли лимита. Открывает [настройки биллинга кредитов использования](https://code.claude.com/docs/ru/costs.md#add-usage-credits-to-your-subscription) в браузере, за исключением случаев, когда участники Team и Enterprise без доступа к биллингу вместо этого отправляют запрос на кредиты своему администратору из CLI, предварительно подтвердив в диалоговом окне, что запрос уведомит их администраторов. Если ни один браузер не может открыть страницу биллинга, например при работе через SSH, команда вместо этого выводит URL для перехода; для этого требуется Claude Code v2.1.205 или новее, а более ранние версии в этом случае ничего не показывали. Ранее `/extra-usage` |

167| `/verify` | **[Скилл](https://code.claude.com/docs/ru/skills.md#bundled-skills).** Убедиться, что изменение кода делает то, что должно, собрав приложение вашего проекта, запустив его и наблюдая за результатом, а не полагаясь на тесты или проверки типов. См. [Запуск и проверка приложения](https://code.claude.com/docs/ru/skills.md#run-and-verify-your-app) |167| `/verify` | **[Скилл](https://code.claude.com/docs/ru/skills.md#bundled-skills).** Убедиться, что изменение кода делает то, что должно, собрав приложение вашего проекта, запустив его и наблюдая за результатом, а не полагаясь на тесты или проверки типов. См. [Запуск и проверка приложения](https://code.claude.com/docs/ru/skills.md#run-and-verify-your-app) |

168| `/vim` | Удалена в v2.1.92. Чтобы переключаться между режимами редактирования Vim и Normal, используйте `/config` → Editor mode |168| `/vim` | Удалена в v2.1.92. Чтобы переключаться между режимами редактирования Vim и Normal, используйте `/config` → Editor mode |

costs.md +1 −1

Details

236 * Запустите `/usage-credits`, чтобы запросить использование сверх лимита, если у вас включены [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans).236 * Запустите `/usage-credits`, чтобы запросить использование сверх лимита, если у вас включены [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans).

237 * На Claude Code v2.1.234 или позже, [ждите и продолжайте прерванную задачу автоматически после сброса лимита использования](https://code.claude.com/docs/ru/interactive-mode.md#wait-for-a-usage-limit-to-reset); этот раздел указывает, когда Claude Code начинает ожидание самостоятельно и когда разработчик выбирает его из `/rate-limit-options`. Чтобы контролировать для вашего парка, начинает ли Claude Code это ожидание самостоятельно, установите [`autoContinueAtUsageLimit`](https://code.claude.com/docs/ru/settings-reference#autocontinueatusagelimit) в [управляемых параметрах](https://code.claude.com/docs/ru/settings.md#settings-precedence).237 * На Claude Code v2.1.234 или позже, [ждите и продолжайте прерванную задачу автоматически после сброса лимита использования](https://code.claude.com/docs/ru/interactive-mode.md#wait-for-a-usage-limit-to-reset); этот раздел указывает, когда Claude Code начинает ожидание самостоятельно и когда разработчик выбирает его из `/rate-limit-options`. Чтобы контролировать для вашего парка, начинает ли Claude Code это ожидание самостоятельно, установите [`autoContinueAtUsageLimit`](https://code.claude.com/docs/ru/settings-reference#autocontinueatusagelimit) в [управляемых параметрах](https://code.claude.com/docs/ru/settings.md#settings-precedence).

238* **"You've hit your individual spend limit", "org's monthly spend limit" или "team's shared budget"**: запрос разработчика будет оплачен из кредитов использования, и эти кредиты достигли лимита расходов, который вы установили. Чтобы позволить разработчику продолжить, перейдите в [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) и увеличьте лимит, который называет сообщение. Когда сообщение также называет время сброса плана, разработчик может вместо этого дождаться этого момента. См. [справочник по ошибкам](https://code.claude.com/docs/ru/errors.md#youve-hit-your-monthly-spend-limit) для каждого варианта.238* **"You've hit your individual spend limit", "org's monthly spend limit" или "team's shared budget"**: запрос разработчика будет оплачен из кредитов использования, и эти кредиты достигли лимита расходов, который вы установили. Чтобы позволить разработчику продолжить, перейдите в [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) и увеличьте лимит, который называет сообщение. Когда сообщение также называет время сброса плана, разработчик может вместо этого дождаться этого момента. См. [справочник по ошибкам](https://code.claude.com/docs/ru/errors.md#youve-hit-your-monthly-spend-limit) для каждого варианта.

239* **Сообщение об ограничении расходов от [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway)**: разработчик превысил лимит расходов, который вы установили на своём самостоятельно размещённом шлюзе, и шлюз блокирует его запросы до сброса периода или повышения лимита. См. [лимиты расходов шлюза](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md) для лимитов, расписания сброса и сообщения, которое видит разработчик.239* **Сообщение об ограничении расходов от [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway)**: разработчик превысил лимит расходов, который вы установили на своём самостоятельно размещённом шлюзе. Шлюз блокирует его запросы, пока вы не повысите лимит или пока лимит не сбросится, если он выше \$0. См. [лимиты расходов шлюза](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md) для лимитов, расписания сброса и сообщения, которое видит разработчик.

240* **Предупреждение о контексте или auto-compact**: не является лимитом использования. Разговор вырос близко к [окну auto-compact](https://code.claude.com/docs/ru/model-config.md#set-the-auto-compact-window) сеанса, пороговому значению, где Claude Code суммирует более старую историю, чтобы освободить место. Направьте разработчика на [снижение использования токенов](#reduce-token-usage).240* **Предупреждение о контексте или auto-compact**: не является лимитом использования. Разговор вырос близко к [окну auto-compact](https://code.claude.com/docs/ru/model-config.md#set-the-auto-compact-window) сеанса, пороговому значению, где Claude Code суммирует более старую историю, чтобы освободить место. Направьте разработчика на [снижение использования токенов](#reduce-token-usage).

241* **Неожиданно высокие расходы на плане API или облачного провайдера**: обычно восходит к длительным сеансам, которые никогда не были очищены, или к Opus, оставленному в качестве модели по умолчанию. Наиболее эффективные привычки для совместного использования — это очистка между несвязанными задачами и соответствие модели работе, оба охватываются в [снижение использования токенов](#reduce-token-usage).241* **Неожиданно высокие расходы на плане API или облачного провайдера**: обычно восходит к длительным сеансам, которые никогда не были очищены, или к Opus, оставленному в качестве модели по умолчанию. Наиболее эффективные привычки для совместного использования — это очистка между несвязанными задачами и соответствие модели работе, оба охватываются в [снижение использования токенов](#reduce-token-usage).

242 242 

env-vars.md +2 −1

Details

365| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Установите `5m` или `1h` — единственные значения, которые принимает Claude Code, — чтобы выбрать [TTL кэша промптов](https://code.claude.com/docs/ru/prompt-caching.md#cache-lifetime) для основного диалога: ваших интерактивных ходов, ходов `-p` и SDK, а также вспомогательных процессов, выполняющихся вместе с ними. Имеет приоритет над настройкой `promptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, а `FORCE_PROMPT_CACHING_5M` переопределяет её. API тарифицирует запись в кэш на 1 час по более высокой ставке. Требуется Claude Code v2.1.242 или новее |365| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Установите `5m` или `1h` — единственные значения, которые принимает Claude Code, — чтобы выбрать [TTL кэша промптов](https://code.claude.com/docs/ru/prompt-caching.md#cache-lifetime) для основного диалога: ваших интерактивных ходов, ходов `-p` и SDK, а также вспомогательных процессов, выполняющихся вместе с ними. Имеет приоритет над настройкой `promptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, а `FORCE_PROMPT_CACHING_5M` переопределяет её. API тарифицирует запись в кэш на 1 час по более высокой ставке. Требуется Claude Code v2.1.242 или новее |

366| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Установите `1`, чтобы передавать контекст трассировки W3C, когда `ANTHROPIC_BASE_URL` указывает на пользовательский прокси. Передача охватывает заголовок `traceparent` в запросах к модели и HTTP MCP, а также переменную окружения `TRACEPARENT` для подпроцессов Bash, PowerShell и хуков. По умолчанию передача включена только при прямом подключении к Anthropic API. Добавлено в v2.1.152. См. [Трассировки (бета)](https://code.claude.com/docs/ru/monitoring-usage.md#traces-beta) |366| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Установите `1`, чтобы передавать контекст трассировки W3C, когда `ANTHROPIC_BASE_URL` указывает на пользовательский прокси. Передача охватывает заголовок `traceparent` в запросах к модели и HTTP MCP, а также переменную окружения `TRACEPARENT` для подпроцессов Bash, PowerShell и хуков. По умолчанию передача включена только при прямом подключении к Anthropic API. Добавлено в v2.1.152. См. [Трассировки (бета)](https://code.claude.com/docs/ru/monitoring-usage.md#traces-beta) |

367| `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`, в [управляемых настройках](https://code.claude.com/docs/ru/managed-settings.md), независимо от того, какой управляемый источник их доставляет, поэтому конфигурация моделей хоста имеет приоритет над устаревшим закреплением модели в управляемых настройках. Claude Code также игнорирует переменные выбора модели, такие как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL`, в управляемом блоке `env`; список разрешённых моделей [`availableModels`](https://code.claude.com/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](https://code.claude.com/docs/ru/data-usage.md#default-behaviors-by-api-provider) |367| `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`, в [управляемых настройках](https://code.claude.com/docs/ru/managed-settings.md), независимо от того, какой управляемый источник их доставляет, поэтому конфигурация моделей хоста имеет приоритет над устаревшим закреплением модели в управляемых настройках. Claude Code также игнорирует переменные выбора модели, такие как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL`, в управляемом блоке `env`; список разрешённых моделей [`availableModels`](https://code.claude.com/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](https://code.claude.com/docs/ru/data-usage.md#default-behaviors-by-api-provider) |

368| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Установите `1`, чтобы разрешить прокси выполнять DNS-разрешение вместо вызывающей стороны. Включается по желанию для сред, где разрешение имён хостов должен выполнять прокси |368| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Установите значение `1`, чтобы разрешить прокси выполнять разрешение DNS вместо вызывающей стороны. Включается явно для окружений, где разрешение имён хостов должен выполнять прокси. Если задана `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`, задавайте эту переменную в окружении процесса, который запускает Claude Code |

369| `CLAUDE_CODE_REMOTE` | Автоматически устанавливается в `true`, когда Claude Code работает как [облачная сессия](https://code.claude.com/docs/ru/claude-code-on-the-web.md). Считывайте её из хука или скрипта настройки, чтобы определить, находитесь ли вы в облачной сессии |369| `CLAUDE_CODE_REMOTE` | Автоматически устанавливается в `true`, когда Claude Code работает как [облачная сессия](https://code.claude.com/docs/ru/claude-code-on-the-web.md). Считывайте её из хука или скрипта настройки, чтобы определить, находитесь ли вы в облачной сессии |

370| `CLAUDE_CODE_REMOTE_SESSION_ID` | В [облачных сессиях](https://code.claude.com/docs/ru/claude-code-on-the-web.md) автоматически устанавливается в ID текущей сессии. Считывайте её, чтобы сформировать ссылку на транскрипт сессии. См. [Ссылка из вывода на сессию](https://code.claude.com/docs/ru/cloud-environments.md#link-output-back-to-the-session) |370| `CLAUDE_CODE_REMOTE_SESSION_ID` | В [облачных сессиях](https://code.claude.com/docs/ru/claude-code-on-the-web.md) автоматически устанавливается в ID текущей сессии. Считывайте её, чтобы сформировать ссылку на транскрипт сессии. См. [Ссылка из вывода на сессию](https://code.claude.com/docs/ru/cloud-environments.md#link-output-back-to-the-session) |

371| `CLAUDE_CODE_RESTRICTED` | Установите `1`, чтобы запустить сессию в ограниченном режиме, — то же, что передать [`--restricted`](https://code.claude.com/docs/ru/cli-reference#cli-flags). Claude Code игнорирует эту переменную в блоке `env` файла настроек. Требуется Claude Code v2.1.248 или новее |371| `CLAUDE_CODE_RESTRICTED` | Установите `1`, чтобы запустить сессию в ограниченном режиме, — то же, что передать [`--restricted`](https://code.claude.com/docs/ru/cli-reference#cli-flags). Claude Code игнорирует эту переменную в блоке `env` файла настроек. Требуется Claude Code v2.1.248 или новее |


529| `VERTEX_REGION_CLAUDE_5_SONNET` | Переопределить регион для Claude Sonnet 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.197 |529| `VERTEX_REGION_CLAUDE_5_SONNET` | Переопределить регион для Claude Sonnet 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.197 |

530| `VERTEX_REGION_CLAUDE_FABLE_5` | Переопределить регион для Claude Fable 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.170 |530| `VERTEX_REGION_CLAUDE_FABLE_5` | Переопределить регион для Claude Fable 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.170 |

531| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Переопределить регион для Claude Fable 5.1 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.257 |531| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Переопределить регион для Claude Fable 5.1 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.257 |

532| `VERTEX_REGION_CLAUDE_FABLE_5_2` | Переопределяет регион для Claude Fable 5.2 при использовании Google Cloud's Agent Platform. Добавлена в v2.1.321 |

532| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Переопределить регион для Claude Haiku 4.5 при использовании Google Cloud's Agent Platform |533| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Переопределить регион для Claude Haiku 4.5 при использовании Google Cloud's Agent Platform |

533| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Переопределить регион для Claude Haiku 5.5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.293 |534| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Переопределить регион для Claude Haiku 5.5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.293 |

534 535 

errors.md +91 −14

Details

52| `Credit balance is too low` | [Usage limits](#credit-balance-is-too-low) |52| `Credit balance is too low` | [Usage limits](#credit-balance-is-too-low) |

53| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [Usage limits](#youve-hit-your-monthly-spend-limit) |53| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [Usage limits](#youve-hit-your-monthly-spend-limit) |

54| `Could not update your spend limit` | [Usage limits](#could-not-update-your-spend-limit) |54| `Could not update your spend limit` | [Usage limits](#could-not-update-your-spend-limit) |

55| `spend limit reached` / `spend limit unavailable` | [Usage limits](#spend-limit-reached) |55| `spend limit reached` / `spend limit unavailable` / `This request exceeds your group's budget` | [Лимиты использования](#spend-limit-reached) |

56| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |56| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |

57| `Couldn't save your login` | [Authentication](#couldnt-save-your-login) |57| `Couldn't save your login` | [Authentication](#couldnt-save-your-login) |

58| `Sign in again to take your previous account or API key off the config file.` | [Аутентификация](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |58| `Sign in again to take your previous account or API key off the config file.` | [Аутентификация](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |


336| `MCP server "<name>" connection closed before the tool call was answered` | [Tool errors](#connection-closed-before-the-tool-call-was-answered) |336| `MCP server "<name>" connection closed before the tool call was answered` | [Tool errors](#connection-closed-before-the-tool-call-was-answered) |

337| `MCP server "<name>" is disabled — re-enable it via /mcp to use its tools` | [Ошибки инструментов](#mcp-server-is-disabled) |337| `MCP server "<name>" is disabled — re-enable it via /mcp to use its tools` | [Ошибки инструментов](#mcp-server-is-disabled) |

338| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [Tool errors](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |338| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [Tool errors](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |

339| `Permission prompt tool returned an invalid result` | [Ошибки инструментов](#permission-prompt-tool-returned-an-invalid-result) |

339| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |340| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |

340| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |341| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |

341| `<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories` | [Ошибки инструментов](#setting-blocks-writes-outside-the-working-directories) |342| `<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories` | [Ошибки инструментов](#setting-blocks-writes-outside-the-working-directories) |


420| `The Claude Code program for this computer, the <build> build, could not be found` | [Ошибки обёрток и IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |421| `The Claude Code program for this computer, the <build> build, could not be found` | [Ошибки обёрток и IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |

421| `Restored the code, but skipped N files` | [Rewind warnings and errors](#restored-the-code-but-skipped-files) |422| `Restored the code, but skipped N files` | [Rewind warnings and errors](#restored-the-code-but-skipped-files) |

422| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind warnings and errors](#no-files-were-restored) |423| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind warnings and errors](#no-files-were-restored) |

424| `The file backups are still being copied. Nothing was changed. Try again in a moment.` | Снова выберите ту же точку в [`/rewind`](https://code.claude.com/docs/ru/checkpointing). Если вы восстанавливаете код вскоре после [`/branch`](https://code.claude.com/docs/ru/sessions#branch-a-session), Claude Code может всё ещё копировать резервные копии файлов в новую сессию. |

423| `Transcript writes are failing (...)` | [Session saving warnings](#transcript-writes-are-failing) |425| `Transcript writes are failing (...)` | [Session saving warnings](#transcript-writes-are-failing) |

424| `Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set` | [Session saving warnings](#transcript-saving-is-off-skip-prompt-history) |426| `Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set` | [Session saving warnings](#transcript-saving-is-off-skip-prompt-history) |

425| `Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker` | [Session saving warnings](#transcript-saving-is-off-child-session-marker) |427| `Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker` | [Session saving warnings](#transcript-saving-is-off-child-session-marker) |


431| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Configuration warnings](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |433| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Configuration warnings](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

432| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Configuration warnings](#skill-or-command-name-refused) |434| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Configuration warnings](#skill-or-command-name-refused) |

433| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |435| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |

436| `Two Claude Code config files exist: this run uses <path>, not <path>` | [Предупреждения конфигурации](#two-claude-code-config-files-exist) |

434| `Make this change again later: <path> could not be updated, so it applies to this session only` | [Предупреждения конфигурации](#make-this-change-again-later) |437| `Make this change again later: <path> could not be updated, so it applies to this session only` | [Предупреждения конфигурации](#make-this-change-again-later) |

435| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |438| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |

436| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |439| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |


468| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it` | [Значения и предупреждения для `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](https://code.claude.com/docs/ru/model-config#claude_code_auto_compact_window-values) |471| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it` | [Значения и предупреждения для `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](https://code.claude.com/docs/ru/model-config#claude_code_auto_compact_window-values) |

469| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/ru/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |472| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/ru/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |

470| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/ru/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |473| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/ru/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |

474| `Model "<model>" isn't recognized · did you mean "<suggestion>"?` / `Claude Code doesn't recognize the model "<model>". Did you mean "<suggestion>"?` | [Исправление опечатки в имени модели](https://code.claude.com/docs/ru/model-config.md#fix-a-mistyped-model-name) |

471| `[claude-code:unrecognized_model]` | [Configuration warnings](#unrecognized-model-id-on-a-request) |475| `[claude-code:unrecognized_model]` | [Configuration warnings](#unrecognized-model-id-on-a-request) |

472| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Configuration warnings](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |476| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Configuration warnings](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |

473| `Sandbox mask files left behind at write-deny paths` | [Configuration warnings](#stale-sandbox-mask-files-left-by-a-killed-session) |477| `Sandbox mask files left behind at write-deny paths` | [Configuration warnings](#stale-sandbox-mask-files-left-by-a-killed-session) |


909Fable 5.1 now uses usage credits · the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change913Fable 5.1 now uses usage credits · the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change

910```914```

911 915 

912Сообщения называют модель Fable сессии, поэтому на Fable 5 они гласят `continuing on Fable 5` и `Fable 5 now uses usage credits`. До версии v2.1.257 первое сообщение начиналось с `Fable 5 limit reached`.916Сообщения называют модель Fable сессии, поэтому на Fable 5.2 они гласят `continuing on Fable 5.2` и `Fable 5.2 now uses usage credits`. До версии v2.1.257 первое сообщение начиналось с `Fable 5 limit reached`.

913 917 

914Это происходит в сессиях [Remote Control](https://code.claude.com/docs/ru/remote-control.md), [фоновых сессиях](https://code.claude.com/docs/ru/agent-view.md), сессиях участников [команды агентов](https://code.claude.com/docs/ru/agent-teams.md) и сессиях, которые другое приложение размещает через Agent SDK. О том, когда Claude Code закрывает запрос, см. [Fable and usage credits](https://code.claude.com/docs/ru/model-config.md#fable-and-usage-credits).918Это происходит в сессиях [Remote Control](https://code.claude.com/docs/ru/remote-control.md), [фоновых сессиях](https://code.claude.com/docs/ru/agent-view.md), сессиях участников [команды агентов](https://code.claude.com/docs/ru/agent-teams.md) и сессиях, которые другое приложение размещает через Agent SDK. О том, когда Claude Code закрывает запрос, см. [Fable and usage credits](https://code.claude.com/docs/ru/model-config.md#fable-and-usage-credits).

915 919 


983 987 

984### Spend limit reached988### Spend limit reached

985 989 

986Вы подключаетесь через [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway) и превысили [spend cap](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md), установленный вашим оператором шлюза. Шлюз блокирует ваши запросы до сброса указанного периода или пока оператор не повысит ограничение. Он помечает каждый заблокированный ответ `429` как `x-should-retry: false`, поэтому Claude Code показывает это сообщение без повторных попыток.990Вы подключаетесь через [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway) и достигли [spend cap](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md), установленного вашим оператором шлюза. Шлюз блокирует ваши запросы, пока оператор не повысит ограничение или пока ограничение не сбросится, если оно больше \$0. Он помечает каждый заблокированный ответ `429` как `x-should-retry: false`, поэтому в терминале Claude Code показывает это сообщение без повторных попыток.

987 991 

988```text theme={null}992```text theme={null}

989spend limit reached (daily; resets 2026-08-09 00:00 UTC)993spend limit reached · resets Dec 1

990```994```

991 995 

992Сообщение указывает период ограничения и время сброса, а если оператор настроил `blocked_message`, за ним следуют его инструкции. До версии v2.1.225 сообщение гласило только `spend limit reached`; шлюз на более старой версии по-прежнему отправляет эту краткую форму.996Проверьте, есть ли в сообщении дата:

997 

998* **С датой**: ограничение сбрасывается в 00:00 UTC в указанную дату

999* **Без даты**: ваше ограничение равно \$0, или ваш шлюз работает на версии более ранней, чем v2.1.225

1000 

1001Любой дополнительный текст в сообщении — это примечание от вашего оператора шлюза.

1002 

1003Начиная с версии v2.1.225 и до v2.1.319 на сервере шлюза сообщение указывало период ограничения и время сброса, как в `spend limit reached (daily; resets 2026-08-09 00:00 UTC)`.

993 1004 

994**Что делать:**1005**Что делать:**

995 1006 

996* Дождитесь времени сброса, указанного в сообщении, или следуйте инструкциям оператора, если сообщение их содержит1007* Если в сообщении есть дата, дождитесь сброса или следуйте примечанию оператора, если сообщение его содержит

997* Попросите вашего оператора шлюза повысить ограничение, если вы регулярно его достигаете1008* Попросите вашего оператора шлюза повысить ограничение, если в сообщении нет даты, если вы по-прежнему заблокированы после этой даты или если вы регулярно достигаете ограничения

1009 

1010Второе сообщение шлюза, `This request exceeds your group's budget`, означает, что [общий бюджет](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#pooled-budget-order) вашей группы исчерпан. Выполните указанные в нём шаги:

1011 

1012```text theme={null}

1013This request exceeds your group's budget. Ask your organization's admins to raise it, or try again after it resets on November 1 at 00:00 UTC.

1014```

998 1015 

999Связанное сообщение, `spend limit unavailable`, означает, что шлюз не смог прочитать свои записи о расходах и заблокировал запрос в качестве меры предосторожности, а не из-за превышения вашего ограничения. Обычно это проходит само; если проблема сохраняется, сообщите вашему оператору шлюза.1016Связанное сообщение, `spend limit unavailable`, означает, что шлюз не смог прочитать свои записи о расходах и заблокировал запрос в качестве меры предосторожности, а не из-за превышения вашего ограничения. Обычно это проходит само; если проблема сохраняется, сообщите вашему оператору шлюза.

1000 1017 


2287 2304 

2288### Couldn't send feedback2305### Couldn't send feedback

2289 2306 

2290Сообщение, начинающееся с `Couldn't send feedback`, означает, что сервис отзывов не подтвердил получение отчёта, который вы отправили из [диалогового окна `/feedback`, `/bug` или `/share`](https://code.claude.com/docs/ru/commands#all-commands), или [черновика отзыва](https://code.claude.com/docs/ru/tools-reference.md#sendfeedback-tool-behavior) из очереди. Считайте, что он не получен. Если после двоеточия следует предложение о вашей организации, ваша организация не принимает отзывы, и тот же отчёт получит тот же ответ.2307Сообщение, начинающееся с `Couldn't send feedback`, означает, что сервис отзывов не подтвердил получение отчёта, который вы отправили из [диалогового окна `/feedback`, `/bug` или `/share`](https://code.claude.com/docs/ru/commands#all-commands), или [черновика отзыва](https://code.claude.com/docs/ru/tools-reference.md#sendfeedback-tool-behavior) из очереди. Считайте, что он не получен. Если после двоеточия следует предложение о вашей организации, ваша организация не принимает отзывы.

2291 2308 

2292Второй из этих двух примеров — отказ организации:2309Второй пример — отказ организации:

2293 2310 

2294```text wrap theme={null}2311```text wrap theme={null}

2295Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.2312Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.


2300**Что делать:**2317**Что делать:**

2301 2318 

2302* **Вход не выполнен**: сообщение продолжается текстом `: not signed in. Run /login, then retry.` Выполните `/login`, затем отправьте снова2319* **Вход не выполнен**: сообщение продолжается текстом `: not signed in. Run /login, then retry.` Выполните `/login`, затем отправьте снова

2303* **Отказ вашей организации**: например, `: Feedback has not been enabled for your organization.` или `: Feedback collection is not available for organizations with custom data retention policies.` Если сообщение добавляет `To report a bug, open an issue`, создайте issue на [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Черновик в очереди остаётся в очереди, и вы можете [удалить его](https://code.claude.com/docs/ru/tools-reference.md#discard-or-keep-a-draft)2320* **Отказ вашей организации**: например, `: Feedback has not been enabled for your organization.` или `: Feedback collection is not available for organizations with custom data retention policies.` Если сообщение добавляет `To report a bug, open an issue`, создайте issue на [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). После этого `/feedback` в течение семи дней может отвечать, что функция [отключена политикой вашей организации](#feedback-is-disabled-by-your-organizations-policy). Черновик в очереди остаётся в очереди и по-прежнему [истекает по расписанию](https://code.claude.com/docs/ru/tools-reference.md#discard-or-keep-a-draft)

2304* **Отклонённые учётные данные**: сообщение продолжается текстом `: the sign-in this session uses is not allowed to send feedback` или `: the server did not accept the credentials this session uses`. Выполните `/status` в промпте Claude Code, чтобы увидеть, какой вход, токен или API-ключ отправляет эта сессия2321* **Отклонённые учётные данные**: сообщение продолжается текстом `: the sign-in this session uses is not allowed to send feedback` или `: the server did not accept the credentials this session uses`. Выполните `/status` в промпте Claude Code, чтобы увидеть, какой вход, токен или API-ключ отправляет эта сессия

2305* **`(request timed out)` или `(couldn't reach the service)` сразу после `Couldn't send feedback`**: отправьте отчёт или черновик из очереди снова. Диалоговое окно сохраняет ваш текст, а сообщение для черновика в очереди содержит `The draft is still queued.` Если другие запросы тоже завершаются ошибкой, проверьте сетевое подключение и см. [Unable to connect to API](#unable-to-connect-to-api). Если сбой повторяется, создайте отчёт на [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)2322* **`(request timed out)` или `(couldn't reach the service)` сразу после `Couldn't send feedback`**: отправьте отчёт или черновик из очереди снова. Диалоговое окно сохраняет ваш текст, а сообщение для черновика в очереди содержит `The draft is still queued.` Если другие запросы тоже завершаются ошибкой, проверьте сетевое подключение и см. [Unable to connect to API](#unable-to-connect-to-api). Если сбой повторяется, создайте отчёт на [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)

2306* **`(server returned <status>)` или отсутствие причины сразу после `Couldn't send feedback`**: статус — это код ответа сервиса. Если сервис прислал собственное сообщение, оно следует за статусом, например `(server returned 403: Access Forbidden)`. Если сбой повторяется, создайте отчёт на [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)2323* **`(server returned <status>)` или отсутствие причины сразу после `Couldn't send feedback`**: статус — это код ответа сервиса. Если сервис прислал собственное сообщение, оно следует за статусом, например `(server returned 403: Access Forbidden)`. Если сбой повторяется, создайте отчёт на [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)


3724 3741 

3725Родственные сообщения появляются ещё до запуска команды:3742Родственные сообщения появляются ещё до запуска команды:

3726 3743 

3727* `Shell command permission check failed for pattern "..."`: проверка разрешений не позволила выполнить команду. В разделе [Проверки разрешений для внедрённых команд](https://code.claude.com/docs/ru/skills.md#permission-checks-on-injected-commands) описано, какие результаты прерывают выполнение в каждом режиме разрешений и как заранее разрешить команду с помощью `allowed-tools`3744* `Shell command permission check failed for pattern "..."`: проверка разрешений команды не пропустила её. В разделе [Проверки разрешений для внедрённых команд](https://code.claude.com/docs/ru/skills.md#permission-checks-on-injected-commands) описано, какие результаты приводят к прерыванию в каждом режиме разрешений и как заранее одобрить команду с помощью `allowed-tools`

3728* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter скилла требует bash на компьютере, где его нет. Установите Git for Windows или измените frontmatter на `shell: powershell`. См. [Как выполняются внедрённые команды](https://code.claude.com/docs/ru/skills.md#how-injected-commands-run)3745* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter скилла требует bash на компьютере, где его нет. Установите Git for Windows или измените frontmatter на `shell: powershell`. См. [Как выполняются внедрённые команды](https://code.claude.com/docs/ru/skills.md#how-injected-commands-run)

3729 3746 

3730**Что делать:**3747**Что делать:**


3878 3895 

3879* **Вы не передали базовую ветку**: Claude Code сравнивал с веткой репозитория по умолчанию и предлагает явно передать вашу базовую ветку, как в примере выше3896* **Вы не передали базовую ветку**: Claude Code сравнивал с веткой репозитория по умолчанию и предлагает явно передать вашу базовую ветку, как в примере выше

3880* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка гласит ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3897* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка гласит ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3881* **Вы передали базовую ветку, которой не было в вашем клоне**: Claude Code загрузил её из origin перед сравнением. Подсказка гласит ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; если Claude Code не может определить, является ли ваш клон неполным (shallow), он вместо этого предлагает `git fetch --unshallow origin`. До версии v2.1.221 подсказка предлагала `git fetch --unshallow origin` для каждой загруженной базовой ветки, а на полном клоне эта команда завершается ошибкой `fatal: --unshallow on a complete repository does not make sense`.3898* **Вы передали базовую ветку, которой не было в вашем клоне**: Claude Code получил её из origin перед сравнением. Подсказка гласит ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; если Claude Code не может определить, является ли ваш клон неполным (shallow), он вместо этого предлагает `git fetch --unshallow origin`. До v2.1.221 подсказка предлагала `git fetch --unshallow origin` для любой полученной базовой ветки, а в полном клоне эта команда завершается ошибкой `fatal: --unshallow on a complete repository does not make sense`.

3882 3899 

3883**Что делать:**3900**Что делать:**

3884 3901 


4227 4244 

4228### /feedback is disabled by your organization's policy4245### /feedback is disabled by your organization's policy

4229 4246 

4230Это сообщение означает, что политика вашей организации не разрешает отправку отзывов о продукте из Claude Code, поэтому `/feedback`, `/bug` и `/share` не открывают диалоговое окно отзыва. Сообщение называет команду, которую вы ввели в промпте Claude Code:4247Это сообщение означает, что отправка отзывов о продукте отключена, поэтому введённая вами команда не открывает диалоговое окно отзыва. Это сообщение вызывают как политика организации, так и предыдущий отказ:

4248 

4249* **Политика организации**: политика вашей организации не разрешает отправлять отзывы о продукте из Claude Code. `/feedback`, `/bug` и `/share` отвечают этим сообщением.

4250* **Предыдущий отказ**: сервис отзывов отклонил отправленный вами отчёт, например с сообщением [`Couldn't send feedback: Feedback has not been enabled for your organization.`](#couldnt-send-feedback) После этого `/feedback` и `/bug` могут отвечать этим сообщением. Оно действует на этом компьютере в течение семи дней с момента отказа. Это относится к любому тарифному плану, включая Pro и Max.

4251 

4252Сообщение указывает команду, которую вы ввели в промпте Claude Code:

4231 4253 

4232```text wrap theme={null}4254```text wrap theme={null}

4233/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.4255/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.


4238**Что делать:**4260**Что делать:**

4239 4261 

4240* Чтобы сообщить об ошибке, создайте issue на [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Issues там может прочитать любой, поэтому не включайте код, транскрипты и любую другую конфиденциальную информацию.4262* Чтобы сообщить об ошибке, создайте issue на [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Issues там может прочитать любой, поэтому не включайте код, транскрипты и любую другую конфиденциальную информацию.

4263* После предыдущего отказа подождите, пока пройдут семь дней, затем отправьте отчёт снова, чтобы проверить, отклоняет ли его сервис по-прежнему

4264 

4265До v2.1.319 предыдущий отказ не вызывал это сообщение.

4241 4266 

4242До версии v2.1.302 полное сообщение выглядело так: `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`4267До версии v2.1.302 полное сообщение выглядело так: `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`

4243 4268 


4654* Чтобы дать больше времени на ответ, задайте более длинный [`timeout`](https://code.claude.com/docs/ru/mcp#time-limits-on-mcp-tool-calls) в миллисекундах в записи конфигурации сервера, например `"timeout": 600000` для 10 минут4679* Чтобы дать больше времени на ответ, задайте более длинный [`timeout`](https://code.claude.com/docs/ru/mcp#time-limits-on-mcp-tool-calls) в миллисекундах в записи конфигурации сервера, например `"timeout": 600000` для 10 минут

4655* Или выполните задачу в интерактивной сессии и сами ответьте в [диалоге](https://code.claude.com/docs/ru/mcp.md#respond-to-mcp-elicitation-requests) сервера4680* Или выполните задачу в интерактивной сессии и сами ответьте в [диалоге](https://code.claude.com/docs/ru/mcp.md#respond-to-mcp-elicitation-requests) сервера

4656 4681 

4682### Permission prompt tool returned an invalid result

4683 

4684Инструмент, который вы передали в [`--permission-prompt-tool`](https://code.claude.com/docs/ru/cli-reference#cli-flags), вернул ответ, который Claude Code не смог прочитать, поэтому ожидавший этого ответа вызов инструмента не был выполнен, даже если ответ разрешал вызов:

4685 

4686```text wrap theme={null}

4687Permission prompt tool returned an invalid result. Expected a single text block param with type="text" and a string text value.

4688```

4689 

4690**Что делать:**

4691 

4692* Возвращайте один текстовый блок, текст которого — `{"behavior": "allow"}` или `{"behavior": "deny", "message": "<reason>"}`. Чтобы изменить входные данные, добавьте `updatedInput` в объект `allow`. С версии 2.1.86 по 2.1.206 для `allow` требовалось `"updatedInput": {}`, чтобы сохранить входные данные.

4693* Не возвращайте [`structuredContent`](https://code.claude.com/docs/ru/agent-sdk/custom-tools#return-structured-data), который ваш MCP SDK может добавлять самостоятельно. Например, регистрируйте инструмент:

4694 * **`FastMCP` или `MCPServer` из `mcp.server`**: с `structured_output=False`

4695 * **`FastMCP` из `fastmcp`**: с `output_schema=None` и возвращайте строку

4696 * **MCP TypeScript SDK**: без `outputSchema`

4697* Если ошибка возникает только при входных данных размером около 40 КБ или больше, не копируйте входные данные в `updatedInput` или в `message` отказа. Чтобы изменять такие большие входные данные, [увеличьте лимит вывода вашего инструмента запроса разрешений](https://code.claude.com/docs/ru/mcp.md#raise-the-limit-for-a-specific-tool).

4698 

4657### Agent would be spawned with zero tools4699### Agent would be spawned with zero tools

4658 4700 

4659Каждая запись в [списке `tools`](https://code.claude.com/docs/ru/sub-agents#supported-frontmatter-fields) субагента не соответствовала ни одному используемому инструменту, поэтому Claude Code отказался запускать субагента: без инструментов он не мог действовать. Сообщение группирует ваши записи по причине ошибки:4701Каждая запись в [списке `tools`](https://code.claude.com/docs/ru/sub-agents#supported-frontmatter-fields) субагента не соответствовала ни одному используемому инструменту, поэтому Claude Code отказался запускать субагента: без инструментов он не мог действовать. Сообщение группирует ваши записи по причине ошибки:


6432 6474 

6433До версии 2.1.257 `claude doctor` не отмечал эти файлы; более ранние версии оставляют те же заполнители позади, когда сеанс убивается.6475До версии 2.1.257 `claude doctor` не отмечал эти файлы; более ранние версии оставляют те же заполнители позади, когда сеанс убивается.

6434 6476 

6477### Two Claude Code config files exist

6478 

6479Claude Code использует первый файл, указанный в этом сообщении, поэтому содержимое второго файла не действует. Первый файл — `.config.json`, прежнее имя [`.claude.json`](https://code.claude.com/docs/ru/claude-directory#ce-claude-json). Сообщение включает проверку, позволяющую определить, в каком файле хранится ваша конфигурация:

6480 

6481```text wrap theme={null}

6482Two Claude Code config files exist: this run uses /home/you/.claude/.config.json, not /home/you/.claude.json. The file with the higher count here is usually yours, and this prints nothing else from them: grep -c -E '"(hasCompletedOnboarding|mcpServers)"' "/home/you/.claude/.config.json" "/home/you/.claude.json". To end this: if several hosts share this home, first get every host to version 2.1.319 or later, since an older one can write a moved .config.json back. Then stop your Claude processes on every host, move aside the one you do not want, and start none until no host lists it.

6483```

6484 

6485В Windows вместо предложения с командой `grep` выводится `The one with hasCompletedOnboarding or mcpServers in it is usually yours.`

6486 

6487**Что делать:**

6488 

6489**1. Найдите файл с вашей конфигурацией**

6490 

6491* **В Windows**: откройте оба файла и посмотрите, в каком из них есть `hasCompletedOnboarding` или `mcpServers`

6492* **На других платформах**: выполните в оболочке команду `grep` из сообщения и посмотрите, у какого файла счётчик выше

6493 

6494**2. Обновите все хосты, использующие общий домашний каталог**

6495 

6496Если этот домашний каталог используют несколько хостов, сначала обновите Claude Code на каждом хосте до версии, указанной в сообщении, или более поздней. Более старая версия может записать перемещённый `.config.json` обратно.

6497 

6498**3. Остановите Claude Code**

6499 

6500Остановите процессы Claude Code на всех хостах.

6501 

6502**4. Переместите ненужный файл**

6503 

6504Переместите ненужный файл из его папки. Именно переместите, а не удаляйте, чтобы его можно было вернуть.

6505 

6506**5. Подождите, прежде чем снова запускать Claude Code**

6507 

6508Не запускайте Claude Code ни на одном хосте, пока ни один хост больше не видит перемещённый файл по его старому пути.

6509 

6510Сообщение перестаёт появляться, как только одного из двух файлов больше нет.

6511 

6435### Make this change again later: \~/.claude.json could not be updated6512### Make this change again later: \~/.claude.json could not be updated

6436 6513 

6437Это уведомление в stderr означает, что изменение в [`~/.claude.json`](https://code.claude.com/docs/ru/claude-directory#ce-claude-json), например вход или ответ на запрос доверия, не было сохранено в файл:6514Это уведомление в stderr означает, что изменение в [`~/.claude.json`](https://code.claude.com/docs/ru/claude-directory#ce-claude-json), например вход или ответ на запрос доверия, не было сохранено в файл:


6450 6527 

6451* Настроенный [`--fallback-model`](https://code.claude.com/docs/ru/cli-reference#cli-flags) берёт на себя управление после ошибки доступности только для этого хода с уведомлением в расшифровке6528* Настроенный [`--fallback-model`](https://code.claude.com/docs/ru/cli-reference#cli-flags) берёт на себя управление после ошибки доступности только для этого хода с уведомлением в расшифровке

6452* Проверка запуска Amazon Bedrock или Google Cloud's Agent Platform обнаруживает, что ваша модель по умолчанию недоступна, или ваша учётная запись [теряет доступ к ней во время сеанса](https://code.claude.com/docs/ru/amazon-bedrock.md#when-a-model-is-disabled-mid-session)6529* Проверка запуска Amazon Bedrock или Google Cloud's Agent Platform обнаруживает, что ваша модель по умолчанию недоступна, или ваша учётная запись [теряет доступ к ней во время сеанса](https://code.claude.com/docs/ru/amazon-bedrock.md#when-a-model-is-disabled-mid-session)

6453* [Автоматический переход на резервную модель](https://code.claude.com/docs/ru/model-config.md#automatic-model-fallback) на Fable 5.1, Fable 5, Opus 5.5, Sonnet 5.5 и Opus 5 переводит сеанс на резервную модель категории с флагом, когда у этой категории она есть, и показывает уведомление в расшифровке6530* [Автоматический переход на резервную модель](https://code.claude.com/docs/ru/model-config.md#automatic-model-fallback) на моделях Fable, Opus 5.5, Sonnet 5.5 и Opus 5 переводит сессию на резервную модель помеченной категории, если у этой категории она есть. В транскрипте появляется уведомление

6454 6531 

6455Проверка выбора модели ниже ловит второй и третий случаи; первый появляется как уведомление в расшифровке, а не как изменение `/model`. [Конфигурация модели](https://code.claude.com/docs/ru/model-config.md) объясняет, когда применяется каждый переход на резервную модель.6532Проверка выбора модели ниже ловит второй и третий случаи; первый появляется как уведомление в расшифровке, а не как изменение `/model`. [Конфигурация модели](https://code.claude.com/docs/ru/model-config.md) объясняет, когда применяется каждый переход на резервную модель.

6456 6533 

fast-mode.md +21 −16

Details

4 4 

5# Ускорьте ответы с помощью быстрого режима5# Ускорьте ответы с помощью быстрого режима

6 6 

7> Получайте более быстрые ответы Opus в Claude Code, включив быстрый режим.7> Получайте более быстрые ответы Opus и Fable в Claude Code, включая и отключая быстрый режим с помощью `/fast`.

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Быстрый режим для Claude Opus 5.5 доступен, а быстрый режим для Claude Opus 5 и Claude Opus 4.8 находится в [research preview](#research-preview).11> Быстрый режим для Claude Fable 5.2 и Claude Opus 5.5 доступен. Быстрый режим для Claude Opus 5 и Claude Opus 4.8 находится в [research preview](#research-preview).

12 12 

13Быстрый режим — это высокоскоростная конфигурация для Claude Opus, которая делает модель в 2,5 раза быстрее при более высокой стоимости за токен. Включайте его с помощью `/fast`, когда вам нужна скорость для интерактивной работы, такой как быстрая итерация или живая отладка, и отключайте, когда стоимость важнее, чем задержка.13Быстрый режим — это высокоскоростная конфигурация для поддерживаемых моделей, которая делает модель до 2,5 раза быстрее при более высокой стоимости за токен. Включайте его с помощью `/fast`, когда вам нужна скорость для интерактивной работы, такой как быстрая итерация или живая отладка, и отключайте, когда стоимость важнее, чем задержка.

14 14 

15Быстрый режим — это не другая модель. Он использует Claude Opus с другой конфигурацией API, которая приоритизирует скорость над экономичностью. Вы получаете идентичное качество и возможности с более быстрыми ответами. Быстрый режим поддерживается на Opus 5.5, Opus 5 и Opus 4.8. Он недоступен на Sonnet, Haiku или других моделях.15Быстрый режим использует ту же модель с другой конфигурацией API, которая приоритизирует скорость над экономичностью, поэтому качество и возможности остаются прежними. Быстрый режим поддерживается на Fable 5.2, Opus 5.5, Opus 5 и Opus 4.8. Он недоступен на Sonnet, Haiku или других моделях.

16 16 

17> [!WARNING]17> [!WARNING]

18>18>


26Что нужно знать:26Что нужно знать:

27 27 

28* Используйте `/fast` для включения быстрого режима в Claude Code CLI. Расширение [VS Code](https://code.claude.com/docs/ru/vs-code.md) предлагает команду **Toggle fast mode** при выборе модели, которая поддерживает быстрый режим. Claude Code сохраняет этот переключатель в вашей настройке [`fastMode`](#toggle-fast-mode).28* Используйте `/fast` для включения быстрого режима в Claude Code CLI. Расширение [VS Code](https://code.claude.com/docs/ru/vs-code.md) предлагает команду **Toggle fast mode** при выборе модели, которая поддерживает быстрый режим. Claude Code сохраняет этот переключатель в вашей настройке [`fastMode`](#toggle-fast-mode).

29* Цены на быстрый режим составляют \$8/\$40 за MTok входа/выхода на Opus 5.5 и \$10/\$50 на Opus 5 и Opus 4.8.29* Цены на быстрый режим составляют \$16/\$80 за MTok входа/выхода на Fable 5.2, \$8/\$40 на Opus 5.5 и \$10/\$50 на Opus 5 и Opus 4.8.

30* Доступно пользователям Claude Code на планах подписки (Pro/Max/Ultra/Team/Enterprise) и на Claude Console. Организациям Team и Enterprise требуется, чтобы Owner сначала это включил, а организациям Console требуется сначала получить предоставленный доступ, чтобы использовать его с Opus 5 или Opus 4.8. Оба варианта описаны в разделе [Требования](#requirements).30* Доступно пользователям Claude Code на планах подписки (Pro/Max/Ultra/Team/Enterprise) и на Claude Console. Организациям Team и Enterprise требуется, чтобы Owner сначала это включил, а организациям Console требуется сначала получить предоставленный доступ, чтобы использовать его с Opus 5 или Opus 4.8. Оба варианта описаны в разделе [Требования](#requirements).

31* Для пользователей Claude Code на планах подписки (Pro/Max/Ultra/Team/Enterprise) быстрый режим доступен только через кредиты использования и не включен в ограничения частоты запросов подписки.31* Для пользователей Claude Code на планах подписки (Pro/Max/Ultra/Team/Enterprise) быстрый режим доступен только через кредиты использования и не включен в ограничения частоты запросов подписки.

32 32 


35В CLI включайте быстрый режим одним из следующих способов:35В CLI включайте быстрый режим одним из следующих способов:

36 36 

37* Запустите `/fast`, нажмите Space для включения или отключения, затем нажмите Enter для подтверждения37* Запустите `/fast`, нажмите Space для включения или отключения, затем нажмите Enter для подтверждения

38* На модели, которая поддерживает быстрый режим, установите `"fastMode": true` в вашем [файле пользовательских настроек](https://code.claude.com/docs/ru/settings.md). Если вы установите его на любой другой модели, вы останетесь на этой модели с отключенным быстрым режимом.38* На модели, которая поддерживает быстрый режим, установите `"fastMode": true` в вашем [файле пользовательских настроек](https://code.claude.com/docs/ru/settings.md). Если вы установите его на любой другой модели, вы останетесь на этой модели с отключенным быстрым режимом. На Fable 5.2 эта настройка сама по себе не действует, пока вы не запустите `/fast` во время использования Fable 5.2.

39 39 

40По умолчанию быстрый режим, который вы включаете в интерактивной сессии, сохраняется между сессиями на поддерживаемой модели. Вы можете настроить быстрый режим на сброс в каждой сессии. Подробности см. в разделе [обязательное согласие за сессию](#require-per-session-opt-in).40По умолчанию быстрый режим, который вы включаете в интерактивной сессии, сохраняется между сессиями на поддерживаемой модели. На Fable 5.2 он сохраняется, только если вы [включили его во время использования Fable 5.2](#switch-models-while-fast-mode-is-on). Вы можете настроить быстрый режим на сброс в каждой сессии. Подробности см. в разделе [обязательное согласие за сессию](#require-per-session-opt-in).

41 41 

42Вне [облачного сеанса](#use-fast-mode-in-cloud-sessions), в [неинтерактивном режиме](https://code.claude.com/docs/ru/headless.md) с флагом `-p` команда `/fast` работает только в сеансе, запущенном с быстрым режимом в его значении [`--settings`](https://code.claude.com/docs/ru/cli-reference#cli-flags), например `claude -p --settings '{"fastMode": true}'`; переключение затем применяется только к этому сеансу и не сохраняется как ваше значение по умолчанию. Форма `-p` требует Claude Code v2.1.205 или более поздней версии. В остальных случаях в неинтерактивном режиме команда сообщает, что быстрый режим недоступен.42Вне [облачного сеанса](#use-fast-mode-in-cloud-sessions), в [неинтерактивном режиме](https://code.claude.com/docs/ru/headless.md) с флагом `-p` команда `/fast` работает только в сеансе, запущенном с быстрым режимом в его значении [`--settings`](https://code.claude.com/docs/ru/cli-reference#cli-flags), например `claude -p --settings '{"fastMode": true}'`; переключение затем применяется только к этому сеансу и не сохраняется как ваше значение по умолчанию. Форма `-p` требует Claude Code v2.1.205 или более поздней версии. В остальных случаях в неинтерактивном режиме команда сообщает, что быстрый режим недоступен.

43 43 


48Когда вы включаете быстрый режим с помощью `/fast`:48Когда вы включаете быстрый режим с помощью `/fast`:

49 49 

50* Если ваша текущая модель не поддерживает быстрый режим, Claude Code переключается на Opus50* Если ваша текущая модель не поддерживает быстрый режим, Claude Code переключается на Opus

51* Быстрый режим на Fable 5.2 требует Claude Code v2.1.321 или более поздней версии

51* Вы увидите сообщение подтверждения: "Fast mode ON"52* Вы увидите сообщение подтверждения: "Fast mode ON"

52* Рядом с приглашением появляется небольшой значок `↯` во время активного быстрого режима53* Рядом с приглашением появляется небольшой значок `↯` во время активного быстрого режима

53* Запустите `/fast` снова в любое время, чтобы проверить, включен или отключен быстрый режим54* Запустите `/fast` снова в любое время, чтобы проверить, включен или отключен быстрый режим

54 55 

55Opus 5.5 является моделью по умолчанию для быстрого режима в Claude Code v2.1.280 и позже. До версии v2.1.280 быстрый режим по умолчанию использовал Opus 5, начиная с версии v2.1.219.56Opus 5.5 является моделью по умолчанию для быстрого режима в Claude Code v2.1.280 и позже. До версии v2.1.280 быстрый режим по умолчанию использовал Opus 5, начиная с версии v2.1.219.

56 57 

57Когда вы отключаете быстрый режим с помощью `/fast` снова, вы остаетесь на Opus. Чтобы переключиться на другую модель, используйте `/model`.58Когда вы отключаете быстрый режим с помощью `/fast` снова, вы остаетесь на текущей модели. Чтобы переключиться на другую модель, используйте `/model`.

58 59 

59### Переключение моделей во время активного быстрого режима60### Переключение моделей во время активного быстрого режима

60 61 

61Быстрый режим следует вашим переключениям моделей в обоих направлениях:62Быстрый режим следует вашим переключениям моделей:

62 63 

63* **Переключение в сторону**: когда вы переключаетесь на модель, которая не поддерживает быстрый режим, Claude Code отключает быстрый режим. Это включает Opus 4.7; до версии v2.1.221 быстрый режим оставался включенным после переключения на Opus 4.7 и API отклонял запросы.64* **Переключение в сторону**: когда вы переключаетесь на модель, которая не поддерживает быстрый режим, Claude Code отключает быстрый режим. Это включает Opus 4.7; до версии v2.1.221 быстрый режим оставался включенным после переключения на Opus 4.7 и API отклонял запросы.

64* **Переключение обратно**: переключение обратно на поддерживаемую модель Opus включает быстрый режим снова, когда ваше сохраненное предпочтение быстрого режима включено, то же самое предпочтение, с которого новый сеанс начинается по умолчанию. Переключение модели никогда не включает быстрый режим для сеанса, чье сохраненное предпочтение отключено, и с настроенным [обязательным согласием за сеанс](#require-per-session-opt-in) переключение обратно также не включает его; запустите `/fast` для его повторного включения.65* **Переключение обратно**: быстрый режим снова включается на поддерживаемой модели Opus, когда ваше сохраненное предпочтение включено. С [обязательным согласием за сессию](#require-per-session-opt-in) вместо этого запустите `/fast`.

66* **Переключение на Fable 5.2**: быстрый режим отключается, если только вы не включили его во время использования Fable 5.2. Чтобы включить его, запустите `/fast` на Fable 5.2. Если вы не настроили [обязательное согласие за сессию](#require-per-session-opt-in), это сохраняется между сессиями, пока вы не отключите его или не включите с другой моделью.

65 67 

66Всякий раз, когда переключение модели включает или отключает быстрый режим, Claude Code показывает подтверждение `Fast mode ON` или `Fast mode OFF`, и значок `↯` появляется во время активного быстрого режима. Это применяется независимо от того, переключаетесь ли вы с помощью `/model`, с помощью [`/config model=<model>`](https://code.claude.com/docs/ru/settings) или с устройства, подключенного через [Remote Control](https://code.claude.com/docs/ru/remote-control.md).68Всякий раз, когда переключение модели включает или отключает быстрый режим, Claude Code показывает подтверждение `Fast mode ON` или `Fast mode OFF`, и значок `↯` появляется во время активного быстрого режима. Это применяется независимо от того, переключаетесь ли вы с помощью `/model`, с помощью [`/config model=<model>`](https://code.claude.com/docs/ru/settings) или с устройства, подключенного через [Remote Control](https://code.claude.com/docs/ru/remote-control.md).

67 69 


77 79 

78## Понимание компромисса стоимости80## Понимание компромисса стоимости

79 81 

80Быстрый режим имеет более высокую цену за токен, чем стандартный Opus:82Быстрый режим имеет более высокую цену за токен, чем стандартная скорость:

81 83 

82| Модель | Входные данные (MTok) | Выходные данные (MTok) |84| Модель | Входные данные (MTok) | Выходные данные (MTok) |

83| - | - | - |85| - | - | - |

86| Fable 5.2 | \$16 | \$80 |

84| Opus 5.5 | \$8 | \$40 |87| Opus 5.5 | \$8 | \$40 |

85| Opus 5 | \$10 | \$50 |88| Opus 5 | \$10 | \$50 |

86| Opus 4.8 | \$10 | \$50 |89| Opus 4.8 | \$10 | \$50 |

87 90 

88Цены на быстрый режим одинаковы по всему контекстному окну из 1M токенов. Для сравнения со стандартной ставкой Opus см. [справочник по ценам Claude](https://platform.claude.com/docs/ru/about-claude/pricing).91Цены на быстрый режим одинаковы по всему контекстному окну из 1M токенов. Для сравнения со стандартной ставкой см. [справочник по ценам Claude](https://platform.claude.com/docs/ru/about-claude/pricing).

89 92 

90Когда вы впервые включаете быстрый режим в диалоге, вы платите полную цену быстрого режима за некэшированные входные токены для всего контекста диалога. Чем дальше вы продвинулись в диалоге, тем дороже это обходится, поэтому плата минимальна, если включить быстрый режим в самом начале. Быстрый режим и стандартная скорость используют [отдельные кэши](https://code.claude.com/docs/ru/prompt-caching.md#turning-on-fast-mode), поэтому при каждом последующем переключении часть диалога или весь диалог снова считывается без кэша.93Когда вы впервые включаете быстрый режим в диалоге, вы платите полную цену быстрого режима за некэшированные входные токены для всего контекста диалога. Чем дальше вы продвинулись в диалоге, тем дороже это обходится, поэтому плата минимальна, если включить быстрый режим в самом начале. Быстрый режим и стандартная скорость используют [отдельные кэши](https://code.claude.com/docs/ru/prompt-caching.md#turning-on-fast-mode), поэтому при каждом последующем переключении часть диалога или весь диалог снова считывается без кэша.

91 94 


137 140 

138* **Платная организация Console**: учетные записи Claude Console не используют кредиты использования, и ваша организация платит за быстрый режим за токен вместе с остальным использованием API. На бесплатном плане Evaluation Console `/fast` показывает "Fast mode unavailable during evaluation. Please purchase credits." Чтобы это исправить, приобретите кредиты в [параметрах выставления счетов Console](https://platform.claude.com/settings/billing).141* **Платная организация Console**: учетные записи Claude Console не используют кредиты использования, и ваша организация платит за быстрый режим за токен вместе с остальным использованием API. На бесплатном плане Evaluation Console `/fast` показывает "Fast mode unavailable during evaluation. Please purchase credits." Чтобы это исправить, приобретите кредиты в [параметрах выставления счетов Console](https://platform.claude.com/settings/billing).

139 142 

140 Быстрый режим с Opus 5.5 также зависит от [уровня использования](https://platform.claude.com/docs/en/api/rate-limits) вашей организации.143 Быстрый режим с Fable 5.2 или Opus 5.5 также зависит от [уровня использования](https://platform.claude.com/docs/en/api/rate-limits) вашей организации.

141* **Включение владельцем для Team и Enterprise**: быстрый режим отключен по умолчанию для организаций Team и Enterprise. Владелец должен явно [включить быстрый режим](#enable-fast-mode-for-your-organization) перед тем, как пользователи смогут получить к нему доступ.144* **Включение владельцем для Team и Enterprise**: быстрый режим отключен по умолчанию для организаций Team и Enterprise. Владелец должен явно [включить быстрый режим](#enable-fast-mode-for-your-organization) перед тем, как пользователи смогут получить к нему доступ.

142 145 

143> [!NOTE]146> [!NOTE]


147> * **Быстрый режим не включен**: если быстрый режим не был включен для вашей организации, включение быстрого режима с помощью `/fast` показывает "Fast mode has been disabled by your organization."150> * **Быстрый режим не включен**: если быстрый режим не был включен для вашей организации, включение быстрого режима с помощью `/fast` показывает "Fast mode has been disabled by your organization."

148> * **Быстрый режим отключен управляемыми параметрами**: если ваша организация развертывает [управляемые параметры](https://code.claude.com/docs/ru/managed-settings.md), которые устанавливают [`fastMode: false`](https://code.claude.com/docs/ru/settings-reference#fastmode), включение быстрого режима с помощью `/fast` показывает то же сообщение "Fast mode has been disabled by your organization".151> * **Быстрый режим отключен управляемыми параметрами**: если ваша организация развертывает [управляемые параметры](https://code.claude.com/docs/ru/managed-settings.md), которые устанавливают [`fastMode: false`](https://code.claude.com/docs/ru/settings-reference#fastmode), включение быстрого режима с помощью `/fast` показывает то же сообщение "Fast mode has been disabled by your organization".

149> * **Требуется явное согласие для каждого сеанса**: управляемые параметры, которые устанавливают [`fastModePerSessionOptIn: true`](#require-per-session-opt-in), отклоняют `/fast on` с тем же сообщением везде, кроме интерактивного сеанса терминала.152> * **Требуется явное согласие для каждого сеанса**: управляемые параметры, которые устанавливают [`fastModePerSessionOptIn: true`](#require-per-session-opt-in), отклоняют `/fast on` с тем же сообщением везде, кроме интерактивного сеанса терминала.

150> * **Модель быстрого режима не разрешена**: если список разрешений [`availableModels`](https://code.claude.com/docs/ru/model-config#restrict-model-selection) вашей организации исключает модель Opus быстрого режима, включение отклоняется с "is not in your organization's allowed models". В сеансе, уже работающем на разрешенной модели Opus, поддерживающей быстрый режим, `/fast` вместо этого включает быстрый режим на вашей текущей модели без переключения моделей.153> * **Модель быстрого режима не разрешена**: если список разрешённых моделей [`availableModels`](https://code.claude.com/docs/ru/model-config#restrict-model-selection) вашей организации исключает модель Opus быстрого режима, включение отклоняется с "is not in your organization's allowed models". В сессии, уже работающей на разрешенной модели, поддерживающей быстрый режим, `/fast` вместо этого включает быстрый режим на вашей текущей модели без переключения моделей.

151 154 

152### Включение быстрого режима для вашей организации155### Включение быстрого режима для вашей организации

153 156 


196 199 

197### Требование явного согласия для каждого сеанса200### Требование явного согласия для каждого сеанса

198 201 

199По умолчанию быстрый режим, который пользователь включает в интерактивной сессии, сохраняется между сессиями на поддерживаемой модели. Чтобы изменить это, установите `fastModePerSessionOptIn` на `true` в любом [файле настроек](https://code.claude.com/docs/ru/settings.md#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) могут развернуть его на уровне организации через [настройки, управляемые сервером](https://code.claude.com/docs/ru/server-managed-settings.md).202По умолчанию быстрый режим, который пользователь включает в интерактивной сессии, сохраняется между сессиями на поддерживаемой модели. На Fable 5.2 он сохраняется, только если пользователь [включил его во время использования Fable 5.2](#switch-models-while-fast-mode-is-on).

203 

204Чтобы каждая сессия начиналась с отключенным быстрым режимом, установите `fastModePerSessionOptIn` в значение `true` в любом [файле настроек](https://code.claude.com/docs/ru/settings.md#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) могут развернуть его на уровне организации через [настройки, управляемые сервером](https://code.claude.com/docs/ru/server-managed-settings.md).

200 205 

201```json theme={null}206```json theme={null}

202{207{


210 215 

211## Обработка лимитов скорости216## Обработка лимитов скорости

212 217 

213Быстрый режим имеет отдельные ограничения частоты запросов, отличные от стандартного Opus; для организаций Console они описаны на странице [ограничений частоты запросов](https://platform.claude.com/docs/en/api/rate-limits) Claude Platform. Когда вы достигаете лимита запросов быстрого режима:218Быстрый режим имеет отдельные ограничения частоты запросов, отличные от стандартной скорости; для организаций Console они описаны на странице [ограничений частоты запросов](https://platform.claude.com/docs/en/api/rate-limits) Claude Platform. Когда вы достигаете лимита запросов быстрого режима:

214 219 

2151. Быстрый режим автоматически переключается на стандартную скорость2201. Быстрый режим автоматически переключается на стандартную скорость

2162. Значок `↯` становится серым, указывая на охлаждение2212. Значок `↯` становится серым, указывая на охлаждение

hooks.md +11 −3

Details

1089 1089 

1090#### Вывод уведомлений терминала1090#### Вывод уведомлений терминала

1091 1091 

1092Хуки выполняются без управляющего терминала, поэтому запись escape-последовательностей напрямую в `/dev/tty` не работает. Вместо этого верните escape-последовательность в поле `terminalSequence`, и Claude Code выведет её за вас через собственный путь записи в терминал. Это исключает состояние гонки, работает внутри tmux и GNU screen, а также в Windows, где `/dev/tty` отсутствует.1092Хуки выполняются без управляющего терминала, поэтому запись escape-последовательностей напрямую в `/dev/tty` не работает. Вместо этого верните escape-последовательность в поле `terminalSequence`, и Claude Code выведет её за вас через собственный путь записи в терминал. Это исключает состояние гонки и работает в Windows, где `/dev/tty` отсутствует.

1093 1093 

1094Поле принимает строку из одной или нескольких escape-последовательностей из списка разрешённых:1094Поле принимает строку из одной или нескольких escape-последовательностей из списка разрешённых:

1095 1095 


1101 1101 

1102Последовательности могут завершаться символом BEL или ST. Всё, что не входит в список разрешённых последовательностей, включая последовательности CSI для курсора и цвета, последовательности OSC для палитры, гиперссылки OSC 8, запись в буфер обмена OSC 52 и OSC 1337, отклоняется, а поле игнорируется.1102Последовательности могут завершаться символом BEL или ST. Всё, что не входит в список разрешённых последовательностей, включая последовательности CSI для курсора и цвета, последовательности OSC для палитры, гиперссылки OSC 8, запись в буфер обмена OSC 52 и OSC 1337, отклоняется, а поле игнорируется.

1103 1103 

1104Claude Code сам записывает последовательность при обработке вывода вашего хука, поэтому поле работает для событий, которые отбрасывают `systemMessage` и `continue`, таких как `Notification` и `StopFailure`. У него есть два ограничения:1104Claude Code сам записывает последовательность при обработке вывода вашего хука, поэтому поле работает для событий, которые отбрасывают `systemMessage` и `continue`, таких как `Notification` и `StopFailure`. У него есть некоторые ограничения:

1105 1105 

1106* Claude Code записывает последовательность только в интерактивной сессии и только пока его интерфейс находится на экране. В неинтерактивном режиме с флагом `-p` и в Agent SDK он игнорирует это поле.1106* Claude Code записывает последовательность только в интерактивной сессии и только пока его интерфейс находится на экране. В неинтерактивном режиме с флагом `-p` и в Agent SDK он игнорирует это поле.

1107* Поле работает только в хуке, который не выполняется в [фоновом режиме](#run-hooks-in-the-background), поэтому не включайте `async` и `asyncRewake`.

1107* Командный хук `WorktreeCreate` не может возвращать JSON, потому что Claude Code читает его stdout как путь к worktree. HTTP-хук `WorktreeCreate` возвращает JSON и может включать это поле.1108* Командный хук `WorktreeCreate` не может возвращать JSON, потому что Claude Code читает его stdout как путь к worktree. HTTP-хук `WorktreeCreate` возвращает JSON и может включать это поле.

1108 1109 

1109В примере ниже хук `Notification` вызывает уведомление на рабочем столе. Escape-последовательность строится с помощью восьмеричных escape-кодов `printf`, чтобы управляющие байты никогда не появлялись в командной строке оболочки, а `jq -n --arg` формирует вывод JSON, чтобы кавычки, обратные слеши и переводы строк в тексте уведомления корректно экранировались:1110Если вы используете tmux или GNU screen, сначала выполните [их настройку](#get-terminal-notifications-inside-tmux-or-gnu-screen). В примере ниже хук `Notification` вызывает уведомление на рабочем столе в терминале, который читает OSC `777`, например Ghostty или Warp. Вызов `jq -nc --arg` в скрипте формирует вывод JSON и экранирует все кавычки, обратные слеши и переводы строк в тексте уведомления:

1110 1111 

1111```bash theme={null}1112```bash theme={null}

1112#!/bin/bash1113#!/bin/bash


1120 1121 

1121Структура `{ "terminalSequence": "..." }` одинакова для любой оболочки или языка.1122Структура `{ "terminalSequence": "..." }` одинакова для любой оболочки или языка.

1122 1123 

1124#### Получение уведомлений терминала внутри tmux или GNU screen

1125 

1126Когда Claude Code работает внутри tmux или GNU screen, для того чтобы последовательности OSC доходили до вашего терминального приложения, необходимо следующее:

1127 

1128* **tmux 3.3 или новее**: добавьте `set -g allow-passthrough on` в `~/.tmux.conf`, затем выполните `tmux source-file ~/.tmux.conf` из оболочки. Параметр применяется ко всем программам в этих панелях, а не только к Claude Code. Со значением `on` отправлять их могут только панели, которые tmux показывает на экране. Чтобы их могли отправлять и другие панели в сессии, к которой вы подключены, используйте `all` вместо `on` в tmux 3.4 или новее.

1129* **GNU screen**: держите окно Claude Code отображаемым в screen, потому что последовательности из фонового окна не доходят до вашего терминального приложения

1130 

1123#### Добавление контекста для Claude1131#### Добавление контекста для Claude

1124 1132 

1125Поле `additionalContext` передаёт строку из вашего хука в контекстное окно Claude. Claude Code оборачивает строку в [системное напоминание](https://code.claude.com/docs/ru/glossary.md#system-reminder) и вставляет его в диалог в точке срабатывания хука. Claude читает напоминание при следующем запросе к модели, но оно не отображается в интерфейсе как сообщение чата.1133Поле `additionalContext` передаёт строку из вашего хука в контекстное окно Claude. Claude Code оборачивает строку в [системное напоминание](https://code.claude.com/docs/ru/glossary.md#system-reminder) и вставляет его в диалог в точке срабатывания хука. Claude читает напоминание при следующем запросе к модели, но оно не отображается в интерфейсе как сообщение чата.

Details

223| Бета [поля инструментов](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Связанные с инструментами бета-заголовки связаны с полями схемы инструментов, такими как `strict` и `defer_loading` | Ошибка `400`, указывающая на неизвестное поле схемы инструмента, когда тело проходит без своего заголовка. Для `defer_loading` см. [Повторная попытка без поиска инструментов](#retry-without-tool-search) | Пересылайте оба, или [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |223| Бета [поля инструментов](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Связанные с инструментами бета-заголовки связаны с полями схемы инструментов, такими как `strict` и `defer_loading` | Ошибка `400`, указывающая на неизвестное поле схемы инструмента, когда тело проходит без своего заголовка. Для `defer_loading` см. [Повторная попытка без поиска инструментов](#retry-without-tool-search) | Пересылайте оба, или [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

224| [Усилие](https://platform.claude.com/docs/en/build-with-claude/effort) и [структурированные выходные данные](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Поле тела `output_config` содержит настройки усилия, формата структурированного вывода и бюджета задачи; каждая связана с собственным бета-заголовком | Ошибка `400`, указывающая на `output_config`, часто `Extra inputs are not permitted`, на вышестоящих серверах Amazon Bedrock и Google Cloud's Agent Platform | Пересылайте поле и его заголовки вместе или попросите разработчиков установить [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), что удаляет настройки формата и бюджета задачи, но не усилия. Чтобы удалить только формат, они могут вместо этого установить [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](https://code.claude.com/docs/ru/env-vars), для чего требуется v2.1.288 или более поздняя версия |224| [Усилие](https://platform.claude.com/docs/en/build-with-claude/effort) и [структурированные выходные данные](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Поле тела `output_config` содержит настройки усилия, формата структурированного вывода и бюджета задачи; каждая связана с собственным бета-заголовком | Ошибка `400`, указывающая на `output_config`, часто `Extra inputs are not permitted`, на вышестоящих серверах Amazon Bedrock и Google Cloud's Agent Platform | Пересылайте поле и его заголовки вместе или попросите разработчиков установить [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), что удаляет настройки формата и бюджета задачи, но не усилия. Чтобы удалить только формат, они могут вместо этого установить [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](https://code.claude.com/docs/ru/env-vars), для чего требуется v2.1.288 или более поздняя версия |

225| Системные сообщения в середине диалога | Нет бета-заголовка. Claude Code отправляет часть текста напоминаний и вложений как записи `role: "system"` в `messages` для Claude Opus 4.8, моделей, выпущенных после нее, и нераспознанных идентификаторов моделей | Ошибка `400`, например `Unexpected role "system"` | Claude Code [повторяет попытку без системных сообщений](#automatic-retry-and-error-forwarding). Чтобы прекратить отправку системных сообщений для псевдонима модели, выпущенной до Claude Opus 4.8, добавьте [запись `modelOverrides`](#settings-for-unrecognized-model-ids) в распространяемые вами настройки |225| Системные сообщения в середине диалога | Нет бета-заголовка. Claude Code отправляет часть текста напоминаний и вложений как записи `role: "system"` в `messages` для Claude Opus 4.8, моделей, выпущенных после нее, и нераспознанных идентификаторов моделей | Ошибка `400`, например `Unexpected role "system"` | Claude Code [повторяет попытку без системных сообщений](#automatic-retry-and-error-forwarding). Чтобы прекратить отправку системных сообщений для псевдонима модели, выпущенной до Claude Opus 4.8, добавьте [запись `modelOverrides`](#settings-for-unrecognized-model-ids) в распространяемые вами настройки |

226| [Усилие, заданное для отдельного хода](https://code.claude.com/docs/ru/prompt-caching.md#changing-effort-level) | На Opus 5.5, Sonnet 5.5, Haiku 5.5 и Fable 5.1 бета-заголовок связан с `output_config.effort` в записях `role: "system"` — либо в системном сообщении, либо в записи с пустым содержимым | Ошибка `400` с сообщением `messages.N: system content must contain at least one block`, когда ваш шлюз удаляет это поле из пустой записи | Пересылайте оба или попросите разработчиков установить [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), чтобы прекратить отправку этого поля и пустых записей |226| [Усилие, заданное для отдельного хода](https://code.claude.com/docs/ru/prompt-caching.md#changing-effort-level) | На Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.2 и Fable 5.1 бета-заголовок связан с `output_config.effort` в записях `role: "system"`. Такая запись — это системное сообщение или запись с пустым содержимым | Ошибка `400` с сообщением `messages.N: system content must contain at least one block`, когда ваш шлюз удаляет это поле из пустой записи | Пересылайте оба или попросите разработчиков установить [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), чтобы прекратить отправку этого поля и пустых записей |

227| [Кэширование подсказок](https://code.claude.com/docs/ru/prompt-caching.md) | Нет бета-связи. Claude Code прикрепляет маркеры `cache_control` к блокам `system` и записям `messages`, включая записи `role: "system"`, добавленные в середину разговора | Нет ошибки: разговор выставляется как некэшированный ввод на каждом ходу, видимый как высокие `input_tokens` с небольшой или отсутствующей активностью кэша в `usage` | Пересылайте `cache_control` без изменений везде, где он появляется, и не преобразуйте блочную форму `system` или содержимое сообщения в простые строки |227| [Кэширование подсказок](https://code.claude.com/docs/ru/prompt-caching.md) | Нет бета-связи. Claude Code прикрепляет маркеры `cache_control` к блокам `system` и записям `messages`, включая записи `role: "system"`, добавленные в середину разговора | Нет ошибки: разговор выставляется как некэшированный ввод на каждом ходу, видимый как высокие `input_tokens` с небольшой или отсутствующей активностью кэша в `usage` | Пересылайте `cache_control` без изменений везде, где он появляется, и не преобразуйте блочную форму `system` или содержимое сообщения в простые строки |

228| [Подсчет токенов](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Нет бета-связи; использует конечную точку `count_tokens` | Нет ошибки: Claude Code возвращается к оценке на основе символов, поэтому `/context` показывает приблизительные подсчеты | Предоставьте конечную точку для точного подсчета токенов |228| [Подсчет токенов](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Нет бета-связи; использует конечную точку `count_tokens` | Нет ошибки: Claude Code возвращается к оценке на основе символов, поэтому `/context` показывает приблизительные подсчеты | Предоставьте конечную точку для точного подсчета токенов |

229 229 

model-config.md +52 −23

Details

30| Псевдоним модели | Поведение |30| Псевдоним модели | Поведение |

31| - | - |31| - | - |

32| **`default`** | Специальное значение, которое очищает любое переопределение модели и возвращается к [стандартной модели для вашей учётной записи](#default-model-setting). Сам по себе не является псевдонимом модели |32| **`default`** | Специальное значение, которое очищает любое переопределение модели и возвращается к [стандартной модели для вашей учётной записи](#default-model-setting). Сам по себе не является псевдонимом модели |

33| **`best`** | Использует модель, на которую разрешается [псевдоним `fable`](#fable-alias-resolution), где Fable доступна вам, в противном случае ту же модель, что и `opus` |33| **`best`** | Использует ту же модель, что и `opus` |

34| **`fable`** | Использует [модель Fable для вашего поставщика](#fable-alias-resolution) для ваших самых сложных и долгоживущих задач |34| **`fable`** | Использует [модель Fable для вашего поставщика](#fable-alias-resolution) для ваших самых сложных и долгоживущих задач |

35| **`sonnet`** | Использует последнюю модель Sonnet для ежедневных задач кодирования |35| **`sonnet`** | Использует последнюю модель Sonnet для ежедневных задач кодирования |

36| **`opus`** | Использует последнюю модель Opus для сложных задач рассуждения |36| **`opus`** | Использует последнюю модель Opus для сложных задач рассуждения |


48| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 | Haiku 4.5 |48| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 | Haiku 4.5 |

49| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 | Haiku 4.5 |49| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 | Haiku 4.5 |

50 50 

51Если вы не установили `ANTHROPIC_DEFAULT_FABLE_MODEL`, псевдоним `fable` разрешается на Fable 5.1, за исключением сессий [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway), где `fable` и `best` разрешаются на Fable 5.51Если вы не установили `ANTHROPIC_DEFAULT_FABLE_MODEL`, псевдоним `fable` разрешается на Fable 5 в сессиях [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway) и на Fable 5.2 во всех остальных случаях.

52 52 

53Шлюз, который не настроен на обслуживание `claude-fable-5-1`, отклоняет запросы для этой модели. Чтобы использовать Fable 5.1 через шлюз, который его обслуживает, выберите его с помощью `/model claude-fable-5-1`.53Шлюз, который не настроен на обслуживание `claude-fable-5-2`, отклоняет запросы для этой модели. Чтобы использовать Fable 5.2 через шлюз, который её обслуживает, выберите её с помощью `/model claude-fable-5-2`.

54 54 

55Где `opus` или `sonnet` разрешается на более старую модель, более новые модели доступны путём явного выбора полного имени модели или установки `ANTHROPIC_DEFAULT_OPUS_MODEL` или `ANTHROPIC_DEFAULT_SONNET_MODEL`.55Где `opus` или `sonnet` разрешается на более старую модель, более новые модели доступны путём явного выбора полного имени модели или установки `ANTHROPIC_DEFAULT_OPUS_MODEL` или `ANTHROPIC_DEFAULT_SONNET_MODEL`.

56 56 


64 64 

65### Работа с Fable65### Работа с Fable

66 66 

67[Claude Fable 5.1](https://platform.claude.com/docs/en/about-claude/models/overview) и Claude Fable 5 — это наиболее мощные модели в Claude Code, подходящие для задач, требующих более одной сессии. Они поддерживают длительные автономные сессии, исследуют перед действием и проверяют свою работу чаще, чем меньшие модели. Fable 5.1 — это более новый выпуск.67[Модели Claude Fable](https://platform.claude.com/docs/en/about-claude/models/overview) — это наиболее мощные модели в Claude Code, подходящие для задач, требующих более одной сессии. Они поддерживают длительные автономные сессии, исследуют перед действием и проверяют свою работу чаще, чем меньшие модели.

68 68 

69Ни одна из моделей Fable не является стандартной для типа учётной записи ни на одном плане или поставщике. Выберите одну явно:69Ни одна из моделей Fable не является стандартной для типа учётной записи ни на одном плане или поставщике. Выберите одну явно:

70 70 

71* **Fable 5.1**: запустите `/model fable` или запустите с помощью `claude --model fable`. В сессиях [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway), где псевдоним разрешается на Fable 5, вместо этого запустите `/model claude-fable-5-1`.71* **Fable 5.2**: запустите `/model fable` или запустите с помощью `claude --model fable`. В сессиях [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway) вместо этого запустите `/model claude-fable-5-2`.

72* **Fable 5**: выберите её по ID модели. В Anthropic API запустите `/model claude-fable-5` или запустите с помощью `claude --model claude-fable-5`. На других поставщиках используйте ID модели Fable 5 вашего поставщика или [закрепите её](#pin-models-for-third-party-deployments) с помощью `ANTHROPIC_DEFAULT_FABLE_MODEL`.72* **Fable 5.1 или Fable 5**: выберите её по ID модели. В Anthropic API запустите `/model claude-fable-5-1` или `/model claude-fable-5` либо запустите с помощью `claude --model claude-fable-5-1`. На других поставщиках используйте ID модели вашего поставщика или [закрепите её](#pin-models-for-third-party-deployments) с помощью `ANTHROPIC_DEFAULT_FABLE_MODEL`.

73 73 

74Если вы подключаетесь непосредственно к Anthropic API и ваши пользовательские настройки содержат `claude-fable-5` или `claude-fable-5[1m]` в качестве модели, например потому что вы выбрали Fable в средстве выбора `/model` до версии 2.1.257, Claude Code изменит это сохранённое значение на псевдоним `fable` или `fable[1m]` при первом запуске версии 2.1.257 или позже. Строка запуска модели показывает `(auto-updated)` один раз. Значение `claude-fable-5` в настройках проекта, локальных или управляемых настройках остаётся как есть.74На планах Pro, Max, Team и Enterprise модель `claude-fable-5-1`, сохранённая в ваших пользовательских настройках, переводится на псевдоним `fable`:

75 

76* **План Pro или Max**: перевод происходит при первом запуске версии 2.1.321 или позже. В терминале строка модели при запуске может один раз показать `(auto-updated)`.

77* **План Team или Enterprise**: перевод ожидает настроек вашей организации, поэтому он может произойти при одном из последующих запусков или не произойти вовсе. Он применяется со следующей сессии, без строки `(auto-updated)`. Чтобы проверить вашу модель, запустите `/model`.

78 

79После перевода сессии запускаются со стандартным уровнем усилий Fable 5.2, если вы не [установили уровень](#adjust-effort-level) для неё. Учётные записи Console, сторонние поставщики, а также настройки проекта, локальные и управляемые настройки сохраняют `claude-fable-5-1`.

75 80 

76Запросы, которые классификаторы безопасности модели Fable помечают, чаще всего в областях кибербезопасности и биологии, запускают [автоматическое переключение на резервную модель](#automatic-model-fallback).81Запросы, которые классификаторы безопасности модели Fable помечают, чаще всего в областях кибербезопасности и биологии, запускают [автоматическое переключение на резервную модель](#automatic-model-fallback).

77 82 


84 89 

85> [!NOTE]90> [!NOTE]

86>91>

87> Fable 5.1 требует Claude Code версии 2.1.257 или позже. Если запрос для неё из более старой версии не удаётся, см. [Claude Code does not support this model](https://code.claude.com/docs/ru/errors.md#claude-code-does-not-support-this-model). Запустите `claude update` для обновления. Для доступности при нулевом сохранении данных см. [Model availability under ZDR](https://code.claude.com/docs/ru/zero-data-retention.md#model-availability-under-zdr).92> Fable 5.2 требует Claude Code версии 2.1.321 или позже, а Fable 5.1 требует версии 2.1.257 или позже. Если запрос для одной из них из более старой версии не удаётся, см. [Claude Code does not support this model](https://code.claude.com/docs/ru/errors.md#claude-code-does-not-support-this-model). Запустите `claude update` для обновления. Для доступности при нулевом сохранении данных см. [Model availability under ZDR](https://code.claude.com/docs/ru/zero-data-retention.md#model-availability-under-zdr).

88 93 

89В Anthropic API модель Fable появляется в средстве выбора `/model`, если [`availableModels`](#restrict-model-selection) или [ограничения модели организации](#organization-model-restrictions) её не исключают. Когда ваша организация вообще не может использовать Fable, например при [нулевом сохранении данных](https://code.claude.com/docs/ru/zero-data-retention.md#model-availability-under-zdr), строка остаётся в средстве выбора неактивной с примечанием о причине.94В Anthropic API модель Fable появляется в средстве выбора `/model`, если [`availableModels`](#restrict-model-selection) или [ограничения модели организации](#organization-model-restrictions) её не исключают. Когда ваша организация вообще не может использовать Fable, например при [нулевом сохранении данных](https://code.claude.com/docs/ru/zero-data-retention.md#model-availability-under-zdr), строка остаётся в средстве выбора неактивной с примечанием о причине.

90 95 


163 168 

164См. [Model is not a recognized model id](https://code.claude.com/docs/ru/errors.md#model-is-not-a-recognized-model-id) и [Model not found](https://code.claude.com/docs/ru/errors.md#model-not-found) для сообщений.169См. [Model is not a recognized model id](https://code.claude.com/docs/ru/errors.md#model-is-not-a-recognized-model-id) и [Model not found](https://code.claude.com/docs/ru/errors.md#model-not-found) для сообщений.

165 170 

166Если вы установите модель с флагом `--model`, переменной окружения `ANTHROPIC_MODEL` или настройкой `model`, Claude Code не проверяет её заранее, и неправильно введённое значение приводит к [There's an issue with the selected model](https://code.claude.com/docs/ru/errors.md#theres-an-issue-with-the-selected-model) при первом запросе.171Если вы установите модель с флагом `--model`, переменной окружения `ANTHROPIC_MODEL` или настройкой `model`, Claude Code не отклоняет неправильно введённое значение заранее. Сессия запускается, а первый запрос приводит к [There's an issue with the selected model](https://code.claude.com/docs/ru/errors.md#theres-an-issue-with-the-selected-model). В Anthropic API значение, которое не начинается с `claude-` и почти совпадает с именем или псевдонимом модели, также может вызвать [предупреждение при запуске с предлагаемым вариантом](#fix-a-mistyped-model-name).

167 172 

168Когда запрошенная модель имеет запланированную дату снятия с производства или автоматически переназначается на более новую версию, Claude Code показывает предупреждение, которое называет запрошенную модель. Интерактивные сессии показывают его как уведомление при запуске. Начиная с версии 2.1.182, то же предупреждение записывается в stderr в [неинтерактивном режиме](https://code.claude.com/docs/ru/headless.md) при использовании формата вывода текста по умолчанию. Проверка также охватывает `model`, установленный во [frontmatter субагента](https://code.claude.com/docs/ru/sub-agents.md). Предупреждение stderr подавляется для `--output-format json` и `stream-json`; вместо этого прочитайте фактическую модель из поля `modelUsage` [результирующего сообщения](https://code.claude.com/docs/ru/headless.md#get-structured-output).173Когда запрошенная модель имеет запланированную дату снятия с производства или автоматически переназначается на более новую версию, Claude Code показывает предупреждение, которое называет запрошенную модель. Интерактивные сессии показывают его как уведомление при запуске. Начиная с версии 2.1.182, то же предупреждение записывается в stderr в [неинтерактивном режиме](https://code.claude.com/docs/ru/headless.md) при использовании формата вывода текста по умолчанию. Проверка также охватывает `model`, установленный во [frontmatter субагента](https://code.claude.com/docs/ru/sub-agents.md). Предупреждение stderr подавляется для `--output-format json` и `stream-json`; вместо этого прочитайте фактическую модель из поля `modelUsage` [результирующего сообщения](https://code.claude.com/docs/ru/headless.md#get-structured-output).

169 174 


225 230 

226## Ограничение выбора модели231## Ограничение выбора модели

227 232 

228Администраторы могут использовать `availableModels` в [управляемых или политических параметрах](https://code.claude.com/docs/ru/managed-settings.md) для ограничения того, какие модели могут выбирать пользователи. Записи соответствуют семейству моделей, такому как `sonnet`, префиксу версии, такому как `claude-sonnet-4-5`, или полному идентификатору модели, такому как `claude-sonnet-4-5-20250929`. Префикс версии также соответствует более поздним идентификаторам моделей, которые расширяют его еще одним сегментом, поэтому `claude-fable-5` разрешает как Fable 5, так и Fable 5.1, а `claude-fable-5-1` разрешает только Fable 5.1. Чтобы заблокировать модель, которую разрешает список, или чтобы каждая запись идентификатора модели разрешала только версию, которую она называет, см. [Блокировка конкретных моделей или версий](#block-specific-models-or-versions).233Администраторы могут использовать `availableModels` в [управляемых настройках или настройках политики](https://code.claude.com/docs/ru/managed-settings.md), чтобы ограничить, какие модели могут выбирать пользователи. Каждая запись соответствует одному из следующего:

234 

235* Семейство моделей, например `sonnet`

236* Префикс версии, например `claude-sonnet-4-5`. Он также соответствует более поздним идентификаторам моделей, которые расширяют его ещё одним сегментом. Например, `claude-fable-5` разрешает Fable 5, Fable 5.1 и Fable 5.2, а `claude-fable-5-1` разрешает только Fable 5.1

237* Полный идентификатор модели, например `claude-sonnet-4-5-20250929`

238 

239Чтобы заблокировать модель, которую разрешает список, или чтобы каждая запись с идентификатором модели разрешала только указанную в ней версию, см. [Блокировка конкретных моделей или версий](#block-specific-models-or-versions).

229 240 

230На платформах, которые встраивают Claude Code и устанавливают [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ru/env-vars), конфигурация модели хоста имеет приоритет над управляемыми параметрами модели, в то время как управляемый список разрешений `availableModels` остается в силе, если только хост не предоставляет свой собственный; [Исключения из приоритета управляемых параметров](https://code.claude.com/docs/ru/settings.md#exceptions-to-managed-settings-precedence) указывает, какие ключи и переменные переопределяет хост.241На платформах, которые встраивают Claude Code и устанавливают [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ru/env-vars), конфигурация модели хоста имеет приоритет над управляемыми параметрами модели, в то время как управляемый список разрешений `availableModels` остается в силе, если только хост не предоставляет свой собственный; [Исключения из приоритета управляемых параметров](https://code.claude.com/docs/ru/settings.md#exceptions-to-managed-settings-precedence) указывает, какие ключи и переменные переопределяет хост.

231 242 


465 476 

466Когда в вашей учётной записи ничего не записано, управляемые настройки [принудительно применяют список разрешённых моделей для модели Default](#enforce-the-allowlist-for-the-default-model), а стандартное значение для типа учётной записи отсутствует в `availableModels`, `default` разрешается в принудительный Default вместо стандартного значения для типа учётной записи выше. Когда применяются и модель по умолчанию организации, и принудительное применение, модель по умолчанию организации сначала заменяет стандартное значение для типа учётной записи, а затем к ней применяется принудительное ограничение: модель по умолчанию организации из списка разрешённых сохраняется, а модель вне списка разрешается в принудительный Default.477Когда в вашей учётной записи ничего не записано, управляемые настройки [принудительно применяют список разрешённых моделей для модели Default](#enforce-the-allowlist-for-the-default-model), а стандартное значение для типа учётной записи отсутствует в `availableModels`, `default` разрешается в принудительный Default вместо стандартного значения для типа учётной записи выше. Когда применяются и модель по умолчанию организации, и принудительное применение, модель по умолчанию организации сначала заменяет стандартное значение для типа учётной записи, а затем к ней применяется принудительное ограничение: модель по умолчанию организации из списка разрешённых сохраняется, а модель вне списка разрешается в принудительный Default.

467 478 

468Модели Fable не являются стандартным значением для типа учётной записи ни на одном тарифе или у одного поставщика. Выбор одной из них с помощью `/model` сохраняет её как выбранную модель в пользовательских настройках, поэтому последующие сессии начинаются с неё. Об одноразовом изменении, которое Claude Code вносит в сохранённый выбор Fable 5 в версии 2.1.257, см. [Работа с Fable](#work-with-fable).479> [!NOTE]

480>

481> Модели Fable не являются стандартным значением для типа учётной записи ни на одном тарифе или у одного поставщика. Выбор одной из них с помощью `/model` сохраняет её как выбранную модель в пользовательских настройках, поэтому последующие сессии начинаются с неё, за исключением [одноразового изменения сохранённого выбора Fable 5.1](#work-with-fable).

469 482 

470### Настройка модели `opusplan`483### Настройка модели `opusplan`

471 484 


521 534 

522Модели Fable, Opus 5.5, Sonnet 5.5 и Opus 5 работают с классификаторами безопасности, которые чаще всего помечают содержимое, связанное с кибербезопасностью и биологией. Для этих двух категорий резервная модель зависит от того, какая модель отказала:535Модели Fable, Opus 5.5, Sonnet 5.5 и Opus 5 работают с классификаторами безопасности, которые чаще всего помечают содержимое, связанное с кибербезопасностью и биологией. Для этих двух категорий резервная модель зависит от того, какая модель отказала:

523 536 

524* **Fable 5.1, Fable 5 и Opus 5.5**: запросы, помеченные как связанные с биологией, повторно выполняются на Opus 5, а запросы, помеченные как связанные с кибербезопасностью, — на Opus 4.8.537* **Модели Fable и Opus 5.5**: запросы, помеченные как связанные с биологией, повторно выполняются на Opus 5, а запросы, помеченные как связанные с кибербезопасностью, — на Opus 4.8.

525* **Sonnet 5.5**: запросы, помеченные как связанные с кибербезопасностью, повторно выполняются на Sonnet 5. Запросы, помеченные как связанные с биологией, вместо этого завершаются отказом, потому что у Sonnet 5.5 нет резервной модели для биологии.538* **Sonnet 5.5**: запросы, помеченные как связанные с кибербезопасностью, повторно выполняются на Sonnet 5. Запросы, помеченные как связанные с биологией, вместо этого завершаются отказом, потому что у Sonnet 5.5 нет резервной модели для биологии.

526* **Opus 5**: запросы, помеченные как связанные с кибербезопасностью, повторно выполняются на Opus 4.8. Запросы, помеченные как связанные с биологией, вместо этого завершаются отказом, потому что Opus 5 использует собственные классификаторы биологии без резервной модели.539* **Opus 5**: запросы, помеченные как связанные с кибербезопасностью, повторно выполняются на Opus 4.8. Запросы, помеченные как связанные с биологией, вместо этого завершаются отказом, потому что Opus 5 использует собственные классификаторы биологии без резервной модели.

527 540 


582 595 

583На [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ru/google-vertex-ai.md) и [Microsoft Foundry](https://code.claude.com/docs/ru/microsoft-foundry.md) идентификаторы моделей специфичны для поставщика, поэтому автоматическое переключение на резервную модель работает, только когда Claude Code может идентифицировать каждую задействованную модель:596На [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ru/google-vertex-ai.md) и [Microsoft Foundry](https://code.claude.com/docs/ru/microsoft-foundry.md) идентификаторы моделей специфичны для поставщика, поэтому автоматическое переключение на резервную модель работает, только когда Claude Code может идентифицировать каждую задействованную модель:

584 597 

585* Claude Code должен распознавать текущую модель как источник переключения. Fable 5.1 и Fable 5 распознаются, когда идентификатор модели содержит `claude-fable-5`, совпадает со значением `ANTHROPIC_DEFAULT_FABLE_MODEL` или сопоставлен через [`modelOverrides`](#override-model-ids-per-version). Opus 5.5, Sonnet 5.5 и Opus 5 распознаются по идентификатору модели поставщика или по сопоставлению в [`modelOverrides`](#override-model-ids-per-version).598* Claude Code должен распознавать текущую модель как источник переключения. Модели Fable распознаются, когда идентификатор модели содержит `claude-fable-5`, совпадает со значением `ANTHROPIC_DEFAULT_FABLE_MODEL` или сопоставлен через [`modelOverrides`](#override-model-ids-per-version). Opus 5.5, Sonnet 5.5 и Opus 5 распознаются по идентификатору модели поставщика или по сопоставлению в [`modelOverrides`](#override-model-ids-per-version).

586* Целевая модель Opus должна разрешаться в вашем развёртывании, независимо от того, какая модель отказала: установите `ANTHROPIC_DEFAULT_OPUS_MODEL` или сохраните запись Opus 4.8 в списке моделей поставщика. Без этого переключение остаётся отключённым для всех исходных моделей, включая Sonnet 5.5, и помеченные запросы завершаются отказом.599* Целевая модель Opus должна разрешаться в вашем развёртывании, независимо от того, какая модель отказала: установите `ANTHROPIC_DEFAULT_OPUS_MODEL` или сохраните запись Opus 4.8 в списке моделей поставщика. Без этого переключение остаётся отключённым для всех исходных моделей, включая Sonnet 5.5, и помеченные запросы завершаются отказом.

587* Резервная модель для помеченной категории должна разрешаться в вашем развёртывании. Для модели Fable, Opus 5.5 или Opus 5, если вы установите `ANTHROPIC_DEFAULT_OPUS_MODEL`, помеченные запросы повторно выполняются на этой модели для каждой категории, у которой есть резервная модель; пометка биологии на Opus 5 по-прежнему завершается отказом. Если вы его не установите, запросы, помеченные как связанные с кибербезопасностью, повторно выполняются на записи Opus 4.8, а запросы, помеченные как связанные с биологией, от модели Fable или Opus 5.5 — на записи Opus 5. Для Sonnet 5.5 запросы, помеченные как связанные с кибербезопасностью, повторно выполняются на модели, которую вы задали в `ANTHROPIC_DEFAULT_SONNET_MODEL`, или, если вы её не задали, на записи Sonnet 5 в списке моделей поставщика.600* Резервная модель для помеченной категории должна разрешаться в вашем развёртывании. Для модели Fable, Opus 5.5 или Opus 5, если вы установите `ANTHROPIC_DEFAULT_OPUS_MODEL`, помеченные запросы повторно выполняются на этой модели для каждой категории, у которой есть резервная модель; пометка биологии на Opus 5 по-прежнему завершается отказом. Если вы его не установите, запросы, помеченные как связанные с кибербезопасностью, повторно выполняются на записи Opus 4.8, а запросы, помеченные как связанные с биологией, от модели Fable или Opus 5.5 — на записи Opus 5. Для Sonnet 5.5 запросы, помеченные как связанные с кибербезопасностью, повторно выполняются на модели, которую вы задали в `ANTHROPIC_DEFAULT_SONNET_MODEL`, или, если вы её не задали, на записи Sonnet 5 в списке моделей поставщика.

588 601 


596 609 

597#### Исследования безопасности и рабочие нагрузки в области биологии610#### Исследования безопасности и рабочие нагрузки в области биологии

598 611 

599Рабочие нагрузки в наступательной безопасности или биологии, включая тестирование на проникновение, упражнения Capture the Flag (CTF) и кодовые базы, связанные с биологией, часто вызывают переключение на резервную модель, нередко уже при первом запросе. При серьёзной работе по биологии на Fable 5.1, Fable 5 или Opus 5.5 первый помеченный запрос, приводящий к переключению моделей, переводит сессию на Opus 5, и последующие запросы, помеченные как связанные с биологией, завершаются там отказами, потому что у Opus 5 нет резервной модели для биологии. На Opus 5 и Sonnet 5.5 вы получаете эти отказы начиная с первого помеченного запроса.612Рабочие нагрузки в наступательной безопасности или биологии, включая тестирование на проникновение, упражнения Capture the Flag (CTF) и кодовые базы, связанные с биологией, часто вызывают переключение на резервную модель, нередко уже при первом запросе. Это ожидаемая маршрутизация для этих областей, а не пометка учётной записи. Если вашей организации для этой работы нужны возможности класса Fable, обратитесь к своей команде по работе с клиентами Anthropic по поводу программ доверенного доступа.

600 613 

601Это ожидаемая маршрутизация для этих областей, а не пометка учётной записи. Если вашей организации для этой работы нужны возможности класса Fable, обратитесь к своей команде по работе с клиентами Anthropic по поводу программ доверенного доступа.614При серьёзной работе по биологии на модели Fable или Opus 5.5 первый помеченный запрос, приводящий к переключению моделей, переводит сессию на Opus 5. Последующие запросы, помеченные как связанные с биологией, завершаются там отказами, потому что у Opus 5 нет резервной модели для биологии. На Opus 5 и Sonnet 5.5 эти отказы начинаются с первого помеченного запроса.

602 615 

603### Регулировка уровня усилий616### Регулировка уровня усилий

604 617 


608 621 

609| Модель | Уровни |622| Модель | Уровни |

610| :- | :- |623| :- | :- |

611| Fable 5.1 и Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |624| Модели Fable | `low`, `medium`, `high`, `xhigh`, `max` |

612| Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8 и Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |625| Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8 и Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

613| Opus 4.6 и Sonnet 4.6 | `low`, `medium`, `high`, `max` |626| Opus 4.6 и Sonnet 4.6 | `low`, `medium`, `high`, `max` |

614 627 


6202. Уровень, выбранный вами в сессии, например с помощью `/effort`, средства выбора `/model` или [`applyFlagSettings()`](https://code.claude.com/docs/ru/agent-sdk/typescript#applyflagsettings)6332. Уровень, выбранный вами в сессии, например с помощью `/effort`, средства выбора `/model` или [`applyFlagSettings()`](https://code.claude.com/docs/ru/agent-sdk/typescript#applyflagsettings)

6213. Запуск с `--effort`6343. Запуск с `--effort`

6224. Ваши настройки: уровень, сохранённый вами для модели, или ключ [`effortLevel`](https://code.claude.com/docs/ru/settings-reference#effortlevel); приоритет между ними и между файлами настроек описан в [`modelSettings`](https://code.claude.com/docs/ru/settings-reference#modelsettings)6354. Ваши настройки: уровень, сохранённый вами для модели, или ключ [`effortLevel`](https://code.claude.com/docs/ru/settings-reference#effortlevel); приоритет между ними и между файлами настроек описан в [`modelSettings`](https://code.claude.com/docs/ru/settings-reference#modelsettings)

6235. Уровень усилий модели по умолчанию: `high` на каждой модели, поддерживающей effort, за исключением того, что Opus 5.5, Sonnet 5.5 и Haiku 5.5 по умолчанию используют `medium`, а Opus 4.7 — `xhigh`. Если ваша организация задаёт уровень усилий по умолчанию для своей [модели по умолчанию организации](#organization-default-model), этот уровень используется по умолчанию при работе с этой моделью.6365. Уровень усилий модели по умолчанию: Fable 5.2, Opus 5.5, Sonnet 5.5 и Haiku 5.5 по умолчанию используют `medium`, а Opus 4.7 — `xhigh`. Остальные модели из [таблицы уровней усилий](#adjust-effort-level) по умолчанию используют `high`. Если ваша организация задаёт уровень усилий по умолчанию для своей [модели по умолчанию организации](#organization-default-model), этот уровень используется по умолчанию при работе с этой моделью.

624 637 

625Об уровне, который применяется после автоматического переключения на резервную модель, см. [Уровень усилий после переключения на резервную модель](#effort-level-after-a-fallback). О субагентах и участниках команды см. [Уровень усилий субагентов и участников команды](#effort-level-of-subagents-and-teammates).638Об уровне, который применяется после автоматического переключения на резервную модель, см. [Уровень усилий после переключения на резервную модель](#effort-level-after-a-fallback). О субагентах и участниках команды см. [Уровень усилий субагентов и участников команды](#effort-level-of-subagents-and-teammates).

626 639 


671| Уровень | Когда его использовать |684| Уровень | Когда его использовать |

672| :- | :- |685| :- | :- |

673| `low` | Быстрые обмены, где вы проверяете каждый результат, например мозговой штурм, первый набросок или небольшое изменение вроде переименования |686| `low` | Быстрые обмены, где вы проверяете каждый результат, например мозговой штурм, первый набросок или небольшое изменение вроде переименования |

674| `medium` | Уровень по умолчанию на Opus 5.5, Sonnet 5.5 и Haiku 5.5. На Opus 5.5 и Sonnet 5.5 подходит для повседневной инженерной работы с чётко определёнными рамками, например реализации новой функции. На моделях с более высоким уровнем по умолчанию снижает расход токенов для работы, чувствительной к затратам, где можно пожертвовать частью интеллекта |687| `medium` | Уровень по умолчанию на моделях Fable 5.2, Opus 5.5, Sonnet 5.5 и Haiku 5.5. На Opus 5.5 и Sonnet 5.5 подходит для повседневной инженерной работы с чётко определёнными рамками, например реализации новой функции. На моделях с более высоким уровнем по умолчанию снижает расход токенов для работы, чувствительной к затратам, где можно пожертвовать частью интеллекта |

675| `high` | Работа, где важна проверка или вероятны граничные случаи, например исправление ошибки в существующей кодовой базе. Уровень по умолчанию на всех моделях, кроме Opus 5.5, Sonnet 5.5, Haiku 5.5 и Opus 4.7 |688| `high` | Работа, где важна проверка или вероятны граничные случаи, например исправление ошибки в существующей кодовой базе. Уровень по умолчанию на остальных моделях из таблицы уровней усилий |

676| `xhigh` | Более глубокие рассуждения при большем расходе токенов. Уровень по умолчанию на Opus 4.7 |689| `xhigh` | Более глубокие рассуждения при большем расходе токенов. Уровень по умолчанию на Opus 4.7 |

677| `max` | Сложные проблемы, которые вы хотите, чтобы Claude проработал без вас, например поиск уязвимостей безопасности. `max` может давать убывающую отдачу и склонен к чрезмерному обдумыванию, поэтому протестируйте его перед широким внедрением |690| `max` | Сложные проблемы, которые вы хотите, чтобы Claude проработал без вас, например поиск уязвимостей безопасности. `max` может давать убывающую отдачу и склонен к чрезмерному обдумыванию, поэтому протестируйте его перед широким внедрением |

678| `ultracode` | Настройка Claude Code, а не уровень: планирует [динамический рабочий процесс](https://code.claude.com/docs/ru/workflows.md) для каждой существенной задачи на любом уровне усилий |691| `ultracode` | Настройка Claude Code, а не уровень: планирует [динамический рабочий процесс](https://code.claude.com/docs/ru/workflows.md) для каждой существенной задачи на любом уровне усилий |


691 704 

692* Введите его заново вне кавычек, скобок, пути или команды, в промпте, который не начинается с `/`705* Введите его заново вне кавычек, скобок, пути или команды, в промпте, который не начинается с `/`

693* Удалите `CLAUDE_CODE_EFFORT_LEVEL`, если она задана ниже `xhigh`, повысьте собственный [`maxEffortLevel`](https://code.claude.com/docs/ru/settings-reference#maxeffortlevel) до `xhigh` или выше либо попросите администратора организации повысить [ограничение вашей организации](#organization-effort-limits)706* Удалите `CLAUDE_CODE_EFFORT_LEVEL`, если она задана ниже `xhigh`, повысьте собственный [`maxEffortLevel`](https://code.claude.com/docs/ru/settings-reference#maxeffortlevel) до `xhigh` или выше либо попросите администратора организации повысить [ограничение вашей организации](#organization-effort-limits)

694* Выполните `/model` в сессии, чтобы переключиться на модель Opus 5.5, Sonnet 5.5, Haiku 5.5 или Fable 5.1. Там, где слово не может повысить уровень хода, например на Amazon Bedrock, вместо этого [установите уровень усилий](#set-the-effort-level)707* Выполните `/model` в сессии, чтобы переключиться на модель Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.2 или Fable 5.1. Там, где слово не может повысить уровень хода, например на Amazon Bedrock, вместо этого [установите уровень усилий](#set-the-effort-level)

695 708 

696#### Установка уровня усилий709#### Установка уровня усилий

697 710 


767 780 

768### Расширенный контекст781### Расширенный контекст

769 782 

770Fable 5.1, Fable 5, Sonnet 5 и новее, Haiku 5.5, Opus 4.6 и новее, а также Sonnet 4.6 поддерживают [контекстное окно в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) для длительных сессий с большими кодовыми базами.783Длительные сессии с большими кодовыми базами могут использовать [контекстное окно в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model). Его поддерживают модели Fable, Sonnet 5 и новее, Haiku 5.5, Opus 4.6 и новее, а также Sonnet 4.6.

771 784 

772Fable 5.1, Fable 5, Sonnet 5 и новее, Haiku 5.5, а также Opus 4.7 и новее по умолчанию работают с окном 1M, и суффикс `[1m]` не нужен. Это относится и к сессиям на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, а также к сессиям [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway). Чтобы вместо этого запускать их с окном 200K, см. [Отключение контекста 1M](#turn-off-1m-context).785Модели Fable, Sonnet 5 и новее, Haiku 5.5, а также Opus 4.7 и новее по умолчанию работают с окном 1M, и суффикс `[1m]` не нужен. Это относится и к сессиям на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, а также к сессиям [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway). Чтобы вместо этого запускать их с окном 200K, см. [Отключение контекста 1M](#turn-off-1m-context).

773 786 

774Opus 4.6 и Sonnet 4.6 получают 1M только через свой вариант `[1m]`, и доступ к этому варианту зависит от вашего тарифа. На тарифах Max, Ultra, Team и Enterprise, включая места как Team Standard, так и Team Premium, Opus 4.6 с контекстом 1M входит в вашу подписку. Sonnet 4.6 с контекстом 1M требует [кредитов использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) на любом тарифе подписки, включая Max и Ultra.787Opus 4.6 и Sonnet 4.6 получают 1M только через свой вариант `[1m]`, и доступ к этому варианту зависит от вашего тарифа. На тарифах Max, Ultra, Team и Enterprise, включая места как Team Standard, так и Team Premium, Opus 4.6 с контекстом 1M входит в вашу подписку. Sonnet 4.6 с контекстом 1M требует [кредитов использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) на любом тарифе подписки, включая Max и Ultra.

775 788 


798 811 

799#### Контекстное окно за LLM-шлюзом812#### Контекстное окно за LLM-шлюзом

800 813 

801Если вы установите `ANTHROPIC_BASE_URL` на [LLM-шлюз](https://code.claude.com/docs/ru/llm-gateway) или другой прокси, Claude Code даёт каждой распознанной модели то же контекстное окно, что и на Anthropic API. Fable 5.1, Fable 5, Sonnet 5 и новее, Haiku 5.5, а также Opus 4.7 и новее получают окно 1M без необходимости выбирать вариант `[1m]`, а модель, которая получает 1M только через свой вариант `[1m]`, например Opus 4.6, без него работает с 200K. Claude Code не может обнаружить более низкий предел, установленный шлюзом или сервером за ним. Если ваш шлюз отклоняет запросы свыше 200K токенов, установите [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](https://code.claude.com/docs/ru/env-vars) в окружении, из которого запускается Claude Code, чтобы сессии на всех моделях [сжимались на этой границе](#set-the-auto-compact-window).814Если вы установите `ANTHROPIC_BASE_URL` на [LLM-шлюз](https://code.claude.com/docs/ru/llm-gateway) или другой прокси, Claude Code даёт каждой распознанной модели то же контекстное окно, что и на Anthropic API. Модели Fable, Sonnet 5 и новее, Haiku 5.5, а также Opus 4.7 и новее получают окно 1M без варианта `[1m]`. Модель, которая получает 1M только через свой вариант `[1m]`, например Opus 4.6, без него работает с 200K.

815 

816Claude Code не может обнаружить более низкий предел, установленный шлюзом или сервером за ним. Если ваш шлюз отклоняет запросы свыше 200K токенов, установите [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](https://code.claude.com/docs/ru/env-vars) в окружении, из которого запускается Claude Code, чтобы сессии на всех моделях [сжимались на этой границе](#set-the-auto-compact-window).

802 817 

803#### Отключение контекста 1M818#### Отключение контекста 1M

804 819 


885 900 

886Как только Claude Code распознает ID или начнёт использовать указанное вами окно, предупреждение перестанет появляться при запуске сессии с этим ID.901Как только Claude Code распознает ID или начнёт использовать указанное вами окно, предупреждение перестанет появляться при запуске сессии с этим ID.

887 902 

903#### Исправление опечатки в имени модели

904 

905Любое из этих предупреждений означает, что Claude Code не распознаёт заданный вами ID модели, а этот ID почти совпадает с именем или псевдонимом модели, который Claude Code распознаёт:

906 

907```text theme={null}

908⚠ Model "<model>" isn't recognized · did you mean "<suggestion>"?

909Claude Code doesn't recognize the model "<model>". Did you mean "<suggestion>"?

910```

911 

912* **Вы допустили опечатку в ID**: замените его на предложенный вариант [там, где вы задаёте модель](#setting-your-model)

913* **ID указан намеренно**: оставьте его как есть. Сессия отправляет его в том виде, в каком вы его написали. Если контекстное окно, которое Claude Code предполагает для него, неверно, [исправьте окно](#correct-the-window-for-a-gateway-or-custom-model-id)

914 

888#### К каким ID применяется `CLAUDE_CODE_MAX_CONTEXT_TOKENS`915#### К каким ID применяется `CLAUDE_CODE_MAX_CONTEXT_TOKENS`

889 916 

890При использовании [LLM-шлюза](https://code.claude.com/docs/ru/llm-gateway) или другого пользовательского развёртывания Claude Code может предполагать для ID модели контекстное окно, которое отличается от реального окна модели, независимо от того, сопоставляет ли он ID с моделью Claude. Задайте в [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](https://code.claude.com/docs/ru/env-vars) окно, которое Claude Code должен предполагать вместо этого.917При использовании [LLM-шлюза](https://code.claude.com/docs/ru/llm-gateway) или другого пользовательского развёртывания Claude Code может предполагать для ID модели контекстное окно, которое отличается от реального окна модели, независимо от того, сопоставляет ли он ID с моделью Claude. Задайте в [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](https://code.claude.com/docs/ru/env-vars) окно, которое Claude Code должен предполагать вместо этого.


1100 1127 

1101| Версия | Изменение |1128| Версия | Изменение |

1102| :- | :- |1129| :- | :- |

1130| v2.1.321 | `fable` разрешается на Fable 5.2, кроме сессий шлюза приложений Claude |

1131| v2.1.321 | `best` разрешается на ту же модель, что и `opus`. Более ранние версии используют модель, на которую разрешается `fable`, если Fable доступна |

1103| v2.1.293 | `haiku` разрешается на Haiku 5.5 в Anthropic API |1132| v2.1.293 | `haiku` разрешается на Haiku 5.5 в Anthropic API |

1104| v2.1.284 | `sonnet` разрешается на Sonnet 5.5 в Anthropic API |1133| v2.1.284 | `sonnet` разрешается на Sonnet 5.5 в Anthropic API |

1105| v2.1.280 | `opus` разрешается на Opus 5.5 в Anthropic API, Claude Platform на AWS, Amazon Bedrock и Agent Platform Google Cloud |1134| v2.1.280 | `opus` разрешается на Opus 5.5 в Anthropic API, Claude Platform на AWS, Amazon Bedrock и Agent Platform Google Cloud |

permissions.md +2 −1

Details

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

254| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |254| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |

255| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |255| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |

256| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |256| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main` |

257 257 

258Судьбу команд из последнего столбца решают ваши остальные правила и режим разрешений.258Судьбу команд из последнего столбца решают ваши остальные правила и режим разрешений.

259 259 


273* **`docker`, направленный на другой демон**: формы `docker` только для чтения запрашивают подтверждение, когда команда содержит флаг, выбирающий другой демон, например `-H`, `--context` или `--url` и `--connection` из Podman.273* **`docker`, направленный на другой демон**: формы `docker` только для чтения запрашивают подтверждение, когда команда содержит флаг, выбирающий другой демон, например `-H`, `--context` или `--url` и `--connection` из Podman.

274* **`file` с флагами, открывающими пути**: `file` запрашивает подтверждение, когда передаёт `-m`/`--magic-file` или `-f`/`--files-from`, поскольку эти флаги заставляют `file` открывать пути, указанные в значении флага.274* **`file` с флагами, открывающими пути**: `file` запрашивает подтверждение, когда передаёт `-m`/`--magic-file` или `-f`/`--files-from`, поскольку эти флаги заставляют `file` открывать пути, указанные в значении флага.

275* **`ps`, который может вывести переменные окружения**: `ps` запрашивает подтверждение, когда один из его аргументов может действовать как опция `e`, как в `ps auxe` или `ps aux -e`, поскольку эта опция выводит переменные окружения процессов. `ps aux` и `ps -ef` выполняются без запроса подтверждения. Проверка форм с дефисом, таких как `ps aux -e`, требует Claude Code v2.1.290 или новее.275* **`ps`, который может вывести переменные окружения**: `ps` запрашивает подтверждение, когда один из его аргументов может действовать как опция `e`, как в `ps auxe` или `ps aux -e`, поскольку эта опция выводит переменные окружения процессов. `ps aux` и `ps -ef` выполняются без запроса подтверждения. Проверка форм с дефисом, таких как `ps aux -e`, требует Claude Code v2.1.290 или новее.

276* **`which` с флагами помимо поиска и отображения**: `which` запрашивает подтверждение, когда передаёт флаг, такой как `-i`/`--read-alias` или `--read-functions`. `which node` и `which -a node` выполняются без запроса подтверждения.

276* **Сетевые пути в Windows**: команда, аргументы которой включают сетевой путь (UNC), например `\\server\share\file`, запрашивает подтверждение, поскольку обращение к сетевому пути может отправить ваши учётные данные Windows указанному в нём хосту. Та же проверка применяется к командам [инструмента PowerShell](https://code.claude.com/docs/ru/tools-reference.md#powershell-tool).277* **Сетевые пути в Windows**: команда, аргументы которой включают сетевой путь (UNC), например `\\server\share\file`, запрашивает подтверждение, поскольку обращение к сетевому пути может отправить ваши учётные данные Windows указанному в нём хосту. Та же проверка применяется к командам [инструмента PowerShell](https://code.claude.com/docs/ru/tools-reference.md#powershell-tool).

277* **Запись в специальные переменные оболочки**: команда, которая задаёт, сбрасывает или перебирает определённые специальные переменные оболочки, такие как `PATH` или `IFS`, запрашивает подтверждение, даже если остальная часть команды только читает.278* **Запись в специальные переменные оболочки**: команда, которая задаёт, сбрасывает или перебирает определённые специальные переменные оболочки, такие как `PATH` или `IFS`, запрашивает подтверждение, даже если остальная часть команды только читает.

278* **Команды, которые анализ не может разобрать**: когда Claude Code не может полностью разобрать команду, он запрашивает подтверждение вместо того, чтобы считать команду командой только для чтения. Команды длиннее 10 000 символов всегда запрашивают подтверждение, поскольку превышают объём, который разбирает анализ.279* **Команды, которые анализ не может разобрать**: когда Claude Code не может полностью разобрать команду, он запрашивает подтверждение вместо того, чтобы считать команду командой только для чтения. Команды длиннее 10 000 символов всегда запрашивают подтверждение, поскольку превышают объём, который разбирает анализ.

Details

279* **Ваш хук возвращает `drop` после того, как его вызов `next(e)` уже пропустил промпт**: ход всё равно выполняется, а хук [завершается ошибкой](#handle-a-hook-that-fails) с сообщением, содержащим `a drop after its next() was answered`279* **Ваш хук возвращает `drop` после того, как его вызов `next(e)` уже пропустил промпт**: ход всё равно выполняется, а хук [завершается ошибкой](#handle-a-hook-that-fails) с сообщением, содержащим `a drop after its next() was answered`

280* **Ваш хук выбрасывает исключение или превышает время ожидания**: Claude Code пропускает его и отправляет промпт. [Добавьте обработчик `.catch`](#handle-a-hook-that-fails), чтобы сбой не приводил к отправке промпта, который хук остановил бы.280* **Ваш хук выбрасывает исключение или превышает время ожидания**: Claude Code пропускает его и отправляет промпт. [Добавьте обработчик `.catch`](#handle-a-hook-that-fails), чтобы сбой не приводил к отправке промпта, который хук остановил бы.

281 281 

282[Другие события](https://code.claude.com/docs/ru/plugins/mods/reference.md#prompts-and-what-claude-reads) охватывают остальное, что читает Claude: `prompt.section` для каждого раздела системного промпта, `prompt.context` для контекста, отправляемого с первым сообщением, и `skill.prompt` для текста скилла. Текст из этих хуков, меняющийся между запросами, [делает недействительным кэш промптов](https://code.claude.com/docs/ru/prompt-caching.md). В хуке `skill.prompt` вы также можете прочитать, [из какого плагина или файла получен скилл](https://code.claude.com/docs/ru/plugins/mods/reference.md#skill-prompt-fields).282[Другие события](https://code.claude.com/docs/ru/plugins/mods/reference.md#prompts-and-what-claude-reads) охватывают остальное, что читает Claude: `prompt.section` для каждого раздела системного промпта, `prompt.context` для контекста, отправляемого с первым сообщением, и `skill.prompt` для текста скилла. Чтобы изменить раздел после начала диалога, см. [Отправка изменённого раздела системного промпта или описания инструмента](https://code.claude.com/docs/ru/plugins/mods/reference.md#break-prompt-cache). В хуке `skill.prompt` вы также можете прочитать, [из какого плагина или файла получен скилл](https://code.claude.com/docs/ru/plugins/mods/reference.md#skill-prompt-fields).

283 283 

284### Следить за ходом284### Следить за ходом

285 285 

Details

197>197>

198> Чтобы рисовать в полосе, отфильтруйте по `{ component: 'AbovePrompt' }`.198> Чтобы рисовать в полосе, отфильтруйте по `{ component: 'AbovePrompt' }`.

199 199 

200Мод также может [поместить собственную строку в транскрипт](#place-a-row-in-the-transcript).

201 

200### Изменение того, что уже рисует Claude Code202### Изменение того, что уже рисует Claude Code

201 203 

202Claude Code рисует большую часть своего интерфейса сам: сообщения, строки вызовов инструментов, спиннер и многое другое. Каждая из этих частей также является сайтом рендеринга, поэтому мод может изменить ее стиль или заменить ее. Чтобы изменить одну из них, отфильтруйте ваш хук `ui.render` по ее имени из этой таблицы:204Claude Code рисует большую часть своего интерфейса сам: сообщения, строки вызовов инструментов, спиннер и многое другое. Каждая из этих частей также является сайтом рендеринга, поэтому мод может изменить ее стиль или заменить ее. Чтобы изменить одну из них, отфильтруйте ваш хук `ui.render` по ее имени из этой таблицы:


349* **Предложения промпта**: `$.prompt.suggest` разрешается с `isShown: false` и ничего не показывает, потому что панель чата оставляет бледный текст предложения в поле промпта для собственных предложений Claude.351* **Предложения промпта**: `$.prompt.suggest` разрешается с `isShown: false` и ничего не показывает, потому что панель чата оставляет бледный текст предложения в поле промпта для собственных предложений Claude.

350* **Ограничения текста**: панель чата обрезает строку состояния до 200 символов или двух строк, а всплывающее уведомление — до 500 символов.352* **Ограничения текста**: панель чата обрезает строку состояния до 200 символов или двух строк, а всплывающее уведомление — до 500 символов.

351 353 

354### Размещение строки в транскрипте

355 

356Строка — это строка, которую ваш мод добавляет в транскрипт в терминале после последнего сообщения. Она остается на этом месте по мере продолжения диалога, и Claude ее не видит. `$.ui.place` требует Claude Code v2.1.314 или новее.

357 

358**1. Разместите строку**

359 

360Вызовите [`$.ui.place`](https://code.claude.com/docs/ru/plugins/mods/reference#mods-api-methods) с `id`. `id` — это имя, которое вы придумываете для строки, например `build-status`. Оно может содержать от 1 до 64 букв, цифр, символов `_` или `-`, и каждой строке, которая есть у вашего мода в транскрипте, нужен собственный `id`.

361 

362**2. Нарисуйте строку**

363 

364Нарисуйте строку в точке отрисовки [`Placed`](https://code.claude.com/docs/ru/plugins/mods/reference#render-sites).

365 

366Этот пример добавляет команду `/build-status`. Когда пользователь запускает команду, мод добавляет строку, которая показывает `Build: passing`. Текст зафиксирован, чтобы пример был коротким, поэтому настоящий мод рисовал бы собственный результат:

367 

368```javascript theme={null}

369export function register(on) {

370 on('session.start', async ($, e, next) => {

371 await $.command.register({ name: 'build-status', description: 'Show the build status' })

372 return next(e)

373 })

374 

375 on('command.run', { command: 'build-status' }, async ($) => {

376 const placed = await $.ui.place({ id: 'build-status' })

377 // Where nothing draws the row, reply with text instead

378 return placed.isPlaced ? {} : { text: 'Build: passing' }

379 })

380 

381 on('ui.render', { component: 'Placed' }, async ($, e, next) => {

382 // This hook runs for every mod's rows, and another mod can use the same id

383 if (e.props.plugin !== $.plugin.name || e.props.id !== 'build-status') return next(e)

384 const { Text } = $.ui.resolve(e)

385 return Text({ children: ['Build: passing'] })

386 })

387}

388```

389 

390Чтобы попробовать пример, поместите этот код в [мод](https://code.claude.com/docs/ru/plugins/mods/create.md). В сессии терминала запустите `/build-status` в промпте Claude Code. `Build: passing` появится как строка в конце транскрипта.

391 

392Вызов не всегда показывает строку, а строка может позже исчезнуть, поэтому обрабатывайте в своем моде следующие случаи:

393 

394* **Результат**: `{ isPlaced: true, requestId }`, когда терминал рисует строку. В противном случае `isPlaced` имеет значение `false`, а `reason` объясняет причину, например `no attached surface draws placed rows yet`. Одна из причин — [ограничение на количество строк](https://code.claude.com/docs/ru/plugins/mods/reference.md#limits), которые мод может иметь одновременно.

395* **Повторный вызов с тем же `id`**: пока первая строка еще находится в транскрипте, вызов не добавляет строку и разрешается с `requestId` этой строки. Чтобы изменить то, что показывает строка, [перерисуйте строку](#redraw-when-something-changes).

396* **Когда строка исчезает**: когда диалог заканчивается, когда пользователь откатывается назад за эту строку или, вне [полноэкранной отрисовки](https://code.claude.com/docs/ru/fullscreen.md), когда диалог сжимается. `--resume` не возвращает строку. Чтобы снова показать строку, вызовите `$.ui.place` еще раз.

397 

398### Размещение фона за диалогом

399 

400> [!NOTE]

401>

402> `$.theme.set` и `$.theme.clear` заменяют `$.ui.backdrop`, который был удален в Claude Code v2.1.319. Замените `$.ui.backdrop({ id: 'your-backdrop' })` на `$.theme.set({ backdrop: { id: 'your-backdrop' } })`, а `$.ui.backdrop(undefined)` — на `$.theme.clear()`, который удаляет фон любого мода.

403 

404Чтобы разместить фон за диалогом в приложении Desktop или мобильном приложении, вызовите [`$.theme.set`](https://code.claude.com/docs/ru/plugins/mods/reference#mods-api-methods) с `backdrop`, а затем нарисуйте фон в точке отрисовки [`Backdrop`](https://code.claude.com/docs/ru/plugins/mods/reference#render-sites). Чтобы убрать фон, вызовите `$.theme.clear()`. Терминал фон не рисует. `$.theme.set` и `$.theme.clear` требуют Claude Code v2.1.319 или новее.

405 

406Этот мод устанавливает фон при запуске сессии, рисует фон и добавляет команду `/plain`, которая убирает фон:

407 

408```javascript theme={null}

409export function register(on) {

410 // Neither a reload of this mod nor --resume keeps the backdrop, so set it here

411 on('session.start', async ($, e, next) => {

412 await $.theme.set({ backdrop: { id: 'night-sky', colorScheme: 'dark' } })

413 await $.command.register({ name: 'plain', description: 'Take the backdrop off' })

414 return next(e)

415 })

416 

417 on('ui.render', { component: 'Backdrop' }, async ($, e, next) => {

418 // This hook runs for every mod's backdrop, and another mod can use the same id

419 if (e.props.plugin !== $.plugin.name || e.props.id !== 'night-sky') return next(e)

420 const { Box, Text } = $.ui.resolve(e)

421 return Box({ backgroundColor: 'blue', children: [Text({ children: ['Night sky'] })] })

422 })

423 

424 on('command.run', { command: 'plain' }, async ($) => {

425 const cleared = await $.theme.clear()

426 return { text: cleared.reason }

427 })

428}

429```

430 

431Чтобы попробовать пример, поместите этот код в [мод](https://code.claude.com/docs/ru/plugins/mods/create.md) и запустите сессию в приложении Desktop или мобильном приложении. Чтобы убрать фон, запустите `/plain` в промпте Claude Code. Транскрипт покажет `the theme is cleared` после имени мода, например `night-sky: the theme is cleared` для мода с именем `night-sky`.

432 

433Проверьте, что принимает `backdrop`, что сообщает вам результат вызова и что могут изменить другие моды:

434 

435* **Поля `backdrop`**: `id`, [имя](https://code.claude.com/docs/ru/plugins/mods/reference.md#limits), которое вы выбираете, является обязательным, а остальные поля — необязательными. `colorScheme` имеет значение `'light'` или `'dark'` и указывает, светлый или темный ваш рисунок. О `glass` см. [типы для вашей сборки](https://code.claude.com/docs/ru/plugins/mods/create.md#get-the-types-for-your-build).

436* **Рисуется ли фон**: `$.theme.set` разрешается с `isDrawn: true`, когда приложение Desktop или мобильное приложение, подключенное к сессии, сообщает, что рисует фоны. В противном случае `isDrawn` имеет значение `false`, а `reason` объясняет причину.

437* **Один фон на каждую сессию**: вызов `$.theme.set` заменяет фон сессии, а `$.theme.clear()` удаляет этот фон, независимо от того, какой мод его установил. Вызывайте `$.theme.clear()` только тогда, когда об этом просит пользователь.

438 

352## Создание дерева из элементов439## Создание дерева из элементов

353 440 

354То, что возвращает хук `ui.render`, — это дерево элементов: описание того, что рисовать, состоящее из боксов, текста и элементов управления, вложенных друг в друга. Вы описываете рисование, и Claude Code рисует его в том приложении, которое открыто у пользователя: в терминале, приложении Desktop или расширении VS Code.441То, что возвращает хук `ui.render`, — это дерево элементов: описание того, что рисовать, состоящее из боксов, текста и элементов управления, вложенных друг в друга. Вы описываете рисование, и Claude Code рисует его в том приложении, которое открыто у пользователя: в терминале, приложении Desktop или расширении VS Code.

Details

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

58| [`tool.call`](https://code.claude.com/docs/ru/plugins/mods/events#guard-or-change-a-tool-call) | Инструмент вот-вот запустится | `next(e)`, `{ deny: reason }` или `{ result }` |58| [`tool.call`](https://code.claude.com/docs/ru/plugins/mods/events#guard-or-change-a-tool-call) | Инструмент вот-вот запустится | `next(e)`, `{ deny: reason }` или `{ result }` |

59| [`tool.check`](https://code.claude.com/docs/ru/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code решает, может ли вызов инструмента выполниться, после хуков `tool.call` и `PreToolUse`. `next(e)` разрешается в решение, к которому пришли правила, режим разрешений и эти хуки. | `next(e)` или `{ decision }`, где `decision` равно `allow`, `ask` или `deny`, с необязательным `reason` |59| [`tool.check`](https://code.claude.com/docs/ru/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code решает, может ли вызов инструмента выполниться, после хуков `tool.call` и `PreToolUse`. `next(e)` разрешается в решение, к которому пришли правила, режим разрешений и эти хуки. | `next(e)` или `{ decision }`, где `decision` равно `allow`, `ask` или `deny`, с необязательным `reason` |

60| `tool.describe` | Один раз для каждого инструмента, когда его описание впервые отправляется Claude. Второй раз для инструмента MCP, когда Claude загружает его через [поиск инструментов](https://code.claude.com/docs/ru/mcp.md#scale-with-mcp-tool-search); при этом `e.description` содержит текст, который Claude читает для загруженного инструмента. | `{ description }`, при необходимости с `isDeferred`, равным `true`, чтобы поместить инструмент за поиск инструментов, или `false`, чтобы загрузить его сразу |60| `tool.describe` | Один раз для каждого инструмента, когда его описание впервые отправляется Claude. Второй раз для инструмента MCP, когда Claude загружает его через [поиск инструментов](https://code.claude.com/docs/ru/mcp.md#scale-with-mcp-tool-search); при этом `e.description` содержит текст, который Claude читает для загруженного инструмента. | `{ description }`, при необходимости с `isDeferred`, равным `true`, чтобы поместить инструмент за поиск инструментов, или `false`, чтобы загрузить его сразу. Добавьте [`breakPromptCache: true`](#break-prompt-cache), чтобы отправить изменённое описание на следующем ходе. |

61 61 

62#### Поля агента и организации в `tool.check`62#### Поля агента и организации в `tool.check`

63 63 


85| `prompt.edit` | Пользователь редактирует поле промпта | `next(e)` |85| `prompt.edit` | Пользователь редактирует поле промпта | `next(e)` |

86| `prompt.autocomplete` | Пользователь вводит текст в поле промпта, и у курсора заканчивается слово. `e.token` — это слово. Claude Code не ждёт хук: его собственные строки автодополнения показываются первыми. | `{ suggestions }` — список строк `{ text, label, description }`, которые показываются под собственными строками Claude Code. Выбор строки записывает её `text` поверх слова. |86| `prompt.autocomplete` | Пользователь вводит текст в поле промпта, и у курсора заканчивается слово. `e.token` — это слово. Claude Code не ждёт хук: его собственные строки автодополнения показываются первыми. | `{ suggestions }` — список строк `{ text, label, description }`, которые показываются под собственными строками Claude Code. Выбор строки записывает её `text` поверх слова. |

87| `prompt.compose` | Claude Code формирует системный промпт | `{ sections }` — список `{ id, text, scope }` в порядке отправки |87| `prompt.compose` | Claude Code формирует системный промпт | `{ sections }` — список `{ id, text, scope }` в порядке отправки |

88| [`prompt.section`](https://code.claude.com/docs/ru/plugins/mods/events#rewrite-or-add-to-a-prompt) | Один раз для каждого именованного раздела системного промпта. `e.name` — это `id` раздела в `prompt.compose`. | `{ text }` или `{ text: null }`, чтобы пропустить раздел |88| [`prompt.section`](https://code.claude.com/docs/ru/plugins/mods/events#rewrite-or-add-to-a-prompt) | Один раз для каждого именованного раздела системного промпта. `e.name` — это `id` раздела в `prompt.compose`. | `{ text }` или `{ text: null }`, чтобы пропустить раздел. Добавьте [`breakPromptCache: true`](#break-prompt-cache), чтобы отправить изменённый раздел на следующем ходе. |

89| [`prompt.context`](https://code.claude.com/docs/ru/plugins/mods/events#rewrite-or-add-to-a-prompt) | Один раз для каждого диалога, для контекста, отправляемого с первым сообщением | `{ blocks }` |89| [`prompt.context`](https://code.claude.com/docs/ru/plugins/mods/events#rewrite-or-add-to-a-prompt) | Один раз для каждого диалога, для контекста, отправляемого с первым сообщением | `{ blocks }` |

90| `prompt.attachment` | Claude Code добавляет собственное сообщение для Claude, например напоминание. `e.type` указывает вид, а для видов, объявленных в типах, `e.detail` содержит факты, на основе которых написан текст. | `{ text }` или `{ text: null }`, чтобы пропустить его |90| `prompt.attachment` | Claude Code добавляет собственное сообщение для Claude, например напоминание. `e.type` указывает вид, а для видов, объявленных в типах, `e.detail` содержит факты, на основе которых написан текст. | `{ text }` или `{ text: null }`, чтобы пропустить его |

91| `prompt.mention` | Claude Code вот-вот прочитает файл, упомянутый в промпте через @. Требуется Claude Code v2.1.290 или новее. | `next({ ...e, path })`, чтобы прочитать другой файл, или `{ deny: reason }` |91| `prompt.mention` | Claude Code вот-вот прочитает файл, упомянутый в промпте через @. Требуется Claude Code v2.1.290 или новее. | `next({ ...e, path })`, чтобы прочитать другой файл, или `{ deny: reason }` |


108 108 

109В `skill.prompt` поля `e.source`, `e.pluginName`, `e.path`, `e.frontmatter` и `e.frontmatterProblem` требуют Claude Code v2.1.299 или новее.109В `skill.prompt` поля `e.source`, `e.pluginName`, `e.path`, `e.frontmatter` и `e.frontmatterProblem` требуют Claude Code v2.1.299 или новее.

110 110 

111#### Отправка изменённого раздела системного промпта или описания инструмента с помощью `breakPromptCache`

112 

113Чтобы изменить раздел или описание инструмента в текущем диалоге, вызовите `$.ui.invalidate('prompt.section')` или `$.ui.invalidate('tool.describe')`, чтобы ваш хук запустился снова. Верните из него `{ text, breakPromptCache: true }` или `{ description, breakPromptCache: true }`. Без этого поля Claude продолжает читать текст, [сохранённый вместе с диалогом](https://code.claude.com/docs/ru/cli-reference.md#system-prompt-flags-in-resumed-conversations), для раздела или инструмента, загруженного сразу, до начала нового диалога или [сжатия контекста](https://code.claude.com/docs/ru/prompt-caching.md#compacting-the-conversation).

114 

115Изменённый текст доходит до Claude на следующем ходе, а [кэш промптов](https://code.claude.com/docs/ru/prompt-caching.md) начинается заново, поэтому этот ход выполняется медленнее и обходится дороже. Это поле требует Claude Code v2.1.321 или новее. С v2.1.299 до v2.1.321 текущий диалог получал изменённый текст на следующем ходе.

116 

111### Команды и конфигурация117### Команды и конфигурация

112 118 

113| Событие | Срабатывает, когда | Хук может вернуть |119| Событие | Срабатывает, когда | Хук может вернуть |


212| Пространство имён | Методы |218| Пространство имён | Методы |

213| :- | :- |219| :- | :- |

214| `$.plugin` | `name`, `root`: имя и каталог этого плагина |220| `$.plugin` | `name`, `root`: имя и каталог этого плагина |

215| [`$.ui`](https://code.claude.com/docs/ru/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |221| [`$.ui`](https://code.claude.com/docs/ru/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, [`place`](https://code.claude.com/docs/ru/plugins/mods/interface#place-a-row-in-the-transcript), `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit`, `view`. `view` требует Claude Code v2.1.300 или более поздней версии, а `place` — v2.1.314 или более поздней версии. |

222| [`$.theme`](https://code.claude.com/docs/ru/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `set`, `clear`: задать фон, который будет отрисовывать приложение Desktop или мобильное приложение, и убрать этот фон. Требует Claude Code v2.1.319 или более поздней версии. |

216| [`$.command`](https://code.claude.com/docs/ru/plugins/mods/api#add-a-command) | `register`, `run`, `list` |223| [`$.command`](https://code.claude.com/docs/ru/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

217| [`$.tool`](https://code.claude.com/docs/ru/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |224| [`$.tool`](https://code.claude.com/docs/ru/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |

218| `$.agent` | `register`, `spawn`, `list`. `list()` возвращает субагентов и участников команды агентов этой сессии, у каждого из которых есть `status` со значением `pending`, `running`, `waiting`, `idle`, `completed`, `failed` или `killed`, причём `idle` и `waiting` требуют Claude Code v2.1.289 или более поздней версии. |225| `$.agent` | `register`, `spawn`, `list`. `list()` возвращает субагентов и участников команды агентов этой сессии, у каждого из которых есть `status` со значением `pending`, `running`, `waiting`, `idle`, `completed`, `failed` или `killed`, причём `idle` и `waiting` требуют Claude Code v2.1.289 или более поздней версии. |


243| :- | :- | :- | :- |250| :- | :- | :- | :- |

244| [`Pane`](https://code.claude.com/docs/ru/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | `id` панели | Terminal, Desktop, VS Code |251| [`Pane`](https://code.claude.com/docs/ru/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | `id` панели | Terminal, Desktop, VS Code |

245| [`AbovePrompt`](https://code.claude.com/docs/ru/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Один экземпляр | Terminal, Desktop |252| [`AbovePrompt`](https://code.claude.com/docs/ru/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Один экземпляр | Terminal, Desktop |

253| [`Placed`](https://code.claude.com/docs/ru/plugins/mods/interface#place-a-row-in-the-transcript) | `id`, `plugin`, `onScreen` | `requestId`, который вернул `$.ui.place` | Terminal |

254| [`Backdrop`](https://code.claude.com/docs/ru/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `id`, `plugin`, `glass`, `colorScheme` | `backdrop` | Интерфейсы `desktop` и `mobile`. Ваш хук запускается, когда приложение Desktop или мобильное приложение запрашивает отрисовку фона. |

246| `UserMessage` | `text`, `origin`, `isExpanded` и `task` или `from` в зависимости от источника | id сообщения | Terminal, Desktop, VS Code |255| `UserMessage` | `text`, `origin`, `isExpanded` и `task` или `from` в зависимости от источника | id сообщения | Terminal, Desktop, VS Code |

247| `AssistantMessage` | Текст ответа | id сообщения | Terminal, Desktop, VS Code |256| `AssistantMessage` | Текст ответа | id сообщения | Terminal, Desktop, VS Code |

248| `ToolUse`, `ToolResult`, `ToolGroup` | Имя, входные данные и результат инструмента | id вызова инструмента | Terminal, Desktop, VS Code |257| `ToolUse`, `ToolResult`, `ToolGroup` | Имя, входные данные и результат инструмента | id вызова инструмента | Terminal, Desktop, VS Code |


399| Перерисовки `$.ui.invalidate('ui.render')` | Ограничены 10 в секунду или 30 в терминале для видимой панели, развёрнутой полосы и строки подсказки под промптом. Более частые вызовы объединяются. |408| Перерисовки `$.ui.invalidate('ui.render')` | Ограничены 10 в секунду или 30 в терминале для видимой панели, развёрнутой полосы и строки подсказки под промптом. Более частые вызовы объединяются. |

400| `$.ui.toast` | Показывается 4 секунды, если не передать `{ timeoutMs }`. В [классическом рендерере](https://code.claude.com/docs/ru/fullscreen.md#enable-fullscreen-rendering) более новое всплывающее уведомление мода может [заменить его более старое уведомление](https://code.claude.com/docs/ru/plugins/mods/troubleshoot.md#a-toast-doesn’t-appear), которое отображается или ожидает показа. |409| `$.ui.toast` | Показывается 4 секунды, если не передать `{ timeoutMs }`. В [классическом рендерере](https://code.claude.com/docs/ru/fullscreen.md#enable-fullscreen-rendering) более новое всплывающее уведомление мода может [заменить его более старое уведомление](https://code.claude.com/docs/ru/plugins/mods/troubleshoot.md#a-toast-doesn’t-appear), которое отображается или ожидает показа. |

401| Панель, открытая без запроса пользователя | Размещается начиная со 144 столбцов терминала, со 110 — после того как пользователь однажды её открыл |410| Панель, открытая без запроса пользователя | Размещается начиная со 144 столбцов терминала, со 110 — после того как пользователь однажды её открыл |

411| Строки из `$.ui.place`, которые один мод одновременно имеет в диалоге | 500. При достижении ограничения вызов с новым `id` разрешается в `{ isPlaced: false, reason: 'a plugin holds at most 500 placed rows' }`. |

402| Глубина вложенности аргументов вызова API модов | 28 000 уровней. При превышении вызов отклоняется с сообщением, оканчивающимся на `nesting deeper than 28000 levels is not supported`. Требуется Claude Code v2.1.299 или новее. |412| Глубина вложенности аргументов вызова API модов | 28 000 уровней. При превышении вызов отклоняется с сообщением, оканчивающимся на `nesting deeper than 28000 levels is not supported`. Требуется Claude Code v2.1.299 или новее. |

403| Глубина вложенности изменённого события, переданного в `next`, за пределами [хуков на основе асинхронных генераторов](#events), например хука на `turn.step` | 28 000 уровней. При превышении `next` отклоняется с сообщением, оканчивающимся на `nesting deeper than 28000 levels is not supported`. Требуется Claude Code v2.1.299 или новее. |413| Глубина вложенности изменённого события, переданного в `next`, за пределами [хуков на основе асинхронных генераторов](#events), например хука на `turn.step` | 28 000 уровней. При превышении `next` отклоняется с сообщением, оканчивающимся на `nesting deeper than 28000 levels is not supported`. Требуется Claude Code v2.1.299 или новее. |

404| Глубина вложенности возвращаемого значения хука, за пределами `ui.render`, `ui.resolve` и хуков на основе асинхронных генераторов | 28 000 уровней. При превышении результат хука отклоняется, а [уведомление, сообщающее об этом](https://code.claude.com/docs/ru/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing), содержит `nesting deeper than 28000 levels is not supported`. Требуется Claude Code v2.1.299 или новее. |414| Глубина вложенности возвращаемого значения хука, за пределами `ui.render`, `ui.resolve` и хуков на основе асинхронных генераторов | 28 000 уровней. При превышении результат хука отклоняется, а [уведомление, сообщающее об этом](https://code.claude.com/docs/ru/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing), содержит `nesting deeper than 28000 levels is not supported`. Требуется Claude Code v2.1.299 или новее. |

405| Области видимости, такие как функции, блоки и циклы, вложенные друг в друга в одном файле модуля хуков | 2 000 |415| Области видимости, такие как функции, блоки и циклы, вложенные друг в друга в одном файле модуля хуков | 2 000 |

406| Имена команд, инструментов, типов субагентов и панелей | Буквы, цифры, `_` и `-`, до 64 символов |416| Имена команд, инструментов, типов субагентов и панелей, а также `id` размещённой строки или фона | Буквы, цифры, `_` и `-`, до 64 символов |

407| Один тест `claude plugin test` | 5 секунд, если тест не задаёт `timeoutMs` |417| Один тест `claude plugin test` | 5 секунд, если тест не задаёт `timeoutMs` |

408 418 

409## Настройки и переменные окружения419## Настройки и переменные окружения

Details

33Две настройки не отображаются в таблице слоёв, но всё ещё влияют на то, что остаётся в кэше:33Две настройки не отображаются в таблице слоёв, но всё ещё влияют на то, что остаётся в кэше:

34 34 

35* **Модель**: каждая модель имеет свой кэш. Переключение моделей пересчитывает весь запрос, даже когда содержимое идентично. Подробнее см. в разделе [Переключение моделей](#switching-models) ниже.35* **Модель**: каждая модель имеет свой кэш. Переключение моделей пересчитывает весь запрос, даже когда содержимое идентично. Подробнее см. в разделе [Переключение моделей](#switching-models) ниже.

36* **Уровень усилий**: на большинстве моделей каждый уровень усилий имеет свой кэш, поэтому изменение усилий во время сессии пересчитывает весь запрос. На Opus 5.5, Sonnet 5.5, Haiku 5.5 и Fable 5.1 с API-ключом или подпиской Claude кэш по умолчанию остаётся нетронутым. Подробнее см. в разделе [Изменение уровня усилий](#changing-effort-level) ниже.36* **Уровень усилий**: на большинстве моделей каждый уровень усилий имеет свой кэш, поэтому изменение усилий во время сессии пересчитывает весь запрос. С API-ключом или подпиской Claude кэш по умолчанию остаётся нетронутым на Fable 5.1 и более поздних версиях, Opus 5.5, Sonnet 5.5 и Haiku 5.5. Подробнее см. в разделе [Изменение уровня усилий](#changing-effort-level) ниже.

37 37 

38> [!TIP]38> [!TIP]

39>39>


94 94 

95На большинстве моделей изменение [уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) в середине сессии означает, что следующий запрос читает всю историю диалога без попаданий в кэш. Пока кэш ещё тёплый, Claude Code сначала просит вас подтвердить изменение.95На большинстве моделей изменение [уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) в середине сессии означает, что следующий запрос читает всю историю диалога без попаданий в кэш. Пока кэш ещё тёплый, Claude Code сначала просит вас подтвердить изменение.

96 96 

97На Opus 5.5, Sonnet 5.5, Haiku 5.5 и Fable 5.1 с API-ключом или подпиской Claude кэш сохраняется при изменении effort. Claude Code [применяет новый уровень](https://code.claude.com/docs/ru/model-config.md#when-a-new-effort-level-starts) без запроса подтверждения. На Amazon Bedrock, Google Cloud Agent Platform или [шлюзе Claude apps](https://code.claude.com/docs/ru/claude-apps-gateway), а также когда вы установили [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) или ваша организация использует конфигурацию HIPAA, всё работает так же, как на большинстве моделей.97С API-ключом или подпиской Claude кэш сохраняется при изменении effort на Fable 5.1 и более поздних версиях, Opus 5.5, Sonnet 5.5 и Haiku 5.5. Claude Code [применяет новый уровень](https://code.claude.com/docs/ru/model-config.md#when-a-new-effort-level-starts) без запроса подтверждения. На Amazon Bedrock, Google Cloud Agent Platform или [шлюзе Claude apps](https://code.claude.com/docs/ru/claude-apps-gateway), а также когда вы установили [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) или ваша организация использует конфигурацию HIPAA, всё работает так же, как на большинстве моделей.

98 98 

99До версии v2.1.260 изменение effort на Fable 5.1 с API-ключом или подпиской Claude также инвалидировало кэш.99До версии v2.1.260 изменение effort на Fable 5.1 с API-ключом или подпиской Claude также инвалидировало кэш.

100 100 

Details

49> claude remote-control49> claude remote-control

50> ```50> ```

51>51>

52> `claude rc` — псевдоним этой команды.

53>

52> До тех пор, пока вы не примете одноразовое подтверждение Remote Control, `claude remote-control` объясняет, что он делает, и спрашивает `Enable Remote Control? (y/n)` перед запуском сервера. Ответьте `y`, чтобы принять и запустить сервер. Если вы откажетесь, Claude Code завершит работу без запуска сервера и снова спросит при следующем запуске команды.54> До тех пор, пока вы не примете одноразовое подтверждение Remote Control, `claude remote-control` объясняет, что он делает, и спрашивает `Enable Remote Control? (y/n)` перед запуском сервера. Ответьте `y`, чтобы принять и запустить сервер. Если вы откажетесь, Claude Code завершит работу без запуска сервера и снова спросит при следующем запуске команды.

53>55>

54> Процесс продолжает работать в вашем терминале в режиме сервера, ожидая удаленных подключений. Он отображает URL, который вы можете использовать для [подключения с другого устройства](#connect-from-another-device), и вы можете нажать пробел, чтобы показать QR-код для быстрого доступа с телефона. Пока активна удаленная сессия, терминал показывает статус подключения и активность инструментов.56> Процесс продолжает работать в вашем терминале в режиме сервера, ожидая удаленных подключений. Он отображает URL, который вы можете использовать для [подключения с другого устройства](#connect-from-another-device), и вы можете нажать пробел, чтобы показать QR-код для быстрого доступа с телефона. Пока активна удаленная сессия, терминал показывает статус подключения и активность инструментов.


462* **Ваш тариф claude.ai — Pro, Max или Ultra**: Claude Code всё ещё авторизован под организацией Team или Enterprise после предыдущего входа, поэтому проверяет политику Remote Control этой организации. Выполните `/status`, чтобы увидеть, какой тариф и организацию использует ваш вход. Выполните `claude auth logout`, затем `claude auth login`, чтобы войти заново под текущим тарифом.464* **Ваш тариф claude.ai — Pro, Max или Ultra**: Claude Code всё ещё авторизован под организацией Team или Enterprise после предыдущего входа, поэтому проверяет политику Remote Control этой организации. Выполните `/status`, чтобы увидеть, какой тариф и организацию использует ваш вход. Выполните `claude auth logout`, затем `claude auth login`, чтобы войти заново под текущим тарифом.

463* **Сообщение не предлагает обратиться к администратору организации**: к вашей организации применена [конфигурация HIPAA](https://code.claude.com/docs/ru/hipaa-setup.md), которая отключает Remote Control. Чтобы убедиться в этом, выполните `/status` и найдите `HIPAA` в строке `Organization configuration`. Owner видит переключатель **Remote Control** неактивным в [настройках администратора](https://claude.ai/admin-settings/claude-code) и не может его включить. Если у вас есть вопросы о конфигурации, обратитесь к Owner, который может связаться с командой Anthropic, обслуживающей вашу организацию. До v2.1.267 в этом случае вместо этого показывалось "Remote Control isn't available for your organization due to its compliance policy".465* **Сообщение не предлагает обратиться к администратору организации**: к вашей организации применена [конфигурация HIPAA](https://code.claude.com/docs/ru/hipaa-setup.md), которая отключает Remote Control. Чтобы убедиться в этом, выполните `/status` и найдите `HIPAA` в строке `Organization configuration`. Owner видит переключатель **Remote Control** неактивным в [настройках администратора](https://claude.ai/admin-settings/claude-code) и не может его включить. Если у вас есть вопросы о конфигурации, обратитесь к Owner, который может связаться с командой Anthropic, обслуживающей вашу организацию. До v2.1.267 в этом случае вместо этого показывалось "Remote Control isn't available for your organization due to its compliance policy".

464* **Remote Control работает у других сотрудников вашей организации, но не у вас**: если ваша организация Enterprise управляет вашим доступом с помощью [пользовательских ролей](https://support.claude.com/en/articles/13930452), причиной могут быть ваши роли. Для Remote Control нужны и разрешение на облачные сессии, и разрешение **Claude Code remote control**. Попросите Owner проверить, включают ли ваши роли оба разрешения, и добавить недостающее в [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).466* **Remote Control работает у других сотрудников вашей организации, но не у вас**: если ваша организация Enterprise управляет вашим доступом с помощью [пользовательских ролей](https://support.claude.com/en/articles/13930452), причиной могут быть ваши роли. Для Remote Control нужны и разрешение на облачные сессии, и разрешение **Claude Code remote control**. Попросите Owner проверить, включают ли ваши роли оба разрешения, и добавить недостающее в [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

467* **Owner видит баннер [Zero Data Retention](https://code.claude.com/docs/ru/zero-data-retention.md) в [настройках администратора](https://claude.ai/admin-settings/claude-code)**: Remote Control недоступен для вашей организации, и Owner не может его включить.

465* **В остальных случаях Owner не включил его для вашей организации**: на тарифах Team и Enterprise Remote Control по умолчанию отключён. Owner может включить его на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code), включив переключатель **Remote Control**. Этот переключатель — серверная настройка организации.468* **В остальных случаях Owner не включил его для вашей организации**: на тарифах Team и Enterprise Remote Control по умолчанию отключён. Owner может включить его на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code), включив переключатель **Remote Control**. Этот переключатель — серверная настройка организации.

466 469 

467До v2.1.281 это сообщение также появлялось, когда Claude Code не загрузил политику вашей организации на этой машине, например после запуска без сети. Более поздние версии сообщают об этом состоянии как [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control).470До v2.1.281 это сообщение также появлялось, когда Claude Code не загрузил политику вашей организации на этой машине, например после запуска без сети. Более поздние версии сообщают об этом состоянии как [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control).

Details

154| :- | :- |154| :- | :- |

155| `CLAUDE_RUNNER_REPO_URL` | URL репозитория для клонирования, после применения любых `--git-host-rewrite` и `--git-ssh-rewrite` |155| `CLAUDE_RUNNER_REPO_URL` | URL репозитория для клонирования, после применения любых `--git-host-rewrite` и `--git-ssh-rewrite` |

156| `CLAUDE_RUNNER_REPO_REF` | Ревизия для checkout в том виде, в каком её запросила сессия: ветка, тег, SHA коммита или полное имя ссылки, например `refs/heads/<branch>` или `refs/pull/<number>/head`. Пустое значение означает ветку по умолчанию репозитория. |156| `CLAUDE_RUNNER_REPO_REF` | Ревизия для checkout в том виде, в каком её запросила сессия: ветка, тег, SHA коммита или полное имя ссылки, например `refs/heads/<branch>` или `refs/pull/<number>/head`. Пустое значение означает ветку по умолчанию репозитория. |

157| `CLAUDE_RUNNER_CHECKOUT_PATH` | Абсолютный путь, где должно остаться рабочее дерево |157| `CLAUDE_RUNNER_CHECKOUT_PATH` | Абсолютный путь, где должно остаться рабочее дерево. См. [Имена папок checkout](#checkout-folder-names). |

158| `CLAUDE_RUNNER_SESSION_ID` | ID сессии в форме с тегом `session_...`, для логирования и корреляции |158| `CLAUDE_RUNNER_SESSION_ID` | ID сессии в форме с тегом `session_...`, для логирования и корреляции |

159| `CLAUDE_RUNNER_SESSION_UUID` | Тот же ID сессии в канонической форме UUID |159| `CLAUDE_RUNNER_SESSION_UUID` | Тот же ID сессии в канонической форме UUID |

160| `CLAUDE_RUNNER_API_BASE_URL` | Базовый URL API Anthropic для вызовов в области сессии |160| `CLAUDE_RUNNER_API_BASE_URL` | Базовый URL API Anthropic для вызовов в области сессии |


166 166 

167После возврата вашего хука runner проверяет, что `CLAUDE_RUNNER_CHECKOUT_PATH` содержит `.git`. Если ваш хук материализует источник, не основанный на git, такой как Perforce или распакованный tarball, установите `CLAUDE_RUNNER_SKIP_GIT_VERIFY=1` в окружении runner'а, чтобы пропустить эту проверку. Потоки на основе Git, такие как создание рабочей ветки и отправка результатов, требуют checkout git, поэтому экспортируйте результаты из деревьев, не основанных на git, с помощью [хука `post-session`](#post-session).167После возврата вашего хука runner проверяет, что `CLAUDE_RUNNER_CHECKOUT_PATH` содержит `.git`. Если ваш хук материализует источник, не основанный на git, такой как Perforce или распакованный tarball, установите `CLAUDE_RUNNER_SKIP_GIT_VERIFY=1` в окружении runner'а, чтобы пропустить эту проверку. Потоки на основе Git, такие как создание рабочей ветки и отправка результатов, требуют checkout git, поэтому экспортируйте результаты из деревьев, не основанных на git, с помощью [хука `post-session`](#post-session).

168 168 

169#### Имена папок checkout

170 

171`CLAUDE_RUNNER_CHECKOUT_PATH` заканчивается папкой с именем `<repo-owner>-<repo>`, например `acme-api`. Два репозитория в одной сессии не могут использовать одну и ту же папку, даже если их имена различаются только регистром. Например, если в сессии указаны `acme/api`, а затем `Acme/API`, первый получает `acme-api`, а второй — `Acme-API-2`.

172 

169#### Получение учётных данных git в хуке173#### Получение учётных данных git в хуке

170 174 

171Runner не передаёт учётные данные git в хук. Подкоманда `decode-token` здесь тоже недоступна, потому что `CLAUDE_RUNNER_CLAUDE_BIN` не установлена в окружении хука checkout. Вместо этого создайте учётные данные клонирования для каждой сессии на основе идентичности сессии или вернитесь к собственной аутентификации git хоста:175Runner не передаёт учётные данные git в хук. Подкоманда `decode-token` здесь тоже недоступна, потому что `CLAUDE_RUNNER_CLAUDE_BIN` не установлена в окружении хука checkout. Вместо этого создайте учётные данные клонирования для каждой сессии на основе идентичности сессии или вернитесь к собственной аутентификации git хоста:

Details

23 * **С [Anthropic-managed git](#use-the-anthropic-git-proxy)**: при наличии таких учётных данных Claude обращается к GitHub напрямую, а не через Anthropic-managed git.23 * **С [Anthropic-managed git](#use-the-anthropic-git-proxy)**: при наличии таких учётных данных Claude обращается к GitHub напрямую, а не через Anthropic-managed git.

24 * **Без Anthropic-managed git**: учётные данные для клонирования могут оставаться в образе, если вы ограничите их так строго, как описано в [Ship git config in your image](#ship-git-config-in-your-image).24 * **Без Anthropic-managed git**: учётные данные для клонирования могут оставаться в образе, если вы ограничите их так строго, как описано в [Ship git config in your image](#ship-git-config-in-your-image).

25* **Держите секрет окружения вдали от хостов, запускающих сессии**: секрет окружения может регистрировать runners и получать любую сессию, поставленную в очередь в окружение. На фиксированном флоте он находится на каждом хосте runner, где код любой сессии может прочитать файл секрета. Предпочитайте [on-demand runners](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#on-demand-runners), где секрет остаётся на хосте оркестратора, который никогда не запускает пользовательский код, и каждый runner получает одноразовый наряд на работу, который регистрирует ровно один runner. На фиксированном флоте рассматривайте файл environment-secret как читаемый каждой сессией и ротируйте секрет после любого подозрения на компрометацию сессии.25* **Держите секрет окружения вдали от хостов, запускающих сессии**: секрет окружения может регистрировать runners и получать любую сессию, поставленную в очередь в окружение. На фиксированном флоте он находится на каждом хосте runner, где код любой сессии может прочитать файл секрета. Предпочитайте [on-demand runners](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#on-demand-runners), где секрет остаётся на хосте оркестратора, который никогда не запускает пользовательский код, и каждый runner получает одноразовый наряд на работу, который регистрирует ровно один runner. На фиксированном флоте рассматривайте файл environment-secret как читаемый каждой сессией и ротируйте секрет после любого подозрения на компрометацию сессии.

26 * **После подозрения на компрометацию**: попросите [Owner](https://code.claude.com/docs/ru/cloud-environments.md#organization-shared-environments) создать новый секрет и отозвать старый на вкладке **Configuration** окружения, а затем разверните новый секрет. Anthropic отклоняет все оркестраторы и runners со старым секретом, включая on-demand runners, запущенные по его нарядам на работу. Ваши runners завершают работу, прерывая свои сессии.

26* **Исходящий трафик по умолчанию запрещён**: ограничьте исходящий трафик контейнеров runner и сессии на границе вашей собственной сети в каждом окружении; [Default-deny egress](#default-deny-egress) описывает, что разрешить и почему.27* **Исходящий трафик по умолчанию запрещён**: ограничьте исходящий трафик контейнеров runner и сессии на границе вашей собственной сети в каждом окружении; [Default-deny egress](#default-deny-egress) описывает, что разрешить и почему.

27* **Наименьшие привилегии IAM хоста**: вычислительная идентификация, прикреплённая к хосту runner, такая как профиль экземпляра или учётная запись сервиса узла, должна предоставлять только то, что нужно самому runner. Сессии должны получать свои собственные учётные данные через ваш скрипт-обёртку, а не наследовать учётные данные хоста.28* **Наименьшие привилегии IAM хоста**: вычислительная идентификация, прикреплённая к хосту runner, такая как профиль экземпляра или учётная запись сервиса узла, должна предоставлять только то, что нужно самому runner. Сессии должны получать свои собственные учётные данные через ваш скрипт-обёртку, а не наследовать учётные данные хоста.

28* **Блокируйте сессиям доступ к эндпоинту облачных метаданных**: чтобы сессии не использовали идентификацию хоста, требуется блокировать их доступ к эндпоинту облачных метаданных, а политики исходящего трафика на уровне подсети не перехватывают трафик метаданных link-local, поэтому блокируйте его в самом контейнере:29* **Блокируйте сессиям доступ к эндпоинту облачных метаданных**: чтобы сессии не использовали идентификацию хоста, требуется блокировать их доступ к эндпоинту облачных метаданных, а политики исходящего трафика на уровне подсети не перехватывают трафик метаданных link-local, поэтому блокируйте его в самом контейнере:


203> [!WARNING]204> [!WARNING]

204>205>

205> При заданном `--use-anthropic-git-proxy` раннер удаляет и заменяет глобальную конфигурацию git пользователя, от имени которого работает, не сохраняя резервной копии. Он делает это при запуске и перед каждой сессией. Помощник входа или учётных данных, который вы там хранили, будет потерян. Настройки, которые записывает [`--configure-git`](#let-the-runner-configure-git), сохраняются. Запускайте раннер от имени выделенного пользователя или в контейнере, но никогда от своего собственного пользователя.206> При заданном `--use-anthropic-git-proxy` раннер удаляет и заменяет глобальную конфигурацию git пользователя, от имени которого работает, не сохраняя резервной копии. Он делает это при запуске и перед каждой сессией. Помощник входа или учётных данных, который вы там хранили, будет потерян. Настройки, которые записывает [`--configure-git`](#let-the-runner-configure-git), сохраняются. Запускайте раннер от имени выделенного пользователя или в контейнере, но никогда от своего собственного пользователя.

207>

208> Глобальная конфигурация git включает все три компонента: `~/.gitconfig`, файл, указанный в `GIT_CONFIG_GLOBAL`, если вы задали эту переменную, и весь каталог `$XDG_CONFIG_HOME/git`, по умолчанию `~/.config/git`.

206 209 

207Храните несекретные настройки git, такие как идентичность и `safe.directory`, в системной конфигурации git.210Храните несекретные настройки git, такие как идентичность и `safe.directory`, в системной конфигурации git.

208 211 


247* **Строка, содержащая `remote: access denied by the git proxy`**: сессии, которую обслуживает Anthropic, всё равно может быть отказано, например когда политика организации запрещает доступ к git для сессии или сессия не авторизована для репозитория. Тогда в логе раннера появляется строка, содержащая `remote: access denied by the git proxy`, а остальная часть этой строки объясняет причину.250* **Строка, содержащая `remote: access denied by the git proxy`**: сессии, которую обслуживает Anthropic, всё равно может быть отказано, например когда политика организации запрещает доступ к git для сессии или сессия не авторизована для репозитория. Тогда в логе раннера появляется строка, содержащая `remote: access denied by the git proxy`, а остальная часть этой строки объясняет причину.

248* **`GitHub authentication required`**: появляется, когда у создателя сессии нет рабочего подключения GitHub на claude.ai. Клонирование сессии завершается ошибкой, и ошибка git содержит `GitHub authentication required. Please reconnect your GitHub account.` Попросите этого человека подключить или переподключить GitHub в настройках claude.ai.251* **`GitHub authentication required`**: появляется, когда у создателя сессии нет рабочего подключения GitHub на claude.ai. Клонирование сессии завершается ошибкой, и ошибка git содержит `GitHub authentication required. Please reconnect your GitHub account.` Попросите этого человека подключить или переподключить GitHub в настройках claude.ai.

249 252 

250После устранения причины снова запустите сессии, которые не запустились.253После устранения причины перезапустите раннеры, на которых сессии не запустились, затем попросите каждого создателя отправить сообщение в своей сессии или попросите Owner нажать **Retry**.

251 254 

252#### Отключение git-прокси Anthropic255#### Отключение git-прокси Anthropic

253 256 


265 268 

266Предоставьте учётные данные, работающие без интерактивного запроса, для каждого git-хоста, который используют сессии раннеров, включая github.com. Любые учётные данные, которые были в глобальной конфигурации git пользователя раннера, утрачены, поскольку раннер удалил эту конфигурацию, пока был задан `--use-anthropic-git-proxy`. [Поставляйте учётные данные в образе](#ship-git-config-in-your-image) или используйте [хук жизненного цикла `checkout`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout).269Предоставьте учётные данные, работающие без интерактивного запроса, для каждого git-хоста, который используют сессии раннеров, включая github.com. Любые учётные данные, которые были в глобальной конфигурации git пользователя раннера, утрачены, поскольку раннер удалил эту конфигурацию, пока был задан `--use-anthropic-git-proxy`. [Поставляйте учётные данные в образе](#ship-git-config-in-your-image) или используйте [хук жизненного цикла `checkout`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout).

267 270 

271Чтобы вместо этого хранить учётные данные в [глобальной конфигурации git](#git-proxy-replaces-global-git-config), сначала [остановите раннеры](#shutdown-timing), поскольку раннер, запущенный с этим флагом, перезаписывает её перед каждой сессией. Затем удалите `$XDG_CONFIG_HOME/git`, по умолчанию `~/.config/git`, и замените `~/.gitconfig` или файл, указанный в `GIT_CONFIG_GLOBAL`, своим собственным.

272 

268**3. Откройте сетевой путь**273**3. Откройте сетевой путь**

269 274 

270Разрешите раннеру доступ к каждому git-хосту, который используют сессии раннеров, по порту 443 или 22. См. строку о git-хосте в разделе [Сетевые требования](#network-requirements).275Разрешите раннеру доступ к каждому git-хосту, который используют сессии раннеров, по порту 443 или 22. См. строку о git-хосте в разделе [Сетевые требования](#network-requirements).


507 512 

508## Kubernetes513## Kubernetes

509 514 

510Runner обслуживает `GET /healthz` на порту 8080 по умолчанию, конфигурируемом с помощью `--health-port`, поэтому зонды Kubernetes работают без дополнительной настройки. Конечная точка возвращает `200` всякий раз, когда процесс живой, поэтому зонды ниже обнаруживают мертвый процесс, а не застрявший; чтобы поймать runner, который перестал опрашивать, установите оповещение на серию `last_poll_age_seconds` из [`/metrics`](https://code.claude.com/docs/ru/self-hosted-environments-reference#prometheus-metrics). Развертывание ниже монтирует секрет окружения из Kubernetes Secret, указывает зонды liveness и readiness на `/healthz` и устанавливает период завершения 90 секунд. См. [Shutdown timing](#shutdown-timing) для того, почему период завершения имеет значение.515Runner обслуживает `GET /healthz` на порту 8080 по умолчанию, конфигурируемом с помощью `--health-port`. После запуска эндпоинт возвращает `200` всякий раз, когда процесс живой, поэтому зонды ниже обнаруживают мёртвый процесс, а не застрявший. Чтобы поймать runner, который перестал опрашивать, установите оповещение на серию `last_poll_age_seconds` из [`/metrics`](https://code.claude.com/docs/ru/self-hosted-environments-reference#prometheus-metrics).

516 

517Развёртывание ниже монтирует секрет окружения из Kubernetes Secret, указывает зонды liveness и readiness на `/healthz` и устанавливает период завершения 90 секунд. См. [Shutdown timing](#shutdown-timing), чтобы узнать, почему период завершения имеет значение.

511 518 

512Манифест не устанавливает `resources` CPU или памяти на контейнер runner. Добавьте блок, размер которого соответствует емкости, которую вы запускаете, как описано в [Size CPU and memory for sessions](#size-cpu-and-memory-for-sessions).519Манифест не устанавливает `resources` CPU или памяти на контейнер runner. Добавьте блок, размер которого соответствует емкости, которую вы запускаете, как описано в [Size CPU and memory for sessions](#size-cpu-and-memory-for-sessions).

513 520 


565 secretName: claude-runner-environment-secret572 secretName: claude-runner-environment-secret

566```573```

567 574 

575> [!NOTE]

576>

577> Если события пода показывают, что зонд liveness не проходит во время запуска, увеличьте его `initialDelaySeconds` или добавьте `startupProbe`. Порт проверки работоспособности ничего не отвечает, пока runner не зарегистрируется и не завершит свои стартовые проверки. С настройками выше Kubernetes перезапускает runner, который не начал обслуживать запросы в течение примерно 90 секунд.

578 

568Развертывание выше живет в пространстве имен `claude-runners`. Сначала создайте пространство имен:579Развертывание выше живет в пространстве имен `claude-runners`. Сначала создайте пространство имен:

569 580 

570```bash theme={null}581```bash theme={null}


942 Если все вызовы начинают завершаться сбоем примерно через 30 минут после начала сессии, вероятно, скрипт-обёртка отключил stdin сессии, поэтому ротации токена не могут до неё дойти; см. [Сохраняйте подключёнными stdin и файловый дескриптор 3](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached).953 Если все вызовы начинают завершаться сбоем примерно через 30 минут после начала сессии, вероятно, скрипт-обёртка отключил stdin сессии, поэтому ротации токена не могут до неё дойти; см. [Сохраняйте подключёнными stdin и файловый дескриптор 3](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached).

943 954 

944 До v2.1.274 runner прекращал повторные попытки получения токена после нескольких неудач и ждал следующего запланированного получения. Неудавшийся ход не вызывал получение токена, поэтому каждый ход завершался ошибкой 401 до следующего запланированного получения.955 До v2.1.274 runner прекращал повторные попытки получения токена после нескольких неудач и ждал следующего запланированного получения. Неудавшийся ход не вызывал получение токена, поэтому каждый ход завершался ошибкой 401 до следующего запланированного получения.

956* **Сессия показывает `The server has refused to renew this session's access to the model`**: срок действия [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#wrapper-scripts) сессии истёк, и runner получил HTTP 400 в ответ на свои запросы нового токена. Runner записывает в лог `the server has refused to renew the inference_token`. Ходы в этой сессии завершаются сбоем. Runner продолжает запрашивать новый токен, пока работает процесс сессии:

957 

958 * **Запрос выполняется успешно**: сессия, показавшая предупреждение, затем показывает `The server renewed this session's access to the model`

959 * **Ходы продолжают завершаться сбоем**: процесс в конце концов завершается, и сессия показывает сбой, например `The session process exited with code 1`

960 

961 Чтобы продолжить работу, не дожидаясь нового токена, запустите новую сессию. Если новая сессия тоже завершается сбоем, проверьте, не ваш ли прокси или шлюз вернул ответ HTTP 400. Если нет, [свяжитесь с командой вашего аккаунта в Anthropic](#report-an-issue), указав ID первой сессии.

945* **Ход завершается в claude.ai/code с `This model needs a newer version of Claude Code`**: версия Claude Code, с которой ваши runner'ы запускают сессии, старше, чем требует модель сессии, поэтому API [отклоняет запрос](https://code.claude.com/docs/ru/errors.md#claude-code-does-not-support-this-model). Обновите runner'ы до версии, указанной в сообщении, или более поздней, как описано в разделе [Закрепите версию](#pin-the-version). До этого пользователи могут выбрать в сессии другую модель.962* **Ход завершается в claude.ai/code с `This model needs a newer version of Claude Code`**: версия Claude Code, с которой ваши runner'ы запускают сессии, старше, чем требует модель сессии, поэтому API [отклоняет запрос](https://code.claude.com/docs/ru/errors.md#claude-code-does-not-support-this-model). Обновите runner'ы до версии, указанной в сообщении, или более поздней, как описано в разделе [Закрепите версию](#pin-the-version). До этого пользователи могут выбрать в сессии другую модель.

946* **Под завершается принудительно во время drain**: увеличьте `terminationGracePeriodSeconds` как минимум до значения, которое runner записывает в лог при запуске. См. [Время завершения работы](#shutdown-timing).963* **Под завершается принудительно во время drain**: увеличьте `terminationGracePeriodSeconds` как минимум до значения, которое runner записывает в лог при запуске. См. [Время завершения работы](#shutdown-timing).

947* **Runner записывает в лог строку `[runner:log]`, заканчивающуюся на `was paused or too slow`**: runner продолжил работу, и перезапуск не требуется. Пока поток stdout или stderr, названный в строке, снова не начали читать, runner отбрасывал все строки этого потока, кроме последних 256 КиБ. Если вы передали [`--log-file`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags), ищите отброшенные строки там.964* **Runner записывает в лог строку `[runner:log]`, заканчивающуюся на `was paused or too slow`**: runner продолжил работу, и перезапуск не требуется. Пока поток stdout или stderr, названный в строке, снова не начали читать, runner отбрасывал все строки этого потока, кроме последних 256 КиБ. Если вы передали [`--log-file`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags), ищите отброшенные строки там.

Details

73 73 

74Перейдите на [страницу **Cloud environments**](https://claude.ai/admin-settings/cloud-environments) в параметрах администратора. В разделе **Self-hosted environments** выберите **New**, назовите окружение и выберите **Create**. На втором шаге мастера выберите **Copy environment key**, чтобы скопировать секрет окружения, который админ-интерфейс обозначает как ключ окружения. claude.ai показывает секрет один раз, и вы не можете получить его позже; он истекает через 365 дней после создания. ID окружения `ccpool_...` остаётся видимым в его диалоговом окне деталей; вам понадобится он для проверки `aud` в [проверке токена](https://code.claude.com/docs/ru/self-hosted-environments-identity.md) и для отправки [тестовых сеансов из CI](https://code.claude.com/docs/ru/self-hosted-environments-testing.md#run-the-test-loop).74Перейдите на [страницу **Cloud environments**](https://claude.ai/admin-settings/cloud-environments) в параметрах администратора. В разделе **Self-hosted environments** выберите **New**, назовите окружение и выберите **Create**. На втором шаге мастера выберите **Copy environment key**, чтобы скопировать секрет окружения, который админ-интерфейс обозначает как ключ окружения. claude.ai показывает секрет один раз, и вы не можете получить его позже; он истекает через 365 дней после создания. ID окружения `ccpool_...` остаётся видимым в его диалоговом окне деталей; вам понадобится он для проверки `aud` в [проверке токена](https://code.claude.com/docs/ru/self-hosted-environments-identity.md) и для отправки [тестовых сеансов из CI](https://code.claude.com/docs/ru/self-hosted-environments-testing.md#run-the-test-loop).

75 75 

76Если вы потеряли секрет или вам нужно его ротировать, создайте новый секрет на вкладке **Configuration** окружения, разверните новый секрет на ваших runners, затем отзовите старый. Runners с отозванным секретом не пройдут следующий аутентифицированный опрос и завершатся, записав в лог `poll auth failed`, а ваш оркестратор перезапустит их с новым секретом.76Если секрет мог утечь, следуйте [шагам на странице развёртывания на случай подозрения на компрометацию](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#after-a-suspected-compromise), а не описанной ниже ротации.

77 

78Если вы потеряли секрет или планируете его ротировать, создайте новый секрет на вкладке **Configuration** окружения. Разверните новый секрет на ваших runners, затем отзовите старый. Runners с отозванным секретом не пройдут следующий аутентифицированный опрос и завершатся, записав в лог `poll auth failed`, а ваш оркестратор перезапустит их с новым секретом.

77 79 

78**2. Запустите runner**80**2. Запустите runner**

79 81 

Details

141 141 

142## Конечная точка здоровья142## Конечная точка здоровья

143 143 

144Runner служит `GET /healthz` на настроенном порту здоровья. Ответ `200 OK` всякий раз, когда процесс живой, независимо от состояния цикла опроса, поэтому зонд HTTP на этой конечной точке обнаруживает только мертвый процесс. Тело JSON описывает текущее состояние:144Runner обслуживает `GET /healthz` на настроенном порту здоровья после того, как зарегистрируется и завершит проверки при запуске. С этого момента ответ — `200 OK` всякий раз, когда процесс живой, независимо от состояния цикла опроса, поэтому зонд HTTP на этом эндпоинте обнаруживает только мертвый процесс. Тело JSON описывает текущее состояние:

145 145 

146```json theme={null}146```json theme={null}

147{147{

settings.md +1 −0

Details

310| [`isolatePeerMachines`](https://code.claude.com/docs/ru/settings-reference#isolatepeermachines) | `true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `false` |310| [`isolatePeerMachines`](https://code.claude.com/docs/ru/settings-reference#isolatepeermachines) | `true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `false` |

311| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `false`. Требует Claude Code v2.1.257 или позже |311| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `false`. Требует Claude Code v2.1.257 или позже |

312| [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ru/settings-reference#permissions-blockwritesoutsideworkingdirectories) | `true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `false`. Требует Claude Code v2.1.314 или позже |312| [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ru/settings-reference#permissions-blockwritesoutsideworkingdirectories) | `true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `false`. Требует Claude Code v2.1.314 или позже |

313| [`permissions.denyInsteadOfPrompting`](https://code.claude.com/docs/ru/settings-reference#permissions-denyinsteadofprompting) | `true` из `~/.claude/settings.json` или `--settings` | Соблюдается даже когда управляемый источник устанавливает `false`. Требует Claude Code v2.1.319 или позже |

313| [`autoMode.classifyAllShell`](https://code.claude.com/docs/ru/settings-reference#automode-classifyallshell) | `true` из `~/.claude/settings.json` или `--settings` | Соблюдается даже когда управляемый источник устанавливает `false` |314| [`autoMode.classifyAllShell`](https://code.claude.com/docs/ru/settings-reference#automode-classifyallshell) | `true` из `~/.claude/settings.json` или `--settings` | Соблюдается даже когда управляемый источник устанавливает `false` |

314| [`remoteControlAtStartup`](https://code.claude.com/docs/ru/settings-reference#remotecontrolatstartup) | `false` из `.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда управляемый источник устанавливает `true`; проектный или локальный `true` игнорируется |315| [`remoteControlAtStartup`](https://code.claude.com/docs/ru/settings-reference#remotecontrolatstartup) | `false` из `.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда управляемый источник устанавливает `true`; проектный или локальный `true` игнорируется |

315| [`crossSessionInbound`](https://code.claude.com/docs/ru/settings-reference#crosssessioninbound) | Более строгое значение из `.claude/settings.json` или `.claude/settings.local.json`, на лестнице `accept` \< `hold` \< `refuse` | Соблюдается вместо управляемых, `--settings` и пользовательских значений; проектное или локальное значение, которое не является более строгим, игнорируется |316| [`crossSessionInbound`](https://code.claude.com/docs/ru/settings-reference#crosssessioninbound) | Более строгое значение из `.claude/settings.json` или `.claude/settings.local.json`, на лестнице `accept` \< `hold` \< `refuse` | Соблюдается вместо управляемых, `--settings` и пользовательских значений; проектное или локальное значение, которое не является более строгим, игнорируется |

Details

448 448 

449Включите [быстрый режим](https://code.claude.com/docs/ru/fast-mode.md) для сессий, где он доступен, — для интерактивной работы, например быстрой итерации или отладки в реальном времени, когда вам нужна скорость при более высокой стоимости за токен. Обычно этот ключ не редактируют вручную. Выполнение `/fast` записывает `fastMode: true` в `~/.claude/settings.json`, а повторное выполнение для отключения быстрого режима удаляет ключ.449Включите [быстрый режим](https://code.claude.com/docs/ru/fast-mode.md) для сессий, где он доступен, — для интерактивной работы, например быстрой итерации или отладки в реальном времени, когда вам нужна скорость при более высокой стоимости за токен. Обычно этот ключ не редактируют вручную. Выполнение `/fast` записывает `fastMode: true` в `~/.claude/settings.json`, а повторное выполнение для отключения быстрого режима удаляет ключ.

450 450 

451Быстрый режим поддерживают только Opus 5.5, Opus 5 и Opus 4.8. Выполнение `/fast` на другой модели переключает вас на Opus, а переключение на неподдерживаемую модель отключает быстрый режим. См. [Переключение моделей при включённом быстром режиме](https://code.claude.com/docs/ru/fast-mode.md#switch-models-while-fast-mode-is-on).451Быстрый режим поддерживают только Fable 5.2, Opus 5.5, Opus 5 и Opus 4.8. Выполнение `/fast` на другой модели переключает вас на Opus, а переключение на неподдерживаемую модель отключает быстрый режим. См. [Переключение моделей при включённом быстром режиме](https://code.claude.com/docs/ru/fast-mode.md#switch-models-while-fast-mode-is-on).

452 452 

453* **Область действия**: [`Any file`](#scopes)453* **Область действия**: [`Any file`](#scopes)

454* **Тип**: Boolean454* **Тип**: Boolean

455 * `true`: Claude Code включает быстрый режим для сессий, где он доступен455 * `true`: Claude Code включает быстрый режим для сессий, где он доступен. На Fable 5.2 также нужно [выполнить `/fast` при использовании Fable 5.2](https://code.claude.com/docs/ru/fast-mode#switch-models-while-fast-mode-is-on)

456 * `false`: быстрый режим остаётся выключенным456 * `false`: быстрый режим остаётся выключенным

457* **По умолчанию**: не задано, поэтому быстрый режим выключен457* **По умолчанию**: не задано, поэтому быстрый режим выключен

458* **Переопределения для сессии**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/ru/env-vars) отключает быстрый режим для одной сессии, и этот ключ не может снова его включить458* **Переопределения для сессии**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/ru/env-vars) отключает быстрый режим для одной сессии, и этот ключ не может снова его включить


465 465 

466### `fastModePerSessionOptIn`466### `fastModePerSessionOptIn`

467 467 

468Обычно выполнение `/fast` сохраняет [`fastMode`](#fastmode) в пользовательские настройки человека, поэтому новые сессии на поддерживаемой модели начинаются с включённым быстрым режимом. Установите этот ключ в `true`, чтобы это прекратить: сохранённое `fastMode: true` больше не включает быстрый режим при запуске сессии, и каждому пользователю нужно выполнять `/fast` в каждой сессии, где он нужен. Claude Code оставляет ключ `fastMode` в файле пользователя, поэтому отключение этого ключа восстанавливает прежнее поведение.468Обычно выполнение `/fast` сохраняет [`fastMode`](#fastmode) в пользовательские настройки человека, поэтому новые сессии на поддерживаемой модели начинаются с включённым быстрым режимом. На Fable 5.2 это происходит, только если быстрый режим был [включён при использовании Fable 5.2](https://code.claude.com/docs/ru/fast-mode.md#switch-models-while-fast-mode-is-on). Чтобы каждому пользователю нужно было выполнять `/fast` в каждой сессии, где он нужен, установите этот ключ в `true`. Claude Code оставляет ключ `fastMode` в файле пользователя, поэтому отключение этого ключа восстанавливает прежнее поведение.

469 469 

470Владельцы на тарифах Team или Enterprise могут развернуть его на всю организацию через [настройки, управляемые сервером](https://code.claude.com/docs/ru/server-managed-settings.md). Когда ключ задан в управляемых настройках, `/fast on` отклоняется вне интерактивных сессий в терминале и сообщает, что ваша организация отключила быстрый режим. Это касается [неинтерактивного режима](https://code.claude.com/docs/ru/headless.md), [расширения VS Code](https://code.claude.com/docs/ru/vs-code.md) и [облачных сессий](https://code.claude.com/docs/ru/claude-code-on-the-web.md).470Владельцы на тарифах Team или Enterprise могут развернуть его на всю организацию через [настройки, управляемые сервером](https://code.claude.com/docs/ru/server-managed-settings.md). Когда ключ задан в управляемых настройках, `/fast on` отклоняется вне интерактивных сессий в терминале и сообщает, что ваша организация отключила быстрый режим. Это касается [неинтерактивного режима](https://code.claude.com/docs/ru/headless.md), [расширения VS Code](https://code.claude.com/docs/ru/vs-code.md) и [облачных сессий](https://code.claude.com/docs/ru/claude-code-on-the-web.md).

471 471 

472* **Область действия**: [`Any file`](#scopes)472* **Область действия**: [`Any file`](#scopes)

473* **Тип**: Boolean473* **Тип**: Boolean

474 * `true`: сохранённое `fastMode: true` больше не включает быстрый режим при запуске сессии, поэтому каждый пользователь выполняет `/fast` в каждой сессии, где он нужен; `fastMode: true`, переданное через `--settings`, по-прежнему учитывается для этой сессии, если этот ключ не задан в управляемых настройках474 * `true`: сохранённое `fastMode: true` больше не включает быстрый режим при запуске сессии, поэтому каждый пользователь выполняет `/fast` в каждой сессии, где он нужен; `fastMode: true`, переданное через `--settings`, по-прежнему учитывается для этой сессии, если этот ключ не задан в управляемых настройках

475 * `false`: сохранённое `fastMode: true` включает быстрый режим в начале каждой новой сессии на поддерживаемой модели475 * `false`: сохранённое `fastMode: true` работает так, как описано в [`fastMode`](#fastmode)

476* **По умолчанию**: `false`476* **По умолчанию**: `false`

477 477 

478```json settings.json theme={null}478```json settings.json theme={null}

sub-agents.md +2 −0

Details

592Режим разрешений основного разговора решает, использует ли Claude Code значение, которое вы установили:592Режим разрешений основного разговора решает, использует ли Claude Code значение, которое вы установили:

593 593 

594* Когда основной разговор находится в `bypassPermissions`, `acceptEdits` или [auto mode](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode), subagent работает в этом же режиме и Claude Code игнорирует `permissionMode`, который вы установили. Под auto mode классификатор оценивает вызовы инструментов subagent с правилами блокировки и разрешения основного разговора. Когда subagent завершается, классификатор также проверяет его работу и его финальный отчёт перед доставкой отчёта, как [How auto mode handles subagents](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) описывает.594* Когда основной разговор находится в `bypassPermissions`, `acceptEdits` или [auto mode](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode), subagent работает в этом же режиме и Claude Code игнорирует `permissionMode`, который вы установили. Под auto mode классификатор оценивает вызовы инструментов subagent с правилами блокировки и разрешения основного разговора. Когда subagent завершается, классификатор также проверяет его работу и его финальный отчёт перед доставкой отчёта, как [How auto mode handles subagents](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) описывает.

595 

596 Если субагент запрашивает разрешение, пока основной диалог находится в режиме `bypassPermissions`, проверьте, не относится ли его вызов инструмента к [действиям, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves).

595* Когда основной диалог находится в режиме `plan`, субагент остаётся в режиме планирования независимо от заданного `permissionMode`, если только он не работает как [участник команды агентов](#subagent-names) по [правилам команд агентов](https://code.claude.com/docs/ru/agent-teams.md#have-teammates-plan-before-implementing). Если вы задали `dontAsk`, субагент также не запрашивает у вас подтверждения: действие, для которого режим планирования запросил бы ваше одобрение, вместо этого отклоняется.597* Когда основной диалог находится в режиме `plan`, субагент остаётся в режиме планирования независимо от заданного `permissionMode`, если только он не работает как [участник команды агентов](#subagent-names) по [правилам команд агентов](https://code.claude.com/docs/ru/agent-teams.md#have-teammates-plan-before-implementing). Если вы задали `dontAsk`, субагент также не запрашивает у вас подтверждения: действие, для которого режим планирования запросил бы ваше одобрение, вместо этого отклоняется.

596* Когда основной диалог находится в режиме `default` или `dontAsk`, субагент работает в заданном вами режиме разрешений. В следующих случаях он вместо этого сохраняет режим разрешений основного диалога:598* Когда основной диалог находится в режиме `default` или `dontAsk`, субагент работает в заданном вами режиме разрешений. В следующих случаях он вместо этого сохраняет режим разрешений основного диалога:

597 * Вы задали `bypassPermissions`. Исключение для `bypassPermissions` требует Claude Code v2.1.267 или новее.599 * Вы задали `bypassPermissions`. Исключение для `bypassPermissions` требует Claude Code v2.1.267 или новее.

Details

26| `CronDelete` | Отменяет запланированную задачу в рамках сессии по ID | No |26| `CronDelete` | Отменяет запланированную задачу в рамках сессии по ID | No |

27| `CronList` | Выводит список всех запланированных задач в рамках сессии | No |27| `CronList` | Выводит список всех запланированных задач в рамках сессии | No |

28| `Edit` | Вносит целевые изменения в конкретные файлы. См. [Поведение инструмента Edit](#edit-tool-behavior) | Yes |28| `Edit` | Вносит целевые изменения в конкретные файлы. См. [Поведение инструмента Edit](#edit-tool-behavior) | Yes |

29| `EndConversation` | Завершает сессию в редких случаях постоянного оскорбительного ввода или когда вы просите Claude продемонстрировать инструмент. См. [Поведение инструмента EndConversation](#endconversation-tool-behavior) | No |29| `EndConversation` | Завершает сессию в редких случаях постоянного оскорбительного ввода или когда вы просите Claude завершить сессию, а затем подтверждаете это. См. [Поведение инструмента EndConversation](#endconversation-tool-behavior) | No |

30| `EnterPlanMode` | Переключается в режим планирования для разработки подхода перед написанием кода | No |30| `EnterPlanMode` | Переключается в режим планирования для разработки подхода перед написанием кода | No |

31| `EnterWorktree` | Создает изолированный [git worktree](https://code.claude.com/docs/ru/worktrees.md) и переключается в него или переключается в существующий worktree. См. [Поведение инструмента EnterWorktree](#enterworktree-tool-behavior) | Yes |31| `EnterWorktree` | Создает изолированный [git worktree](https://code.claude.com/docs/ru/worktrees.md) и переключается в него или переключается в существующий worktree. См. [Поведение инструмента EnterWorktree](#enterworktree-tool-behavior) | Yes |

32| `ExitPlanMode` | Представляет план на утверждение и выходит из режима планирования | Yes |32| `ExitPlanMode` | Представляет план на утверждение и выходит из режима планирования | Yes |


274 274 

275Инструмент EndConversation завершает текущую сессию. Claude использует его только в двух ситуациях:275Инструмент EndConversation завершает текущую сессию. Claude использует его только в двух ситуациях:

276 276 

277* как последнее средство против постоянного оскорбительного ввода, после попыток переориентировать разговор и после четкого предупреждения в предыдущем сообщении277* когда вы продолжаете отправлять оскорбительные сообщения после того, как Claude сделал четкое предупреждение и не смог перенаправить диалог

278* когда вы явно просите продемонстрировать инструмент и подтверждаете, что хотите завершить сессию278* когда вы явно просите Claude завершить сессию, а затем подтверждаете, что все еще хотите продолжить, когда Claude спрашивает об этом

279 279 

280Общее разочарование, ругательства или неудачное выполнение задачи не подходят, как и запросы вредоносного контента, которые Claude отклоняет вместо завершения сессии. Claude Code следует тому же подходу, что и claude.ai, который может [завершить редкое подмножество чатов](https://www.anthropic.com/research/end-subset-conversations).280Общее разочарование, ругательства или неудачное выполнение задачи не подходят, как и запросы вредоносного контента, которые Claude отклоняет вместо завершения сессии. Claude Code следует тому же подходу, что и claude.ai, который может [завершить редкое подмножество чатов](https://www.anthropic.com/research/end-subset-conversations).

281 281 


390 390 

391Когда Monitor запускает команду, он использует те же [правила разрешений, что и Bash](https://code.claude.com/docs/ru/permissions.md#tool-specific-permission-rules), поэтому шаблоны `allow` и `deny`, которые вы установили для Bash, применяются и здесь. Пока активен [авторежим](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode), Claude Code откладывает разрешающие правила, которые называют сам `Monitor`, наряду с другими [широкими разрешающими правилами, которые он отбрасывает](https://code.claude.com/docs/ru/permission-modes.md#how-the-classifier-evaluates-actions), поэтому классификатор проверяет команды Monitor так же, как он проверяет команды Bash.391Когда Monitor запускает команду, он использует те же [правила разрешений, что и Bash](https://code.claude.com/docs/ru/permissions.md#tool-specific-permission-rules), поэтому шаблоны `allow` и `deny`, которые вы установили для Bash, применяются и здесь. Пока активен [авторежим](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode), Claude Code откладывает разрешающие правила, которые называют сам `Monitor`, наряду с другими [широкими разрешающими правилами, которые он отбрасывает](https://code.claude.com/docs/ru/permission-modes.md#how-the-classifier-evaluates-actions), поэтому классификатор проверяет команды Monitor так же, как он проверяет команды Bash.

392 392 

393[Источник WebSocket](#websocket-source) имеет собственный запрос подтверждения, решение по которому в авторежиме также принимает классификатор.

394 

395В следующих случаях Monitor требует минимальной версии или Git Bash:393В следующих случаях Monitor требует минимальной версии или Git Bash:

396 394 

397* **Минимальная версия**: на Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform или Microsoft Foundry, а также при установленных `DISABLE_TELEMETRY` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` для Monitor требуется Claude Code v2.1.310 или новее. Это требование действует, когда [получение флагов функций](https://code.claude.com/docs/ru/env-vars.md#features-that-need-feature-flag-fetching) отключено395* **Минимальная версия**: на Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform или Microsoft Foundry, а также при установленных `DISABLE_TELEMETRY` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` для Monitor требуется Claude Code v2.1.310 или новее. Это требование действует, когда [получение флагов функций](https://code.claude.com/docs/ru/env-vars.md#features-that-need-feature-flag-fetching) отключено


417 415 

418Крайний срок `timeout_ms` применяется и к наблюдению WebSocket: наблюдение завершается в крайний срок, и `TaskStop` отменяет его раньше.416Крайний срок `timeout_ms` применяется и к наблюдению WebSocket: наблюдение завершается в крайний срок, и `TaskStop` отменяет его раньше.

419 417 

420Открытие WebSocket запрашивает подтверждение; в [авторежиме](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) вместо этого решение принимает классификатор. Запрос не предлагает опцию пропускать будущие запросы для того же хоста.418Без разрешающего правила для `Monitor` у вас запрашивается подтверждение перед тем, как Claude откроет WebSocket; в [авторежиме](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) вместо этого решение принимает классификатор, если только не применяется [правило запроса](#bash-rules-that-deny-or-prompt-for-websocket-watches). Запрос не предлагает опцию пропускать будущие запросы для того же хоста.

419 

420#### Адреса и хосты, запрещённые для наблюдений WebSocket

421 

422Claude Code отклоняет URL-адреса, указывающие на приватный, link-local или облачный адрес метаданных, включая имена хостов, которые ваш компьютер разрешает в такой адрес. За [прокси](https://code.claude.com/docs/ru/network-config.md#proxy-configuration) наблюдение может достичь приватного, link-local или облачного адреса метаданных, если прокси его не блокирует, поскольку Claude Code не проверяет адрес, который находит прокси. Claude Code также отклоняет хосты в `sandbox.network.deniedDomains`, а когда в управляемых настройках установлен [`allowManagedDomainsOnly`](https://code.claude.com/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly), — любой хост вне управляемого списка разрешённых доменов.

423 

424Если наблюдение за прокси завершается ошибкой `could not resolve <host>`, перезапустите Claude Code v2.1.319 или новее с переменной [`CLAUDE_CODE_PROXY_RESOLVES_HOSTS`](https://code.claude.com/docs/ru/env-vars#variables), установленной в `1`, чтобы прокси сам разрешал имя хоста.

425 

426#### Правила Bash, которые запрещают наблюдения WebSocket или запрашивают для них подтверждение

427 

428Если Claude Code отклоняет вызов `Monitor`, открывающий WebSocket, поищите [запрещающее правило или правило запроса](https://code.claude.com/docs/ru/permissions.md#manage-permissions), записанное как `Bash` или `Bash(*)`. Сделайте то же самое, если для этого вызова запрашивается подтверждение, несмотря на ваше разрешающее правило для `Monitor`. Правило, охватывающее каждую команду Bash, распространяется и на эти наблюдения WebSocket:

429 

430* **Запрещающее правило**: если правило действует на момент начала сессии, у Claude нет инструмента Monitor, поэтому он не может запустить наблюдение. Если вы добавите правило во время сессии, следующий вызов `Monitor` от Claude будет отклонён. Отказ выглядит так: `Permission to use Monitor has been denied: it runs code as Bash does, and a rule denies Bash.`

431* **Правило запроса**: у вас запрашивается подтверждение наблюдения. Разрешающее правило, хук `PreToolUse`, режим `bypassPermissions` или классификатор авторежима не могут одобрить его за вас. Вы можете одобрить его из [хука `PermissionRequest`](https://code.claude.com/docs/ru/hooks#permissionrequest). Там, где ответить некому, например в режиме `dontAsk`, Claude Code отклоняет наблюдение.

432 

433Чтобы разрешить выполнение этих наблюдений, сузьте правило до нужных вам команд, например `Bash(rm *)`.

421 434 

422Claude Code отклоняет URL-адреса, указывающие на приватный, link-local или облачный адрес метаданных, включая имена хостов, которые разрешаются в такой адрес. Он также отклоняет хосты в `sandbox.network.deniedDomains`, а когда в управляемых настройках установлен [`allowManagedDomainsOnly`](https://code.claude.com/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly), — любой хост вне управляемого списка разрешённых доменов.435Правило запроса, а также запрещающее правило, добавленное во время сессии, распространяются на эти наблюдения в Claude Code v2.1.319 или новее.

423 436 

424## Поведение инструмента NotebookEdit437## Поведение инструмента NotebookEdit

425 438 


594* Неинтерактивных запусков `-p` и сеансов [Agent SDK](https://code.claude.com/docs/ru/agent-sdk/overview.md), которые не имеют экрана для просмотра очереди607* Неинтерактивных запусков `-p` и сеансов [Agent SDK](https://code.claude.com/docs/ru/agent-sdk/overview.md), которые не имеют экрана для просмотра очереди

595* [Облачных сеансов](https://code.claude.com/docs/ru/claude-code-on-the-web.md), которые не могут писать в очередь на вашем компьютере608* [Облачных сеансов](https://code.claude.com/docs/ru/claude-code-on-the-web.md), которые не могут писать в очередь на вашем компьютере

596* Сеансов на [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md), [Claude Platform на AWS](https://code.claude.com/docs/ru/claude-platform-on-aws.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ru/google-vertex-ai.md) или [Microsoft Foundry](https://code.claude.com/docs/ru/microsoft-foundry.md)609* Сеансов на [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md), [Claude Platform на AWS](https://code.claude.com/docs/ru/claude-platform-on-aws.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ru/google-vertex-ai.md) или [Microsoft Foundry](https://code.claude.com/docs/ru/microsoft-foundry.md)

610* Сессий, которые обращаются к Claude через [LLM-шлюз](https://code.claude.com/docs/ru/llm-gateway) с собственным ключом или токеном шлюза

597* Сеансов, где вы установили [`CLAUDE_CODE_SEND_FEEDBACK=0`](https://code.claude.com/docs/ru/env-vars) или [`DISABLE_FEEDBACK_COMMAND=1`](https://code.claude.com/docs/ru/env-vars), установили `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` на любое непустое значение или отключили [получение флагов функций](https://code.claude.com/docs/ru/env-vars.md#features-that-need-feature-flag-fetching)611* Сеансов, где вы установили [`CLAUDE_CODE_SEND_FEEDBACK=0`](https://code.claude.com/docs/ru/env-vars) или [`DISABLE_FEEDBACK_COMMAND=1`](https://code.claude.com/docs/ru/env-vars), установили `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` на любое непустое значение или отключили [получение флагов функций](https://code.claude.com/docs/ru/env-vars.md#features-that-need-feature-flag-fetching)

598* Организаций, которые отключили отзывы о продукте, [организаций с нулевым сроком хранения данных](https://code.claude.com/docs/ru/zero-data-retention.md#features-disabled-under-zdr) и организаций, где применена [конфигурация HIPAA](https://code.claude.com/docs/ru/hipaa-setup.md)612* Организаций, которые отключили отзывы о продукте, [организаций с нулевым сроком хранения данных](https://code.claude.com/docs/ru/zero-data-retention.md#features-disabled-under-zdr) и организаций, где применена [конфигурация HIPAA](https://code.claude.com/docs/ru/hipaa-setup.md)

613* Сессий, в которых Claude Code [перестал предлагать отправку отзывов после отклоненного отчета](https://code.claude.com/docs/ru/errors.md#feedback-is-disabled-by-your-organizations-policy)

599 614 

600## Доступность инструмента Task615## Доступность инструмента Task

601 616 

Details

70 70 

71### Доступность моделей под ZDR71### Доступность моделей под ZDR

72 72 

73Claude Fable 5.1 и Fable 5 — это [Covered Models](https://support.claude.com/en/articles/15425695-covered-models), которые [требуют сохранения данных](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements) по умолчанию, и то, может ли организация или рабочее пространство ZDR использовать их, регулируется политиками Covered Models, а не Claude Code. Если ваша организация не может их использовать, модели либо отсутствуют в средстве выбора `/model`, либо отображаются как отключенные, и сервер отклоняет запросы для них независимо от конфигурации клиента.73Claude Fable 5.2, Fable 5.1 и Fable 5 — это [Covered Models](https://support.claude.com/en/articles/15425695-covered-models), которые [требуют сохранения данных](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements) по умолчанию, и то, может ли организация или рабочее пространство ZDR использовать их, регулируется политиками Covered Models, а не Claude Code. Если ваша организация не может их использовать, модели либо отсутствуют в средстве выбора `/model`, либо отображаются как отключенные, и сервер отклоняет запросы для них независимо от конфигурации клиента.

74 74 

75Другие модели остаются доступными под ZDR. Модели Fable не являются моделью по умолчанию, и псевдоним `best`, который разрешается в последнюю модель Fable, где она доступна, разрешается в Opus для организаций, где она недоступна.75Другие модели остаются доступными под ZDR. Модели Fable не являются моделями по умолчанию, а псевдоним `best` разрешается в Opus.

76 76 

77## Хранение данных при нарушении политики77## Хранение данных при нарушении политики

78 78