SpyBara
Go Premium

Documentation 2026-10-10 23:01 UTC to 2026-10-11 21:02 UTC

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

3261 Типы входных данных инструментов3261 Типы входных данных инструментов

3262</h2>3262</h2>

3263 3263 

3264Документация схем входных данных для всех встроенных инструментов Claude Code. Эти типы экспортируются из `@anthropic-ai/claude-agent-sdk/sdk-tools` и могут быть использованы для типобезопасного взаимодействия с инструментами.3264Документация схем входных данных для встроенных инструментов Claude Code. Эти типы экспортируются из `@anthropic-ai/claude-agent-sdk/sdk-tools` и могут быть использованы для типобезопасного взаимодействия с инструментами.

3265 3265 

3266<h3 id="toolinputschemas">3266<h3 id="toolinputschemas">

3267 `ToolInputSchemas`3267 `ToolInputSchemas`


4077 Типы вывода инструментов4077 Типы вывода инструментов

4078</h2>4078</h2>

4079 4079 

4080Документация схем вывода для всех встроенных инструментов Claude Code. Эти типы экспортируются из `@anthropic-ai/claude-agent-sdk/sdk-tools` и представляют фактические данные ответа, возвращаемые каждым инструментом.4080Документация схем вывода для встроенных инструментов Claude Code. Эти типы экспортируются из `@anthropic-ai/claude-agent-sdk/sdk-tools` и представляют фактические данные ответа, возвращаемые каждым инструментом.

4081 4081 

4082<h3 id="tooloutputschemas">4082<h3 id="tooloutputschemas">

4083 `ToolOutputSchemas`4083 `ToolOutputSchemas`

agent-view.md +2 −0

Details

