SpyBara
Go Premium

Documentation 2026-11-03 23:58 UTC to 2026-11-04 23:59 UTC

33 files changed +620 −262. View all changes and history on the product overview
2026
Fri 13 00:00 Thu 12 23:02 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
Details

231| Режим | Поведение | Сценарий использования |231| Режим | Поведение | Сценарий использования |

232| :- | :- | :- |232| :- | :- | :- |

233| `"default"` | Вызовы инструментов, которым требуется подтверждение и которые не покрываются разрешающими правилами, вызывают ваш callback `canUseTool`; при отсутствии callback вызов отклоняется | Интерактивные приложения с собственным callback для подтверждения |233| `"default"` | Вызовы инструментов, которым требуется подтверждение и которые не покрываются разрешающими правилами, вызывают ваш callback `canUseTool`; при отсутствии callback вызов отклоняется | Интерактивные приложения с собственным callback для подтверждения |

234| `"acceptEdits"` | Автоматически подтверждает правки файлов и распространенные команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т. д.); остальные команды Bash следуют правилам по умолчанию | Вы доверяете правкам Claude и хотите ускорить итерации, например при прототипировании или работе в изолированном каталоге |234| `"acceptEdits"` | Автоматически подтверждает правки файлов и распространенные команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т. д.) внутри ваших [рабочих каталогов](https://code.claude.com/docs/ru/permissions.md#working-directories); остальные команды Bash следуют правилам по умолчанию | Вы доверяете правкам Claude и хотите ускорить итерации, например при прототипировании или работе в изолированном каталоге |

235| `"plan"` | Claude исследует и планирует, не редактируя ваши исходные файлы; правки файлов никогда не подтверждаются автоматически и запрашиваются через ваш callback `canUseTool` | Вы хотите, чтобы Claude предлагал изменения, не выполняя их, например во время код-ревью или когда нужно подтверждать изменения до их внесения |235| `"plan"` | Claude исследует и планирует. Правки, вносимые файловыми инструментами Claude, передаются в ваш callback `canUseTool`, даже если им соответствует разрешающее правило | Вы хотите, чтобы Claude сначала составил план, например во время код-ревью или перед крупным изменением |

236| `"dontAsk"` | Никогда не запрашивает подтверждение. Выполняются инструменты, заранее разрешенные [правилами разрешений](https://code.claude.com/docs/ru/settings-reference.md#permission-settings), а также вызовы, которым в режиме `default` подтверждение не требуется, например чтение файлов внутри ваших рабочих каталогов. Все вызовы, которые в ином случае потребовали бы подтверждения, отклоняются, хотя установленный вами [мод](https://code.claude.com/docs/ru/plugins/mods/overview.md) все же может подтвердить [некоторые из этих вызовов](https://code.claude.com/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods). Некоторые вызовы, например [чтение по сетевым путям](https://code.claude.com/docs/ru/permissions.md#network-paths), отклоняются, даже если вы их разрешили. Список см. в разделе [Режим Don't ask](https://code.claude.com/docs/ru/agent-sdk/permissions.md#don’t-ask-mode-dontask) | Агенты без интерфейса, когда некому подтверждать вызовы |236| `"dontAsk"` | Никогда не запрашивает подтверждение. Выполняются инструменты, заранее разрешенные [правилами разрешений](https://code.claude.com/docs/ru/settings-reference.md#permission-settings), а также вызовы, которым в режиме `default` подтверждение не требуется, например чтение файлов внутри ваших рабочих каталогов. Все вызовы, которые в ином случае потребовали бы подтверждения, отклоняются, хотя установленный вами [мод](https://code.claude.com/docs/ru/plugins/mods/overview.md) все же может подтвердить [некоторые из этих вызовов](https://code.claude.com/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods). Некоторые вызовы, например [чтение по сетевым путям](https://code.claude.com/docs/ru/permissions.md#network-paths), отклоняются, даже если вы их разрешили. Список см. в разделе [Режим Don't ask](https://code.claude.com/docs/ru/agent-sdk/permissions.md#don’t-ask-mode-dontask) | Агенты без интерфейса, когда некому подтверждать вызовы |

237| `"auto"` | Использует классификатор на основе модели для проверки действий, таких как shell-команды и сетевые запросы, разрешая или блокируя каждое проверяемое действие. Доступность и порядок принятия решений см. в разделе [Авторежим](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) | Автономные агенты, которым все же нужны защитные ограничения при использовании инструментов |237| `"auto"` | Использует классификатор на основе модели для проверки действий, таких как shell-команды и сетевые запросы, разрешая или блокируя каждое проверяемое действие. Доступность и порядок принятия решений см. в разделе [Авторежим](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) | Автономные агенты, которым все же нужны защитные ограничения при использовании инструментов |

238| `"bypassPermissions"` | Выполняет вызовы инструментов без запроса подтверждения, включая вызовы инструментов, которые вы не указали в `allowedTools`. Некоторые вызовы все равно передаются в ваш callback `canUseTool` — они перечислены в разделе [Режим Bypass permissions](https://code.claude.com/docs/ru/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions). В TypeScript SDK также требуется `allowDangerouslySkipPermissions: true` в `options`. Нельзя использовать при запуске от имени root в Unix. Используйте только в изолированных средах, где действия агента не могут повлиять на важные для вас системы | CI, контейнеры или другие изолированные среды |238| `"bypassPermissions"` | Выполняет вызовы инструментов без запроса подтверждения, включая вызовы инструментов, которые вы не указали в `allowedTools`. Некоторые вызовы все равно передаются в ваш callback `canUseTool` — они перечислены в разделе [Режим Bypass permissions](https://code.claude.com/docs/ru/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions). В TypeScript SDK также требуется `allowDangerouslySkipPermissions: true` в `options`. Нельзя использовать при запуске от имени root в Unix. Используйте только в изолированных средах, где действия агента не могут повлиять на важные для вас системы | CI, контейнеры или другие изолированные среды |

239 239 

240Для интерактивных приложений используйте `"default"` с callback подтверждения инструментов, чтобы показывать запросы подтверждения. Для автономных агентов на машине разработчика `"acceptEdits"` автоматически подтверждает правки файлов и распространенные команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т. д.), при этом остальные команды `Bash` по-прежнему требуют разрешающих правил. Оставьте `"bypassPermissions"` для CI, контейнеров или других изолированных сред. Подробнее см. в разделе [Разрешения](https://code.claude.com/docs/ru/agent-sdk/permissions.md).240Для интерактивных приложений используйте `"default"` с callback подтверждения инструментов, чтобы показывать запросы подтверждения. Для агентов, которые редактируют файлы на машине разработчика, используйте `"acceptEdits"`. Оставьте `"bypassPermissions"` для CI, контейнеров или других изолированных сред. Подробнее см. в разделе [Разрешения](https://code.claude.com/docs/ru/agent-sdk/permissions.md).

241 241 

242### Модель242### Модель

243 243 

Details

14>14>

15> Если вы загружаете плагин, содержащий [мод](https://code.claude.com/docs/ru/plugins/mods/overview.md), см. [место решений мода среди правил и хуков](https://code.claude.com/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods).15> Если вы загружаете плагин, содержащий [мод](https://code.claude.com/docs/ru/plugins/mods/overview.md), см. [место решений мода среди правил и хуков](https://code.claude.com/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods).

16 16 

17Когда Claude запрашивает инструмент, SDK проверяет разрешения в следующем порядке:17Когда Claude запрашивает инструмент, Claude Code проверяет вызов на следующих шагах. Каждый шаг может определить исход вызова, передать его в ваш callback `canUseTool` или пропустить дальше:

18 18 

19**1. Hooks**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`, не отменяет проверку приведённых ниже правил deny и ask, которые оцениваются независимо от результата хука.

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 

25**2. Deny rules**25**2. Deny rules**

26 26 

27Если совпадает правило deny из `disallowed_tools` или [settings.json](https://code.claude.com/docs/ru/settings-reference.md#permission-settings), вызов отклоняется и [`canUseTool`](https://code.claude.com/docs/ru/agent-sdk/user-input) не вызывается, даже в режиме [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) и даже если хук вернул `allow`.27Если совпадает правило deny из `disallowed_tools` или из [файла настроек, который загружает SDK](#rules-in-settings-files), вызов отклоняется и [`canUseTool`](https://code.claude.com/docs/ru/agent-sdk/user-input) не вызывается. Вызов отклоняется таким образом даже в режиме [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) и даже если хук вернул `allow`.

28 28 

29В TypeScript SDK, если вы установите `permission_policy` [пользовательского инструмента](https://code.claude.com/docs/ru/agent-sdk/custom-tools.md#require-approval-for-specific-tools) в значение [`always_deny`](https://code.claude.com/docs/ru/agent-sdk/typescript#mcpservertoolpolicy), вызов этого инструмента отклоняется на этом шаге.29В TypeScript SDK, если вы установите `permission_policy` [пользовательского инструмента](https://code.claude.com/docs/ru/agent-sdk/custom-tools.md#require-approval-for-specific-tools) в значение [`always_deny`](https://code.claude.com/docs/ru/agent-sdk/typescript#mcpservertoolpolicy), вызов этого инструмента отклоняется на этом шаге.

30 30 


32 32 

33Проверьте правила `ask` из [settings.json](https://code.claude.com/docs/ru/settings-reference.md#permission-settings). Если правило ask совпадает, вызов передается в ваш [callback `canUseTool`](https://code.claude.com/docs/ru/agent-sdk/user-input) для подтверждения, даже в режиме `bypassPermissions`.33Проверьте правила `ask` из [settings.json](https://code.claude.com/docs/ru/settings-reference.md#permission-settings). Если правило ask совпадает, вызов передается в ваш [callback `canUseTool`](https://code.claude.com/docs/ru/agent-sdk/user-input) для подтверждения, даже в режиме `bypassPermissions`.

34 34 

35Инструменты, требующие взаимодействия с пользователем, ведут себя так же: `AskUserQuestion` и MCP инструменты, сервер которых устанавливает [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/ru/mcp#require-approval-for-a-specific-tool), всегда передаются в callback, даже когда совпадает правило allow. В режиме `dontAsk` оба случая отклоняются вместо этого, потому что этот режим никогда не запрашивает. Аннотация MCP требует Claude Code v2.1.199 или позже.35Инструменты, требующие взаимодействия с пользователем, ведут себя так же. `AskUserQuestion` и MCP инструменты, сервер которых устанавливает [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/ru/mcp#require-approval-for-a-specific-tool), передаются в callback, даже когда совпадает правило allow. В режиме `dontAsk` оба случая вместо этого отклоняются, потому что этот режим превращает каждый запрос подтверждения в отказ. Аннотация MCP требует Claude Code v2.1.199 или позже.

36 36 

37Инструменты [claude.ai connector](https://code.claude.com/docs/ru/mcp.md#organization-controls-on-connector-tools), для которых ваша организация установила `ask`, также покидают поток на этом шаге. Каждый вызов передается в callback, даже в режиме `bypassPermissions` и даже когда совпадает правило allow. Callback получает причину `Your organization requires approval for this tool`. В режиме `dontAsk` вызов отклоняется вместо этого, потому что этот режим никогда не запрашивает.37Инструменты [claude.ai connector](https://code.claude.com/docs/ru/mcp.md#organization-controls-on-connector-tools), для которых ваша организация установила `ask`, также покидают поток на этом шаге. Каждый вызов передается в callback, даже в режиме `bypassPermissions` и даже когда совпадает правило allow. Callback получает причину `Your organization requires approval for this tool`. В режиме `dontAsk` вызов отклоняется вместо этого, потому что этот режим никогда не запрашивает.

38 38 


42 42 

43Примените активный [режим разрешений](#permission-modes):43Примените активный [режим разрешений](#permission-modes):

44 44 

45* В режиме `bypassPermissions` Claude Code одобряет все, что достигает этого шага, кроме распознанных [удалений по критическим путям](https://code.claude.com/docs/ru/permission-modes.md#critical-paths) и команд Bash с пометкой [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/ru/permission-modes#dangerous-rm-operation-not-ruled-out), которые вместо этого передаются дальше.45* В режиме `bypassPermissions` Claude Code одобряет каждый вызов, достигший этого шага, если только это не одно из [действий, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves). О том, какие из этих действий передаются в ваш callback `canUseTool`, см. [Bypass permissions mode](#bypass-permissions-mode-bypasspermissions).

46 * Чтобы выполнять такие удаления без запроса подтверждения, см. [Отключение запроса подтверждения для удалений по критическим путям](https://code.claude.com/docs/ru/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode).

47* В режиме `acceptEdits` Claude Code одобряет операции с файлами, перечисленные в разделе [Accept edits mode](#accept-edits-mode-acceptedits).46* В режиме `acceptEdits` Claude Code одобряет операции с файлами, перечисленные в разделе [Accept edits mode](#accept-edits-mode-acceptedits).

48* В режиме `plan` Claude Code отправляет инструменты редактирования файлов в ваш callback `canUseTool` независимо от правил allow.47* В режиме `plan` некоторые вызовы достигают вашего callback, а другие, когда доступен авторежим, вместо этого передаются его классификатору. Подробнее см. [Plan mode](#plan-mode-plan).

49* В других режимах запрос передается дальше.48* В режимах `default` и `dontAsk` вызов переходит к правилам allow.

49* О режиме `auto` см. [Auto mode](#auto-mode-auto).

50 50 

51**5. Allow rules**51**5. Allow rules**

52 52 


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 

94Правила с областью действия для `Read` и `Edit` принимают шаблон пути. Правила `Edit(path)` управляют всеми встроенными инструментами, которые записывают файлы, включая `Write` и `NotebookEdit`; правило `Write(path)` никогда не совпадает с проверками разрешений файлов.

95 

96Используйте `//path` для абсолютного пути файловой системы: правило запрета `Edit(//secrets/**)` блокирует записи в любом месте под `/secrets` на диске. С одной ведущей косой чертой `Edit(/secrets/**)` якорируется в источнике правила. Для правил, переданных через `allowed_tools` или `disallowed_tools`, это означает рабочий каталог сеанса, поэтому правило не блокирует `/secrets` на диске. См. [Правила Read и Edit](https://code.claude.com/docs/ru/permissions.md#read-and-edit) для четырех форм якорей и того, как правила из файлов параметров разрешаются.

97 

98> [!WARNING]94> [!WARNING]

99>95>

100> **Автоматически одобренные инструменты никогда не достигают `canUseTool`.** Вызов инструмента, одобренный на любом более раннем этапе, по `acceptEdits` или `bypassPermissions`, или по правилу разрешения, пропускает ваш обратный вызов `canUseTool`, поэтому проверки разрешений, которые вы там поместили, молча обходятся для этого инструмента.96> **Автоматически одобренные инструменты никогда не достигают `canUseTool`.** Вызов инструмента, одобренный на любом более раннем этапе, по `acceptEdits` или `bypassPermissions`, или по правилу разрешения, пропускает ваш обратный вызов `canUseTool`, поэтому проверки разрешений, которые вы там поместили, молча обходятся для этого инструмента.


105>101>

106> * Пользовательские инструменты, которые ваше приложение помечает как [`always_ask`](https://code.claude.com/docs/ru/agent-sdk/custom-tools#require-approval-for-specific-tools): принимайте решение о вызове в обратном вызове. Чтобы эти вызовы перестали поступать, [измените политику во время сессии](https://code.claude.com/docs/ru/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance). В режимах `auto`, `plan` и `bypassPermissions` вызов вместо этого может быть одобрен до обратного вызова в случаях, перечисленных в разделе [Режимы разрешений, которые могут одобрить вызов `always_ask`](https://code.claude.com/docs/ru/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)102> * Пользовательские инструменты, которые ваше приложение помечает как [`always_ask`](https://code.claude.com/docs/ru/agent-sdk/custom-tools#require-approval-for-specific-tools): принимайте решение о вызове в обратном вызове. Чтобы эти вызовы перестали поступать, [измените политику во время сессии](https://code.claude.com/docs/ru/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance). В режимах `auto`, `plan` и `bypassPermissions` вызов вместо этого может быть одобрен до обратного вызова в случаях, перечисленных в разделе [Режимы разрешений, которые могут одобрить вызов `always_ask`](https://code.claude.com/docs/ru/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)

107>103>

108> * Распознанные удаления `rm` и `rmdir` [по критическим путям](https://code.claude.com/docs/ru/permission-modes.md#critical-paths): в режимах `default`, `acceptEdits` и `bypassPermissions` разрешите или запретите удаление в обратном вызове, где [`decisionReason`](https://code.claude.com/docs/ru/agent-sdk/typescript#canusetool) начинается с `Dangerous rm`. Для режимов `auto` и `plan` см. [Удаления по критическим путям в каждом режиме разрешений](https://code.claude.com/docs/ru/permission-modes.md#critical-path-removals-in-each-permission-mode). Проверка, которая распознает такие удаления, [может пропускать некоторые команды](https://code.claude.com/docs/ru/permission-modes.md#critical-paths)104> * Распознанные удаления `rm` и `rmdir` [по критическим путям](https://code.claude.com/docs/ru/permission-modes.md#critical-paths): в режимах `default`, `acceptEdits` и `bypassPermissions` разрешите или запретите удаление в обратном вызове, где [`decisionReason`](https://code.claude.com/docs/ru/agent-sdk/typescript#canusetool) начинается с `Dangerous rm`. Для режимов `auto` и `plan` см. [Удаления по критическим путям в каждом режиме разрешений](https://code.claude.com/docs/ru/permission-modes.md#critical-path-removals-in-each-permission-mode)

109>105>

110> * **Простое имя**: запись, такая как `Read` или `mcp__github__get_issue`, автоматически одобряет каждый вызов этого инструмента, кроме [действий, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves), и [чтения из сетевых путей](https://code.claude.com/docs/ru/permissions.md#network-paths).106> * **Простое имя**: запись, такая как `Read` или `mcp__github__get_issue`, автоматически одобряет каждый вызов этого инструмента, кроме [действий, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves), и [чтения из сетевых путей](https://code.claude.com/docs/ru/permissions.md#network-paths).

111>107>

112> * **Правило с областью действия**: запись, такая как `Bash(npm test *)`, автоматически одобряет только совпадающие вызовы, а другие вызовы `Bash`, требующие одобрения, по-прежнему переходят в обратный вызов.108> * **Правило с областью действия**: запись, такая как `Bash(npm test *)`, автоматически одобряет совпадающие с ней вызовы, а другие вызовы `Bash`, требующие одобрения, переходят в режим разрешений.

113>109>

114> Для проверок, которые должны выполняться при каждом вызове инструмента, используйте [хук `PreToolUse`](https://code.claude.com/docs/ru/agent-sdk/hooks): хуки выполняются перед каждым другим шагом, и отказ хука применяется даже в режиме `bypassPermissions`.110> Чтобы проверять вызовы, которые одобряет правило разрешения, `acceptEdits` или `bypassPermissions`, используйте [хук `PreToolUse`](https://code.claude.com/docs/ru/agent-sdk/hooks), который выполняется и для таких вызовов. Отказ хука применяется даже в режиме `bypassPermissions`.

115 111 

116Для заблокированного агента объедините `allowedTools` с `permissionMode: "dontAsk"`:112Для заблокированного агента объедините `allowedTools` с `permissionMode: "dontAsk"`:

117 113 


128 124 

129> [!WARNING]125> [!WARNING]

130>126>

131> **`allowed_tools` не ограничивает `bypassPermissions`.** `allowed_tools` предварительно одобряет инструменты, которые вы указали. Другие неуказанные инструменты не совпадают ни с одним правилом разрешения и переходят в режим разрешений, где `bypassPermissions` их одобряет. Установка `allowed_tools=["Read"]` наряду с `permission_mode="bypassPermissions"` по-прежнему одобряет каждый инструмент, включая `Bash`, `Write` и `Edit`. Если вам нужен `bypassPermissions`, но вы хотите заблокировать определенные инструменты, используйте `disallowed_tools`.127> **`allowed_tools` не ограничивает `bypassPermissions`.** `allowed_tools` предварительно одобряет инструменты, которые вы указали. В режиме `bypassPermissions` Claude Code одобряет вызов неуказанного инструмента, если только это не одно из [действий, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves).

128>

129> Если вы установите `allowed_tools=["Read"]` вместе с `permission_mode="bypassPermissions"`, Claude Code всё равно одобрит вызовы таких инструментов, как `Bash`, `Write` и `Edit`. Если вам нужен `bypassPermissions`, но вы хотите заблокировать определенные инструменты, используйте `disallowed_tools`. О вызовах, которые в этом режиме всё же доходят до вашего обратного вызова `canUseTool`, см. [Режим обхода разрешений](#bypass-permissions-mode-bypasspermissions).

132 130 

133Вы также можете настроить правила разрешения, запрета и запроса декларативно в `.claude/settings.json`. Эти правила читаются, когда источник параметра `project` включен, что он есть для параметров `query()` по умолчанию. Если вы явно установите `setting_sources` (TypeScript: `settingSources`), включите `"project"`, чтобы они применялись. См. [Параметры разрешений](https://code.claude.com/docs/ru/settings-reference.md#permission-settings) для синтаксиса правил.131Вы также можете настроить правила разрешения, запрета и запроса декларативно в `.claude/settings.json`. Эти правила читаются, когда источник параметра `project` включен, что он есть для параметров `query()` по умолчанию. Если вы явно установите `setting_sources` (TypeScript: `settingSources`), включите `"project"`, чтобы они применялись. См. [Параметры разрешений](https://code.claude.com/docs/ru/settings-reference.md#permission-settings) для синтаксиса правил.

134 132 

133О том, когда применяются правила разрешения из `.claude/settings.json` проекта, см. [Правила разрешения проекта и доверие к рабочему пространству](https://code.claude.com/docs/ru/permissions.md#project-allow-rules-and-workspace-trust).

134 

135### Шаблоны путей в правилах

136 

137Правила с областью действия для `Read` и `Edit` принимают шаблон пути. Правила `Edit(path)` управляют всеми встроенными инструментами, которые записывают файлы, включая `Write` и `NotebookEdit`, поэтому для любого из них записывайте правило пути как `Edit(path)`. Если вы запишете правило пути как `Write(path)` или `NotebookEdit(path)`, оно [не совпадет ни с одним вызовом](https://code.claude.com/docs/ru/permissions.md#path-rules-that-never-match) и не будет иметь эффекта.

138 

139В `allowed_tools` и `disallowed_tools` начинайте шаблон пути с `//` для абсолютного пути или с одной `/` для пути внутри рабочего каталога сессии:

140 

141* **`//path`**: с правилом запрета `Edit(//secrets/**)` Claude Code блокирует записи под `/secrets` на диске из файловых инструментов Claude и из [команд Bash, таких как `tee` и перенаправление `> file`](https://code.claude.com/docs/ru/permissions#what-read-and-edit-rules-cover). Скрипт, который запускает Claude и который сам открывает файлы, всё равно может записывать под `/secrets`. О принудительном применении на уровне операционной системы см. [Настройка изолированного инструмента Bash](https://code.claude.com/docs/ru/sandboxing.md).

142* **`/path`**: `Edit(/secrets/**)` соответствует каталогу `secrets` внутри рабочего каталога.

143 

144О других способах начать шаблон пути см. [Правила Read и Edit](https://code.claude.com/docs/ru/permissions.md#read-and-edit).

145 

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

136 147 

137Режимы разрешений обеспечивают глобальный контроль над тем, как Claude использует инструменты. Вы можете установить режим разрешений при вызове `query()` или изменить его динамически во время сеансов потоковой передачи.148Режимы разрешений обеспечивают глобальный контроль над тем, как Claude использует инструменты. Вы можете установить режим разрешений при вызове `query()` или изменить его динамически во время сеансов потоковой передачи.


146| :- | :- | :- |157| :- | :- | :- |

147| `default` | Стандартное поведение разрешений | Нет автоматических одобрений на основе режима; вызовы, требующие одобрения и не соответствующие никакому правилу разрешения, запускают ваш обратный вызов `canUseTool` |158| `default` | Стандартное поведение разрешений | Нет автоматических одобрений на основе режима; вызовы, требующие одобрения и не соответствующие никакому правилу разрешения, запускают ваш обратный вызов `canUseTool` |

148| `dontAsk` | Отклонить вместо запроса | Любой вызов, который иначе запросил бы подтверждение, отклоняется без вызова `canUseTool`, хотя установленный вами [мод](https://code.claude.com/docs/ru/plugins/mods/overview.md) всё равно может одобрить [некоторые из этих вызовов](https://code.claude.com/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods). Вызовы, одобренные `allowed_tools` или правилами разрешения в `settings.json`, выполняются, как и вызовы, не требующие одобрения в режиме `default`. Некоторые вызовы, например [чтение из сетевых путей](https://code.claude.com/docs/ru/permissions.md#network-paths), отклоняются, даже если им соответствует `allowed_tools` или правило разрешения. Список см. в разделе [Режим не спрашивать](#don’t-ask-mode-dontask) |159| `dontAsk` | Отклонить вместо запроса | Любой вызов, который иначе запросил бы подтверждение, отклоняется без вызова `canUseTool`, хотя установленный вами [мод](https://code.claude.com/docs/ru/plugins/mods/overview.md) всё равно может одобрить [некоторые из этих вызовов](https://code.claude.com/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods). Вызовы, одобренные `allowed_tools` или правилами разрешения в `settings.json`, выполняются, как и вызовы, не требующие одобрения в режиме `default`. Некоторые вызовы, например [чтение из сетевых путей](https://code.claude.com/docs/ru/permissions.md#network-paths), отклоняются, даже если им соответствует `allowed_tools` или правило разрешения. Список см. в разделе [Режим не спрашивать](#don’t-ask-mode-dontask) |

149| `acceptEdits` | Автоматически принимать редактирование файлов | Редактирование файлов и [операции с файловой системой](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv` и т. д.) автоматически одобряются |160| `acceptEdits` | Автоматически принимать редактирование файлов | Редактирование файлов и [операции с файловой системой](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv` и т. д.) внутри ваших [рабочих каталогов](https://code.claude.com/docs/ru/permissions.md#working-directories) автоматически одобряются |

150| `bypassPermissions` | Обойти проверки разрешений | Инструменты выполняются без запросов разрешений, за исключением [действий, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves) и, вне [облачной сессии](https://code.claude.com/docs/ru/claude-code-on-the-web.md), пользовательских инструментов, которые ваше приложение [помечает как `always_ask`](https://code.claude.com/docs/ru/agent-sdk/custom-tools#require-approval-for-specific-tools). Используйте с осторожностью |161| `bypassPermissions` | Обойти проверки разрешений | Инструменты выполняются без запросов разрешений, за исключением [действий, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves) и, вне [облачной сессии](https://code.claude.com/docs/ru/claude-code-on-the-web.md), пользовательских инструментов, которые ваше приложение [помечает как `always_ask`](https://code.claude.com/docs/ru/agent-sdk/custom-tools#require-approval-for-specific-tools). Используйте с осторожностью |

151| `plan` | Режим планирования | Claude исследует и планирует без редактирования исходных файлов; редактирование файлов никогда не одобряется автоматически и запрашивается через ваш обратный вызов `canUseTool` |162| `plan` | Режим планирования | Claude исследует и планирует. Редактирование, выполняемое файловыми инструментами Claude, поступает в ваш обратный вызов `canUseTool`, даже когда ему соответствует правило разрешения |

152| `auto` | Одобрения, классифицированные моделью | Классификатор модели проверяет действия, такие как команды оболочки и сетевые запросы, разрешая или блокируя каждое из них. См. [Режим Auto](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) для получения информации о доступности и порядке принятия решений |163| `auto` | Одобрения, классифицированные моделью | Классификатор модели проверяет действия, такие как команды оболочки и сетевые запросы, разрешая или блокируя каждое из них. См. [Режим Auto](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) для получения информации о доступности и порядке принятия решений |

153 164 

154> [!WARNING]165> [!WARNING]


267 278 

268**Автоматически одобренные операции:**279**Автоматически одобренные операции:**

269 280 

270* Редактирование файлов (инструменты Edit, Write)281* Редактирование файлов с помощью инструментов Edit, Write и NotebookEdit

271* Команды файловой системы: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`282* Команды файловой системы: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`

272 283 

273Оба применяются только к путям внутри рабочего каталога или `additionalDirectories`. В режиме `acceptEdits` Claude Code не одобряет запрос автоматически, когда Claude:284Оба применяются к путям внутри рабочего каталога или добавленного вами каталога. В Python каталог добавляется с помощью `add_dirs`, а в TypeScript — с помощью `additionalDirectories`. В режиме `acceptEdits` Claude Code не одобряет запрос автоматически, когда Claude:

274 285 

275* Работает с путем вне этой области286* Работает с путем вне этой области

276* Записывает в защищенный путь287* Записывает в [защищенный путь](https://code.claude.com/docs/ru/permission-modes.md#protected-paths)

277* Удаляет с помощью `rm` или `rmdir` путь, который Claude Code распознает как [критический путь](https://code.claude.com/docs/ru/permission-modes.md#critical-paths)288* Удаляет с помощью `rm` или `rmdir` путь, который Claude Code распознает как [критический путь](https://code.claude.com/docs/ru/permission-modes.md#critical-paths)

278* Запускает [`touch`](https://code.claude.com/docs/ru/permission-modes#auto-approve-file-edits-with-acceptedits-mode), например, с опцией, glob-шаблоном или префиксом `timeout 5` или `LANG=C`289* Запускает [`touch`](https://code.claude.com/docs/ru/permission-modes#auto-approve-file-edits-with-acceptedits-mode), например, с опцией, glob-шаблоном или префиксом `timeout 5` или `LANG=C`

279 290 


293 304 

294Если ваш хук `PreToolUse` возвращает `allow` для распознанного удаления критического пути, чтения из сетевого пути или вызова инструмента, помеченного `always_ask`, вызов всё равно отклоняется. Проверка, которая распознает такие удаления, [может пропустить некоторые команды](https://code.claude.com/docs/ru/permission-modes.md#critical-paths).305Если ваш хук `PreToolUse` возвращает `allow` для распознанного удаления критического пути, чтения из сетевого пути или вызова инструмента, помеченного `always_ask`, вызов всё равно отклоняется. Проверка, которая распознает такие удаления, [может пропустить некоторые команды](https://code.claude.com/docs/ru/permission-modes.md#critical-paths).

295 306 

296**Используйте когда:** вы хотите фиксированную, явную поверхность инструментов для headless агента и предпочитаете жесткое отклонение молчаливому полаганию на отсутствие `canUseTool`.307**Используйте когда:** вы запускаете headless-агента и хотите жесткого отклонения для каждого вызова, который иначе запросил бы подтверждение.

297 308 

298#### Режим обхода разрешений (`bypassPermissions`)309#### Режим обхода разрешений (`bypassPermissions`)

299 310 


303>314>

304> Используйте с крайней осторожностью. Claude имеет полный доступ к системе в этом режиме. Используйте только в контролируемых средах, где вы доверяете всем возможным операциям.315> Используйте с крайней осторожностью. Claude имеет полный доступ к системе в этом режиме. Используйте только в контролируемых средах, где вы доверяете всем возможным операциям.

305>316>

306> `allowed_tools` не ограничивает этот режим. Каждый инструмент одобрен, а не только те, которые вы указали. Эти элементы управления по-прежнему применяются:317> `allowed_tools` не ограничивает этот режим, и вызовы инструментов, которые вы не указали, тоже одобряются. Эти элементы управления по-прежнему применяются:

307>318>

308> * Правила отклонения, явные правила `ask` и hooks оцениваются перед проверкой режима и могут по-прежнему блокировать инструмент.319> * Правила отклонения, явные правила `ask` и hooks оцениваются перед проверкой режима и могут по-прежнему блокировать инструмент.

309> * Инструменты коннектора, [установленные вашей организацией на `ask`](https://code.claude.com/docs/ru/mcp#organization-controls-on-connector-tools), инструменты, требующие взаимодействия с пользователем, и распознанные [удаления критических путей](https://code.claude.com/docs/ru/permission-modes.md#critical-paths) по-прежнему переходят к вашему обратному вызову `canUseTool`. Проверка, которая распознает такие удаления, [может пропустить некоторые команды](https://code.claude.com/docs/ru/permission-modes.md#critical-paths), а также вы можете [отключить запрос подтверждения при удалении критических путей](https://code.claude.com/docs/ru/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). Вне [облачной сессии](https://code.claude.com/docs/ru/claude-code-on-the-web.md) вызовы пользовательских инструментов, которые ваше приложение [помечает как `always_ask`](https://code.claude.com/docs/ru/agent-sdk/custom-tools#require-approval-for-specific-tools), также переходят к обратному вызову.320> * Инструменты коннектора, [установленные вашей организацией на `ask`](https://code.claude.com/docs/ru/mcp#organization-controls-on-connector-tools), инструменты, требующие взаимодействия с пользователем, распознанные [удаления критических путей](https://code.claude.com/docs/ru/permission-modes.md#critical-paths) и команды Bash, помеченные [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/ru/permission-modes#dangerous-rm-operation-not-ruled-out), по-прежнему переходят к вашему обратному вызову `canUseTool`. Проверка, которая распознает удаления критических путей, [может пропустить некоторые команды](https://code.claude.com/docs/ru/permission-modes.md#critical-paths), а также вы можете [отключить запрос подтверждения при удалении критических путей](https://code.claude.com/docs/ru/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). Вне [облачной сессии](https://code.claude.com/docs/ru/claude-code-on-the-web.md) вызовы пользовательских инструментов, которые ваше приложение [помечает как `always_ask`](https://code.claude.com/docs/ru/agent-sdk/custom-tools#require-approval-for-specific-tools), также переходят к обратному вызову.

310> * [Защита обмена сообщениями между сеансами](https://code.claude.com/docs/ru/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) по-прежнему применяется.321> * [Защита обмена сообщениями между сеансами](https://code.claude.com/docs/ru/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) по-прежнему применяется.

311 322 

312#### Режим планирования (`plan`)323#### Режим планирования (`plan`)

313 324 

314Claude исследует кодовую базу и создает план без редактирования исходных файлов. Редактирование файлов никогда не одобряется автоматически в режиме планирования, даже когда правило разрешения совпадает или хук `PreToolUse` возвращает `allow`. Вместо этого они запрашиваются через ваш обратный вызов `canUseTool`.325Claude исследует кодовую базу и создает план. Во время планирования редактирование, выполняемое файловыми инструментами Claude вне [защищенных путей](https://code.claude.com/docs/ru/permission-modes.md#protected-paths), достигает вашего обратного вызова `canUseTool`, даже когда ему соответствует правило разрешения или хук `PreToolUse` возвращает `allow`. Вызовы [`AskUserQuestion`](https://code.claude.com/docs/ru/agent-sdk/user-input#handle-clarifying-questions) также достигают вашего обратного вызова, даже когда правило разрешения указывает этот инструмент.

326 

327Когда [авторежим](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) доступен, Claude Code во время планирования отправляет следующие вызовы на проверку [классификатору авторежима](https://code.claude.com/docs/ru/permission-modes.md#analyze-before-you-edit-with-plan-mode), а не в ваш обратный вызов, если их не одобряет никакое правило разрешения:

328 

329* Команды оболочки

330* Загрузки веб-страниц

331* Веб-поиск

332* Вызовы инструментов MCP, которые их сервер помечает как доступные только для чтения

333 

334Эта проверка включена по умолчанию. Чтобы отключить ее, установите [`useAutoModeDuringPlan`](https://code.claude.com/docs/ru/settings-reference#useautomodeduringplan) в `false` в параметре `settings`, который вы передаете в `query()`, или в своих пользовательских настройках. Пока проверка отключена, веб-поиск и вызовы инструментов MCP, помеченных как доступные только для чтения, достигают вашего обратного вызова.

315 335 

316Пока авторежим доступен для сессии, команды, которые Claude выполняет во время планирования, по умолчанию не достигают вашего обратного вызова, потому что модель-классификатор, которую использует [авторежим](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode), [проверяет их вместо этого](https://code.claude.com/docs/ru/permission-modes.md#analyze-before-you-edit-with-plan-mode). Когда эта проверка включена, классификатор также может одобрять вызовы только для чтения, которые иначе достигли бы вашего обратного вызова, например вызов `WebFetch` без правила разрешения.336Для команд оболочки и загрузок веб-страниц таблица показывает, достигает ли каждый вызов вашего обратного вызова:

337 

338| Вызов во время планирования | Проверка включена | Проверка отключена или авторежим недоступен |

339| :- | :- | :- |

340| Команда оболочки [только для чтения](https://code.claude.com/docs/ru/permissions.md#read-only-commands), например `ls` | Выполняется, не достигая вашего обратного вызова | Выполняется, не достигая вашего обратного вызова |

341| Любая другая команда оболочки, которую не одобряет никакое правило разрешения, за исключением [удаления критического пути](https://code.claude.com/docs/ru/permission-modes.md#critical-paths) | Поступает классификатору, который одобряет или отклоняет ее без вашего обратного вызова | Достигает вашего обратного вызова |

342| Вызов `WebFetch` к [предварительно одобренному домену документации](https://code.claude.com/docs/ru/tools-reference.md#webfetch-tool-behavior) | Выполняется, не достигая вашего обратного вызова | Выполняется, не достигая вашего обратного вызова |

343| Любой другой вызов `WebFetch`, который не одобряет никакое правило разрешения | Поступает классификатору, который одобряет или отклоняет его без вашего обратного вызова | Достигает вашего обратного вызова |

344 

345О том, что происходит после того, как классификатор отклоняет несколько вызовов подряд, см. [Пороги повторных блокировок](https://code.claude.com/docs/ru/permission-modes.md#repeated-block-thresholds).

317 346 

318> [!NOTE]347> [!NOTE]

319>348>

320> В TypeScript SDK, если вы установите `allowDangerouslySkipPermissions: true` вместе с `permissionMode: 'plan'`, редактирование файлов по-прежнему достигает вашего обратного вызова `canUseTool`. Чтобы позже переключить сессию, которая начинается в режиме планирования, на `bypassPermissions` с помощью `setPermissionMode()`, необходимо задать `allowDangerouslySkipPermissions` с самого начала.349> В TypeScript SDK, если вы установите `allowDangerouslySkipPermissions: true` вместе с `permissionMode: 'plan'`, редактирование файлов по-прежнему достигает вашего обратного вызова `canUseTool`. Чтобы позже переключить сессию, которая начинается в режиме планирования, на `bypassPermissions` с помощью `setPermissionMode()`, необходимо задать `allowDangerouslySkipPermissions` с самого начала.

321 350 

322Claude может использовать `AskUserQuestion` для уточнения требований перед финализацией плана. См. [Обработка одобрений и ввода пользователя](https://code.claude.com/docs/ru/agent-sdk/user-input.md#handle-clarifying-questions) для обработки этих запросов.351**Используйте когда:** вы хотите, чтобы Claude сначала составил план, например во время код-ревью или перед крупным изменением.

323 

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

325 352 

326#### Авторежим (`auto`)353#### Авторежим (`auto`)

327 354 

Details

1175PermissionMode = Literal[1175PermissionMode = Literal[

1176 "default", # Стандартное поведение разрешений1176 "default", # Стандартное поведение разрешений

1177 "acceptEdits", # Автоматически принимать изменения файлов1177 "acceptEdits", # Автоматически принимать изменения файлов

1178 "plan", # Режим планирования - исследовать без редактирования1178 "plan", # Режим планирования - Claude исследует и планирует

1179 "dontAsk", # Отклонять всё, что не одобрено заранее, вместо запроса1179 "dontAsk", # Отклонять всё, что не одобрено заранее, вместо запроса

1180 "bypassPermissions", # Обходить проверки разрешений; явные правила ask всё равно запрашивают (используйте с осторожностью)1180 "bypassPermissions", # Обходить проверки разрешений; явные правила ask всё равно запрашивают (используйте с осторожностью)

1181 "auto", # Классификатор модели проверяет действия, такие как shell-команды и сетевые запросы1181 "auto", # Классификатор модели проверяет действия, такие как shell-команды и сетевые запросы


1214 1214 

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

1216 1216 

1217Обратный вызов заменяет в SDK интерактивный запрос разрешения: он вызывается только тогда, когда [процесс проверки разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated) приводит к запросу разрешения. Вызовы инструментов, уже одобренные записью в `allowed_tools`, правилом разрешения в настройках или режимом разрешений, таким как `acceptEdits` или `bypassPermissions`, никогда его не вызывают. Чтобы контролировать каждый вызов инструмента, используйте вместо этого [хук `PreToolUse`](https://code.claude.com/docs/ru/agent-sdk/hooks).1217Обратный вызов заменяет интерактивный запрос разрешения. SDK вызывает `can_use_tool`, когда [процесс проверки разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated) приводит к запросу разрешения. Вызовы, одобренные любым из следующих способов, выполняются без вызова `can_use_tool`:

1218 

1219* Вызов, который одобряет запись в `allowed_tools` или правило разрешения в настройках

1220* Вызов, который одобряет режим разрешений, например изменение файла в режиме `acceptEdits`

1221 

1222Чтобы проверять такие вызовы, используйте [хук `PreToolUse`](https://code.claude.com/docs/ru/agent-sdk/hooks), который выполняется и для них.

1218 1223 

1219Правило разрешения не одобряет заранее [действия, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves); о том, какие из них доходят до обратного вызова и что происходит в режимах `dontAsk` и `auto`, см. [Как проверяются разрешения](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated).1224Правило разрешения не одобряет заранее [действия, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves); о том, какие из них доходят до обратного вызова и что происходит в режимах `dontAsk` и `auto`, см. [Как проверяются разрешения](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated).

1220 1225 


3659 3664 

3660> [!NOTE]3665> [!NOTE]

3661>3666>

3662> Встроенный прокси sandbox применяет список разрешений сети на основе запрашиваемого имени хоста и не завершает и не проверяет трафик TLS, поэтому методы, такие как [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting), потенциально могут его обойти. См. [Ограничения безопасности sandboxing](https://code.claude.com/docs/ru/sandboxing.md#security-limitations) для деталей и [Безопасное развертывание](https://code.claude.com/docs/ru/agent-sdk/secure-deployment.md#traffic-forwarding) для настройки прокси, завершающего TLS.3667> Встроенный прокси sandbox применяет список разрешённых доменов сети на основе запрашиваемого имени хоста. По умолчанию прокси не завершает и не проверяет трафик TLS, поэтому такие методы, как [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting), потенциально могут обойти список разрешённых доменов. См. [Ограничения безопасности sandboxing](https://code.claude.com/docs/ru/sandboxing.md#security-limitations) для деталей и [Безопасное развертывание](https://code.claude.com/docs/ru/agent-sdk/secure-deployment.md#traffic-forwarding) для настройки прокси, завершающего TLS.

3663 3668 

3664### `SandboxIgnoreViolations`3669### `SandboxIgnoreViolations`

3665 3670 

Details

22 22 

23Claude Code включает несколько функций безопасности, которые решают распространенные проблемы. Полные детали см. в [документации по безопасности](https://code.claude.com/docs/ru/security.md).23Claude Code включает несколько функций безопасности, которые решают распространенные проблемы. Полные детали см. в [документации по безопасности](https://code.claude.com/docs/ru/security.md).

24 24 

25* **Система разрешений**: Каждый инструмент и команда bash можно настроить на разрешение, блокировку или запрос одобрения пользователя. Используйте glob-шаблоны для создания правил, таких как "разрешить все команды npm" или "заблокировать любую команду с sudo". Организации могут устанавливать политики, которые применяются ко всем пользователям. См. [разрешения](https://code.claude.com/docs/ru/permissions.md).25* **Система разрешений**: Правила разрешений определяют, выполняется ли вызов инструмента, блокируется или сначала запрашивает подтверждение. О формах, которые не охватывает правило Bash, и о том, как правила сочетаются с режимами разрешений, см. [Что не охватывает правило Bash](https://code.claude.com/docs/ru/permissions.md#bash-rule-limits) и [Настройка разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md). Администраторы также могут задавать правила в [управляемых настройках](https://code.claude.com/docs/ru/permissions.md#managed-settings).

26* **Парсинг команд для разрешений**: Перед выполнением команд bash Claude Code анализирует их в AST и сопоставляет результат с вашими правилами разрешений. Команды, которые не могут быть четко проанализированы или не соответствуют правилу разрешения, требуют явного одобрения. Небольшой набор конструкций, таких как `eval`, всегда требует одобрения независимо от правил разрешения. Это шлюз разрешений, а не sandbox; помимо встроенных проверок безопасности, таких как [проверка критических путей](https://code.claude.com/docs/ru/permission-modes.md#critical-paths) для `rm` и `rmdir` и список [защищенных путей](https://code.claude.com/docs/ru/permission-modes.md#protected-paths), он не определяет, опасна ли команда, исходя из целевого пути или эффектов.26* **Удаление критических путей**: Когда режим разрешений установлен в `default`, команда `rm` или `rmdir`, распознанная как удаляющая ваш рабочий каталог или другой [критический путь](https://code.claude.com/docs/ru/permission-modes.md#critical-paths), требует подтверждения. Совпадающее разрешающее правило не позволяет пропустить это подтверждение. Это шлюз разрешений, а не песочница. Чтобы управлять тем, что агент может записывать, используйте [средства управления файловой системой](#filesystem-configuration).

27* **Суммирование результатов веб-поиска**: Результаты поиска суммируются, а не передаются в контекст в виде необработанного содержимого, что снижает риск prompt injection из вредоносного веб-контента.27* **Суммирование результатов веб-поиска**: Результаты поиска суммируются, а не передаются в контекст в виде необработанного содержимого, что снижает риск prompt injection из вредоносного веб-контента.

28* **Режим sandbox**: Команды Bash могут выполняться в изолированной среде, которая ограничивает доступ к файловой системе и сети. Подробности см. в [документации по sandboxing](https://code.claude.com/docs/ru/sandboxing.md).28* **Режим sandbox**: Команды Bash могут выполняться в изолированной среде, которая ограничивает доступ к файловой системе и сети. Подробности см. в [документации по sandboxing](https://code.claude.com/docs/ru/sandboxing.md).

29 29 


83**Как это работает:**83**Как это работает:**

84 84 

85* **Файловая система**: Использует примитивы ОС (`bubblewrap` на Linux, `sandbox-exec` на macOS) для ограничения доступа на чтение/запись к настроенным путям85* **Файловая система**: Использует примитивы ОС (`bubblewrap` на Linux, `sandbox-exec` на macOS) для ограничения доступа на чтение/запись к настроенным путям

86* **Сеть**: Удаляет пространство имен сети (Linux) или использует профили Seatbelt (macOS) для маршрутизации сетевого трафика через встроенный прокси86* **Сеть**: Запускает команды в собственном сетевом пространстве имён (Linux) или под профилем Seatbelt (macOS) и направляет их трафик через встроенный прокси, который разрешает настроенные домены. Подключение к внешнему хосту в обход прокси завершается ошибкой.

87* **Конфигурация**: Списки разрешений на основе JSON для доменов и путей файловой системы87* **Конфигурация**: Списки разрешений на основе JSON для доменов и путей файловой системы

88 88 

89**Настройка:**89**Настройка:**

90 90 

91```bash theme={null}91Шаги установки, настройки и запуска см. в разделе [Настройка и запуск среды выполнения](https://code.claude.com/docs/ru/sandbox-environments.md#set-up-and-launch-the-runtime).

92npm install @anthropic-ai/sandbox-runtime

93```

94 

95Затем создайте файл конфигурации, указывающий разрешенные пути и домены.

96 92 

97**Соображения безопасности:**93**Соображения безопасности:**

98 94 

991. **Ядро на одном хосте**: В отличие от VMs, изолированные процессы используют ядро хоста. Уязвимость ядра теоретически может позволить выход. Для некоторых моделей угроз это приемлемо, но если вам нужна изоляция на уровне ядра, используйте gVisor или отдельную VM.951. **Ядро на одном хосте**: В отличие от VMs, изолированные процессы используют ядро хоста. Уязвимость ядра теоретически может позволить выход. Для некоторых моделей угроз это приемлемо, но если вам нужна изоляция на уровне ядра, используйте gVisor или отдельную VM.

100 96 

1012. **Без проверки TLS**: Прокси создает список разрешений доменов на основе имени хоста, предоставленного клиентом, и не завершает и не проверяет зашифрованный трафик. Код, работающий внутри sandbox, потенциально может использовать [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) или аналогичные методы для доступа к хостам вне списка разрешений. Если ваша модель угроз требует более сильных гарантий, настройте [прокси, завершающий TLS](#traffic-forwarding). Подробнее см. в [ограничениях безопасности sandboxing](https://code.claude.com/docs/ru/sandboxing.md#security-limitations). Отдельно, если агент имеет разрешающие учетные данные для разрешенного домена, убедитесь, что он не может использовать этот домен для запуска других сетевых запросов или для утечки данных.972. **Без проверки TLS**: По умолчанию прокси формирует список разрешённых доменов на основе имени хоста, предоставленного клиентом, и не завершает и не проверяет зашифрованный трафик. Код, работающий внутри песочницы, потенциально может использовать [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) или аналогичные методы для доступа к хостам вне списка разрешённых. Если ваша модель угроз требует более сильных гарантий, используйте прокси с завершением TLS, который проверяет трафик, как описано в разделе [Перенаправление трафика](#traffic-forwarding). Подробнее см. в [ограничениях безопасности изоляции в песочнице](https://code.claude.com/docs/ru/sandboxing.md#security-limitations).

98 

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

102 100 

103Для многих случаев использования одного разработчика и CI/CD sandbox-runtime значительно повышает планку с минимальной настройкой. Разделы ниже охватывают контейнеры и VMs для развертываний, требующих более сильной изоляции.101Для многих случаев использования одного разработчика и CI/CD sandbox-runtime значительно повышает планку с минимальной настройкой. Разделы ниже охватывают контейнеры и VMs для развертываний, требующих более сильной изоляции.

104 102 


135| `--security-opt seccomp=...` | Ограничивает доступные системные вызовы; значение по умолчанию Docker блокирует \~44, пользовательские профили могут блокировать больше |133| `--security-opt seccomp=...` | Ограничивает доступные системные вызовы; значение по умолчанию Docker блокирует \~44, пользовательские профили могут блокировать больше |

136| `--read-only` | Делает корневую файловую систему контейнера неизменяемой, предотвращая сохранение изменений агентом |134| `--read-only` | Делает корневую файловую систему контейнера неизменяемой, предотвращая сохранение изменений агентом |

137| `--tmpfs /tmp:...` | Предоставляет записываемый временный каталог, который очищается при остановке контейнера |135| `--tmpfs /tmp:...` | Предоставляет записываемый временный каталог, который очищается при остановке контейнера |

138| `--network none` | Удаляет все сетевые интерфейсы; агент взаимодействует через смонтированный Unix-сокет ниже |136| `--network none` | Отключает контейнер от внешних сетей |

139| `--memory 2g` | Ограничивает использование памяти, чтобы предотвратить истощение ресурсов |137| `--memory 2g` | Ограничивает использование памяти, чтобы предотвратить истощение ресурсов |

140| `--pids-limit 100` | Ограничивает количество процессов, чтобы предотвратить fork bombs |138| `--pids-limit 100` | Ограничивает количество процессов, чтобы предотвратить fork bombs |

141| `--user 1000:1000` | Запускается от непривилегированного пользователя |139| `--user 1000:1000` | Запускается от непривилегированного пользователя |


144 142 

145**Архитектура Unix-сокета:**143**Архитектура Unix-сокета:**

146 144 

147С `--network none` контейнер вообще не имеет сетевых интерфейсов. Единственный способ для агента достичь внешнего мира — через смонтированный Unix-сокет, который подключается к прокси, работающему на хосте. Этот прокси может обеспечивать списки разрешений доменов, внедрять учетные данные и регистрировать весь трафик.145С `--network none` DNS-запрос или прямое подключение к другому хосту внутри контейнера завершается ошибкой. Чтобы код в контейнере мог обращаться к другим хостам, запустите прокси на хосте и смонтируйте его Unix-сокет в контейнер. Если вы направляете `ANTHROPIC_BASE_URL` или `HTTP_PROXY` на порт `localhost`, как показано в разделе [Настройка Claude Code для использования прокси](#configuring-claude-code-to-use-a-proxy), перенаправьте этот порт внутри контейнера на сокет.

148 146 

149Это та же архитектура, используемая [sandbox-runtime](https://github.com/anthropics/sandbox-runtime). Даже если агент скомпрометирован через промпт-инъекцию, он не может утечь данные на произвольные серверы. Он может взаимодействовать только через прокси, который контролирует, какие домены доступны. Для получения дополнительной информации см. [статью в блоге об изоляции Claude Code в песочнице](https://www.anthropic.com/engineering/claude-code-sandboxing).147Вы можете настроить этот прокси так, чтобы он применял списки разрешённых доменов, внедрял учётные данные и записывал весь трафик в журнал.

148 

149> [!WARNING]

150>

151> В пределах списка разрешённых доменов вашего прокси агент может отправлять данные на любой разрешённый домен. Разрешайте только те домены, которые нужны агенту.

150 152 

151**Дополнительные варианты усиления:**153**Дополнительные варианты усиления:**

152 154 

Details

1340 | "default" // Standard permission behavior1340 | "default" // Standard permission behavior

1341 | "acceptEdits" // Auto-accept file edits1341 | "acceptEdits" // Auto-accept file edits

1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt

1343 | "plan" // Planning mode - explore without editing1343 | "plan" // Planning mode - Claude explores and plans

1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved

1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests

1346```1346```


1349 1349 

1350Тип пользовательской функции разрешений для управления использованием инструментов.1350Тип пользовательской функции разрешений для управления использованием инструментов.

1351 1351 

1352Эта функция заменяет в SDK интерактивный запрос разрешения: она вызывается только тогда, когда [процесс оценки разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated) приводит к запросу. Вызовы инструментов, уже одобренные записью `allowedTools`, разрешающим правилом в настройках или режимом разрешений, например `acceptEdits` или `bypassPermissions`, никогда её не вызывают. Чтобы контролировать каждый вызов инструмента, используйте вместо этого [хук `PreToolUse`](https://code.claude.com/docs/ru/agent-sdk/hooks).1352Функция заменяет интерактивный запрос разрешения. SDK вызывает `canUseTool`, когда [процесс оценки разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated) приводит к запросу. Вызовы, одобренные одним из следующих способов, выполняются без вызова `canUseTool`:

1353 

1354* Вызов, который одобряет запись `allowedTools` или правило разрешения в настройках

1355* Вызов, который одобряет режим разрешений, например редактирование файла в режиме `acceptEdits`

1356 

1357Чтобы проверять такие вызовы, используйте [хук `PreToolUse`](https://code.claude.com/docs/ru/agent-sdk/hooks), который выполняется и для них.

1353 1358 

1354Разрешающее правило не одобряет заранее [действия, которые не одобряются автоматически ни в одном режиме](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves); о том, какие из них доходят до callback-функции и что происходит в режимах `dontAsk` и `auto`, см. в разделе [Как оцениваются разрешения](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated).1359Разрешающее правило не одобряет заранее [действия, которые не одобряются автоматически ни в одном режиме](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves); о том, какие из них доходят до callback-функции и что происходит в режимах `dontAsk` и `auto`, см. в разделе [Как оцениваются разрешения](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated).

1355 1360 


2006* Возобновление, которое Claude Code останавливает, потому что [не может вернуть сессию в её worktree](https://code.claude.com/docs/ru/worktrees.md#the-session-resumes-outside-its-worktree), с `worktree_unverified` или `worktree_resume_refused`. В том разделе сказано, какая ошибка содержит какое значение.2011* Возобновление, которое Claude Code останавливает, потому что [не может вернуть сессию в её worktree](https://code.claude.com/docs/ru/worktrees.md#the-session-resumes-outside-its-worktree), с `worktree_unverified` или `worktree_resume_refused`. В том разделе сказано, какая ошибка содержит какое значение.

2007* Отклонённое [`continue`](#options) диалога, который удерживает фоновая сессия, с `session_held_by_background`. Для отклонённого [`resume`](#options) такого диалога Claude Code записывает результат, только когда переменная установлена.2012* Отклонённое [`continue`](#options) диалога, который удерживает фоновая сессия, с `session_held_by_background`. Для отклонённого [`resume`](#options) такого диалога Claude Code записывает результат, только когда переменная установлена.

2008* Запуск, который Claude Code отклоняет, потому что включён [`failIfUnavailable`](#sandboxsettings) и песочница не может запуститься, с `sandbox_required_unavailable`.2013* Запуск, который Claude Code отклоняет, потому что включён [`failIfUnavailable`](#sandboxsettings) и песочница не может запуститься, с `sandbox_required_unavailable`.

2014* Запуск, который Claude Code отклоняет, потому что `~/.claude.json` не является допустимым JSON, со значением `config_file_invalid`.

2009 2015 

2010Тип `SDKStartupFailureReason` перечисляет значения, которые может принимать `startup_failure_reason`:2016Тип `SDKStartupFailureReason` перечисляет значения, которые может принимать `startup_failure_reason`:

2011 2017 


2030 | "bypass_root"2036 | "bypass_root"

2031 | "org_config_required_unavailable"2037 | "org_config_required_unavailable"

2032 | "org_config_refused"2038 | "org_config_refused"

2033 | "sandbox_required_unavailable";2039 | "sandbox_required_unavailable"

2040 | "config_file_invalid";

2034```2041```

2035 2042 

2036Каждое значение называет один отказ:2043Каждое значение называет один отказ:


2057| `org_config_required_unavailable` | Сессии для запуска нужны политики и управляемые настройки организации, а их не удалось загрузить, например из-за сетевого сбоя или ошибки сервера Anthropic. Требуется Agent SDK v0.3.293 или новее |2064| `org_config_required_unavailable` | Сессии для запуска нужны политики и управляемые настройки организации, а их не удалось загрузить, например из-за сетевого сбоя или ошибки сервера Anthropic. Требуется Agent SDK v0.3.293 или новее |

2058| `org_config_refused` | Anthropic отказался предоставить политики и управляемые настройки организации для этого входа, например потому что срок действия входа истёк или он был отозван, или организация не разрешает Claude Code для этой учётной записи. Требуется Agent SDK v0.3.293 или новее |2065| `org_config_refused` | Anthropic отказался предоставить политики и управляемые настройки организации для этого входа, например потому что срок действия входа истёк или он был отозван, или организация не разрешает Claude Code для этой учётной записи. Требуется Agent SDK v0.3.293 или новее |

2059| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings) включён, и песочница не может запуститься. Текст в `errors` заканчивается на `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.` Требуется Agent SDK v0.3.314 или новее |2066| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings) включён, и песочница не может запуститься. Текст в `errors` заканчивается на `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.` Требуется Agent SDK v0.3.314 или новее |

2067| `config_file_invalid` | `~/.claude.json` не является допустимым JSON. Claude Code оставляет файл без изменений, поэтому повторная попытка завершается так же, пока кто-нибудь не исправит файл. `errors` называет файл и сообщает, как его восстановить или исправить. См. [Configuration error in \~/.claude.json](https://code.claude.com/docs/ru/errors.md#configuration-error-in-claude-json). Требуется TypeScript Agent SDK v0.3.318 или новее и Claude Code v2.1.318 или новее |

2060 2068 

2061### `SDKSystemMessage`2069### `SDKSystemMessage`

2062 2070 


6106 6114 

6107> [!NOTE]6115> [!NOTE]

6108>6116>

6109> Встроенный прокси sandbox применяет `allowedDomains` на основе запрашиваемого имени хоста и не завершает и не проверяет трафик TLS, поэтому такие методы, как [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting), потенциально могут его обойти. Смотрите [Ограничения безопасности Sandboxing](https://code.claude.com/docs/ru/sandboxing.md#security-limitations) для деталей и [Безопасное развёртывание](https://code.claude.com/docs/ru/agent-sdk/secure-deployment.md#traffic-forwarding) для конфигурации прокси, завершающего TLS.6117> Встроенный прокси sandbox применяет `allowedDomains` на основе запрашиваемого имени хоста. По умолчанию прокси не завершает и не проверяет трафик TLS, поэтому такие методы, как [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting), потенциально могут обойти `allowedDomains`. Смотрите [Ограничения безопасности Sandboxing](https://code.claude.com/docs/ru/sandboxing.md#security-limitations) для деталей и [Безопасное развёртывание](https://code.claude.com/docs/ru/agent-sdk/secure-deployment.md#traffic-forwarding) для конфигурации прокси, завершающего TLS.

6110 6118 

6111### `SandboxFilesystemConfig`6119### `SandboxFilesystemConfig`

6112 6120 

Details

47Callback срабатывает в двух случаях:47Callback срабатывает в двух случаях:

48 48 

491. **Инструмент требует одобрения**: Claude хочет использовать инструмент, который не одобрен автоматически [правилом разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md) или режимом разрешений. Проверьте `tool_name` на имя инструмента (например, `"Bash"`, `"Write"`).491. **Инструмент требует одобрения**: Claude хочет использовать инструмент, который не одобрен автоматически [правилом разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md) или режимом разрешений. Проверьте `tool_name` на имя инструмента (например, `"Bash"`, `"Write"`).

502. **Claude задаёт вопрос**: Claude вызывает инструмент `AskUserQuestion`. Проверьте, равен ли `tool_name == "AskUserQuestion"`, чтобы обработать его иначе. Если вы указываете массив `tools`, включите `AskUserQuestion` для работы этого функционала. Подробнее см. [Обработка уточняющих вопросов](#handle-clarifying-questions).502. **Claude задаёт вопрос**: Claude вызывает инструмент `AskUserQuestion`. Проверьте условие `tool_name == "AskUserQuestion"`, чтобы обработать этот случай отдельно. Если вы указываете массив `tools`, включите в него `AskUserQuestion`, чтобы это работало. Подробнее см. в разделе [Обработка уточняющих вопросов](#handle-clarifying-questions).

51 51 

52> [!WARNING]52> [!WARNING]

53>53>

54> **Callback никогда не срабатывает для автоматически одобренных инструментов.** Любое одобрение на более ранних этапах [потока оценки разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated), правило разрешения или режим, такой как `acceptEdits` или `bypassPermissions`, разрешает вызов до того, как будет проверен `canUseTool`. Если вы указываете инструмент в `allowed_tools`, проверка `canUseTool` для этого инструмента выполняется только когда [поток оценки](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated) перенаправляет вызов обратно в prompt, например правило ask или режим `plan`. Для логики, которая должна применяться к каждому вызову инструмента, используйте [`PreToolUse` hook](https://code.claude.com/docs/ru/agent-sdk/hooks), который выполняется перед остальной частью потока и может разрешить, отклонить или изменить запросы.54> **Более ранний этап может разрешить или отклонить вызов до запуска `canUseTool`.** [Поток оценки разрешений](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated) проверяет запрещающие правила, режим разрешений и разрешающие правила до вашего callback.

55>55>

56> Правило разрешения не предварительно одобряет [действия, которые ни один режим не одобряет автоматически](https://code.claude.com/docs/ru/permission-modes.md#actions-no-mode-auto-approves); см. [Как оцениваются разрешения](https://code.claude.com/docs/ru/agent-sdk/permissions.md#how-permissions-are-evaluated), чтобы узнать, какие из них достигают callback и что происходит в режиме `dontAsk` и `auto`.56> Чтобы выполнять свои проверки для вызовов, которые правило или режим разрешений уже разрешили, используйте [хук `PreToolUse`](https://code.claude.com/docs/ru/agent-sdk/hooks), который выполняется для таких вызовов и может разрешить, отклонить или изменить их.

57 57 

58Вы также можете использовать [`PermissionRequest` hook](https://code.claude.com/docs/ru/agent-sdk/hooks#available-hooks) для отправки внешних уведомлений (Slack, email, push) когда Claude ждёт одобрения.58Вы также можете использовать [`PermissionRequest` hook](https://code.claude.com/docs/ru/agent-sdk/hooks#available-hooks) для отправки внешних уведомлений (Slack, email, push) когда Claude ждёт одобрения.

59 59 

agent-view.md +2 −2

Details

1020 1020 

1021В macOS хост фоновых сессий работает как отдельный процесс и запрашивает доступ к защищённым папкам отдельно от вашего терминала. Если фоновая сессия сообщает `Operation not permitted` при чтении `~/Desktop`, `~/Documents`, `~/Downloads` или другого защищённого расположения, предоставьте доступ в System Settings в разделе Privacy & Security > Files and Folders или включите Full Disk Access для этой записи.1021В macOS хост фоновых сессий работает как отдельный процесс и запрашивает доступ к защищённым папкам отдельно от вашего терминала. Если фоновая сессия сообщает `Operation not permitted` при чтении `~/Desktop`, `~/Documents`, `~/Downloads` или другого защищённого расположения, предоставьте доступ в System Settings в разделе Privacy & Security > Files and Folders или включите Full Disk Access для этой записи.

1022 1022 

1023При использовании нативного установщика запись отображается как Claude Code, и разрешение сохраняется при обновлениях. При других способах установки, например Homebrew или npm, запись показывает путь к исполняемому файлу, и после обновления разрешение может потребоваться предоставить снова.1023В любом из этих списков найдите запись с именем Claude Code или запись, названную по пути или имени файла исполняемого файла `claude`. Имя этого файла может быть номером версии, например `2.1.316`. Если после обновления Claude Code ошибка `Operation not permitted` возвращается, найдите новую запись, например названную по новой версии. Если она есть, предоставьте ей доступ.

1024 1024 

1025### Фоновые сессии не могут подключиться к хостам локальной сети в macOS1025### Фоновые сессии не могут подключиться к хостам локальной сети в macOS

1026 1026 


1067| v2.1.296 | Промпт или shell-команда `!`, которые вы вводите [в момент перевода сессии в фон](#switch-sessions-without-leaving-the-terminal), останавливаются или остаются неотправленными, а их текст сохраняется в истории промптов. До этого выпуска ответ или команда продолжали выполняться там, где вы их уже не видели, а промпт, отправленный сразу после `←`, мог незаметно выполниться второй раз. Промпт, набранный, пока ещё выполнялись хуки `SessionStart`, терялся: он не отправлялся и не попадал в историю промптов. |1067| v2.1.296 | Промпт или shell-команда `!`, которые вы вводите [в момент перевода сессии в фон](#switch-sessions-without-leaving-the-terminal), останавливаются или остаются неотправленными, а их текст сохраняется в истории промптов. До этого выпуска ответ или команда продолжали выполняться там, где вы их уже не видели, а промпт, отправленный сразу после `←`, мог незаметно выполниться второй раз. Промпт, набранный, пока ещё выполнялись хуки `SessionStart`, терялся: он не отправлялся и не попадал в историю промптов. |

1068| v2.1.295 | `Ctrl+C` в простаивающем промпте [присоединённой фоновой сессии](#attach-to-a-session) не затрагивает ожидающее пробуждение [`/loop` с самостоятельным выбором интервала](https://code.claude.com/docs/ru/scheduled-tasks#let-claude-choose-the-interval), поэтому двойное нажатие отсоединяет, а цикл продолжает работать. `Esc` в этом промпте [останавливает цикл с самостоятельным выбором интервала](https://code.claude.com/docs/ru/scheduled-tasks.md#stop-a-loop) и показывает уведомление `Pending wakeup cancelled`. До этого выпуска первое нажатие `Ctrl+C` могло завершить такой цикл, никак об этом не сообщив, а `Esc` не останавливал цикл, который был переведён в фон вместе с сессией. |1068| v2.1.295 | `Ctrl+C` в простаивающем промпте [присоединённой фоновой сессии](#attach-to-a-session) не затрагивает ожидающее пробуждение [`/loop` с самостоятельным выбором интервала](https://code.claude.com/docs/ru/scheduled-tasks#let-claude-choose-the-interval), поэтому двойное нажатие отсоединяет, а цикл продолжает работать. `Esc` в этом промпте [останавливает цикл с самостоятельным выбором интервала](https://code.claude.com/docs/ru/scheduled-tasks.md#stop-a-loop) и показывает уведомление `Pending wakeup cancelled`. До этого выпуска первое нажатие `Ctrl+C` могло завершить такой цикл, никак об этом не сообщив, а `Esc` не останавливал цикл, который был переведён в фон вместе с сессией. |

1069| v2.1.295 | В macOS и Linux, когда `claude agents` завершает работу, а [супервизор](#keep-sessions-running-after-the-supervisor-stops) не запущен, он не запускает новый самостоятельно. В этом случае работающие сессии останавливаются примерно через минуту, если вы снова не запустите `claude agents`, и agent view при выходе может вывести уведомление об этом. До этого выпуска завершающийся `claude agents` запускал новый супервизор. |1069| v2.1.295 | В macOS и Linux, когда `claude agents` завершает работу, а [супервизор](#keep-sessions-running-after-the-supervisor-stops) не запущен, он не запускает новый самостоятельно. В этом случае работающие сессии останавливаются примерно через минуту, если вы снова не запустите `claude agents`, и agent view при выходе может вывести уведомление об этом. До этого выпуска завершающийся `claude agents` запускал новый супервизор. |

1070| v2.1.295 | В macOS с нативным установщиком фоновые сессии, которые перезапускаются вместе после обновления, работают под той же записью Claude Code, которой вы предоставили [доступ к защищённым папкам](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos). До этого выпуска такие сессии могли вместо этого работать под собственным путём двоичного файла. macOS показывает этот путь как отдельную запись, поэтому запросы на доступ к папкам могли снова появляться после обновления. |1070| v2.1.295 | В macOS с нативным установщиком фоновые сессии, которые перезапускаются вместе после обновления, запускают процессы своих хостов из одной и той же папки `~/.local/share/claude/ClaudeCode.app`. До этого выпуска эти процессы могли вместо этого запускаться по собственному пути двоичного файла. macOS может показывать этот путь как отдельную запись, поэтому [запросы на доступ к папкам](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos) могли снова появляться после обновления. |

1071| v2.1.290 | [`claude attach` и `claude logs`](#manage-sessions-from-the-shell) могут принимать часть имени сессии вместо ID. |1071| v2.1.290 | [`claude attach` и `claude logs`](#manage-sessions-from-the-shell) могут принимать часть имени сессии вместо ID. |

1072| v2.1.290 | `/model`, `/effort`, `/rename` и `/usage`, отправленные как [ответ из панели просмотра](#peek-and-reply) работающей сессии, выполняются сразу. |1072| v2.1.290 | `/model`, `/effort`, `/rename` и `/usage`, отправленные как [ответ из панели просмотра](#peek-and-reply) работающей сессии, выполняются сразу. |

1073| v2.1.290 | [Ответ из панели просмотра](#peek-and-reply), который не удаётся доставить, больше не сохраняется до следующего перезапуска, если он начинается с `/` или если он отвечает на вопрос с предопределёнными вариантами, пока процесс сессии работает. |1073| v2.1.290 | [Ответ из панели просмотра](#peek-and-reply), который не удаётся доставить, больше не сохраняется до следующего перезапуска, если он начинается с `/` или если он отвечает на вопрос с предопределёнными вариантами, пока процесс сессии работает. |

Details

459export ANTHROPIC_BEDROCK_SERVICE_TIER=priority459export ANTHROPIC_BEDROCK_SERVICE_TIER=priority

460```460```

461 461 

462Claude Code отправляет это как заголовок `X-Amzn-Bedrock-Service-Tier` в каждом запросе. Доступность уровня варьируется по модели и региону. Зарезервированная емкость использует [provisioned throughput](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) ARN в качестве ID модели вместо этого параметра.462Claude Code отправляет это как заголовок `X-Amzn-Bedrock-Service-Tier` в каждом запросе [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) из сессии, в которой задана эта переменная, за исключением [проверок доступа к моделям](#startup-model-checks). Эта настройка не влияет на запросы к [эндпоинту Mantle](#use-the-mantle-endpoint) или через [шлюз Claude apps](https://code.claude.com/docs/ru/claude-apps-gateway). Доступность уровня варьируется по модели и региону. Зарезервированная емкость использует [provisioned throughput](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) ARN в качестве ID модели вместо этого параметра.

463 

464Чтобы охватить [фоновые сессии](https://code.claude.com/docs/ru/agent-view.md#settings-and-provider), которые вы запускаете из терминала, задайте `ANTHROPIC_BEDROCK_SERVICE_TIER` в блоке [`env`](https://code.claude.com/docs/ru/settings-reference#env) ваших настроек. Эти сессии получают значение, которое вы экспортируете, только если оно было экспортировано в оболочке, запустившей [supervisor](https://code.claude.com/docs/ru/agent-view.md#the-supervisor-process).

463 465 

464## AWS Guardrails466## AWS Guardrails

465 467 


487 489 

488### Включите Mantle490### Включите Mantle

489 491 

490С уже настроенными учетными данными AWS установите `CLAUDE_CODE_USE_MANTLE` для маршрутизации запросов на конечную точку Mantle:492С уже настроенными учётными данными AWS установите `CLAUDE_CODE_USE_MANTLE` и ваш регион AWS:

491 493 

492```bash theme={null}494```bash theme={null}

493export CLAUDE_CODE_USE_MANTLE=1495export CLAUDE_CODE_USE_MANTLE=1


587 589 

588* Укажите модель как ID [профиля вывода](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)590* Укажите модель как ID [профиля вывода](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)

589 591 

590Claude Code использует Amazon Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) и не поддерживает Converse API.

591 

592### Ошибки потоковой передачи за шлюзом или прокси592### Ошибки потоковой передачи за шлюзом или прокси

593 593 

594Amazon Bedrock передает ответы `InvokeModelWithResponseStream` в двоичном формате event-stream с заголовком `Content-Type: application/vnd.amazon.eventstream`. Шлюз или прокси между Claude Code и Amazon Bedrock должны передавать тело ответа и его заголовки, включая `Content-Type`, так как их отправил Amazon Bedrock.594Amazon Bedrock передает ответы `InvokeModelWithResponseStream` в двоичном формате event-stream с заголовком `Content-Type: application/vnd.amazon.eventstream`. Шлюз или прокси между Claude Code и Amazon Bedrock должны передавать тело ответа и его заголовки, включая `Content-Type`, так как их отправил Amazon Bedrock.


618* Если ошибка называет действие `bedrock-mantle:`, предоставьте вашему удостоверению IAM это действие.618* Если ошибка называет действие `bedrock-mantle:`, предоставьте вашему удостоверению IAM это действие.

619* Если ошибка не называет никакого действия и ваши учетные данные действительны, вашей учетной записи AWS не был предоставлен доступ к запрошенной модели. Свяжитесь с вашей командой учетной записи AWS, чтобы запросить доступ.619* Если ошибка не называет никакого действия и ваши учетные данные действительны, вашей учетной записи AWS не был предоставлен доступ к запрошенной модели. Свяжитесь с вашей командой учетной записи AWS, чтобы запросить доступ.

620 620 

621`400`, который называет ID модели, означает, что эта модель не обслуживается на Mantle. Mantle имеет свой собственный набор моделей, отдельный от стандартного каталога Amazon Bedrock, поэтому ID профилей вывода, такие как `us.anthropic.claude-sonnet-4-6`, не будут работать. Используйте ID формата Mantle или включите [обе конечные точки](#run-mantle-alongside-the-invoke-api), чтобы Claude Code маршрутизировал каждый запрос на конечную точку, где модель доступна.621`400`, который называет ID модели, означает, что эта модель не обслуживается на Mantle. Mantle имеет свой собственный набор моделей, отдельный от стандартного каталога Amazon Bedrock, поэтому ID профилей вывода, такие как `us.anthropic.claude-sonnet-4-6`, не будут работать. Используйте ID формата Mantle или включите [оба эндпоинта](#run-mantle-alongside-the-invoke-api), чтобы Claude Code отправлял ID профилей вывода в Invoke API.

622 622 

623## Дополнительные ресурсы623## Дополнительные ресурсы

624 624 

Details

155- Integration tests need DATABASE_URL set, see .env.example155- Integration tests need DATABASE_URL set, see .env.example

156```156```

157 157 

158В сессии запустите `/context`, чтобы убедиться, что Claude загрузил файл.158В сессии запустите [`/context all`](https://code.claude.com/docs/ru/commands#all-commands), чтобы убедиться, что Claude загрузил файл.

159 159 

160Обратите внимание, что строка проверки типов — это только команда. Claude нужно знать команду, чтобы проверять свою работу по ходу дела. Если вы также хотите, чтобы Claude Code *обеспечивал* успешную проверку типов до того, как Claude закончит, это задача для [хука `Stop`](#enforce-the-check-with-a-stop-hook). Строка вроде `Always typecheck before you finish` в этом файле срабатывает в большинстве случаев, но не каждый раз.160Обратите внимание, что строка проверки типов — это только команда. Claude нужно знать команду, чтобы проверять свою работу по ходу дела. Если вы также хотите, чтобы Claude Code *обеспечивал* успешную проверку типов до того, как Claude закончит, это задача для [хука `Stop`](#enforce-the-check-with-a-stop-hook). Строка вроде `Always typecheck before you finish` в этом файле срабатывает в большинстве случаев, но не каждый раз.

161 161 


544В скрипте вам почти всегда понадобятся ещё несколько флагов:544В скрипте вам почти всегда понадобятся ещё несколько флагов:

545 545 

546* [`--bare`](https://code.claude.com/docs/ru/headless#start-faster-with-bare-mode) пропускает хуки, скиллы, плагины, MCP-серверы и файлы `CLAUDE.md` — как из репозитория, так и с машины, — поэтому запуск ведёт себя одинаково, где бы он ни выполнялся. Он также никогда не использует ваш вход в claude.ai: аутентификация берётся из `ANTHROPIC_API_KEY`, `apiKeyHelper` в файле, переданном через `--settings`, или из учётных данных вашего облачного провайдера.546* [`--bare`](https://code.claude.com/docs/ru/headless#start-faster-with-bare-mode) пропускает хуки, скиллы, плагины, MCP-серверы и файлы `CLAUDE.md` — как из репозитория, так и с машины, — поэтому запуск ведёт себя одинаково, где бы он ни выполнялся. Он также никогда не использует ваш вход в claude.ai: аутентификация берётся из `ANTHROPIC_API_KEY`, `apiKeyHelper` в файле, переданном через `--settings`, или из учётных данных вашего облачного провайдера.

547* `--append-system-prompt`, `--mcp-config` и `--settings` явно передают всё, что запуску *действительно* нужно.547* `--append-system-prompt`, `--mcp-config` и `--settings` явно передают всё, что запуску *действительно* нужно. Хуки, переданные через `--settings`, [не выполняются при `--bare`](https://code.claude.com/docs/ru/headless#start-faster-with-bare-mode), поэтому не используйте `--bare` для запуска, которому они нужны.

548* `--allowedTools` заранее разрешает его инструменты, а [`--permission-mode dontAsk`](https://code.claude.com/docs/ru/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) отклоняет всё остальное, что потребовало бы подтверждения.548* `--allowedTools` заранее разрешает его инструменты, а [`--permission-mode dontAsk`](https://code.claude.com/docs/ru/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) отклоняет всё остальное, что потребовало бы подтверждения.

549* `--output-format json` даёт единый объект результата для разбора, а `stream-json` с `--verbose` передаёт события по мере их возникновения.549* `--output-format json` даёт единый объект результата для разбора, а `stream-json` с `--verbose` передаёт события по мере их возникновения.

550 550 

Details

494 494 

495* Если STS отклоняет вызов или недоступен, шлюз не отправляет запрос с собственными учётными данными upstream. Он записывает в лог ошибку STS с указанием, что проверить, затем пробует следующий указанный вами upstream. Что получает клиент, если ни один upstream не справился, описано в разделе [Сообщения об ошибках upstream](#upstream-error-messages). Следующий upstream без `assume_role` обслужит запрос со своими учётными данными, поэтому указывайте такой upstream, только если вам нужно именно это.495* Если STS отклоняет вызов или недоступен, шлюз не отправляет запрос с собственными учётными данными upstream. Он записывает в лог ошибку STS с указанием, что проверить, затем пробует следующий указанный вами upstream. Что получает клиент, если ни один upstream не справился, описано в разделе [Сообщения об ошибках upstream](#upstream-error-messages). Следующий upstream без `assume_role` обслужит запрос со своими учётными данными, поэтому указывайте такой upstream, только если вам нужно именно это.

496* Шлюз вызывает региональный эндпоинт STS `sts.<region>.amazonaws.com`, который должен быть доступен из его сети. Для эндпоинта FIPS задайте `AWS_USE_FIPS_ENDPOINT=true` в окружении шлюза, а не `use_fips_endpoint` в файле конфигурации AWS.496* Шлюз вызывает региональный эндпоинт STS `sts.<region>.amazonaws.com`, который должен быть доступен из его сети. Для эндпоинта FIPS задайте `AWS_USE_FIPS_ENDPOINT=true` в окружении шлюза, а не `use_fips_endpoint` в файле конфигурации AWS.

497* `assume_role` применяется только к `provider: bedrock` и требует исходных учётных данных SigV4: шлюз отказывается запускаться, если он задан вместе с `aws_bearer_token`.497* `assume_role` требует исходных учётных данных SigV4: шлюз не запустится, если он задан вместе с `aws_bearer_token`.

498* Без [списка `groups`](#send-each-team-to-its-own-upstream) этот вышестоящий сервер может использовать каждый разработчик, которого допускает шлюз. Чтобы ограничить, какие модели может использовать разработчик, задайте `availableModels` в политике [`managed`](#managed).498* Без [списка `groups`](#send-each-team-to-its-own-upstream) этот вышестоящий сервер может использовать каждый разработчик, которого допускает шлюз. Чтобы ограничить, какие модели может использовать разработчик, задайте `availableModels` в политике [`managed`](#managed).

499* Чтобы модель, обслуживаемая через роль, не обслуживалась также из другого аккаунта, дайте ей пользовательский id, карта `upstream_model` которого содержит только имя этого вышестоящего сервера. Для такого id шлюз пропускает все остальные вышестоящие серверы, поэтому ни сам запрос, ни подсчёт токенов для прерванного запроса не могут переключиться на другой аккаунт.499* Чтобы модель, обслуживаемая через роль, не обслуживалась также из другого аккаунта, дайте ей пользовательский id, карта `upstream_model` которого содержит только имя этого вышестоящего сервера. Для такого id шлюз пропускает все остальные вышестоящие серверы, поэтому ни сам запрос, ни подсчёт токенов для прерванного запроса не могут переключиться на другой аккаунт.

500* Запрос встроенного имени модели всё равно может [дойти до этого вышестоящего сервера](#multiple-upstreams), и шлюз подписывает его той же ролью. Указывайте этот вышестоящий сервер последним, если его аккаунт не должен также обслуживать эти модели.500* Запрос встроенного имени модели всё равно может [дойти до этого вышестоящего сервера](#multiple-upstreams), и шлюз подписывает его той же ролью. Указывайте этот вышестоящий сервер последним, если его аккаунт не должен также обслуживать эти модели.


556| `region` | Да | Регион AWS. Шлюз выводит из него эндпоинт `https://bedrock-mantle.<region>.api.aws/anthropic`. |556| `region` | Да | Регион AWS. Шлюз выводит из него эндпоинт `https://bedrock-mantle.<region>.api.aws/anthropic`. |

557| `models` | Да | Модели, доступ к которым в Mantle предоставлен вашему аккаунту AWS, под теми именами, которые отправляют клиенты, например `claude-haiku-4-5`. В этот upstream направляются только они, а все остальные модели переходят к следующему. |557| `models` | Да | Модели, доступ к которым в Mantle предоставлен вашему аккаунту AWS, под теми именами, которые отправляют клиенты, например `claude-haiku-4-5`. В этот upstream направляются только они, а все остальные модели переходят к следующему. |

558| `auth` | Нет | Принимает те же ключи, что и блок `auth` upstream [Amazon Bedrock](#amazon-bedrock), по тем же правилам. |558| `auth` | Нет | Принимает те же ключи, что и блок `auth` upstream [Amazon Bedrock](#amazon-bedrock), по тем же правилам. |

559| `assume_role` | Нет | Роль, через которую идут запросы этого вышестоящего сервиса, с теми же ключами, что и [для вышестоящего сервиса `bedrock`](#bedrock-in-another-aws-account), включая `session_name` для [учёта по каждому разработчику](#per-developer-aws-cost-attribution). Предоставьте роли IAM-действия Mantle. Требуется шлюз с Claude Code v2.1.318 или новее. Более ранний шлюз завершает работу при запуске с ошибкой `Unrecognized key(s) in object: 'assume_role'`. |

559| `base_url` | Нет | Переопределить выведенный эндпоинт. Сохраните путь `/anthropic` в конце. |560| `base_url` | Нет | Переопределить выведенный эндпоинт. Сохраните путь `/anthropic` в конце. |

560 561 

561Предоставьте идентичности AWS этого upstream собственные IAM-действия Mantle для инференса и подсчёта токенов, перечисленные в разделе [Использование эндпоинта Mantle](https://code.claude.com/docs/ru/amazon-bedrock.md#use-the-mantle-endpoint).562Предоставьте идентичности AWS этого upstream собственные IAM-действия Mantle для инференса и подсчёта токенов, перечисленные в разделе [Использование эндпоинта Mantle](https://code.claude.com/docs/ru/amazon-bedrock.md#use-the-mantle-endpoint).


565Настройки `guardrail` и `assume_role` upstream `bedrock` не распространяются на запросы, которые обслуживает Mantle:566Настройки `guardrail` и `assume_role` upstream `bedrock` не распространяются на запросы, которые обслуживает Mantle:

566 567 

567* **`guardrail`**: шлюз не применяет [guardrail Bedrock](#apply-an-amazon-bedrock-guardrail) к запросам, которые отправляет в Mantle, поэтому отказывается запускаться, если указан upstream `mantle`, а для какого-либо upstream `bedrock` задан `guardrail`.568* **`guardrail`**: шлюз не применяет [guardrail Bedrock](#apply-an-amazon-bedrock-guardrail) к запросам, которые отправляет в Mantle, поэтому отказывается запускаться, если указан upstream `mantle`, а для какого-либо upstream `bedrock` задан `guardrail`.

568* **`assume_role`**: upstream `mantle` не принимает [`assume_role`](#bedrock-in-another-aws-account). Запросы, обслуживаемые Mantle, отправляются с собственными учётными данными `auth` upstream `mantle` и не [учитываются по разработчикам](#per-developer-aws-cost-attribution).569* **`assume_role`**: задайте его для самого вышестоящего сервиса `mantle`. Без него запросы, обслуживаемые Mantle, отправляются с собственными учётными данными `auth` вышестоящего сервиса `mantle`.

569 570 

570Что означают собственные ответы Mantle с ошибками, см. в разделе [Ошибки эндпоинта Mantle](https://code.claude.com/docs/ru/amazon-bedrock.md#mantle-endpoint-errors).571Что означают собственные ответы Mantle с ошибками, см. в разделе [Ошибки эндпоинта Mantle](https://code.claude.com/docs/ru/amazon-bedrock.md#mantle-endpoint-errors).

571 572 

Details

424| Лог: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, и разработчики видят `Cloud gateway session expired` каждые `session.ttl_hours` | IdP принял refresh token, но не вернул вместе с ним id\_token, поэтому шлюз запросил утверждения пользователя у эндпоинта userinfo IdP. IdP отклонил там обновлённый access token. Шлюз отвечает `temporarily_unavailable`, поэтому Claude Code сохраняет refresh token, но не может обновить сессию. Версии шлюза до v2.1.260 логируют ту же строку без деталей `(at …)`. | Установите [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/ru/claude-apps-gateway-config#oidc), доступно в шлюзе v2.1.260 или позже, чтобы запрос refresh снова запрашивал `openid`. Некоторые IdP, такие как Okta, возвращают id\_token при refresh только при явном запросе. На PingFederate вместо этого включите **Return ID Token On Refresh Grant** в разделе **Applications > OAuth > OpenID Connect Policy Management**. Ключ не изменяет поведение PingFederate. Для других IdP, которые всё ещё его опускают, проверьте, принимает ли эндпоинт userinfo access tokens, выданные при refresh. В качестве временного решения поднимите [`session.ttl_hours`](https://code.claude.com/docs/ru/claude-apps-gateway-config#session). См. [Identity provider setup](#identity-provider-setup) о компромиссе при deprovisioning. |424| Лог: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, и разработчики видят `Cloud gateway session expired` каждые `session.ttl_hours` | IdP принял refresh token, но не вернул вместе с ним id\_token, поэтому шлюз запросил утверждения пользователя у эндпоинта userinfo IdP. IdP отклонил там обновлённый access token. Шлюз отвечает `temporarily_unavailable`, поэтому Claude Code сохраняет refresh token, но не может обновить сессию. Версии шлюза до v2.1.260 логируют ту же строку без деталей `(at …)`. | Установите [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/ru/claude-apps-gateway-config#oidc), доступно в шлюзе v2.1.260 или позже, чтобы запрос refresh снова запрашивал `openid`. Некоторые IdP, такие как Okta, возвращают id\_token при refresh только при явном запросе. На PingFederate вместо этого включите **Return ID Token On Refresh Grant** в разделе **Applications > OAuth > OpenID Connect Policy Management**. Ключ не изменяет поведение PingFederate. Для других IdP, которые всё ещё его опускают, проверьте, принимает ли эндпоинт userinfo access tokens, выданные при refresh. В качестве временного решения поднимите [`session.ttl_hours`](https://code.claude.com/docs/ru/claude-apps-gateway-config#session). См. [Identity provider setup](#identity-provider-setup) о компромиссе при deprovisioning. |

425| Разработчик входит, после чего каждый запрос из этой сессии завершается ошибкой `431` | Токен сессии в заголовке `Authorization` каждого запроса перечисляет группы IdP разработчика, поэтому для разработчика, состоящего во многих группах, заголовки в сумме могут превысить допустимый для шлюза размер | См. [Слишком большие заголовки запросов после входа](#request-headers-too-large-after-sign-in), чтобы узнать, какой лимит применяется и что изменить |425| Разработчик входит, после чего каждый запрос из этой сессии завершается ошибкой `431` | Токен сессии в заголовке `Authorization` каждого запроса перечисляет группы IdP разработчика, поэтому для разработчика, состоящего во многих группах, заголовки в сумме могут превысить допустимый для шлюза размер | См. [Слишком большие заголовки запросов после входа](#request-headers-too-large-after-sign-in), чтобы узнать, какой лимит применяется и что изменить |

426| Каждый запрос Amazon Bedrock возвращает 502; лог показывает `Could not load credentials from any providers` | На EC2 hop limit IMDSv2 по умолчанию, равный 1, блокирует запрос метаданных экземпляра изнутри контейнера. Загрузка и `/readyz` проходят в любом случае, потому что AWS SDK получает учётные данные экземпляра при первом запросе, а не при создании клиента | Поднимите hop limit с помощью `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2` или установите его в шаблоне запуска. Изменение применяется к каждому контейнеру на экземпляре. Предпочитайте роли задач ECS, где они доступны: они читают учётные данные из эндпоинта учётных данных контейнера ECS и полностью избавляют от этого изменения. Либо применяйте изменение на выделенном экземпляре шлюза, чтобы ограничить воздействие. |426| Каждый запрос Amazon Bedrock возвращает 502; лог показывает `Could not load credentials from any providers` | На EC2 hop limit IMDSv2 по умолчанию, равный 1, блокирует запрос метаданных экземпляра изнутри контейнера. Загрузка и `/readyz` проходят в любом случае, потому что AWS SDK получает учётные данные экземпляра при первом запросе, а не при создании клиента | Поднимите hop limit с помощью `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2` или установите его в шаблоне запуска. Изменение применяется к каждому контейнеру на экземпляре. Предпочитайте роли задач ECS, где они доступны: они читают учётные данные из эндпоинта учётных данных контейнера ECS и полностью избавляют от этого изменения. Либо применяйте изменение на выделенном экземпляре шлюза, чтобы ограничить воздействие. |

427| Лог: предупреждение, содержащее `upstream <name>: Google issued an access token that expires in <N>s`, на upstream, у которого файл учётных данных Google имеет тип `external_account` | Запросы выполняются успешно, пока этот access token не истечёт, а затем завершаются сбоем, если токен, на который указывает `credential_source`, не был заранее обновлён. | Если этот токен записывает в файл какой-либо процесс, сделайте так, чтобы он записывал новый токен более чем за пять минут до истечения срока действия старого |

427| При пиковой нагрузке ответы медленно начинаются или кажутся зависшими, или не удаются с 502 `all upstreams failed`, пока upstream здоров | У реплики открыто больше запросов, чем она одновременно отправляет в upstream, поэтому дополнительные запросы ждут внутри шлюза. На upstream `provider: anthropic` запрос, который ждёт дольше, чем `timeouts.upstream_ttfb_ms`, отказывается от этого upstream, что приводит к 502, когда никакой следующий upstream его не обслуживает. Лог показывает предупреждение, которое содержит `client requests are open`. | Добавьте реплики или поднимите лимит на каждой реплике. См. [Concurrent upstream requests](#concurrent-upstream-requests). |428| При пиковой нагрузке ответы медленно начинаются или кажутся зависшими, или не удаются с 502 `all upstreams failed`, пока upstream здоров | У реплики открыто больше запросов, чем она одновременно отправляет в upstream, поэтому дополнительные запросы ждут внутри шлюза. На upstream `provider: anthropic` запрос, который ждёт дольше, чем `timeouts.upstream_ttfb_ms`, отказывается от этого upstream, что приводит к 502, когда никакой следующий upstream его не обслуживает. Лог показывает предупреждение, которое содержит `client requests are open`. | Добавьте реплики или поднимите лимит на каждой реплике. См. [Concurrent upstream requests](#concurrent-upstream-requests). |

428| На upstream, отличном от `provider: anthropic`, ход с долгой паузой на мышление завершается сбоем. Прокси перед шлюзом записывает в лог один запрос, который остаётся открытым около 12,5 минуты, затем серию ошибок `504` | Claude Code завершил поток, который доставил первое событие ответа, а затем передавал только keepalive-пинги. Он повторно отправил запрос без потоковой передачи, и каждый ответ занимает больше времени, чем таймаут прокси. | Увеличьте `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для ваших разработчиков. См. [Долгое мышление заканчивается таймаутами прокси](#long-thinking-ends-in-proxy-timeouts). |429| На upstream, отличном от `provider: anthropic`, ход с долгой паузой на мышление завершается сбоем. Прокси перед шлюзом записывает в лог один запрос, который остаётся открытым около 12,5 минуты, затем серию ошибок `504` | Claude Code завершил поток, который доставил первое событие ответа, а затем передавал только keepalive-пинги. Он повторно отправил запрос без потоковой передачи, и каждый ответ занимает больше времени, чем таймаут прокси. | Увеличьте `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для ваших разработчиков. См. [Долгое мышление заканчивается таймаутами прокси](#long-thinking-ends-in-proxy-timeouts). |

429| На `provider: anthropic` ход с долгой паузой на мышление завершается сбоем. Прокси записывает в лог один запрос, открытый около 20 минут, затем ошибки `502` или `504` | Claude Code завершил поток, который доставил первое событие ответа, а затем передавал только keepalive-пинги. Он повторно отправил запрос без потоковой передачи, и каждый ответ занимает больше времени, чем ожидание шлюзом ответа upstream, `timeouts.upstream_ttfb_ms`, или таймаут прокси. | Увеличьте `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для ваших разработчиков. См. [Долгое мышление на upstream Anthropic API](#long-thinking-on-an-anthropic-api-upstream). |430| На `provider: anthropic` ход с долгой паузой на мышление завершается сбоем. Прокси записывает в лог один запрос, открытый около 20 минут, затем ошибки `502` или `504` | Claude Code завершил поток, который доставил первое событие ответа, а затем передавал только keepalive-пинги. Он повторно отправил запрос без потоковой передачи, и каждый ответ занимает больше времени, чем ожидание шлюзом ответа upstream, `timeouts.upstream_ttfb_ms`, или таймаут прокси. | Увеличьте `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для ваших разработчиков. См. [Долгое мышление на upstream Anthropic API](#long-thinking-on-an-anthropic-api-upstream). |

Details

131| `session-env/` | Метаданные окружения для каждой сессии |131| `session-env/` | Метаданные окружения для каждой сессии |

132| `tasks/` | Списки задач, записанные инструментами задач, по одному каталогу на список |132| `tasks/` | Списки задач, записанные инструментами задач, по одному каталогу на список |

133| `shell-snapshots/` | Псевдонимы, функции и параметры оболочки, захваченные при запуске и применяемые [инструментом Bash](https://code.claude.com/docs/ru/tools-reference.md#bash-tool-behavior) к каждой команде. Удаляются при корректном завершении. Очистка удаляет всё, что осталось после сбоя. |133| `shell-snapshots/` | Псевдонимы, функции и параметры оболочки, захваченные при запуске и применяемые [инструментом Bash](https://code.claude.com/docs/ru/tools-reference.md#bash-tool-behavior) к каждой команде. Удаляются при корректном завершении. Очистка удаляет всё, что осталось после сбоя. |

134| `backups/` | Предыдущие версии `~/.claude.json`, копируемые, когда Claude Code перезаписывает файл. Claude Code хранит пять самых новых, а также копию любой версии, которую не удалось разобрать. |134| `backups/` | Предыдущие версии `~/.claude.json`, копируемые, когда Claude Code перезаписывает файл. Claude Code хранит пять самых новых, а также копию любой версии, которую не удалось разобрать. По истечении порога возраста удаляется и последняя копия, содержащая вашу конфигурацию. Если текущий файл успешно разбирается, содержит вашу конфигурацию и занимает менее 8 MiB, у вас остаётся его новая копия. |

135| `feedback-bundles/` | Архивы транскриптов с удалёнными конфиденциальными данными, записанные `/feedback` у сторонних провайдеров или когда учётные данные Anthropic не настроены, для отправки вашей команде по работе с клиентами Anthropic |135| `feedback-bundles/` | Архивы транскриптов с удалёнными конфиденциальными данными, записанные `/feedback` у сторонних провайдеров или когда учётные данные Anthropic не настроены, для отправки вашей команде по работе с клиентами Anthropic |

136| `feedback/drafts/` | Поставленные в очередь [отзывы, составленные Claude](https://code.claude.com/docs/ru/tools-reference.md#sendfeedback-tool-behavior), ожидающие вашей проверки в `/feedback`. Удаляются по истечении `cleanupPeriodDays` или 30 дней, в зависимости от того, что короче. Когда очередь достигает лимита в 10 черновиков, Claude Code удаляет самый старый черновик, чтобы освободить место. |136| `feedback/drafts/` | Поставленные в очередь [отзывы, составленные Claude](https://code.claude.com/docs/ru/tools-reference.md#sendfeedback-tool-behavior), ожидающие вашей проверки в `/feedback`. Удаляются по истечении `cleanupPeriodDays` или 30 дней, в зависимости от того, что короче. Когда очередь достигает лимита в 10 черновиков, Claude Code удаляет самый старый черновик, чтобы освободить место. |

137| `usage-data/` | `report.html` и копии отчётов с отметкой времени, записанные [`/insights`](https://code.claude.com/docs/ru/costs#analyze-your-usage-patterns), а также кэшированные данные анализа по каждой сессии, используемые для их построения |137| `usage-data/` | `report.html` и копии отчётов с отметкой времени, записанные [`/insights`](https://code.claude.com/docs/ru/costs#analyze-your-usage-patterns), а также кэшированные данные анализа по каждой сессии, используемые для их построения |


288| `~/.claude/tasks/` | Ваши [списки задач](https://code.claude.com/docs/ru/interactive-mode.md#task-list), включая те, что ещё используются |288| `~/.claude/tasks/` | Ваши [списки задач](https://code.claude.com/docs/ru/interactive-mode.md#task-list), включая те, что ещё используются |

289| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Возможность восстановить [синхронизированные скиллы](https://code.claude.com/docs/ru/skills.md#how-synced-skills-behave) и [синхронизированные плагины](https://code.claude.com/docs/ru/plugins/loading.md#synced-plugins), удалённые Claude Code |289| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Возможность восстановить [синхронизированные скиллы](https://code.claude.com/docs/ru/skills.md#how-synced-skills-behave) и [синхронизированные плагины](https://code.claude.com/docs/ru/plugins/loading.md#synced-plugins), удалённые Claude Code |

290| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Копии записей об установке плагинов, которые Claude Code отбросил или не смог прочитать. Ничто их обратно не считывает |290| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Копии записей об установке плагинов, которые Claude Code отбросил или не смог прочитать. Ничто их обратно не считывает |

291| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Ничего значимого для пользователя |291| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/` | Ничего значимого для пользователя |

292| `~/.claude/backups/` | Предыдущие копии, из которых можно [восстановить `~/.claude.json`](https://code.claude.com/docs/ru/errors#configuration-error-in-claude-json) |

292| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Ничего. Устаревшие каталоги, которые текущие версии не записывают. |293| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Ничего. Устаревшие каталоги, которые текущие версии не записывают. |

293 294 

294Не удаляйте `~/.claude.json`, `~/.claude/settings.json` или `~/.claude/plugins/`: в них хранятся данные вашей учётной записи, ваши настройки и установленные плагины.295Не удаляйте `~/.claude.json`, `~/.claude/settings.json` или `~/.claude/plugins/`: в них хранятся данные вашей учётной записи, ваши настройки и установленные плагины.

Details

480* **"Unable to access your repository"**, сообщено потоком, когда его клон не работает: GitHub отклонил клон, репозиторий не был найден под названием, которое имеет проект, или ветка, с которой потоку было предложено начать, не существует.480* **"Unable to access your repository"**, сообщено потоком, когда его клон не работает: GitHub отклонил клон, репозиторий не был найден под названием, которое имеет проект, или ветка, с которой потоку было предложено начать, не существует.

481* **"Claude can't access"** репозиторий, показано, когда вы сохраняете репозитории в диалоге **New project** или **Project settings**. Сообщение продолжается со ссылкой на установку и ссылкой на переподключение. Используйте ссылку на установку, если Claude GitHub App не установлено на этом репозитории, и ссылку на переподключение, если оно уже установлено, так как GitHub App может быть установлено на GitHub без связи с аккаунтом, который вы подключили к Claude. Если сообщение говорит, что GitHub App приостановлено или не включает этот репозиторий, следуйте его ссылке на GitHub, чтобы это исправить.481* **"Claude can't access"** репозиторий, показано, когда вы сохраняете репозитории в диалоге **New project** или **Project settings**. Сообщение продолжается со ссылкой на установку и ссылкой на переподключение. Используйте ссылку на установку, если Claude GitHub App не установлено на этом репозитории, и ссылку на переподключение, если оно уже установлено, так как GitHub App может быть установлено на GitHub без связи с аккаунтом, который вы подключили к Claude. Если сообщение говорит, что GitHub App приостановлено или не включает этот репозиторий, следуйте его ссылке на GitHub, чтобы это исправить.

482 482 

483Чтобы исправить любой из них, нажмите кнопку, которую предлагает сообщение, например **Install GitHub App** или **Select repositories on GitHub**, затем **Check again**. Когда блок находится на стороне организации GitHub, например владелец, который не одобрил приложение или IP allow list, который исключает Claude, сообщение показывает ссылку **See how to fix** вместо этого. Если нет кнопки, следуйте [Настройка доступа GitHub](#set-up-github-access), затем отправьте другое сообщение для повтора.483Чтобы исправить доступ GitHub при сообщениях "Couldn't start the session" или "Unable to access your repository", нажмите кнопку, которую предлагает сообщение, например **Install on GitHub** или **Select repositories**. Если кнопки нет, следуйте инструкциям в разделе [Настройка доступа GitHub](#set-up-github-access). После исправления попросите Claude в диалоге проекта запустить новый поток для той же работы.

484 484 

485### Поток достиг лимита использования485### Поток достиг лимита использования

486 486 


505 505 

506| Сообщение | Что делать |506| Сообщение | Что делать |

507| :- | :- |507| :- | :- |

508| "Unable to connect to repository" с "Claude couldn't reach GitHub to fetch your repository" | Подождите момент, затем отправьте другое сообщение для повтора |508| "Unable to connect to repository" с "Claude couldn't reach GitHub to fetch your repository" | Подождите немного, затем попросите Claude в диалоге проекта запустить новый поток для той же работы |

509| "Unable to connect to repository" с "Claude couldn't access your repository or environment" | Ваш аккаунт GitHub требует доступ на push к репозиторию, и среда должна все еще существовать. Проверьте оба в **Project settings > Environment**, затем повторите |509| "Unable to connect to repository" с "Claude couldn't access your repository or environment" | Ваш аккаунт GitHub требует доступ на push к репозиторию, и среда должна все еще существовать. Проверьте оба в **Project settings > Environment**, затем повторите |

510| "Couldn't show the setup proposal" | Приложение, которое у вас открыто, старше, чем **Setup recommendations**, которые Claude отправил. Обновите страницу или перезагрузите настольное приложение, или попросите Claude предложить настройку снова |510| "Couldn't show the setup proposal" | Приложение, которое у вас открыто, старше, чем **Setup recommendations**, которые Claude отправил. Обновите страницу или перезагрузите настольное приложение, или попросите Claude предложить настройку снова |

511| "The project's environment was removed" | Выберите другую среду в **Project settings > Environment**; изменение применяется к новым потокам |511| "The project's environment was removed" | Выберите другую среду в **Project settings > Environment**; изменение применяется к новым потокам |

Details

12 12 

13## Посмотрите, что загрузилось в контекст13## Посмотрите, что загрузилось в контекст

14 14 

15Команда `/context` показывает всё, что занимает контекстное окно для текущей сессии, разбитое по категориям: системный prompt, системные tools, MCP tools, пользовательские subagents с указанием источника, из которого каждый загружен, файлы памяти, skills и сообщения беседы. Запустите её в первую очередь, чтобы подтвердить, присутствуют ли ваши `CLAUDE.md`, правила или описания skills вообще. Раздел skills в `/context` также включает [bundled skills](https://code.claude.com/docs/ru/skills.md#bundled-skills), которые `/skills` не перечисляет.15Команда `/context` показывает всё, что занимает контекстное окно в текущей сессии, разбитое по категориям: системный промпт, системные инструменты, инструменты MCP, пользовательские субагенты с указанием источника, из которого загружен каждый, файлы памяти, скиллы и сообщения диалога. Запустите её в первую очередь, чтобы убедиться, присутствуют ли вообще ваши `CLAUDE.md`, правила или описания скиллов. Раздел скиллов в `/context` также включает [встроенные скиллы](https://code.claude.com/docs/ru/skills.md#bundled-skills), которые `/skills` не перечисляет.

16 

17В [полноэкранном режиме](https://code.claude.com/docs/ru/fullscreen.md) `/context` сворачивает поэлементную разбивку, поэтому выполните `/context all`, чтобы развернуть её.

16 18 

17Для деталей по конкретной категории используйте специализированную команду:19Для деталей по конкретной категории используйте специализированную команду:

18 20 

desktop.md +71 −14

Details

84 84 

85Режимы разрешений контролируют, насколько автономно Claude действует во время сессии: спрашивает ли он перед редактированием файлов, выполнением команд или обоим. Вы можете переключать режимы разрешений в любой момент, используя селектор режима в строке под полем промпта. Чтобы подтверждать каждое изменение самостоятельно, переключитесь на Manual.85Режимы разрешений контролируют, насколько автономно Claude действует во время сессии: спрашивает ли он перед редактированием файлов, выполнением команд или обоим. Вы можете переключать режимы разрешений в любой момент, используя селектор режима в строке под полем промпта. Чтобы подтверждать каждое изменение самостоятельно, переключитесь на Manual.

86 86 

87Чтобы установить режим по умолчанию для новых локальных сессий, добавьте `permissions.defaultMode` в ваш [файл настроек](https://code.claude.com/docs/ru/settings.md#where-settings-live). Приложение для рабочего стола читает те же файлы настроек, что и CLI. Режим, который вы выбираете в селекторе, запоминается для каждой папки и имеет приоритет над `defaultMode` для этой папки, за исключением Plan, который применяется только к текущей сессии.87Чтобы установить режим разрешений по умолчанию для новых локальных сессий, добавьте `permissions.defaultMode` в ваш [файл настроек](https://code.claude.com/docs/ru/settings.md#where-settings-live). Режим, который вы выбираете в локальной сессии, запоминается для каждой папки и имеет приоритет над `defaultMode` в настройках `.claude/` проекта. Новая локальная сессия всё равно может запуститься в режиме `defaultMode` из `~/.claude/settings.json` или управляемых настроек, поэтому проверьте селектор перед отправкой первого сообщения. Если вы выберете Plan, он применяется только к этой сессии.

88 88 

89| Режим | Ключ настроек | Поведение |89| Режим | Ключ настроек | Поведение |

90| - | - | - |90| - | - | - |


1289 1289 

1290> [!WARNING]1290> [!WARNING]

1291>1291>

1292> Если вы входите в Desktop с учётной записью Claude, не рассчитывайте, что задача будет выполняться всю ночь. Desktop продлевает вход для задачи только пока Desktop запущен и подключён, поэтому срок действия входа задачи может истечь после отключения, и тогда задача остановится. Сколько времени остаётся на момент отключения, бывает по-разному, и это может быть всего несколько минут.1292> Если вы входите в Desktop с аккаунтом Claude, не рассчитывайте, что задача будет выполняться всю ночь. Desktop продлевает вход задачи, только пока Desktop запущен, подключён и в него выполнен вход, поэтому после отключения срок входа задачи может истечь, и тогда задача останавливается. Сколько времени остаётся на момент отключения, бывает по-разному, и это может быть всего несколько минут.

1293>1293>

1294> Проделанная работа остаётся на удалённой машине, и, вернувшись, вы можете продолжить, отправив сообщение.1294> Проделанная работа остаётся на удалённой машине, и, вернувшись, вы можете продолжить, отправив сообщение.

1295>1295>

1296> Если задача должна выполняться всю ночь:1296> Если задача должна выполняться всю ночь:

1297>1297>

1298> * [Не давайте компьютеру засыпать](https://code.claude.com/docs/ru/desktop-scheduled-tasks.md#how-scheduled-tasks-run) и держите его в сети, с открытой крышкой и запущенным Desktop1298> * [Не давайте компьютеру засыпать](https://code.claude.com/docs/ru/desktop-scheduled-tasks.md#how-scheduled-tasks-run) и держите его в сети, с открытой крышкой и запущенным Desktop, в который выполнен вход

1299> * Используйте вход, который работает без запроса, например ключ, хранящийся в вашем SSH-агенте, для удалённой машины и для любого jump-хоста на пути к ней. Тогда Desktop сможет самостоятельно переподключиться после обрыва.1299> * Используйте вход, который работает без запроса, например ключ, хранящийся в вашем SSH-агенте, для удалённой машины и для любого jump-хоста на пути к ней. Тогда Desktop сможет самостоятельно переподключиться после обрыва.

1300>1300>

1301> Для задачи, которая должна выполняться, пока ваш компьютер спит или выключен, запустите вместо этого [облачную сессию](#run-long-running-tasks-in-the-cloud).1301> Для задачи, которая должна выполняться, пока ваш компьютер спит или выключен, запустите вместо этого [облачную сессию](#run-long-running-tasks-in-the-cloud).


1303* **После спящего режима или потери сети**: вы вернёте выполняющуюся задачу, если процесс [всё ещё работает](#limits-while-desktop-is-disconnected) и Desktop может войти без запроса. Если не может, [отправьте сообщение](#reconnect-after-sleep-or-a-network-loss).1303* **После спящего режима или потери сети**: вы вернёте выполняющуюся задачу, если процесс [всё ещё работает](#limits-while-desktop-is-disconnected) и Desktop может войти без запроса. Если не может, [отправьте сообщение](#reconnect-after-sleep-or-a-network-loss).

1304* **После закрытия**: задача продолжает выполняться, но вы теряете её при повторном открытии сессии, если Desktop не может снова присоединиться к её процессу. Перед закрытием проверьте, [когда Desktop может снова присоединиться](#reopen-a-session-after-you-quit-desktop). Если вы потеряли задачу, отправьте сообщение, чтобы продолжить.1304* **После закрытия**: задача продолжает выполняться, но вы теряете её при повторном открытии сессии, если Desktop не может снова присоединиться к её процессу. Перед закрытием проверьте, [когда Desktop может снова присоединиться](#reopen-a-session-after-you-quit-desktop). Если вы потеряли задачу, отправьте сообщение, чтобы продолжить.

1305 1305 

1306Когда вы вернётесь, а задача не выполнена, проверьте, нет ли сообщения о том, что Desktop не может переподключиться, ошибки аутентификации или ожидающего запроса:1306Когда вы возвращаетесь и задача не выполнена, проверьте, нет ли страницы входа Desktop, сообщения о том, что Desktop не может переподключиться, ошибки аутентификации или ожидающего запроса:

1307 1307 

1308* **Страница входа**: войдите. Если задача остановилась, отправьте сообщение, чтобы продолжить. В тарифе Enterprise ваша организация может [завершать ваш вход через заданное число дней после входа](https://support.claude.com/en/articles/13163631-configuring-session-security-settings), независимо от вашей активности. С аккаунтом Claude Desktop не продлевает вход задачи, пока вы не вошли, поэтому задача может остановиться.

1308* **Desktop не может переподключиться**: сессия сообщает причину, и об этом также может сообщить уведомление. Возможно, Desktop [нужно, чтобы вы вошли](#reconnect-after-sleep-or-a-network-loss).1309* **Desktop не может переподключиться**: сессия сообщает причину, и об этом также может сообщить уведомление. Возможно, Desktop [нужно, чтобы вы вошли](#reconnect-after-sleep-or-a-network-loss).

1309* **Ошибка аутентификации**: возможно, истёк срок действия [токена входа или учётных данных](#limits-while-desktop-is-disconnected). С учётной записью Claude отправьте сообщение, чтобы продолжить. Со сторонним провайдером см. [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).1310* **Ошибка аутентификации**: возможно, истёк срок действия [токена входа или учётных данных](#limits-while-desktop-is-disconnected). С учётной записью Claude отправьте сообщение, чтобы продолжить. Со сторонним провайдером см. [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

1310* **Ожидающий запрос**: [ответьте на него](#handle-requests-that-arrive-while-you-are-away)1311* **Ожидающий запрос**: [ответьте на него](#handle-requests-that-arrive-while-you-are-away)


1602 1603 

1603> [!NOTE]1604> [!NOTE]

1604>1605>

1605> Для подключений с помощью команды требуется Claude Desktop v3.6556.0 или новее на macOS или Linux со входом через аккаунт Claude. Администраторы могут [распространять команды в команде](#distribute-commands-to-your-team).1606> Для подключений через команду требуется Claude Desktop v3.6556.0 или новее на macOS или Linux либо v4.16336.0 или новее на Windows, с входом через аккаунт Claude. На Windows Desktop также должен [подключаться через клиент OpenSSH](#use-your-ssh-configuration). Администраторы могут [распространять команды среди участников команды](#distribute-commands-to-your-team).

1606 1607 

1607Desktop выполняет команду только при создании подключения или при [создании другой машины](#create-another-machine), а не при каждом подключении. Каждая запись — это одно подключение, которое указывает на хост, последний раз сохранённый Desktop из команды этой записи.1608Desktop выполняет команду только при создании подключения или при [создании другой машины](#create-another-machine), а не при каждом подключении. Каждая запись — это одно подключение, которое указывает на хост, последний раз сохранённый Desktop из команды этой записи.

1608 1609 


1632}1633}

1633```1634```

1634 1635 

1636На Windows простое имя, например `acme-dev`, не работает, поэтому [начинайте команду с полного пути к программе](#write-the-command-on-windows).

1637 

1635Каждая запись принимает следующие поля; `id`, `name` и `command` обязательны:1638Каждая запись принимает следующие поля; `id`, `name` и `command` обязательны:

1636 1639 

1637| Поле | Значение |1640| Поле | Значение |


1646 1649 

1647##### Написание команды1650##### Написание команды

1648 1651 

1649Desktop запускает программу напрямую, без оболочки и без терминала:1652На Windows начните с раздела [Написание команды на Windows](#write-the-command-on-windows), где сказано, какие из этих правил там применяются.

1653 

1654На macOS и Linux Desktop запускает программу напрямую, без оболочки и без терминала:

1650 1655 

1651* **Программа**: укажите её имя или полный путь от `/` без пробелов. Голое имя Desktop ищет в `PATH`, который экспортирует ваша оболочка входа. Относительные пути, такие как `./acme-dev`, пути, начинающиеся с `~`, а также псевдонимы и функции оболочки не работают.1656* **Программа**: укажите её имя или полный путь от `/`. Простое имя Desktop ищет в `PATH`, который экспортирует ваша оболочка входа. Относительные пути, например `./acme-dev`, пути, начинающиеся с `~`, а также псевдонимы и функции оболочки не работают.

1652* **Аргументы**: разделяйте обычные аргументы пробелами. Команда может содержать только пробелы, ASCII-буквы, цифры и символы `+,-./:=@_~`, и ни одно слово не может начинаться с `~`.1657* **Пробелы в пути**: заключите полный путь к программе в одинарные кавычки, например `'/Users/you/My Tools/make-devbox' create`. Для кавычек, одинарных или двойных, требуется Claude Desktop v4.16336.0 или новее, и они работают только вокруг пути к программе.

1653* **Скрипты**: если команде нужно что-то ещё, например кавычки, конвейеры, переменные или URL с `?` или `&`, поместите это в скрипт. Сделайте скрипт исполняемым, начните его со строки `#!` и задайте в `command` его полный путь, например `/Users/you/bin/make-devbox`. На macOS не храните скрипт в папках Documents, Desktop и Downloads, где macOS может его заблокировать.1658* **Аргументы**: разделяйте аргументы пробелами. Вне кавычек команда может содержать только пробелы, ASCII-буквы, цифры и символы `+,-./:=@_~`, и ни одно слово не может начинаться с `~`. Путь в кавычках может также содержать некоторые другие символы, например `(`, `)` и `&`.

1659* **Скрипты**: если команде нужно что-то ещё, например аргументы в кавычках, конвейеры, переменные или URL с `?` или `&`, поместите это в скрипт. Сделайте скрипт исполняемым, начните его со строки `#!` и укажите в `command` его полный путь, например `/Users/you/bin/make-devbox`. На macOS не храните скрипт в папках Documents, Desktop и Downloads, где macOS может его заблокировать.

1654* **Ввод**: программа не получает ни ввода, ни терминала, поэтому не может ничего у вас запросить. Если ваш инструмент выполняет вход через браузер или запрос, сначала войдите из терминала и повторяйте это всякий раз, когда вход истекает.1660* **Ввод**: программа не получает ни ввода, ни терминала, поэтому не может ничего у вас запросить. Если ваш инструмент выполняет вход через браузер или запрос, сначала войдите из терминала и повторяйте это всякий раз, когда вход истекает.

1655* **Окружение**: программа выполняется в вашем домашнем каталоге с переменными, которые экспортирует ваша оболочка входа. Desktop считывает их при запуске, как и для [`ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand), поэтому после их изменения закройте и снова откройте Desktop.1661* **Окружение**: программа выполняется в вашем домашнем каталоге с переменными, которые экспортирует ваша оболочка входа. Desktop считывает их при запуске, как и для [`ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand), поэтому после их изменения закройте и снова откройте Desktop.

1656* **Лимит времени**: Desktop останавливает программу, которая всё ещё выполняется через 10 минут. Сообщение о ходе выполнения в Desktop не показывает вывод программы. Чтобы остановить программу раньше, выберите **Cancel** рядом с этим сообщением.1662* **Лимит времени**: Desktop останавливает программу, которая всё ещё выполняется через 10 минут. Сообщение о ходе выполнения в Desktop не показывает вывод программы. Чтобы остановить программу раньше, выберите **Cancel** рядом с этим сообщением.


1680 1686 

1681Если команда завершается с ошибкой, **View details** в сообщении Desktop показывает последнюю строку, которую команда записала в стандартный поток ошибок, если она есть.1687Если команда завершается с ошибкой, **View details** в сообщении Desktop показывает последнюю строку, которую команда записала в стандартный поток ошибок, если она есть.

1682 1688 

1689##### Написание команды на Windows

1690 

1691На Windows начинайте `command` с полного пути к файлу `.exe`, `.cmd` или `.bat`, начиная с буквы диска. Desktop не ищет простое имя в вашем `PATH`, поэтому запись, у которой `command` равно `acme-dev create`, [отображается серым](#if-a-command-is-missing-or-gray).

1692 

1693Следующая запись в `%USERPROFILE%\.claude\settings.json` запускает `C:\Program Files\Acme\acme-dev.exe` с аргументом `create`. В JSON пишите каждую обратную косую черту дважды или используйте вместо неё `/`. Одинарные кавычки нужны, потому что в пути есть пробел:

1694 

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

1696{

1697 "sshHostCommands": [

1698 {

1699 "id": "devbox",

1700 "name": "Dev box",

1701 "command": "'C:\\Program Files\\Acme\\acme-dev.exe' create"

1702 }

1703 ]

1704}

1705```

1706 

1707Следуйте правилам из раздела [Написание команды](#write-the-command) о пробелах в пути, вводе, ограничении времени и о том, что выводит программа. Вместо остальных его правил следуйте этим:

1708 

1709* **Программа**: не используйте сетевой путь, например `\\server\share`, переменную, например `%USERPROFILE%`, или буквы вне ASCII. Если в пути есть что-либо из этого, запись отображается серым. Если имя вашей папки пользователя содержит такую букву, храните программу вне этой папки.

1710* **Аргументы**: следуйте правилу «Аргументы» из раздела «Написание команды». Команда также может содержать `\`, но ни одно слово не может им заканчиваться.

1711* **Скрипты**: используйте файл `.cmd` или `.bat`, который Desktop запускает через `cmd.exe`. Даже в кавычках путь к файлу не может содержать `&`, `^` или `;`. В файле, который вы пишете, считывайте аргументы с помощью `%*`, поскольку `%1`–`%9` разбивают аргумент по `,` и `=`.

1712* **Окружение**: программа получает переменные окружения приложения Desktop, а не профиля оболочки. После изменения переменной закройте и снова откройте Desktop.

1713* **Проверка**: чтобы увидеть вывод, который считывает Desktop, выполните команду в Command Prompt. Заключите путь с пробелом в двойные кавычки и используйте `NUL` вместо ввода, как в `"C:\Program Files\Acme\acme-dev.exe" create < NUL > host.txt`. Файл должен содержать только хост. Проверка тоже создаёт машину, поэтому после неё удалите машину с помощью своего инструмента.

1714 

1715##### Обёртка для инструмента Windows, который выводит другие строки

1716 

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

1718 

1719```batch make-devbox.cmd theme={null}

1720@echo off

1721setlocal

1722set "host="

1723set "out=%TEMP%\acme-dev-%RANDOM%.txt"

1724call "C:\Program Files\Acme\acme-dev.exe" create > "%out%"

1725set "code=%ERRORLEVEL%"

1726for /f "usebackq delims=" %%L in ("%out%") do set "host=%%L"

1727del "%out%"

1728if not "%code%"=="0" exit /b %code%

1729setlocal EnableDelayedExpansion

1730echo(!host!

1731```

1732 

1733Укажите в `command` полный путь к файлу, например `C:\\tools\\make-devbox.cmd` в JSON. Оставьте две последние строки файла без изменений, поскольку они выводят хост, не выполняя его как команду.

1734 

1683##### Подключение к новому хосту1735##### Подключение к новому хосту

1684 1736 

1685При первом подключении к каждому новому хосту ответьте на два вопроса:1737При первом подключении к каждому новому хосту ответьте на два вопроса:

1686 1738 

1687* **Ключ хоста**: при проверке ключей хоста OpenSSH по умолчанию проверьте отпечаток ключа, затем выберите, подключаться ли. Чтобы пропустить этот вопрос, пусть ваша команда добавляет ключ в `~/.ssh/known_hosts` перед выводом хоста, используя ключ, который ваш инструмент получил при создании машины. Для порта, отличного от 22, эта строка начинается с `[host]:port`. Если ваш инструмент повторно использует имена хостов, удалите также строку со старым ключом.1739* **Ключ хоста**: при стандартной проверке ключей хостов в OpenSSH проверьте отпечаток ключа, затем решите, подключаться ли. Чтобы пропустить этот вопрос, сделайте так, чтобы ваша команда добавляла ключ в `~/.ssh/known_hosts` (или в `%USERPROFILE%\.ssh\known_hosts` на Windows), прежде чем выводить хост:

1740 * Используйте ключ, который ваш инструмент получил при создании машины

1741 * Для порта, отличного от 22, начинайте строку с `[host]:port`

1742 * Если ваш инструмент повторно использует имена хостов, также удаляйте строку старого ключа

1688* **Папка**: выберите, доверяете ли вы папке, которую там открываете1743* **Папка**: выберите, доверяете ли вы папке, которую там открываете

1689 1744 

1690Не отключайте проверку ключей для этих хостов и храните для них файл `known_hosts`. Если `StrictHostKeyChecking` имеет значение `no` или `accept-new`, а `UserKnownHostsFile` при этом — `/dev/null` или `none`, ключ нигде не записывается. Тогда, если ваш инструмент повторно использует имя, вы можете подключиться к другой машине без предупреждения.1745Не отключайте проверку ключей для этих хостов и храните для них файл `known_hosts`. Если `StrictHostKeyChecking` имеет значение `no` или `accept-new`, а `UserKnownHostsFile` при этом — `/dev/null` или `none`, ключ нигде не записывается. Тогда, если ваш инструмент повторно использует имя, вы можете подключиться к другой машине без предупреждения.


1746 1801 

1747* **Куда поместить ключ**: если ваша политика MDM для Claude Code уже задаёт [ключ политики](https://code.claude.com/docs/ru/managed-settings.md#how-claude-code-combines-managed-sources), поместите его туда. В противном случае поместите его в файл управляемых настроек. По умолчанию такая политика имеет приоритет над файлом, и тогда Desktop игнорирует записи в файле. Задавайте его на компьютере даже там, где действуют [серверные управляемые настройки](https://code.claude.com/docs/ru/server-managed-settings.md): Desktop игнорирует этот ключ в них, а также в проектных и локальных настройках.1802* **Куда поместить ключ**: если ваша политика MDM для Claude Code уже задаёт [ключ политики](https://code.claude.com/docs/ru/managed-settings.md#how-claude-code-combines-managed-sources), поместите его туда. В противном случае поместите его в файл управляемых настроек. По умолчанию такая политика имеет приоритет над файлом, и тогда Desktop игнорирует записи в файле. Задавайте его на компьютере даже там, где действуют [серверные управляемые настройки](https://code.claude.com/docs/ru/server-managed-settings.md): Desktop игнорирует этот ключ в них, а также в проектных и локальных настройках.

1748* **`id`**: если у записи `sshHostCommands` пользователя ваш `id`, работает только ваша. Если он есть у любого другого SSH-подключения, например в `sshConfigs` пользователя, ваша запись неактивна. Выберите `id`, который пользователи вряд ли выберут.1803* **`id`**: если у записи `sshHostCommands` пользователя ваш `id`, работает только ваша. Если он есть у любого другого SSH-подключения, например в `sshConfigs` пользователя, ваша запись неактивна. Выберите `id`, который пользователи вряд ли выберут.

1749* **Программа**: укажите её полный путь, потому что голое имя Desktop ищет в собственном `PATH` каждого пользователя. Программа выполняется от имени пользователя с переменными, которые экспортирует его оболочка входа.1804* **Программа**: укажите её полный путь, потому что на macOS и Linux Desktop ищет простое имя в `PATH` каждого пользователя, а на Windows запись с простым именем отображается серым. Программа запускается от имени пользователя, с [переменными этого пользователя](#write-the-command).

1805* **Каждая платформа**: разверните одну запись на компьютеры с Windows и другую — на компьютеры с macOS и Linux. Запись с [путём Windows](#write-the-command-on-windows) отображается серым на macOS и Linux, а запись с путём macOS или Linux — на Windows.

1750* **Собственные записи пользователей**: Desktop обрабатывает запись пользователя как [хук](https://code.claude.com/docs/ru/hooks.md), потому что в обоих случаях на компьютере запускается программа. Чтобы разрешить только ваши записи, задайте для [`strictPluginOnlyCustomization`](https://code.claude.com/docs/ru/settings-reference#strictpluginonlycustomization) значение `["hooks"]` или добавьте `"hooks"` в его список. Это также отключает хуки Claude Code из пользовательских, проектных и локальных настроек без возможности их сохранить. Если вместо этого задать для этого ключа или для [`allowManagedHooksOnly`](https://code.claude.com/docs/ru/settings-reference#allowmanagedhooksonly) значение `true`, блокируется больше, как указано в описании каждого ключа.1806* **Собственные записи пользователей**: Desktop обрабатывает запись пользователя как [хук](https://code.claude.com/docs/ru/hooks.md), потому что в обоих случаях на компьютере запускается программа. Чтобы разрешить только ваши записи, задайте для [`strictPluginOnlyCustomization`](https://code.claude.com/docs/ru/settings-reference#strictpluginonlycustomization) значение `["hooks"]` или добавьте `"hooks"` в его список. Это также отключает хуки Claude Code из пользовательских, проектных и локальных настроек без возможности их сохранить. Если вместо этого задать для этого ключа или для [`allowManagedHooksOnly`](https://code.claude.com/docs/ru/settings-reference#allowmanagedhooksonly) значение `true`, блокируется больше, как указано в описании каждого ключа.

1751* **Все записи**: чтобы отключить и ваши записи, задайте [`disableAllHooks`](https://code.claude.com/docs/ru/settings-reference#disableallhooks) в управляемых настройках. Если вы задаёте [`disableDesktopLocalSessions`](https://code.claude.com/docs/ru/settings-reference#disabledesktoplocalsessions) или `sshHostAllowlist`, который не разрешает ни одного хоста, селектор не показывает пунктов **Create** или **Create another**.1807* **Все записи**: чтобы отключить и ваши записи, задайте [`disableAllHooks`](https://code.claude.com/docs/ru/settings-reference#disableallhooks) в управляемых настройках. Если вы задаёте [`disableDesktopLocalSessions`](https://code.claude.com/docs/ru/settings-reference#disabledesktoplocalsessions) или `sshHostAllowlist`, который не разрешает ни одного хоста, селектор не показывает пунктов **Create** или **Create another**.

1752* **Где учитываются блокировки**: для этих записей Desktop считывает `allowManagedHooksOnly`, `strictPluginOnlyCustomization` и `disableAllHooks` из серверных управляемых настроек и из собственного файла или политики компьютера и применяет более строгий результат. Все записи остаются неактивными, пока Desktop не проверит claude.ai на наличие серверных управляемых настроек, даже если у вашей организации их нет.1808* **Где учитываются блокировки**: для этих записей Desktop считывает `allowManagedHooksOnly`, `strictPluginOnlyCustomization` и `disableAllHooks` из серверных управляемых настроек и из собственного файла или политики компьютера и применяет более строгий результат. Все записи остаются неактивными, пока Desktop не проверит claude.ai на наличие серверных управляемых настроек, даже если у вашей организации их нет.


1759Селектор окружения не показывает пункт **Create** или **Create another** в следующих случаях:1815Селектор окружения не показывает пункт **Create** или **Create another** в следующих случаях:

1760 1816 

1761* **Файл**: `~/.claude/settings.json` содержит [недопустимый JSON или значение, которое отклоняет схема](https://code.claude.com/docs/ru/settings.md#fix-a-broken-settings-file), вы допустили опечатку в ключе или поместили его в настройки проекта. Исправьте файл.1817* **Файл**: `~/.claude/settings.json` содержит [недопустимый JSON или значение, которое отклоняет схема](https://code.claude.com/docs/ru/settings.md#fix-a-broken-settings-file), вы допустили опечатку в ключе или поместили его в настройки проекта. Исправьте файл.

1762* **Платформа и аккаунт**: вы используете Windows или [стороннего провайдера](https://code.claude.com/docs/ru/third-party-integrations.md) вместо аккаунта Claude. Добавьте каждый хост как [SSH-подключение](#ssh-sessions) самостоятельно.1818* **Аккаунт**: вы используете [стороннего провайдера](https://code.claude.com/docs/ru/third-party-integrations.md) вместо аккаунта Claude. Добавьте каждый хост как [SSH-подключение](#ssh-sessions) самостоятельно.

1819* **Windows**: Desktop старше v4.16336.0 или не подключается через клиент OpenSSH. Обновите Desktop и выполните [требования к клиенту OpenSSH](#use-your-ssh-configuration), затем закройте и снова откройте Desktop.

1763* **Настройки вашей организации**: администратор отключил локальные сессии или SSH-сессии. Спросите у него, можно ли вам использовать команды.1820* **Настройки вашей организации**: администратор отключил локальные сессии или SSH-сессии. Спросите у него, можно ли вам использовать команды.

1764* **Нет программы `ssh`**: Desktop не смог запустить клиент OpenSSH на вашем компьютере. Установите его или попросите администратора разрешить его, затем перезапустите Desktop.1821* **Нет программы `ssh`**: Desktop не смог запустить клиент OpenSSH на вашем компьютере. Установите его или попросите администратора разрешить его, затем перезапустите Desktop.

1765 1822 

1766Запись, которую нельзя выбрать, неактивна. Наведите на неё курсор, чтобы увидеть причину:1823Запись, которую нельзя выбрать, неактивна. Наведите на неё курсор, чтобы увидеть причину:

1767 1824 

1768* **Ошибка в записи**: исправьте поле или команду, указанные в сообщении. Если `id` уже используется, задайте записи другой.1825* **Ошибка в записи**: исправьте поле или команду, указанные в сообщении. Если `id` уже используется, присвойте записи другой. На Windows команда должна [начинаться с полного пути к программе](#write-the-command-on-windows).

1769* **Повреждённый файл настроек**: пока ваш собственный файл настроек повреждён, записи администратора могут быть неактивны с сообщением, в котором указан файл. [Исправьте файл](https://code.claude.com/docs/ru/settings.md#fix-a-broken-settings-file).1826* **Повреждённый файл настроек**: пока ваш собственный файл настроек повреждён, записи администратора могут быть неактивны с сообщением, в котором указан файл. [Исправьте файл](https://code.claude.com/docs/ru/settings.md#fix-a-broken-settings-file).

1770* **Новый хост**: [**Create another**](#create-another-machine) неактивен в течение одной минуты после того, как Desktop сохраняет хост. Выберите его по прошествии этой минуты. До Claude Desktop v4.4212.0 **Replace Dev box's host** неактивен в течение 10 минут.1827* **Новый хост**: [**Create another**](#create-another-machine) неактивен в течение одной минуты после того, как Desktop сохраняет хост. Выберите его по прошествии этой минуты. До Claude Desktop v4.4212.0 **Replace Dev box's host** неактивен в течение 10 минут.

1771* **Хуки отключены или ограничены**: ваши собственные записи работают только там, где могут выполняться ваши собственные хуки. Удалите `disableAllHooks` из своих настроек или обратитесь к администратору.1828* **Хуки отключены или ограничены**: ваши собственные записи работают только там, где могут выполняться ваши собственные хуки. Удалите `disableAllHooks` из своих настроек или обратитесь к администратору.


1940| `disableMobileSimulatorTools` | установите значение `true`, чтобы заблокировать инструменты Claude для управления устройствами и их захвата в [панели iOS Simulator](https://code.claude.com/docs/ru/desktop-ios-simulator.md#turn-off-simulator-access). Панель остаётся доступной для собственных касаний пользователя; убирается только доступ Claude. Значение должно быть логическим значением JSON `true`; строка `"true"` игнорируется. |1997| `disableMobileSimulatorTools` | установите значение `true`, чтобы заблокировать инструменты Claude для управления устройствами и их захвата в [панели iOS Simulator](https://code.claude.com/docs/ru/desktop-ios-simulator.md#turn-off-simulator-access). Панель остаётся доступной для собственных касаний пользователя; убирается только доступ Claude. Значение должно быть логическим значением JSON `true`; строка `"true"` игнорируется. |

1941| `disableBrowserExternalNavigation` | установите значение `true`, чтобы полностью отключить просмотр внешних сайтов в [панели браузера](#browse-external-sites). Ни пользователи, ни Claude не могут переходить на внешние сайты, а предпросмотр сервера разработки на localhost не затрагивается. Значение должно быть логическим значением JSON `true`; строка `"true"` игнорируется. |1998| `disableBrowserExternalNavigation` | установите значение `true`, чтобы полностью отключить просмотр внешних сайтов в [панели браузера](#browse-external-sites). Ни пользователи, ни Claude не могут переходить на внешние сайты, а предпросмотр сервера разработки на localhost не затрагивается. Значение должно быть логическим значением JSON `true`; строка `"true"` игнорируется. |

1942| `sshConfigs` | предварительно настройте [SSH-подключения](#pre-configure-ssh-connections-for-your-team), которые отображаются в селекторе окружений. Пользователи не могут удалять управляемые подключения или изменять в них что-либо, кроме собственного поля **Worktree folder**. |1999| `sshConfigs` | предварительно настройте [SSH-подключения](#pre-configure-ssh-connections-for-your-team), которые отображаются в селекторе окружений. Пользователи не могут удалять управляемые подключения или изменять в них что-либо, кроме собственного поля **Worktree folder**. |

1943| `sshHostCommands` | предоставьте пользователям [SSH-подключения, хост которых берётся из команды](#distribute-commands-to-your-team), наряду с их собственными. Desktop читает этот ключ из файла управляемых настроек или политики MDM на компьютере и игнорирует его в [настройках, управляемых сервером](https://code.claude.com/docs/ru/server-managed-settings.md). Требуется Claude Desktop v3.6556.0 или новее на macOS или Linux с входом через учётную запись Claude. |2000| `sshHostCommands` | предоставьте пользователям [SSH-подключения, хост которых берётся из команды](#distribute-commands-to-your-team), наряду с их собственными. Desktop читает этот ключ из файла управляемых настроек или политики MDM на компьютере и игнорирует его в [настройках, управляемых сервером](https://code.claude.com/docs/ru/server-managed-settings.md). Требуется Claude Desktop v3.6556.0 или новее на macOS или Linux либо v4.16336.0 или новее на Windows с входом через учётную запись Claude. В Windows Desktop также должен [подключаться через клиент OpenSSH](#use-your-ssh-configuration). |

1944| `sshHostAllowlist` | ограничьте [SSH-сессии](#restrict-which-ssh-hosts-users-can-connect-to) хостами, разрешённое имя которых совпадает с одним из этих шаблонов. Читается только из управляемых настроек. |2001| `sshHostAllowlist` | ограничьте [SSH-сессии](#restrict-which-ssh-hosts-users-can-connect-to) хостами, разрешённое имя которых совпадает с одним из этих шаблонов. Читается только из управляемых настроек. |

1945| `disableDesktopLocalSessions` | установите значение `true`, чтобы отключить [сессии Code, работающие на устройстве](#local-sessions-on-managed-devices), оставив доступными SSH-сессии на других хостах и облачные сессии. Значение должно быть логическим значением JSON `true`. Читается только из управляемых настроек. Требуется Claude Desktop v1.37937.0 или новее. |2002| `disableDesktopLocalSessions` | установите значение `true`, чтобы отключить [сессии Code, работающие на устройстве](#local-sessions-on-managed-devices), оставив доступными SSH-сессии на других хостах и облачные сессии. Значение должно быть логическим значением JSON `true`. Читается только из управляемых настроек. Требуется Claude Desktop v1.37937.0 или новее. |

1946| `disableSshSavedPasswords` | установите значение `true`, чтобы Desktop перестал предлагать запоминать пароли SSH, а также использовать или показывать ранее сохранённые пароли. Включение этого параметра не удаляет их. Читается только из управляемых настроек. Требуется Claude Desktop v1.49585.0 или новее. |2003| `disableSshSavedPasswords` | установите значение `true`, чтобы Desktop перестал предлагать запоминать пароли SSH, а также использовать или показывать ранее сохранённые пароли. Включение этого параметра не удаляет их. Читается только из управляемых настроек. Требуется Claude Desktop v1.49585.0 или новее. |

env-vars.md +3 −2

Details

139| `ANTHROPIC_BEDROCK_BASE_URL` | Переопределяет URL эндпоинта Amazon Bedrock. Используйте для пользовательских эндпоинтов Amazon Bedrock или при маршрутизации через [LLM-шлюз](https://code.claude.com/docs/ru/llm-gateway). См. [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md) |139| `ANTHROPIC_BEDROCK_BASE_URL` | Переопределяет URL эндпоинта Amazon Bedrock. Используйте для пользовательских эндпоинтов Amazon Bedrock или при маршрутизации через [LLM-шлюз](https://code.claude.com/docs/ru/llm-gateway). См. [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md) |

140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Переопределяет URL эндпоинта Amazon Bedrock Mantle. См. [эндпоинт Mantle](https://code.claude.com/docs/ru/amazon-bedrock.md#use-the-mantle-endpoint) |140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Переопределяет URL эндпоинта Amazon Bedrock Mantle. См. [эндпоинт Mantle](https://code.claude.com/docs/ru/amazon-bedrock.md#use-the-mantle-endpoint) |

141| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Префикс профиля межрегионального инференса (`us`, `eu`, `apac`, `jp`, `au` или `global`), который Claude Code пробует первым вместо префикса, выведенного из региона AWS. Игнорируется в регионах AWS GovCloud. Требуется Claude Code v2.1.224 или новее. См. [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md#cross-region-inference-profile-prefixes) |141| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Префикс профиля межрегионального инференса (`us`, `eu`, `apac`, `jp`, `au` или `global`), который Claude Code пробует первым вместо префикса, выведенного из региона AWS. Игнорируется в регионах AWS GovCloud. Требуется Claude Code v2.1.224 или новее. См. [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md#cross-region-inference-profile-prefixes) |

142| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Уровень обслуживания](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) Amazon Bedrock (`default`, `flex` или `priority`). Отправляется в заголовке `X-Amzn-Bedrock-Service-Tier`. См. [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md#service-tiers) |142| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Уровень обслуживания](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) Amazon Bedrock (`default`, `flex` или `priority`). См. [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md#service-tiers) |

143| `ANTHROPIC_BETAS` | Список дополнительных значений заголовка `anthropic-beta` через запятую для включения в запросы API. Claude Code уже отправляет нужные ему бета-заголовки; используйте эту переменную, чтобы подключить [бета-функцию Anthropic API](https://platform.claude.com/docs/en/api/beta-headers) до того, как Claude Code добавит её встроенную поддержку. В отличие от [флага `--betas`](https://code.claude.com/docs/ru/cli-reference#cli-flags), который требует аутентификации по API-ключу, эта переменная работает со всеми методами аутентификации, включая подписку Claude.ai |143| `ANTHROPIC_BETAS` | Список дополнительных значений заголовка `anthropic-beta` через запятую для включения в запросы API. Claude Code уже отправляет нужные ему бета-заголовки; используйте эту переменную, чтобы подключить [бета-функцию Anthropic API](https://platform.claude.com/docs/en/api/beta-headers) до того, как Claude Code добавит её встроенную поддержку. В отличие от [флага `--betas`](https://code.claude.com/docs/ru/cli-reference#cli-flags), который требует аутентификации по API-ключу, эта переменная работает со всеми методами аутентификации, включая подписку Claude.ai |

144| `ANTHROPIC_CUSTOM_HEADERS` | Пользовательские заголовки для добавления к запросам (формат `Name: Value`, для нескольких заголовков — через перевод строки). Если имя или значение содержит символ, который не может передаваться в HTTP-заголовке, например фигурную кавычку или пробел нулевой ширины, запрос завершается ошибкой, указывающей позицию пары. Требуется Claude Code v2.1.227 или новее. В разделе [Invalid request header value](https://code.claude.com/docs/ru/errors.md#invalid-request-header-value) перечислен точный набор символов и указано, где выполняется проверка. Значение, задающее заголовок учётных данных, организации или тенанта, маршрутизации или поведения API, например `Authorization` или `Host`, считается [настройкой, требующей подтверждения](https://code.claude.com/docs/ru/server-managed-settings.md#environment-variables-and-the-approval-dialog), когда его доставляют настройки, управляемые сервером. Из настроек проекта или локальных настроек такое значение подчиняется [правилам применения значений `env`](https://code.claude.com/docs/ru/settings-reference#when-claude-code-applies-env-values) |144| `ANTHROPIC_CUSTOM_HEADERS` | Пользовательские заголовки для добавления к запросам (формат `Name: Value`, для нескольких заголовков — через перевод строки). Если имя или значение содержит символ, который не может передаваться в HTTP-заголовке, например фигурную кавычку или пробел нулевой ширины, запрос завершается ошибкой, указывающей позицию пары. Требуется Claude Code v2.1.227 или новее. В разделе [Invalid request header value](https://code.claude.com/docs/ru/errors.md#invalid-request-header-value) перечислен точный набор символов и указано, где выполняется проверка. Значение, задающее заголовок учётных данных, организации или тенанта, маршрутизации или поведения API, например `Authorization` или `Host`, считается [настройкой, требующей подтверждения](https://code.claude.com/docs/ru/server-managed-settings.md#environment-variables-and-the-approval-dialog), когда его доставляют настройки, управляемые сервером. Из настроек проекта или локальных настроек такое значение подчиняется [правилам применения значений `env`](https://code.claude.com/docs/ru/settings-reference#when-claude-code-applies-env-values) |

145| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID модели, добавляемой как пользовательский пункт в селектор `/model`. Используйте, чтобы сделать нестандартную модель или модель конкретного шлюза доступной для выбора без замены встроенных псевдонимов. См. [Конфигурация модели](https://code.claude.com/docs/ru/model-config.md#add-a-custom-model-option) |145| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID модели, добавляемой как пользовательский пункт в селектор `/model`. Используйте, чтобы сделать нестандартную модель или модель конкретного шлюза доступной для выбора без замены встроенных псевдонимов. См. [Конфигурация модели](https://code.claude.com/docs/ru/model-config.md#add-a-custom-model-option) |


238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Установите `1`, чтобы пропустить проверку того, что потоковый ответ [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md) имеет content-type `application/vnd.amazon.eventstream`. Без этой переменной, если ответ имеет другой content-type, Claude Code завершает запрос ошибкой с указанием этого типа, что означает, что [шлюз или прокси преобразует ответ](https://code.claude.com/docs/ru/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy). Вместо установки этой переменной настройте шлюз так, чтобы он пересылал заголовок `Content-Type` и тело без изменений. Требуется Claude Code v2.1.208 или новее |238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Установите `1`, чтобы пропустить проверку того, что потоковый ответ [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md) имеет content-type `application/vnd.amazon.eventstream`. Без этой переменной, если ответ имеет другой content-type, Claude Code завершает запрос ошибкой с указанием этого типа, что означает, что [шлюз или прокси преобразует ответ](https://code.claude.com/docs/ru/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy). Вместо установки этой переменной настройте шлюз так, чтобы он пересылал заголовок `Content-Type` и тело без изменений. Требуется Claude Code v2.1.208 или новее |

239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Задайте `1`, чтобы останавливать выполняющуюся работу [фоновой сессии](https://code.claude.com/docs/ru/agent-view.md), когда [супервизор](https://code.claude.com/docs/ru/agent-view.md#the-supervisor-process) останавливает, перезапускает или обновляет процесс этой сессии, вместо того чтобы передавать её следующему процессу сессии. Эта работа — выполняющиеся фоновые shell-команды сессии, а начиная с v2.1.198 — и фоновые субагенты. Влияет только на эту передачу: перевод сессии в фон с помощью `←` или [`/background`](https://code.claude.com/docs/ru/agent-view#from-inside-a-session) по-прежнему переносит выполняющуюся фоновую работу. Требуется Claude Code v2.1.196 или новее |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Задайте `1`, чтобы останавливать выполняющуюся работу [фоновой сессии](https://code.claude.com/docs/ru/agent-view.md), когда [супервизор](https://code.claude.com/docs/ru/agent-view.md#the-supervisor-process) останавливает, перезапускает или обновляет процесс этой сессии, вместо того чтобы передавать её следующему процессу сессии. Эта работа — выполняющиеся фоновые shell-команды сессии, а начиная с v2.1.198 — и фоновые субагенты. Влияет только на эту передачу: перевод сессии в фон с помощью `←` или [`/background`](https://code.claude.com/docs/ru/agent-view#from-inside-a-session) по-прежнему переносит выполняющуюся фоновую работу. Требуется Claude Code v2.1.196 или новее |

240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Установите `1`, чтобы Claude Code не завершал [фоновые shell-команды](https://code.claude.com/docs/ru/interactive-mode.md#background-bash-commands) при нехватке памяти. По умолчанию в macOS и Linux Claude Code завершает фоновые оболочки, когда операционная система сообщает о критической нехватке памяти, а сессия простаивает 30 минут без выполняющегося хода или субагента. В Windows нет сигнала о нехватке памяти, поэтому там эта переменная ни на что не влияет. Требуется Claude Code v2.1.193 или новее |240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Установите `1`, чтобы Claude Code не завершал [фоновые shell-команды](https://code.claude.com/docs/ru/interactive-mode.md#background-bash-commands) при нехватке памяти. По умолчанию в macOS и Linux Claude Code завершает фоновые оболочки, когда операционная система сообщает о критической нехватке памяти, а сессия простаивает 30 минут без выполняющегося хода или субагента. В Windows нет сигнала о нехватке памяти, поэтому там эта переменная ни на что не влияет. Требуется Claude Code v2.1.193 или новее |

241| `CLAUDE_CODE_DISABLE_BG_STABLE_PATH` | В macOS с нативным установщиком установите `1`, чтобы хост-процесс каждой [фоновой сессии](https://code.claude.com/docs/ru/agent-view.md) запускался из установленного бинарного файла, а не из `~/.local/share/claude/ClaudeCode.app`. Тогда macOS может снова запрашивать разрешения, например на [доступ к папкам](https://code.claude.com/docs/ru/agent-view.md#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos), в том числе после каждого обновления. Задайте её в [блоке `env`](#in-settings-files) пользовательских настроек, файла управляемых настроек или политики MDM, а не в оболочке. Чтобы удалить `ClaudeCode.app`, удалите его самостоятельно. Требуется Claude Code v2.1.295 или новее |

241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Установите `1`, чтобы отключить [скиллы](https://code.claude.com/docs/ru/skills.md) и рабочие процессы, входящие в состав Claude Code: встроенные скиллы и рабочие процессы полностью удаляются, а встроенные команды, такие как `/init`, по-прежнему можно ввести, но они скрыты от модели. `/doctor` по-прежнему можно ввести, как и встроенные команды; чтобы скрыть её, используйте `DISABLE_DOCTOR_COMMAND`. Скиллы из плагинов, `.claude/skills/` и `.claude/commands/` не затрагиваются. Эквивалентно настройке [`disableBundledSkills`](https://code.claude.com/docs/ru/settings-reference#disablebundledskills) |242| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Установите `1`, чтобы отключить [скиллы](https://code.claude.com/docs/ru/skills.md) и рабочие процессы, входящие в состав Claude Code: встроенные скиллы и рабочие процессы полностью удаляются, а встроенные команды, такие как `/init`, по-прежнему можно ввести, но они скрыты от модели. `/doctor` по-прежнему можно ввести, как и встроенные команды; чтобы скрыть её, используйте `DISABLE_DOCTOR_COMMAND`. Скиллы из плагинов, `.claude/skills/` и `.claude/commands/` не затрагиваются. Эквивалентно настройке [`disableBundledSkills`](https://code.claude.com/docs/ru/settings-reference#disablebundledskills) |

242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Для хостов, которые встраивают Claude Code и предоставляют собственные указания по работе с браузером. Задайте `1`, чтобы сохранить доступность инструментов браузера [Claude in Chrome](https://code.claude.com/docs/ru/chrome.md), но исключить раздел о Chrome из системного промпта и [встроенный скилл](https://code.claude.com/docs/ru/skills.md#bundled-skills) `/claude-in-chrome`. В VS Code расширение версии v2.1.314 или новее также исключает инструкции Claude in Chrome из сообщений сессии. Требуется Claude Code v2.1.257 или новее |243| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Для хостов, которые встраивают Claude Code и предоставляют собственные указания по работе с браузером. Задайте `1`, чтобы сохранить доступность инструментов браузера [Claude in Chrome](https://code.claude.com/docs/ru/chrome.md), но исключить раздел о Chrome из системного промпта и [встроенный скилл](https://code.claude.com/docs/ru/skills.md#bundled-skills) `/claude-in-chrome`. В VS Code расширение версии v2.1.314 или новее также исключает инструкции Claude in Chrome из сообщений сессии. Требуется Claude Code v2.1.257 или новее |

243| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Установите `1`, чтобы не загружать в контекст никакие файлы памяти CLAUDE.md, включая пользовательские, проектные файлы и файлы автоматической памяти |244| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Установите `1`, чтобы не загружать в контекст никакие файлы памяти CLAUDE.md, включая пользовательские, проектные файлы и файлы автоматической памяти |


312| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Установите `0`, чтобы отключить gzip-сжатие тел запросов Claude API, телеметрии и публикации [артефактов](https://code.claude.com/docs/ru/artifacts.md), отправляемых на `api.anthropic.com`. По умолчанию Claude Code сжимает большие тела запросов при прямых подключениях и пропускает сжатие, когда вы отправляете запросы через прокси, настраиваете клиентский сертификат или задаёте `NODE_EXTRA_CA_CERTS`. Используйте `0`, если [прокси с инспекцией TLS](https://code.claude.com/docs/ru/network-config.md#ca-certificate-store), который Claude Code не может обнаружить, неправильно обрабатывает сжатые запросы |313| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Установите `0`, чтобы отключить gzip-сжатие тел запросов Claude API, телеметрии и публикации [артефактов](https://code.claude.com/docs/ru/artifacts.md), отправляемых на `api.anthropic.com`. По умолчанию Claude Code сжимает большие тела запросов при прямых подключениях и пропускает сжатие, когда вы отправляете запросы через прокси, настраиваете клиентский сертификат или задаёте `NODE_EXTRA_CA_CERTS`. Используйте `0`, если [прокси с инспекцией TLS](https://code.claude.com/docs/ru/network-config.md#ca-certificate-store), который Claude Code не может обнаружить, неправильно обрабатывает сжатые запросы |

313| `CLAUDE_CODE_HIDE_CWD` | Установите `1`, чтобы скрыть рабочий каталог в логотипе при запуске. Полезно при демонстрации экрана или записях, где путь раскрывает ваше имя пользователя ОС |314| `CLAUDE_CODE_HIDE_CWD` | Установите `1`, чтобы скрыть рабочий каталог в логотипе при запуске. Полезно при демонстрации экрана или записях, где путь раскрывает ваше имя пользователя ОС |

314| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Переопределяет адрес хоста, используемый для подключения к расширению IDE. По умолчанию Claude Code автоматически определяет правильный адрес, включая маршрутизацию из WSL в Windows |315| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Переопределяет адрес хоста, используемый для подключения к расширению IDE. По умолчанию Claude Code автоматически определяет правильный адрес, включая маршрутизацию из WSL в Windows |

315| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Установите `1`, чтобы пропустить автоматическую установку расширений IDE. Эквивалентно присвоению [`autoInstallIdeExtension`](https://code.claude.com/docs/ru/settings-reference#autoinstallideextension) значения `false` |316| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Установите значение `1`, чтобы `/ide` не устанавливал расширение IDE. Эквивалентно значению `false` для [`autoInstallIdeExtension`](https://code.claude.com/docs/ru/settings-reference#autoinstallideextension) |

316| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Установите `1`, чтобы пропустить проверку записей lock-файла IDE при подключении. Используйте, когда автоподключение не находит вашу IDE, хотя она запущена |317| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Установите `1`, чтобы пропустить проверку записей lock-файла IDE при подключении. Используйте, когда автоподключение не находит вашу IDE, хотя она запущена |

317| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Размер контекста в токенах, начиная с которого к диалогу применяется [сжатие контекста при простое](https://code.claude.com/docs/ru/settings-reference.md#idlecompaction) (по умолчанию: `200000`). Принимает положительное целое число; всё остальное игнорируется. Значения ниже `100000` повышаются до `100000` — наименьшего порога. Сжатие при простое по умолчанию включено для диалогов, которые соответствуют его условиям. Чтобы отключить его, установите `idleCompaction` в `false`. Требуется Claude Code v2.1.290 или новее |318| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Размер контекста в токенах, начиная с которого к диалогу применяется [сжатие контекста при простое](https://code.claude.com/docs/ru/settings-reference.md#idlecompaction) (по умолчанию: `200000`). Принимает положительное целое число; всё остальное игнорируется. Значения ниже `100000` повышаются до `100000` — наименьшего порога. Сжатие при простое по умолчанию включено для диалогов, которые соответствуют его условиям. Чтобы отключить его, установите `idleCompaction` в `false`. Требуется Claude Code v2.1.290 или новее |

318| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Сколько [субагентов](https://code.claude.com/docs/ru/sub-agents.md#concurrent-subagent-limit) может выполняться в одной сессии, прежде чем инструмент Agent откажется запускать ещё одного (по умолчанию: 20). Принимает положительное целое число, записанное цифрами; всё остальное игнорируется, поэтому переменная может изменить ограничение, но не отключить его. Требуется Claude Code v2.1.217 или новее |319| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Сколько [субагентов](https://code.claude.com/docs/ru/sub-agents.md#concurrent-subagent-limit) может выполняться в одной сессии, прежде чем инструмент Agent откажется запускать ещё одного (по умолчанию: 20). Принимает положительное целое число, записанное цифрами; всё остальное игнорируется, поэтому переменная может изменить ограничение, но не отключить его. Требуется Claude Code v2.1.217 или новее |

errors.md +145 −5

Details

55| `spend limit reached` / `spend limit unavailable` | [Usage limits](#spend-limit-reached) |55| `spend limit reached` / `spend limit unavailable` | [Usage limits](#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) |

59| `Your account or API key may still be in the config file. Run claude auth logout.` | [Аутентификация](#your-account-or-api-key-may-still-be-in-the-config-file) |

58| `Authentication required · Sign in again to continue` | [Authentication](#not-logged-in) |60| `Authentication required · Sign in again to continue` | [Authentication](#not-logged-in) |

59| `Could not resolve authentication method` | [Authentication](#could-not-resolve-authentication-method) |61| `Could not resolve authentication method` | [Authentication](#could-not-resolve-authentication-method) |

60| `Invalid API key` | [Authentication](#invalid-api-key) |62| `Invalid API key` | [Authentication](#invalid-api-key) |


82| `Couldn't verify your organization's policy for remote control` | [Troubleshoot Remote Control](https://code.claude.com/docs/ru/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |84| `Couldn't verify your organization's policy for remote control` | [Troubleshoot Remote Control](https://code.claude.com/docs/ru/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |

83| `Remote Control is disabled by your organization's policy` | [Troubleshoot Remote Control](https://code.claude.com/docs/ru/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |85| `Remote Control is disabled by your organization's policy` | [Troubleshoot Remote Control](https://code.claude.com/docs/ru/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |

84| `Remote Control was turned off by your organization's policy` | [Troubleshoot Remote Control](https://code.claude.com/docs/ru/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |86| `Remote Control was turned off by your organization's policy` | [Troubleshoot Remote Control](https://code.claude.com/docs/ru/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |

87| `Session failed: working folder not found:` | [Устранение неполадок Remote Control](https://code.claude.com/docs/ru/remote-control.md#working-folder-not-found) |

88| `The program file this Remote Control started from is gone` | [Устранение неполадок Remote Control](https://code.claude.com/docs/ru/remote-control.md#program-file-is-gone) |

89| `Session failed: spawn error:` с последующим сообщением `ENOENT` | [Устранение неполадок Remote Control](https://code.claude.com/docs/ru/remote-control.md#program-file-is-gone) |

85| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |90| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |

86| `Failed to authenticate: OAuth token revoked` | [Authentication](#oauth-token-revoked-or-expired) |91| `Failed to authenticate: OAuth token revoked` | [Authentication](#oauth-token-revoked-or-expired) |

87| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentication](#oauth-token-revoked-or-expired) |92| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentication](#oauth-token-revoked-or-expired) |


165| `Request too large for the API's 32MB request limit` | [Request errors](#request-too-large) |170| `Request too large for the API's 32MB request limit` | [Request errors](#request-too-large) |

166| `Image was too large` | [Request errors](#image-was-too-large) |171| `Image was too large` | [Request errors](#image-was-too-large) |

167| `API Error: an image in the conversation could not be processed and was removed` | [Request errors](#image-was-too-large) |172| `API Error: an image in the conversation could not be processed and was removed` | [Request errors](#image-was-too-large) |

173| `An image in the conversation exceeds the dimension limit for many-image requests` | [Ошибки запросов](#image-was-too-large) |

168| `Unable to resize image` | [Request errors](#unable-to-resize-image) |174| `Unable to resize image` | [Request errors](#unable-to-resize-image) |

169| `Request rejected as unprocessable by the model` | [Request errors](#request-rejected-as-unprocessable-by-the-model) |175| `Request rejected as unprocessable by the model` | [Request errors](#request-rejected-as-unprocessable-by-the-model) |

170| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Request errors](#pdf-errors) |176| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Request errors](#pdf-errors) |


229| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Command-line errors](#invalid-agents-configuration) |235| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Command-line errors](#invalid-agents-configuration) |

230| `Error: --agents file not found` | [Command-line errors](#invalid-agents-configuration) |236| `Error: --agents file not found` | [Command-line errors](#invalid-agents-configuration) |

231| `Error: Settings file exceeds the 2MiB limit` | [Command-line errors](#settings-file-exceeds-the-2mib-limit) |237| `Error: Settings file exceeds the 2MiB limit` | [Command-line errors](#settings-file-exceeds-the-2mib-limit) |

238| `Configuration error in` | [Ошибки командной строки](#configuration-error-in-claude-json) |

239| `Claude configuration file at <path> was empty and no backup holds anything: starting with defaults.` | [Ошибки командной строки](#claude-configuration-file-was-empty) |

232| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Command-line errors](#the-current-directory-no-longer-exists) |240| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Command-line errors](#the-current-directory-no-longer-exists) |

233| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |241| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |

234| `ENOSPC: no space left on device, mkdir '<dir>'` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |242| `ENOSPC: no space left on device, mkdir '<dir>'` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |


334| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |342| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |

335| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |343| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |

336| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Ошибки инструментов](#command-contains-an-invisible-character) |344| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Ошибки инструментов](#command-contains-an-invisible-character) |

345| `This call was not run. The command was approved before Claude Code restarted` | [Ошибки инструментов](#command-approved-before-a-restart-was-not-run) |

337| `File is too large to read as an image (the limit is 128MB)` | [Tool errors](#file-is-too-large-to-read-as-an-image) |346| `File is too large to read as an image (the limit is 128MB)` | [Tool errors](#file-is-too-large-to-read-as-an-image) |

338| `Cannot read this as an image: <path> is a pipe or a device` | [Tool errors](#file-is-too-large-to-read-as-an-image) |347| `Cannot read this as an image: <path> is a pipe or a device` | [Tool errors](#file-is-too-large-to-read-as-an-image) |

339| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |348| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |


420| `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) |429| `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) |

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

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

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

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

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

435| `Your organization requires remote managed settings to load, but they could not be loaded` | [Принудительный запуск с блокировкой при сбое](https://code.claude.com/docs/ru/server-managed-settings.md#enforce-fail-closed-startup) |

436| `Remote managed settings are still loading` | [Предупреждения конфигурации](#remote-managed-settings-failed-to-load) |

437| `Remote managed settings did not load` | [Предупреждения конфигурации](#remote-managed-settings-failed-to-load) |

438| `Claude Code couldn't load your organization's settings` / `Claude Code couldn't reach Anthropic to load your organization's settings` / `requires them before a session can start` | [Предупреждения конфигурации](#couldnt-load-your-organizations-settings) |

439| `Claude Code can't start this session yet` | [Предупреждения конфигурации](#couldnt-load-your-organizations-settings) |

440| `Your Claude session has expired. Sign in again to continue (claude auth login).` | [Предупреждения конфигурации](#couldnt-load-your-organizations-settings) |

425| `Managed settings were not approved; exiting without applying them.` | [Configuration warnings](#managed-settings-were-not-approved) |441| `Managed settings were not approved; exiting without applying them.` | [Configuration warnings](#managed-settings-were-not-approved) |

426| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [Configuration warnings](#managed-settings-need-your-approval) |442| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [Configuration warnings](#managed-settings-need-your-approval) |

427| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [Configuration warnings](#managed-settings-block-the-default-model) |443| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [Configuration warnings](#managed-settings-block-the-default-model) |


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

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

456| `Stale sandbox mask files left by a killed session` | [Configuration warnings](#stale-sandbox-mask-files-left-by-a-killed-session) |472| `Stale sandbox mask files left by a killed session` | [Configuration warnings](#stale-sandbox-mask-files-left-by-a-killed-session) |

473| `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` | [Устранение неполадок изоляции в песочнице](https://code.claude.com/docs/ru/sandboxing.md#apparmor-restriction-stops-bubblewrap) |

474| `bwrap: setting up uid map: Permission denied` / `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` | [Устранение неполадок изоляции в песочнице](https://code.claude.com/docs/ru/sandboxing.md#bwrap-uid-map-permission-denied) |

457| Responses seem lower quality than usual | [Response quality](#responses-seem-lower-quality-than-usual) |475| Responses seem lower quality than usual | [Response quality](#responses-seem-lower-quality-than-usual) |

458 476 

459## Автоматические повторные попытки477## Автоматические повторные попытки


1031* Запустите `/login`, чтобы пройти аутентификацию с подпиской Claude или учётной записью Console1049* Запустите `/login`, чтобы пройти аутентификацию с подпиской Claude или учётной записью Console

1032* Если вы ожидали, что аутентификация пройдёт через переменную окружения, убедитесь, что `ANTHROPIC_API_KEY` задана и экспортирована в оболочке, в которой вы запустили `claude`1050* Если вы ожидали, что аутентификация пройдёт через переменную окружения, убедитесь, что `ANTHROPIC_API_KEY` задана и экспортирована в оболочке, в которой вы запустили `claude`

1033* Для CI или автоматизации, где интерактивный вход невозможен, настройте скрипт [`apiKeyHelper`](https://code.claude.com/docs/ru/settings-reference#apikeyhelper), который получает ключ при запуске1051* Для CI или автоматизации, где интерактивный вход невозможен, настройте скрипт [`apiKeyHelper`](https://code.claude.com/docs/ru/settings-reference#apikeyhelper), который получает ключ при запуске

1052* Если задания `claude -p` завершаются с этим сообщением, когда кто-то заново входит в ту же учётную запись и организацию claude.ai, обновите Claude Code там, где выполняется этот вход. До v2.1.318 Claude Code удалял сохранённый вход во время такого входа, до сохранения нового.

1034* См. [Приоритет аутентификации](https://code.claude.com/docs/ru/authentication.md#authentication-precedence), чтобы понять, какие учётные данные использует Claude Code, когда их несколько1053* См. [Приоритет аутентификации](https://code.claude.com/docs/ru/authentication.md#authentication-precedence), чтобы понять, какие учётные данные использует Claude Code, когда их несколько

1035 1054 

1036Если вам многократно предлагают войти, см. [Не выполнен вход или токен истёк](https://code.claude.com/docs/ru/troubleshoot-install.md#not-logged-in-or-token-expired), где описаны проверки системных часов и шаги восстановления хранилища учётных данных macOS.1055Если вам многократно предлагают войти, см. [Не выполнен вход или токен истёк](https://code.claude.com/docs/ru/troubleshoot-install.md#not-logged-in-or-token-expired), где описаны проверки системных часов и шаги восстановления хранилища учётных данных macOS.


1441* На других платформах снова запустите `/login`1460* На других платформах снова запустите `/login`

1442* Если вход по-прежнему не сохраняется, см. [Не выполнен вход или токен истёк](https://code.claude.com/docs/ru/troubleshoot-install.md#not-logged-in-or-token-expired), где приведена команда разблокировки связки ключей и другие шаги восстановления хранилища учётных данных1461* Если вход по-прежнему не сохраняется, см. [Не выполнен вход или токен истёк](https://code.claude.com/docs/ru/troubleshoot-install.md#not-logged-in-or-token-expired), где приведена команда разблокировки связки ключей и другие шаги восстановления хранилища учётных данных

1443 1462 

1463### Sign in again to take your previous account or API key off the config file

1464 

1465Это предупреждение после входа означает, что любая учётная запись, в которую вы были выполнили вход ранее, может всё ещё храниться в [`~/.claude.json`](https://code.claude.com/docs/ru/claude-directory#ce-claude-json):

1466 

1467```text theme={null}

1468Sign in again to take your previous account or API key off the config file.

1469```

1470 

1471API-ключ тоже может всё ещё находиться в `~/.claude.json`, если его создал вход через Console на Linux или Windows.

1472 

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

1474 

1475* Выполните `claude auth login` в оболочке, чтобы войти заново. Затем Claude Code повторит сохранение, которое удаляет заменённую учётную запись или API-ключ из файла.

1476 

1477### Your account or API key may still be in the config file

1478 

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

1480 

1481```text theme={null}

1482Your account or API key may still be in the config file. Run claude auth logout.

1483```

1484 

1485API-ключ тоже может всё ещё находиться в `~/.claude.json`, если его создал вход через Console на Linux или Windows.

1486 

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

1488 

1489* Выполните `claude auth logout` в оболочке, чтобы повторить сохранение. Когда сохранение пройдёт, команда выведет `Successfully logged out from your Anthropic account.`

1490 

1444### Couldn't start the local listener that receives the browser sign-in1491### Couldn't start the local listener that receives the browser sign-in

1445 1492 

1446Каждое из этих сообщений от `/login`, `claude auth login` или `claude setup-token` означает, что Claude Code не смог открыть порт на `127.0.0.1`, через который ваш браузер возвращает результат входа.1493Каждое из этих сообщений от `/login`, `claude auth login` или `claude setup-token` означает, что Claude Code не смог открыть порт на `127.0.0.1`, через который ваш браузер возвращает результат входа.


2420Image was too large. Double press esc to go back and try again with a smaller image.2467Image was too large. Double press esc to go back and try again with a smaller image.

2421API Error: 400 ... image dimensions exceed max allowed size2468API Error: 400 ... image dimensions exceed max allowed size

2422API Error: an image in the conversation could not be processed and was removed.2469API Error: an image in the conversation could not be processed and was removed.

2470An image in the conversation exceeds the dimension limit for many-image requests (3000px). Run /compact to remove old images from context, or start a new session.

2423```2471```

2424 2472 

2425Строка `could not be processed and was removed` означает, что API отказался принять изображение в диалоге, например изображение, превышающее ограничения по размеру или разрешению.2473Строка `could not be processed and was removed` означает, что API отказался принять изображение в диалоге, например изображение, превышающее ограничения по размеру или разрешению.


2434 2482 

2435* Уменьшите изображение перед вставкой. API принимает изображения размером до 8000 пикселей по длинной стороне для одного изображения или до 3000 пикселей, когда в контексте более 20 изображений.2483* Уменьшите изображение перед вставкой. API принимает изображения размером до 8000 пикселей по длинной стороне для одного изображения или до 3000 пикселей, когда в контексте более 20 изображений.

2436* Сделайте снимок только нужной области вместо всего экрана2484* Сделайте снимок только нужной области вместо всего экрана

2485* При сообщении `dimension limit for many-image requests` выполните `/compact` в промпте Claude Code, если сообщение его называет, или начните новую сессию с меньшим количеством изображений

2486 

2487Сообщение `dimension limit for many-image requests` показывает лимит в пикселях, указанный в ошибке API.

2437 2488 

2438### Unable to resize image2489### Unable to resize image

2439 2490 


3223 3274 

3224* Укажите в `--settings` обычный файл настроек JSON размером менее 2 MiB. Формат описан в разделе [Настройки](https://code.claude.com/docs/ru/settings.md).3275* Укажите в `--settings` обычный файл настроек JSON размером менее 2 MiB. Формат описан в разделе [Настройки](https://code.claude.com/docs/ru/settings.md).

3225 3276 

3277### Configuration error in \~/.claude.json

3278 

3279Claude Code не смог разобрать `~/.claude.json` — файл, в котором хранятся данные вашей учётной записи, MCP-серверы и состояние по проектам. Ваш файл не изменён. [Неинтерактивный](https://code.claude.com/docs/ru/headless.md) запуск, например `claude -p`, каждый раз завершается с кодом выхода 1, пока вы не восстановите файл.

3280 

3281Если Claude Code находит [резервную копию](https://code.claude.com/docs/ru/claude-directory.md#cleaned-up-automatically), вывод называет её и содержит строку `cp`, которая копирует её обратно:

3282 

3283```text wrap theme={null}

3284Claude configuration file at /home/user/.claude.json is corrupted: <JSON parser's message>

3285The corrupted file has been backed up to: /home/user/.claude/backups/.claude.json.corrupted.1793664000000

3286A backup file exists at: /home/user/.claude/backups/.claude.json.backup.1793660400000

3287You can manually restore it by running: cp -f "/home/user/.claude/backups/.claude.json.backup.1793660400000" "/home/user/.claude.json"

3288 

3289Configuration error in /home/user/.claude.json: <JSON parser's message>

3290```

3291 

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

3293 

3294* **В выводе есть строка `cp`**: выполните эту строку в терминале. В Windows выполните её в PowerShell. Она заменяет повреждённый файл резервной копией — более ранней версией `~/.claude.json`.

3295* **В выводе нет строки `cp`, или ошибка возвращается после её выполнения**: исправьте JSON в `~/.claude.json`, скопируйте поверх него другой файл `.claude.json.backup.<timestamp>` из [`~/.claude/backups/`](https://code.claude.com/docs/ru/claude-directory#cleaned-up-automatically), если он есть, или переименуйте его. Если файла `~/.claude.json` нет, Claude Code запускается с настройками по умолчанию и без того, что содержал файл.

3296 

3297До v2.1.318 после того, как неинтерактивный запуск выводил эту ошибку, в `~/.claude.json` оставались значения по умолчанию, поэтому следующий запуск проходил без вашей конфигурации.

3298 

3299### Claude configuration file was empty and no backup holds anything

3300 

3301Это сообщение при запуске означает, что названный в нём файл был пустым и ни одна из [копий `.backup`](https://code.claude.com/docs/ru/claude-directory#cleaned-up-automatically) этого файла ничего не содержит. Claude Code запустился со значениями по умолчанию для того, что хранит этот файл. Ваши файлы `settings.json` и `.mcp.json` — это отдельные файлы.

3302 

3303```text wrap theme={null}

3304Claude configuration file at /home/user/.claude.json was empty and no backup holds anything: starting with defaults.

3305```

3306 

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

3308 

3309* Заново настройте то, что было сконфигурировано в этом файле. Например, добавьте свои [MCP-серверы](https://code.claude.com/docs/ru/mcp.md#mcp-installation-scopes) с областью действия `user` и `local` с помощью `claude mcp add` из терминала.

3310* Войдите снова, если Claude Code попросит об этом

3311 

3312До v2.1.318 Claude Code сообщал о пустом файле без резервной копии как о [повреждённом](#configuration-error-in-claude-json).

3313 

3226### Текущий каталог больше не существует3314### Текущий каталог больше не существует

3227 3315 

3228Вы запустили `claude` из каталога, который был удалён или перемещён после того, как ваша оболочка в него перешла, например worktree или временный каталог, удалённый другой оболочкой. Claude Code не может прочитать свой рабочий каталог, поэтому завершается с кодом выхода 1 до запуска сессии — как в интерактивном, так и в [неинтерактивном](https://code.claude.com/docs/ru/headless.md) режиме. До v2.1.239 Claude Code вместо этого сообщения аварийно завершался, выводя минифицированный исходный код бандла и необработанный стек `ENOENT ... uv_cwd` в stderr.3316Вы запустили `claude` из каталога, который был удалён или перемещён после того, как ваша оболочка в него перешла, например worktree или временный каталог, удалённый другой оболочкой. Claude Code не может прочитать свой рабочий каталог, поэтому завершается с кодом выхода 1 до запуска сессии — как в интерактивном, так и в [неинтерактивном](https://code.claude.com/docs/ru/headless.md) режиме. До v2.1.239 Claude Code вместо этого сообщения аварийно завершался, выводя минифицированный исходный код бандла и необработанный стек `ENOENT ... uv_cwd` в stderr.


3334* **`Error: Workspace not trusted. <folder> is your home directory`**: поскольку доверие для домашнего каталога никогда не сохраняется, предварительный запуск `claude` там не поможет. Вместо этого выполните `claude ultrareview` из каталога проекта, предварительно один раз запустив там `claude`, чтобы принять диалог доверия, или добавьте `--trust-workspace`.3422* **`Error: Workspace not trusted. <folder> is your home directory`**: поскольку доверие для домашнего каталога никогда не сохраняется, предварительный запуск `claude` там не поможет. Вместо этого выполните `claude ultrareview` из каталога проекта, предварительно один раз запустив там `claude`, чтобы принять диалог доверия, или добавьте `--trust-workspace`.

3335* **`No answer in time.` с последующим `Error: Workspace not trusted`**: на вопрос `Trust <folder>? [y/N]` не было ответа в течение 5 минут. Снова выполните `claude ultrareview` и ответьте на него.3423* **`No answer in time.` с последующим `Error: Workspace not trusted`**: на вопрос `Trust <folder>? [y/N]` не было ответа в течение 5 минут. Снова выполните `claude ultrareview` и ответьте на него.

3336* **`Ultrareview did not start: <folder> is not trusted`**: вы отказались на вопрос `Trust <folder>? [y/N]`, например ответив `n` или нажав Enter. Чтобы начать ревью, снова выполните `claude ultrareview` и ответьте `y`.3424* **`Ultrareview did not start: <folder> is not trusted`**: вы отказались на вопрос `Trust <folder>? [y/N]`, например ответив `n` или нажав Enter. Чтобы начать ревью, снова выполните `claude ultrareview` и ответьте `y`.

3337* **``Ultrareview did not start: `--trust-workspace` takes no value``**: после `--trust-workspace` идёт что-то, кроме флага, например номер PR или `false`. Если вы не доверяете папке, не указывайте флаг. Чтобы доверять ей для этого запуска, поставьте номер PR или базовую ветку перед флагом: `claude ultrareview 1234 --trust-workspace`.3425* **``Ultrareview did not start: `--trust-workspace` takes no value``**: после `--trust-workspace` следует что-то, кроме флага, например номер PR или `false`. Если вы не доверяете папке, не указывайте этот флаг. Чтобы доверять ей на время этого запуска, поставьте номер PR или базовую ветку перед флагом: `claude ultrareview 1234 --trust-workspace`.

3338 3426 

3339До v2.1.309 `claude ultrareview` не принимал `--trust-workspace`.3427До v2.1.309 `claude ultrareview` не принимал `--trust-workspace`.

3340 3428 


3626 3714 

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

3628 3716 

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

3630* ``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)3718* ``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)

3631 3719 

3632**Что делать:**3720**Что делать:**

3633 3721 


3780 3868 

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

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

3783* **Вы передали базовую ветку, которой не было в вашем клоне**: 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`.3871* **Вы передали базовую ветку, которой не было в вашем клоне**: 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`.

3784 3872 

3785**Что делать:**3873**Что делать:**

3786 3874 


4666* **Для команды, написанной Claude**: исправлять ничего не нужно. Сообщение объясняет Claude, как переписать команду.4754* **Для команды, написанной Claude**: исправлять ничего не нужно. Сообщение объясняет Claude, как переписать команду.

4667* **Для файла скилла или команды**: сообщение следует за `No shell command in <name> was run`. См. [где найти символ и как его удалить](#no-shell-command-was-run).4755* **Для файла скилла или команды**: сообщение следует за `No shell command in <name> was run`. См. [где найти символ и как его удалить](#no-shell-command-was-run).

4668 4756 

4757### Command approved before Claude Code restarted was not run

4758 

4759Shell-команда, которую вы подтвердили, не была выполнена, и Claude получает это сообщение как результат команды:

4760 

4761```text wrap theme={null}

4762This call was not run. The command was approved before Claude Code restarted, and Claude Code could not confirm that the shell is back in the directory where it was approved. That directory may be gone or replaced, lie outside the directory where the session started, or be one that Claude Code needs approval to enter or is not allowed to examine. The shell's directory is <directory>. If the command still makes sense, cd to the directory it was meant for and make the call again; it may need approval again.

4763```

4764 

4765Третье предложение сообщения может вместо этого выглядеть так: `It does not keep track of that directory across a restart in a session that has been in a worktree.`

4766 

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

4768 

4769* Позвольте Claude продолжить и ответьте на запрос, если вас попросят снова подтвердить команду.

4770 

4669### File is too large to read as an image4771### File is too large to read as an image

4670 4772 

4671Claude попытался прочитать файл как изображение с помощью [инструмента Read](https://code.claude.com/docs/ru/tools-reference.md#read-tool-behavior), а размер файла превышает 128 МБ — максимум, который Read загружает из файла изображения. Ничего не было прочитано, и Claude получает эту ошибку как результат инструмента:4773Claude попытался прочитать файл как изображение с помощью [инструмента Read](https://code.claude.com/docs/ru/tools-reference.md#read-tool-behavior), а размер файла превышает 128 МБ — максимум, который Read загружает из файла изображения. Ничего не было прочитано, и Claude получает эту ошибку как результат инструмента:


5818 5920 

5819### Remote managed settings failed to load5921### Remote managed settings failed to load

5820 5922 

5821Ваш сеанс имеет право на [server-managed settings](https://code.claude.com/docs/ru/server-managed-settings.md), но Claude Code не смог их получить или не смог применить то, что вернул сервер, поэтому он показывает это предупреждение в интерактивных сеансах.5923Ваша сессия подпадает под действие [управляемых сервером настроек](https://code.claude.com/docs/ru/server-managed-settings.md), но Claude Code не смог их получить или не смог применить то, что вернул сервер, поэтому он показывает это предупреждение в интерактивных сессиях и на вкладке Code в Claude Desktop.

5822 5924 

5823Причина в скобках называет то, что не удалось, например `network error`, `request timed out` или `authentication rejected (401)`. Причина `no setting in the server response could be applied as written` означает, что сервер ответил, но ни один из параметров, которые он вернул, не прошёл [validation](https://code.claude.com/docs/ru/server-managed-settings.md#invalid-entries-in-delivered-settings). До версии 2.1.282 эта причина читалась как `server returned invalid settings`.5925Причина в скобках называет то, что не удалось, например `network error`, `request timed out` или `authentication rejected (401)`. Причина `no setting in the server response could be applied as written` означает, что сервер ответил, но ни один из параметров, которые он вернул, не прошёл [validation](https://code.claude.com/docs/ru/server-managed-settings.md#invalid-entries-in-delivered-settings). До версии 2.1.282 эта причина читалась как `server returned invalid settings`.

5824 5926 


5827* **Settings cached from an earlier successful fetch**: Claude Code запускает сеанс на этой кэшированной политике, кроме [withheld environment variables](https://code.claude.com/docs/ru/server-managed-settings.md#fetch-and-caching-behavior), и строка читается `using cached policy`.5929* **Settings cached from an earlier successful fetch**: Claude Code запускает сеанс на этой кэшированной политике, кроме [withheld environment variables](https://code.claude.com/docs/ru/server-managed-settings.md#fetch-and-caching-behavior), и строка читается `using cached policy`.

5828* **No cache**: Claude Code запускает сеанс без server-managed settings, и строка читается `no remote policy applied`.5930* **No cache**: Claude Code запускает сеанс без server-managed settings, и строка читается `no remote policy applied`.

5829 5931 

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

5933 

5934* `Remote managed settings are still loading`: получение настроек ещё выполнялось, когда сессия продолжила работу

5935* `Remote managed settings did not load`: получение настроек завершилось без ответа

5936* `Remote managed settings have now loaded`: настройки загрузились после одного из этих предупреждений, и остальная часть строки сообщает, применяется ли удалённая политика

5937 

5830**Что делать:**5938**Что делать:**

5831 5939 

5832* Действуйте в соответствии с причиной, которую называет сообщение: для сетевой причины проверьте, что эта машина может достичь `api.anthropic.com`; для причины аутентификации проверьте вашу регистрацию с помощью `/status`5940* Действуйте в соответствии с причиной, которую называет сообщение: для сетевой причины проверьте, что эта машина может достичь `api.anthropic.com`; для причины аутентификации проверьте вашу регистрацию с помощью `/status`


5835 5943 

5836До версии 2.1.248 Claude Code сообщал о неудачной выборке параметров только в журнале отладки.5944До версии 2.1.248 Claude Code сообщал о неудачной выборке параметров только в журнале отладки.

5837 5945 

5946### Claude Code couldn't load your organization's settings

5947 

5948Ваша сессия не запустилась, потому что настройки вашей организации, включая её [управляемые сервером настройки](https://code.claude.com/docs/ru/server-managed-settings.md), должны загрузиться заранее, а Claude Code не смог их загрузить. Например:

5949 

5950```text theme={null}

5951Claude Code couldn't reach Anthropic to load your organization's settings (could not connect). <Organization name> requires them before a session can start.

5952```

5953 

5954Если сообщение отображается в диалоговом окне с заголовком `Claude Code can't start this session yet`, окно закроется и сессия запустится, как только настройки загрузятся.

5955 

5956В [неинтерактивном режиме](https://code.claude.com/docs/ru/headless.md) и в [фоновых сессиях](https://code.claude.com/docs/ru/agent-view.md) Claude Code вместо этого выводит сообщение и завершается с кодом выхода 1.

5957 

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

5959 

5960* **`could not connect` или `the reply came from a network proxy, not Anthropic`**: проверьте сетевое подключение, а в корпоративной сети попросите IT-отдел разрешить HTTPS-доступ к `api.anthropic.com/api/claude_code/policy_limits` и `api.anthropic.com/api/claude_code/settings`. Затем выберите **Retry now** или снова выполните команду.

5961* **`timed out`, `Anthropic returned an error` или `Anthropic asked it to retry shortly`**: дождитесь повторной попытки в диалоговом окне или снова выполните команду позже. Если ситуация повторяется, проверьте [status.anthropic.com](https://status.anthropic.com).

5962* **`still loading` или `couldn't verify your sign-in with Anthropic yet`**: дождитесь повторной попытки в диалоговом окне или снова выполните команду. Если сообщение о входе продолжает появляться, войдите заново, выполнив `claude auth login` в оболочке.

5963* **`Your Claude session has expired`**: вход, сохранённый на этой машине, больше не действителен, поэтому повторные попытки не помогут. В диалоговом окне выберите **Sign in again**, чтобы закрыть Claude Code; затем в оболочке выполните `claude auth login` — эта команда работает, даже когда сессии не могут запуститься.

5964* **`none of the settings the server returned could be applied as written`**: попросите администратора исправить [управляемые сервером настройки](https://code.claude.com/docs/ru/server-managed-settings.md#invalid-entries-in-delivered-settings) организации, затем повторите попытку.

5965 

5838### Managed settings were not approved5966### Managed settings were not approved

5839 5967 

5840[server-managed settings](https://code.claude.com/docs/ru/server-managed-settings.md) вашей организации включают параметры, которые требуют вашего одобрения, и вы отклонили [security approval dialog](https://code.claude.com/docs/ru/server-managed-settings.md#security-approval-dialogs), поэтому Claude Code выходит без их применения:5968[server-managed settings](https://code.claude.com/docs/ru/server-managed-settings.md) вашей организации включают параметры, которые требуют вашего одобрения, и вы отклонили [security approval dialog](https://code.claude.com/docs/ru/server-managed-settings.md#security-approval-dialogs), поэтому Claude Code выходит без их применения:


6294 6422 

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

6296 6424 

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

6426 

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

6428 

6429```text theme={null}

6430Make this change again later: /home/user/.claude.json could not be updated, so it applies to this session only.

6431```

6432 

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

6434 

6435* Внесите изменение снова в одной из последующих сессий. Например, снова выполните `/login` или снова ответьте на запрос доверия.

6436 

6297## Ответы кажутся ниже обычного качества6437## Ответы кажутся ниже обычного качества

6298 6438 

6299Если ответы Claude кажутся менее способными, чем вы ожидаете, но ошибка не отображается, причина обычно в состоянии разговора, а не в самой модели. Claude Code не молча меняет версии модели. Он может переключиться на резервную модель в этих случаях:6439Если ответы Claude кажутся менее способными, чем вы ожидаете, но ошибка не отображается, причина обычно в состоянии разговора, а не в самой модели. Claude Code не молча меняет версии модели. Он может переключиться на резервную модель в этих случаях:

headless.md +3 −1

Details

48 48 

49В режиме bare Claude Code никогда не читает учётные данные OAuth или системную связку ключей. Для Anthropic API задайте в окружении `ANTHROPIC_API_KEY` с ключом, созданным в [Claude Console](https://platform.claude.com), или укажите `apiKeyHelper` в JSON для `--settings`. Amazon Bedrock, Agent Platform от Google Cloud и Microsoft Foundry продолжают читать собственные учётные данные провайдера как обычно.49В режиме bare Claude Code никогда не читает учётные данные OAuth или системную связку ключей. Для Anthropic API задайте в окружении `ANTHROPIC_API_KEY` с ключом, созданным в [Claude Console](https://platform.claude.com), или укажите `apiKeyHelper` в JSON для `--settings`. Amazon Bedrock, Agent Platform от Google Cloud и Microsoft Foundry продолжают читать собственные учётные данные провайдера как обычно.

50 50 

51В режиме bare Claude имеет доступ к инструментам Bash, чтения файлов и редактирования файлов. Передайте любой необходимый контекст с помощью флага:51В режиме bare Claude имеет доступ к инструментам Bash, чтения файлов и редактирования файлов. Передайте необходимый контекст с помощью флага:

52 52 

53| Что загрузить | Что использовать |53| Что загрузить | Что использовать |

54| - | - |54| - | - |


58| [Пользовательские агенты](https://code.claude.com/docs/ru/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |58| [Пользовательские агенты](https://code.claude.com/docs/ru/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |

59| Плагин | `--plugin-dir <path>`, `--plugin-url <url>` |59| Плагин | `--plugin-dir <path>`, `--plugin-url <url>` |

60 60 

61Хуки по-прежнему не запускаются в режиме bare, если вы передаёте их через `--settings` или в [`hooks/hooks.json`](https://code.claude.com/docs/ru/plugins/components#hooks) либо [ключе манифеста `hooks`](https://code.claude.com/docs/ru/plugins/manifest-reference#hooks) плагина, загружаемого с помощью флага. Не используйте режим bare для запуска, которому они нужны.

62 

61Режим bare также ограничивает происходящее во время работы сессии:63Режим bare также ограничивает происходящее во время работы сессии:

62 64 

63* **MCP-серверы**: подключаются только серверы, переданные в командной строке, например с помощью `--mcp-config`. В интерактивной сессии Claude Code также пропускает автоматическое подключение к IDE, если вы не передадите `--ide`.65* **MCP-серверы**: подключаются только серверы, переданные в командной строке, например с помощью `--mcp-config`. В интерактивной сессии Claude Code также пропускает автоматическое подключение к IDE, если вы не передадите `--ide`.

Details

96Never edit a migration after it has merged. Add a new migration instead.96Never edit a migration after it has merged. Add a new migration instead.

97```97```

98 98 

99Когда вы запускаете Claude из `packages/api/`, он загружает как `packages/api/CLAUDE.md`, так и корневой `CLAUDE.md`. Claude видит локальные инструкции наряду с правилами на уровне репозитория, без инструкций из `packages/web/` в контексте. То же самое относится к любому подкаталогу в non-monorepo дереве. Чтобы подтвердить, какие файлы загружены, запустите `/context` и проверьте список под **Memory files**.99Когда вы запускаете Claude из `packages/api/`, он загружает как `packages/api/CLAUDE.md`, так и корневой `CLAUDE.md`. Claude видит локальные инструкции наряду с правилами на уровне репозитория, без инструкций из `packages/web/` в контексте. То же самое относится к любому подкаталогу в non-monorepo дереве. Чтобы подтвердить, какие файлы загружены, запустите [`/context all`](https://code.claude.com/docs/ru/commands#all-commands) и проверьте список под **Memory files**.

100 100 

101Несколько способов держать файлы в актуальном состоянии по мере изменения кодовой базы и моделей:101Несколько способов держать файлы в актуальном состоянии по мере изменения кодовой базы и моделей:

102 102 

memory.md +6 −4

Details

67 67 

68### Установите проект CLAUDE.md68### Установите проект CLAUDE.md

69 69 

70Проект CLAUDE.md может быть сохранён либо в `./CLAUDE.md`, либо в `./.claude/CLAUDE.md`. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через управление версиями, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях. Чтобы подтвердить загрузку файла, запустите `/context` в сессии и проверьте список в разделе **Memory files**.70Проект CLAUDE.md может быть сохранён либо в `./CLAUDE.md`, либо в `./.claude/CLAUDE.md`. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через управление версиями, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях.

71 

72Чтобы подтвердить загрузку файла, запустите [`/context all`](https://code.claude.com/docs/ru/commands#all-commands) в сессии и проверьте список в разделе **Memory files**. В [полноэкранном режиме](https://code.claude.com/docs/ru/fullscreen.md) команда `/context` без аргументов сворачивает этот список.

71 73 

72> [!TIP]74> [!TIP]

73>75>


461* **Editing**: Claude читает `CLAUDE.md` через ссылку, но инструменты Edit и Write [отказываются писать через символическую ссылку](https://code.claude.com/docs/ru/errors.md#refusing-after-a-symlink-changed), и отказ направляет Claude на редактирование целевой ссылки, `AGENTS.md`, вместо этого463* **Editing**: Claude читает `CLAUDE.md` через ссылку, но инструменты Edit и Write [отказываются писать через символическую ссылку](https://code.claude.com/docs/ru/errors.md#refusing-after-a-symlink-changed), и отказ направляет Claude на редактирование целевой ссылки, `AGENTS.md`, вместо этого

462* **Windows**: если вы или кто-либо, кто клонирует репозиторий, работает на Windows, используйте импорт `@AGENTS.md` вместо этого. Создание символической ссылки там требует привилегий администратора или режима разработчика, и Git проверяет зафиксированную символическую ссылку как простой текстовый файл, если `core.symlinks` не включен, что оставляет этот клон с однострочным `CLAUDE.md` вместо ваших инструкций464* **Windows**: если вы или кто-либо, кто клонирует репозиторий, работает на Windows, используйте импорт `@AGENTS.md` вместо этого. Создание символической ссылки там требует привилегий администратора или режима разработчика, и Git проверяет зафиксированную символическую ссылку как простой текстовый файл, если `core.symlinks` не включен, что оставляет этот клон с однострочным `CLAUDE.md` вместо ваших инструкций

463 465 

464С любым подходом запустите `/context` в вашем следующем сеансе и подтвердите, что `CLAUDE.md` появляется под **Memory files**.466При любом подходе выполните `/context all` в следующей сессии и убедитесь, что `CLAUDE.md` отображается в разделе **Memory files**.

465 467 

466### Migrate instructions from other tools468### Migrate instructions from other tools

467 469 


567 569 

568## Просмотр и редактирование с помощью `/memory`570## Просмотр и редактирование с помощью `/memory`

569 571 

570Команда `/memory` перечисляет ваши файлы CLAUDE.md, CLAUDE.local.md и другие файлы памяти в областях действия пользователя и проекта, включая записи CLAUDE.md пользователя и проекта для файлов, которые еще не существуют. Она также позволяет включать и отключать автоматическую память и предоставляет опцию для открытия папки автоматической памяти. Выберите любой файл для открытия его в вашем редакторе; выбор файла, который еще не существует, сначала создает его. Чтобы проверить, какие файлы `CLAUDE.md` и файлы правил были загружены при запуске, выполните `/context`.572Команда `/memory` перечисляет ваши файлы CLAUDE.md, CLAUDE.local.md и другие файлы памяти в областях действия пользователя и проекта. Список включает записи CLAUDE.md пользователя и проекта для файлов, которые еще не существуют. Команда также позволяет включать и отключать автоматическую память и предоставляет опцию для открытия папки автоматической памяти. Выберите любой файл для открытия его в вашем редакторе; выбор файла, который еще не существует, сначала создает его.

571 573 

572Графические редакторы, такие как VS Code, открывают файл в отдельном окне, и вы можете продолжать использовать сессию, пока он открыт. Редакторы терминала, такие как Vim, захватывают терминал, пока вы не выйдете.574Графические редакторы, такие как VS Code, открывают файл в отдельном окне, и вы можете продолжать использовать сессию, пока он открыт. Редакторы терминала, такие как Vim, захватывают терминал, пока вы не выйдете.

573 575 


583 585 

584Для отладки:586Для отладки:

585 587 

586* Запустите `/context` и проверьте список под **Memory files**, чтобы убедиться в наличии файлов CLAUDE.md и CLAUDE.local.md, которые должны загружаться при запуске. Если какой-либо из них там отсутствует, Claude не может его видеть. Используйте `/memory` для открытия и редактирования файлов.588* Запустите `/context all` и проверьте список под **Memory files**, чтобы убедиться в наличии файлов CLAUDE.md и CLAUDE.local.md, которые должны загружаться при запуске. Если какой-либо из них там отсутствует, Claude не может его видеть. Используйте `/memory` для открытия и редактирования файлов.

587* Если появляется уведомление `Instruction file not loaded`, см. [что оно означает и что с этим делать](https://code.claude.com/docs/ru/errors.md#instruction-file-not-loaded).589* Если появляется уведомление `Instruction file not loaded`, см. [что оно означает и что с этим делать](https://code.claude.com/docs/ru/errors.md#instruction-file-not-loaded).

588* `CLAUDE.md` в подкаталоге вашего рабочего каталога не отображается под **Memory files**, потому что он загружается по требованию, а не при запуске. Когда он загружается, в терминале появляется строка `Loaded` с его путём. Чтобы проверить новый файл, создайте его из оболочки, а не просите Claude написать его, а затем попросите Claude прочитать файл в этом подкаталоге.590* `CLAUDE.md` в подкаталоге вашего рабочего каталога не отображается под **Memory files**, потому что он загружается по требованию, а не при запуске. Когда он загружается, в терминале появляется строка `Loaded` с его путём. Чтобы проверить новый файл, создайте его из оболочки, а не просите Claude написать его, а затем попросите Claude прочитать файл в этом подкаталоге.

589* Проверьте, что соответствующий CLAUDE.md находится в местоположении, которое загружается для вашего сеанса (см. [Выберите, где разместить файлы CLAUDE.md](#choose-where-to-put-claude-md-files)).591* Проверьте, что соответствующий CLAUDE.md находится в местоположении, которое загружается для вашего сеанса (см. [Выберите, где разместить файлы CLAUDE.md](#choose-where-to-put-claude-md-files)).

Details

245>245>

246> **Как значение по умолчанию**: установите `defaultMode` в [параметры](https://code.claude.com/docs/ru/settings.md#where-settings-live). Приложение desktop читает те же файлы параметров, что и CLI, и применяет режим разрешений к новым локальным сеансам.246> **Как значение по умолчанию**: установите `defaultMode` в [параметры](https://code.claude.com/docs/ru/settings.md#where-settings-live). Приложение desktop читает те же файлы параметров, что и CLI, и применяет режим разрешений к новым локальным сеансам.

247>247>

248> Режим, который вы выбираете в селекторе режима, запоминается для каждой папки и имеет приоритет над `defaultMode` для этой папки. Plan является исключением: его выбор применяется только к текущему сеансу.248> Режим, который вы выбираете в селекторе режима в локальной сессии, запоминается для каждой папки и имеет приоритет над `defaultMode` в настройках `.claude/` проекта. Новая локальная сессия всё равно может начаться в режиме из `defaultMode` в `~/.claude/settings.json` или управляемых настройках, поэтому проверьте селектор перед первым сообщением. Если вы выберете Plan, он применяется только к этой сессии.

249>249>

250> О том, куда помещается `defaultMode` в файле настроек, см. пример в [Начните в другом режиме разрешений](#start-in-a-different-mode).250> О том, куда помещается `defaultMode` в файле настроек, см. пример в [Начните в другом режиме разрешений](#start-in-a-different-mode).

251 251 


372 372 

373* **Прямое подключение к Anthropic API**: в интерактивных сессиях в терминале, а также в сессиях `-p`, Agent SDK, [расширения VS Code](https://code.claude.com/docs/ru/vs-code.md) и [десктопного приложения](https://code.claude.com/docs/ru/desktop.md), независимо от вашего плана или типа учётной записи, по мере развёртывания функции Anthropic. Сверьте тип своей сессии со следующими минимальными версиями Claude Code:373* **Прямое подключение к Anthropic API**: в интерактивных сессиях в терминале, а также в сессиях `-p`, Agent SDK, [расширения VS Code](https://code.claude.com/docs/ru/vs-code.md) и [десктопного приложения](https://code.claude.com/docs/ru/desktop.md), независимо от вашего плана или типа учётной записи, по мере развёртывания функции Anthropic. Сверьте тип своей сессии со следующими минимальными версиями Claude Code:

374 * В интерактивных сессиях в терминале запрос к серверу требует Claude Code v2.1.271 или новее на планах Pro, Max, Ultra и Team. На планах Enterprise и в учётных записях Claude API такие сессии требуют v2.1.278 или новее.374 * В интерактивных сессиях в терминале запрос к серверу требует Claude Code v2.1.271 или новее на планах Pro, Max, Ultra и Team. На планах Enterprise и в учётных записях Claude API такие сессии требуют v2.1.278 или новее.

375 * В сессиях `-p`, Agent SDK, расширения VS Code и десктопного приложения запрос к серверу требует Claude Code v2.1.281 или новее375 * В сессиях `-p` и расширения VS Code запрос к серверу требует Claude Code v2.1.278 или новее

376 * В сессиях Agent SDK и десктопного приложения запрос к серверу требует Claude Code v2.1.281 или новее

376 * Начиная с v2.1.282 сессия, которая [не получает флаги функций](https://code.claude.com/docs/ru/env-vars.md#features-that-need-feature-flag-fetching), например потому что вы отключили телеметрию, по умолчанию запрашивает сервер в сессии любого типа377 * Начиная с v2.1.282 сессия, которая [не получает флаги функций](https://code.claude.com/docs/ru/env-vars.md#features-that-need-feature-flag-fetching), например потому что вы отключили телеметрию, по умолчанию запрашивает сервер в сессии любого типа

377* **Облачный провайдер либо LLM-шлюз или прокси**: в [Claude Platform on AWS](https://code.claude.com/docs/ru/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, а также всякий раз, когда вы направляете `ANTHROPIC_BASE_URL` на [LLM-шлюз или прокси](https://code.claude.com/docs/ru/llm-gateway), независимо от вашего плана. Запрос к серверу по умолчанию требует Claude Code v2.1.278 или новее.378* **Облачный провайдер либо LLM-шлюз или прокси**: в [Claude Platform on AWS](https://code.claude.com/docs/ru/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, а также всякий раз, когда вы направляете `ANTHROPIC_BASE_URL` на [LLM-шлюз или прокси](https://code.claude.com/docs/ru/llm-gateway), независимо от вашего плана. Запрос к серверу по умолчанию требует Claude Code v2.1.278 или новее.

378* **Сессия [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway) с выполненным входом**: требуется Claude Code v2.1.280 или новее379* **Сессия [Claude apps gateway](https://code.claude.com/docs/ru/claude-apps-gateway) с выполненным входом**: требуется Claude Code v2.1.280 или новее

permissions.md +1 −1

Details

69 69 

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

71 71 

72Claude Code поддерживает несколько режимов разрешений, которые контролируют, как он одобряет вызовы инструментов. См. [Permission modes](https://code.claude.com/docs/ru/permission-modes.md) для определения того, когда использовать каждый из них. Чтобы изменить режим, в котором начинаются сеансы, установите `defaultMode` в ваших [файлах параметров](https://code.claude.com/docs/ru/settings.md#where-settings-live). [Which mode a session starts in](https://code.claude.com/docs/ru/permission-modes.md#which-mode-a-session-starts-in) охватывает встроенное значение по умолчанию для каждого плана и то, что читает расширение VS Code.72Claude Code поддерживает несколько режимов разрешений, которые контролируют, как он одобряет вызовы инструментов. См. [Permission modes](https://code.claude.com/docs/ru/permission-modes.md) для определения того, когда использовать каждый из них. Чтобы изменить режим разрешений по умолчанию для новых сессий, установите `defaultMode` в ваших [файлах настроек](https://code.claude.com/docs/ru/settings.md#where-settings-live). [Which mode a session starts in](https://code.claude.com/docs/ru/permission-modes.md#which-mode-a-session-starts-in) охватывает встроенное значение по умолчанию для каждого плана и то, что читает расширение VS Code.

73 73 

74| Режим | Описание |74| Режим | Описание |

75| :- | :- |75| :- | :- |

Details

571| :- | :- | :- |571| :- | :- | :- |

572| Hook команды | Где угодно в `command` и `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` и `CLAUDE_PLUGIN_OPTION_<KEY>` |572| Hook команды | Где угодно в `command` и `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` и `CLAUDE_PLUGIN_OPTION_<KEY>` |

573| Monitor команды | Где угодно в `command` | Не экспортируется |573| Monitor команды | Где угодно в `command` | Не экспортируется |

574| MCP `stdio` серверы | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |574| MCP `stdio` серверы | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |

575| MCP `http`, `sse`, `ws` серверы | `url`, `headers`, `headersHelper` | Не применимо |575| MCP `http`, `sse`, `ws` серверы | `url`, `headers`, `headersHelper` | Не применимо |

576| LSP серверы | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |576| LSP серверы | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |

577| Skill, команда и содержимое агента | Где угодно в теле Markdown | Не применимо |577| Skill, команда и содержимое агента | Где угодно в теле Markdown | Не применимо |

Details

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

155| :- | :- | :- |155| :- | :- | :- |

156| `agent.offer` | Тип субагента предлагается Claude | `{ isOffered: false }`, чтобы скрыть его |156| `agent.offer` | Тип субагента предлагается Claude | `{ isOffered: false }`, чтобы скрыть его |

157| `agent.spawn` | Субагент или участник [команды агентов](https://code.claude.com/docs/ru/agent-teams.md) вот-вот запустится. Для участника команды `e.isTeammate` равно `true`. | `next({ ...e, model })`, чтобы выбрать его модель, или `{ deny: reason }` |157| `agent.spawn` | Субагент или участник [команды агентов](https://code.claude.com/docs/ru/agent-teams.md) вот-вот запустится, либо субагент, который завершил работу или был остановлен, вот-вот снова запустится. Для участника команды `e.isTeammate` равно `true`. Для возобновлённого запуска задано `e.resume`. | `next({ ...e, model })`, чтобы выбрать модель того, кто запускается, или `{ deny: reason }` |

158 158 

159Когда Claude возобновляет субагента с помощью инструмента [`SendMessage`](https://code.claude.com/docs/ru/sub-agents#resume-subagents), ваш хук `agent.spawn` повторно не запускается. Чтобы отклонять вызовы `SendMessage`, которые возобновляют субагента, сопоставляйте этот инструмент в хуке [`tool.call`](https://code.claude.com/docs/ru/plugins/mods/events#guard-or-change-a-tool-call).159Ваш хук `agent.spawn` также запускается, когда субагент, который завершил работу или был остановлен, вот-вот снова запустится, например когда Claude отправляет ему сообщение с помощью инструмента [`SendMessage`](https://code.claude.com/docs/ru/sub-agents#resume-subagents). В этом событии `e.resume` равно `{ agentId }`. Если ваш хук подсчитывает субагентов, пропускайте события, в которых задано `e.resume`, чтобы возобновлённый субагент не учитывался повторно.

160 

161Верните `{ deny: reason }`, чтобы отклонить возобновлённый запуск. Запуск не начинается, и субагент остаётся в прежнем состоянии. Если запуск запросил вызов `SendMessage`, Claude читает в качестве результата этого вызова `a plugin declined the resume:`, за которым следует ваша причина. Если для возобновлённого запуска вы передаёте в `next` изменённое событие, например с другой `model`, Claude Code игнорирует это изменение.

162 

163> [!NOTE]

164>

165> Событие для возобновлённого запуска требует Claude Code v2.1.299 или новее. До v2.1.299 ваш хук `agent.spawn` не запускался при возобновлении субагента. В этих версиях, чтобы отклонять вызовы `SendMessage`, которые возобновляют субагента, сопоставляйте этот инструмент в хуке [`tool.call`](https://code.claude.com/docs/ru/plugins/mods/events#guard-or-change-a-tool-call).

160 166 

161### Интерфейс167### Интерфейс

162 168 

Details

502* Проблема с сетью или прокси: брандмауэр или прокси может блокировать исходящий HTTPS-запрос. Remote Control требует доступа к Anthropic API через порт 443.502* Проблема с сетью или прокси: брандмауэр или прокси может блокировать исходящий HTTPS-запрос. Remote Control требует доступа к Anthropic API через порт 443.

503* Не удалось создать сессию: если вы также видите `Session creation failed — see debug log`, сбой произошёл на более раннем этапе настройки. Убедитесь, что ваша подписка активна.503* Не удалось создать сессию: если вы также видите `Session creation failed — see debug log`, сбой произошёл на более раннем этапе настройки. Убедитесь, что ваша подписка активна.

504 504 

505### "working folder not found"

506 

507В терминале, где запущен [`claude remote-control`](#start-a-remote-control-session), сообщение `Session failed: working folder not found:`, за которым следует путь в кавычках, означает, что сессию не удалось запустить, потому что по этому пути нет папки.

508 

509* **Сервер всё ещё работает**: восстановите папку и снова запустите сессию или остановите сервер

510* **Сервер завершил работу**: снова выполните `claude remote-control` из существующей папки

511 

512До v2.1.318 сессия, завершившаяся таким сбоем, показывала `Session failed: spawn error:` и сообщение `ENOENT`, в котором вместо отсутствующей папки был указан файл программы.

513 

514### "The program file this Remote Control started from is gone"

515 

516Это предупреждение в терминале, где запущен [`claude remote-control`](#start-a-remote-control-session), означает, что файл программы, из которого был запущен сервер, отсутствует, и новые сессии запускаются на более новой версии, которая его заменила. Чтобы перевести на эту версию и сам сервер, остановите его и снова выполните `claude remote-control`. Если Claude Code установлен в сетевом хранилище, перезапустите сервер сейчас и следуйте разделу [Установка в сетевое хранилище](https://code.claude.com/docs/ru/setup.md#install-on-network-storage). В противном случае новые сессии запускаются без перезапуска.

517 

518Когда файл программы отсутствует и Claude Code не находит более новой версии для запуска, новые сессии завершаются сбоем. В терминале отображается ошибка, например `Session failed: spawn error:`, за которой следует сообщение `ENOENT`. Остановите сервер, снова [установите Claude Code](https://code.claude.com/docs/ru/setup.md#install-claude-code), если `claude` не запускается в вашей оболочке, и снова выполните `claude remote-control`. До v2.1.318 новые сессии завершались таким сбоем, даже если была установлена более новая версия.

519 

505### "Couldn't reconnect to your Remote Control session"520### "Couldn't reconnect to your Remote Control session"

506 521 

507Когда вы возобновляете диалог с помощью `claude --resume` или `claude --continue`, Claude Code переподключается к сессии Remote Control, записанной в этом диалоге. Это сообщение означает, что переподключение не удалось по причине, которая может быть временной, например из-за прерывания сети или ошибки сервера, поэтому Claude Code не может подтвердить, существует ли ещё удалённая сессия.522Когда вы возобновляете диалог с помощью `claude --resume` или `claude --continue`, Claude Code переподключается к сессии Remote Control, записанной в этом диалоге. Это сообщение означает, что переподключение не удалось по причине, которая может быть временной, например из-за прерывания сети или ошибки сервера, поэтому Claude Code не может подтвердить, существует ли ещё удалённая сессия.

sandboxing.md +59 −27

Details

71* **Overrides**: выберите, могут ли команды, которые завершаются ошибкой в песочнице, в качестве запасного варианта выполняться вне песочницы. Это настройка [`allowUnsandboxedCommands`](https://code.claude.com/docs/ru/settings-reference#sandbox-allowunsandboxedcommands)71* **Overrides**: выберите, могут ли команды, которые завершаются ошибкой в песочнице, в качестве запасного варианта выполняться вне песочницы. Это настройка [`allowUnsandboxedCommands`](https://code.claude.com/docs/ru/settings-reference#sandbox-allowunsandboxedcommands)

72* **Config**: просмотр итоговых настроек песочницы72* **Config**: просмотр итоговых настроек песочницы

73 73 

74Если на панели отображается только вкладка Dependencies, значит, отсутствует обязательный пакет. Установите его, как описано в разделе [Настройка Linux и WSL2](#set-up-linux-and-wsl2), перезапустите Claude Code и снова выполните `/sandbox`.74Если на панели отображается только вкладка Dependencies, песочница пока не может запуститься. Устраните проблемы, о которых сообщает вкладка, как описано в разделе [Настройка Linux и WSL2](#set-up-linux-and-wsl2), перезапустите Claude Code и снова выполните `/sandbox`.

75 75 

76**2. Выберите режим**76**2. Выберите режим**

77 77 


97 97 

98> [!WARNING]98> [!WARNING]

99>99>

100> По умолчанию, если песочница не может запуститься из-за отсутствующей зависимости или неподдерживаемой платформы, Claude Code выполняет команды без изоляции в песочнице. Чтобы вместо этого Claude Code завершал работу при запуске, задайте для [`sandbox.failIfUnavailable`](https://code.claude.com/docs/ru/settings-reference#sandbox-failifunavailable) значение `true`. Эту настройку могут использовать управляемые развёртывания, в которых песочница является обязательным механизмом безопасности.100> По умолчанию, если платформа не поддерживает песочницу или проверка зависимостей при запуске завершается неудачей, Claude Code выполняет команды без изоляции в песочнице. Чтобы вместо этого Claude Code завершал работу при запуске, задайте для [`sandbox.failIfUnavailable`](https://code.claude.com/docs/ru/settings-reference#sandbox-failifunavailable) значение `true`. Эту настройку могут использовать управляемые развёртывания, в которых песочница является обязательным механизмом безопасности.

101 101 

102### Проверка того, что команды выполняются в песочнице102### Проверка того, что команды выполняются в песочнице

103 103 


135 135 

136Ripgrep входит в состав нативного бинарного файла Claude Code. Фильтр seccomp необязателен и добавляет блокировку доменных сокетов Unix. Если он отсутствует, установите его с помощью `npm install -g @anthropic-ai/sandbox-runtime`.136Ripgrep входит в состав нативного бинарного файла Claude Code. Фильтр seccomp необязателен и добавляет блокировку доменных сокетов Unix. Если он отсутствует, установите его с помощью `npm install -g @anthropic-ai/sandbox-runtime`.

137 137 

138Когда отсутствует обязательная зависимость, вкладка Dependencies остаётся единственной отображаемой вкладкой, пока вы её не установите. Когда отсутствует только необязательный фильтр seccomp, вкладка Dependencies отображается вместе с остальными вкладками. Проверка зависимостей выполняется при запуске, поэтому после установки пакетов перезапустите Claude Code, чтобы `/sandbox` их обнаружил.138* **Dependencies — единственная вкладка**: песочница не может запуститься. Установите то, что вкладка указывает как отсутствующее, или, если она сообщает об ограничении AppArmor в Ubuntu, [добавьте профиль AppArmor для bubblewrap](#add-an-apparmor-profile-for-bubblewrap)

139* **Dependencies отображается рядом с другими вкладками**: вкладка указывает отсутствующий необязательный компонент, например фильтр seccomp. Песочница может запуститься без него, поэтому устанавливайте его, только если вам нужно то, что он добавляет

139 140 

140> [accordion] Ubuntu 24.04 и новее: разрешите bubblewrap создавать пространства имён пользователей141Проверка зависимостей выполняется при запуске, поэтому после установки пакетов перезапустите Claude Code, чтобы `/sandbox` их обнаружил.

141>

142> В Ubuntu 24.04 и новее политика AppArmor по умолчанию не позволяет bubblewrap создавать пространства имён пользователей, необходимые ему для изоляции.

143>

144> Чтобы проверить, действует ли это ограничение в вашей среде, в том числе в WSL2, выполните `sysctl kernel.apparmor_restrict_unprivileged_userns`. Если команда возвращает `0`, пропустите этот шаг. Если она выводит ошибку `No such file or directory`, ключ не существует, и этот шаг можно пропустить. Если она возвращает `1`, добавьте профиль AppArmor, предоставляющий `bwrap` эту возможность:

145>

146> ```bash theme={null}

147> sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

148> abi <abi/4.0>,

149> include <tunables/global>

150>

151> profile bwrap /usr/bin/bwrap flags=(unconfined) {

152> userns,

153> include if exists <local/bwrap>

154> }

155> EOF

156> ```

157>

158> Профиль применяется только к самому `bwrap`, а не к командам, которые он выполняет в песочнице. Перезагрузите AppArmor, чтобы применить его:

159>

160> ```bash theme={null}

161> sudo systemctl reload apparmor

162> ```

163 142 

164> [accordion] Примечания для WSL2143> [accordion] Примечания для WSL2

165>144>


167>146>

168> В WSL2 запуск бинарного файла Windows, например `cmd.exe`, `powershell.exe` или чего-либо в `/mnt/c/`, WSL передаёт хосту Windows через сокет Unix, поэтому возможность запустить такой файл из команды в песочнице определяется [настройками сокетов Unix](https://code.claude.com/docs/ru/settings-reference.md#sandbox-network-allowunixsockets) песочницы: чтобы сокет вообще блокировался, должен быть установлен необязательный фильтр seccomp. Чтобы разрешить такие запуски, задайте `allowAllUnixSockets`, что открывает все сокеты Unix для команд в песочнице.147> В WSL2 запуск бинарного файла Windows, например `cmd.exe`, `powershell.exe` или чего-либо в `/mnt/c/`, WSL передаёт хосту Windows через сокет Unix, поэтому возможность запустить такой файл из команды в песочнице определяется [настройками сокетов Unix](https://code.claude.com/docs/ru/settings-reference.md#sandbox-network-allowunixsockets) песочницы: чтобы сокет вообще блокировался, должен быть установлен необязательный фильтр seccomp. Чтобы разрешить такие запуски, задайте `allowAllUnixSockets`, что открывает все сокеты Unix для команд в песочнице.

169 148 

149#### Добавление профиля AppArmor для bubblewrap

150 

151Добавьте профиль, если Claude Code запускает `/usr/bin/bwrap` и происходит одно из следующего:

152 

153* Claude Code [сообщает об ограничении AppArmor в Ubuntu на пространства имён пользователей](#apparmor-restriction-stops-bubblewrap)

154* Команды в песочнице завершаются ошибкой `bwrap: setting up uid map: Permission denied` или `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted`, пока [это ограничение действует](#bwrap-uid-map-permission-denied)

155 

156Claude Code запускает первый `bwrap` в `PATH`, если только управляемые настройки не указывают другой в [`sandbox.bwrapPath`](https://code.claude.com/docs/ru/settings-reference#sandbox-bwrappath). Чтобы узнать, какой `bwrap` идёт первым, выполните `which bwrap` в оболочке, из которой вы запускаете Claude Code. Если Claude Code запускает любой путь, отличный от `/usr/bin/bwrap`, вместо этого [снимите ограничение с помощью `sysctl`](#apparmor-restriction-stops-bubblewrap).

157 

158Чтобы добавить профиль для `/usr/bin/bwrap`, выполните эту команду:

159 

160```bash theme={null}

161sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

162abi <abi/4.0>,

163include <tunables/global>

164 

165profile bwrap /usr/bin/bwrap flags=(unconfined) {

166 userns,

167 include if exists <local/bwrap>

168}

169EOF

170```

171 

172Перезагрузите AppArmor, чтобы применить его:

173 

174```bash theme={null}

175sudo systemctl reload apparmor

176```

177 

178Затем перезапустите Claude Code и [убедитесь, что песочница работает](#confirm-commands-run-inside-the-sandbox).

179 

170### Режимы песочницы180### Режимы песочницы

171 181 

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


716 726 

717Два ключа помимо `enabled` определяют, что происходит, когда песочница не может выполнить команду:727Два ключа помимо `enabled` определяют, что происходит, когда песочница не может выполнить команду:

718 728 

719* **`failIfUnavailable`**: отсутствующая зависимость, такая как bubblewrap на Linux, блокирует запуск Claude Code вместо возврата к выполнению без изоляции729* **`failIfUnavailable`**: если платформа не поддерживает песочницу или проверка зависимостей при запуске завершается неудачей, Claude Code отказывается запускаться вместо возврата к выполнению без изоляции

720* **`allowUnsandboxedCommands: false`**: Claude Code игнорирует механизм выхода `dangerouslyDisableSandbox`, поэтому, когда команда завершается ошибкой в песочнице, Claude не может повторить её вне песочницы730* **`allowUnsandboxedCommands: false`**: Claude Code игнорирует механизм выхода `dangerouslyDisableSandbox`, поэтому, когда команда завершается ошибкой в песочнице, Claude не может повторить её вне песочницы

721 731 

722Рассмотрите также следующие дополнения:732Рассмотрите также следующие дополнения:


902 912 

903В непривилегированном контейнере [bubblewrap](#os-level-enforcement) не может смонтировать новую файловую систему `/proc`, поэтому изолированные команды завершаются ошибкой `bwrap`, например `Can't mount proc on /newroot/proc: Operation not permitted`. Установите [`enableWeakerNestedSandbox`](https://code.claude.com/docs/ru/settings-reference#sandbox-enableweakernestedsandbox) в `true`, чтобы песочница вместо этого выполняла bind-монтирование существующего `/proc` контейнера. Используйте эту настройку только тогда, когда внешний контейнер уже обеспечивает нужную вам границу изоляции, так как она раскрывает изолированным командам информацию о процессах, которую скрыло бы новое монтирование `/proc`.913В непривилегированном контейнере [bubblewrap](#os-level-enforcement) не может смонтировать новую файловую систему `/proc`, поэтому изолированные команды завершаются ошибкой `bwrap`, например `Can't mount proc on /newroot/proc: Operation not permitted`. Установите [`enableWeakerNestedSandbox`](https://code.claude.com/docs/ru/settings-reference#sandbox-enableweakernestedsandbox) в `true`, чтобы песочница вместо этого выполняла bind-монтирование существующего `/proc` контейнера. Используйте эту настройку только тогда, когда внешний контейнер уже обеспечивает нужную вам границу изоляции, так как она раскрывает изолированным командам информацию о процессах, которую скрыло бы новое монтирование `/proc`.

904 914 

915### Ограничение AppArmor в Ubuntu мешает запуску bubblewrap

916 

917На Linux и WSL2 сообщение `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` означает, что ограничение AppArmor в Ubuntu не даёт песочнице запуститься.

918 

919Чтобы песочница запустилась, снимите ограничение одним из двух способов:

920 

921* [Добавьте профиль AppArmor для bubblewrap](#add-an-apparmor-profile-for-bubblewrap), если Claude Code запускает `/usr/bin/bwrap`

922* В оболочке выполните `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`: это снимает ограничение для всех программ на компьютере и действует до перезагрузки

923 

924Затем перезапустите Claude Code и [убедитесь, что песочница работает](#confirm-commands-run-inside-the-sandbox).

925 

926Пока вы не снимете ограничение, команды выполняются без песочницы в рамках обычной процедуры запроса разрешений, либо Claude Code отказывается запускаться, если [`sandbox.failIfUnavailable`](https://code.claude.com/docs/ru/settings-reference#sandbox-failifunavailable) имеет значение `true`.

927 

928### Изолированные команды завершаются ошибкой `bwrap: setting up uid map: Permission denied`

929 

930На Linux и WSL2 эта ошибка или `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` может означать, что bubblewrap останавливает ограничение AppArmor в Ubuntu на пользовательские пространства имён. Чтобы проверить это, выполните `sysctl kernel.apparmor_restrict_unprivileged_userns` в оболочке:

931 

932* `kernel.apparmor_restrict_unprivileged_userns = 1`: ограничение включено. [Добавьте профиль AppArmor](#add-an-apparmor-profile-for-bubblewrap), если Claude Code запускает `/usr/bin/bwrap`, или выполните `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`, что снимает его для всех программ до перезагрузки. Затем перезапустите Claude Code и [убедитесь, что песочница работает](#confirm-commands-run-inside-the-sandbox)

933* Любой другой вывод: причина не в этом ограничении. Чтобы сообщить о сбое, выполните [`/feedback`](https://code.claude.com/docs/ru/commands#all-commands) в промпте Claude Code

934 

935До версии 2.1.310 Claude Code не проверял наличие этого ограничения при запуске, поэтому `/sandbox` не сообщал о нём.

936 

905### В путях настроек `.claude` появляются файлы размером 0 байт только для чтения, и «Да, и больше не спрашивать» не сохраняется937### В путях настроек `.claude` появляются файлы размером 0 байт только для чтения, и «Да, и больше не спрашивать» не сохраняется

906 938 

907На Linux и WSL2 песочница удерживает запрет на запись в ещё не существующий файл, создавая там 0-байтовый заполнитель только для чтения, пока выполняется изолированная команда. После этого песочница удаляет заполнитель.939На Linux и WSL2 песочница удерживает запрет на запись в ещё не существующий файл, создавая там 0-байтовый заполнитель только для чтения, пока выполняется изолированная команда. После этого песочница удаляет заполнитель.

Details

472 472 

473Чтобы убедиться, что ловушка работает, добавьте сразу под строкой `trap` строку, вызывающую несуществующую команду, например `no-such-command`. Запустите файл хука из своей оболочки и убедитесь, что `echo $?` выводит `1`, затем удалите эту строку.473Чтобы убедиться, что ловушка работает, добавьте сразу под строкой `trap` строку, вызывающую несуществующую команду, например `no-such-command`. Запустите файл хука из своей оболочки и убедитесь, что `echo $?` выводит `1`, затем удалите эту строку.

474 474 

475#### Узнайте, почему был отправлен запрос на порождение

476 

477Ваш хук получает причину каждого запроса на порождение в `CLAUDE_RUNNER_SPAWN_REASON`, поэтому вы можете логировать, почему хук был запущен, вместе с `CLAUDE_RUNNER_SESSION_UUID`. Требуется Claude Code v2.1.318 или новее на оркестраторе. Читайте её как `"${CLAUDE_RUNNER_SPAWN_REASON:-}"`, потому что она может быть не установлена, и запускайте средство выполнения при любом значении. Если ваш хук ветвится по ней, оставьте ветку по умолчанию, потому что Anthropic может добавлять новые значения.

478 

479Чтобы найти причину более ранних запросов, ищите в логе каждой реплики оркестратора `session=` и `CLAUDE_RUNNER_SESSION_UUID` сессии, а не её ID `session_...`. Строки `ok session=` и `nack session=` показывают значение `CLAUDE_RUNNER_SPAWN_REASON` после `reason=` или `reason=-`, если оно не было установлено:

480 

481* **`[runner:orchestrator] ok session=`**: хук завершился с кодом 0

482* **`[runner:orchestrator] nack session=`**: оркестратор сообщает Anthropic о неудачном запросе на порождение

483 

484Каждое значение передаёт только последнюю причину, которую Anthropic записал для сессии, а не её историю:

485 

486| Значение | Что произошло | Что проверить |

487| :- | :- | :- |

488| `session_created` | Это первый запрос на порождение для новой сессии | Ничего. Не полагайтесь на него, чтобы распознать первый запрос сессии, потому что первый запрос, который видит ваш хук, может содержать `runner_lost`, если сессию удерживало средство выполнения фиксированного флота или резервное средство выполнения. |

489| `no_runner_registered` | Ни одно средство выполнения не зарегистрировалось для предыдущего запроса в пределах `--expected-spawn-seconds`, и Anthropic не записал для него отчёта о сбое | `stop: no nack for session=` или `nack failed session=` среди более ранних строк сессии означает, что отчёт о сбое не был записан. Прочитайте любую ошибку хука перед ней, а если оркестратор останавливался, см. [Остановка или перезапуск оркестратора](#stop-or-restart-the-orchestrator). После строки `ok session=` проверьте, что её средство выполнения запустилось и зарегистрировалось в пределах `--expected-spawn-seconds`. Если ни одна реплика не записала запрос в лог, проверьте свои оркестраторы на перезапуски и строки `poll failed`. |

490| `hook_failed` | Ваш оркестратор сообщил, что предыдущий запрос завершился сбоем, допускающим повторную попытку, например потому что ваш хук завершился с кодом 1 или всё ещё выполнялся, когда истёк `--hook-timeout`. Значение то же, когда ваш оркестратор возвращает запрос Anthropic, не запуская хук, например во время остановки оркестратора. | Найдите последнюю строку сессии `[runner:orchestrator] nack session=` или `stop: handing back session=` перед этим запросом. Ошибка порождения, которую отправил оркестратор, следует за значением `reason=` и может продолжаться на следующих строках. Строка `handing back session=` означает, что оркестратор останавливался и не запускал хук, поэтому в хуке исправлять нечего. |

491| `runner_lost` | Средство выполнения, которое удерживало сессию, перестало отчитываться перед Anthropic, отменило регистрацию или было удалено | Найдите, что остановило средство выполнения или отрезало его от Anthropic, например вытеснение узла, завершение из-за нехватки памяти, изъятие spot-экземпляра или ваше собственное развёртывание или уменьшение масштаба |

492| `runner_reported_failure` | Предыдущее средство выполнения сообщило, что сессия на нём завершилась сбоем, например во время checkout | Прочитайте лог предыдущего средства выполнения. Если это значение получают многие сессии, проверьте образ и настройку репозитория. |

493| `resumed` | Сессия была приостановлена и теперь снова нуждается в средстве выполнения. Например, её средство выполнения освободило её согласно [`--release-idle-session-min`](#make-on-demand-runners-exit-when-idle), а позже она получила новое сообщение. | Ничего |

494| `requeued` | Сессия была возвращена в очередь, например когда Owner выбрал **Retry** или заблокированная сессия получила новое сообщение | Если одна и та же сессия продолжает получать это значение, прочитайте ошибку в её строках `nack session=`. Если её хук завершился с кодом 0, прочитайте лог средства выполнения. |

495| `server_retry` | Anthropic отказался от предыдущего запроса или от запуска сессии на её средстве выполнения и повторяет попытку. Ваш хук не завершился сбоем. | Ничего для единичного запроса. Если значение продолжает появляться, для одной сессии или для многих, сообщите об этом [вашей команде по работе с клиентами Anthropic](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#report-an-issue). |

496| `prewarm` | Это запрос предварительного прогрева, сессии ещё нет | Ничего |

497 

475### Остановка или перезапуск оркестратора498### Остановка или перезапуск оркестратора

476 499 

477Чтобы остановить или перезапустить оркестратор, не обрывая выполняющиеся хуки `spawn-runner`, запускайте его с [`--shutdown-drain-sec`](https://code.claude.com/docs/ru/self-hosted-environments-reference#orchestrator-cli-flags). Тогда при получении `SIGTERM` он даёт выполняющимся хукам на завершение не больше заданного вами числа секунд. О том, как выбрать значение и настроить под него супервизор процессов, см. [Подбор `--shutdown-drain-sec` и таймаута остановки оркестратора](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).500Чтобы остановить или перезапустить оркестратор, не обрывая выполняющиеся хуки `spawn-runner`, запускайте его с [`--shutdown-drain-sec`](https://code.claude.com/docs/ru/self-hosted-environments-reference#orchestrator-cli-flags). Тогда при получении `SIGTERM` он даёт выполняющимся хукам на завершение не больше заданного вами числа секунд. О том, как выбрать значение и настроить под него супервизор процессов, см. [Подбор `--shutdown-drain-sec` и таймаута остановки оркестратора](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).

Details

129 Claude Code читает `managed-mcp.json`, развернутый по его [системному пути](https://code.claude.com/docs/ru/managed-mcp.md#exclusive-control-with-managed-mcp-json), отдельно от уровня управляемых параметров, поэтому файл все еще применяется, когда действуют параметры, управляемые сервером.129 Claude Code читает `managed-mcp.json`, развернутый по его [системному пути](https://code.claude.com/docs/ru/managed-mcp.md#exclusive-control-with-managed-mcp-json), отдельно от уровня управляемых параметров, поэтому файл все еще применяется, когда действуют параметры, управляемые сервером.

130* Параметры, ограниченные источниками политики на уровне ОС, такие как `policyHelper` и `wslInheritsWindowsSettings`, не учитываются. Разверните их через MDM или системный файл `managed-settings.json` вместо этого. `policyHelper`, развернутый таким образом, работает только тогда, когда его источник является выбранным в [приоритете в пределах управляемого уровня](https://code.claude.com/docs/ru/managed-settings.md#precedence-within-the-managed-tier).130* Параметры, ограниченные источниками политики на уровне ОС, такие как `policyHelper` и `wslInheritsWindowsSettings`, не учитываются. Разверните их через MDM или системный файл `managed-settings.json` вместо этого. `policyHelper`, развернутый таким образом, работает только тогда, когда его источник является выбранным в [приоритете в пределах управляемого уровня](https://code.claude.com/docs/ru/managed-settings.md#precedence-within-the-managed-tier).

131 131 

132## Доставка параметров132## Доставка настроек

133 133 

134### Приоритет параметров134### Приоритет настроек

135 135 

136Управляемые сервером настройки и [управляемые на эндпоинте настройки](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) занимают наивысший уровень в [иерархии настроек](https://code.claude.com/docs/ru/settings.md#settings-precedence) Claude Code. Ключ, который вы задаёте здесь, имеет приоритет над тем же ключом в собственных файлах настроек пользователя или в значении `--settings`, за исключением [исключений из приоритета управляемых настроек](https://code.claude.com/docs/ru/settings.md#exceptions-to-managed-settings-precedence).136Настройки, управляемые сервером, и [настройки, управляемые на уровне конечного устройства](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms), занимают высший уровень в [иерархии настроек](https://code.claude.com/docs/ru/settings.md#settings-precedence) Claude Code. Ключ, который вы задаёте здесь, имеет приоритет над тем же ключом в собственных файлах настроек пользователя или в значении `--settings`, за исключением [исключений из приоритета управляемых настроек](https://code.claude.com/docs/ru/settings.md#exceptions-to-managed-settings-precedence).

137 137 

138В пределах управляемого уровня Claude Code по умолчанию использует первый источник, который доставляет хотя бы один ключ политики, сначала проверяя управляемые сервером параметры, а затем управляемые конечной точкой параметры, за исключением [ключей исключений, рассмотренных далее](#per-key-exceptions-across-managed-sources). [Как Claude Code объединяет управляемые источники](https://code.claude.com/docs/ru/managed-settings.md#precedence-within-the-managed-tier) содержит полный рейтинг, исключение для ключей управления и согласие, которое применяется к каждому источнику.138На управляемом уровне Claude Code по умолчанию использует первый источник, который доставляет хотя бы один ключ политики: сначала проверяются настройки, управляемые сервером, а затем настройки, управляемые на уровне конечного устройства, за исключением [ключей-исключений, описанных далее](#per-key-exceptions-across-managed-sources). В разделе [Как Claude Code объединяет управляемые источники](https://code.claude.com/docs/ru/managed-settings.md#precedence-within-the-managed-tier) приведены полный порядок приоритета, особый порядок для управляющих ключей и необязательная настройка, при включении которой Claude Code применяет все источники.

139 139 

140Если выбранный источник — это политика MDM или файл управляемых параметров, чей [`policyHelper`](https://code.claude.com/docs/ru/settings-reference#policyhelper) предоставляет управляемые параметры, выходные данные помощника заменяют этот источник как единственную управляемую конфигурацию для запуска. Claude Code не обращается к `policyHelper`, настроенному в MDM или файловых параметрах, пока управляемые сервером параметры доставляют ключ политики.140Если выбранный источник — это политика MDM или файл управляемых настроек, чей [`policyHelper`](https://code.claude.com/docs/ru/settings-reference#policyhelper) предоставляет управляемые настройки, вывод этого хелпера заменяет данный источник и становится единственной управляемой конфигурацией для запуска. Claude Code не обращается к `policyHelper`, настроенному в MDM или в настройках на основе файлов, пока настройки, управляемые сервером, доставляют ключ политики.

141 141 

142Если более поздняя выборка обнаруживает удаление управляемых сервером параметров, Claude Code сразу же запускает этот помощник вместо следующего запуска. Запись [`policyHelper`](https://code.claude.com/docs/ru/settings-reference#policyhelper) охватывает то, что происходит при сбое этого запуска.142Если при последующем получении выясняется, что настройки, управляемые сервером, удалены, Claude Code запускает этот хелпер сразу, а не при следующем запуске. В записи [`policyHelper`](https://code.claude.com/docs/ru/settings-reference#policyhelper) описано, что происходит, если этот запуск завершается неудачно.

143 143 

144Если вы очищаете конфигурацию управляемых сервером параметров в консоли администратора с намерением вернуться к управляемой конечной точкой plist или политике реестра, имейте в виду, что [кэшированные параметры](#fetch-and-caching-behavior) сохраняются на клиентских машинах до следующей успешной выборки, и ключи, которые [применяются только при следующем запуске](#fetch-and-caching-behavior), такие как `model`, остаются в силе до перезагрузки каждого клиента. Запустите `/status`, чтобы увидеть, какой управляемый источник активен.144Если вы очищаете конфигурацию, управляемую сервером, в консоли администратора, чтобы вернуться к политике plist или реестра, управляемой на уровне конечного устройства, учтите, что [кэшированные настройки](#fetch-and-caching-behavior) сохраняются на клиентских машинах до следующего успешного получения, а ключи, которые [применяются только при следующем запуске](#fetch-and-caching-behavior), например `model`, остаются в силе, пока каждый клиент не будет перезапущен. Выполните `/status`, чтобы увидеть, какой управляемый источник активен.

145 145 

146### Исключения для отдельных ключей в управляемых источниках146### Исключения для отдельных ключей в управляемых источниках

147 147 

148Эти ключи являются исключениями из правила отсутствия объединения:148Эти ключи являются исключениями из правила отсутствия объединения:

149 149 

150* **Ключи блокировки между источниками**: небольшой набор ключей, таких как блокировки списка разрешений песочницы, [указанные на странице управляемых параметров](https://code.claude.com/docs/ru/managed-settings.md#precedence-within-the-managed-tier). Claude Code соблюдает их, когда любой управляемый администратором источник их устанавливает; уровень реестра HKCU, доступный для записи пользователем, исключен.150* **Ключи блокировки, действующие во всех источниках**: небольшой набор ключей, например блокировки списка разрешённых для песочницы, [перечисленных на странице управляемых настроек](https://code.claude.com/docs/ru/managed-settings.md#precedence-within-the-managed-tier). Claude Code учитывает их, когда их задаёт любой управляемый источник, контролируемый администратором; уровень реестра HKCU, доступный пользователю для записи, исключён.

151 151 

152 Когда [`policyHelper`](https://code.claude.com/docs/ru/settings-reference#policyhelper) предоставляет управляемые параметры, его выходные данные — это единственный источник, который эти проверки читают, за исключением [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/ru/settings-reference#forceremotesettingsrefresh), который Claude Code читает из источников администратора непосредственно при запуске.152 Когда [`policyHelper`](https://code.claude.com/docs/ru/settings-reference#policyhelper) предоставляет управляемые настройки, его вывод — единственный источник, который читают эти проверки, за исключением [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/ru/settings-reference#forceremotesettingsrefresh), который Claude Code читает непосредственно из источников администратора при запуске.

153* **Блок `env`**: помимо единицы телеметрии и переменных маршрутизации, связанных с ключом учетных данных, оба рассмотрены ниже, он объединяется по ключам в управляемых администратором источниках. Для каждой переменной окружения источник с наивысшим приоритетом, определяющий ее, побеждает, а источники администратора с более низким приоритетом заполняют переменные, которые источники с более высоким приоритетом оставляют неустановленными. Запись `env`, управляемая конечной точкой, поэтому применяется всякий раз, когда конфигурация управляемых сервером параметров оставляет эту переменную неустановленной, или пока кэшированное значение сервера для нее [удерживается в ожидании подтверждения сервером](#fetch-and-caching-behavior). Требуется Claude Code v2.1.223 или более поздняя версия. До v2.1.223 Claude Code применяет только весь блок `env` выбранного источника.153* **Блок `env`**: за исключением единого блока телеметрии и переменных маршрутизации, связанных с ключом учётных данных (оба описаны ниже), он объединяется по ключам между источниками, контролируемыми администратором. Для каждой переменной окружения побеждает источник с наивысшим приоритетом, который её определяет, а источники администратора с более низким приоритетом заполняют переменные, которые источники с более высоким приоритетом оставляют незаданными. Поэтому запись `env`, управляемая на уровне конечного устройства, применяется всякий раз, когда конфигурация, управляемая сервером, оставляет эту переменную незаданной, или пока кэшированное серверное значение для неё [удерживается в ожидании подтверждения сервером](#fetch-and-caching-behavior). Требуется Claude Code v2.1.223 или более поздней версии. До v2.1.223 Claude Code применяет только весь блок `env` выбранного источника.

154 * **Единица телеметрии**: ключи экспортера `OTEL_EXPORTER_OTLP_*`, переключатели захвата содержимого `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` и бета-переменные трассировки `ENABLE_BETA_TRACING_DETAILED` и `BETA_TRACING_ENDPOINT` следуют источнику с наивысшим приоритетом, который устанавливает любой из них как единицу. Источник, который доставляет ключ учетных данных `otelHeadersHelper`, также претендует на единицу, но размещает эти переменные только когда он является выбранным источником: источник, который не выбран, но доставляет ключ, не вносит ни один из них и все еще блокирует более низкие источники от их заполнения. В любом случае конечная точка экспортера из одного источника никогда не может быть связана с учетными данными из другого.154 * **Единый блок телеметрии**: ключи экспортера `OTEL_EXPORTER_OTLP_*`, переключатели захвата содержимого `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` и переменные бета-трассировки `ENABLE_BETA_TRACING_DETAILED` и `BETA_TRACING_ENDPOINT` берутся как единое целое из источника с наивысшим приоритетом, задающего любую из них. Источник, доставляющий ключ учётных данных `otelHeadersHelper`, тоже претендует на этот блок, но устанавливает эти переменные только тогда, когда он является выбранным источником: источник, который не выбран, но доставляет этот ключ, не предоставляет ни одной из них и всё равно не позволяет источникам с более низким приоритетом их заполнить. В любом случае эндпоинт экспортера из одного источника никогда не может сочетаться с учётными данными из другого.

155 * **Маршрутизация с привязкой к учетным данным**: источник, который связывает переменные маршрутизации с ключом учетных данных, доступным только для выбранного источника, такой как `apiKeyHelper` или `otelHeadersHelper`, вносит эти переменные маршрутизации только когда он выигрывает слот.155 * **Маршрутизация, связанная с учётными данными**: источник, который сочетает переменные маршрутизации с ключом учётных данных, действующим только для выбранного источника, например `apiKeyHelper` или `otelHeadersHelper`, предоставляет эти переменные маршрутизации, только если он занимает эту позицию.

156* **`allowedProviders`**: список, установленный на машине, и список, управляемый сервером, объединяются как [указано в примечании Scope этой записи](https://code.claude.com/docs/ru/settings-reference.md#allowedproviders). Требуется Claude Code v2.1.285 или более поздняя версия156* **`allowedProviders`**: список, заданный на машине, и список, управляемый сервером, объединяются так, как указано в [примечании об области действия в его записи](https://code.claude.com/docs/ru/settings-reference.md#allowedproviders). Требуется Claude Code v2.1.285 или более поздней версии

157* **Ключи собственного входа**: [`forceLoginOrgUUID`](https://code.claude.com/docs/ru/settings-reference#forceloginorguuid) и значения `"claudeai"` и `"console"` для [`forceLoginMethod`](https://code.claude.com/docs/ru/settings-reference#forceloginmethod). Если вы также развёртываете политику MDM или файл управляемых настроек, задавайте их и там, и в управляемых сервером настройках на claude.ai, пока на всех клиентах не будет v2.1.299 или новее. О том, где задавать эти ключи после этого и значение какого источника применяется, см. в разделе [Какой управляемый источник предоставляет ключи входа](https://code.claude.com/docs/ru/managed-settings.md#which-managed-source-supplies-login-keys).157* **Ключи входа в собственные сервисы Anthropic**: [`forceLoginOrgUUID`](https://code.claude.com/docs/ru/settings-reference#forceloginorguuid) и значения `"claudeai"` и `"console"` ключа [`forceLoginMethod`](https://code.claude.com/docs/ru/settings-reference#forceloginmethod). Если вы также развёртываете политику MDM или файл управляемых настроек, задайте их и там, и в настройках, управляемых сервером, на claude.ai, пока все клиенты не будут работать на v2.1.299 или более поздней версии. О том, где задавать эти ключи после этого и значение из какого источника применяется, см. [Какой управляемый источник предоставляет ключи входа](https://code.claude.com/docs/ru/managed-settings.md#which-managed-source-supplies-login-keys).

158* **Ключи входа в шлюз**: Claude Code никогда не читает [`forceLoginGatewayUrl`](https://code.claude.com/docs/ru/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/ru/settings-reference#gatewayinternalnetworks) или значение `"gateway"` [`forceLoginMethod`](https://code.claude.com/docs/ru/settings-reference#forceloginmethod) из управляемых сервером параметров, поэтому значение там ни не применяется, ни не скрывает значение, установленное в политике MDM или файле управляемых параметров. Запись [`managedSourcesBehavior`](https://code.claude.com/docs/ru/settings-reference#managedsourcesbehavior) указывает, какой источник администратора на машине их предоставляет.158* **Ключи входа через шлюз**: Claude Code никогда не читает [`forceLoginGatewayUrl`](https://code.claude.com/docs/ru/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/ru/settings-reference#gatewayinternalnetworks) или значение `"gateway"` ключа [`forceLoginMethod`](https://code.claude.com/docs/ru/settings-reference#forceloginmethod) из настроек, управляемых сервером, поэтому значение там не применяется и не скрывает значение, заданное в политике MDM или файле управляемых настроек. В [записи `managedSourcesBehavior`](https://code.claude.com/docs/ru/settings-reference#managedsourcesbehavior) указано, какой источник администратора на машине их предоставляет.

159 159 

160#### Когда `apiKeyHelper` машины не действует160#### Когда `apiKeyHelper` машины не действует

161 161 

162Когда ваши управляемые сервером настройки являются выбранным источником, `apiKeyHelper` в файле управляемых настроек или политике MDM машины не действует. В этом случае Claude Code [отклоняет промпты](https://code.claude.com/docs/ru/errors.md#claude-code-didnt-send-your-claude-ai-login) в сессии, которая использовала бы сохранённый вход claude.ai, если выполняются оба условия:162Когда выбранным источником являются ваши настройки, управляемые сервером, `apiKeyHelper` в файле управляемых настроек или политике MDM машины не действует. В этом случае Claude Code [отклоняет промпты](https://code.claude.com/docs/ru/errors.md#claude-code-didnt-send-your-claude-ai-login) в сессии, которая использовала бы сохранённый вход claude.ai, при выполнении обоих условий:

163 163 

164* Файл или политика включает облачного провайдера, либо любой источник задаёт адрес API, отличный от адреса Anthropic164* Файл или политика включает облачного провайдера, или какой-либо источник задаёт адрес API, отличный от адреса Anthropic

165* Управляемые сервером настройки не задают помощника и не указывают адрес API Anthropic165* Настройки, управляемые сервером, не задают хелпер и не указывают адрес API Anthropic

166 166 

167Чтобы снять отказ, сохраните действие помощника и его адреса API, укажите адрес API Anthropic в управляемых сервером настройках или удалите помощника из политики машины. Для отказа требуется Claude Code v2.1.314 или новее.167Чтобы снять отказ, сохраните действие хелпера и его адреса API, укажите адрес API Anthropic в настройках, управляемых сервером, или удалите хелпер из политики машины. Отказ требует Claude Code v2.1.314 или более поздней версии.

168 168 

169### Поведение выборки и кэширования169### Получение и кэширование

170 170 

171Claude Code выполняет выборку параметров с серверов Anthropic при запуске и опрашивает обновления каждый час во время активных сеансов.171Claude Code получает настройки с серверов Anthropic при запуске и ежечасно проверяет наличие обновлений во время активных сессий.

172 172 

173Клиент, вошедший через [шлюз приложений Claude](#platform-availability), выполняет выборку параметров из шлюза и ждет завершения этой выборки перед началом сеанса, поэтому выборка в списках ниже к нему не применяется. [Принудительный отказ при запуске](#enforce-fail-closed-startup) охватывает то, что происходит при сбое этой выборки.173Клиент, вошедший через [шлюз приложений Claude](#platform-availability), получает настройки от шлюза и дожидается этого получения до начала сессии, поэтому описанное в списках ниже получение к нему не относится. Что происходит при сбое этого получения, описано в разделе [Принудительный запуск с отказом при сбое](#enforce-fail-closed-startup).

174 174 

175**Первый запуск без кэшированных параметров:**175> [!NOTE]

176>

177> При входе в claude.ai с тарифом Team или Enterprise, сохранённом на машине, Anthropic может требовать настройки вашей организации до начала сессии. В этом случае, независимо от того, что сказано в списках ниже, разработчик [не может начать сессию](https://code.claude.com/docs/ru/errors.md#couldnt-load-your-organizations-settings), например в таких случаях:

178>

179> * Срок действия его входа истёк — до тех пор, пока он не выполнит `claude auth login`

180> * У Claude Code нет ни настроек, ни недавней кэшированной копии. Проверьте, может ли машина подключиться к `api.anthropic.com`

181>

182> Сообщение при запуске с `before a session can start` или `Your Claude session has expired` означает, что это требование действует.

183 

184**Первый запуск без кэшированных настроек:**

176 185 

177* Когда разработчик входит при запуске, например при первом запуске или после `/logout`, Claude Code ждет до пяти секунд выборки перед открытием сеанса. Когда политика поступает вовремя, Claude Code применяет ее с первого экрана и показывает ваши [`companyAnnouncements`](https://code.claude.com/docs/ru/settings-reference#companyannouncements) на нем. Когда полезная нагрузка требует [одобрения безопасности](#security-approval-dialogs), Claude Code завершает ожидание и применяет полезную нагрузку после одобрения разработчиком186* Когда разработчик входит при запуске, например при первом запуске или после `/logout`, Claude Code ждёт получения до пяти секунд, прежде чем открыть сессию. Если политика приходит вовремя, Claude Code применяет её с первого экрана и показывает на нём ваши [`companyAnnouncements`](https://code.claude.com/docs/ru/settings-reference#companyannouncements). Если данные требуют [подтверждения безопасности](#security-approval-dialogs), Claude Code прекращает ожидание и применяет данные после подтверждения разработчиком

178* При любом другом запуске и когда истекает пятисекундное ожидание, Claude Code открывает сеанс, пока выборка продолжается, поэтому краткое окно проходит перед загрузкой параметров и вступлением в силу ограничений187* При любом другом запуске, а также когда пятисекундное ожидание истекает, Claude Code открывает сессию, пока получение продолжается, поэтому проходит короткий промежуток времени, прежде чем настройки загрузятся и ограничения вступят в силу

179* Если выборка не удается, Claude Code продолжает работу без управляемых сервером параметров и предупреждает в интерактивных сеансах, что удаленная политика не применяется; управляемые конечной точкой параметры все еще применяются. Если управляемый источник устанавливает [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup), Claude Code вместо этого выходит188* Если получение завершается неудачно, Claude Code продолжает работу без настроек, управляемых сервером, и в интерактивных сессиях, а также на [вкладке Code в Claude Desktop](https://code.claude.com/docs/ru/desktop.md) предупреждает, что удалённая политика не применяется; настройки, управляемые на уровне конечного устройства, по-прежнему применяются. Если управляемый источник задаёт [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup), Claude Code вместо этого завершает работу

180 189 

181**Последующие запуски с кэшированными параметрами:**190**Последующие запуски с кэшированными настройками:**

182 191 

183* Кэшированные настройки применяются сразу при запуске, за исключением кэшированных значений `modelPricing` и `managedMcpServers`; переменных окружения, которые Claude Code удерживает до подтверждения полезной нагрузки сервером; удаления, перемещения или отключения [встроенного стража](https://code.claude.com/docs/ru/plugins/mods/admin.md#know-what-happens-by-default) кэшированным списком плагинов; а также, на машине, где управляемый на эндпоинте источник перечисляет или включает собственные плагины, [статуса организации](https://code.claude.com/docs/ru/plugins/mods/admin.md#install-your-organizations-mods) для плагина, который включает только кэшированный список192* Кэшированные настройки применяются сразу при запуске, за исключением кэшированных значений `modelPricing` и `managedMcpServers`; переменных окружения, которые Claude Code удерживает до подтверждения данных сервером; удаления, перемещения или отключения [встроенного стража](https://code.claude.com/docs/ru/plugins/mods/admin.md#know-what-happens-by-default) кэшированным списком плагинов; а также, на машине, где источник, управляемый на уровне конечного устройства, перечисляет или включает собственные плагины, [статуса организации](https://code.claude.com/docs/ru/plugins/mods/admin.md#install-your-organizations-mods) для плагина, который включён только кэшированным списком

184* Кэшированный [`modelPricing`](https://code.claude.com/docs/ru/settings-reference#modelpricing) не применяется до тех пор, пока выборка сеанса не подтвердит полезную нагрузку. До этого момента цифры затрат, которые разработчики видят в `/usage` и в строке состояния, находятся по цене списка193* Кэшированный [`modelPricing`](https://code.claude.com/docs/ru/settings-reference#modelpricing) не применяется, пока получение в рамках сессии не подтвердит данные. До этого показатели стоимости, которые разработчики видят в `/usage` и строке состояния, рассчитываются по прейскурантной цене

185* Кэшированный блок [`managedMcpServers`](https://code.claude.com/docs/ru/settings-reference#managedmcpservers) не применяется до тех пор, пока выборка сеанса не подтвердит полезную нагрузку. Claude Code ждет до 30 секунд для этой выборки перед подключением серверов MCP. Если выборка не удается или истекает время ожидания, сеанс начинается без серверов организации, `/status` это указывает, и они подключаются после подтверждения более поздней выборкой. Полное поведение см. в разделе [Когда предоставленные серверы подключаются](https://code.claude.com/docs/ru/managed-mcp.md#when-provided-servers-connect), включая первый запуск. Требуется Claude Code v2.1.259 или более поздняя версия194* Кэшированный блок [`managedMcpServers`](https://code.claude.com/docs/ru/settings-reference#managedmcpservers) не применяется, пока получение в рамках сессии не подтвердит данные. Claude Code ждёт этого получения до 30 секунд, прежде чем подключать MCP-серверы. Если получение завершается неудачно или по таймауту, сессия начинается без серверов организации, `/status` сообщает об этом, а серверы подключаются, как только последующее получение их подтвердит. Полное описание поведения, включая первый запуск, см. в разделе [Когда подключаются предоставленные серверы](https://code.claude.com/docs/ru/managed-mcp.md#when-provided-servers-connect). Требуется Claude Code v2.1.259 или более поздней версии

186* Кэшированное значение [`prependPlugins`](https://code.claude.com/docs/ru/settings-reference#prependplugins), [`appendPlugins`](https://code.claude.com/docs/ru/settings-reference#appendplugins) или [`enabledPlugins`](https://code.claude.com/docs/ru/settings-reference#enabledplugins) не может удалить встроенный страж, изменить его позицию или отключить его, пока выборка сессии не подтвердит полезную нагрузку195* Кэшированное значение [`prependPlugins`](https://code.claude.com/docs/ru/settings-reference#prependplugins), [`appendPlugins`](https://code.claude.com/docs/ru/settings-reference#appendplugins) или [`enabledPlugins`](https://code.claude.com/docs/ru/settings-reference#enabledplugins) не может удалить встроенного стража, изменить его позицию или отключить его, пока получение в рамках сессии не подтвердит данные

187* На машине, где [управляемый на эндпоинте источник](https://code.claude.com/docs/ru/managed-settings.md#choose-a-delivery-mechanism) перечисляет или включает собственные плагины, плагин, который включает только кэшированный список, считается [плагином пользователя](https://code.claude.com/docs/ru/plugins/mods/admin.md#install-your-organizations-mods), а не вашей организации, пока выборка не подтвердит полезную нагрузку196* На машине, где [источник, управляемый на уровне конечного устройства](https://code.claude.com/docs/ru/managed-settings.md#choose-a-delivery-mechanism), перечисляет или включает собственные плагины, плагин, который включён только кэшированным списком, считается [плагином пользователя](https://code.claude.com/docs/ru/plugins/mods/admin.md#install-your-organizations-mods), а не вашей организации, пока получение не подтвердит данные

188* Claude Code выполняет выборку свежих параметров в фоновом режиме197* Claude Code получает свежие настройки в фоновом режиме

189* Кэшированные параметры сохраняются при сбоях сети. Если выборка при запуске не удается, Claude Code предупреждает в интерактивных сеансах, что кэшированная политика действует198* Кэшированные настройки сохраняются при сбоях сети. Если получение при запуске завершается неудачно, Claude Code предупреждает в интерактивных сессиях и на вкладке Code, что действует кэшированная политика

190* До успешной выборки удерживаемые значения при запуске остаются удерживаемыми199* Пока получение не завершится успешно, значения, удержанные при запуске, остаются удержанными

191 200 

192Claude Code удерживает несколько категорий переменных в кэшированном блоке `env`, пока сервер не подтвердит данные для сессии. Это не позволяет кэшированному значению прокси, центра сертификации, эндпоинта или учётных данных перенаправить, перехватить или повторно аутентифицировать получение настроек, которое подтверждает данные. Эта защита применяется только к кэшу настроек, полученных с сервера: [управляемые на эндпоинте настройки](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms), развёрнутые через MDM или `managed-settings.json`, не затрагиваются. Удерживаемые категории включают:201Claude Code удерживает несколько категорий переменных в кэшированном блоке `env`, пока сервер не подтвердит данные для сессии. Это не позволяет кэшированному значению прокси, центра сертификации, эндпоинта или учётных данных перенаправить, перехватить или повторно аутентифицировать получение настроек, которое подтверждает данные. Эта защита применяется только к кэшу настроек, полученных с сервера: [настройки, управляемые на уровне конечного устройства](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) и развёрнутые через MDM или `managed-settings.json`, не затрагиваются. Удерживаемые категории включают:

193 202 

194* Конфигурация прокси и TLS, такая как `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` и переменные сертификата клиента mTLS `CLAUDE_CODE_CLIENT_CERT` и `CLAUDE_CODE_CLIENT_KEY`203* Конфигурацию прокси и TLS, например `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` и переменные клиентского сертификата mTLS `CLAUDE_CODE_CLIENT_CERT` и `CLAUDE_CODE_CLIENT_KEY`

195* Маршрутизация API и выбор поставщика, включая `ANTHROPIC_BASE_URL`, переменные выбора поставщика, такие как `CLAUDE_CODE_USE_BEDROCK` и `CLAUDE_CODE_USE_VERTEX`, и URL-адреса конечных точек поставщика, такие как `ANTHROPIC_BEDROCK_BASE_URL`204* Маршрутизацию API и выбор провайдера, включая `ANTHROPIC_BASE_URL`, переменные выбора провайдера, такие как `CLAUDE_CODE_USE_BEDROCK` и `CLAUDE_CODE_USE_VERTEX`, и URL-адреса эндпоинтов провайдеров, такие как `ANTHROPIC_BEDROCK_BASE_URL`

196* Учетные данные аутентификации, такие как `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` и `CLAUDE_CODE_OAUTH_TOKEN`205* Учётные данные аутентификации, например `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` и `CLAUDE_CODE_OAUTH_TOKEN`

197* Селектор каталога конфигурации `CLAUDE_CONFIG_DIR`206* Селектор каталога конфигурации `CLAUDE_CONFIG_DIR`

198* Селекторы источника учетных данных и каталога конфигурации в Claude Code v2.1.223 или более поздней версии: переменные Workload Identity Federation, такие как `ANTHROPIC_FEDERATION_RULE_ID` и `ANTHROPIC_IDENTITY_TOKEN`, селекторы профиля и каталога конфигурации `ANTHROPIC_PROFILE` и `ANTHROPIC_CONFIG_DIR`, и переменные каталога операционной системы `HOME`, `XDG_CONFIG_HOME`, `APPDATA` и `USERPROFILE`207* Селекторы источника учётных данных и каталога конфигурации в Claude Code v2.1.223 или более поздней версии: переменные Workload Identity Federation, такие как `ANTHROPIC_FEDERATION_RULE_ID` и `ANTHROPIC_IDENTITY_TOKEN`, селекторы профиля и каталога конфигурации `ANTHROPIC_PROFILE` и `ANTHROPIC_CONFIG_DIR`, а также переменные каталогов операционной системы `HOME`, `XDG_CONFIG_HOME`, `APPDATA` и `USERPROFILE`

199 208 

200Claude Code читает переменные Workload Identity Federation и селекторы `ANTHROPIC_PROFILE` и `ANTHROPIC_CONFIG_DIR` только при запуске, поэтому значение, доставленное сервером для них, не переключает источник учетных данных сеанса даже после успешной выборки. Для доставки этих селекторов на Claude Code v2.1.223 или более поздней версии используйте [управляемые конечной точкой параметры](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms), такие как MDM или `managed-settings.json`. Для `CLAUDE_CONFIG_DIR` и переменных каталога операционной системы само удержание является защитой: кэшированное значение остается вне окружения до подтверждения полезной нагрузки сервером.209Claude Code читает переменные Workload Identity Federation и селекторы `ANTHROPIC_PROFILE` и `ANTHROPIC_CONFIG_DIR` только при запуске, поэтому значение, доставленное сервером, не переключает источник учётных данных сессии даже после успешного получения. Чтобы доставить эти селекторы в Claude Code v2.1.223 или более поздней версии, используйте [настройки, управляемые на уровне конечного устройства](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms), например MDM или `managed-settings.json`. Для `CLAUDE_CONFIG_DIR` и переменных каталогов операционной системы защитой служит само удержание: кэшированное значение не попадает в окружение, пока сервер не подтвердит данные.

201 210 

202Каждый другой ключ в кэшированном блоке `env` применяется при запуске. После подтверждения полезной нагрузки сервером и вашего одобрения, если оно требует [одобрения безопасности](#security-approval-dialogs), удерживаемые переменные применяются для остальной части сеанса.211Все остальные ключи в кэшированном блоке `env` применяются при запуске. Как только сервер подтвердит данные и вы их одобрите, если они требуют [подтверждения безопасности](#security-approval-dialogs), удержанные переменные применяются до конца сессии.

203 212 

204Если вашей организации требуется прокси для доступа к `api.anthropic.com`, удержание влияет только на сам доставленный блок `env`: прокси, установленный в [управляемом конечной точкой](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) блоке `env` через MDM или `managed-settings.json`, в окружении оболочки или в [пользовательских параметрах](https://code.claude.com/docs/ru/settings.md#where-settings-live), достигает выборки параметров. Источник, управляемый конечной точкой, требует Claude Code v2.1.223 или более поздней версии: кэшированное значение прокси, управляемое сервером, удерживается до подтверждения выборкой, поэтому значение, управляемое конечной точкой, заполняется по ключам и достигает самой выборки. До v2.1.223 используйте окружение оболочки или пользовательские параметры, чтобы прокси применялся вместе с кэшированной полезной нагрузкой сервера. Первый запуск не имеет кэша, поэтому источник, управляемый конечной точкой, окружение оболочки или пользовательские параметры все еще требуются для начальной выборки.213Если вашей организации нужен прокси для доступа к `api.anthropic.com`, удержание затрагивает только сам блок `env`, доставленный сервером: прокси, заданный в [управляемом на уровне конечного устройства](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) блоке `env` через MDM или `managed-settings.json`, в окружении оболочки или в [пользовательских настройках](https://code.claude.com/docs/ru/settings.md#where-settings-live), используется при получении настроек. Источник, управляемый на уровне конечного устройства, требует Claude Code v2.1.223 или более поздней версии: кэшированное значение прокси, управляемое сервером, удерживается, пока получение его не подтвердит, поэтому значение, управляемое на уровне конечного устройства, подставляется по ключу и используется при самом получении. До v2.1.223 используйте окружение оболочки или пользовательские настройки, чтобы прокси применялся вместе с кэшированными серверными данными. При первом запуске кэша нет, поэтому для начального получения по-прежнему требуется источник, управляемый на уровне конечного устройства, окружение оболочки или пользовательские настройки.

205 214 

206Claude Code применяет большинство обновлений параметров к работающим сеансам без перезагрузки. Некоторые обновления применяются только при следующем запуске, включая конфигурацию экспортера OpenTelemetry, ключ `model` и удаление переменной из блока `env`.215Claude Code применяет большинство обновлений настроек к работающим сессиям без перезапуска. Некоторые обновления применяются только при следующем запуске, включая конфигурацию экспортера OpenTelemetry, ключ `model` и удаление переменной из блока `env`.

207 216 

208### Недействительные записи в доставленных параметрах217### Недопустимые записи в доставленных настройках

209 218 

210Когда часть полезной нагрузки не проходит проверку схемы, Claude Code выводит ошибку валидации и применяет каждый оставшийся действительный параметр; [Недействительные записи в управляемых параметрах](https://code.claude.com/docs/ru/managed-settings.md#invalid-entries-in-managed-settings) указывает, что он отбрасывает и какие ключи возвращаются к более строгому значению. Требуется Claude Code v2.1.169 или более поздняя версия.219Когда часть данных не проходит проверку по схеме, Claude Code сообщает об ошибке проверки и применяет все остальные допустимые настройки; в разделе [Недопустимые записи в управляемых настройках](https://code.claude.com/docs/ru/managed-settings.md#invalid-entries-in-managed-settings) указано, что отбрасывается и какие ключи возвращаются к более строгому значению. Требуется Claude Code v2.1.169 или более поздней версии.

211 220 

212Доставка, управляемая сервером, добавляет эти поведения:221Доставка, управляемая сервером, добавляет следующее поведение:

213 222 

214* Запуск, который работает на кэше в `~/.claude/remote-settings.json`, обрабатывает недействительные записи так же, как выборка, которая написала кэш:223* Запуск, использующий кэш в `~/.claude/remote-settings.json`, обрабатывает недопустимые записи так же, как получение, записавшее этот кэш:

215 * Записи, которые не прошли валидацию, остаются отброшенными.224 * Записи, не прошедшие проверку, остаются отброшенными.

216 * [Ключи, которые отказывают закрыто](https://code.claude.com/docs/ru/managed-settings.md#keys-that-fail-closed), сохраняют свои более строгие значения.225 * [Ключи с отказом при сбое](https://code.claude.com/docs/ru/managed-settings.md#keys-that-fail-closed) сохраняют свои более строгие значения.

217 * Недействительное значение `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` остается в кэшированной копии и никогда не применяется.226 * Недопустимое значение `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` остаётся в кэшированной копии и никогда не применяется.

218* Claude Code не применяет ничего из полезной нагрузки и оставляет кэш без изменений, когда все три из этих условий верны:227* Claude Code ничего не применяет из данных и оставляет кэш без изменений, когда выполняются все три условия:

219 228 

220 * Каждый параметр в полезной нагрузке не проходит валидацию.229 * Каждая настройка в данных не проходит проверку.

221 * Ни один из них не возвращается к более строгому значению.230 * Ни одна из них не возвращается к более строгому значению.

222 * Полезная нагрузка содержит ключ, отличный от этих двух ключей хранения.231 * Данные содержат ключ, отличный от этих двух ключей хранения.

223 232 

224 Уведомление при запуске, `/status` и `claude doctor` затем сообщают о [неудачной загрузке](https://code.claude.com/docs/ru/errors.md#remote-managed-settings-failed-to-load) с причиной `no setting in the server response could be applied as written`, и эта запись указывает, на какой политике работает сеанс. Клиенты, которые [применяют принудительный отказ при запуске](#enforce-fail-closed-startup), вместо этого выходят при запуске.233 В этом случае уведомление при запуске, `/status` и `claude doctor` сообщают о [неудачной загрузке](https://code.claude.com/docs/ru/errors.md#remote-managed-settings-failed-to-load) с причиной `no setting in the server response could be applied as written`, а в этой записи указано, на какой политике работает сессия. Клиенты, которые [применяют запуск с отказом при сбое](#enforce-fail-closed-startup), вместо этого завершают работу при запуске. Если запуск прерывается с сообщением о том, что вашей организации требуются её настройки `before a session can start`, см. [Claude Code не смог загрузить настройки вашей организации](https://code.claude.com/docs/ru/errors.md#couldnt-load-your-organizations-settings).

225* [Диалог одобрения безопасности](#security-approval-dialogs) оценивает спасенную полезную нагрузку, поэтому удаленная недействительная запись никогда не представляется для одобрения и никогда не выполняется.234* [Диалог подтверждения безопасности](#security-approval-dialogs) оценивает очищенные данные, поэтому удалённая недопустимая запись никогда не предлагается для подтверждения и никогда не выполняется.

226 235 

227Для отладки проблем доставки запустите `claude --debug-file <path>` и найдите в журнале `Remote settings`. Проверьте изменение полезной нагрузки с помощью `claude doctor` на тестовой машине перед развертыванием в организации.236Чтобы отладить проблемы с доставкой, выполните `claude --debug-file <path>` и найдите в логе `Remote settings`. Проверьте изменение данных с помощью `claude doctor` на тестовой машине, прежде чем развёртывать его в организации.

228 237 

229### Принудительный отказ при запуске238### Принудительный запуск с отказом при сбое

230 239 

231По умолчанию, если выборка удаленных параметров не удается при запуске, CLI продолжает работу с параметрами, кэшированными из последней успешной выборки, за исключением [значений, которые Claude Code удерживает](#fetch-and-caching-behavior) до успешной выборки. На машине, которая никогда их не выполняла, CLI продолжает работу без управляемых сервером параметров и все еще применяет любые [управляемые конечной точкой параметры](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) на устройстве.240По умолчанию, если получение удалённых настроек при запуске завершается неудачно, CLI продолжает работу с настройками, кэшированными при последнем успешном получении. [Значения, которые Claude Code удерживает](#fetch-and-caching-behavior), остаются удержанными, пока получение не завершится успешно. На машине, которая ни разу их не получала, CLI продолжает работу без настроек, управляемых сервером, и по-прежнему применяет все [настройки, управляемые на уровне конечного устройства](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms), на устройстве. Вместо этого [Anthropic может требовать наличия настроек](#fetch-and-caching-behavior).

232 241 

233Чтобы остановить клиентов от запуска с кэшированными или отсутствующими управляемыми сервером параметрами, установите `forceRemoteSettingsRefresh: true` в ваших управляемых параметрах.242Чтобы клиенты не запускались с кэшированными или отсутствующими настройками, управляемыми сервером, задайте `forceRemoteSettingsRefresh: true` в управляемых настройках.

234 243 

235Клиенты, вошедшие через [шлюз приложений Claude](#platform-availability), ждут выборки при запуске независимо от того, установлен ли этот параметр, и обрабатывают сбой выборки следующим образом:244Клиенты, вошедшие через [шлюз приложений Claude](#platform-availability), ждут получения при запуске независимо от того, задана ли эта настройка, и обрабатывают неудачное получение следующим образом:

236 245 

237* Если шлюз отвечает на посещаемый интерактивный запуск с `401` и этот параметр отключен, шлюз завершил этот вход. Claude Code выводит [`Cloud gateway session expired — run /login to reconnect.`](https://code.claude.com/docs/ru/errors#cloud-gateway-session-expired) и открывает сеанс без входа в шлюз до тех пор, пока пользователь не запустит `/login`.246* Если шлюз отвечает на интерактивный запуск с участием пользователя кодом `401`, а эта настройка отключена, значит, шлюз завершил этот вход. Claude Code выводит [`Cloud gateway session expired — run /login to reconnect.`](https://code.claude.com/docs/ru/errors#cloud-gateway-session-expired) и открывает сессию без входа в шлюз, пока пользователь не выполнит `/login`.

238* Когда выборка не удается каким-либо другим способом или в любом другом типе запуска, кроме подкоманды `claude auth`, клиент выходит с ошибкой.247* Если получение завершается неудачно любым другим образом или при запуске любого другого типа, кроме подкоманды `claude auth`, клиент завершает работу с ошибкой.

239 248 

240Когда этот параметр активен в сеансе, который выполняет выборку управляемых сервером параметров, CLI блокируется при запуске до тех пор, пока удаленные параметры не будут свежо выбраны. Если выборка не удается, CLI выходит вместо продолжения без политики. Этот параметр самовоспроизводится: после доставки с сервера он также кэшируется локально, чтобы последующие запуски применяли то же поведение даже перед первой успешной выборкой нового сеанса. Сеанс, который [не выполняет выборку управляемых сервером параметров](#platform-availability), начинается без ожидания.249Когда эта настройка активна в сессии, которая получает настройки, управляемые сервером, CLI блокируется при запуске, пока удалённые настройки не будут заново получены. Если получение завершается неудачно, CLI завершает работу, а не продолжает без политики. Эта настройка самовоспроизводится: после доставки с сервера она также кэшируется локально, так что последующие запуски применяют то же поведение ещё до первого успешного получения в новой сессии. Сессия, которая [не получает настройки, управляемые сервером](#platform-availability), запускается без ожидания.

241 250 

242Чтобы включить это, добавьте ключ в конфигурацию управляемых параметров:251Чтобы включить эту возможность, добавьте ключ в конфигурацию управляемых настроек:

243 252 

244```json theme={null}253```json theme={null}

245{254{


247}256}

248```257```

249 258 

250Вы также можете установить этот ключ в [управляемом конечной точкой](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) профиле MDM или системном файле `managed-settings.json` для применения поведения отказа при запуске, перед поступлением любой полезной нагрузки сервера. Этот флаг является исключением из [правила приоритета](#settings-precedence) выше: Claude Code соблюдает его, когда любой управляемый администратором источник его устанавливает, даже если также присутствует кэшированная полезная нагрузка, управляемая сервером, поэтому он не игнорирует значение, доставленное MDM, когда существуют управляемые сервером параметры.259Вы также можете задать этот ключ в [управляемом на уровне конечного устройства](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) профиле MDM или системном файле `managed-settings.json`, чтобы применить поведение с отказом при сбое при первом запуске, до поступления каких-либо данных с сервера. Этот флаг является исключением из описанного выше [правила приоритета](#settings-precedence): Claude Code учитывает его, когда его задаёт любой управляемый источник, контролируемый администратором, даже если также присутствуют кэшированные данные, управляемые сервером, поэтому значение, доставленное через MDM, не игнорируется при наличии настроек, управляемых сервером.

251 260 

252Когда [`policyHelper`](https://code.claude.com/docs/ru/settings-reference#policyhelper) предоставляет управляемые параметры, его выходные данные заменяют каждый другой управляемый источник для ключей, которые Claude Code читает после запуска. Для источников, из которых Claude Code читает этот ключ, см. [его запись параметров](https://code.claude.com/docs/ru/settings-reference.md#forceremotesettingsrefresh). Запись `policyHelper` указывает, из каких источников Claude Code читает помощника и когда он запускается.261Когда [`policyHelper`](https://code.claude.com/docs/ru/settings-reference#policyhelper) предоставляет управляемые настройки, его вывод заменяет все остальные управляемые источники для ключей, которые Claude Code читает после запуска. Об источниках, из которых Claude Code читает этот ключ, см. [его запись в справочнике настроек](https://code.claude.com/docs/ru/settings-reference.md#forceremotesettingsrefresh). В записи `policyHelper` указано, из каких источников Claude Code читает хелпер и когда он запускается.

253 262 

254Выборка параметров также отправляет заголовок `Cache-Control: no-cache`, чтобы промежуточные HTTP-прокси не обслуживали устаревший ответ.263При получении настроек также отправляется заголовок `Cache-Control: no-cache`, чтобы промежуточные HTTP-прокси не отдавали устаревший ответ.

255 264 

256Перед включением этого параметра убедитесь, что ваши сетевые политики разрешают подключение к `api.anthropic.com`. Если эта конечная точка недоступна, CLI выходит при запуске и пользователи не могут запустить Claude Code.265Прежде чем включать эту настройку, убедитесь, что сетевые политики разрешают подключение к `api.anthropic.com`. Если этот эндпоинт недоступен, CLI завершает работу при запуске, и пользователи не могут запустить Claude Code.

257 266 

258Подкоманды `claude auth`, такие как `claude auth login`, освобождены от этой проверки и от выхода при запуске шлюза, поэтому пользователи могут повторно аутентифицироваться, когда истекшие учетные данные являются причиной сбоя выборки параметров.267Подкоманды `claude auth`, такие как `claude auth login`, освобождены от этой проверки и от завершения при запуске через шлюз, чтобы пользователи могли повторно пройти аутентификацию, когда причиной неудачного получения настроек являются истёкшие учётные данные.

259 268 

260### Диалоги одобрения безопасности269### Диалоги подтверждения безопасности

261 270 

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

263 272 

264* **Параметры команды оболочки**: параметры, которые выполняют команды оболочки, такие как `apiKeyHelper`, `statusLine` и `otelHeadersHelper`273* **Настройки shell-команд**: настройки, выполняющие shell-команды, например `apiKeyHelper`, `statusLine` и `otelHeadersHelper`

265* **Параметры двоичного файла песочницы**: `sandbox.bwrapPath`, `sandbox.socatPath` и `sandbox.ripgrep`. Каждый из этих параметров указывает на исполняемый файл, и Claude Code запускает этот исполняемый файл274* **Настройки исполняемых файлов песочницы**: `sandbox.bwrapPath`, `sandbox.socatPath` и `sandbox.ripgrep`. Каждая из этих настроек указывает на исполняемый файл, и Claude Code запускает этот исполняемый файл

266* **Настройки сети и изоляции песочницы**: настройки [песочницы](https://code.claude.com/docs/ru/sandboxing.md), которые позволяют прокси песочницы читать, перенаправлять или аутентифицировать трафик либо ослабляют изоляцию песочницы: `sandbox.network.tlsTerminate`, `sandbox.network.httpProxyPort`, `sandbox.network.socksProxyPort`, `sandbox.credentials`, `sandbox.allowAppleEvents`, `sandbox.allowNestedUserNamespaces`, `sandbox.enableWeakerNestedSandbox`, `sandbox.enableWeakerNetworkIsolation`, `sandbox.filesystem.disabled`, `sandbox.network.allowAllUnixSockets`, `sandbox.network.allowUnixSockets` и `sandbox.network.allowMachLookup`. Блок `sandbox.credentials`, содержащий только правила `deny`, не требует подтверждения, так как он ограничивает песочницу, не передавая прокси учётные данные. До v2.1.251 Claude Code применял эти настройки без подтверждения275* **Настройки сети и изоляции песочницы**: настройки [песочницы](https://code.claude.com/docs/ru/sandboxing.md), которые позволяют прокси песочницы читать, перенаправлять или аутентифицировать трафик или ослабляют изоляцию песочницы: `sandbox.network.tlsTerminate`, `sandbox.network.httpProxyPort`, `sandbox.network.socksProxyPort`, `sandbox.credentials`, `sandbox.allowAppleEvents`, `sandbox.allowNestedUserNamespaces`, `sandbox.enableWeakerNestedSandbox`, `sandbox.enableWeakerNetworkIsolation`, `sandbox.filesystem.disabled`, `sandbox.network.allowAllUnixSockets`, `sandbox.network.allowUnixSockets` и `sandbox.network.allowMachLookup`. Блок `sandbox.credentials`, содержащий только правила `deny`, не требует подтверждения, поскольку он ограничивает песочницу, не предоставляя прокси учётных данных. До v2.1.251 Claude Code применял эти настройки без подтверждения

267* **Пользовательские переменные окружения**: доставленные переменные `env`, требующие одобрения пользователя, такие как переменные прокси и базового URL; см. [Переменные окружения и диалог одобрения](#environment-variables-and-the-approval-dialog)276* **Пользовательские переменные окружения**: доставленные переменные `env`, требующие подтверждения пользователя, например переменные прокси и базового URL; см. [Переменные окружения и диалог подтверждения](#environment-variables-and-the-approval-dialog)

268* **Конфигурации hooks**: любое определение hooks277* **Конфигурации хуков**: любое определение хука

269 278 

270Когда эти параметры присутствуют, пользователи видят диалог безопасности, объясняющий, что настраивается. Пользователи должны одобрить для продолжения. Если пользователь отклоняет параметры, Claude Code выходит.279Когда эти настройки присутствуют, пользователи видят диалог безопасности с объяснением того, что настраивается. Чтобы продолжить, пользователи должны дать подтверждение. Если пользователь отклоняет настройки, Claude Code завершает работу.

271 280 

272Управляемый CLAUDE.md, доставленный через ключ [`claudeMd`](https://code.claude.com/docs/ru/settings-reference#claudemd), не требует одобрения, потому что это текст инструкций для Claude, а не команда, которую запускает Claude Code. Claude Code все еще проверяет [разрешения](https://code.claude.com/docs/ru/permissions.md) для инструментов, которые Claude использует при следовании этим инструкциям. До v2.1.260 значение `claudeMd` также требовало одобрения.281Управляемый CLAUDE.md, доставленный через ключ [`claudeMd`](https://code.claude.com/docs/ru/settings-reference#claudemd), не требует подтверждения, поскольку это текст инструкций для Claude, а не команда, которую запускает Claude Code. Claude Code по-прежнему проверяет [разрешения](https://code.claude.com/docs/ru/permissions.md) для инструментов, которые Claude использует, следуя этим инструкциям. До v2.1.260 значение `claudeMd` также требовало подтверждения.

273 282 

274#### Память одобрения283#### Запоминание подтверждения

275 284 

276Claude Code записывает ваше одобрение в каталог конфигурации, `~/.claude`, если вы не установили [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ru/env-vars). Что он записывает, зависит от учетных данных, которые использует выборка параметров:285Claude Code записывает ваше подтверждение в каталог конфигурации — `~/.claude`, если вы не задали [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ru/env-vars). Что именно записывается, зависит от учётных данных, которые использует получение настроек:

277 286 

278* **Вход claude.ai, сохраненный `/login` или `claude auth login`, или [вход в консоль без ключа](https://code.claude.com/docs/ru/authentication.md#sign-in-without-an-api-key)**: одно одобрение на организацию, удерживаемое учетной записью, которая одобрила последней.287* **Вход claude.ai, сохранённый с помощью `/login` или `claude auth login`, или [вход в Console без ключа](https://code.claude.com/docs/ru/authentication.md#sign-in-without-an-api-key)**: одно подтверждение на организацию, которое принадлежит аккаунту, давшему подтверждение последним.

279* **Вход [шлюза приложений Claude](https://code.claude.com/docs/ru/claude-apps-gateway)**: одно одобрение на шлюз.288* **Вход через [шлюз приложений Claude](https://code.claude.com/docs/ru/claude-apps-gateway)**: одно подтверждение на шлюз.

280 289 

281 Если вы выходите и снова входите в тот же шлюз, Claude Code не показывает диалог снова, пока параметры, требующие одобрения, не изменятся. Claude Code показывает его снова, когда эти параметры изменяются, когда вы входите в другой шлюз и когда вы принимаете новый сертификат для того же шлюза.290 Если вы выходите и снова входите в тот же шлюз, Claude Code не показывает диалог повторно, пока настройки, требующие подтверждения, не изменились. Claude Code показывает его снова, когда эти настройки меняются, когда вы входите в другой шлюз и когда вы принимаете новый сертификат для того же шлюза.

282 291 

283 Claude Code не сохраняет одобрение для шлюза разработки обратной связи, доступного через простой HTTP, поэтому диалог появляется снова после каждого входа.292 Claude Code не сохраняет подтверждение для loopback-шлюза разработки, доступного по обычному HTTP, поэтому диалог появляется снова после каждого входа.

284* **Любые другие учетные данные**, такие как ключ API или `CLAUDE_CODE_OAUTH_TOKEN`: одно одобрение для доставленных параметров, сохраняемое с кэшированной копией параметров в этом каталоге конфигурации. Claude Code показывает диалог снова, когда параметры, требующие одобрения, изменяются, и после запуска `/logout` или `claude auth logout`, каждый из которых удаляет кэшированную копию.293* **Любые другие учётные данные**, например API-ключ или `CLAUDE_CODE_OAUTH_TOKEN`: одно подтверждение для доставленных настроек, хранящееся вместе с кэшированной копией настроек в этом каталоге конфигурации. Claude Code показывает диалог снова, когда меняются настройки, требующие подтверждения, и после того, как вы выполните `/logout` или `claude auth logout` — любая из этих команд удаляет кэшированную копию.

285 294 

286Одобрение для `sandbox.credentials` или `sandbox.network.tlsTerminate` также охватывает записи [`sandbox.network.allowedDomains`](https://code.claude.com/docs/ru/settings-reference#sandbox-network-alloweddomains) в этих же доставленных параметрах, потому что оба параметра действуют на этот список разрешений. Диалог появляется снова, когда ваш администратор добавляет или удаляет одну из этих записей, даже хотя `sandbox.network.allowedDomains` не требует одобрения сам по себе.295Подтверждение для `sandbox.credentials` или `sandbox.network.tlsTerminate` также распространяется на записи [`sandbox.network.allowedDomains`](https://code.claude.com/docs/ru/settings-reference#sandbox-network-alloweddomains) в тех же доставленных настройках, поскольку обе настройки действуют на этот список разрешённых доменов. Диалог появляется снова, когда администратор добавляет или удаляет одну из этих записей, даже несмотря на то что `sandbox.network.allowedDomains` сам по себе не требует подтверждения.

287 296 

288С сохраненным входом claude.ai:297При сохранённом входе claude.ai:

289 298 

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

291* Если вы входите в ту же организацию с другой учетной записью, Claude Code показывает диалог снова, даже когда параметры не изменяются. Одобрение этой учетной записи заменяет предыдущее, поэтому когда вы переключаетесь обратно, Claude Code показывает диалог еще раз.300* Если вы входите в ту же организацию с другим аккаунтом, Claude Code показывает диалог снова, даже если настройки не изменились. Подтверждение этого аккаунта заменяет предыдущее, поэтому при обратном переключении Claude Code снова показывает диалог.

292 301 

293Claude Code не всегда может показать диалог. Каждый случай ниже указывает, какие параметры применяются, когда он не может, и когда вы снова видите диалог:302Claude Code не всегда может показать диалог. В каждом из случаев ниже указано, какие настройки применяются, когда это невозможно, и когда вы увидите диалог в следующий раз:

294 303 

295* **Интерактивная сессия, которая не может показать диалог**: Claude Code не применяет доставленные настройки и сохраняет последние подтверждённые. Диалог появляется в следующей сессии, которая может его показать.304* **Интерактивная сессия, которая не может показать диалог**: Claude Code не применяет доставленные настройки и сохраняет последние подтверждённые настройки. Диалог появляется в следующей сессии, которая может его показать.

296* **`claude install` или `claude update`**: Claude Code не показывает диалог во время любой команды. Команда запускается с последними одобренными параметрами, и диалог появляется в вашем следующем интерактивном сеансе. Если Claude Code ждет выборки параметров при запуске, например с установленным [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) или при развертывании [шлюза приложений Claude](https://code.claude.com/docs/ru/claude-apps-gateway), он показывает диалог во время команды вместо этого, и запуск установки из трубы не удается; см. [`Raw mode is not supported` during install](https://code.claude.com/docs/ru/troubleshoot-install#raw-mode-is-not-supported-during-install). До v2.1.246 Claude Code пытался показать диалог во время этих команд тоже.305* **`claude install` или `claude update`**: Claude Code не показывает диалог во время выполнения этих команд. Команда выполняется с последними подтверждёнными настройками, а диалог появляется в вашей следующей интерактивной сессии. Если Claude Code ждёт получения настроек при запуске, например когда задан [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) или при развёртывании [шлюза приложений Claude](https://code.claude.com/docs/ru/claude-apps-gateway), он вместо этого показывает диалог во время выполнения команды, и установка, запущенная из канала, завершается неудачно; см. [`Raw mode is not supported` во время установки](https://code.claude.com/docs/ru/troubleshoot-install#raw-mode-is-not-supported-during-install). До v2.1.246 Claude Code также пытался показать диалог во время этих команд.

297* **Команда `claude plugin`, которая выводит данные в терминал, но не может читать ввод с клавиатуры**: если Claude Code не дожидается получения настроек при запуске, команда не применяет доставленные настройки. Без [кэшированных настроек](#fetch-and-caching-behavior) команда, изменяющая ваши плагины или маркетплейсы, [останавливается с ошибкой](https://code.claude.com/docs/ru/errors.md#managed-settings-need-your-approval). При наличии кэшированных настроек она выполняется с последними подтверждёнными настройками. Диалог появляется, когда вы в следующий раз запустите `claude` в терминале.306* **Команда `claude plugin`, которая выводит данные в терминал, но не может читать с клавиатуры**: когда Claude Code не ждёт получения настроек при запуске, команда не применяет доставленные настройки. Без [кэшированных настроек](#fetch-and-caching-behavior) команда, изменяющая ваши плагины или маркетплейсы, [останавливается с ошибкой](https://code.claude.com/docs/ru/errors.md#managed-settings-need-your-approval). С кэшированными настройками она выполняется с последними подтверждёнными настройками. Диалог появляется, когда вы в следующий раз запустите `claude` в терминале.

298 307 

299 Команда не может читать ввод с клавиатуры, когда вы передаёте её ввод через конвейер или перенаправляете его и, в macOS и Linux, она также не может открыть `/dev/tty`. Если вы также передаёте через конвейер или перенаправляете её вывод, запуск считается неинтерактивным, и доставленные настройки применяются только для этого запуска.308 Команда не может читать с клавиатуры, когда вы передаёте ей ввод через канал или перенаправляете его и, в macOS и Linux, она также не может открыть `/dev/tty`. Если вы также передаёте через канал или перенаправляете её вывод, запуск становится неинтерактивным, и доставленные настройки применяются только для этого запуска.

300* **Ошибка закрывает диалог перед вашим ответом**: Claude Code не применяет доставленные параметры и сохраняет последние одобренные параметры. Он показывает диалог снова в следующем сеансе, который может его показать.309* **Ошибка закрывает диалог до того, как вы ответите**: Claude Code не применяет доставленные настройки и сохраняет последние подтверждённые настройки. Он снова показывает диалог в следующей сессии, которая может его показать.

301* **Неинтерактивный запуск**, такой как `claude -p`, сессия Agent SDK или сессия в панели чата расширения VS Code или на вкладке Code настольного приложения: Claude Code не может показать диалог. Если доставленные настройки требуют подтверждения, они применяются только для этого запуска.310* **Неинтерактивный запуск**, например `claude -p`, сессия Agent SDK или сессия на панели чата расширения VS Code либо на вкладке Code настольного приложения: Claude Code не может показать диалог. Если доставленные настройки требуют подтверждения, они применяются только для этого запуска.

302 311 

303 Claude Code не отмечает настройки как подтверждённые и не записывает их в [локальный кэш](#fetch-and-caching-behavior), а следующая интерактивная сессия показывает диалог. Пока пользователь не подтвердит их в интерактивной сессии, каждый неинтерактивный запуск заново выполняет выборку настроек при старте.312 Claude Code не отмечает настройки как подтверждённые и не записывает их в [локальный кэш](#fetch-and-caching-behavior), а следующая интерактивная сессия показывает диалог. Пока пользователь не даст подтверждение в интерактивной сессии, каждый неинтерактивный запуск заново получает настройки при запуске.

304 313 

305#### Переменные окружения и диалог одобрения314#### Переменные окружения и диалог подтверждения

306 315 

307Claude Code применяет некоторые доставленные переменные `env` без показа пользователю диалога одобрения, включая:316Claude Code применяет некоторые доставленные переменные `env`, не показывая пользователю диалог подтверждения, в том числе:

308 317 

309* Переключатели функций и команд318* Переключатели функций и команд

310* Параметры выбора и поведения модели, такие как `ANTHROPIC_MODEL`, `DISABLE_PROMPT_CACHING` и `CLAUDE_CODE_EFFORT_LEVEL`319* Настройки выбора и поведения модели, например `ANTHROPIC_MODEL`, `DISABLE_PROMPT_CACHING` и `CLAUDE_CODE_EFFORT_LEVEL`

311* Настройки контекстного окна и сжатия контекста, такие как `DISABLE_AUTO_COMPACT`, но не `CLAUDE_CODE_DISABLE_1M_CONTEXT`320* Настройки контекстного окна и сжатия контекста, например `DISABLE_AUTO_COMPACT`, но не `CLAUDE_CODE_DISABLE_1M_CONTEXT`

312* Параметры пользовательского интерфейса терминала и доступности321* Параметры пользовательского интерфейса терминала и специальных возможностей

313* Числовые ограничения, бюджеты и тайм-ауты322* Числовые ограничения, бюджеты и таймауты

314 323 

315Другие доставленные переменные могут требовать подтверждения пользователя, прежде чем вступят в силу. Например, в интерактивных сессиях подтверждение всегда требуется при любом непустом значении для следующих переменных:324Другие доставленные переменные могут требовать подтверждения пользователя, прежде чем вступят в силу. Например, в интерактивных сессиях следующие переменные всегда требуют его при любом непустом значении:

316 325 

317* Переменная прокси или базового URL326* Переменная прокси или базового URL

318* `OTEL_EXPORTER_OTLP_ENDPOINT`327* `OTEL_EXPORTER_OTLP_ENDPOINT`

319* `CLAUDE_CODE_DISABLE_1M_CONTEXT`328* `CLAUDE_CODE_DISABLE_1M_CONTEXT`

320 329 

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

322 331 

323Для четырёх переключателей конфиденциальности Claude Code определяет необходимость подтверждения по доставленному значению, а не по имени переменной: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` и `DO_NOT_TRACK`. Истинное значение, такое как `1` или `true`, только отключает отслеживание, отчёты об ошибках или другой несущественный трафик, поэтому Claude Code применяет его, не спрашивая пользователя. Для любого другого непустого значения Claude Code показывает диалог.332Для четырёх переключателей конфиденциальности Claude Code решает, нужно ли подтверждение, по доставленному значению, а не по имени переменной: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY` и `DO_NOT_TRACK`. Истинное значение, например `1` или `true`, лишь отключает отслеживание, отправку отчётов или другой необязательный трафик, поэтому Claude Code применяет его, не спрашивая пользователя. Для любого другого непустого значения Claude Code показывает диалог.

324 333 

325Claude Code также решает, требует ли [`API_FORCE_IDLE_TIMEOUT`](https://code.claude.com/docs/ru/env-vars) одобрения по доставленному значению: истинное значение только включает [тайм-аут простоя тела](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs), поэтому Claude Code применяет его без запроса пользователя. Для любого другого непустого значения Claude Code показывает диалог. До v2.1.248 любое непустое значение вызывало диалог.334Для [`API_FORCE_IDLE_TIMEOUT`](https://code.claude.com/docs/ru/env-vars) Claude Code также решает, нужно ли подтверждение, по доставленному значению: истинное значение лишь включает [таймаут простоя тела ответа](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs), поэтому Claude Code применяет его, не спрашивая пользователя. Для любого другого непустого значения Claude Code показывает диалог. До v2.1.248 любое непустое значение вызывало диалог.

326 335 

327Требует ли [`ANTHROPIC_CUSTOM_HEADERS`](https://code.claude.com/docs/ru/env-vars#variables) одобрения, также зависит от доставленного значения. Заголовки, которые только помечают запросы, такие как `Accept-Language`, применяются без диалога. Строка, которая называет учетные данные, селектор организации или клиента, переменную маршрутизации или переопределения хоста, или заголовок поведения API, такой как `Authorization`, `X-Api-Key`, `Host`, `anthropic-beta` или заголовки `X-Amzn-Bedrock-*`, требует одобрения. Строка также требует одобрения, когда ее имя не является действительным токеном заголовка HTTP или ее значение содержит символ, который заголовок HTTP не может нести. Проверка совпадает со словами внутри имени заголовка, поэтому `X-Client-Version`, которая содержит `client` и `version`, также требует одобрения. До v2.1.251 любое значение `ANTHROPIC_CUSTOM_HEADERS` применялось без него.336Нужно ли подтверждение для [`ANTHROPIC_CUSTOM_HEADERS`](https://code.claude.com/docs/ru/env-vars#variables), также зависит от доставленного значения. Заголовки, которые лишь помечают запросы, например `Accept-Language`, применяются без диалога. Строка, которая указывает учётные данные, селектор организации или тенанта, переопределение маршрутизации или хоста либо заголовок, влияющий на поведение API, например `Authorization`, `X-Api-Key`, `Host`, `anthropic-beta` или заголовки `X-Amzn-Bedrock-*`, требует подтверждения. Строка также требует подтверждения, если её имя не является допустимым токеном HTTP-заголовка или её значение содержит символ, который не может передаваться в HTTP-заголовке. Проверка сопоставляет слова внутри имени заголовка, поэтому `X-Client-Version`, содержащий `client` и `version`, тоже требует подтверждения. До v2.1.251 любое значение `ANTHROPIC_CUSTOM_HEADERS` применялось без него.

328 337 

329Ложное значение, такое как `0` или `false`, для [`ENABLE_BETA_TRACING_DETAILED`](https://code.claude.com/docs/ru/env-vars#variables) или [`OTEL_LOG_RAW_API_BODIES`](https://code.claude.com/docs/ru/env-vars#variables), применяется без диалога, потому что оно только отключает детальную трассировку или захват тела сырого API. Любое другое непустое значение для любой переменной требует одобрения.338Ложное значение, например `0` или `false`, для [`ENABLE_BETA_TRACING_DETAILED`](https://code.claude.com/docs/ru/env-vars#variables) или [`OTEL_LOG_RAW_API_BODIES`](https://code.claude.com/docs/ru/env-vars#variables) применяется без диалога, поскольку оно лишь отключает подробную трассировку или захват необработанных тел запросов API. Любое другое непустое значение для любой из этих переменных требует подтверждения.

330 339 

331## Доступность платформы340## Доступность платформы

332 341 


370| Пользователь удаляет кэшированный файл параметров | Происходит [поведение первого запуска](#fetch-and-caching-behavior) |379| Пользователь удаляет кэшированный файл параметров | Происходит [поведение первого запуска](#fetch-and-caching-behavior) |

371| Пользователь запускает измененный двоичный файл Claude Code | Пользователь, который может запустить измененный клиент, может обойти любой элемент управления на стороне клиента |380| Пользователь запускает измененный двоичный файл Claude Code | Пользователь, который может запустить измененный клиент, может обойти любой элемент управления на стороне клиента |

372| Пользователь запускает более старую версию Claude Code | Версии, которые предшествуют параметрам, управляемым сервером, не выбирают и не применяют их |381| Пользователь запускает более старую версию Claude Code | Версии, которые предшествуют параметрам, управляемым сервером, не выбирают и не применяют их |

373| API недоступен | Кэшированные параметры применяются, если доступны, за исключением [значений, которые Claude Code удерживает](#fetch-and-caching-behavior) до успешной выборки. Без кэша Claude Code не применяет параметры, управляемые сервером, до следующей успешной выборки, и по-прежнему применяет любые [параметры, управляемые конечной точкой](https://code.claude.com/docs/ru/managed-settings.md#delivery-mechanisms) на устройстве. С `forceRemoteSettingsRefresh: true` CLI выходит вместо продолжения, за исключением [`claude auth` подкоманд](#enforce-fail-closed-startup). Клиенты, вошедшие через [шлюз приложений Claude](#platform-availability), выходят при запуске без этого параметра, с той же исключением `claude auth` |382| API недоступен | Кэшированные настройки применяются, если доступны. Без кэша Claude Code не применяет настройки, управляемые сервером, до следующей успешной выборки. В разделе [Поведение выборки и кэширования](#fetch-and-caching-behavior) перечислены исключения, в том числе случай, когда Anthropic требует эти настройки. С `forceRemoteSettingsRefresh: true` CLI завершает работу вместо продолжения, за исключением [подкоманд `claude auth`](#enforce-fail-closed-startup). Клиенты, вошедшие через [шлюз приложений Claude](#platform-availability), завершают работу при запуске и без этой настройки, с тем же исключением для `claude auth` |

374| Пользователь аутентифицируется с другой организацией | Настройки не доставляются для учётных записей вне управляемой организации, включая сессию, которая аутентифицируется с помощью [API-ключа Console](#platform-availability) |383| Пользователь аутентифицируется с другой организацией | Настройки не доставляются для учётных записей вне управляемой организации, включая сессию, которая аутентифицируется с помощью [API-ключа Console](#platform-availability) |

375| Пользователь настраивает [поставщика моделей третьей стороны](#platform-availability) | Параметры, управляемые сервером, обходятся. Это включает установку `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` или нестандартного `ANTHROPIC_BASE_URL` |384| Пользователь настраивает [поставщика моделей третьей стороны](#platform-availability) | Параметры, управляемые сервером, обходятся. Это включает установку `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` или нестандартного `ANTHROPIC_BASE_URL` |

376| Сетевой трафик перехватывается или перенаправляется | Отключенная проверка TLS или перехваченный трафик могут изменить параметры, которые получает клиент |385| Сетевой трафик перехватывается или перенаправляется | Отключенная проверка TLS или перехваченный трафик могут изменить параметры, которые получает клиент |

settings.md +2 −2

Details

199* **Settings Error**: файл пользователя, проекта или локальный имеет недействительный JSON или значение, которое схема отклоняет. При запуске интерактивного сеанса Claude Code показывает диалог, который позволяет вам исправить файл с помощью Claude, выйти или продолжить без сломанных параметров.199* **Settings Error**: файл пользователя, проекта или локальный имеет недействительный JSON или значение, которое схема отклоняет. При запуске интерактивного сеанса Claude Code показывает диалог, который позволяет вам исправить файл с помощью Claude, выйти или продолжить без сломанных параметров.

200* **Settings Warning**: только отдельные записи не удаются, такие как неправильное правило разрешения или неизвестное имя события hook. Claude Code пропускает эти значения и держит остальную часть файла в силе.200* **Settings Warning**: только отдельные записи не удаются, такие как неправильное правило разрешения или неизвестное имя события hook. Claude Code пропускает эти значения и держит остальную часть файла в силе.

201* **Managed settings**: Claude Code продолжает применять остальную часть файла. [Недействительные записи в управляемых параметрах](https://code.claude.com/docs/ru/managed-settings.md#invalid-entries-in-managed-settings) говорит, что он отбрасывает и какие ключи возвращаются к более строгому значению, пока вы их не исправите. Для документа управляемых параметров, который не является действительным JSON, см. [Документ управляемых параметров не может быть разобран](https://code.claude.com/docs/ru/errors.md#managed-settings-document-could-not-be-parsed).201* **Managed settings**: Claude Code продолжает применять остальную часть файла. [Недействительные записи в управляемых параметрах](https://code.claude.com/docs/ru/managed-settings.md#invalid-entries-in-managed-settings) говорит, что он отбрасывает и какие ключи возвращаются к более строгому значению, пока вы их не исправите. Для документа управляемых параметров, который не является действительным JSON, см. [Документ управляемых параметров не может быть разобран](https://code.claude.com/docs/ru/errors.md#managed-settings-document-could-not-be-parsed).

202* **Configuration error**: `~/.claude.json` не может быть разобран. Claude Code копирует сломанный файл в `~/.claude/backups/.claude.json.corrupted.<timestamp>` и спрашивает, выйти и исправить его вручную или сбросить на конфигурацию по умолчанию; запуск `-p` выводит ошибку и выходит. Чтобы восстановить ваше предыдущее состояние, скопируйте обратно один из пяти самых последних файлов `.claude.json.backup.<timestamp>` в `~/.claude/backups/`, которые Claude Code сохраняет перед записью файла.202* **Configuration error**: не удаётся разобрать [`~/.claude.json`](https://code.claude.com/docs/ru/claude-directory#ce-claude-json). Запуск `claude -p` завершается, а ваш файл остаётся без изменений. Чтобы восстановить более раннюю копию, см. [Configuration error in \~/.claude.json](https://code.claude.com/docs/ru/errors.md#configuration-error-in-claude-json). Claude Code копирует сломанный файл в `~/.claude/backups/.claude.json.corrupted.<timestamp>`, а в интерактивной сессии спрашивает, выйти и исправить его или сбросить к конфигурации по умолчанию. Если файл пуст и резервной копии для восстановления нет, Claude Code запускается с настройками по умолчанию.

203 203 

204После продолжения запустите `/status`, чтобы увидеть затронутые файлы, и `claude doctor` для деталей каждой ошибки.204После продолжения запустите `/status`, чтобы увидеть затронутые файлы, и `claude doctor` для деталей каждой ошибки.

205 205 

206Запуск `-p` не показывает диалог. За исключением случаев, когда [документ управляемых параметров не может быть разобран](https://code.claude.com/docs/ru/errors.md#managed-settings-document-could-not-be-parsed), Claude Code пропускает сломанный файл или значения и продолжает с остальным, поэтому после запуска `-p`, который игнорирует параметр, запустите `claude doctor`, чтобы увидеть, что он отбросил.206Запуск `-p` не показывает диалоговое окно. За исключением случаев, когда [документ управляемых настроек не удаётся разобрать](https://code.claude.com/docs/ru/errors.md#managed-settings-document-could-not-be-parsed), Claude Code пропускает сломанный пользовательский, проектный или локальный файл либо его сломанные значения и продолжает работу с остальным. После запуска `-p`, который проигнорировал настройку, запустите `claude doctor` из терминала, чтобы увидеть, что было отброшено.

207 207 

208## Приоритет настроек208## Приоритет настроек

209 209 

Details

40| [`autoCompactWindow`](#autocompactwindow) | Установите, насколько заполненным становится контекст перед тем, как Claude Code [сжимает](https://code.claude.com/docs/ru/context-window.md) его | Memory and context | Any file |40| [`autoCompactWindow`](#autocompactwindow) | Установите, насколько заполненным становится контекст перед тем, как Claude Code [сжимает](https://code.claude.com/docs/ru/context-window.md) его | Memory and context | Any file |

41| [`autoConnectIde`](#autoconnectide) | Автоматически подключайтесь к работающей [VS Code](https://code.claude.com/docs/ru/vs-code.md) или [JetBrains](https://code.claude.com/docs/ru/jetbrains.md#from-external-terminals) IDE из внешнего терминала | Global config settings | Global config |41| [`autoConnectIde`](#autoconnectide) | Автоматически подключайтесь к работающей [VS Code](https://code.claude.com/docs/ru/vs-code.md) или [JetBrains](https://code.claude.com/docs/ru/jetbrains.md#from-external-terminals) IDE из внешнего терминала | Global config settings | Global config |

42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Ждите в открытой сессии и [автоматически продолжайте задачу](https://code.claude.com/docs/ru/interactive-mode.md#wait-for-a-usage-limit-to-reset) после сброса лимита использования claude.ai | Interface and terminal | User or managed |42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Ждите в открытой сессии и [автоматически продолжайте задачу](https://code.claude.com/docs/ru/interactive-mode.md#wait-for-a-usage-limit-to-reset) после сброса лимита использования claude.ai | Interface and terminal | User or managed |

43| [`autoInstallIdeExtension`](#autoinstallideextension) | Отключите автоматическую установку [расширения IDE](https://code.claude.com/docs/ru/vs-code.md#install-the-extension) из терминала VS Code | Global config settings | Global config |43| [`autoInstallIdeExtension`](#autoinstallideextension) | Позвольте `/ide` устанавливать [расширение IDE](https://code.claude.com/docs/ru/vs-code.md#install-the-extension) из внешнего терминала | Global config settings | Global config |

44| [`autoMemoryDirectory`](#automemorydirectory) | Сохраняйте [автоматическую память](https://code.claude.com/docs/ru/memory.md#auto-memory) в выбранном вами каталоге | Memory and context | Any file |44| [`autoMemoryDirectory`](#automemorydirectory) | Сохраняйте [автоматическую память](https://code.claude.com/docs/ru/memory.md#auto-memory) в выбранном вами каталоге | Memory and context | Any file |

45| [`autoMemoryEnabled`](#automemoryenabled) | Отключите или включите [автоматическую память](https://code.claude.com/docs/ru/memory.md#auto-memory) | Memory and context | Any file |45| [`autoMemoryEnabled`](#automemoryenabled) | Отключите или включите [автоматическую память](https://code.claude.com/docs/ru/memory.md#auto-memory) | Memory and context | Any file |

46| [`autoMode`](#automode) | Добавьте свои собственные правила разрешения и запрета к классификатору [авторежима](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) | Permission settings | User or managed |46| [`autoMode`](#automode) | Добавьте свои собственные правила разрешения и запрета к классификатору [авторежима](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) | Permission settings | User or managed |


139| [`outputStyle`](#outputstyle) | Измените роль, тон и формат вывода Claude с помощью [стиля вывода](https://code.claude.com/docs/ru/output-styles.md) | Model and responses | Any file |139| [`outputStyle`](#outputstyle) | Измените роль, тон и формат вывода Claude с помощью [стиля вывода](https://code.claude.com/docs/ru/output-styles.md) | Model and responses | Any file |

140| [`parentSettingsBehavior`](#parentsettingsbehavior) | Применяйте или отбрасывайте ограничения, которые [хост SDK или IDE](https://code.claude.com/docs/ru/managed-settings.md#let-an-embedding-host-add-policy) передаёт при развёртывании [управляемых настроек](https://code.claude.com/docs/ru/managed-settings.md) | Enterprise and managed settings | Managed |140| [`parentSettingsBehavior`](#parentsettingsbehavior) | Применяйте или отбрасывайте ограничения, которые [хост SDK или IDE](https://code.claude.com/docs/ru/managed-settings.md#let-an-embedding-host-add-policy) передаёт при развёртывании [управляемых настроек](https://code.claude.com/docs/ru/managed-settings.md) | Enterprise and managed settings | Managed |

141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Удалено в v2.1.257 вместе с объяснением команды по `Ctrl+E` в запросах разрешений для shell-команд | Global config settings | Global config |141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Удалено в v2.1.257 вместе с объяснением команды по `Ctrl+E` в запросах разрешений для shell-команд | Global config settings | Global config |

142| [`permissions`](#permissions) | Установите правила разрешения, запроса и запрета и начальный [режим разрешений](https://code.claude.com/docs/ru/permission-modes.md) | Permission settings | Any file |142| [`permissions`](#permissions) | Задает правила allow, ask и deny, а также [режим разрешений](https://code.claude.com/docs/ru/permission-modes.md) по умолчанию | Настройки разрешений | Любой файл |

143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Дайте Claude доступ к файлам в [каталогах вне текущего](https://code.claude.com/docs/ru/permissions.md#working-directories) | Permission settings | Any file |143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Дайте Claude доступ к файлам в [каталогах вне текущего](https://code.claude.com/docs/ru/permissions.md#working-directories) | Permission settings | Any file |

144| [`permissions.allow`](#permissions-allow) | Одобряйте перечисленные [использования инструментов](https://code.claude.com/docs/ru/permissions.md#permission-rule-syntax) без запроса подтверждения | Permission settings | Any file |144| [`permissions.allow`](#permissions-allow) | Одобряйте перечисленные [использования инструментов](https://code.claude.com/docs/ru/permissions.md#permission-rule-syntax) без запроса подтверждения | Permission settings | Any file |

145| [`permissions.ask`](#permissions-ask) | Всегда запрашивайте подтверждение перед перечисленными [использованиями инструментов](https://code.claude.com/docs/ru/permissions.md#permission-rule-syntax) | Permission settings | Any file |145| [`permissions.ask`](#permissions-ask) | Всегда запрашивайте подтверждение перед перечисленными [использованиями инструментов](https://code.claude.com/docs/ru/permissions.md#permission-rule-syntax) | Permission settings | Any file |

146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Заставьте файловые инструменты отказываться от чтения вне [рабочих каталогов](https://code.claude.com/docs/ru/permissions.md#working-directories) в каждом режиме разрешений | Permission settings | Any file |146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Заставьте файловые инструменты отказываться от чтения вне [рабочих каталогов](https://code.claude.com/docs/ru/permissions.md#working-directories) в каждом режиме разрешений | Permission settings | Any file |

147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | Заставьте инструменты `Write`, `Edit` и `NotebookEdit` отказываться от путей вне [рабочих каталогов](https://code.claude.com/docs/ru/permissions.md#working-directories) в каждом режиме разрешений, за исключением [некоторых собственных файлов Claude Code](#what-the-write-block-refuses-and-what-stays-writable) | Permission settings | Any file |147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | Заставьте инструменты `Write`, `Edit` и `NotebookEdit` отказываться от путей вне [рабочих каталогов](https://code.claude.com/docs/ru/permissions.md#working-directories) в каждом режиме разрешений, за исключением [некоторых собственных файлов Claude Code](#what-the-write-block-refuses-and-what-stays-writable) | Permission settings | Any file |

148| [`permissions.defaultMode`](#permissions-defaultmode) | Установите [режим разрешений](https://code.claude.com/docs/ru/permission-modes.md#which-mode-a-session-starts-in), в котором начинаются новые сессии | Permission settings | Any file |148| [`permissions.defaultMode`](#permissions-defaultmode) | Устанавливает [режим разрешений](https://code.claude.com/docs/ru/permission-modes.md#which-mode-a-session-starts-in) по умолчанию для новых сессий | Настройки разрешений | Любой файл |

149| [`permissions.deny`](#permissions-deny) | Блокируйте перечисленные [использования инструментов](https://code.claude.com/docs/ru/permissions.md#permission-rule-syntax), включая чтение файлов, содержащих секреты | Permission settings | Any file |149| [`permissions.deny`](#permissions-deny) | Блокируйте перечисленные [использования инструментов](https://code.claude.com/docs/ru/permissions.md#permission-rule-syntax), включая чтение файлов, содержащих секреты | Permission settings | Any file |

150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Запретите кому-либо входить в [режим bypassPermissions](https://code.claude.com/docs/ru/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Запретите кому-либо входить в [режим bypassPermissions](https://code.claude.com/docs/ru/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |

151| [`plansDirectory`](#plansdirectory) | Выберите, где [режим планирования](https://code.claude.com/docs/ru/permission-modes.md#analyze-before-you-edit-with-plan-mode) записывает файлы плана | Memory and context | Any file |151| [`plansDirectory`](#plansdirectory) | Выберите, где [режим планирования](https://code.claude.com/docs/ru/permission-modes.md#analyze-before-you-edit-with-plan-mode) записывает файлы плана | Memory and context | Any file |


804 804 

805## Настройки разрешений805## Настройки разрешений

806 806 

807Решите, что Claude может делать без запроса, в каком режиме разрешений начинается сессия и что позволяет классификатор авторежима. Синтаксис правил и модель разрешений см. в разделе [Настройка разрешений](https://code.claude.com/docs/ru/permissions.md).807Решите, что Claude может делать без запроса, какой режим разрешений используется по умолчанию для новых сессий и что позволяет классификатор авторежима. Синтаксис правил и модель разрешений см. в разделе [Настройка разрешений](https://code.claude.com/docs/ru/permissions.md).

808 808 

809### `allowManagedPermissionRulesOnly`809### `allowManagedPermissionRulesOnly`

810 810 


899 899 

900### `permissions`900### `permissions`

901 901 

902Управляйте тем, какие инструменты Claude может использовать без запроса, какие всегда требуют подтверждения, а какие заблокированы, и задайте [режим разрешений](https://code.claude.com/docs/ru/permission-modes.md), в котором начинается сессия. Все ключи `permissions.*` ниже вложены в этот объект.902Управляйте тем, какие инструменты Claude может использовать без запроса, какие вызывают запрос подтверждения, а какие заблокированы. Также задайте [режим разрешений](https://code.claude.com/docs/ru/permission-modes.md) по умолчанию для новых сессий. Все ключи `permissions.*` ниже вложены в этот объект.

903 903 

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

905* **Тип**: объект с `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode` и `disableAutoMode`905* **Тип**: объект с `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode` и `disableAutoMode`


1137 1137 

1138### `permissions.defaultMode`1138### `permissions.defaultMode`

1139 1139 

1140Задайте [режим разрешений](https://code.claude.com/docs/ru/permission-modes.md), в котором начинаются новые сессии. Если оставить ключ не установленным, сессии начинаются во [встроенном режиме по умолчанию](https://code.claude.com/docs/ru/permission-modes.md#which-mode-a-session-starts-in) для вашего интерфейса.1140Задайте [режим разрешений](https://code.claude.com/docs/ru/permission-modes.md) по умолчанию для новых сессий. Если оставить ключ не установленным, применяется [встроенный режим по умолчанию](https://code.claude.com/docs/ru/permission-modes.md#which-mode-a-session-starts-in) для вашего интерфейса.

1141 1141 

1142* **Область действия**: [`Any file`](#scopes). `auto` и `bypassPermissions` не вступают в силу из проектных или локальных настроек, поэтому задавайте их в `~/.claude/settings.json`. До версии 2.1.257 `bypassPermissions` вступал в силу из любого файла. Для диалогов, которые запускает расширение VS Code, Claude Code читает только пользовательские, управляемые значения и значения `--settings`.1142* **Область действия**: [`Any file`](#scopes). `auto` и `bypassPermissions` не вступают в силу из проектных или локальных настроек, поэтому задавайте их в `~/.claude/settings.json`. До версии 2.1.257 `bypassPermissions` вступал в силу из любого файла. Для диалогов, которые запускает расширение VS Code, Claude Code читает только пользовательские, управляемые значения и значения `--settings`.

1143* **Тип**: строка, одно из значений:1143* **Тип**: строка, одно из значений:


1267 1267 

1268### `sandbox.failIfUnavailable`1268### `sandbox.failIfUnavailable`

1269 1269 

1270Заставьте Claude Code завершаться с ошибкой при запуске, когда `sandbox.enabled` имеет значение `true`, но песочница не может запуститься, потому что отсутствует зависимость или платформа не поддерживается. Без этого ключа Claude Code выполняет команды без изоляции. Эту настройку могут использовать управляемые развёртывания, которым песочница нужна как обязательный барьер безопасности.1270Заставляет Claude Code завершаться с ошибкой при запуске, когда `sandbox.enabled` равно `true`, но песочница не может запуститься, потому что платформа её не поддерживает или проверка зависимостей не проходит. Без этого ключа Claude Code выполняет команды без песочницы. Этой настройкой могут пользоваться управляемые развёртывания, которым песочница нужна как барьер безопасности.

1271 1271 

1272На платформе, которую песочница не поддерживает, Claude Code не запускается при включённом ключе. См. [Enforce sandboxing with managed settings](https://code.claude.com/docs/ru/sandboxing.md#enforce-sandboxing-with-managed-settings).1272На платформе, которую песочница не поддерживает, Claude Code не запускается при включённом ключе. См. [Enforce sandboxing with managed settings](https://code.claude.com/docs/ru/sandboxing.md#enforce-sandboxing-with-managed-settings).

1273 1273 


5087 5087 

5088### `sshHostCommands`5088### `sshHostCommands`

5089 5089 

5090Добавить в список выбора окружения [Desktop](https://code.claude.com/docs/ru/desktop.md#create-an-ssh-connection-from-a-command) SSH-соединения, хост которых определяется командой. Когда вы создаёте соединение или заменяете его хост, Desktop запускает команду этой записи на вашем компьютере и подключается к хосту, который выводит команда. Требуется Claude Desktop v3.6556.0 или новее на macOS или Linux с входом в учётную запись Claude.5090Добавить в список выбора окружения [Desktop](https://code.claude.com/docs/ru/desktop.md#create-an-ssh-connection-from-a-command) SSH-соединения, хост которых определяется командой. Когда вы создаёте соединение или создаёте для него ещё одну машину, Desktop запускает команду этой записи на вашем компьютере и подключается к хосту, который выводит команда.

5091 

5092Требуется Claude Desktop v3.6556.0 или новее на macOS или Linux либо v4.16336.0 или новее на Windows, с входом в учётную запись Claude. На Windows Desktop также должен [подключаться через клиент OpenSSH](https://code.claude.com/docs/ru/desktop.md#use-your-ssh-configuration).

5091 5093 

5092* **Scope**: [`User or managed`](#scopes). Только настольное приложение читает этот ключ. Управляемые записи оно читает из [одного файла управляемых настроек или политики MDM](https://code.claude.com/docs/ru/desktop.md#distribute-commands-to-your-team) на компьютере и игнорирует этот ключ в [управляемых сервером настройках](https://code.claude.com/docs/ru/server-managed-settings.md).5094* **Scope**: [`User or managed`](#scopes). Только настольное приложение читает этот ключ. Управляемые записи оно читает из [одного файла управляемых настроек или политики MDM](https://code.claude.com/docs/ru/desktop.md#distribute-commands-to-your-team) на компьютере и игнорирует этот ключ в [управляемых сервером настройках](https://code.claude.com/docs/ru/server-managed-settings.md).

5093* **Type**: массив объектов, каждый с обязательными `id`, `name` и `command` и опциональными `sshIdentityFile` и `startDirectory`. Desktop запускает `command` без оболочки, поэтому [записывайте её как программу и простые аргументы](https://code.claude.com/docs/ru/desktop.md#write-the-command).5095* **Type**: массив объектов, каждый с обязательными `id`, `name` и `command` и опциональными `sshIdentityFile` и `startDirectory`. Desktop не интерпретирует `command` как синтаксис оболочки, поэтому конвейеры и переменные не работают: [записывайте её как программу и её аргументы](https://code.claude.com/docs/ru/desktop.md#write-the-command).

5094* **Default**: не установлено5096* **Default**: не установлено

5095 5097 

5096Этот пример добавляет одно соединение с именем `Dev box`, где `acme-dev create` обозначает ваш собственный инструмент:5098Этот пример добавляет одно соединение с именем `Dev box`, где `acme-dev create` обозначает ваш собственный инструмент:


5107}5109}

5108```5110```

5109 5111 

5112На Windows простое имя, такое как `acme-dev`, не работает, поэтому [начинайте команду с полного пути к программе](https://code.claude.com/docs/ru/desktop.md#write-the-command-on-windows).

5113 

5110До Claude Code v2.1.307 инструмент Edit отклонял изменение, добавлявшее этот ключ в корректный файл настроек, с ошибкой `Unrecognized field: sshHostCommands`. В этих версиях добавьте ключ в текстовом редакторе; Claude Code загружает файл, содержащий этот ключ. В Desktop учитывается [версия Claude Code на вкладке Code](https://code.claude.com/docs/ru/desktop.md#claude-code-version-in-the-code-tab), а не версия в вашем терминале.5114До Claude Code v2.1.307 инструмент Edit отклонял изменение, добавлявшее этот ключ в корректный файл настроек, с ошибкой `Unrecognized field: sshHostCommands`. В этих версиях добавьте ключ в текстовом редакторе; Claude Code загружает файл, содержащий этот ключ. В Desktop учитывается [версия Claude Code на вкладке Code](https://code.claude.com/docs/ru/desktop.md#claude-code-version-in-the-code-tab), а не версия в вашем терминале.

5111 5115 

5112## Аутентификация и поставщики5116## Аутентификация и поставщики


5583 5587 

5584Блокировать запуск CLI, пока Claude Code заново не получит [настройки, управляемые сервером](https://code.claude.com/docs/ru/server-managed-settings.md). Если получить их не удаётся, Claude Code завершает работу, а не продолжает с кэшированными настройками или без них. Задайте этот ключ, если ваша среда не допускает даже короткого промежутка времени, когда сессия работает без управляемой политики.5588Блокировать запуск CLI, пока Claude Code заново не получит [настройки, управляемые сервером](https://code.claude.com/docs/ru/server-managed-settings.md). Если получить их не удаётся, Claude Code завершает работу, а не продолжает с кэшированными настройками или без них. Задайте этот ключ, если ваша среда не допускает даже короткого промежутка времени, когда сессия работает без управляемой политики.

5585 5589 

5586Если ключ не задан, Claude Code не блокирует запуск ради получения настроек, хотя, когда разработчик входит в систему при запуске, он ждёт получения настроек до пяти секунд. Сессия через облачный шлюз всегда ждёт и завершает работу, если шлюз недоступен.5590Если ключ не задан, Claude Code не блокирует запуск ради получения настроек, хотя, когда разработчик входит в систему при запуске, он ждёт получения настроек до пяти секунд. [Anthropic может требовать наличия этих настроек](https://code.claude.com/docs/ru/server-managed-settings.md#fetch-and-caching-behavior), и тогда запуск без них блокируется. Сессия Cloud gateway ждёт и завершает работу, если шлюз недоступен.

5587 5591 

5588* **Область действия**: [`Managed`](#scopes). Claude Code учитывает значение `true` из любого управляемого источника, контролируемого администратором, даже если это не источник с наивысшим приоритетом.5592* **Область действия**: [`Managed`](#scopes). Claude Code учитывает значение `true` из любого управляемого источника, контролируемого администратором, даже если это не источник с наивысшим приоритетом.

5589* **Тип**: Boolean5593* **Тип**: Boolean

5590 * `true`: Claude Code блокирует запуск, пока заново не получит настройки, управляемые сервером, и завершает работу, если получить их не удалось5594 * `true`: Claude Code блокирует запуск, пока заново не получит настройки, управляемые сервером, и завершает работу, если получить их не удалось

5591 * `false`: Claude Code не блокирует запуск ради получения настроек, хотя при запуске со входом в систему ждёт их получения до пяти секунд5595 * `false`: если Anthropic не требует наличия настроек, Claude Code не блокирует запуск ради их получения, хотя при запуске со входом в систему ждёт их получения до пяти секунд

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

5593 5597 

5594```json managed-settings.json theme={null}5598```json managed-settings.json theme={null}


5823 5827 

5824### `autoInstallIdeExtension`5828### `autoInstallIdeExtension`

5825 5829 

5826Устанавливайте расширение Claude Code IDE автоматически при запуске Claude Code из терминала VS Code. Отображается в `/config` как **Auto-install IDE extension** при запуске Claude Code внутри терминала VS Code или JetBrains.5830Позволяет [`/ide`](https://code.claude.com/docs/ru/commands) устанавливать расширение Claude Code IDE в запущенный VS Code, Cursor или Devin Desktop, когда вы выполняете команду из внешнего терминала. Claude Code не устанавливает расширение при своем запуске. Отображается в `/config` как **Auto-install IDE extension** при запуске Claude Code внутри терминала VS Code или JetBrains.

5827 5831 

5828* **Scope**: [`Global config`](#scopes)5832* **Scope**: [`Global config`](#scopes)

5829* **Type**: Boolean5833* **Type**: Boolean

5830 * `true`: Claude Code устанавливает расширение IDE автоматически при запуске из терминала VS Code5834 * `true`: `/ide` устанавливает расширение

5831 * `false`: Claude Code не устанавливает расширение автоматически5835 * `false`: `/ide` не устанавливает расширение

5832* **Default**: `true`5836* **Default**: `true`

5833* **Per-session overrides**: [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/ru/env-vars) установленный на `1` пропускает установку для одного сеанса даже когда этот ключ имеет значение `true`5837* **Per-session overrides**: [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/ru/env-vars) установленный на `1` пропускает установку для одного сеанса даже когда этот ключ имеет значение `true`

5834 5838 

skills.md +1 −1

Details

404| `allowed-tools` | Нет | Инструменты, которые Claude может использовать без запроса разрешения в течение хода, в котором вызван этот скилл. Разрешение сбрасывается, когда вы отправляете следующее сообщение. Принимает строку, разделённую пробелами или запятыми, либо YAML-список. См. [Предварительное разрешение инструментов для скилла](#pre-approve-tools-for-a-skill). |404| `allowed-tools` | Нет | Инструменты, которые Claude может использовать без запроса разрешения в течение хода, в котором вызван этот скилл. Разрешение сбрасывается, когда вы отправляете следующее сообщение. Принимает строку, разделённую пробелами или запятыми, либо YAML-список. См. [Предварительное разрешение инструментов для скилла](#pre-approve-tools-for-a-skill). |

405| `disallowed-tools` | Нет | Инструменты, удаляемые из доступного Claude набора, пока этот скилл активен. Используйте для автономных скиллов, которые никогда не должны вызывать определённые инструменты, например `AskUserQuestion` для фонового цикла. Принимает строку, разделённую пробелами или запятыми, либо YAML-список. Ограничение снимается, когда вы отправляете следующее сообщение. Как и правила запрета, это поле не может удалить [`EndConversation`](https://code.claude.com/docs/ru/tools-reference#endconversation-tool-behavior), пока остаётся хотя бы один другой инструмент. |405| `disallowed-tools` | Нет | Инструменты, удаляемые из доступного Claude набора, пока этот скилл активен. Используйте для автономных скиллов, которые никогда не должны вызывать определённые инструменты, например `AskUserQuestion` для фонового цикла. Принимает строку, разделённую пробелами или запятыми, либо YAML-список. Ограничение снимается, когда вы отправляете следующее сообщение. Как и правила запрета, это поле не может удалить [`EndConversation`](https://code.claude.com/docs/ru/tools-reference#endconversation-tool-behavior), пока остаётся хотя бы один другой инструмент. |

406| `model` | Нет | Модель, используемая, пока этот скилл активен. Переопределение действует до конца текущего хода и не сохраняется в настройках. Модель сессии возвращается, когда вы отправляете следующий промпт. Принимает те же значения, что и [`/model`](https://code.claude.com/docs/ru/model-config), или `inherit`, чтобы сохранить активную модель. Значение, исключённое [`availableModels`](https://code.claude.com/docs/ru/model-config#restrict-model-selection) — списком разрешённых моделей вашей организации, — не используется, и сессия сохраняет текущую модель. В [авторежиме](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode), а также в [режиме планирования, когда классификатор проверяет команды](https://code.claude.com/docs/ru/permission-modes.md#analyze-before-you-edit-with-plan-mode), модель, которую авторежим не поддерживает, тоже не используется, и сессия сохраняет текущую модель. При `context: fork` значение вместо этого задаёт [модель ответвлённого субагента](#run-skills-in-a-subagent), а исключённое значение обрабатывается [по тем же правилам, что и переопределение модели субагента](https://code.claude.com/docs/ru/model-config.md#restrict-model-selection). |406| `model` | Нет | Модель, используемая, пока этот скилл активен. Переопределение действует до конца текущего хода и не сохраняется в настройках. Модель сессии возвращается, когда вы отправляете следующий промпт. Принимает те же значения, что и [`/model`](https://code.claude.com/docs/ru/model-config), или `inherit`, чтобы сохранить активную модель. Значение, исключённое [`availableModels`](https://code.claude.com/docs/ru/model-config#restrict-model-selection) — списком разрешённых моделей вашей организации, — не используется, и сессия сохраняет текущую модель. В [авторежиме](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode), а также в [режиме планирования, когда классификатор проверяет команды](https://code.claude.com/docs/ru/permission-modes.md#analyze-before-you-edit-with-plan-mode), модель, которую авторежим не поддерживает, тоже не используется, и сессия сохраняет текущую модель. При `context: fork` значение вместо этого задаёт [модель ответвлённого субагента](#run-skills-in-a-subagent), а исключённое значение обрабатывается [по тем же правилам, что и переопределение модели субагента](https://code.claude.com/docs/ru/model-config.md#restrict-model-selection). |

407| `effort` | Нет | [Уровень effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) до конца текущего хода. Переопределяет уровень effort сессии, но не переменную окружения [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ru/env-vars#variables). При `context: fork` значение вместо этого задаёт уровень effort ответвлённого субагента. Если поле не задано, уровень определяется [порядком определения effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level). Варианты: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. |407| `effort` | Нет | [Уровень effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) до конца текущего хода. Переопределяет уровень effort сессии, но не переменную окружения [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ru/env-vars#variables). При `context: fork` значение вместо этого задаёт уровень effort ответвлённого субагента. Если поле не задано, уровень определяется [порядком определения effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level). Об ответвлении на другой модели см. [Уровень effort субагентов и участников команды](https://code.claude.com/docs/ru/model-config.md#effort-level-of-subagents-and-teammates). Варианты: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. |

408| `context` | Нет | Установите `fork`, чтобы выполнять скилл в контексте ответвлённого субагента. См. [Запуск скиллов в субагенте](#run-skills-in-a-subagent). |408| `context` | Нет | Установите `fork`, чтобы выполнять скилл в контексте ответвлённого субагента. См. [Запуск скиллов в субагенте](#run-skills-in-a-subagent). |

409| `agent` | Нет | Какой тип субагента использовать, когда задано `context: fork`. |409| `agent` | Нет | Какой тип субагента использовать, когда задано `context: fork`. |

410| `background` | Нет | Применяется только при `context: fork`. Установите `false`, чтобы ожидать результат ответвлённого субагента в том ходе, в котором был вызван скилл, вместо [его выполнения в фоне](#run-skills-in-a-subagent). По умолчанию: `true`. |410| `background` | Нет | Применяется только при `context: fork`. Установите `false`, чтобы ожидать результат ответвлённого субагента в том ходе, в котором был вызван скилл, вместо [его выполнения в фоне](#run-skills-in-a-subagent). По умолчанию: `true`. |

Details

1264 1264 

1265Когда Keychain снова доступен для записи, Claude Code перемещает учётные данные обратно при следующей записи учётных данных. Чтобы сделать это сейчас, запустите `/logout` и затем `/login`. Выход удаляет все сохранённые учётные данные, включая содержимое открытого текстового файла, сохранённые входы MCP-серверов и значения секретов плагинов, поэтому ожидайте повторной авторизации MCP-серверов и повторного ввода секретов плагинов после этого. Вход снова сохраняет ваш вход в Keychain.1265Когда Keychain снова доступен для записи, Claude Code перемещает учётные данные обратно при следующей записи учётных данных. Чтобы сделать это сейчас, запустите `/logout` и затем `/login`. Выход удаляет все сохранённые учётные данные, включая содержимое открытого текстового файла, сохранённые входы MCP-серверов и значения секретов плагинов, поэтому ожидайте повторной авторизации MCP-серверов и повторного ввода секретов плагинов после этого. Вход снова сохраняет ваш вход в Keychain.

1266 1266 

1267#### Вход не удаётся при домашнем каталоге в сети

1268 

1269Когда запрос завершается ошибкой `API Error: 401`, а ваш [каталог конфигурации](https://code.claude.com/docs/ru/claude-directory.md) находится в сетевой файловой системе, проверьте, не заполнена ли эта файловая система или ваша квота в ней. Если места не осталось, Claude Code не может сохранить новый или обновлённый вход в открытый текстовый [файл `.credentials.json`](https://code.claude.com/docs/ru/authentication#credential-management), при этом `claude auth login` всё равно может вывести `Login successful.`

1270 

1271**1. Освободите место в файловой системе**

1272 

1273Удалите ненужные файлы в файловой системе, где находится `~/.claude` или каталог, заданный в [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ru/env-vars).

1274 

1275**2. Войдите снова**

1276 

1277Запустите `/login` в промпте Claude Code или `claude auth login` в вашей оболочке.

1278 

1279До версии 2.1.318, когда Claude Code сохранял файл входа в заполненной сетевой файловой системе, он мог заменить ещё действительный сохранённый вход пустым файлом. После этого последующие команды сообщали `Not logged in`.

1280 

1267### Bedrock, Agent Platform, or Foundry credentials not loading1281### Bedrock, Agent Platform, or Foundry credentials not loading

1268 1282 

1269Если вы настроили Claude Code для использования облачного провайдера и видите `Could not load credentials from any providers` на Amazon Bedrock, `Could not load the default credentials` на Google Cloud's Agent Platform или `ChainedTokenCredential authentication failed` на Microsoft Foundry, ваш CLI облачного провайдера вероятно не аутентифицирован в текущей оболочке.1283Если вы настроили Claude Code для использования облачного провайдера и видите `Could not load credentials from any providers` на Amazon Bedrock, `Could not load the default credentials` на Google Cloud's Agent Platform или `ChainedTokenCredential authentication failed` на Microsoft Foundry, ваш CLI облачного провайдера вероятно не аутентифицирован в текущей оболочке.

vs-code.md +7 −2

Details

818 818 

819### Запуск CLI в VS Code819### Запуск CLI в VS Code

820 820 

821Чтобы использовать CLI, не выходя из VS Code, нажмите `` Ctrl+` `` в Windows/Linux или `` Cmd+` `` на Mac, чтобы открыть встроенный терминал, а затем выполните `claude`. CLI автоматически интегрируется с вашей IDE для таких функций, как просмотр diff и передача диагностики. Если вы используете внешний терминал, выполните `/ide` внутри Claude Code, чтобы подключить его к VS Code.821Чтобы использовать CLI, не выходя из VS Code, нажмите `` Ctrl+` `` в Windows/Linux или `` Cmd+` `` на Mac, чтобы открыть встроенный терминал, а затем выполните `claude`. Запуск `claude` не устанавливает расширение. Без него `/ide` во встроенном терминале сообщает "No available IDEs detected", а `/status` показывает IDE как "Not connected".

822 

823Чтобы получить такие функции, как просмотр diff и передача диагностики, подключите CLI к расширению из встроенного или внешнего терминала:

824 

825* **Встроенный терминал**: [установите расширение](#install-the-extension), а затем запустите `claude`. CLI подключится автоматически.

826* **Внешний терминал**: выполните `/ide` внутри Claude Code, чтобы подключиться к VS Code. Если VS Code запущен без расширения, `/ide` установит его, если только вы не отключили [`autoInstallIdeExtension`](https://code.claude.com/docs/ru/settings-reference#autoinstallideextension).

822 827 

823Установка расширения не добавляет `claude` в PATH вашей оболочки. Расширение содержит собственную копию CLI для своей панели чата, но для ввода `claude` в терминале требуется [автономная установка CLI](https://code.claude.com/docs/ru/setup.md). Выполните установку один раз, и команды на этой странице, включая `claude mcp add` и `claude --resume`, будут работать в любом терминале. Если после установки `claude` по-прежнему не найден, [проверьте ваш PATH](https://code.claude.com/docs/ru/troubleshoot-install.md#verify-your-path).828Установка расширения не добавляет `claude` в PATH вашей оболочки. Расширение содержит собственную копию CLI для своей панели чата, но для ввода `claude` в терминале требуется [автономная установка CLI](https://code.claude.com/docs/ru/setup.md). Выполните установку один раз, и команды на этой странице, включая `claude mcp add` и `claude --resume`, будут работать в любом терминале. Если после установки `claude` по-прежнему не найден, [проверьте ваш PATH](https://code.claude.com/docs/ru/troubleshoot-install.md#verify-your-path).

824 829 


10862. Найдите «Claude Code»10912. Найдите «Claude Code»

10873. Нажмите **Uninstall**10923. Нажмите **Uninstall**

1088 1093 

1089Если вы запускаете `claude` во встроенном терминале VS Code, Claude Code автоматически переустанавливает расширение. Чтобы оно оставалось удалённым, отключите **Auto-install IDE extension** в `/config` или задайте для [`autoInstallIdeExtension`](https://code.claude.com/docs/ru/settings-reference#autoinstallideextension) значение `false`. Также можно задать для переменной окружения [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/ru/env-vars) значение `1`.1094Расширение остаётся удалённым, когда вы запускаете `claude`. Если вы выполните `/ide` во внешнем терминале, пока запущен VS Code, Claude Code переустановит его. Чтобы это предотвратить, задайте для [`autoInstallIdeExtension`](https://code.claude.com/docs/ru/settings-reference#autoinstallideextension) значение `false` в `~/.claude.json` или отключите **Auto-install IDE extension** в `/config` во встроенном терминале. Также можно задать для переменной окружения [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/ru/env-vars) значение `1`.

1090 1095 

1091Чтобы также удалить данные расширения и сбросить все настройки, удалите каталог хранилища расширения для вашей платформы.1096Чтобы также удалить данные расширения и сбросить все настройки, удалите каталог хранилища расширения для вашей платформы.

1092 1097