300* **Вы останавливаете ход**: Claude Code отменяет переключение и показывает `Backgrounding cancelled — the turn was stopped.` Например, ход останавливается, когда вы [прерываете Claude с помощью `Esc`](/docs/ru/interactive-mode#general-controls) или выбираете **No** [без комментария](/docs/ru/permissions#add-a-comment-when-you-answer-a-permission-prompt) в запросе разрешения из основного диалога либо нажимаете `Esc` на вопросе, который Claude задаёт там. Нажмите `←` ещё раз, чтобы отправить сессию в фон.300* **Вы останавливаете ход**: Claude Code отменяет переключение и показывает `Backgrounding cancelled — the turn was stopped.` Например, ход останавливается, когда вы [прерываете Claude с помощью `Esc`](/docs/ru/interactive-mode#general-controls) или выбираете **No** [без комментария](/docs/ru/permissions#add-a-comment-when-you-answer-a-permission-prompt) в запросе разрешения из основного диалога либо нажимаете `Esc` на вопросе, который Claude задаёт там. Нажмите `←` ещё раз, чтобы отправить сессию в фон.

301* **Сообщение из очереди нельзя перенести**: сообщения, которые вы [поставили в очередь, пока Claude работал](/docs/ru/interactive-mode#queue-messages-while-claude-works), переходят в фоновую сессию вместе с диалогом. Если какое-либо из них перенести нельзя, сессия остаётся на переднем плане, и Claude Code показывает уведомление, например `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`301* **Сообщение из очереди нельзя перенести**: сообщения, которые вы [поставили в очередь, пока Claude работал](/docs/ru/interactive-mode#queue-messages-while-claude-works), переходят в фоновую сессию вместе с диалогом. Если какое-либо из них перенести нельзя, сессия остаётся на переднем плане, и Claude Code показывает уведомление, например `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`

302 302 

303Когда Claude Code отправляет сессию в фон — примерно через десять секунд или после того, как вы снова нажмёте `←`, — он останавливает shell-команду, которую Claude всё ещё выполняет на переднем плане. Claude Code не показывает для этой команды диалоговое окно `Background this session?`. В фоновой сессии у Claude нет записи о том, что команда была запущена, поэтому Claude может выполнить её снова. Чтобы команда продолжала работать при переносе сессии, нажмите `Ctrl+B`, чтобы [превратить её в фоновую команду](/docs/ru/interactive-mode#background-bash-commands), пока Claude Code ещё ждёт.

304 

303Нажатие `←` создаёт строку сессии, даже если в диалоге ещё нет сообщений, поэтому `→` по-прежнему возвращает к нему.305Нажатие `←` создаёт строку сессии, даже если в диалоге ещё нет сообщений, поэтому `→` по-прежнему возвращает к нему.

304 306 

305Это сочетание клавиш для сессий переднего плана можно отключить с помощью настройки [`leftArrowOpensAgents`](/docs/ru/settings-reference#leftarrowopensagents) в `/config`.307Это сочетание клавиш для сессий переднего плана можно отключить с помощью настройки [`leftArrowOpensAgents`](/docs/ru/settings-reference#leftarrowopensagents) в `/config`.

costs.md +13 −0

Details

90 90 

91Когда запрос к пределам вашего плана не удаётся, чаще всего потому, что конечная точка использования имеет ограничение по частоте запросов, `/usage` показывает последние полосы использования, которые она загрузила на этом устройстве в течение последних 60 минут, вместе с примечанием `Showing last-known usage`, указывающим, как давно эти данные были получены. Нажмите `r` для повторной попытки; успешная повторная попытка заменяет последние известные полосы свежими данными. Без снимка из последних 60 минут `/usage` сообщает, что конечная точка использования имеет ограничение по частоте запросов и предлагает тот же ярлык повторной попытки. До версии v2.1.208 ограниченный по частоте запрос в сессии, которая ещё не загружала использование, всегда показывал ошибку без полос.91Когда запрос к пределам вашего плана не удаётся, чаще всего потому, что конечная точка использования имеет ограничение по частоте запросов, `/usage` показывает последние полосы использования, которые она загрузила на этом устройстве в течение последних 60 минут, вместе с примечанием `Showing last-known usage`, указывающим, как давно эти данные были получены. Нажмите `r` для повторной попытки; успешная повторная попытка заменяет последние известные полосы свежими данными. Без снимка из последних 60 минут `/usage` сообщает, что конечная точка использования имеет ограничение по частоте запросов и предлагает тот же ярлык повторной попытки. До версии v2.1.208 ограниченный по частоте запрос в сессии, которая ещё не загружала использование, всегда показывал ошибку без полос.

92 92 

93<h3 id="read-the-token-count-beside-the-spinner">

94 Чтение счётчика токенов рядом со спиннером

95</h3>

96 

97Пока Claude работает в основном диалоге, строка рядом со спиннером может заканчиваться прошедшим временем и количеством токенов, как в `Deciphering… (10m 27s · ↓ 5.5k tokens)`. Это приблизительный счётчик в реальном времени для вывода, который текущий ход сгенерировал на данный момент. Стрелка рядом со счётчиком направлена вниз, пока поступает вывод или выполняются инструменты.

98 

99* **Что он учитывает**: вывод, который генерирует ход, например текст и вызовы инструментов, которые Claude передаёт потоком, его размышления и вывод субагентов, работающих на [переднем плане](/docs/ru/sub-agents#run-subagents-in-foreground-or-background)

100* **Что он не учитывает**: то, что Claude Code отправляет модели, поэтому ваш промпт, история диалога и остальной контекст на него не влияют

101* **Когда он сбрасывается**: в начале каждого хода и когда Claude Code [сжимает диалог](/docs/ru/prompt-caching#compacting-the-conversation)

102* **Когда он скрыт**: пока не начнёт поступать вывод, когда строка слишком узкая, чтобы его вместить, и в [режиме программы чтения с экрана](/docs/ru/accessibility)

103 

104Он не совпадёт с цифрами вывода `Usage by model` в блоке Session команды `/usage`, которые суммируют всю сессию, а не один ход. Он также отличается от счётчика токенов, который [добавляет подробный режим](/docs/ru/statusline#notifications-share-the-status-line-row), потому что тот счётчик измеряет размер вашего контекста, а не вывод одного хода.

105 

93<h3 id="analyze-your-usage-patterns">106<h3 id="analyze-your-usage-patterns">

94 Анализ ваших моделей использования107 Анализ ваших моделей использования

95</h3>108</h3>

Details

98 98 

99Безопасный режим по-прежнему применяет управляемые хуки и политику настроек от вашей организации. Управляемые плагины, скиллы, `CLAUDE.md` и MCP-серверы отключены.99Безопасный режим по-прежнему применяет управляемые хуки и политику настроек от вашей организации. Управляемые плагины, скиллы, `CLAUDE.md` и MCP-серверы отключены.

100 100 

101Если проблема сохраняется в безопасном режиме или ваши параметры сами по себе вызывают подозрения, сравните с сессией, которая ничего не загружает из вашей обычной установки. Укажите [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars) на пустой каталог, чтобы обойти всё под `~/.claude`, и запустите из каталога, который не имеет папки `.claude`, файла `.mcp.json` или `CLAUDE.md`, чтобы конфигурация проекта также была пропущена.101Если проблема сохраняется в безопасном режиме или ваши настройки сами по себе вызывают подозрения, запустите сессию без какой-либо вашей собственной конфигурации и проверьте, сохраняется ли проблема.

102 102 

103```bash theme={null}103<Steps>

104cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude104 <Step title="Создайте пустой каталог и перейдите в него">

105```105 В оболочке, когда ни одна сессия Claude Code не запущена, создайте каталог и перейдите в него:

106 106 

107Чистая сессия не имеет пользовательских или проектных параметров, hooks, MCP серверов, plugins или памяти. При первом запуске ожидайте экраны первоначальной настройки, начиная с выбора темы. Если вы их видите, чистый каталог конфигурации действует. При последующих запусках с тем же каталогом эти экраны пропускаются, потому что Claude Code сохраняет состояние адаптации там.107 <Tabs>

108 108 <Tab title="Bash или Zsh">

109* Управляемые параметры по-прежнему применяются, если ваша организация их развёртывает. Claude Code читает MDM профили, политику реестра и `managed-settings.json` из мест вне каталога конфигурации и [повторно получает управляемые параметры сервера](/docs/ru/server-managed-settings#fetch-and-caching-behavior) для чистой сессии после получения учётных данных109 ```bash theme={null}

110* Вам будет предложено войти снова110 mkdir -p ~/claude-clean/empty && cd ~/claude-clean/empty

111 111 ```

112Если проблема исчезает здесь, причина находится где-то в ваших реальных файлах `~/.claude` или проекта `.claude`. Переинтродуцируйте их по одному, скопировав файлы во временный каталог или запустив из вашего проекта, чтобы найти, какой из них. Если это сохраняется в чистой сессии, причина находится вне вашей пользовательской и проектной конфигурации. Запустите `/status`, чтобы проверить, действуют ли управляемые параметры, ищите [переменные окружения](/docs/ru/env-vars), которые влияют на Claude Code, затем см. [Troubleshooting](/docs/ru/troubleshooting).112 </Tab>

113 

114 <Tab title="PowerShell">

115 ```powershell theme={null}

116 New-Item -ItemType Directory -Force "$HOME/claude-clean/empty" | Out-Null

117 Set-Location "$HOME/claude-clean/empty"

118 ```

119 </Tab>

120 </Tabs>

121 </Step>

122 

123 <Step title="Запустите Claude Code с чистым каталогом конфигурации">

124 В той же оболочке задайте [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars) на новый каталог вместо `~/.claude` и передайте [`--setting-sources user`](/docs/ru/cli-reference#cli-flags), чтобы отключить конфигурацию проекта, такую как `.claude/settings.json`, `CLAUDE.md` и `.mcp.json`:

125 

126 <Tabs>

127 <Tab title="Bash или Zsh">

128 Переменная применяется только к этому запуску.

129 

130 ```bash theme={null}

131 CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user

132 ```

133 </Tab>

134 

135 <Tab title="PowerShell">

136 Переменная остаётся заданной до конца этой сессии PowerShell, поэтому последующие запуски `claude` в том же окне продолжат использовать чистый каталог. Чтобы вернуться к обычному каталогу, выполните `Remove-Item Env:CLAUDE_CONFIG_DIR` перед следующим запуском.

137 

138 ```powershell theme={null}

139 $env:CLAUDE_CONFIG_DIR = "$HOME/claude-clean/config"

140 claude --setting-sources user

141 ```

142 </Tab>

143 </Tabs>

144 

145 При первом запуске вы снова пройдёте экраны первоначальной настройки — это признак того, что чистый каталог конфигурации действует. Управляемые настройки по-прежнему применяются, а [коннекторы](/docs/ru/mcp#use-mcp-servers-from-claude-ai) по-прежнему загружаются, если вы входите с учётной записью claude.ai.

146 </Step>

147 

148 <Step title="Воспроизведите проблему">

149 Повторите в чистой сессии то, что вызвало проблему:

150 

151 * **Проблема исчезла**: причина находится в вашей пользовательской или проектной конфигурации. Копируйте `~/.claude.json` и файлы из `~/.claude` в `~/claude-clean/config` по одному. Если ни один из них не возвращает проблему, перейдите в каталог проекта в той же оболочке и запустите Claude Code без `--setting-sources user`. В Bash или Zsh выполните `CLAUDE_CONFIG_DIR=~/claude-clean/config claude`. В PowerShell переменная по-прежнему задана, поэтому выполните `claude`.

152 * **Проблема сохраняется**: причина находится вне вашей пользовательской и проектной конфигурации. Выполните `/status` в сессии, чтобы проверить наличие управляемых настроек, проверьте [переменные окружения](/docs/ru/env-vars) в вашей оболочке, затем см. [Устранение неполадок](/docs/ru/troubleshooting).

153 </Step>

154</Steps>

113 155 

114<h2 id="check-common-causes">156<h2 id="check-common-causes">

115 Проверьте распространённые причины157 Проверьте распространённые причины


127| Значение `settings.json` кажется игнорируемым | Тот же ключ установлен в `settings.local.json` | `settings.local.json` переопределяет `settings.json`, и оба переопределяют `~/.claude/settings.json`. См. [settings precedence](/docs/ru/settings#settings-precedence). |169| Значение `settings.json` кажется игнорируемым | Тот же ключ установлен в `settings.local.json` | `settings.local.json` переопределяет `settings.json`, и оба переопределяют `~/.claude/settings.json`. См. [settings precedence](/docs/ru/settings#settings-precedence). |

128| Skill не появляется в `/skills` | Файл skill находится в `.claude/skills/name.md` вместо папки | Используйте папку с `SKILL.md` внутри: `.claude/skills/name/SKILL.md`. |170| Skill не появляется в `/skills` | Файл skill находится в `.claude/skills/name.md` вместо папки | Используйте папку с `SKILL.md` внутри: `.claude/skills/name/SKILL.md`. |

129| Skill появляется в `/skills`, но Claude никогда его не вызывает | Skill имеет `disable-model-invocation: true` в своём frontmatter или его описание не совпадает с тем, как вы формулируете запрос | Проверьте значок в `/skills`: метка "user-only" означает, что Claude не будет его запускать самостоятельно. См. [skill invocation](/docs/ru/skills). |171| Skill появляется в `/skills`, но Claude никогда его не вызывает | Skill имеет `disable-model-invocation: true` в своём frontmatter или его описание не совпадает с тем, как вы формулируете запрос | Проверьте значок в `/skills`: метка "user-only" означает, что Claude не будет его запускать самостоятельно. См. [skill invocation](/docs/ru/skills). |

130| Инструкции в подпапке `CLAUDE.md` кажутся игнорируемыми | Файлы подпапок загружаются по требованию, а не при запуске сессии | См. [когда загружаются файлы подпапок](/docs/ru/memory#how-claude-md-files-load). До v2.1.288 их загружал только инструмент Read. |172| Инструкции в `CLAUDE.md` подпапки кажутся игнорируемыми | Файлы подпапок загружаются по требованию, а не при запуске сессии | Чтобы загрузить `CLAUDE.md` подпапки, попросите Claude прочитать другой файл в этой подпапке. См. [когда загружаются файлы подпапок](/docs/ru/memory#how-claude-md-files-load). |

131| Subagent игнорирует инструкции `CLAUDE.md` | Встроенные агенты Explore и Plan пропускают `CLAUDE.md`. Пользовательские subagents загружают его так же, как основной диалог, если только его определение не устанавливает [`omitClaudeMd`](/docs/ru/sub-agents#supported-frontmatter-fields) | Для Explore или Plan переформулируйте инструкцию в своём делегирующем prompt. Для subagent, который устанавливает `omitClaudeMd`, удалите это поле. Для любого другого пользовательского subagent поместите критические инструкции в тело файла агента, которое становится системным prompt агента. См. [что загружается при запуске](/docs/ru/sub-agents#what-loads-at-startup). |173| Subagent игнорирует инструкции `CLAUDE.md` | Встроенные агенты Explore и Plan пропускают `CLAUDE.md`. Пользовательские subagents загружают его так же, как основной диалог, если только его определение не устанавливает [`omitClaudeMd`](/docs/ru/sub-agents#supported-frontmatter-fields) | Для Explore или Plan переформулируйте инструкцию в своём делегирующем prompt. Для subagent, который устанавливает `omitClaudeMd`, удалите это поле. Для любого другого пользовательского subagent поместите критические инструкции в тело файла агента, которое становится системным prompt агента. См. [что загружается при запуске](/docs/ru/sub-agents#what-loads-at-startup). |

132| Логика очистки никогда не запускается в конце сессии | Нет настроенного `SessionEnd` hook | Добавьте `SessionEnd` hook в `settings.json`. См. [hook events list](/docs/ru/hooks#hook-events). |174| Логика очистки никогда не запускается в конце сессии | Нет настроенного `SessionEnd` hook | Добавьте `SessionEnd` hook в `settings.json`. См. [hook events list](/docs/ru/hooks#hook-events). |

133| MCP серверы в `.mcp.json` никогда не загружаются | Файл находится под `.claude/` или его серверы находятся под ключом верхнего уровня `servers`, как в VS Code `mcp.json`, вместо `mcpServers` | Конфигурация MCP проекта находится в корне репозитория как `.mcp.json`, а не внутри `.claude/`, с серверами под ключом `mcpServers`. См. [MCP configuration](/docs/ru/mcp). |175| MCP серверы в `.mcp.json` никогда не загружаются | Файл находится под `.claude/` или его серверы находятся под ключом верхнего уровня `servers`, как в VS Code `mcp.json`, вместо `mcpServers` | Конфигурация MCP проекта находится в корне репозитория как `.mcp.json`, а не внутри `.claude/`, с серверами под ключом `mcpServers`. См. [MCP configuration](/docs/ru/mcp). |

desktop.md +53 −0

Details

913 913 

914Каждая запись требует `id`, `name` и `sshHost`. Поля `sshPort` и `sshIdentityFile` являются необязательными. Пользователи также могут добавить `sshConfigs` в свой собственный `~/.claude/settings.json`.914Каждая запись требует `id`, `name` и `sshHost`. Поля `sshPort` и `sshIdentityFile` являются необязательными. Пользователи также могут добавить `sshConfigs` в свой собственный `~/.claude/settings.json`.

915 915 

916Если вы не укажете `user@` в `sshHost`, Desktop подключается от имени пользователя `User`, заданного для этого хоста в `~/.ssh/config` каждого разработчика, а в противном случае — под его именем пользователя на его собственном компьютере.

917 

916<h4 id="restrict-which-ssh-hosts-users-can-connect-to">918<h4 id="restrict-which-ssh-hosts-users-can-connect-to">

917 Ограничение SSH-хостов, к которым могут подключаться пользователи919 Ограничение SSH-хостов, к которым могут подключаться пользователи

918</h4>920</h4>


937 939 

938`sshHostAllowlist` читается только из управляемых параметров; значения в параметрах пользователя или проекта игнорируются. Только приложение Claude Desktop соблюдает этот параметр; Claude Code CLI и расширения IDE не читают его, и он не ограничивает команды `ssh`, выполняемые через инструмент Bash. Он управляет тем, к каким хостам подключается приложение Desktop, а не сетевым исходящим трафиком, поэтому объедините его с сетевыми элементами управления вашей организации или элементами управления с нулевым доверием, если вам нужна жёсткая граница.940`sshHostAllowlist` читается только из управляемых параметров; значения в параметрах пользователя или проекта игнорируются. Только приложение Claude Desktop соблюдает этот параметр; Claude Code CLI и расширения IDE не читают его, и он не ограничивает команды `ssh`, выполняемые через инструмент Bash. Он управляет тем, к каким хостам подключается приложение Desktop, а не сетевым исходящим трафиком, поэтому объедините его с сетевыми элементами управления вашей организации или элементами управления с нулевым доверием, если вам нужна жёсткая граница.

939 941 

942<h4 id="turn-off-local-sessions-and-distribute-ssh-connections">

943 Отключение локальных сессий и распространение SSH-соединений

944</h4>

945 

946Чтобы отключить локальные сессии и ограничить SSH-сессии выбранными вами хостами, разверните вместе [`disableDesktopLocalSessions`](/docs/ru/settings-reference#disabledesktoplocalsessions), [`sshConfigs`](#pre-configure-ssh-connections-for-your-team) и [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to).

947 

948<Note>

949 Эта конфигурация предназначена для пользователей, которые входят с учётной записью Claude. При использовании [стороннего провайдера](/docs/ru/third-party-integrations) SSH-сессии по умолчанию отключены, и задание `sshHostAllowlist` может их включить. Прежде чем развёртывать эти ключи, прочитайте [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

950</Note>

951 

952Следующий пример отключает локальные сессии, добавляет одно соединение и ограничивает SSH-сессии хостом этого соединения:

953 

954```json managed-settings.json theme={null}

955{

956 "disableDesktopLocalSessions": true,

957 "sshConfigs": [

958 {

959 "id": "shared-dev-vm",

960 "name": "Shared Dev VM",

961 "sshHost": "dev.example.com"

962 }

963 ],

964 "sshHostAllowlist": ["dev.example.com"]

965}

966```

967 

968Эти ключи применяются к приложению desktop. Они не затрагивают другие способы запуска Claude Code, такие как CLI, Cowork и облачные сессии:

969 

970* **CLI**: ни один из ключей не мешает разработчику запускать Claude Code CLI на своём собственном компьютере

971* **Cowork**: ни один из ключей не применяется к сессиям [Cowork](https://claude.com/docs/cowork/overview) или запланированным задачам Cowork

972* **Облачные сессии**: ни один из ключей не влияет на доступность [облачных сессий](#cloud-sessions). Чтобы отключить их, используйте настройку **Cloud sessions** в разделе [Элементы управления Admin console](#admin-console-controls).

973 

974При адаптации примера проверьте имена хостов и версию Desktop:

975 

976* **Имена хостов**: убедитесь, что шаблон в `sshHostAllowlist` совпадает с именем хоста каждой записи `sshConfigs` без `user@`, иначе разработчики не смогут к нему подключиться. О том, как Desktop сопоставляет имя хоста, см. [Ограничение SSH-хостов, к которым могут подключаться пользователи](#restrict-which-ssh-hosts-users-can-connect-to).

977* **Версия**: для `disableDesktopLocalSessions` требуется Claude Desktop v1.37937.0 или более поздней версии

978 

979Поместите все три ключа в один [управляемый источник](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) — тот, который имеет наивысший приоритет среди доставляемых вами. Если вы доставляете [серверные управляемые настройки](/docs/ru/server-managed-settings), также храните копию трёх ключей в политике MDM или файле управляемых настроек с наивысшим приоритетом на каждом компьютере. Desktop получает серверные управляемые настройки при запуске, и копия на компьютере действует до тех пор, пока получение не завершится успешно.

980 

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

982 

983<Steps>

984 <Step title="Проверьте раскрывающийся список окружения">

985 Закройте и снова откройте Desktop, затем откройте раскрывающийся список окружения в поле промпта. **Local** отображается серым, а **Shared Dev VM** появляется в разделе **SSH**. Если **Local** по-прежнему доступен, проверьте версию Desktop, то, что файл содержит валидный JSON, и то, какой управляемый источник читает компьютер.

986 </Step>

987 

988 <Step title="Добавьте хост, которого нет в списке разрешённых">

989 [Добавьте SSH-соединение](#ssh-sessions) с именем хоста, которого нет в списке разрешённых хостов, например `other.example.com`. Desktop сохраняет соединение, но отказывается подключаться и сообщает, что настройки вашей организации не разрешают это соединение.

990 </Step>

991</Steps>

992 

940<h2 id="enterprise-configuration">993<h2 id="enterprise-configuration">

941 Конфигурация для предприятий994 Конфигурация для предприятий

942</h2>995</h2>

env-vars.md +1 −1

Details

256| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Установите `1`, чтобы отключить всю функциональность фоновых задач, включая параметр `run_in_background` инструментов Bash и субагентов, автоматический перевод в фон и сочетание клавиш Ctrl+B |256| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Установите `1`, чтобы отключить всю функциональность фоновых задач, включая параметр `run_in_background` инструментов Bash и субагентов, автоматический перевод в фон и сочетание клавиш Ctrl+B |

257| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Установите `1`, чтобы Claude Code не считал потоковый ответ [Amazon Bedrock](/docs/ru/amazon-bedrock) с отсутствующим или пустым заголовком `Content-Type` бинарным потоком событий Amazon Bedrock. По умолчанию Claude Code предполагает, что шлюз удалил заголовок из в остальном неизменённого ответа, поэтому декодирует тело, и потоковая передача продолжает работать. Устанавливайте эту переменную только для шлюза, который также переотправляет поток как server-sent events; тогда Claude Code читает тело без заголовка как server-sent events. Требуется Claude Code v2.1.239 или новее |257| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Установите `1`, чтобы Claude Code не считал потоковый ответ [Amazon Bedrock](/docs/ru/amazon-bedrock) с отсутствующим или пустым заголовком `Content-Type` бинарным потоком событий Amazon Bedrock. По умолчанию Claude Code предполагает, что шлюз удалил заголовок из в остальном неизменённого ответа, поэтому декодирует тело, и потоковая передача продолжает работать. Устанавливайте эту переменную только для шлюза, который также переотправляет поток как server-sent events; тогда Claude Code читает тело без заголовка как server-sent events. Требуется Claude Code v2.1.239 или новее |

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

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

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

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

262| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Установите `1`, чтобы оставить доступными браузерные инструменты [Claude in Chrome](/docs/ru/chrome), но исключить раздел Chrome из системного промпта и [встроенный скилл](/docs/ru/skills#bundled-skills) `/claude-in-chrome`. Для хостов, которые встраивают Claude Code и предоставляют собственные инструкции для браузера. Требуется Claude Code v2.1.257 или новее |262| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Установите `1`, чтобы оставить доступными браузерные инструменты [Claude in Chrome](/docs/ru/chrome), но исключить раздел Chrome из системного промпта и [встроенный скилл](/docs/ru/skills#bundled-skills) `/claude-in-chrome`. Для хостов, которые встраивают Claude Code и предоставляют собственные инструкции для браузера. Требуется Claude Code v2.1.257 или новее |

errors.md +104 −100

Details

3957 Ошибки плагинов3957 Ошибки плагинов

3958</h2>3958</h2>

3959 3959 

3960Эти ошибки возникают из [конфигурации плагинов](/docs/ru/plugins/overview) и [конфигурации маркетплейса](/docs/ru/plugins/overview). Для проблем с плагинами, которые не выдают одно из сообщений на этой странице, например маркетплейс, который не загружается, или плагин, который устанавливается, но не отображается, см. [Устранение неполадок плагинов](/docs/ru/plugins/troubleshooting).3960Эти ошибки связаны с конфигурацией [плагинов](/docs/ru/plugins/overview) и [маркетплейсов](/docs/ru/plugins/overview). Проблемы с плагинами, которые не приводят ни к одному из сообщений на этой странице, например URL маркетплейса, который не загружается, или плагин, который устанавливается, но не появляется, описаны в разделе [Устранение неполадок плагинов](/docs/ru/plugins/troubleshooting).

3961 3961 

3962<h3 id="plugin-eval-is-currently-in-early-access">3962<h3 id="plugin-eval-is-currently-in-early-access">

3963 plugin eval is currently in early access3963 plugin eval is currently in early access

3964</h3>3964</h3>

3965 3965 

3966Вы запустили [`claude plugin eval`](/docs/ru/plugin-evals) или `claude plugin eval init`, и команда завершилась с кодом 1 с одним из этих сообщений перед выполнением каких-либо действий:3966Вы запустили [`claude plugin eval`](/docs/ru/plugin-evals) или `claude plugin eval init`, и команда завершилась с кодом 1 с одним из этих сообщений, ничего не выполнив:

3967 3967 

3968```text theme={null}3968```text theme={null}

3969`plugin eval` is currently in early access3969`plugin eval` is currently in early access


3973`plugin eval` is currently unavailable3973`plugin eval` is currently unavailable

3974```3974```

3975 3975 

3976Первое сообщение означает, что ваша сборка старше v2.1.269, первой версии, где команда общедоступна. Второе означает, что Anthropic отключила команду на стороне сервера; ничто на вашем компьютере не включит её обратно.3976Первое сообщение означает, что ваша сборка старше v2.1.269 — первой версии, в которой команда общедоступна. Второе означает, что Anthropic отключила команду на стороне сервера; ничто на вашем компьютере не включит её обратно.

3977 3977 

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

3979 3979 

3980* Запустите `claude --version`, затем `claude update`, и запустите команду снова в новом сеансе. См. [требования для plugin evals](/docs/ru/plugin-evals#requirements)3980* Выполните `claude --version`, затем `claude update` и снова запустите команду в новой сессии. См. [требования к оценкам плагинов](/docs/ru/plugin-evals#requirements)

3981* Если вы видите второе сообщение в текущей сборке, попробуйте снова позже после ещё одного `claude update`3981* Если вы видите второе сообщение в актуальной сборке, повторите попытку позже после очередного `claude update`

3982 3982 

3983<h3 id="marketplace-is-registered-from-an-untrusted-source">3983<h3 id="marketplace-is-registered-from-an-untrusted-source">

3984 Marketplace is registered from an untrusted source3984 Маркетплейс зарегистрирован из недоверенного источника

3985</h3>3985</h3>

3986 3986 

3987Маркетплейс зарегистрирован под именем, которое [зарезервировано для официальных маркетплейсов Anthropic](/docs/ru/plugins/marketplace-reference#marketplace-file), но его зарегистрированный источник не является репозиторием GitHub `anthropics`. Claude Code повторно проверяет зарезервированные имена каждый раз при загрузке или обновлении маркетплейса, поэтому маркетплейс и плагины, установленные из него, перестают загружаться. До версии v2.1.205 запись, зарегистрированная до того, как её имя было зарезервировано, продолжала загружаться.3987Маркетплейс зарегистрирован под именем, которое [зарезервировано для официальных маркетплейсов Anthropic](/docs/ru/plugins/marketplace-reference#marketplace-file), но его зарегистрированный источник не является репозиторием GitHub организации `anthropics`. Claude Code заново проверяет зарезервированные имена каждый раз при загрузке или обновлении маркетплейса, поэтому маркетплейс и установленные из него плагины перестают загружаться. До v2.1.205 запись, зарегистрированная до того, как её имя стало зарезервированным, продолжала загружаться.

3988 3988 

3989```text theme={null}3989```text theme={null}

3990Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.3990Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.

3991```3991```

3992 3992 

3993Для маркетплейса, источник которого не является репозиторием GitHub или URL-адресом Git, например локальной директорией, среднее предложение читается как `can only be used with GitHub sources from the 'anthropics' organization` вместо этого. `claude plugin marketplace add` выполняет ту же проверку и отказывает зарезервированному имени с `Failed to add marketplace:`, за которым следует то же предложение о зарезервированном имени.3993Для маркетплейса, источник которого не является репозиторием GitHub или Git URL, например для локального каталога, среднее предложение вместо этого звучит как `can only be used with GitHub sources from the 'anthropics' organization`. `claude plugin marketplace add` выполняет ту же проверку и отклоняет зарезервированное имя с сообщением `Failed to add marketplace:`, за которым следует то же предложение о зарезервированном имени.

3994 3994 

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

3996 3996 

3997* Если маркетплейс уже зарегистрирован, запустите `claude plugin marketplace remove <name>`, затем добавьте его снова из официального репозитория `github.com/anthropics`3997* Если маркетплейс уже зарегистрирован, выполните `claude plugin marketplace remove <name>`, затем добавьте его снова из официального репозитория `github.com/anthropics`

3998* Если вы публикуете сторонний маркетплейс, который использовал это имя до того, как оно было зарезервировано, переименуйте его и попросите пользователей добавить его снова из вашего источника3998* Если вы публикуете сторонний маркетплейс, который использовал это имя до того, как оно стало зарезервированным, переименуйте его и попросите пользователей добавить его заново из вашего источника

3999* См. список зарезервированных имён в разделе [Marketplace schema](/docs/ru/plugins/marketplace-reference#marketplace-file)3999* Список зарезервированных имён см. в разделе [Схема маркетплейса](/docs/ru/plugins/marketplace-reference#marketplace-file)

4000 4000 

4001<h3 id="marketplace-name-is-another-spelling-of-a-reserved-name">4001<h3 id="marketplace-name-is-another-spelling-of-a-reserved-name">

4002 Marketplace name is another spelling of a reserved name4002 Имя маркетплейса — другое написание зарезервированного имени

4003</h3>4003</h3>

4004 4004 

4005Имя маркетплейса само по себе не является зарезервированным именем, но Claude Code рассматривает его как другое написание одного из них. [Зарезервированные имена](/docs/ru/plugins/marketplace-reference#reserved-name-spellings) перечисляют, какие написания считаются зарезервированным именем. Claude Code отказывает такому имени при добавлении маркетплейса:4005Имя маркетплейса само по себе не является зарезервированным, но Claude Code считает его другим написанием зарезервированного имени. В разделе [Зарезервированные имена](/docs/ru/plugins/marketplace-reference#reserved-name-spellings) перечислено, какие написания считаются зарезервированным именем. Claude Code отклоняет такое имя при добавлении маркетплейса:

4006 4006 

4007```text theme={null}4007```text theme={null}

4008Failed to add marketplace: "claude.code.plugins" is another spelling of "claude-code-plugins", a reserved marketplace name.4008Failed to add marketplace: "claude.code.plugins" is another spelling of "claude-code-plugins", a reserved marketplace name.

4009```4009```

4010 4010 

4011Когда маркетплейс уже зарегистрирован под таким именем, его запись перестаёт загружаться, и `/plugin`, `claude plugin install` и `claude plugin update` предупреждают:4011Если маркетплейс уже зарегистрирован под таким именем, его запись перестаёт загружаться, а `/plugin`, `claude plugin install` и `claude plugin update` выводят предупреждение:

4012 4012 

4013```text wrap theme={null}4013```text wrap theme={null}

4014known_marketplaces.json has an entry named "claude.code.plugins", another spelling of the reserved marketplace name "claude-code-plugins", so it is ignored. Remove it with: claude plugin marketplace remove claude.code.plugins4014known_marketplaces.json has an entry named "claude.code.plugins", another spelling of the reserved marketplace name "claude-code-plugins", so it is ignored. Remove it with: claude plugin marketplace remove claude.code.plugins

4015```4015```

4016 4016 

4017Когда имя требует кавычек оболочки, отказ во время добавления читается как `This marketplace's name is another spelling of "<reserved>", a reserved marketplace name. It is not exactly the reserved name it appears to be.`4017Если имя потребовало бы экранирования в оболочке, отказ при добавлении звучит как `This marketplace's name is another spelling of "<reserved>", a reserved marketplace name. It is not exactly the reserved name it appears to be.`

4018 4018 

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

4020 4020 

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

4022* Для предупреждения об игнорируемой записи запустите команду `claude plugin marketplace remove`, которую оно даёт, или удалите запись из `~/.claude/plugins/known_marketplaces.json`4022* В случае предупреждения об игнорируемой записи выполните указанную в нём команду `claude plugin marketplace remove` или удалите запись из `~/.claude/plugins/known_marketplaces.json`

4023 4023 

4024<h3 id="claude-code-refuses-the-marketplace-name">4024<h3 id="claude-code-refuses-the-marketplace-name">

4025 Claude Code refuses the marketplace name4025 Claude Code отклоняет имя маркетплейса

4026</h3>4026</h3>

4027 4027 

4028Имя зарегистрированного маркетплейса [выдаёт себя за официальный маркетплейс Anthropic](/docs/ru/plugins/marketplace-reference#reserved-names) в соответствии с правилами, которые перечисляет этот раздел.4028Имя зарегистрированного маркетплейса [выдаёт себя за официальный маркетплейс Anthropic](/docs/ru/plugins/marketplace-reference#reserved-names) по правилам, перечисленным в том разделе.

4029 4029 

4030Если маркетплейс был зарегистрирован под таким именем до того, как проверка его заблокировала, маркетплейс и плагины, установленные из него, перестают загружаться, потому что Claude Code проверяет имя каждый раз при чтении каталога маркетплейса. Когда имя имитирует официальное, `claude plugin list` и вкладка **Errors** в `/plugin` сообщают о каждом затронутом плагине с сообщением, которое начинается с:4030Если маркетплейс был зарегистрирован под таким именем до того, как проверка стала его блокировать, маркетплейс и установленные из него плагины перестают загружаться, потому что Claude Code проверяет имя каждый раз при чтении каталога маркетплейса. Если имя имитирует официальное, `claude plugin list` и вкладка **Errors** в `/plugin` сообщают о каждом затронутом плагине сообщением, которое начинается так:

4031 4031 

4032```text theme={null}4032```text theme={null}

4033Claude Code refuses the marketplace name "anthropic-plugins-v2"4033Claude Code refuses the marketplace name "anthropic-plugins-v2"

4034```4034```

4035 4035 

4036Для имитирующего имени ошибка самого маркетплейса читается как `Claude Code refuses this marketplace's name: it looks like one of Anthropic's own` вместо этого. `claude plugin marketplace add` отказывает любому выдающему себя за имени с `Marketplace name impersonates an official Anthropic/Claude marketplace`.4036Для имитирующего имени собственная ошибка маркетплейса вместо этого звучит как `Claude Code refuses this marketplace's name: it looks like one of Anthropic's own`. `claude plugin marketplace add` отклоняет любое имя, выдающее себя за официальное, с сообщением `Marketplace name impersonates an official Anthropic/Claude marketplace`.

4037 4037 

4038До версии v2.1.282 `claude plugin list` и `/plugin` сообщали о плагинах имитирующего имени как не загруженных, без указания имени маркетплейса как причины.4038До v2.1.282 `claude plugin list` и `/plugin` также сообщали, что плагины маркетплейса с имитирующим именем не удалось загрузить, но не указывали имя маркетплейса как причину.

4039 4039 

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

4041 4041 

4042* Запустите `claude plugin marketplace remove <name>`. Это также удаляет плагины, установленные из маркетплейса, и удаляет их сохранённые данные4042* Чтобы сохранить маркетплейс, который файл настроек объявляет встроенно с `"source": "settings"`, переименуйте его до удаления старого имени, потому что удаление маркетплейса также удаляет его запись из ваших файлов настроек. Claude Code v2.1.292 или новее перечисляет эти шаги в сообщении:

4043* Чтобы сохранить маркетплейс, дождитесь, пока его разработчик переименует его, затем запустите `claude plugin marketplace update <name>`4043 1. В каждом файле настроек, где маркетплейс указан в `extraKnownMarketplaces`, задайте ключу записи и её `source.name` одно новое имя из простых ASCII-символов, которое не похоже на официальное. Если администратор добавляет маркетплейс через управляемые настройки вашей организации, этот шаг выполняет администратор

4044* Если вы публикуете маркетплейс, переименуйте его в вашем `marketplace.json`; пользователи затем обновят маркетплейс вместо его удаления4044 2. Выполните `claude plugin marketplace remove <old-name>` или удалите старое имя на вкладке **Marketplaces** в `/plugin`. Это также удаляет его плагины и их данные, параметры и секреты

4045 3. Снова запустите Claude Code — в папке проекта, если файл является файлом настроек проекта. Затем установите плагины из переименованного маркетплейса

4046* Чтобы сохранить любой другой маркетплейс, дождитесь, пока его сопровождающий переименует его, затем выполните `claude plugin marketplace update <name>`

4047* Чтобы удалить маркетплейс, выполните `claude plugin marketplace remove <name>`. Это также удаляет установленные из маркетплейса плагины и их данные, параметры и секреты

4048* Если вы публикуете маркетплейс, переименуйте его в своём `marketplace.json`; тогда пользователи обновят маркетплейс, а не удалят его

4045 4049 

4046<h3 id="marketplace-is-already-added-from-a-different-source">4050<h3 id="marketplace-is-already-added-from-a-different-source">

4047 Marketplace is already added from a different source4051 Маркетплейс уже добавлен из другого источника

4048</h3>4052</h3>

4049 4053 

4050Вы указали новый источник маркетплейса с помощью [`--marketplace <source>` в команде установки](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command) — в сессии или из вашей оболочки. Каталог, который Claude Code получил из этого источника, имеет то же имя, что и маркетплейс, который вы уже добавили из другого источника. Claude Code сохраняет существующий маркетплейс вместо его замены, и плагин не устанавливается.4054Вы указали новый источник маркетплейса с помощью [`--marketplace <source>` в команде установки](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command) — в сессии или из оболочки. Каталог, который Claude Code получил из этого источника, имеет то же имя, что и маркетплейс, уже добавленный вами из другого источника. Claude Code сохраняет существующий маркетплейс вместо его замены, и плагин не устанавливается.

4051 4055 

4052```text theme={null}4056```text theme={null}

4053Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.4057Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.


4055 4059 

4056**Что делать:**4060**Что делать:**

4057 4061 

4058* Если маркетплейс, который вы уже добавили, это тот, который вам нужен, установите из него по имени: `/plugin install <plugin>@<name>`4062* Если нужен уже добавленный маркетплейс, установите из него плагин по имени: `/plugin install <plugin>@<name>`

4059* Чтобы переключиться на новый источник, запустите `/plugin marketplace remove <name>`, затем повторите попытку установки4063* Чтобы переключиться на новый источник, выполните `/plugin marketplace remove <name>`, затем повторите попытку установки

4060 4064 

4061<h3 id="plugin-command-references-user-config">4065<h3 id="plugin-command-references-user-config">

4062 Plugin command references user\_config in a shell command4066 Команда плагина ссылается на user\_config в shell-команде

4063</h3>4067</h3>

4064 4068 

4065Хук плагина, [monitor](/docs/ru/plugins/components#monitors), или команда MCP [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication) ссылается на опцию `${user_config.KEY}` [плагина](/docs/ru/plugins/manifest-reference#user-configuration), и подставленная строка будет передана в оболочку. Настроенное значение, содержащее `$(...)`, обратные кавычки или `;`, будет выполнено как код там, поэтому Claude Code отказывается запускать компонент вместо подстановки значения. Проверка выполняется на шаблоне команды, поэтому ошибка появляется даже когда значение ещё не настроено. До версии v2.1.207 значение подставлялось в команду оболочки.4069Команда хука плагина, [монитора](/docs/ru/plugins/components#monitors) или MCP [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication) ссылается на [параметр плагина](/docs/ru/plugins/manifest-reference#user-configuration) `${user_config.KEY}`, и строка после подстановки была бы передана оболочке. Настроенное значение, содержащее `$(...)`, обратные кавычки или `;`, выполнилось бы там как код, поэтому Claude Code отказывается запускать компонент вместо подстановки значения. Проверка выполняется по шаблону команды, поэтому ошибка появляется, даже когда значение ещё не настроено. До v2.1.207 значение подставлялось в shell-команду.

4066 4070 

4067Формулировка зависит от того, какая поверхность ссылалась на опцию. Хук в форме оболочки сообщает:4071Формулировка зависит от того, в каком месте используется ссылка на параметр. Хук в shell-форме сообщает:

4068 4072 

4069```text theme={null}4073```text theme={null}

4070Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}4074Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}

4071```4075```

4072 4076 

4073Monitor сообщает:4077Монитор сообщает:

4074 4078 

4075```text theme={null}4079```text theme={null}

4076Monitor "deploy-status" from plugin deploy-tools references ${user_config.*} in its command. The substituted value would be passed to a shell. Monitor commands cannot safely reference ${user_config.*}; have the monitor script read the value from a config file or prompt instead.4080Monitor "deploy-status" from plugin deploy-tools references ${user_config.*} in its command. The substituted value would be passed to a shell. Monitor commands cannot safely reference ${user_config.*}; have the monitor script read the value from a config file or prompt instead.


4084 4088 

4085**Что делать:**4089**Что делать:**

4086 4090 

4087* Для хука добавьте массив `args`, чтобы он выполнялся в [exec форме](/docs/ru/hooks#exec-form-and-shell-form), где каждый `${user_config.KEY}` становится одним аргументом без оболочки между ними. Или удалите ссылку и прочитайте переменную окружения `$CLAUDE_PLUGIN_OPTION_<KEY>` внутри скрипта4091* Для хука добавьте массив `args`, чтобы он выполнялся в [exec-форме](/docs/ru/hooks#exec-form-and-shell-form), где каждый `${user_config.KEY}` становится одним аргументом без участия оболочки. Или уберите ссылку и читайте переменную окружения `$CLAUDE_PLUGIN_OPTION_<KEY>` внутри скрипта

4088* Для monitor удалите ссылку и пусть скрипт monitor прочитает значение из файла конфигурации4092* Для монитора уберите ссылку, и пусть скрипт монитора читает значение из файла конфигурации

4089* Для `headersHelper` переместите `${user_config.KEY}` в поле `headers` сервера, которое не анализируется оболочкой, или прочитайте значение внутри скрипта помощника4093* Для `headersHelper` перенесите `${user_config.KEY}` в поле `headers` сервера, которое не разбирается оболочкой, или читайте значение внутри вспомогательного скрипта

4090 4094 

4091<h3 id="plugin-archive-integrity-check-failed">4095<h3 id="plugin-archive-integrity-check-failed">

4092 Plugin archive integrity check failed4096 Проверка целостности архива плагина не пройдена

4093</h3>4097</h3>

4094 4098 

4095Запись маркетплейса плагина использует [источник `archive`](/docs/ru/plugins/marketplace-reference#archive-plugin-source) с закреплением `sha256`, и дайджест загруженного файла не совпадает с закреплением. Claude Code отказывает в установке, поэтому ничего не меняется в кэше плагинов. Несовпадение имеет три возможные причины:4099Запись плагина в маркетплейсе использует [источник `archive`](/docs/ru/plugins/marketplace-reference#archive-plugin-source) с закреплённым `sha256`, и хеш загруженного файла не совпадает с закреплённым значением. Claude Code отказывается от установки, поэтому в кэше плагинов ничего не меняется. У несовпадения три возможные причины:

4096 4100 

4097* Файл по URL-адресу изменился после того, как автор вычислил закрепление4101* Файл по URL изменился после того, как автор вычислил закреплённое значение

4098* Автор ввёл неправильный дайджест в запись маркетплейса4102* Автор указал неверный хеш в записи маркетплейса

4099* URL-адрес служит другим файлом, чем тот, который автор закрепил4103* URL отдаёт не тот файл, который закрепил автор

4100 4104 

4101```text theme={null}4105```text theme={null}

4102Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.4106Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.


4104 4108 

4105**Что делать:**4109**Что делать:**

4106 4110 

4107* Если вы публикуете плагин, пересчитайте дайджест точного файла, который служит URL-адрес, например с помощью `shasum -a 256 my-plugin.zip`, или `Get-FileHash -Algorithm SHA256 my-plugin.zip` в PowerShell, и обновите `sha256` в записи маркетплейса4111* Если вы публикуете плагин, заново вычислите хеш именно того файла, который отдаёт URL, например с помощью `shasum -a 256 my-plugin.zip` или `Get-FileHash -Algorithm SHA256 my-plugin.zip` в PowerShell, и обновите `sha256` в записи маркетплейса

4108* Если вы устанавливаете плагин, запустите `/plugin marketplace update <name>` для обновления каталога на случай, если запись была исправлена, затем повторите попытку установки4112* Если вы устанавливаете плагин, выполните `/plugin marketplace update <name>`, чтобы обновить каталог на случай, если запись исправили, затем повторите попытку установки

4109* Если дайджесты всё ещё не совпадают после обновления, спросите владельца маркетплейса, какой файл они закрепили перед установкой4113* Если хеши по-прежнему не совпадают после обновления, перед установкой спросите владельца маркетплейса, какой файл он закрепил

4110 4114 

4111<h3 id="path-escapes-plugin-directory">4115<h3 id="path-escapes-plugin-directory">

4112 Path escapes plugin directory4116 Путь выходит за пределы каталога плагина

4113</h3>4117</h3>

4114 4118 

4115Путь компонента плагина, объявленный в `plugin.json` плагина или в его [записи маркетплейса](/docs/ru/plugins/marketplace-reference#plugin-entries), разрешается вне собственной директории плагина. Claude Code отбрасывает этот путь и загружает остальную часть плагина. Имя компонента в сообщении, такое как `commands` или `hooks`, называет поле, которое объявило путь.4119Путь компонента плагина, объявленный в `plugin.json` плагина или в его [записи маркетплейса](/docs/ru/plugins/marketplace-reference#plugin-entries), указывает за пределы собственного каталога плагина. Claude Code отбрасывает этот путь и загружает остальную часть плагина. Имя компонента в сообщении, например `commands` или `hooks`, указывает поле, в котором объявлен путь.

4116 4120 

4117```text theme={null}4121```text theme={null}

4118commands path escapes plugin directory: ./../shared.md4122commands path escapes plugin directory: ./../shared.md

4119```4123```

4120 4124 

4121В выводе команды `claude plugin` та же ошибка читается как `Path escapes plugin directory: ./../shared.md (commands)`.4125В выводе команд `claude plugin` та же ошибка звучит как `Path escapes plugin directory: ./../shared.md (commands)`.

4122 4126 

4123Claude Code отклоняет как путь, который указывает вне плагина в том виде, в котором он написан, например `../shared-utils`, так и символическую ссылку, которая ведёт вне плагина и не является одной из [правил символических ссылок маркетплейса](/docs/ru/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks), которые разрешены. Для символической ссылки сообщение также указывает, где разрешается путь:4127Claude Code отклоняет как путь, который в записанном виде указывает за пределы плагина, например `../shared-utils`, так и символическую ссылку, которая ведёт за пределы плагина и не разрешена [правилами символических ссылок маркетплейса](/docs/ru/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks). Для символической ссылки сообщение также указывает, куда разрешается путь:

4124 4128 

4125```text theme={null}4129```text theme={null}

4126commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory4130commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

4127```4131```

4128 4132 

4129На macOS и Linux Claude Code также отклоняет путь компонента, который содержит обратную косую черту где-либо в нём, даже когда путь остаётся внутри плагина. Плагин, чьи пути компонентов используют разделители в стиле Windows, загружается на Windows и вызывает это отклонение на других платформах:4133В macOS и Linux Claude Code также отклоняет путь компонента, содержащий обратную косую черту в любом месте, даже если путь остаётся внутри плагина. Плагин, пути компонентов которого используют разделители в стиле Windows, загружается в Windows и вызывает этот отказ на других платформах:

4130 4134 

4131```text theme={null}4135```text theme={null}

4132commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform4136commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform

4133```4137```

4134 4138 

4135До версии v2.1.251 Claude Code загружала путь `commands`, объявленный в записи маркетплейса, даже когда он указывал вне директории плагина.4139До v2.1.251 Claude Code загружал путь `commands`, объявленный в записи маркетплейса, даже если он указывал за пределы каталога плагина.

4136 4140 

4137До версии v2.1.257 проверка смотрела только на написание пути, а не на то, где ведёт символическая ссылка.4141До v2.1.257 проверка учитывала только написание пути, а не то, куда ведёт символическая ссылка.

4138 4142 

4139**Что делать:**4143**Что делать:**

4140 4144 

4141* Переместите упомянутый файл внутри директории плагина и укажите на него с помощью относительного пути `./`4145* Переместите указанный файл внутрь каталога плагина и укажите на него относительным путём с `./`

4142* Если путь является символической ссылкой на файл вне плагина, замените символическую ссылку копией файла4146* Если путь — символическая ссылка на файл вне плагина, замените символическую ссылку копией файла

4143* Если сообщение говорит, что путь содержит обратную косую черту, напишите путь с прямыми косыми чертами, например `./commands/deploy.md`4147* Если в сообщении сказано, что путь содержит обратную косую черту, запишите путь с прямыми косыми чертами, например `./commands/deploy.md`

4144* Для совместного использования файлов с другими плагинами в одном маркетплейсе свяжите их с помощью символической ссылки внутри директории плагина, следуя [правилам символических ссылок](/docs/ru/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)4148* Чтобы совместно использовать файлы с другими плагинами того же маркетплейса, свяжите их символической ссылкой внутри каталога плагина, следуя [правилам символических ссылок](/docs/ru/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)

4145 4149 

4146<h3 id="path-could-not-be-checked">4150<h3 id="path-could-not-be-checked">

4147 Path could not be checked4151 Путь не удалось проверить

4148</h3>4152</h3>

4149 4153 

4150Claude Code попросила операционную систему проверить, существует ли путь плагина, и получила ошибку, отличную от «не найдено», поэтому она не загружает то, что называет путь. Сколько плагина загружается, зависит от того, какой путь не удался:4154Claude Code запросил у операционной системы, существует ли путь плагина, и получил ошибку, отличную от «не найдено», поэтому не загружает то, на что указывает путь. Какая часть плагина загрузится, зависит от того, какой путь не прошёл проверку:

4151 4155 

4152* Одно из [расположений компонентов по умолчанию](/docs/ru/plugins/manifest-reference#standard-layout) плагина, такое как папка `skills/`, файл `monitors/monitors.json` или [`SKILL.md` в корне плагина](/docs/ru/plugins/components#skills): остальные компоненты плагина всё ещё загружаются4156* Одно из [расположений компонентов плагина по умолчанию](/docs/ru/plugins/manifest-reference#standard-layout), например папка `skills/`, файл `monitors/monitors.json` или [`SKILL.md` в корне плагина](/docs/ru/plugins/components#skills): остальные компоненты плагина по-прежнему загружаются

4153* Собственная директория плагина: ничего из этого плагина не загружается4157* Собственный каталог плагина: ничего из этого плагина не загружается

4154 4158 

4155Вы не видите эту ошибку для пути, который вообще не существует. В `/plugin` ошибка появляется под плагином и называет путь и код, который вернула операционная система:4159Для пути, который вообще не существует, эта ошибка не появляется. В `/plugin` ошибка отображается под плагином и указывает путь и код, который вернула операционная система:

4156 4160 

4157```text theme={null}4161```text theme={null}

4158skills path could not be checked: /home/user/my-plugin/skills (ELOOP)4162skills path could not be checked: /home/user/my-plugin/skills (ELOOP)

4159```4163```

4160 4164 

4161В `claude plugin list` та же ошибка читается как `Path not found: /home/user/my-plugin/skills (skills, ELOOP)`.4165В `claude plugin list` та же ошибка звучит как `Path not found: /home/user/my-plugin/skills (skills, ELOOP)`.

4162 4166 

4163Причины, которые вызывают эту ошибку, включают:4167К причинам этой ошибки относятся:

4164 4168 

4165* `ELOOP`: символическая ссылка в пути указывает на себя или образует цикл4169* `ELOOP`: символическая ссылка в пути указывает сама на себя или образует цикл

4166* `EIO` или `ESTALE`: путь находится на сетевом монтировании, которое нарушено или устарело4170* `EIO` или `ESTALE`: путь находится на сетевом подключении, которое повреждено или устарело

4167* `EACCES`: один из директорий выше пути отказывает вам в разрешении на его обход4171* `EACCES`: один из каталогов выше пути не даёт вам прав доступа для его прохождения

4168 4172 

4169**Что делать:**4173**Что делать:**

4170 4174 

4171* Замените символическую ссылку, которая указывает на себя, на реальную папку, или удалите её4175* Замените символическую ссылку, указывающую сама на себя, настоящей папкой или удалите её

4172* Если путь находится на сетевом монтировании, переподключите общий ресурс4176* Если путь находится на сетевом подключении, переподключите общий ресурс

4173* Если код `EACCES`, восстановите ваше разрешение на выполнение в директориях выше пути4177* Если код — `EACCES`, восстановите право на выполнение для каталогов выше пути

4174* Запустите `/reload-plugins` после исправления пути, или перезагрузите Claude Code, чтобы загрузить плагин или компонент4178* После исправления пути выполните `/reload-plugins` или перезапустите Claude Code, чтобы загрузить плагин или компонент

4175 4179 

4176До версии v2.1.265 Claude Code рассматривала папку компонента по умолчанию, которую она не могла проверить, как отсутствующую и загружала плагин без этого компонента, без ошибки.4180До v2.1.265 Claude Code считал папку компонента по умолчанию, которую не удалось проверить, отсутствующей и загружал плагин без этого компонента, не выводя ошибку.

4177 4181 

4178<h3 id="marketplace-entry-path-does-not-stay-inside-the-marketplace-directory">4182<h3 id="marketplace-entry-path-does-not-stay-inside-the-marketplace-directory">

4179 Marketplace entry path does not stay inside the marketplace directory4183 Путь записи маркетплейса не остаётся внутри каталога маркетплейса

4180</h3>4184</h3>

4181 4185 

4182[Запись маркетплейса](/docs/ru/plugins/marketplace-reference#plugin-entries) плагина объявляет путь источника, который Claude Code не может разрешить в расположение внутри собственной директории маркетплейса, поэтому плагин не устанавливается и не загружается. Отказ охватывает:4186[Запись маркетплейса](/docs/ru/plugins/marketplace-reference#plugin-entries) плагина объявляет путь источника, который Claude Code не может разрешить в расположение внутри собственного каталога маркетплейса, поэтому плагин не устанавливается и не загружается. Отказ распространяется на:

4183 4187 

4184* Путь записи, который является абсолютным, поднимается из маркетплейса с помощью `..`, или написан как сетевой путь4188* Путь записи, который является абсолютным, выходит за пределы маркетплейса с помощью `..` или записан как сетевой путь

4185* На macOS и Linux путь записи, который содержит обратную косую черту где-либо после начального `./`4189* В macOS и Linux — путь записи, содержащий обратную косую черту в любом месте после начального `./`

4186* Запись в маркетплейсе, полученном из удалённого источника, такого как git или URL, которая достигает своей цели через символическую ссылку, разрешающуюся вне директории маркетплейса4190* Запись в маркетплейсе, полученном из удалённого источника, например git или URL, которая достигает цели через символическую ссылку, разрешающуюся за пределы каталога маркетплейса

4187* Относительная запись в маркетплейсе, добавленном из прямого URL-адреса его `marketplace.json`: Claude Code загружает только этот файл, поэтому локальные файлы плагинов не существуют для пути, чтобы назвать. См. [Plugins with relative paths fail in URL-based marketplaces](/docs/ru/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces)4191* Относительную запись в маркетплейсе, добавленном по прямому URL на его `marketplace.json`: Claude Code загружает только этот файл, поэтому локальных файлов плагина, на которые мог бы указывать путь, нет. См. [Плагины с относительными путями не работают в маркетплейсах на основе URL](/docs/ru/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces)

4188 4192 

4189`claude plugin install` сообщает об отказе следующим образом:4193`claude plugin install` сообщает об отказе так:

4190 4194 

4191```text theme={null}4195```text theme={null}

4192Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)4196Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)

4193```4197```

4194 4198 

4195Когда запись уже установленного плагина не проходит ту же проверку, `claude plugin list` показывает плагин как `failed to load` с:4199Если запись уже установленного плагина не проходит ту же проверку, `claude plugin list` показывает плагин как `failed to load` с сообщением:

4196 4200 

4197```text theme={null}4201```text theme={null}

4198Plugin source path refused: ./my-plugin does not stay inside its marketplace directory. Check that the marketplace entry has a plain relative path.4202Plugin source path refused: ./my-plugin does not stay inside its marketplace directory. Check that the marketplace entry has a plain relative path.


4200 4204 

4201**Что делать:**4205**Что делать:**

4202 4206 

4203* Если вы поддерживаете маркетплейс, напишите `source` записи как простой относительный путь с прямыми косыми чертами, например `./plugins/my-plugin`, и держите любую символическую ссылку, которую он пересекает, указывающей внутри директории маркетплейса4207* Если вы сопровождаете маркетплейс, запишите `source` записи как простой относительный путь с прямыми косыми чертами, например `./plugins/my-plugin`, и следите, чтобы любая символическая ссылка на этом пути указывала внутрь каталога маркетплейса

4204* Если вы добавили маркетплейс из прямого URL-адреса, относительные записи не могут разрешиться. Попросите автора маркетплейса использовать [другой источник плагина](/docs/ru/plugins/marketplace-reference#plugin-sources), или добавьте маркетплейс из его репозитория git вместо этого4208* Если вы добавили маркетплейс по прямому URL, относительные записи не могут быть разрешены. Попросите автора маркетплейса использовать [другой источник плагина](/docs/ru/plugins/marketplace-reference#plugin-sources) или вместо этого добавьте маркетплейс из его git-репозитория

4205 4209 

4206<h3 id="failed-to-load-marketplace-configuration">4210<h3 id="failed-to-load-marketplace-configuration">

4207 Failed to load marketplace configuration4211 Failed to load marketplace configuration

4208</h3>4212</h3>

4209 4213 

4210Claude Code хранит маркетплейсы плагинов, которые вы добавили, в файле реестра в `~/.claude/plugins/known_marketplaces.json`. Команда плагина, которой нужен реестр, такая как `claude plugin install`, не выполняется с одним из двух сообщений, когда Claude Code не может использовать файл:4214Claude Code хранит добавленные вами маркетплейсы плагинов в файле реестра `~/.claude/plugins/known_marketplaces.json`. Команда плагина, которой нужен реестр, например `claude plugin install`, завершается одним из двух сообщений, если Claude Code не может использовать этот файл:

4211 4215 

4212* `Failed to load marketplace configuration`: файл не является действительным JSON, или не может быть прочитан. Пустой файл также не работает таким образом.4216* `Failed to load marketplace configuration`: файл существует, но не является допустимым JSON или не может быть прочитан. Пустой файл также приводит к этой ошибке.

4213* `Marketplace configuration file is corrupted`: файл является действительным JSON, но его содержимое не соответствует схеме реестра.4217* `Marketplace configuration file is corrupted`: файл является допустимым JSON, но его содержимое не соответствует схеме реестра.

4214 4218 

4215С пустым файлом `claude plugin install` сообщает:4219С пустым файлом `claude plugin install` сообщает:

4216 4220 


4218✘ Failed to install plugin "my-plugin": Failed to load marketplace configuration: JSON Parse error: Unexpected EOF4222✘ Failed to install plugin "my-plugin": Failed to load marketplace configuration: JSON Parse error: Unexpected EOF

4219```4223```

4220 4224 

4221До версии v2.1.246 `claude plugin install` не сообщала об этой ошибке.4225До v2.1.246 `claude plugin install` не сообщал об этой ошибке.

4222 4226 

4223**Что делать:**4227**Что делать:**

4224 4228 

4225* Откройте `~/.claude/plugins/known_marketplaces.json` и исправьте JSON, или исправьте записи, которые сообщение называет как не соответствующие схеме реестра4229* Откройте `~/.claude/plugins/known_marketplaces.json` и исправьте JSON или исправьте записи, которые в сообщении указаны как не соответствующие схеме реестра

4226* Если вы не можете исправить это, удалите файл или замените его содержимое на `{}`, затем добавьте каждый маркетплейс снова с помощью `claude plugin marketplace add <source>`. Claude Code повторно регистрирует маркетплейсы, которые ваш пользователь или управляемые параметры объявляют в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces), в следующий раз, когда вы запустите его в папке, которую вы доверили.4230* Если исправить файл не удаётся, удалите его или замените его содержимое на `{}`, затем заново добавьте каждый маркетплейс с помощью `claude plugin marketplace add <source>`. Claude Code повторно регистрирует маркетплейсы, объявленные в ваших пользовательских или управляемых настройках в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces), при следующем запуске в папке, которой вы доверяете.

4227 4231 

4228<h3 id="plugin-is-required-by-your-organization">4232<h3 id="plugin-is-required-by-your-organization">

4229 Plugin is required by your organization4233 Плагин обязателен в вашей организации

4230</h3>4234</h3>

4231 4235 

4232Вы запустили `claude plugin disable`, или использовали вкладку `/plugin` **Installed**, чтобы отключить [плагин, синхронизированный с claude.ai](/docs/ru/plugins/loading#synced-plugins), который ваша организация отмечает как обязательный:4236Вы выполнили `claude plugin disable` или использовали вкладку **Installed** в `/plugin`, чтобы отключить [плагин, синхронизированный из claude.ai](/docs/ru/plugins/loading#synced-plugins), который ваша организация отметила как обязательный:

4233 4237 

4234```text theme={null}4238```text theme={null}

4235Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.4239Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.

4236```4240```

4237 4241 

4238Claude Code ничего не сохраняет и плагин остаётся включённым.4242Claude Code ничего не сохраняет, и плагин остаётся включённым.

4239 4243 

4240Когда вы пытаетесь отключить плагин, от которого зависит обязательный плагин, Claude Code отказывает таким же образом, с сообщением, называющим обязательный плагин, который его требует.4244При попытке отключить плагин, от которого зависит обязательный плагин, Claude Code отказывает так же, с сообщением, в котором указан обязательный плагин, которому он нужен.

4241 4245 

4242**Что делать:**4246**Что делать:**

4243 4247 

4244* Попросите администратора вашей организации claude.ai изменить статус обязательности плагина на claude.ai4248* Попросите администратора вашей организации claude.ai изменить статус обязательности плагина на claude.ai

4245 4249 

4246<h3 id="plugin-was-not-uninstalled">4250<h3 id="plugin-was-not-uninstalled">

4247 Plugin was not uninstalled4251 Плагин не был удалён

4248</h3>4252</h3>

4249 4253 

4250Вы запустили [`claude plugin uninstall`](/docs/ru/plugins/cli-reference#plugin-uninstall), или выбрали **Uninstall** на вкладке `/plugin` **Installed**, и удаление остановилось с сообщением, начинающимся с `"<plugin>" was not uninstalled:`. Если текст после этого двоеточия начинается с `installed_plugins.json` вместо названия файла параметров, причина заключается в содержимом `installed_plugins.json`, которое эта версия Claude Code не может прочитать. Для этой формы см. [`installed_plugins.json` holds a record this version can't read](/docs/ru/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read).4254Вы выполнили [`claude plugin uninstall`](/docs/ru/plugins/cli-reference#plugin-uninstall) или выбрали **Uninstall** на вкладке **Installed** в `/plugin`, и удаление остановилось с сообщением, начинающимся с `"<plugin>" was not uninstalled:`. Если текст после двоеточия начинается с `installed_plugins.json`, а не с имени файла настроек, причина — содержимое `installed_plugins.json`, которое эта версия Claude Code не может прочитать. Для этого варианта см. [`installed_plugins.json` содержит запись, которую эта версия не может прочитать](/docs/ru/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read).

4251 4255 

4252Когда Claude Code удалила запись плагина из `enabledPlugins` и прочитала файлы параметров этой области обратно, либо плагин всё ещё был включён там, либо файл, который мог бы его включить, не мог быть прочитан или проверен. Удаление сохранённых опций, секретов и данных плагина, пока запись параметров могла бы его включить обратно, привело бы к их потере, поэтому удаление останавливается вместо этого: плагин остаётся установленным и ничто, что он сохранил, не удаляется.4256Когда Claude Code удалил запись плагина из `enabledPlugins` и заново прочитал файлы настроек этой области действия, либо плагин всё ещё оказался включён там, либо файл, который мог бы его включить, не удалось прочитать или проверить. Удаление сохранённых параметров, секретов и данных плагина, пока запись в настройках может снова его включить, привело бы к их потере, поэтому удаление останавливается: плагин остаётся установленным, и ничего из сохранённого им не удаляется.

4253 4257 

4254```text theme={null}4258```text theme={null}

4255✘ Failed to uninstall plugin "formatter": "formatter" was not uninstalled: it is still switched on in /home/user/project/.claude/settings.local.json, although the settings change reported no error. It is still installed. Take it out of "enabledPlugins" in that file yourself, then uninstall it again.4259✘ Failed to uninstall plugin "formatter": "formatter" was not uninstalled: it is still switched on in /home/user/project/.claude/settings.local.json, although the settings change reported no error. It is still installed. Take it out of "enabledPlugins" in that file yourself, then uninstall it again.

4256```4260```

4257 4261 

4258Середина сообщения называет файл и причину:4262Средняя часть сообщения указывает файл и причину:

4259 4263 

4260* `it is still switched on in <file>, although the settings change reported no error`: запись параметров сообщила об успехе, но запись всё ещё там при чтении файла обратно4264* `it is still switched on in <file>, although the settings change reported no error`: запись настроек сообщила об успехе, но при повторном чтении файла запись всё ещё там

4261* `it is still switched on in <file>, and the settings change failed (<error>)`: файл не мог быть сохранён по причине в скобках4265* `it is still switched on in <file>, and the settings change failed (<error>)`: файл не удалось сохранить по причине, указанной в скобках

4262* `<file> is there and could not be read`: файл существует, но не мог быть прочитан как параметры, например потому что это не действительный JSON, поэтому он может всё ещё включить плагин4266* `<file> is there and could not be read`: файл существует, но его не удалось прочитать как настройки, например потому что он не является допустимым JSON, поэтому он всё ещё может включать плагин

4263* `<file> (not read: it is on a network path or is a link to one, or could not be checked)`: Claude Code не прочитала файл параметров проекта или локальных параметров, потому что файл, или папка `.claude`, которая его содержит, это ссылка, которая ведёт на сетевое расположение, или потому что она не могла проверить этот путь4267* `<file> (not read: it is on a network path or is a link to one, or could not be checked)`: Claude Code не прочитал файл настроек проекта или локальных настроек, потому что этот файл или содержащая его папка `.claude` является ссылкой, ведущей в сетевое расположение, или потому что не удалось проверить этот путь

4264 4268 

4265`claude plugin uninstall` выходит с кодом 1, и с `--json` результат несёт `failureCode: "settings_still_on"`. `/plugin` показывает то же сообщение.4269`claude plugin uninstall` завершается с кодом 1, а с `--json` результат содержит `failureCode: "settings_still_on"`. `/plugin` показывает то же сообщение.

4266 4270 

4267**Что делать:**4271**Что делать:**

4268 4272 

4269* Следуйте последнему предложению сообщения: исправьте или замените файл параметров, который оно называет, или удалите запись плагина из `enabledPlugins` в этом файле самостоятельно, затем запустите удаление снова4273* Следуйте последнему предложению сообщения: исправьте или замените указанный файл настроек либо самостоятельно удалите запись плагина из `enabledPlugins` в этом файле, затем снова выполните удаление

4270 4274 

4271<h2 id="tool-errors">4275<h2 id="tool-errors">

4272 Ошибки инструментов4276 Ошибки инструментов

hooks.md +26 −4

Details

3321 WorktreeCreate3321 WorktreeCreate

3322</h3>3322</h3>

3323 3323 

3324Запускается при создании worktree — будь то через `claude --worktree`, для [субагента, использующего `isolation: "worktree"`](/docs/ru/sub-agents#choose-the-subagent-scope), или для [фоновой сессии](/docs/ru/agent-view#how-file-edits-are-isolated), которую Claude Code изолирует в собственном worktree. По умолчанию Claude Code создаёт изолированную рабочую копию с помощью `git worktree`. Настройка хука WorktreeCreate заменяет это стандартное поведение Git, позволяя использовать другую систему контроля версий, например SVN, Perforce или Mercurial.3324Запускается, когда Claude Code создаёт worktree, например в таких случаях:

3325 

3326* Вы запускаете сессию с помощью `claude --worktree`

3327* Claude создаёт worktree во время сессии и переключается в него с помощью инструмента [`EnterWorktree`](/docs/ru/tools-reference)

3328* [Субагент использует `isolation: "worktree"`](/docs/ru/sub-agents#choose-the-subagent-scope)

3329* [Рабочий процесс](/docs/ru/workflows#migrate-many-files-in-parallel) запускает агента в собственном worktree

3330* Claude Code изолирует [фоновую сессию](/docs/ru/agent-view#how-file-edits-are-isolated) в собственном worktree

3331* [`claude remote-control`](/docs/ru/remote-control#start-a-remote-control-session) в режиме `worktree` запускает сессию в собственном worktree

3332 

3333Когда Claude выполняет `git worktree add` через инструмент Bash, а не вызывает `EnterWorktree`, ваш хук WorktreeCreate не запускается. Чтобы проверить или заблокировать эту команду, добавьте хук [`PreToolUse`](#pretooluse) с matcher `Bash`.

3334 

3335По умолчанию Claude Code создаёт изолированную рабочую копию с помощью `git worktree`. Настройка хука WorktreeCreate заменяет это стандартное поведение git, позволяя использовать другую систему контроля версий, например SVN, Perforce или Mercurial.

3325 3336 

3326Поскольку хук полностью заменяет стандартное поведение, [`.worktreeinclude`](/docs/ru/worktrees#copy-gitignored-files-into-worktrees) не обрабатывается. Если вам нужно скопировать в новый worktree локальные файлы конфигурации, например `.env`, сделайте это внутри скрипта хука.3337Поскольку хук полностью заменяет стандартное поведение, [`.worktreeinclude`](/docs/ru/worktrees#copy-gitignored-files-into-worktrees) не обрабатывается. Если вам нужно скопировать в новый worktree локальные файлы конфигурации, например `.env`, сделайте это внутри скрипта хука.

3327 3338 


3390* Вы выходите из интерактивной [сессии в worktree](/docs/ru/worktrees#start-claude-in-a-worktree) и соглашаетесь удалить worktree, когда Claude Code спрашивает об этом3401* Вы выходите из интерактивной [сессии в worktree](/docs/ru/worktrees#start-claude-in-a-worktree) и соглашаетесь удалить worktree, когда Claude Code спрашивает об этом

3391* Вы выходите из интерактивной сессии в worktree, которой не [дали имя](/docs/ru/sessions#name-your-sessions), Claude Code не находит изменённых или неотслеживаемых файлов и удаляет worktree, не спрашивая вас3402* Вы выходите из интерактивной сессии в worktree, которой не [дали имя](/docs/ru/sessions#name-your-sessions), Claude Code не находит изменённых или неотслеживаемых файлов и удаляет worktree, не спрашивая вас

3392* Вы удаляете [фоновую сессию](/docs/ru/agent-view#what-deleting-a-session-removes), которая работает в этом worktree3403* Вы удаляете [фоновую сессию](/docs/ru/agent-view#what-deleting-a-session-removes), которая работает в этом worktree

3404* Вы просите Claude выйти и удалить worktree во время сессии, и Claude удаляет его с помощью инструмента [`ExitWorktree`](/docs/ru/tools-reference)

3405* Сессия, запущенная [`claude remote-control`](/docs/ru/remote-control#start-a-remote-control-session) в режиме `worktree`, завершается без сбоя, и Claude Code не находит в её worktree изменённых или неотслеживаемых файлов и новых коммитов

3406* Вы останавливаете `claude remote-control`, пока запущенные им в режиме `worktree` сессии ещё работают, и Claude Code не находит в их worktree изменённых или неотслеживаемых файлов и новых коммитов

3407 

3408Когда субагент или агент рабочего процесса завершает работу, Claude Code сохраняет worktree, созданный для него вашим хуком WorktreeCreate, и не запускает ваш хук WorktreeRemove. Удалите эти worktree самостоятельно, когда работа будет завершена.

3409 

3410Claude Code не запрашивает подтверждение перед запуском вашего хука при вызове `ExitWorktree` или очистке `claude remote-control`. `ExitWorktree` отказывается удалять созданный хуком worktree, если в вызове не передан [`discard_changes: true`](/docs/ru/agent-sdk/typescript#exitworktree), поэтому на этом пути ваш хук является последней проверкой.

3393 3411 

3394Claude Code ищет изменённые или неотслеживаемые файлы с помощью Git, поэтому не находит их в worktree, который не является Git-checkout и не находится внутри него, даже если в каталоге есть незакоммиченная работа. Проверяйте наличие такой работы в хуке WorktreeRemove, прежде чем он что-либо удалит.3412Claude Code ищет изменённые или неотслеживаемые файлы с помощью Git, поэтому не находит их в worktree, который не является Git-checkout и не находится внутри него, даже если в каталоге есть незакоммиченная работа. Проверяйте наличие такой работы в хуке WorktreeRemove, прежде чем он что-либо удалит.

3395 3413 

3396Для worktree на основе Git Claude Code выполняет очистку автоматически с помощью `git worktree remove`. Если вы настроили хук WorktreeCreate, используйте вместе с ним хук WorktreeRemove, чтобы управлять очисткой создаваемых им worktree:3414Для worktree на основе git Claude Code выполняет очистку автоматически с помощью `git worktree remove`. Если вы настроили хук WorktreeCreate, добавьте к нему хук WorktreeRemove для управления очисткой:

3397 3415 

3398* **Нет хука WorktreeRemove**: когда Claude Code удаляет worktree при выходе из сессии в worktree, в качестве резервного варианта он выполняет `git worktree remove --force` для пути, возвращённого вашим хуком WorktreeCreate, поэтому worktree, который распознаёт Git, удаляется. Worktree, который Git не распознаёт, например созданный вашим хуком с помощью системы контроля версий, отличной от Git, остаётся на диске. О том, что удаление [фоновой сессии](/docs/ru/agent-view#what-deleting-a-session-removes) делает с worktree, созданным хуком, см. правила удаления в agent view.3416* **Нет хука WorktreeRemove**: Claude Code использует git как резервный вариант для удаления при выходе или через `ExitWorktree` и сохраняет worktree, когда очистку выполняет `claude remote-control`:

3417 * **Вы выходите из сессии worktree или Claude вызывает `ExitWorktree`**: Claude Code удаляет путь, возвращённый вашим хуком WorktreeCreate, так же, как это сделала бы `git worktree remove --force`, поэтому worktree, который распознаёт git, удаляется. Worktree, который git не распознаёт, например созданный вашим хуком с помощью системы контроля версий, отличной от git, остаётся на диске.

3418 * **`claude remote-control` очищает worktree сессии**: worktree остаётся на диске, а терминал, в котором работает `claude remote-control`, показывает `worktree removal failed, kept: <path>`.

3419 * **Вы удаляете фоновую сессию**: см. [Что удаляется при удалении сессии](/docs/ru/agent-view#what-deleting-a-session-removes).

3399* **Хук завершается с кодом 0**: worktree считается удалённым. Claude Code больше ничего не считывает из хука, поэтому убедитесь, что ваш хук удалил каталог.3420* **Хук завершается с кодом 0**: worktree считается удалённым. Claude Code больше ничего не считывает из хука, поэтому убедитесь, что ваш хук удалил каталог.

3400* **Хук завершается с ненулевым кодом**: удаление завершается неудачей, если каталог по пути `worktree_path` после этого всё ещё существует, и worktree остаётся на диске без резервного варианта через Git. Хук, который удалил каталог перед завершением с ненулевым кодом, считается успешно удалившим worktree. О том, как сообщается об ошибке, см. в разделе [Входные данные WorktreeRemove](#worktreeremove-input).3421* **Хук завершается с ненулевым кодом**: удаление завершается неудачей, если каталог по пути `worktree_path` после этого всё ещё существует, и worktree остаётся на диске без резервного варианта через Git. Хук, который удалил каталог перед завершением с ненулевым кодом, считается успешно удалившим worktree. О том, как сообщается об ошибке, см. в разделе [Входные данные WorktreeRemove](#worktreeremove-input).

3401 3422 


3403 3424 

3404Claude Code отбрасывает [поля вывода JSON](#json-output) хука WorktreeRemove, такие как `systemMessage` и `continue`.3425Claude Code отбрасывает [поля вывода JSON](#json-output) хука WorktreeRemove, такие как `systemMessage` и `continue`.

3405 3426 

3406При удалении фоновой сессии Claude Code проверяет сохранённый путь worktree перед запуском хука и отклоняет путь, который является символической ссылкой или проходит через неё ниже корня репозитория. Для worktree, который всё ещё содержит файлы, хук запускается только при подтверждении удаления в [agent view](/docs/ru/agent-view#what-deleting-a-session-removes); для такого worktree [`claude rm`](/docs/ru/agent-view#manage-sessions-from-the-shell) вместо этого сохраняет сессию и worktree. До v2.1.216 хук запускался для сохранённого пути без этих проверок.3427При удалении фоновой сессии Claude Code проверяет сохранённый путь к worktree перед запуском хука и отклоняет путь, который является символической ссылкой или проходит через неё ниже корня репозитория. На этом пути хук запускается для worktree, в котором ещё есть файлы, только если вы подтверждаете удаление в [представлении агентов](/docs/ru/agent-view#what-deleting-a-session-removes); для такого worktree [`claude rm`](/docs/ru/agent-view#manage-sessions-from-the-shell) вместо этого сохраняет сессию и worktree. До v2.1.216 хук запускался для сохранённого пути без этих проверок.

3407 3428 

3408Claude Code передаёт путь, возвращённый WorktreeCreate, как `worktree_path` во входных данных хука. Этот пример считывает этот путь и удаляет каталог:3429Claude Code передаёт путь, возвращённый WorktreeCreate, как `worktree_path` во входных данных хука. Этот пример считывает этот путь и удаляет каталог:

3409 3430 


3444 3465 

3445* Worktree остаётся на диске, а команда хука и его stderr попадают в [лог отладки](#debug-hooks).3466* Worktree остаётся на диске, а команда хука и его stderr попадают в [лог отладки](#debug-hooks).

3446* Если вы удаляли фоновую сессию, сессия тоже остаётся. Сообщение об отказе в [agent view](/docs/ru/agent-view#what-deleting-a-session-removes) сообщает, как завершился хук, например `exited 1`, цитирует начало его stderr и указывает, удалит ли повторное удаление сессии каталог в любом случае.3467* Если вы удаляли фоновую сессию, сессия тоже остаётся. Сообщение об отказе в [agent view](/docs/ru/agent-view#what-deleting-a-session-removes) сообщает, как завершился хук, например `exited 1`, цитирует начало его stderr и указывает, удалит ли повторное удаление сессии каталог в любом случае.

3468* Если `claude remote-control` очищал worktree сессии, терминал, в котором он работает, показывает `worktree removal failed, kept: <path>`.

3447 3469 

3448<h3 id="precompact">3470<h3 id="precompact">

3449 PreCompact3471 PreCompact

Details

55| Вы хотите | Начните с | Необходимая изоляция | Примечания |55| Вы хотите | Начните с | Необходимая изоляция | Примечания |

56| :- | :- | :- | :- |56| :- | :- | :- | :- |

57| Проверить каждое действие самостоятельно | Режим Manual: `claude --permission-mode default` | Нет | Чувствительная работа, незнакомый код |57| Проверить каждое действие самостоятельно | Режим Manual: `claude --permission-mode default` | Нет | Чувствительная работа, незнакомый код |

58| Итерировать локально с меньшим количеством запросов, без классификатора | Режим Manual плюс песочница Bash в [режиме auto-allow](/docs/ru/sandboxing#sandbox-modes): `claude --permission-mode default`, затем запустите `/sandbox` и выберите auto-allow | Встроенная песочница Bash, на macOS, Linux и WSL2 | Правила отказа по-прежнему применяются, и правила запроса, которые называют команду, такие как `Bash(git push *)`, по-прежнему запрашивают. Чтобы включить песочницу из файла параметров вместо этого, установите [`sandbox.enabled`](/docs/ru/settings-reference#sandbox-enabled) на `true` |58| Итерировать локально с меньшим количеством запросов, без классификатора | Режим Manual плюс песочница Bash в [режиме auto-allow](/docs/ru/sandboxing#sandbox-modes): `claude --permission-mode default`, затем запустите `/sandbox` и выберите auto-allow | Встроенная песочница Bash, на macOS, Linux и WSL2 | Правила отказа по-прежнему применяются, и правила запроса, которые называют команду, такие как `Bash(git push *)`, по-прежнему запрашивают. [Режим auto-allow](/docs/ru/sandboxing#auto-allow-mode) охватывает другие команды, которые могут запрашивать подтверждение. Чтобы включить песочницу из файла параметров вместо этого, установите [`sandbox.enabled`](/docs/ru/settings-reference#sandbox-enabled) на `true` |

59| Исследовать перед изменением чего-либо | `claude --permission-mode plan` | Нет | Claude Code блокирует редактирование до тех пор, пока вы не [одобрите план](#review-and-approve-a-plan) |59| Исследовать перед изменением чего-либо | `claude --permission-mode plan` | Нет | Claude Code блокирует редактирование до тех пор, пока вы не [одобрите план](#review-and-approve-a-plan) |

60| Работать в режиме auto без участия | `claude --permission-mode auto`, [встроенный начальный режим разрешений](#which-mode-a-session-starts-in) с v2.1.283 или позже | Нет; песочница или контейнер добавляет защиту в глубину | Требует [поддерживаемую модель](#eliminate-prompts-with-auto-mode), и ваша организация может [отключить режим auto](#eliminate-prompts-with-auto-mode) |60| Работать в режиме auto без участия | `claude --permission-mode auto`, [встроенный начальный режим разрешений](#which-mode-a-session-starts-in) с v2.1.283 или позже | Нет; песочница или контейнер добавляет защиту в глубину | Требует [поддерживаемую модель](#eliminate-prompts-with-auto-mode), и ваша организация может [отключить режим auto](#eliminate-prompts-with-auto-mode) |

61| Запустить в CI с точным списком разрешений | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Нет, кроме того, что предоставляет ваш CI runner | [Облачные сеансы](/docs/ru/claude-code-on-the-web) игнорируют `dontAsk` из файлов параметров |61| Запустить в CI с точным списком разрешений | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Нет, кроме того, что предоставляет ваш CI runner | [Облачные сеансы](/docs/ru/claude-code-on-the-web) игнорируют `dontAsk` из файлов параметров |

permissions.md +1 −0

Details

744* Правила запроса с областью действия контента, такие как `Bash(git push *)`, по-прежнему требуют запроса744* Правила запроса с областью действия контента, такие как `Bash(git push *)`, по-прежнему требуют запроса

745* Явные правила отказа по-прежнему применяются745* Явные правила отказа по-прежнему применяются

746* Команды `rm` или `rmdir`, которые нацелены на [критический путь](/docs/ru/permission-modes#critical-paths), по-прежнему проходят через обычный поток разрешений746* Команды `rm` или `rmdir`, которые нацелены на [критический путь](/docs/ru/permission-modes#critical-paths), по-прежнему проходят через обычный поток разрешений

747* Другие команды в песочнице также могут проходить через обычный поток разрешений, как описано в разделе [Режим автоматического разрешения](/docs/ru/sandboxing#auto-allow-mode)

747 748 

748Команды, которые не будут выполняться в песочнице, такие как исключённые команды, соблюдают простое правило запроса `Bash` как обычно. См. [режимы песочницы](/docs/ru/sandboxing#sandbox-modes) для изменения этого поведения.749Команды, которые не будут выполняться в песочнице, такие как исключённые команды, соблюдают простое правило запроса `Bash` как обычно. См. [режимы песочницы](/docs/ru/sandboxing#sandbox-modes) для изменения этого поведения.

749 750 

Details

55* **Имена, начинающиеся с `claudeai-`**: зарезервированы для marketplace, размещённых на claude.ai. `claude plugin marketplace add` отказывает любому другому marketplace, который использует один с `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.55* **Имена, начинающиеся с `claudeai-`**: зарезервированы для marketplace, размещённых на claude.ai. `claude plugin marketplace add` отказывает любому другому marketplace, который использует один с `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.

56* **Папка загрузки зарегистрированного GitHub marketplace, `<owner>-<repo>`**: Claude Code загружает marketplace, добавленный из источника `github`, например `acme/x-tools`, через папку с именем `acme-x-tools`, каким бы ни было собственное `name` этого marketplace. Пока этот marketplace зарегистрирован под именем, отличным от `acme-x-tools`, `claude plugin marketplace add` отказывает другому marketplace с именем `acme-x-tools` после его загрузки и сообщает `Can't use the marketplace name "acme-x-tools"`. Эта проверка требует Claude Code v2.1.290 или позже.56* **Папка загрузки зарегистрированного GitHub marketplace, `<owner>-<repo>`**: Claude Code загружает marketplace, добавленный из источника `github`, например `acme/x-tools`, через папку с именем `acme-x-tools`, каким бы ни было собственное `name` этого marketplace. Пока этот marketplace зарегистрирован под именем, отличным от `acme-x-tools`, `claude plugin marketplace add` отказывает другому marketplace с именем `acme-x-tools` после его загрузки и сообщает `Can't use the marketplace name "acme-x-tools"`. Эта проверка требует Claude Code v2.1.290 или позже.

57 57 

58Когда зарегистрированный маркетплейс перестаёт загружаться из-за того, что его имя имитирует официальное, `claude plugin list` и `/plugin` сообщают `Claude Code refuses the marketplace name "<name>"`. Сообщение предлагает удалить маркетплейс. Удаление маркетплейса также деинсталлирует его плагины и стирает их сохранённые данные. Для этого именованного сообщения об отказе требуется Claude Code v2.1.282 или новее.58Когда зарегистрированный маркетплейс перестаёт загружаться из-за того, что его имя имитирует официальное, `claude plugin list` и `/plugin` сообщают `Claude Code refuses the marketplace name "<name>"`. Сообщение предлагает удалить маркетплейс. Удаление маркетплейса также деинсталлирует его плагины и стирает их данные, параметры и секреты. Для этого именованного сообщения об отказе требуется Claude Code v2.1.282 или новее.

59 

60Если файл настроек объявляет маркетплейс встроенно, сообщение предлагает переименовать его запись, прежде чем удалять старое имя. Описание шагов см. в разделе [Claude Code отклоняет имя маркетплейса](/docs/ru/errors#claude-code-refuses-the-marketplace-name). Сообщение перечисляет эти шаги в Claude Code v2.1.292 или новее.

59 61 

60<h2 id="top-level-fields">62<h2 id="top-level-fields">

61 Поля верхнего уровня63 Поля верхнего уровня

Details

88| [`prompt.submit`](/docs/ru/plugins/mods/events#rewrite-or-add-to-a-prompt) | Промпт отправлен | `next({ ...e, text })`, `next({ ...e, context })` или `{ drop: reason }` |88| [`prompt.submit`](/docs/ru/plugins/mods/events#rewrite-or-add-to-a-prompt) | Промпт отправлен | `next({ ...e, text })`, `next({ ...e, context })` или `{ drop: reason }` |

89| `prompt.fill`, `prompt.suggest` | Текст вот-вот попадёт в поле промпта как черновик или как приглушённая подсказка | `next(e)` с изменённым текстом |89| `prompt.fill`, `prompt.suggest` | Текст вот-вот попадёт в поле промпта как черновик или как приглушённая подсказка | `next(e)` с изменённым текстом |

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

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

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

92| [`prompt.section`](/docs/ru/plugins/mods/events#rewrite-or-add-to-a-prompt) | Один раз для каждого именованного раздела системного промпта. `e.name` — это `id` раздела в `prompt.compose`. | `{ text }` или `{ text: null }`, чтобы пропустить раздел |93| [`prompt.section`](/docs/ru/plugins/mods/events#rewrite-or-add-to-a-prompt) | Один раз для каждого именованного раздела системного промпта. `e.name` — это `id` раздела в `prompt.compose`. | `{ text }` или `{ text: null }`, чтобы пропустить раздел |

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

Details

64 | `--remote-control-session-name-prefix <prefix>` | Префикс для автоматически генерируемых названий сеансов, когда явное имя не установлено. По умолчанию используется имя хоста вашей машины, создавая названия вроде `myhost-graceful-unicorn`. Установите `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` для того же эффекта. |64 | `--remote-control-session-name-prefix <prefix>` | Префикс для автоматически генерируемых названий сеансов, когда явное имя не установлено. По умолчанию используется имя хоста вашей машины, создавая названия вроде `myhost-graceful-unicorn`. Установите `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` для того же эффекта. |

65 | `-c`, `--continue` | Восстановите сеанс, который последний сервер в этом каталоге запустил, вместо создания нового. См. [Возобновление сеансов после остановки сервера](#resume-sessions-after-stopping-the-server). Не может быть объединено с `--session-id`, `--spawn`, `--capacity` или `--create-session-in-dir`. Требуется Claude Code v2.1.200 или позже. |65 | `-c`, `--continue` | Восстановите сеанс, который последний сервер в этом каталоге запустил, вместо создания нового. См. [Возобновление сеансов после остановки сервера](#resume-sessions-after-stopping-the-server). Не может быть объединено с `--session-id`, `--spawn`, `--capacity` или `--create-session-in-dir`. Требуется Claude Code v2.1.200 или позже. |

66 | `--session-id <id>` | Восстановите один сеанс по его ID. См. [Возобновление сеансов после остановки сервера](#resume-sessions-after-stopping-the-server). Не может быть объединено с `--continue`, `--spawn`, `--capacity` или `--create-session-in-dir`. Требуется Claude Code v2.1.200 или позже. |66 | `--session-id <id>` | Восстановите один сеанс по его ID. См. [Возобновление сеансов после остановки сервера](#resume-sessions-after-stopping-the-server). Не может быть объединено с `--continue`, `--spawn`, `--capacity` или `--create-session-in-dir`. Требуется Claude Code v2.1.200 или позже. |

67 | `--spawn <mode>` | Как сервер создает сеансы.<br />• `same-dir` (по умолчанию): все сеансы используют текущий рабочий каталог, поэтому они могут конфликтовать при редактировании одних и тех же файлов.<br />• `worktree`: каждый сеанс по требованию получает свой собственный [git worktree](/docs/ru/worktrees). Требуется git репозиторий.<br />• `session`: режим одного сеанса. Обслуживает ровно один сеанс и отклоняет дополнительные подключения. Устанавливается только при запуске.<br />Нажмите `w` во время выполнения, чтобы переключаться между `same-dir` и `worktree`. |67 | `--spawn <mode>` | Как сервер создает сессии.<br />• `same-dir` (по умолчанию): все сессии используют текущий рабочий каталог, поэтому они могут конфликтовать при редактировании одних и тех же файлов.<br />• `worktree`: каждая сессия по требованию получает собственный [git worktree](/docs/ru/worktrees). Требуется Git-репозиторий или [хук `WorktreeCreate`](/docs/ru/hooks#worktreecreate).<br />• `session`: режим одной сессии. Обслуживает ровно одну сессию и отклоняет дополнительные подключения. Задается только при запуске.<br />Нажмите `w` во время работы, чтобы переключаться между `same-dir` и `worktree`. |

68 | `--capacity <N>` | Максимальное количество одновременных сеансов. По умолчанию 32. Не может использоваться с `--spawn=session`. |68 | `--capacity <N>` | Максимальное количество одновременных сеансов. По умолчанию 32. Не может использоваться с `--spawn=session`. |

69 | `--[no-]create-session-in-dir` | Предварительно создайте один сеанс в текущем каталоге при запуске сервера, чтобы у вас было место для ввода сразу. В режиме `worktree` этот сеанс остается в текущем каталоге, а сеансы по требованию получают изолированные worktrees. Включено по умолчанию. Если вы передадите `--no-create-session-in-dir` для запуска без него, Claude Code архивирует сеансы сервера при его остановке, поэтому нечего [возобновлять](#resume-sessions-after-stopping-the-server). |69 | `--[no-]create-session-in-dir` | Предварительно создайте один сеанс в текущем каталоге при запуске сервера, чтобы у вас было место для ввода сразу. В режиме `worktree` этот сеанс остается в текущем каталоге, а сеансы по требованию получают изолированные worktrees. Включено по умолчанию. Если вы передадите `--no-create-session-in-dir` для запуска без него, Claude Code архивирует сеансы сервера при его остановке, поэтому нечего [возобновлять](#resume-sessions-after-stopping-the-server). |

70 | `--permission-mode <mode>` | Установите начальный [режим разрешений](/docs/ru/permission-modes) для сеансов сервера, например `acceptEdits`. Принимает `manual` как псевдоним для `default`; неузнанный режим останавливает сервер при запуске и выводит список допустимых режимов. |70 | `--permission-mode <mode>` | Установите начальный [режим разрешений](/docs/ru/permission-modes) для сеансов сервера, например `acceptEdits`. Принимает `manual` как псевдоним для `default`; неузнанный режим останавливает сервер при запуске и выводит список допустимых режимов. |

sandboxing.md +11 −1

Details

202* Явные [правила запрета](/docs/ru/permissions) всегда соблюдаются202* Явные [правила запрета](/docs/ru/permissions) всегда соблюдаются

203* Команды `rm` или `rmdir`, нацеленные на [критический путь](/docs/ru/permission-modes#critical-paths), по-прежнему проходят обычный процесс получения разрешений203* Команды `rm` или `rmdir`, нацеленные на [критический путь](/docs/ru/permission-modes#critical-paths), по-прежнему проходят обычный процесс получения разрешений

204* [Правила запроса](/docs/ru/permissions) с ограничением по содержимому, например `Bash(git push *)`, по-прежнему вызывают запрос даже для команд в песочнице204* [Правила запроса](/docs/ru/permissions) с ограничением по содержимому, например `Bash(git push *)`, по-прежнему вызывают запрос даже для команд в песочнице

205* Голое правило запроса `Bash` или эквивалентная форма `Bash(*)` пропускается для команд, выполняемых в песочнице; оно по-прежнему применяется к командам, которые переходят к обычному процессу получения разрешений. В [режиме планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) правило не пропускается: оно вызывает запрос и для команд в песочнице, включая команды только для чтения205* Голое правило запроса `Bash` или эквивалентная форма `Bash(*)` пропускается для команд, выполняемых в песочнице; оно по-прежнему применяется к командам, которые выполняются вне песочницы. В [режиме планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) правило не пропускается: оно вызывает запрос и для команд в песочнице, включая команды только для чтения

206* Команды [инструмента Monitor](/docs/ru/tools-reference#monitor-tool) не подтверждаются автоматически, хотя по-прежнему выполняются в песочнице. Чтобы пропустить запрос, добавьте [правило разрешения](/docs/ru/permissions#bash), соответствующее команде, например `Bash(npm run *)`206* Команды [инструмента Monitor](/docs/ru/tools-reference#monitor-tool) не подтверждаются автоматически, хотя по-прежнему выполняются в песочнице. Чтобы пропустить запрос, добавьте [правило разрешения](/docs/ru/permissions#bash), соответствующее команде, например `Bash(npm run *)`

207 207 

208Некоторые команды в песочнице также проходят обычный [процесс получения разрешений](/docs/ru/permissions) вместо автоматического подтверждения. Это происходит с такими командами, как `FOO=bar npm test`, где переменная, заданная перед командой, может изменить то, какая программа будет выполнена, а также с `make CC=clang` или `eval "ls"`. В этом случае ваши правила разрешения и режим разрешений определяют, увидите ли вы запрос, а команда по-прежнему выполняется в песочнице.

209 

210Для этих трёх команд [правило разрешения](/docs/ru/permissions#bash), соответствующее команде, прекращает повторяющиеся запросы. Следующие правила демонстрируют этот шаблон:

211 

212* `Bash(make *)` подтверждает `make CC=clang`

213* `Bash(FOO=bar npm *)` подтверждает `FOO=bar npm test`. Если команда начинается с присваивания переменной, включите это присваивание в правило

214* `Bash(eval "ls")` подтверждает `eval "ls"`. Правило с подстановочным знаком, например `Bash(eval *)`, не прекращает этот запрос, поэтому напишите правило, соответствующее всей команде

215 

216Правило разрешения, соответствующее команде, также подтверждает её [повторную попытку вне песочницы](#the-unsandboxed-retry-escape-hatch), поэтому команда может выполниться вне песочницы без запроса.

217 

208<Info>218<Info>

209 Режим auto-allow работает независимо от настройки режима разрешений, за тремя исключениями: [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode), команда авторежима с [разрешёнными доменами для отдельной команды](#per-command-allowed-domains-in-auto-mode) и [проверка классификатором на стороне сервера](/docs/ru/permission-modes#how-the-classifier-evaluates-actions) команд в песочнице в авторежиме. Даже если вы не находитесь в режиме «accept edits», команды Bash в песочнице выполняются автоматически, когда включён auto-allow. Это означает, что команды Bash, изменяющие файлы в пределах границ песочницы, выполняются без запроса даже в режиме Manual, где инструменты редактирования файлов запросили бы разрешение.219 Режим auto-allow работает независимо от настройки режима разрешений, за тремя исключениями: [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode), команда авторежима с [разрешёнными доменами для отдельной команды](#per-command-allowed-domains-in-auto-mode) и [проверка классификатором на стороне сервера](/docs/ru/permission-modes#how-the-classifier-evaluates-actions) команд в песочнице в авторежиме. Даже если вы не находитесь в режиме «accept edits», команды Bash в песочнице выполняются автоматически, когда включён auto-allow. Это означает, что команды Bash, изменяющие файлы в пределах границ песочницы, выполняются без запроса даже в режиме Manual, где инструменты редактирования файлов запросили бы разрешение.

210 220 

Details

191 Джиттер191 Джиттер

192</h3>192</h3>

193 193 

194Запланированная задача может выполниться не в то время, которое указано в её расписании. Если бы задачи каждой сессии выполнялись точно по расписанию, многие из них обращались бы к API в один и тот же момент, поэтому Claude Code сдвигает время выполнения каждой задачи. Повторяющиеся задачи выполняются с опозданием, а одноразовые задачи, запланированные на начало часа или на половину часа, выполняются немного раньше.194Запланированная задача может выполниться не в то время, которое указано в её расписании. Если бы задачи каждой сессии выполнялись точно по расписанию, многие из них обращались бы к API в один и тот же момент, поэтому Claude Code сдвигает время выполнения каждой задачи. Повторяющиеся задачи выполняются с опозданием, за исключением задачи, которая выполняется каждые пять минут и записана как `*/5 * * * *`. Одноразовые задачи, запланированные на начало часа или на половину часа, выполняются немного раньше.

195 195 

196<h4 id="how-late-a-recurring-task-runs">196<h4 id="how-late-a-recurring-task-runs">

197 Насколько поздно выполняется повторяющаяся задача197 Насколько поздно выполняется повторяющаяся задача

198</h4>198</h4>

199 199 

200Когда вы создаёте повторяющуюся задачу, Claude Code назначает ей фиксированную задержку и добавляет эту задержку к каждому запуску. Задержка вычисляется на основе ID задачи, поэтому одна и та же задача каждый раз выполняется с опозданием на одно и то же количество минут, в том числе когда сессия простаивает и больше ничего не выполняется.200Если повторяющаяся задача не выполняется каждые пять минут, каждый её запуск начинается с опозданием не более чем на половину интервала до следующего запуска и не более чем на 30 минут. Ваша задача относится к одному из трёх случаев:

201 201 

202Задачи, которые выполняются чаще, получают более короткие задержки, а 30 минут — это максимальная задержка, которую может получить задача. Ниже приведены диапазоны задержки для некоторых распространённых расписаний:202* **Равномерно распределённые запуски**: задача с равными интервалами, например ежечасная, ежедневная или каждые 10 минут, каждый раз выполняется с опозданием на одно и то же количество минут, в том числе когда сессия простаивает.

203* **Неравномерно распределённые запуски**: задача с неравными интервалами, например запланированная на `:00` и `:15` каждого часа, может выполняться с разным опозданием при каждом запуске.

204* **Каждые пять минут**: задача, записанная как `*/5 * * * *`, не задерживается. Запуск ровно через пять минут после предыдущего начался бы уже после истечения пятиминутного [кэша промптов](/docs/ru/prompt-caching#which-ttl-each-request-gets), поэтому каждый запуск начинается на 15 секунд раньше.

203 205 

204| Задача выполняется | Задержка составляет от |206Найдите своё расписание в первом столбце этой таблицы, чтобы узнать, когда начинается каждый его запуск.

207 

208| Расписание | Когда начинается каждый запуск |

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

206| Каждые 10 минут | 0 до 5 минут |210| Каждые 5 минут, записывается как `*/5 * * * *` — именно это создаёт `/loop 5m` | Через 4 минуты 45 секунд после предыдущего запуска |

207| Каждые 30 минут | 0 до 15 минут |211| Каждые 10 минут | С опозданием от 0 до 5 минут |

208| Каждый час или реже, например ежедневно | 0 до 30 минут |212| Каждые 30 минут | С опозданием от 0 до 15 минут |

213| Каждый час или реже, например ежедневно | С опозданием от 0 до 30 минут |

209 214 

210Например, `7,37 * * * *` планирует задачу на `:07` и `:37`, между которыми 30 минут, поэтому её задержка составляет от 0 до 15 минут. Если задержка этой задачи равна 14 минутам, она выполняется в `:21` и `:51` каждый час. Изменение расписания на другую минуту сдвигает время выполнения, и задержка по-прежнему добавляется сверху.215Например, `7,37 * * * *` планирует задачу на `:07` и `:37`, между которыми 30 минут, поэтому её задержка составляет от 0 до 15 минут. Если задержка этой задачи равна 14 минутам, она выполняется в `:21` и `:51` каждый час. Изменение расписания на другую минуту сдвигает время выполнения, и задержка по-прежнему добавляется сверху.

211 216 

Details

1931 1931 

1932* **Scope**: [`Any file`](#scopes)1932* **Scope**: [`Any file`](#scopes)

1933* **Type**: Boolean1933* **Type**: Boolean

1934 * `true`: Claude Code выполняет изолированные команды Bash без запроса разрешения, с учётом правил `deny` и правил `ask` с ограничением содержимого; `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` отключает автоматическое разрешение1934 * `true`: Claude Code выполняет изолированные команды Bash без запроса разрешения, за исключением случаев, описанных в разделе [Auto-allow mode](/docs/ru/sandboxing#auto-allow-mode); `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` отключает автоматическое разрешение

1935 * `false`: изолированные команды проходят обычный поток разрешений, поэтому решают ваши правила разрешений и режим разрешений. Вкладка **Mode** в `/sandbox` называет это режимом обычных разрешений1935 * `false`: изолированные команды проходят обычный поток разрешений, поэтому решают ваши правила разрешений и режим разрешений. Вкладка **Mode** в `/sandbox` называет это режимом обычных разрешений

1936* **Default**: `true`1936* **Default**: `true`

1937 1937 


1946}1946}

1947```1947```

1948 1948 

1949См. [Sandbox modes](/docs/ru/sandboxing#sandbox-modes), чтобы узнать, о чём всё ещё запрашивает режим автоматического разрешения и как он ведёт себя в режиме планирования.1949См. [Auto-allow mode](/docs/ru/sandboxing#auto-allow-mode), чтобы узнать, о чём всё ещё запрашивает режим автоматического разрешения и как он ведёт себя в режиме планирования.

1950 1950 

1951<h3 id="sandbox-excludedcommands">1951<h3 id="sandbox-excludedcommands">

1952 `sandbox.excludedCommands`1952 `sandbox.excludedCommands`

statusline.md +1 −1

Details

1308Вне [полноэкранного отображения](/docs/ru/fullscreen) Claude Code показывает уведомления на той же строке, что и ваша строка состояния. При полноэкранном отображении Claude Code выделяет уведомлениям отдельную строку.1308Вне [полноэкранного отображения](/docs/ru/fullscreen) Claude Code показывает уведомления на той же строке, что и ваша строка состояния. При полноэкранном отображении Claude Code выделяет уведомлениям отдельную строку.

1309 1309 

1310* Системные уведомления, такие как ошибки MCP-сервера и автоматические обновления, отображаются на правой стороне строки. Временные уведомления, такие как предупреждение о низком контексте, также циклически сменяются в этой области.1310* Системные уведомления, такие как ошибки MCP-сервера и автоматические обновления, отображаются на правой стороне строки. Временные уведомления, такие как предупреждение о низком контексте, также циклически сменяются в этой области.

1311* Включение подробного режима добавляет счётчик токенов в эту область1311* Включение подробного режима добавляет в эту область счётчик токенов, который показывает размер вашего контекста согласно последнему ответу API, а не [счётчик за ход рядом со спиннером](/docs/ru/costs#read-the-token-count-beside-the-spinner)

1312* На узких терминалах эти уведомления могут обрезать вывод вашей строки состояния1312* На узких терминалах эти уведомления могут обрезать вывод вашей строки состояния

workflows.md +10 −0

Details

431 431 

432Возобновите приостановленный запуск из `/workflows`, выбрав его и нажав `p`. Для запуска, который вы остановили, попросите Claude перезапустить workflow с тем же скриптом. Если агенты из остановленного запуска ещё не завершились, Claude Code отказывает в перезапуске до тех пор, пока они не завершатся, чтобы вторая копия этих агентов не могла работать рядом с ними.432Возобновите приостановленный запуск из `/workflows`, выбрав его и нажав `p`. Для запуска, который вы остановили, попросите Claude перезапустить workflow с тем же скриптом. Если агенты из остановленного запуска ещё не завершились, Claude Code отказывает в перезапуске до тех пор, пока они не завершатся, чтобы вторая копия этих агентов не могла работать рядом с ними.

433 433 

434<h4 id="which-agents-run-again">

435 Какие агенты запускаются снова

436</h4>

437 

434Claude Code воспроизводит запуск в порядке запуска агентов, и каждый агент либо возвращает свой сохранённый результат, либо работает снова:438Claude Code воспроизводит запуск в порядке запуска агентов, и каждый агент либо возвращает свой сохранённый результат, либо работает снова:

435 439 

436* **Завершено**: возвращает свой сохранённый результат. Первый агент, чей запрос отличается от предыдущего запуска, потому что вы отредактировали скрипт или более ранний агент вернул что-то другое, работает снова, и так же поступает каждый агент после него, даже те, которые завершились.440* **Завершено**: возвращает свой сохранённый результат. Первый агент, чей запрос отличается от предыдущего запуска, потому что вы отредактировали скрипт или более ранний агент вернул что-то другое, работает снова, и так же поступает каждый агент после него, даже те, которые завершились.


439 443 

440Последний случай означает, что сбой в середине fan-out повторно запускает работу, которая уже завершилась. Если скрипт запускает A, B, C и D в этом порядке и B не удаётся, перезапуск возвращает A из кэша и снова запускает B, C и D.444Последний случай означает, что сбой в середине fan-out повторно запускает работу, которая уже завершилась. Если скрипт запускает A, B, C и D в этом порядке и B не удаётся, перезапуск возвращает A из кэша и снова запускает B, C и D.

441 445 

446Если вы отредактируете скрипт, который запускал A, B, C и D, так, чтобы он запускал A, C, B и D, вторым запускаемым агентом теперь будет C, тогда как в предыдущем запуске вторым был B. Перезапуск возвращает A из кэша и снова запускает C, B и D.

447 

448<h4 id="resume-after-you-leave-the-session">

449 Возобновить после выхода из сессии

450</h4>

451 

442Вы можете возобновить запуск в той же сессии Claude Code. То, что происходит с работающим workflow, когда вы покидаете сессию, зависит от того, как вы выходите:452Вы можете возобновить запуск в той же сессии Claude Code. То, что происходит с работающим workflow, когда вы покидаете сессию, зависит от того, как вы выходите:

443 453 

444* Если вы [переводите сессию в фоновый режим](/docs/ru/agent-view#what-carries-over-when-you-background), Claude Code воспроизводит запуск таким же образом в фоновой сессии и продолжает его.454* Если вы [переводите сессию в фоновый режим](/docs/ru/agent-view#what-carries-over-when-you-background), Claude Code воспроизводит запуск таким же образом в фоновой сессии и продолжает его.

worktrees.md +1 −1

Details

129and report the results.129and report the results.

130```130```

131 131 

132Каждый subagent получает временный worktree, который Claude Code автоматически удаляет, когда subagent завершает работу без изменений; worktree с изменениями остаётся на диске до тех пор, пока [периодическая очистка ниже](#clean-up-subagent-and-background-session-worktrees) не сможет его удалить без потери работы.132Каждый субагент получает временный worktree, который Claude Code автоматически удаляет, когда субагент завершает работу без изменений; worktree с изменениями остаётся на диске до тех пор, пока [периодическая очистка ниже](#clean-up-subagent-and-background-session-worktrees) не сможет его удалить без потери работы. Для worktree, созданного вашим [хуком WorktreeCreate](/docs/ru/hooks#worktreecreate), см. вместо этого [WorktreeRemove](/docs/ru/hooks#worktreeremove).

133 133 

134Worktrees subagents используют ту же [базовую ветку](#choose-the-base-branch), что и `--worktree`, поэтому они ветвятся от ветки по умолчанию вашего репозитория, если только `worktree.baseRef` не установлен на `"head"`.134Worktrees subagents используют ту же [базовую ветку](#choose-the-base-branch), что и `--worktree`, поэтому они ветвятся от ветки по умолчанию вашего репозитория, если только `worktree.baseRef` не установлен на `"head"`.

135 135