SpyBara
Go Premium

Documentation 2026-05-11 23:00 UTC to 2026-05-12 22:57 UTC

31 files changed +991 −371. View all changes and history on the product overview
2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

agent-sdk/hooks.md +10 −10

Details

24 </Step>24 </Step>

25 25 

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

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

28 </Step>28 </Step>

29 29 

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


225 225 

226Каждый callback hook получает три аргумента:226Каждый callback hook получает три аргумента:

227 227 

228* **Входные данные:** типизированный объект, содержащий детали события. Каждый тип hook имеет свою форму входных данных (например, `PreToolUseHookInput` включает `tool_name` и `tool_input`, в то время как `NotificationHookInput` включает `message`). См. полные определения типов в справочниках [TypeScript](/ru/agent-sdk/typescript#hook-input) и [Python](/ru/agent-sdk/python#hook-input) SDK.228* **Входные данные:** типизированный объект, содержащий детали события. Каждый тип hook имеет свою форму входных данных (например, `PreToolUseHookInput` включает `tool_name` и `tool_input`, в то время как `NotificationHookInput` включает `message`). См. полные определения типов в справочниках [TypeScript](/ru/agent-sdk/typescript#hookinput) и [Python](/ru/agent-sdk/python#hookinput) SDK.

229 * Все входные данные hook содержат `session_id`, `cwd` и `hook_event_name`.229 * Все входные данные hook содержат `session_id`, `cwd` и `hook_event_name`.

230 * `agent_id` и `agent_type` заполняются, когда hook срабатывает внутри подагента. В TypeScript они находятся на базовом входе hook и доступны для всех типов hook. В Python они находятся только на `PreToolUse`, `PostToolUse` и `PostToolUseFailure`.230 * `agent_id` и `agent_type` заполняются, когда hook срабатывает внутри подагента. В TypeScript они находятся на базовом входе hook и доступны для всех типов hook. В Python они находятся только на `PreToolUse`, `PostToolUse` и `PostToolUseFailure`.

231* **ID использования инструмента** (`str | None` / `string | undefined`): коррелирует события `PreToolUse` и `PostToolUse` для одного и того же вызова инструмента.231* **ID использования инструмента** (`str | None` / `string | undefined`): коррелирует события `PreToolUse` и `PostToolUse` для одного и того же вызова инструмента.


236Ваш callback возвращает объект с двумя категориями полей:236Ваш callback возвращает объект с двумя категориями полей:

237 237 

238* **Поля верхнего уровня** контролируют разговор: `systemMessage` внедряет сообщение в разговор, видимое модели, и `continue` (`continue_` в Python) определяет, продолжает ли агент работать после этого hook.238* **Поля верхнего уровня** контролируют разговор: `systemMessage` внедряет сообщение в разговор, видимое модели, и `continue` (`continue_` в Python) определяет, продолжает ли агент работать после этого hook.

239* **`hookSpecificOutput`** контролирует текущую операцию. Поля внутри зависят от типа события hook. Для hooks `PreToolUse` здесь вы устанавливаете `permissionDecision` (`"allow"`, `"deny"` или `"ask"`), `permissionDecisionReason` и `updatedInput`. В TypeScript SDK `permissionDecision` также принимает `"defer"` для завершения запроса и [возобновления позже](/ru/hooks#defer-a-tool-call-for-later); это значение недоступно в Python SDK. Для hooks `PostToolUse` вы можете установить `additionalContext` для добавления информации к результату инструмента, или `updatedToolOutput` для полной замены выходных данных инструмента перед тем, как Claude их увидит.239* **`hookSpecificOutput`** контролирует текущую операцию. Поля внутри зависят от типа события hook. Для hooks `PreToolUse` здесь вы устанавливаете `permissionDecision` (`"allow"`, `"deny"`, `"ask"` или `"defer"`), `permissionDecisionReason` и `updatedInput`. Возврат `"defer"` завершает запрос, чтобы вы могли [возобновить его позже](/ru/hooks#defer-a-tool-call-for-later). Для hooks `PostToolUse` вы можете установить `additionalContext` для добавления информации к результату инструмента, или `updatedToolOutput` для полной замены выходных данных инструмента перед тем, как Claude их увидит.

240 240 

241Возвращайте `{}` для разрешения операции без изменений. SDK callback hooks используют тот же формат вывода JSON, что и [hooks команд shell Claude Code](/ru/hooks#json-output), который документирует каждое поле и опцию, специфичную для события. Для определений типов SDK см. справочники [TypeScript](/ru/agent-sdk/typescript#sync-hook-json-output) и [Python](/ru/agent-sdk/python#sync-hook-json-output) SDK.241Возвращайте `{}` для разрешения операции без изменений. SDK callback hooks используют тот же формат вывода JSON, что и [hooks команд shell Claude Code](/ru/hooks#json-output), который документирует каждое поле и опцию, специфичную для события. Для определений типов SDK см. справочники [TypeScript](/ru/agent-sdk/typescript#synchookjsonoutput) и [Python](/ru/agent-sdk/python#synchookjsonoutput) SDK.

242 242 

243<Note>243<Note>

244 Когда применяются несколько hooks или правил разрешений, **deny** имеет приоритет над **defer**, который имеет приоритет над **ask**, который имеет приоритет над **allow**. Если какой-либо hook возвращает `deny`, операция блокируется независимо от других hooks.244 Когда применяются несколько hooks или правил разрешений, **deny** имеет приоритет над **defer**, который имеет приоритет над **ask**, который имеет приоритет над **allow**. Если какой-либо hook возвращает `deny`, операция блокируется независимо от других hooks.


326</CodeGroup>326</CodeGroup>

327 327 

328<Note>328<Note>

329 При использовании `updatedInput` вы также должны включить `permissionDecision: 'allow'`. Всегда возвращайте новый объект вместо мутирования оригинального `tool_input`.329 При использовании `updatedInput` вы также должны включить `permissionDecision: 'allow'` для автоматического одобрения измененного входа или `permissionDecision: 'ask'` для отображения его пользователю. С `'defer'` `updatedInput` игнорируется. Всегда возвращайте новый объект вместо мутирования оригинального `tool_input`.

330</Note>330</Note>

331 331 

332### Добавление контекста и блокировка инструмента332### Добавление контекста и блокировка инструмента


489 489 

490### Отслеживание активности подагента490### Отслеживание активности подагента

491 491 

492Используйте hooks `SubagentStop` для мониторинга, когда подагенты завершают свою работу. См. полный тип входных данных в справочниках [TypeScript](/ru/agent-sdk/typescript#hook-input) и [Python](/ru/agent-sdk/python#hook-input) SDK. Этот пример логирует сводку каждый раз, когда подагент завершается:492Используйте hooks `SubagentStop` для мониторинга, когда подагенты завершают свою работу. См. полный тип входных данных в справочниках [TypeScript](/ru/agent-sdk/typescript#hookinput) и [Python](/ru/agent-sdk/python#hookinput) SDK. Этот пример логирует сводку каждый раз, когда подагент завершается:

493 493 

494<CodeGroup>494<CodeGroup>

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


621 621 

622### Перенаправление уведомлений в Slack622### Перенаправление уведомлений в Slack

623 623 

624Используйте hooks `Notification` для получения системных уведомлений от агента и перенаправления их во внешние сервисы. Уведомления срабатывают для конкретных типов событий: `permission_prompt` (Claude нужно разрешение), `idle_prompt` (Claude ждет ввода), `auth_success` (аутентификация завершена) и `elicitation_dialog` (Claude запрашивает пользователя). Каждое уведомление включает поле `message` с описанием, понятным человеку, и опционально `title`.624Используйте hooks `Notification` для получения системных уведомлений от агента и перенаправления их во внешние сервисы. Уведомления срабатывают для конкретных типов событий: `permission_prompt` (Claude нужно разрешение), `idle_prompt` (Claude ждет ввода), `auth_success` (аутентификация завершена), `elicitation_dialog` (Claude запрашивает пользователя), `elicitation_response` (пользователь ответил на запрос), и `elicitation_complete` (запрос закрыт). Каждое уведомление включает поле `message` с описанием, понятным человеку, и опционально `title`.

625 625 

626Этот пример перенаправляет каждое уведомление в канал Slack. Требуется [URL входящего webhook Slack](https://api.slack.com/messaging/webhooks), который вы создаете, добавляя приложение в ваше рабочее пространство Slack и включая входящие webhooks:626Этот пример перенаправляет каждое уведомление в канал Slack. Требуется [URL входящего webhook Slack](https://api.slack.com/messaging/webhooks), который вы создаете, добавляя приложение в ваше рабочее пространство Slack и включая входящие webhooks:

627 627 


727* Проверьте, что ваш паттерн matcher точно совпадает с именем инструмента727* Проверьте, что ваш паттерн matcher точно совпадает с именем инструмента

728* Убедитесь, что hook находится под правильным типом события в `options.hooks`728* Убедитесь, что hook находится под правильным типом события в `options.hooks`

729* Для non-tool hooks, таких как `Stop` и `SubagentStop`, matchers соответствуют разным полям (см. [matcher patterns](/ru/hooks#matcher-patterns))729* Для non-tool hooks, таких как `Stop` и `SubagentStop`, matchers соответствуют разным полям (см. [matcher patterns](/ru/hooks#matcher-patterns))

730* Hooks могут не срабатывать, когда агент достигает лимита [`max_turns`](/ru/agent-sdk/python#claude-agent-options), потому что сеанс заканчивается перед тем, как hooks смогут выполниться730* Hooks могут не срабатывать, когда агент достигает лимита [`max_turns`](/ru/agent-sdk/python#claudeagentoptions), потому что сеанс заканчивается перед тем, как hooks смогут выполниться

731 731 

732### Matcher не фильтрует как ожидается732### Matcher не фильтрует как ожидается

733 733 


769 };769 };

770 ```770 ```

771 771 

772* Вы также должны вернуть `permissionDecision: 'allow'` для того, чтобы изменение входных данных вступило в силу772* Вы также должны вернуть `permissionDecision: 'allow'` или `'ask'` для того, чтобы изменение входных данных вступило в силу

773 773 

774* Включите `hookEventName` в `hookSpecificOutput` для идентификации типа hook, для которого предназначен вывод774* Включите `hookEventName` в `hookSpecificOutput` для идентификации типа hook, для которого предназначен вывод

775 775 

776### Hooks сеанса недоступны в Python776### Hooks сеанса недоступны в Python

777 777 

778`SessionStart` и `SessionEnd` могут быть зарегистрированы как SDK callback hooks в TypeScript, но недоступны в Python SDK (`HookEvent` их опускает). В Python они доступны только как [hooks команд shell](/ru/hooks#hook-events), определенные в файлах настроек (например, `.claude/settings.json`). Для загрузки hooks команд shell из вашего приложения SDK включите соответствующий источник настроек с [`setting_sources`](/ru/agent-sdk/python#setting-source) или [`settingSources`](/ru/agent-sdk/typescript#setting-source):778`SessionStart` и `SessionEnd` могут быть зарегистрированы как SDK callback hooks в TypeScript, но недоступны в Python SDK (`HookEvent` их опускает). В Python они доступны только как [shell command hooks](/ru/hooks#hook-events), определенные в файлах настроек (например, `.claude/settings.json`). Для загрузки shell command hooks из вашего приложения SDK включите соответствующий источник настроек с [`setting_sources`](/ru/agent-sdk/python#settingsource) или [`settingSources`](/ru/agent-sdk/typescript#settingsource):

779 779 

780<CodeGroup>780<CodeGroup>

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

Details

1> ## Documentation Index

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

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

4 

5# Изменение системных подсказок

6 

7> Выберите между предустановкой `claude_code` и пользовательской системной подсказкой, и настройте поведение с помощью CLAUDE.md, стилей вывода, append или полностью пользовательской подсказки.

8 

9Системные подсказки определяют поведение Claude, его возможности и стиль ответов. Начните с предустановки `claude_code` для инструментов кодирования, похожих на CLI или IDE, где человек наблюдает и направляет работу. Напишите свою собственную подсказку для агентов с другой поверхностью, идентичностью или моделью разрешений.

10 

11На этой странице рассматривается:

12 

13* [Как работают системные подсказки](#how-system-prompts-work), с таблицей решений для выбора между предустановкой, предустановкой с `append` и пользовательской подсказкой

14* [Настройка поведения агента](#customize-agent-behavior) с файлами CLAUDE.md, стилями вывода, `append` или пользовательской строкой

15* [Сравнение четырёх подходов](#compare-the-four-approaches) по постоянству, области действия и тому, что они сохраняют

16* [Объединение подходов](#combine-approaches) для наслоения методов настройки вместе

17 

18## Как работают системные подсказки

19 

20Системная подсказка — это начальный набор инструкций, который определяет поведение Claude на протяжении всего разговора. Agent SDK имеет три начальные точки для неё:

21 

22* **Минимальное значение по умолчанию**: когда вы не устанавливаете `systemPrompt` в TypeScript или `system_prompt` в Python, SDK использует минимальную подсказку, которая охватывает вызов инструментов, но исключает рекомендации по кодированию Claude Code, стиль ответов и контекст проекта. Это отличается от `claude -p`, который по умолчанию использует полную подсказку Claude Code. Если вы переходите с CLI и хотите совпадающее поведение, установите предустановку `claude_code`.

23* **Предустановка `claude_code`**: полная системная подсказка, которую использует CLI Claude Code, с инструкциями по использованию инструментов, рекомендациями по стилю и форматированию кода, правилами тона и многословности ответов, инструкциями по безопасности и защите, а также контекстом о рабочем каталоге и окружении. Установите `systemPrompt: { type: "preset", preset: "claude_code" }` в TypeScript или `system_prompt={"type": "preset", "preset": "claude_code"}` в Python, опционально с `append` для добавления ваших собственных инструкций в конец.

24* **Пользовательская строка**: подсказка, которую вы пишете сами. SDK отправляет только то, что вы предоставляете.

25 

26### Выберите начальную точку

27 

28Решающий фактор — насколько ваш агент похож на Claude Code: агент кодирования, работающий в репозитории, с человеком, который смотрит потоковый вывод и управляет работой. Чем дальше ваш продукт от этого, тем больше вы захотите написать свою собственную подсказку.

29 

30| Что вы создаёте | Используйте | Что вы получаете |

31| :--------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

32| Инструмент CLI или IDE-подобный инструмент кодирования, где человек смотрит и управляет, и значения по умолчанию Claude Code — это то, что вам нужно | Предустановка `claude_code` | Полная подсказка Claude Code: руководство по инструментам, правила безопасности, удобные для терминала ответы, осведомлённость о соглашениях репозитория |

33| Тот же вид инструмента, плюс правила, специфичные для продукта, такие как стандарты кодирования, формат вывода или контекст домена | Предустановка `claude_code` с `append` | Всё вышеперечисленное, с вашими инструкциями, добавленными после предустановки. Ничего не удаляется, поэтому это наименее рискованная настройка |

34| Агент с другой поверхностью, идентичностью или моделью разрешений, или агент без кодирования | Пользовательская строка подсказки | Только то, что вы пишете. Вы берёте на себя ответственность за замену руководства по инструментам и инструкций по безопасности, которые вашему агенту всё ещё нужны |

35| Тонкий цикл вызова инструментов без персоны агента, где вы предоставляете всё поведение в подсказке пользователя | Без опции `systemPrompt` | Минимальное значение по умолчанию: поддержка вызова инструментов и ничего больше |

36 

37«Отличается от Claude Code» обычно означает одно из следующего:

38 

39* **Другая поверхность**: вывод не читается в терминале человеком, который его запустил. Интерфейсы чата, потребители структурированного вывода и автоматизация без кодирования каждый требуют подсказку, которая соответствует тому, как их вывод отображается и проверяется. Автоматизация кодирования без присмотра, такая как задание CI, которое исправляет ошибки lint или проверяет различия, всё ещё соответствует предустановке, потому что сама работа — это то, для чего написана предустановка.

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

41* **Другая модель разрешений**: агент работает автономно без одобрения человеком каждого шага или работает с узким набором ресурсов. Подсказка Claude Code предполагает, что человек находится в цикле с доступом к полному набору инструментов.

42* **Задачи без кодирования**: большая часть подсказки Claude Code — это руководство по кодированию. Для агентов исследования, контента или операций это руководство конкурирует с инструкциями, которые вам действительно нужны.

43 

44[Таблица сравнения](#compare-the-four-approaches) показывает, что сохраняет каждый метод настройки.

45 

46## Настройка поведения агента

47 

48Стили вывода, `append` и пользовательская строка подсказки каждый изменяют системную подсказку напрямую. CLAUDE.md идёт другим путём: SDK читает его и внедряет его содержимое в разговор как контекст проекта, а не в системную подсказку, поэтому он формирует поведение наряду с любой выбранной вами системной подсказкой. [Skills](/ru/agent-sdk/skills), [hooks](/ru/agent-sdk/hooks) и [permissions](/ru/agent-sdk/permissions) также формируют поведение вне системной подсказки и рассматриваются на отдельных страницах.

49 

50### Файлы CLAUDE.md для инструкций на уровне проекта

51 

52Файлы CLAUDE.md предоставляют Claude постоянный контекст проекта и инструкции. SDK внедряет их содержимое в разговор, а не в системную подсказку, поэтому они работают с любой конфигурацией системной подсказки. О том, что поместить в CLAUDE.md, где его разместить и как писать эффективные инструкции, см. [How Claude remembers your project](/ru/memory). Этот раздел охватывает то, что специфично для SDK: как загружается CLAUDE.md.

53 

54SDK читает CLAUDE.md, когда включен соответствующий источник параметров: `'project'` загружает `CLAUDE.md` или `.claude/CLAUDE.md` из рабочего каталога, а `'user'` загружает `~/.claude/CLAUDE.md`. Параметры `query()` по умолчанию включают оба источника, поэтому CLAUDE.md загружается автоматически. Если вы явно установите `settingSources` в TypeScript или `setting_sources` в Python, включите необходимые источники. Загрузка CLAUDE.md контролируется источниками параметров, а не предустановкой `claude_code`.

55 

56#### Загрузка CLAUDE.md с SDK

57 

58Чтобы загрузить CLAUDE.md, установите `settingSources` для включения уровня, на котором находится ваш CLAUDE.md. Пример ниже загружает CLAUDE.md на уровне проекта наряду с предустановкой `claude_code`, поэтому Claude имеет как полную подсказку агента кодирования, так и соглашения вашего проекта:

59 

60<CodeGroup>

61 ```typescript TypeScript theme={null}

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

63 

64 const messages = [];

65 

66 for await (const message of query({

67 prompt: "Add a new React component for user profiles",

68 options: {

69 systemPrompt: {

70 type: "preset",

71 preset: "claude_code" // Use Claude Code's system prompt

72 },

73 settingSources: ["project"] // Loads CLAUDE.md from project

74 }

75 })) {

76 messages.push(message);

77 }

78 

79 // Now Claude has access to your project guidelines from CLAUDE.md

80 ```

81 

82 ```python Python theme={null}

83 from claude_agent_sdk import query, ClaudeAgentOptions

84 

85 messages = []

86 

87 async for message in query(

88 prompt="Add a new React component for user profiles",

89 options=ClaudeAgentOptions(

90 system_prompt={

91 "type": "preset",

92 "preset": "claude_code", # Use Claude Code's system prompt

93 },

94 setting_sources=["project"], # Loads CLAUDE.md from project

95 ),

96 ):

97 messages.append(message)

98 

99 # Now Claude has access to your project guidelines from CLAUDE.md

100 ```

101</CodeGroup>

102 

103CLAUDE.md постоянен во всех сеансах в проекте, общий с вашей командой через git и обнаруживается автоматически без изменений кода. Он не загружается, если вы передаёте пустой массив `settingSources`.

104 

105### Стили вывода для постоянных конфигураций

106 

107Стили вывода — это сохранённые конфигурации, которые изменяют системную подсказку Claude. Они хранятся как файлы markdown и могут быть переиспользованы в разных сеансах и проектах.

108 

109#### Создание стиля вывода

110 

111Стиль вывода — это файл markdown с `name` и `description` в его frontmatter, за которым следует содержимое подсказки. Сохраните его в `~/.claude/output-styles/` для стиля на уровне пользователя, доступного в каждом проекте, или `.claude/output-styles/` в вашем репозитории для стиля на уровне проекта, который вы можете зафиксировать и поделиться с вашей командой.

112 

113Пример ниже определяет персону рецензента кода. Сохраните его как `~/.claude/output-styles/code-reviewer.md`, чтобы сделать его доступным во всех проектах:

114 

115```markdown ~/.claude/output-styles/code-reviewer.md theme={null}

116---

117name: Code Reviewer

118description: Thorough code review assistant

119---

120 

121You are an expert code reviewer.

122 

123For every code submission:

1241. Check for bugs and security issues

1252. Evaluate performance

1263. Suggest improvements

1274. Rate code quality (1-10)

128```

129 

130#### Активация стиля вывода

131 

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

133 

134* **CLI**: запустите `/config` и выберите стиль вывода

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

136* **TypeScript SDK**: установите `options.outputStyle` на имя стиля

137 

138Python SDK не имеет опции для программного выбора стиля вывода. Для развёртываний только с кодом, где вы не можете писать в `.claude/settings.local.json`, используйте `append` или пользовательскую строку подсказки вместо этого.

139 

140**Примечание для пользователей SDK:** Стили вывода загружаются, когда вы включаете `settingSources: ['user']` или `settingSources: ['project']` (TypeScript) / `setting_sources=["user"]` или `setting_sources=["project"]` (Python) в ваши параметры.

141 

142### Добавление к предустановке `claude_code`

143 

144Вы можете использовать предустановку Claude Code со свойством `append` для добавления ваших пользовательских инструкций при сохранении всей встроенной функциональности.

145 

146<CodeGroup>

147 ```typescript TypeScript theme={null}

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

149 

150 const messages = [];

151 

152 for await (const message of query({

153 prompt: "Help me write a Python function to calculate fibonacci numbers",

154 options: {

155 systemPrompt: {

156 type: "preset",

157 preset: "claude_code",

158 append: "Always include detailed docstrings and type hints in Python code."

159 }

160 }

161 })) {

162 messages.push(message);

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

164 console.log(message.message.content);

165 }

166 }

167 ```

168 

169 ```python Python theme={null}

170 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage

171 

172 messages = []

173 

174 async for message in query(

175 prompt="Help me write a Python function to calculate fibonacci numbers",

176 options=ClaudeAgentOptions(

177 system_prompt={

178 "type": "preset",

179 "preset": "claude_code",

180 "append": "Always include detailed docstrings and type hints in Python code.",

181 }

182 ),

183 ):

184 messages.append(message)

185 if isinstance(message, AssistantMessage):

186 print(message.content)

187 ```

188</CodeGroup>

189 

190#### Улучшение кэширования подсказок между пользователями и машинами

191 

192По умолчанию два сеанса, которые используют одну и ту же предустановку `claude_code` и текст `append`, всё ещё не могут совместно использовать запись кэша подсказок, если они запускаются из разных рабочих каталогов. Это потому, что предустановка встраивает контекст для каждого сеанса в системную подсказку перед вашим текстом `append`: рабочий каталог, является ли это репозиторием git, платформу, активную оболочку, версию ОС и пути автоматической памяти. Любое различие в этом контексте создаёт другую системную подсказку и промах кэша. Содержимое CLAUDE.md не влияет на кэш системной подсказки, потому что SDK внедряет его в разговор, а не в системную подсказку.

193 

194Чтобы сделать системную подсказку идентичной во всех сеансах, установите `excludeDynamicSections: true` в TypeScript или `"exclude_dynamic_sections": True` в Python. Контекст для каждого сеанса переходит в первое пользовательское сообщение, оставляя только статическую предустановку и ваш текст `append` в системной подсказке, чтобы идентичные конфигурации совместно использовали запись кэша между пользователями и машинами.

195 

196<Note>

197 `excludeDynamicSections` требует `@anthropic-ai/claude-agent-sdk` v0.2.98 или позже, или `claude-agent-sdk` v0.1.58 или позже для Python. Это применяется только к форме объекта предустановки и не имеет эффекта, когда `systemPrompt` является строкой.

198</Note>

199 

200Следующий пример объединяет общий блок `append` с `excludeDynamicSections`, чтобы флот агентов, работающих из разных каталогов, мог переиспользовать одну и ту же кэшированную системную подсказку:

201 

202<CodeGroup>

203 ```typescript TypeScript theme={null}

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

205 

206 for await (const message of query({

207 prompt: "Triage the open issues in this repo",

208 options: {

209 systemPrompt: {

210 type: "preset",

211 preset: "claude_code",

212 append: "You operate Acme's internal triage workflow. Label issues by component and severity.",

213 excludeDynamicSections: true

214 }

215 }

216 })) {

217 // ...

218 }

219 ```

220 

221 ```python Python theme={null}

222 from claude_agent_sdk import query, ClaudeAgentOptions

223 

224 async for message in query(

225 prompt="Triage the open issues in this repo",

226 options=ClaudeAgentOptions(

227 system_prompt={

228 "type": "preset",

229 "preset": "claude_code",

230 "append": "You operate Acme's internal triage workflow. Label issues by component and severity.",

231 "exclude_dynamic_sections": True,

232 },

233 ),

234 ):

235 ...

236 ```

237</CodeGroup>

238 

239**Компромиссы:** рабочий каталог, флаг git-repo, платформа, активная оболочка, версия ОС и пути автоматической памяти всё ещё достигают Claude, но как часть первого пользовательского сообщения, а не системной подсказки. Инструкции в пользовательском сообщении имеют немного меньший вес, чем тот же текст в системной подсказке, поэтому Claude может полагаться на них менее сильно при рассуждении о текущем каталоге или путях автоматической памяти. Включите эту опцию, когда переиспользование кэша между сеансами важнее, чем максимально авторитетный контекст окружения.

240 

241Для эквивалентного флага в неинтерактивном режиме CLI см. [`--exclude-dynamic-system-prompt-sections`](/ru/cli-reference).

242 

243### Пользовательские системные подсказки

244 

245Вы можете предоставить пользовательскую строку как `systemPrompt` для полной замены значения по умолчанию вашими собственными инструкциями.

246 

247<CodeGroup>

248 ```typescript TypeScript theme={null}

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

250 

251 const customPrompt = `You are a Python coding specialist.

252 Follow these guidelines:

253 - Write clean, well-documented code

254 - Use type hints for all functions

255 - Include comprehensive docstrings

256 - Prefer functional programming patterns when appropriate

257 - Always explain your code choices`;

258 

259 const messages = [];

260 

261 for await (const message of query({

262 prompt: "Create a data processing pipeline",

263 options: {

264 systemPrompt: customPrompt

265 }

266 })) {

267 messages.push(message);

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

269 console.log(message.message.content);

270 }

271 }

272 ```

273 

274 ```python Python theme={null}

275 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage

276 

277 custom_prompt = """You are a Python coding specialist.

278 Follow these guidelines:

279 - Write clean, well-documented code

280 - Use type hints for all functions

281 - Include comprehensive docstrings

282 - Prefer functional programming patterns when appropriate

283 - Always explain your code choices"""

284 

285 messages = []

286 

287 async for message in query(

288 prompt="Create a data processing pipeline",

289 options=ClaudeAgentOptions(system_prompt=custom_prompt),

290 ):

291 messages.append(message)

292 if isinstance(message, AssistantMessage):

293 print(message.content)

294 ```

295</CodeGroup>

296 

297## Сравнение четырех подходов

298 

299Четыре метода настройки различаются по месту их расположения, способу совместного использования и тому, что они сохраняют из предустановки `claude_code`.

300 

301| Функция | CLAUDE.md | Стили вывода | `systemPrompt` с добавлением | Пользовательский `systemPrompt` |

302| ---------------------------- | ------------------------ | ----------------------- | ---------------------------- | ------------------------------- |

303| **Постоянство** | Файл для каждого проекта | Сохранено как файлы | Только сеанс | Только сеанс |

304| **Переиспользуемость** | Для каждого проекта | Между проектами | Дублирование кода | Дублирование кода |

305| **Управление** | На файловой системе | CLI + файлы | В коде | В коде |

306| **Инструменты по умолчанию** | Сохранены | Сохранены | Сохранены | Потеряны (если не включены) |

307| **Встроенная безопасность** | Поддерживается | Поддерживается | Поддерживается | Должна быть добавлена |

308| **Контекст окружения** | Автоматический | Автоматический | Автоматический | Должен быть предоставлен |

309| **Уровень настройки** | Только добавления | Замена по умолчанию | Только добавления | Полный контроль |

310| **Контроль версий** | С проектом | Да | С кодом | С кодом |

311| **Область действия** | Специфично для проекта | Пользователь или проект | Сеанс кода | Сеанс кода |

312 

313"С добавлением" означает использование `systemPrompt: { type: "preset", preset: "claude_code", append: "..." }` в TypeScript или `system_prompt={"type": "preset", "preset": "claude_code", "append": "..."}` в Python. CLAUDE.md не изменяет сам системный запрос: SDK внедряет его содержимое в разговор как контекст проекта.

314 

315## Варианты использования и лучшие практики

316 

317### Когда использовать CLAUDE.md

318 

319Используйте CLAUDE.md для инструкций, которые должны применяться к каждому сеансу в проекте, независимо от того, какой системный запрос использует сеанс: стандарты кодирования, общие команды, контекст архитектуры и соглашения команды. CLAUDE.md фиксируется в вашем репозитории, поэтому он остается синхронизированным с кодом, который он описывает. Полное руководство см. в разделе [Когда добавлять в CLAUDE.md](/ru/memory#when-to-add-to-claude-md).

320 

321Файлы CLAUDE.md загружаются, когда включен источник параметров `project`, что происходит для параметров `query()` по умолчанию. Если вы явно установите `settingSources` в TypeScript или `setting_sources` в Python, включите `'project'` для продолжения загрузки CLAUDE.md на уровне проекта.

322 

323### Когда использовать стили вывода

324 

325Стили вывода предназначены для персон, которые вы хотите повторно использовать в CLI и SDK без изменения кода приложения. Поскольку они находятся в виде файлов в `.claude/output-styles`, одна и та же персона доступна из `/config` в CLI и из любого сеанса SDK, который загружает соответствующий источник параметров.

326 

327**Лучше всего подходит для:**

328 

329* Постоянных изменений поведения между сеансами

330* Конфигураций, общих для команды

331* Специализированных помощников, таких как рецензент кода, специалист по данным или DevOps помощник

332* Сложных изменений подсказок, которые требуют версионирования

333 

334**Примеры:**

335 

336* Создание выделенного помощника по оптимизации SQL

337* Построение рецензента кода, ориентированного на безопасность

338* Разработка помощника по обучению с определенной педагогикой

339 

340### Когда использовать `systemPrompt` с добавлением

341 

342Используйте `append`, когда предустановка `claude_code` уже подходит для вашего продукта и вам нужно только добавить дополнительные инструкции. Вы сохраняете руководство инструментов предустановки, правила безопасности и соглашения кодирования без их переимплементации.

343 

344**Лучше всего подходит для:**

345 

346* Добавления определенных стандартов кодирования или предпочтений

347* Настройки форматирования вывода

348* Добавления знаний, специфичных для домена

349* Изменения многословности ответов

350* Улучшения поведения Claude Code по умолчанию без потери инструкций инструментов

351 

352### Когда использовать пользовательский `systemPrompt`

353 

354Используйте пользовательский запрос, когда поверхность вашего агента, идентичность или модель разрешений отличаются от Claude Code, как описано в разделе [Решите на начальную точку](#decide-on-a-starting-point). Вы определяете полный набор инструкций, включая любое руководство инструментов и правила безопасности, которые требуются вашему агенту.

355 

356**Лучше всего подходит для:**

357 

358* Полного контроля над поведением Claude

359* Специализированных однократных задач

360* Тестирования новых стратегий подсказок

361* Ситуаций, когда инструменты по умолчанию не требуются

362* Построения специализированных агентов с уникальным поведением

363 

364## Объединение подходов

365 

366Эти методы можно комбинировать. Постоянный стиль вывода или CLAUDE.md устанавливает долгосрочное поведение, а `append` добавляет инструкции, специфичные для сеанса, поверх них без изменения сохраненной конфигурации.

367 

368### Объединение стиля вывода с добавлениями, специфичными для сеанса

369 

370Приведенный ниже пример предполагает, что стиль вывода Code Reviewer уже активен. Блок `append` добавляет области фокуса, специфичные для сеанса, поверх персоны, так что один сеанс проверки может приоритизировать OAuth и хранение токенов без изменения сохраненного стиля вывода:

371 

372<CodeGroup>

373 ```typescript TypeScript theme={null}

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

375 

376 // Assuming "Code Reviewer" output style is active (via /config or settings)

377 // Add session-specific focus areas

378 const messages = [];

379 

380 for await (const message of query({

381 prompt: "Review this authentication module",

382 options: {

383 systemPrompt: {

384 type: "preset",

385 preset: "claude_code",

386 append: `

387 For this review, prioritize:

388 - OAuth 2.0 compliance

389 - Token storage security

390 - Session management

391 `

392 }

393 }

394 })) {

395 messages.push(message);

396 }

397 ```

398 

399 ```python Python theme={null}

400 from claude_agent_sdk import query, ClaudeAgentOptions

401 

402 # Assuming "Code Reviewer" output style is active (via /config or settings)

403 # Add session-specific focus areas

404 messages = []

405 

406 async for message in query(

407 prompt="Review this authentication module",

408 options=ClaudeAgentOptions(

409 system_prompt={

410 "type": "preset",

411 "preset": "claude_code",

412 "append": """

413 For this review, prioritize:

414 - OAuth 2.0 compliance

415 - Token storage security

416 - Session management

417 """,

418 }

419 ),

420 ):

421 messages.append(message)

422 ```

423</CodeGroup>

424 

425## См. также

426 

427* [Стили вывода](/ru/output-styles): создание, управление и совместное использование стилей вывода для CLI, включая формат файла и места хранения

428* [Как Claude запоминает ваш проект](/ru/memory): что поместить в CLAUDE.md, где его разместить и как писать эффективные инструкции проекта

429* [Справочник TypeScript SDK](/ru/agent-sdk/typescript): полный тип `Options`, включая `systemPrompt`, `settingSources` и `outputStyle`

430* [Справочник Python SDK](/ru/agent-sdk/python): полный тип `ClaudeAgentOptions`, включая `system_prompt` и `setting_sources`

431* [Параметры](/ru/settings): справочник `settings.json`, включая место хранения стилей вывода и другой конфигурации

Details

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

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

374| `allowDangerouslySkipPermissions` | `boolean` | `false` | Включите обход разрешений. Требуется при использовании `permissionMode: 'bypassPermissions'` |374| `allowDangerouslySkipPermissions` | `boolean` | `false` | Включите обход разрешений. Требуется при использовании `permissionMode: 'bypassPermissions'` |

375| `allowedTools` | `string[]` | `[]` | Tools для автоматического одобрения без запроса. Это не ограничивает Claude только этими tools; неперечисленные tools переходят к `permissionMode` и `canUseTool`. Используйте `disallowedTools` для блокировки tools. См. [Разрешения](/ru/agent-sdk/permissions#allow-and-deny-rules) |375| `allowedTools` | `string[]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами; неперечисленные инструменты переходят к `permissionMode` и `canUseTool`. Используйте `disallowedTools` для блокировки инструментов. См. [Разрешения](/ru/agent-sdk/permissions#allow-and-deny-rules) |

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

377| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Пользовательская функция разрешения для использования tool |377| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Пользовательская функция разрешения для использования инструмента |

378| `continue` | `boolean` | `false` | Продолжите самый последний диалог |378| `continue` | `boolean` | `false` | Продолжите самый последний диалог |

379| `cwd` | `string` | `process.cwd()` | Текущая рабочая директория |379| `cwd` | `string` | `process.cwd()` | Текущая рабочая директория |

380| `debug` | `boolean` | `false` | Включите режим отладки для процесса Claude Code |380| `debug` | `boolean` | `false` | Включите режим отладки для процесса Claude Code |

381| `debugFile` | `string` | `undefined` | Запишите журналы отладки в определённый путь файла. Неявно включает режим отладки |381| `debugFile` | `string` | `undefined` | Запишите журналы отладки в определённый путь файла. Неявно включает режим отладки |

382| `disallowedTools` | `string[]` | `[]` | Tools для всегда отклонения. Правила отклонения проверяются первыми и переопределяют `allowedTools` и `permissionMode` (включая `bypassPermissions`) |382| `disallowedTools` | `string[]` | `[]` | Инструменты для всегда отклонения. Правила отклонения проверяются первыми и переопределяют `allowedTools` и `permissionMode` (включая `bypassPermissions`) |

383| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Контролирует, сколько усилий Claude вкладывает в свой ответ. Работает с адаптивным мышлением для направления глубины мышления |383| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Контролирует, сколько усилий Claude вкладывает в свой ответ. Работает с адаптивным мышлением для направления глубины мышления |

384| `enableFileCheckpointing` | `boolean` | `false` | Включите отслеживание изменений файлов для перемотки. См. [Контрольные точки файлов](/ru/agent-sdk/file-checkpointing) |384| `enableFileCheckpointing` | `boolean` | `false` | Включите отслеживание изменений файлов для перемотки. См. [Контрольные точки файлов](/ru/agent-sdk/file-checkpointing) |

385| `env` | `Record<string, string \| undefined>` | `process.env` | Переменные окружения. См. [Переменные окружения](/ru/env-vars) для переменных, которые читает базовый CLI, и [Обработка медленных или зависших ответов API](#handle-slow-or-stalled-api-responses) для переменных, связанных с timeout. Установите `CLAUDE_AGENT_SDK_CLIENT_APP` для идентификации вашего приложения в заголовке User-Agent |385| `env` | `Record<string, string \| undefined>` | `process.env` | Переменные окружения. См. [Переменные окружения](/ru/env-vars) для переменных, которые читает базовый CLI, и [Обработка медленных или зависших ответов API](#handle-slow-or-stalled-api-responses) для переменных, связанных с timeout. Установите `CLAUDE_AGENT_SDK_CLIENT_APP` для идентификации вашего приложения в заголовке User-Agent |


392| `includePartialMessages` | `boolean` | `false` | Включите события частичных сообщений |392| `includePartialMessages` | `boolean` | `false` | Включите события частичных сообщений |

393| `maxBudgetUsd` | `number` | `undefined` | Остановите запрос, когда оценка стоимости на стороне клиента достигнет этого значения USD. Сравнивается с той же оценкой, что и `total_cost_usd`; см. [Отслеживание стоимости и использования](/ru/agent-sdk/cost-tracking) для предостережений точности |393| `maxBudgetUsd` | `number` | `undefined` | Остановите запрос, когда оценка стоимости на стороне клиента достигнет этого значения USD. Сравнивается с той же оценкой, что и `total_cost_usd`; см. [Отслеживание стоимости и использования](/ru/agent-sdk/cost-tracking) для предостережений точности |

394| `maxThinkingTokens` | `number` | `undefined` | *Устарело:* Используйте вместо этого `thinking`. Максимальные токены для процесса мышления |394| `maxThinkingTokens` | `number` | `undefined` | *Устарело:* Используйте вместо этого `thinking`. Максимальные токены для процесса мышления |

395| `maxTurns` | `number` | `undefined` | Максимальное количество агентских ходов (раунды использования tool) |395| `maxTurns` | `number` | `undefined` | Максимальное количество агентских ходов (раунды использования инструмента) |

396| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Конфигурации MCP серверов |396| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Конфигурации MCP серверов |

397| `model` | `string` | По умолчанию из CLI | Модель Claude для использования |397| `model` | `string` | По умолчанию из CLI | Модель Claude для использования |

398| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Определите формат вывода для результатов агента. См. [Структурированные выводы](/ru/agent-sdk/structured-outputs) для деталей |398| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Определите формат вывода для результатов агента. См. [Структурированные выводы](/ru/agent-sdk/structured-outputs) для деталей |

399| `outputStyle` | `string` | `undefined` | Имя [стиля вывода](/ru/output-styles) для активации для сессии. Стиль должен существовать в загруженном месте `settingSources`, таком как `.claude/output-styles/`. См. [Активируйте стиль вывода](/ru/agent-sdk/modifying-system-prompts#activate-an-output-style) |

399| `pathToClaudeCodeExecutable` | `string` | Автоопределение из встроенного нативного бинарного файла | Путь к исполняемому файлу Claude Code. Требуется только если опциональные зависимости были пропущены при установке или ваша платформа не в поддерживаемом наборе |400| `pathToClaudeCodeExecutable` | `string` | Автоопределение из встроенного нативного бинарного файла | Путь к исполняемому файлу Claude Code. Требуется только если опциональные зависимости были пропущены при установке или ваша платформа не в поддерживаемом наборе |

400| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | Режим разрешения для сессии |401| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | Режим разрешения для сессии |

401| `permissionPromptToolName` | `string` | `undefined` | Имя MCP tool для запросов разрешения |402| `permissionPromptToolName` | `string` | `undefined` | Имя MCP инструмента для запросов разрешения |

402| `persistSession` | `boolean` | `true` | Когда `false`, отключает сохранение сессии на диск. Сессии не могут быть возобновлены позже |403| `persistSession` | `boolean` | `true` | Когда `false`, отключает сохранение сессии на диск. Сессии не могут быть возобновлены позже |

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

404| `promptSuggestions` | `boolean` | `false` | Включите предложения запросов. Выдаёт сообщение `prompt_suggestion` после каждого хода с предсказанным следующим пользовательским запросом |405| `promptSuggestions` | `boolean` | `false` | Включите предложения запросов. Выдаёт сообщение `prompt_suggestion` после каждого хода с предсказанным следующим пользовательским запросом |


415| `strictMcpConfig` | `boolean` | `false` | Принудительно применяйте строгую валидацию MCP |416| `strictMcpConfig` | `boolean` | `false` | Принудительно применяйте строгую валидацию MCP |

416| `systemPrompt` | `string \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean }` | `undefined` (минимальный запрос) | Конфигурация системного запроса. Передайте строку для пользовательского запроса или `{ type: 'preset', preset: 'claude_code' }` для использования системного запроса Claude Code. При использовании формы объекта preset добавьте `append` для расширения его дополнительными инструкциями и установите `excludeDynamicSections: true` для перемещения контекста для каждой сессии в первое пользовательское сообщение для [лучшего переиспользования prompt-cache на разных машинах](/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |417| `systemPrompt` | `string \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean }` | `undefined` (минимальный запрос) | Конфигурация системного запроса. Передайте строку для пользовательского запроса или `{ type: 'preset', preset: 'claude_code' }` для использования системного запроса Claude Code. При использовании формы объекта preset добавьте `append` для расширения его дополнительными инструкциями и установите `excludeDynamicSections: true` для перемещения контекста для каждой сессии в первое пользовательское сообщение для [лучшего переиспользования prompt-cache на разных машинах](/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

417| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` для поддерживаемых моделей | Контролирует поведение мышления/рассуждения Claude. См. [`ThinkingConfig`](#thinkingconfig) для опций |418| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` для поддерживаемых моделей | Контролирует поведение мышления/рассуждения Claude. См. [`ThinkingConfig`](#thinkingconfig) для опций |

418| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Конфигурация для встроенного поведения tool. См. [`ToolConfig`](#toolconfig) для деталей |419| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Конфигурация для встроенного поведения инструмента. См. [`ToolConfig`](#toolconfig) для деталей |

419| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Конфигурация tool. Передайте массив имён tool или используйте preset для получения встроенных tools Claude Code |420| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Конфигурация инструмента. Передайте массив имён инструментов или используйте preset для получения встроенных инструментов Claude Code |

420 421 

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

422 423 


580```581```

581 582 

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

583| :------------------------------------ | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |584| :------------------------------------ | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

585| `tools` | Нет | Массив разрешённых имён tool. Если опущено, наследует все tools от родителя. Для предварительной загрузки Skills в контекст агента используйте поле `skills` вместо указания `'Skill'` здесь |586| `tools` | Нет | Массив разрешённых имён инструментов. Если опущено, наследует все инструменты от родителя. Для предварительной загрузки Skills в контекст агента используйте поле `skills` вместо указания `'Skill'` здесь |

586| `disallowedTools` | Нет | Массив имён tool для явного запрещения для этого агента |587| `disallowedTools` | Нет | Массив имён инструментов для явного запрещения для этого агента |

587| `prompt` | Да | Системный запрос агента |588| `prompt` | Да | Системный запрос агента |

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

589| `mcpServers` | Нет | Спецификации MCP серверов для этого агента |590| `mcpServers` | Нет | Спецификации MCP серверов для этого агента |


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

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

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

596| `permissionMode` | Нет | Режим разрешения для выполнения tool в этом агенте. См. [`PermissionMode`](#permissionmode) |597| `permissionMode` | Нет | Режим разрешения для выполнения инструмента в этом агенте. См. [`PermissionMode`](#permissionmode) |

597| `criticalSystemReminder_EXPERIMENTAL` | Нет | Экспериментально: Критическое напоминание, добавленное в системный запрос |598| `criticalSystemReminder_EXPERIMENTAL` | Нет | Экспериментально: Критическое напоминание, добавленное в системный запрос |

598 599 

599### `AgentMcpServerSpec`600### `AgentMcpServerSpec`


728 | "bypassPermissions" // Обойдите все проверки разрешения729 | "bypassPermissions" // Обойдите все проверки разрешения

729 | "plan" // Режим планирования - только инструменты чтения730 | "plan" // Режим планирования - только инструменты чтения

730 | "dontAsk" // Не запрашивайте разрешения, отклоняйте, если не предварительно одобрено731 | "dontAsk" // Не запрашивайте разрешения, отклоняйте, если не предварительно одобрено

731 | "auto"; // Используйте классификатор модели для одобрения или отклонения каждого вызова tool732 | "auto"; // Используйте классификатор модели для одобрения или отклонения каждого вызова инструмента

732```733```

733 734 

734### `CanUseTool`735### `CanUseTool`

735 736 

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

737 738 

738```typescript theme={null}739```typescript theme={null}

739type CanUseTool = (740type CanUseTool = (


751```752```

752 753 

753| Опция | Тип | Описание |754| Опция | Тип | Описание |

754| :--------------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |755| :--------------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

755| `signal` | `AbortSignal` | Сигнализируется, если операция должна быть отменена |756| `signal` | `AbortSignal` | Сигнализируется, если операция должна быть отменена |

756| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Предложенные обновления разрешения, чтобы пользователь не был запрошен снова для этого tool. Запросы Bash включают предложение с назначением `localSettings` [destination](#permissionupdatedestination), поэтому возврат его в `updatedPermissions` записывает правило в `.claude/settings.local.json` и сохраняется между сессиями. |757| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Предложенные обновления разрешения, чтобы пользователь не был запрошен снова для этого инструмента. Запросы Bash включают предложение с назначением `localSettings` [destination](#permissionupdatedestination), поэтому возврат его в `updatedPermissions` записывает правило в `.claude/settings.local.json` и сохраняется между сессиями. |

757| `blockedPath` | `string` | Путь файла, который вызвал запрос разрешения, если применимо |758| `blockedPath` | `string` | Путь файла, который вызвал запрос разрешения, если применимо |

758| `decisionReason` | `string` | Объясняет, почему был вызван этот запрос разрешения |759| `decisionReason` | `string` | Объясняет, почему был вызван этот запрос разрешения |

759| `toolUseID` | `string` | Уникальный идентификатор для этого конкретного вызова tool в сообщении ассистента |760| `toolUseID` | `string` | Уникальный идентификатор для этого конкретного вызова инструмента в сообщении ассистента |

760| `agentID` | `string` | Если работает в подагенте, ID подагента |761| `agentID` | `string` | Если работает в подагенте, ID подагента |

761 762 

762### `PermissionResult`763### `PermissionResult`


781 782 

782### `ToolConfig`783### `ToolConfig`

783 784 

784Конфигурация для встроенного поведения tool.785Конфигурация для встроенного поведения инструмента.

785 786 

786```typescript theme={null}787```typescript theme={null}

787type ToolConfig = {788type ToolConfig = {

Details

12 12 

13Для уточняющих вопросов Claude генерирует вопросы и варианты ответов. Ваша роль — представить их пользователям и вернуть их выборы. Вы не можете добавлять свои собственные вопросы в этот процесс; если вам нужно что-то спросить у пользователей, сделайте это отдельно в логике вашего приложения.13Для уточняющих вопросов Claude генерирует вопросы и варианты ответов. Ваша роль — представить их пользователям и вернуть их выборы. Вы не можете добавлять свои собственные вопросы в этот процесс; если вам нужно что-то спросить у пользователей, сделайте это отдельно в логике вашего приложения.

14 14 

15Callback может оставаться в ожидании неопределённо долго. Выполнение остаётся приостановленным до возврата вашего callback, и SDK отменяет ожидание только при отмене самого запроса. Если пользователь может ответить дольше, чем ваш процесс может разумно оставаться запущенным, TypeScript SDK поддерживает [hook `defer`](/ru/hooks#defer-a-tool-call-for-later), который позволяет процессу выйти и возобновиться позже из сохранённой сессии; эта опция недоступна в Python SDK.15Callback может оставаться в ожидании неопределённо долго. Выполнение остаётся приостановленным до возврата вашего callback, и SDK отменяет ожидание только при отмене самого запроса. Если пользователь может ответить дольше, чем ваш процесс может разумно оставаться запущенным, верните решение [`defer` hook](/ru/hooks#defer-a-tool-call-for-later), которое позволяет процессу выйти и возобновиться позже из сохранённой сессии.

16 16 

17Это руководство показывает, как обнаружить каждый тип запроса и ответить надлежащим образом.17Это руководство показывает, как обнаружить каждый тип запроса и ответить надлежащим образом.

18 18 


232 232 

233* **Одобрить**: позволить инструменту выполниться так, как запросил Claude233* **Одобрить**: позволить инструменту выполниться так, как запросил Claude

234* **Одобрить с изменениями**: изменить ввод перед выполнением (например, санитизировать пути, добавить ограничения)234* **Одобрить с изменениями**: изменить ввод перед выполнением (например, санитизировать пути, добавить ограничения)

235* **Одобрить и запомнить**: отправить обратно предложенное правило разрешения, чтобы совпадающие вызовы пропускали запрос в следующий раз

235* **Отклонить**: заблокировать инструмент и объяснить Claude причину236* **Отклонить**: заблокировать инструмент и объяснить Claude причину

236* **Предложить альтернативу**: заблокировать, но направить Claude к тому, что хочет пользователь237* **Предложить альтернативу**: заблокировать, но направить Claude к тому, что хочет пользователь

237* **Полностью перенаправить**: использовать [потоковый ввод](/ru/agent-sdk/streaming-vs-single-mode) для отправки Claude совершенно новой инструкции238* **Полностью перенаправить**: использовать [потоковый ввод](/ru/agent-sdk/streaming-vs-single-mode) для отправки Claude совершенно новой инструкции


297 </CodeGroup>298 </CodeGroup>

298 </Tab>299 </Tab>

299 300 

301 <Tab title="Одобрить и запомнить">

302 Пользователь одобряет и не хочет, чтобы его спрашивали снова для этого вида вызова. Третий аргумент callback содержит `suggestions`, массив готовых записей [`PermissionUpdate`](/ru/agent-sdk/typescript#permissionupdate). Отправьте одну обратно в `updatedPermissions` для её применения. Предложение с назначением `localSettings` записывает правило в `.claude/settings.local.json`, чтобы будущие сеансы пропускали запрос для совпадающих вызовов.

303 

304 Пример Python требует `claude-agent-sdk` версии 0.1.80 или позже.

305 

306 <CodeGroup>

307 ```python Python theme={null}

308 async def can_use_tool(tool_name, input_data, context):

309 choice = await ask_user(f"Allow {tool_name}?", ["once", "always", "no"])

310 

311 if choice == "always":

312 persist = [

313 s for s in context.suggestions if s.destination == "localSettings"

314 ]

315 return PermissionResultAllow(

316 updated_input=input_data, updated_permissions=persist

317 )

318 if choice == "once":

319 return PermissionResultAllow(updated_input=input_data)

320 return PermissionResultDeny(message="User declined")

321 ```

322 

323 ```typescript TypeScript theme={null}

324 canUseTool: async (toolName, input, { suggestions = [] }) => {

325 const choice = await askUser(`Allow ${toolName}?`, ["once", "always", "no"]);

326 

327 if (choice === "always") {

328 const persist = suggestions.filter(

329 (s) => s.destination === "localSettings"

330 );

331 return {

332 behavior: "allow",

333 updatedInput: input,

334 updatedPermissions: persist

335 };

336 }

337 if (choice === "once") {

338 return { behavior: "allow", updatedInput: input };

339 }

340 return { behavior: "deny", message: "User declined" };

341 };

342 ```

343 </CodeGroup>

344 </Tab>

345 

300 <Tab title="Отклонить">346 <Tab title="Отклонить">

301 Пользователь не хочет, чтобы это действие произошло. Заблокируйте инструмент и предоставьте сообщение, объясняющее причину. Claude видит это сообщение и может попробовать другой подход.347 Пользователь не хочет, чтобы это действие произошло. Заблокируйте инструмент и предоставьте сообщение, объясняющее причину. Claude видит это сообщение и может попробовать другой подход.

302 348 

agent-teams.md +2 −0

Details

129Use Sonnet for each teammate.129Use Sonnet for each teammate.

130```130```

131 131 

132Товарищи по команде не наследуют выбор `/model` лидера по умолчанию. Чтобы изменить модель, используемую, когда подсказка не указывает одну, установите **Default teammate model** в `/config`. Выберите **Default (leader's model)**, чтобы товарищи по команде следовали текущей модели лидера.

133 

132### Требуйте одобрения плана для товарищей по команде134### Требуйте одобрения плана для товарищей по команде

133 135 

134Для сложных или рискованных задач вы можете потребовать, чтобы товарищи по команде планировали перед реализацией. Товарищ по команде работает в режиме только для чтения Plan Mode до тех пор, пока лидер не одобрит его подход:136Для сложных или рискованных задач вы можете потребовать, чтобы товарищи по команде планировали перед реализацией. Товарищ по команде работает в режиме только для чтения Plan Mode до тех пор, пока лидер не одобрит его подход:

agent-view.md +37 −18

Details

24* [Управление сеансами из оболочки](#manage-sessions-from-the-shell)24* [Управление сеансами из оболочки](#manage-sessions-from-the-shell)

25* [Как размещаются фоновые сеансы](#how-background-sessions-are-hosted) процессом супервизора25* [Как размещаются фоновые сеансы](#how-background-sessions-are-hosted) процессом супервизора

26 26 

27## Quick start27## Быстрый старт

28 28 

29Это пошаговое руководство открывает agent view, отправляет сеанс, отвечает из панели просмотра и подключается для полной беседы.29Это пошаговое руководство открывает agent view, отправляет сеанс, отвечает из панели просмотра и подключается для полной беседы.

30 30 


40 </Step>40 </Step>

41 41 

42 <Step title="Отправить сеанс">42 <Step title="Отправить сеанс">

43 Введите подсказку в поле ввода и нажмите `Enter`. Запускается новый сеанс и появляется как строка, показывающая, работает ли он, ждёт ли вас или завершён. Повторите, чтобы запустить столько сеансов параллельно, сколько вам нравится.43 Введите подсказку в поле ввода и нажмите `Enter`. Запускается новый сеанс и появляется как строка, показывающая, работает ли он, ждёт ли вас или завершён. Повторите, чтобы запустить несколько сеансов параллельно. Каждый использует вашу квоту подписки независимо, поэтому см. [Ограничения](#limitations) перед отправкой множества сеансов одновременно.

44 </Step>44 </Step>

45 45 

46 <Step title="Просмотр и ответ">46 <Step title="Просмотр и ответ">


56 56 

57Вы можете использовать `claude agents` как основную точку входа вместо `claude`: отправляйте каждую задачу из agent view, подключайтесь, когда вам нужна полная беседа, и нажимайте `←` для возврата к таблице.57Вы можете использовать `claude agents` как основную точку входа вместо `claude`: отправляйте каждую задачу из agent view, подключайтесь, когда вам нужна полная беседа, и нажимайте `←` для возврата к таблице.

58 58 

59## Monitor sessions with agent view59## Мониторинг сеансов с помощью agent view

60 60 

61Запустите `claude agents` для открытия agent view. Он захватывает весь терминал и перечисляет каждый сеанс, сгруппированный по состоянию, с закреплёнными сеансами и теми, которые требуют вас в верхней части. Каждая строка показывает имя сеанса, текущую активность и как давно он в последний раз изменился.61Запустите `claude agents` для открытия agent view. Он захватывает весь терминал и перечисляет каждый сеанс, сгруппированный по состоянию, с закреплёнными сеансами и теми, которые требуют вас в верхней части. Каждая строка показывает имя сеанса, текущую активность и как давно он в последний раз изменился.

62 62 

63Список глобален для вашей машины и включает каждый фоновый сеанс независимо от того, в каком проекте или worktree он работает. Интерактивные сеансы, открытые в других терминалах, не появляются до тех пор, пока вы не [отправите их в фон](#from-inside-a-session), и [subagents](/ru/sub-agents), работающие внутри сеанса, не указаны как отдельные строки.63Список охватывает каждый фоновый сеанс в вашей [директории конфигурации](#how-background-sessions-are-hosted), независимо от того, в каком проекте или worktree он работает, поэтому сеанс, запущенный в одном репозитории, и другой, запущенный в другом worktree, появляются вместе. Интерактивные сеансы, открытые в других терминалах, не появляются до тех пор, пока вы не [отправите их в фон](#from-inside-a-session), и [subagents](/ru/sub-agents), работающие внутри сеанса, не указаны как отдельные строки.

64 64 

65```text theme={null}65```text theme={null}

66Pinned66Pinned

67 ✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m67 ✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m

68 68 

69Ready for review69Ready for review

70 ∙ jump physics github.com/anthropics/example/pull/2048 2h70 ∙ jump physics github.com/anthropics/example/pull/20482h

71 71 

72Needs input72Needs input

73 ✻ power-up design needs input: double jump or wall climb? 1m73 ✻ power-up design needs input: double jump or wall climb? 1m


82 … 6 more82 … 6 more

83```83```

84 84 

85Значок показывает состояние сеанса:85Значок каждой строки несёт два сигнала. Индикатор показывает состояние сеанса, а форма значка показывает, работает ли базовый процесс. Состояния следующие:

86 86 

87| Значок | Состояние | Что это означает |87| Индикатор | Состояние | Что это означает |

88| :------------ | :---------- | :-------------------------------------------------------------- |88| :------------ | :---------- | :-------------------------------------------------------------- |

89| Анимированный | Working | Claude активно запускает инструменты или генерирует ответ |89| Анимированный | Working | Claude активно запускает инструменты или генерирует ответ |

90| Жёлтый | Needs input | Claude ждёт вашего ввода, обычно решение о разрешении или ответ |90| Жёлтый | Needs input | Claude ждёт вашего ввода, обычно решение о разрешении или ответ |


99 99 

100Сеансы сохраняются на диск: закрытие терминала или автоматическое обновление не теряет их, и повторное открытие `claude agents` показывает их все. Если ваша машина переходит в спящий режим или выключается, работающие сеансы останавливаются; перезапустите их с помощью `claude respawn --all`.100Сеансы сохраняются на диск: закрытие терминала или автоматическое обновление не теряет их, и повторное открытие `claude agents` показывает их все. Если ваша машина переходит в спящий режим или выключается, работающие сеансы останавливаются; перезапустите их с помощью `claude respawn --all`.

101 101 

102Однострочное резюме в каждой строке генерируется вашей настроенной [моделью класса Haiku](/ru/model-config), поэтому строка может сказать вам, что делает сеанс, что ему требуется или что он произвёл, без открытия стенограммы. Каждое резюме — это один короткий запрос класса Haiku через вашего обычного поставщика, выставляемый и обрабатываемый в соответствии с теми же [условиями использования данных](/ru/data-usage), что и сам сеанс.102Однострочное резюме в каждой строке генерируется вашей настроенной [моделью класса Haiku](/ru/model-config), поэтому строка может сказать вам, что делает сеанс, что ему требуется или что он произвёл, без открытия стенограммы. Пока сеанс активно работает, резюме обновляется не более одного раза каждые 15 секунд, плюс один раз, когда каждый ход заканчивается. Каждое обновление — это один короткий запрос класса Haiku через вашего обычного поставщика, выставляемый и обрабатываемый в соответствии с теми же [условиями использования данных](/ru/data-usage), что и сам сеанс.

103 103 

104Когда сеанс открывает pull request, строка показывает ссылку PR и индикатор статуса для его проверок CI. Для большинства задач эта строка это то, как вы собираете работу: проверьте и объедините pull request, когда его проверки пройдут.104Когда сеанс открывает pull request, в правом краю строки появляется точка статуса, связанная с pull request в терминалах, поддерживающих гиперссылки. Когда сеанс открыл более одного pull request, количество появляется перед точкой, а цвет отражает тот, который больше всего нуждается во внимании.

105 

106| Цвет точки | Статус pull request |

107| :--------- | :----------------------------------------------------- |

108| Жёлтый | Ожидание проверок или рецензии, или проверки не прошли |

109| Зелёный | Проверки пройдены и никакая рецензия не блокирует |

110| Фиолетовый | Объединено |

111| Серый | Черновик или закрыто |

112 

113Для большинства задач эта строка — это то, как вы собираете результат: проверьте и объедините pull request, когда точка станет зелёной.

105 114 

106### Peek and reply115### Peek and reply

107 116 


121 130 

122Отключение никогда не останавливает фоновый сеанс: `←`, `Ctrl+C`, `Ctrl+D`, `Ctrl+Z` и `/exit` оставляют его работающим. Чтобы завершить сеанс изнутри, запустите `/stop`.131Отключение никогда не останавливает фоновый сеанс: `←`, `Ctrl+C`, `Ctrl+D`, `Ctrl+Z` и `/exit` оставляют его работающим. Чтобы завершить сеанс изнутри, запустите `/stop`.

123 132 

124После использования agent view нажатие `←` на пустой подсказке работает из любого сеанса Claude Code, а не только из тех, к которым вы подключались. Он открывает agent view с вашим текущим сеансом предварительно выбранным, поэтому вы можете переключаться между сеансами без выхода из терминала.133После того как вы отправили или отправили сеанс в фон, нажатие `←` на пустой подсказке работает из любого сеанса Claude Code, а не только из тех, к которым вы подключались из agent view. Он отправляет текущий сеанс в фон и открывает agent view с этим сеансом предварительно выбранным, поэтому вы можете переключаться между сеансами без выхода из терминала. Вы можете отключить это сочетание клавиш в `/config`.

125 134 

126### Organize the list135### Organize the list

127 136 


183 192 

184Введите `/` для отправки [skill](/ru/skills). Упаковка повторяющейся задачи как skill позволяет вам запускать один и тот же рабочий процесс много раз из agent view без переввода подсказки. Нажмите `Tab` на пустом вводе для просмотра каждого dispatchable subagent или для применения выделенного предложения, когда предложения показываются.193Введите `/` для отправки [skill](/ru/skills). Упаковка повторяющейся задачи как skill позволяет вам запускать один и тот же рабочий процесс много раз из agent view без переввода подсказки. Нажмите `Tab` на пустом вводе для просмотра каждого dispatchable subagent или для применения выделенного предложения, когда предложения показываются.

185 194 

195Когда одно и то же имя `@name` совпадает как с subagent, так и с соседним репозиторием, subagent имеет приоритет. Форма первого слова без `@` также применяется к любому имени subagent, поэтому подсказка, начинающаяся со слова, совпадающего с одним из имён ваших subagent, отправляет этот subagent. Используйте форму `@` когда вы хотите быть явным.

196 

186#### Dispatch to a specific directory197#### Dispatch to a specific directory

187 198 

188Новый сеанс запускается в каталоге, из которого вы открыли agent view. Для целевого другого каталога:199Новый сеанс запускается в каталоге, из которого вы открыли agent view. Для целевого другого каталога:


193 204 

194Когда agent view сгруппирован по каталогу, каталог выделенной строки становится целью отправки, поэтому вы можете прокрутить к группе и отправить в неё без переввода пути.205Когда agent view сгруппирован по каталогу, каталог выделенной строки становится целью отправки, поэтому вы можете прокрутить к группе и отправить в неё без переввода пути.

195 206 

196#### Isolate file edits in a worktree

197 

198Сеансы, отправленные из agent view, по умолчанию используют ваш рабочий каталог, поэтому два агента, редактирующие одни и те же файлы, могут конфликтовать. Чтобы предотвратить это, Claude Code блокирует сеанс, отправленный из agent view, от записи файлов до тех пор, пока он не переместится в изолированный [git worktree](/ru/worktrees). Claude обрабатывает это автоматически, когда ему нужно редактировать файлы. Worktree создаётся под `.claude/worktrees/` внутри каталога проекта и удаляется при удалении сеанса. Удаление сеанса также удаляет его worktree, поэтому объедините или отправьте изменения, которые вы хотите сохранить, перед удалением.

199 

200Чтобы сделать subagent всегда запускаемым в его собственном worktree независимо от того, как он был запущен, установите [`isolation: worktree`](/ru/sub-agents#supported-frontmatter-fields) в его frontmatter.

201 

202### From inside a session207### From inside a session

203 208 

204Запустите `/background` или его псевдоним `/bg` для отключения текущей беседы и её продолжения работы. Передайте подсказку, такую как `/bg run the test suite and fix any failures`, для отправки одной дополнительной инструкции перед отключением.209Запустите `/background` или его псевдоним `/bg` для отключения текущей беседы и её продолжения работы. Передайте подсказку, такую как `/bg run the test suite and fix any failures`, для отправки одной дополнительной инструкции перед отключением.


227 claude stop 7c5dcf5d stop this session232 claude stop 7c5dcf5d stop this session

228```233```

229 234 

235### How file edits are isolated

236 

237Каждый фоновый сеанс, запущенный ли из agent view, `/bg` или `claude --bg`, запускается в вашем рабочем каталоге, но блокируется от записи файлов туда. Когда сеансу нужно редактировать файлы, Claude автоматически перемещает его в изолированный [git worktree](/ru/worktrees) под `.claude/worktrees/`, поэтому параллельные сеансы могут читать один и тот же checkout, но каждый пишет в свой собственный. Блокировка не применяется, когда сеанс уже находится внутри worktree, когда рабочий каталог не является git репозиторием или к записям вне рабочего каталога.

238 

239Worktree удаляется при удалении сеанса, поэтому объедините или отправьте изменения, которые вы хотите сохранить, перед удалением. Чтобы найти путь worktree сеанса, посмотрите сеанс или подключитесь и проверьте его рабочий каталог.

240 

241Чтобы сделать subagent всегда запускаемым в его собственном worktree независимо от того, как он был запущен, установите [`isolation: worktree`](/ru/sub-agents#supported-frontmatter-fields) в его frontmatter.

242 

243### Permission mode and settings

244 

245Отправленный сеанс читает свои [settings](/ru/settings) и [permission mode](/ru/permissions) из каталога, в котором он запускается, так же как если бы вы запустили `claude` там. Отправка из входа agent view не передаёт режим разрешений, поэтому сеанс использует `defaultMode` из settings этого каталога или `permissionMode` из frontmatter отправленного [subagent](/ru/sub-agents#supported-frontmatter-fields).

246 

247Чтобы установить режим из оболочки, передайте `--permission-mode` с `claude --bg`. Использование `bypassPermissions` или `auto` таким образом отказывается до тех пор, пока вы не примете этот режим, запустив `claude` с ним один раз интерактивно, так как эти режимы позволяют сеансу, который вы не наблюдаете, действовать без одобрения.

248 

230## Manage sessions from the shell249## Manage sessions from the shell

231 250 

232Каждый фоновый сеанс имеет короткий ID, который вы можете использовать из оболочки. Эти команды полезны для написания скриптов или когда вы не хотите открывать agent view.251Каждый фоновый сеанс имеет короткий ID, который вы можете использовать из оболочки. Эти команды полезны для написания скриптов или когда вы не хотите открывать agent view.


277 296 

278Worktrees удаляются при удалении сеанса, который их создал. Если сеанс завершился без очистки, перечислите оставшиеся записи с помощью `git worktree list` в каталоге проекта и удалите каждую с помощью `git worktree remove <path>`. См. [Clean up worktrees](/ru/worktrees#clean-up-worktrees).297Worktrees удаляются при удалении сеанса, который их создал. Если сеанс завершился без очистки, перечислите оставшиеся записи с помощью `git worktree list` в каталоге проекта и удалите каждую с помощью `git worktree remove <path>`. См. [Clean up worktrees](/ru/worktrees#clean-up-worktrees).

279 298 

280## Limitations299## Ограничения

281 300 

282Agent view — это исследовательский предпросмотр. Текущие ограничения, о которых следует знать:301Agent view — это исследовательский предпросмотр. Текущие ограничения, о которых следует знать:

283 302 

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

285* **Сеансы локальны**: фоновые сеансы работают на вашей машине и останавливаются, если она переходит в спящий режим или выключается.304* **Сеансы локальны**: фоновые сеансы работают на вашей машине и останавливаются, если она переходит в спящий режим или выключается.

286* **Worktrees удаляются с сеансом**: объедините или отправьте изменения перед удалением сеанса, который редактировал файлы в его собственном worktree.305* **Worktrees удаляются с сеансом**: объедините или отправьте изменения перед удалением сеанса, который редактировал файлы в его собственном worktree.

287 306 

Details

1465Нажмите на имя файла, чтобы открыть этот узел в обозревателе выше.1465Нажмите на имя файла, чтобы открыть этот узел в обозревателе выше.

1466 1466 

1467| Файл | Область | Зафиксировать | Что он делает | Справочник |1467| Файл | Область | Зафиксировать | Что он делает | Справочник |

1468| --------------------------------------------------- | ------------------ | ------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------- |1468| --------------------------------------------------- | ------------------ | ------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------ |

1469| [`CLAUDE.md`](#ce-claude-md) | Проект и глобально | ✓ | Инструкции, загруженные каждый сеанс | [Memory](/ru/memory) |1469| [`CLAUDE.md`](#ce-claude-md) | Проект и глобально | ✓ | Инструкции, загруженные каждый сеанс | [Memory](/ru/memory) |

1470| [`rules/*.md`](#ce-rules) | Проект и глобально | ✓ | Инструкции с областью действия темы, опционально с ограничением по пути | [Rules](/ru/memory#organize-rules-with-claude/rules/) |1470| [`rules/*.md`](#ce-rules) | Проект и глобально | ✓ | Инструкции с областью действия темы, опционально с ограничением по пути | [Rules](/ru/memory#organize-rules-with-claude/rules/) |

1471| [`settings.json`](#ce-settings-json) | Проект и глобально | ✓ | Разрешения, hooks, переменные окружения, значения по умолчанию модели | [Settings](/ru/settings) |1471| [`settings.json`](#ce-settings-json) | Проект и глобально | ✓ | Разрешения, hooks, переменные окружения, значения по умолчанию модели | [Settings](/ru/settings) |

1472| [`settings.local.json`](#ce-settings-local-json) | Только проект | | Ваши личные переопределения, автоматически добавлены в .gitignore | [Области параметров](/ru/settings#settings-files) |1472| [`settings.local.json`](#ce-settings-local-json) | Только проект | | Ваши личные переопределения, автоматически добавлены в .gitignore | [Области параметров](/ru/settings#settings-files) |

1473| [`.mcp.json`](#ce-mcp-json) | Только проект | ✓ | Серверы MCP, общие для команды | [Области MCP](/ru/mcp#mcp-installation-scopes) |1473| [`.mcp.json`](#ce-mcp-json) | Только проект | ✓ | Серверы MCP, общие для команды | [Области MCP](/ru/mcp#mcp-installation-scopes) |

1474| [`.worktreeinclude`](#ce-worktreeinclude) | Только проект | ✓ | Файлы, игнорируемые Git, для копирования в новые worktrees | [Worktrees](/ru/common-workflows#copy-gitignored-files-to-worktrees) |1474| [`.worktreeinclude`](#ce-worktreeinclude) | Только проект | ✓ | Файлы, игнорируемые Git, для копирования в новые worktrees | [Worktrees](/ru/worktrees#copy-gitignored-files-into-worktrees) |

1475| [`skills/<name>/SKILL.md`](#ce-skills) | Проект и глобально | ✓ | Переиспользуемые подсказки, вызываемые с `/name` или автоматически вызываемые | [Skills](/ru/skills) |1475| [`skills/<name>/SKILL.md`](#ce-skills) | Проект и глобально | ✓ | Переиспользуемые подсказки, вызываемые с `/name` или автоматически вызываемые | [Skills](/ru/skills) |

1476| [`commands/*.md`](#ce-commands) | Проект и глобально | ✓ | Подсказки в одном файле; тот же механизм, что и skills | [Skills](/ru/skills) |1476| [`commands/*.md`](#ce-commands) | Проект и глобально | ✓ | Подсказки в одном файле; тот же механизм, что и skills | [Skills](/ru/skills) |

1477| [`output-styles/*.md`](#ce-output-styles) | Проект и глобально | ✓ | Пользовательские разделы системной подсказки | [Output styles](/ru/output-styles) |1477| [`output-styles/*.md`](#ce-output-styles) | Проект и глобально | ✓ | Пользовательские разделы системной подсказки | [Output styles](/ru/output-styles) |


1497| Путь под `~/.claude/` | Содержимое |1497| Путь под `~/.claude/` | Содержимое |

1498| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |1498| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |

1499| `projects/<project>/<session>.jsonl` | Полная стенограмма разговора: каждое сообщение, вызов инструмента и результат инструмента |1499| `projects/<project>/<session>.jsonl` | Полная стенограмма разговора: каждое сообщение, вызов инструмента и результат инструмента |

1500| `projects/<project>/<session>/subagents/` | Стенограммы разговоров [Subagent](/ru/sub-agents), удаляемые вместе со стенограммой родительского сеанса, когда она устаревает |

1500| `projects/<project>/<session>/tool-results/` | Большие выходные данные инструмента разлиты в отдельные файлы |1501| `projects/<project>/<session>/tool-results/` | Большие выходные данные инструмента разлиты в отдельные файлы |

1501| `file-history/<session>/` | Снимки файлов перед редактированием, которые Claude изменил, используемые для [восстановления checkpoint](/ru/checkpointing) |1502| `file-history/<session>/` | Снимки файлов перед редактированием, которые Claude изменил, используемые для [восстановления checkpoint](/ru/checkpointing) |

1502| `plans/` | Файлы плана, написанные во время [plan mode](/ru/permission-modes#analyze-before-you-edit-with-plan-mode) |1503| `plans/` | Файлы плана, написанные во время [plan mode](/ru/permission-modes#analyze-before-you-edit-with-plan-mode) |


1512Следующие пути не охватываются автоматической очисткой и сохраняются неопределённо долго.1513Следующие пути не охватываются автоматической очисткой и сохраняются неопределённо долго.

1513 1514 

1514| Путь под `~/.claude/` | Содержимое |1515| Путь под `~/.claude/` | Содержимое |

1515| --------------------- | -------------------------------------------------------------------------------------------------------------- |1516| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1516| `history.jsonl` | Каждая подсказка, которую вы ввели, с временной меткой и путём проекта. Используется для отзыва стрелки вверх. |1517| `history.jsonl` | Каждая подсказка, которую вы ввели, с временной меткой и путём проекта. Используется для отзыва стрелки вверх. |

1517| `stats-cache.json` | Агрегированные подсчёты токенов и затрат, показанные `/usage` |1518| `stats-cache.json` | Агрегированные подсчёты токенов и затрат, показанные `/usage` |

1519| `remote-settings.json` | Кэшированная копия [управляемых сервером параметров](/ru/server-managed-settings) для вашей организации. Присутствует только если ваша организация их настроила. Обновляется при каждом запуске. |

1518| `todos/` | Устаревшие списки задач для каждого сеанса. Больше не записываются текущими версиями; безопасно удалять. |1520| `todos/` | Устаревшие списки задач для каждого сеанса. Больше не записываются текущими версиями; безопасно удалять. |

1519 1521 

1520Другие небольшие файлы кэша и блокировки появляются в зависимости от того, какие функции вы используете, и безопасны для удаления.1522Другие небольшие файлы кэша и блокировки появляются в зависимости от того, какие функции вы используете, и безопасны для удаления.


1570| `~/.claude/history.jsonl` | Отзыв подсказки стрелки вверх |1572| `~/.claude/history.jsonl` | Отзыв подсказки стрелки вверх |

1571| `~/.claude/file-history/` | Восстановление checkpoint для прошлых сеансов |1573| `~/.claude/file-history/` | Восстановление checkpoint для прошлых сеансов |

1572| `~/.claude/stats-cache.json` | Исторические итоги, показанные `/usage` |1574| `~/.claude/stats-cache.json` | Исторические итоги, показанные `/usage` |

1575| `~/.claude/remote-settings.json` | Ничего. Повторно загружается при следующем запуске. |

1573| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/paste-cache/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/tasks/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Ничего, видимого пользователю |1576| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/paste-cache/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/tasks/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Ничего, видимого пользователю |

1574| `~/.claude/todos/` | Ничего. Устаревшая директория, не записываемая текущими версиями. |1577| `~/.claude/todos/` | Ничего. Устаревшая директория, не записываемая текущими версиями. |

1575 1578 

Details

124 124 

125`--system-prompt` и `--system-prompt-file` являются взаимоисключающими. Флаги добавления можно комбинировать с любым флагом замены.125`--system-prompt` и `--system-prompt-file` являются взаимоисключающими. Флаги добавления можно комбинировать с любым флагом замены.

126 126 

127Для большинства случаев используйте флаг добавления. Добавление сохраняет встроенные возможности Claude Code при добавлении ваших требований. Используйте флаг замены только когда вам нужен полный контроль над системным приглашением.127Выбирайте в зависимости от того, подходит ли стандартная идентичность Claude Code для вашей задачи. Используйте флаг добавления, когда Claude должен оставаться помощником по кодированию, который также следует вашим дополнительным правилам: инструкции для каждого вызова, форматирование вывода или контекст домена для скрипта `-p`. Добавление сохраняет стандартное руководство по инструментам, инструкции безопасности и соглашения кодирования, поэтому вы предоставляете только то, что отличается. Используйте флаг замены, когда поверхность, идентичность или модель разрешения отличаются от Claude Code, например неагент кодирования в конвейере, который не смотрит ни один человек. Замена удаляет весь стандартный запрос, включая руководство по инструментам и инструкции безопасности, поэтому вы берете на себя ответственность за все, что вашей задаче все еще нужно.

128 

129Эти флаги применяются только к текущему вызову. Для постоянных персон, которые вы можете переключать и делиться между проектом, используйте [стили вывода](/ru/output-styles). Для соглашений проекта, которые Claude должен всегда соблюдать, используйте [CLAUDE.md](/ru/memory). [Руководство Agent SDK по системным приглашениям](/ru/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) охватывает то же решение более подробно.

128 130 

129## См. также131## См. также

130 132 

commands.md +3 −1

Details

43| `/add-dir <path>` | Добавить рабочий каталог для доступа к файлам во время текущего сеанса. Большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из добавленного каталога. Вы можете позже возобновить сеанс из добавленного каталога с помощью `--continue` или `--resume` |43| `/add-dir <path>` | Добавить рабочий каталог для доступа к файлам во время текущего сеанса. Большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из добавленного каталога. Вы можете позже возобновить сеанс из добавленного каталога с помощью `--continue` или `--resume` |

44| `/agents` | Управлять конфигурациями [agent](/ru/sub-agents) |44| `/agents` | Управлять конфигурациями [agent](/ru/sub-agents) |

45| `/autofix-pr [prompt]` | Запустить сеанс [Claude Code в веб-браузере](/ru/claude-code-on-the-web#auto-fix-pull-requests), который отслеживает PR текущей ветви и отправляет исправления при сбое CI или комментариях рецензентов. Обнаруживает открытый PR из вашей текущей ветви с помощью `gh pr view`; чтобы отслеживать другой PR, сначала переключитесь на его ветвь. По умолчанию удаленному сеансу указывается исправить каждый сбой CI и комментарий рецензента; передайте подсказку, чтобы дать ему другие инструкции, например `/autofix-pr only fix lint and type errors`. Требует CLI `gh` и доступ к [Claude Code в веб-браузере](/ru/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |45| `/autofix-pr [prompt]` | Запустить сеанс [Claude Code в веб-браузере](/ru/claude-code-on-the-web#auto-fix-pull-requests), который отслеживает PR текущей ветви и отправляет исправления при сбое CI или комментариях рецензентов. Обнаруживает открытый PR из вашей текущей ветви с помощью `gh pr view`; чтобы отслеживать другой PR, сначала переключитесь на его ветвь. По умолчанию удаленному сеансу указывается исправить каждый сбой CI и комментарий рецензента; передайте подсказку, чтобы дать ему другие инструкции, например `/autofix-pr only fix lint and type errors`. Требует CLI `gh` и доступ к [Claude Code в веб-браузере](/ru/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |

46| `/batch <instruction>` | **[Skill](/ru/skills#bundled-skills).** Организовать крупномасштабные изменения в кодовой базе параллельно. Исследует кодовую базу, разбивает работу на 5-30 независимых единиц и представляет план. После одобрения запускает одного фонового агента на единицу в изолированном [git worktree](/ru/worktrees). Каждый агент реализует свою единицу, запускает тесты и открывает pull request. Требует git репозиторий. Пример: `/batch migrate src/ from Solid to React` |46| `/background [prompt]` | Отсоединить текущий сеанс для запуска в качестве [фонового агента](/ru/agent-view) и освободить этот терминал. Передайте подсказку для отправки еще одной инструкции перед отсоединением. Отслеживайте сеанс с помощью `claude agents`. Псевдоним: `/bg` |

47| `/batch <instruction>` | **[Skill](/ru/skills#bundled-skills).** Организовать крупномасштабные изменения в кодовой базе параллельно. Исследует кодовую базу, разбивает работу на 5-30 независимых единиц и представляет план. После одобрения запускает одного [фонового subagent](/ru/sub-agents#run-subagents-in-foreground-or-background) на единицу в изолированном [git worktree](/ru/worktrees). Каждый subagent реализует свою единицу, запускает тесты и открывает pull request. Требует git репозиторий. Пример: `/batch migrate src/ from Solid to React` |

47| `/branch [name]` | Создать ветвь текущей беседы в этой точке. Переключает вас в ветвь и сохраняет оригинал, к которому вы можете вернуться с помощью `/resume`. Псевдоним: `/fork`. Когда установлена переменная [`CLAUDE_CODE_FORK_SUBAGENT`](/ru/env-vars), `/fork` вместо этого запускает [разветвленного subagent](/ru/sub-agents#fork-the-current-conversation) и больше не является псевдонимом этой команды |48| `/branch [name]` | Создать ветвь текущей беседы в этой точке. Переключает вас в ветвь и сохраняет оригинал, к которому вы можете вернуться с помощью `/resume`. Псевдоним: `/fork`. Когда установлена переменная [`CLAUDE_CODE_FORK_SUBAGENT`](/ru/env-vars), `/fork` вместо этого запускает [разветвленного subagent](/ru/sub-agents#fork-the-current-conversation) и больше не является псевдонимом этой команды |

48| `/btw <question>` | Задать быстрый [побочный вопрос](/ru/interactive-mode#side-questions-with-%2Fbtw) без добавления в беседу |49| `/btw <question>` | Задать быстрый [побочный вопрос](/ru/interactive-mode#side-questions-with-%2Fbtw) без добавления в беседу |

49| `/chrome` | Настроить параметры [Claude в Chrome](/ru/chrome) |50| `/chrome` | Настроить параметры [Claude в Chrome](/ru/chrome) |


103| `/rewind` | Перемотать беседу и/или код к предыдущей точке или суммировать с выбранного сообщения. См. [checkpointing](/ru/checkpointing). Псевдонимы: `/checkpoint`, `/undo` |104| `/rewind` | Перемотать беседу и/или код к предыдущей точке или суммировать с выбранного сообщения. См. [checkpointing](/ru/checkpointing). Псевдонимы: `/checkpoint`, `/undo` |

104| `/sandbox` | Переключить [режим sandbox](/ru/sandboxing). Доступно только на поддерживаемых платформах |105| `/sandbox` | Переключить [режим sandbox](/ru/sandboxing). Доступно только на поддерживаемых платформах |

105| `/schedule [description]` | Создать, обновить, перечислить или запустить [routines](/ru/routines), которые выполняются на управляемой Anthropic облачной инфраструктуре. Claude проведет вас через настройку в диалоговом режиме. Псевдоним: `/routines` |106| `/schedule [description]` | Создать, обновить, перечислить или запустить [routines](/ru/routines), которые выполняются на управляемой Anthropic облачной инфраструктуре. Claude проведет вас через настройку в диалоговом режиме. Псевдоним: `/routines` |

107| `/scroll-speed` | Отрегулировать [скорость прокрутки](/ru/fullscreen#mouse-wheel-scrolling) колеса мыши интерактивно, с линейкой, которую вы можете прокручивать, пока диалог открыт, чтобы предварительно просмотреть изменение. Доступно только в [полноэкранном рендеринге](/ru/fullscreen) и не в терминале JetBrains IDE |

106| `/security-review` | Анализировать ожидающие изменения на текущей ветви на предмет уязвимостей безопасности. Проверяет git diff и определяет риски, такие как инъекции, проблемы с аутентификацией и утечка данных |108| `/security-review` | Анализировать ожидающие изменения на текущей ветви на предмет уязвимостей безопасности. Проверяет git diff и определяет риски, такие как инъекции, проблемы с аутентификацией и утечка данных |

107| `/setup-bedrock` | Настроить аутентификацию [Amazon Bedrock](/ru/amazon-bedrock), регион и привязки моделей через интерактивный мастер. Видна только когда установлено `CLAUDE_CODE_USE_BEDROCK=1`. Пользователи Bedrock в первый раз также могут получить доступ к этому мастеру с экрана входа |109| `/setup-bedrock` | Настроить аутентификацию [Amazon Bedrock](/ru/amazon-bedrock), регион и привязки моделей через интерактивный мастер. Видна только когда установлено `CLAUDE_CODE_USE_BEDROCK=1`. Пользователи Bedrock в первый раз также могут получить доступ к этому мастеру с экрана входа |

108| `/setup-vertex` | Настроить аутентификацию [Google Vertex AI](/ru/google-vertex-ai), проект, регион и привязки моделей через интерактивный мастер. Видна только когда установлено `CLAUDE_CODE_USE_VERTEX=1`. Пользователи Vertex AI в первый раз также могут получить доступ к этому мастеру с экрана входа |110| `/setup-vertex` | Настроить аутентификацию [Google Vertex AI](/ru/google-vertex-ai), проект, регион и привязки моделей через интерактивный мастер. Видна только когда установлено `CLAUDE_CODE_USE_VERTEX=1`. Пользователи Vertex AI в первый раз также могут получить доступ к этому мастеру с экрана входа |

data-usage.md +2 −2

Details

33* **No**: отклоняет без отправки чего-либо33* **No**: отклоняет без отправки чего-либо

34* **Don't ask again**: отклоняет и останавливает появление этого дополнительного вопроса в будущих сеансах34* **Don't ask again**: отклоняет и останавливает появление этого дополнительного вопроса в будущих сеансах

35 35 

36Ничего не загружается, если вы явно не выберете **Yes**. Организации с [zero data retention](/ru/zero-data-retention) или где обратная связь о продукте отключена политикой организации, никогда не видят этот дополнительный вопрос. Ваши ответы на этот опрос, включая стенограммы сеансов, отправленные после подсказки оценки, не влияют на ваши предпочтения использования данных для обучения и не могут использоваться для обучения наших моделей ИИ.36Ничего не загружается, если вы явно не выберете **Yes**. Организации с [zero data retention](/ru/zero-data-retention), или где обратная связь о продукте отключена политикой организации, или где установлена переменная `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, никогда не видят этот дополнительный вопрос. Ваши ответы на этот опрос, включая стенограммы сеансов, отправленные после подсказки оценки, не влияют на ваши предпочтения использования данных для обучения и не могут использоваться для обучения наших моделей ИИ.

37 37 

38Чтобы отключить эти опросы, установите `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1`. Опрос также отключается при установке `DISABLE_TELEMETRY` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Чтобы управлять частотой вместо отключения, установите [`feedbackSurveyRate`](/ru/settings#available-settings) в файле параметров на вероятность между `0` и `1`.38Чтобы отключить эти опросы, установите `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1`. Опрос также отключается при установке `DISABLE_TELEMETRY`, `DO_NOT_TRACK` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Организации, которые блокируют несущественный трафик, но захватывают ответы опроса через свой собственный [OpenTelemetry collector](/ru/monitoring-usage), могут повторно включить опрос, установив `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1`. Опрос затем регистрирует оценки только в настроенный сборщик. Дополнительный вопрос о совместном использовании стенограммы и весь остальной трафик обратной связи, направленный в Anthropic, остаются отключены. Чтобы управлять частотой вместо отключения, установите [`feedbackSurveyRate`](/ru/settings#available-settings) в файле параметров на вероятность между `0` и `1`.

39 39 

40### Хранение данных40### Хранение данных

41 41 

env-vars.md +5 −2

Details

81| `CLAUDE_CODE_DISABLE_CRON` | Установите на `1`, чтобы отключить [запланированные задачи](/ru/scheduled-tasks). Skill `/loop` и инструменты cron становятся недоступными, и все уже запланированные задачи перестают срабатывать, включая задачи, которые уже выполняются в середине сессии |81| `CLAUDE_CODE_DISABLE_CRON` | Установите на `1`, чтобы отключить [запланированные задачи](/ru/scheduled-tasks). Skill `/loop` и инструменты cron становятся недоступными, и все уже запланированные задачи перестают срабатывать, включая задачи, которые уже выполняются в середине сессии |

82| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите на `1`, чтобы удалить заголовки запроса `anthropic-beta` для Anthropic и поля схемы инструментов beta (такие как `defer_loading` и `eager_input_streaming`) из запросов API. Используйте это, когда шлюз прокси отклоняет запросы с ошибками типа "Unexpected value(s) for the `anthropic-beta` header" или "Extra inputs are not permitted". Стандартные поля (`name`, `description`, `input_schema`, `cache_control`) сохраняются. |82| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите на `1`, чтобы удалить заголовки запроса `anthropic-beta` для Anthropic и поля схемы инструментов beta (такие как `defer_loading` и `eager_input_streaming`) из запросов API. Используйте это, когда шлюз прокси отклоняет запросы с ошибками типа "Unexpected value(s) for the `anthropic-beta` header" или "Extra inputs are not permitted". Стандартные поля (`name`, `description`, `input_schema`, `cache_control`) сохраняются. |

83| `CLAUDE_CODE_DISABLE_FAST_MODE` | Установите на `1`, чтобы отключить [быстрый режим](/ru/fast-mode) |83| `CLAUDE_CODE_DISABLE_FAST_MODE` | Установите на `1`, чтобы отключить [быстрый режим](/ru/fast-mode) |

84| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Установите на `1`, чтобы отключить опросы качества сессии "How is Claude doing?". Опросы также отключаются, когда установлена переменная `DISABLE_TELEMETRY` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Чтобы установить частоту выборки вместо полного отключения, используйте параметр [`feedbackSurveyRate`](/ru/settings#available-settings). См. [Опросы качества сессии](/ru/data-usage#session-quality-surveys) |84| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Установите на `1`, чтобы отключить опросы качества сессии "How is Claude doing?". Опросы также отключаются, когда установлена переменная `DISABLE_TELEMETRY`, `DO_NOT_TRACK` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, если только `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` не согласится вернуться. Чтобы установить частоту выборки вместо полного отключения, используйте параметр [`feedbackSurveyRate`](/ru/settings#available-settings). См. [Опросы качества сессии](/ru/data-usage#session-quality-surveys) |

85| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Установите на `1`, чтобы отключить [checkpointing](/ru/checkpointing) файлов. Команда `/rewind` не сможет восстановить изменения кода |85| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Установите на `1`, чтобы отключить [checkpointing](/ru/checkpointing) файлов. Команда `/rewind` не сможет восстановить изменения кода |

86| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Установите на `1`, чтобы удалить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git из системного приглашения Claude. Полезно при использовании собственных skills рабочего процесса git. Имеет приоритет над параметром [`includeGitInstructions`](/ru/settings#available-settings) при установке |86| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Установите на `1`, чтобы удалить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git из системного приглашения Claude. Полезно при использовании собственных skills рабочего процесса git. Имеет приоритет над параметром [`includeGitInstructions`](/ru/settings#available-settings) при установке |

87| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Установите на `1`, чтобы предотвратить автоматическое переназначение Opus 4.0 и 4.1 на текущую версию Opus в Anthropic API. Используйте, когда вы намеренно хотите закрепить старую модель. Переназначение не выполняется на Bedrock, Vertex или Foundry |87| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Установите на `1`, чтобы предотвратить автоматическое переназначение Opus 4.0 и 4.1 на текущую версию Opus в Anthropic API. Используйте, когда вы намеренно хотите закрепить старую модель. Переназначение не выполняется на Bedrock, Vertex или Foundry |


96| `CLAUDE_CODE_EFFORT_LEVEL` | Установите уровень усилий для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto` для использования значения по умолчанию модели. Доступные уровни зависят от модели. Имеет приоритет над `/effort` и параметром `effortLevel`. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) |96| `CLAUDE_CODE_EFFORT_LEVEL` | Установите уровень усилий для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto` для использования значения по умолчанию модели. Доступные уровни зависят от модели. Имеет приоритет над `/effort` и параметром `effortLevel`. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) |

97| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Переопределить доступность [сводки сессии](/ru/interactive-mode#session-recap). Установите на `0`, чтобы принудительно отключить сводки независимо от переключателя `/config`. Установите на `1`, чтобы принудительно включить сводки, когда [`awaySummaryEnabled`](/ru/settings#available-settings) имеет значение `false`. Имеет приоритет над параметром и переключателем `/config` |97| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Переопределить доступность [сводки сессии](/ru/interactive-mode#session-recap). Установите на `0`, чтобы принудительно отключить сводки независимо от переключателя `/config`. Установите на `1`, чтобы принудительно включить сводки, когда [`awaySummaryEnabled`](/ru/settings#available-settings) имеет значение `false`. Имеет приоритет над параметром и переключателем `/config` |

98| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Установите на `1`, чтобы обновлять состояние plugin на границах хода в [неинтерактивном режиме](/ru/headless) после завершения фоновой установки. Отключено по умолчанию, потому что обновление изменяет системное приглашение в середине сессии, что делает недействительным [кэширование приглашений](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) для этого хода |98| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Установите на `1`, чтобы обновлять состояние plugin на границах хода в [неинтерактивном режиме](/ru/headless) после завершения фоновой установки. Отключено по умолчанию, потому что обновление изменяет системное приглашение в середине сессии, что делает недействительным [кэширование приглашений](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) для этого хода |

99| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Установите на `1`, чтобы направить опрос качества сессии "How is Claude doing?" на ваш собственный [сборщик OpenTelemetry](/ru/monitoring-usage), когда трафик, не связанный с Anthropic, заблокирован. Оценки опроса выдаются только как события OTEL вашему настроенному сборщику. Никакие данные опроса не отправляются в Anthropic в этом режиме. Применяется, когда установлена переменная `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` или `DO_NOT_TRACK`, и не имеет эффекта в противном случае. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` и политика обратной связи организации имеют приоритет |

99| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Управляет потоковой передачей входных данных инструмента с тонкой зернистостью из API по мере их создания Claude. С этим отключением большой входной параметр инструмента, такой как длинная запись файла, поступает только после завершения создания Claude, что может выглядеть как зависание. Включено по умолчанию на Anthropic API. На Bedrock и Vertex включено для каждой модели, где развёрнутый контейнер это поддерживает. Установите на `0`, чтобы отказаться. Установите на `1`, чтобы принудительно включить при маршрутизации через прокси через `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. Отключено по умолчанию на Foundry и соединениях [шлюза](/ru/llm-gateway) |100| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Управляет потоковой передачей входных данных инструмента с тонкой зернистостью из API по мере их создания Claude. С этим отключением большой входной параметр инструмента, такой как длинная запись файла, поступает только после завершения создания Claude, что может выглядеть как зависание. Включено по умолчанию на Anthropic API. На Bedrock и Vertex включено для каждой модели, где развёрнутый контейнер это поддерживает. Установите на `0`, чтобы отказаться. Установите на `1`, чтобы принудительно включить при маршрутизации через прокси через `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. Отключено по умолчанию на Foundry и соединениях [шлюза](/ru/llm-gateway) |

100| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Установите на `1`, чтобы заполнить средство выбора `/model` из конечной точки `/v1/models` вашего шлюза, когда `ANTHROPIC_BASE_URL` указывает на совместимый с Anthropic шлюз, такой как LiteLLM, Kong или внутренний прокси. Отключено по умолчанию, потому что шлюзы, поддерживаемые общим ключом API, в противном случае показывали бы каждому пользователю каждую модель, к которой может получить доступ ключ. Обнаруженные модели по-прежнему фильтруются по списку разрешений [`availableModels`](/ru/settings#available-settings) |101| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Установите на `1`, чтобы заполнить средство выбора `/model` из конечной точки `/v1/models` вашего шлюза, когда `ANTHROPIC_BASE_URL` указывает на совместимый с Anthropic шлюз, такой как LiteLLM, Kong или внутренний прокси. Отключено по умолчанию, потому что шлюзы, поддерживаемые общим ключом API, в противном случае показывали бы каждому пользователю каждую модель, к которой может получить доступ ключ. Обнаруженные модели по-прежнему фильтруются по списку разрешений [`availableModels`](/ru/settings#available-settings) |

102| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Установите на `1`, чтобы запустить [быстрый режим](/ru/fast-mode) на Claude Opus 4.7 вместо Opus 4.6. С установленной переменной `/fast` переключается на Opus 4.7; без неё `/fast` продолжает использовать Opus 4.6 |

101| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Установите на `false`, чтобы отключить предложения приглашений (переключатель "Prompt suggestions" в `/config`). Это затемнённые предсказания, которые появляются в вашем вводе приглашения после ответа Claude. См. [Предложения приглашений](/ru/interactive-mode#prompt-suggestions) |103| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Установите на `false`, чтобы отключить предложения приглашений (переключатель "Prompt suggestions" в `/config`). Это затемнённые предсказания, которые появляются в вашем вводе приглашения после ответа Claude. См. [Предложения приглашений](/ru/interactive-mode#prompt-suggestions) |

102| `CLAUDE_CODE_ENABLE_TASKS` | Установите на `1`, чтобы включить систему отслеживания задач в неинтерактивном режиме (флаг `-p`). Задачи включены по умолчанию в интерактивном режиме. См. [Список задач](/ru/interactive-mode#task-list) |104| `CLAUDE_CODE_ENABLE_TASKS` | Установите на `1`, чтобы включить систему отслеживания задач в неинтерактивном режиме (флаг `-p`). Задачи включены по умолчанию в интерактивном режиме. См. [Список задач](/ru/interactive-mode#task-list) |

103| `CLAUDE_CODE_ENABLE_TELEMETRY` | Установите на `1`, чтобы включить сбор данных OpenTelemetry для метрик и логирования. Требуется перед настройкой экспортёров OTel. См. [Мониторинг](/ru/monitoring-usage) |105| `CLAUDE_CODE_ENABLE_TELEMETRY` | Установите на `1`, чтобы включить сбор данных OpenTelemetry для метрик и логирования. Требуется перед настройкой экспортёров OTel. См. [Мониторинг](/ru/monitoring-usage) |


119| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Установите максимальное количество выходных токенов для большинства запросов. Значения по умолчанию и максимальные значения варьируются в зависимости от модели; см. [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Увеличение этого значения уменьшает доступное контекстное окно перед срабатыванием [auto-compaction](/ru/costs#reduce-token-usage). |121| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Установите максимальное количество выходных токенов для большинства запросов. Значения по умолчанию и максимальные значения варьируются в зависимости от модели; см. [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Увеличение этого значения уменьшает доступное контекстное окно перед срабатыванием [auto-compaction](/ru/costs#reduce-token-usage). |

120| `CLAUDE_CODE_MAX_RETRIES` | Переопределить количество попыток повтора неудачных запросов API (по умолчанию: 10) |122| `CLAUDE_CODE_MAX_RETRIES` | Переопределить количество попыток повтора неудачных запросов API (по умолчанию: 10) |

121| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Максимальное количество инструментов только для чтения и subagents, которые могут выполняться параллельно (по умолчанию: 10). Более высокие значения увеличивают параллелизм, но потребляют больше ресурсов |123| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Максимальное количество инструментов только для чтения и subagents, которые могут выполняться параллельно (по умолчанию: 10). Более высокие значения увеличивают параллелизм, но потребляют больше ресурсов |

124| `CLAUDE_CODE_MAX_TURNS` | Ограничить количество агентских ходов, когда явный лимит не передан. Эквивалент передачи [`--max-turns`](/ru/cli-reference#cli-flags), который имеет приоритет, когда оба установлены. Значение, которое не является положительным целым числом, отклоняется при запуске с ошибкой, а не рассматривается как отсутствие лимита |

122| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Установите на `1`, чтобы порождать stdio MCP servers с только безопасной базовой средой плюс настроенная `env` сервера, вместо наследования вашей среды оболочки |125| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Установите на `1`, чтобы порождать stdio MCP servers с только безопасной базовой средой плюс настроенная `env` сервера, вместо наследования вашей среды оболочки |

123| `CLAUDE_CODE_NATIVE_CURSOR` | Установите на `1`, чтобы показать собственный курсор терминала в позиции ввода вместо нарисованного блока. Курсор соблюдает параметры мигания, формы и фокуса терминала |126| `CLAUDE_CODE_NATIVE_CURSOR` | Установите на `1`, чтобы показать собственный курсор терминала в позиции ввода вместо нарисованного блока. Курсор соблюдает параметры мигания, формы и фокуса терминала |

124| `CLAUDE_CODE_NEW_INIT` | Установите на `1`, чтобы `/init` запустил интерактивный поток настройки. Поток спрашивает, какие файлы генерировать, включая CLAUDE.md, skills и hooks, перед исследованием кодовой базы и их написанием. Без этой переменной `/init` автоматически генерирует CLAUDE.md без запроса. |127| `CLAUDE_CODE_NEW_INIT` | Установите на `1`, чтобы `/init` запустил интерактивный поток настройки. Поток спрашивает, какие файлы генерировать, включая CLAUDE.md, skills и hooks, перед исследованием кодовой базы и их написанием. Без этой переменной `/init` автоматически генерирует CLAUDE.md без запроса. |


202| `ENABLE_CLAUDEAI_MCP_SERVERS` | Установите на `false`, чтобы отключить [MCP servers claude.ai](/ru/mcp#use-mcp-servers-from-claude-ai) в Claude Code. Включено по умолчанию для вошедших в систему пользователей |205| `ENABLE_CLAUDEAI_MCP_SERVERS` | Установите на `false`, чтобы отключить [MCP servers claude.ai](/ru/mcp#use-mcp-servers-from-claude-ai) в Claude Code. Включено по умолчанию для вошедших в систему пользователей |

203| `ENABLE_PROMPT_CACHING_1H` | Установите на `1`, чтобы запросить TTL кэша приглашений в 1 час вместо стандартных 5 минут. Предназначено для пользователей ключа API, [Bedrock](/ru/amazon-bedrock), [Vertex](/ru/google-vertex-ai), [Foundry](/ru/microsoft-foundry) и [Claude Platform on AWS](/ru/claude-platform-on-aws). Пользователи подписки получают TTL в 1 час автоматически. Записи кэша в 1 час выставляются по более высокой ставке |206| `ENABLE_PROMPT_CACHING_1H` | Установите на `1`, чтобы запросить TTL кэша приглашений в 1 час вместо стандартных 5 минут. Предназначено для пользователей ключа API, [Bedrock](/ru/amazon-bedrock), [Vertex](/ru/google-vertex-ai), [Foundry](/ru/microsoft-foundry) и [Claude Platform on AWS](/ru/claude-platform-on-aws). Пользователи подписки получают TTL в 1 час автоматически. Записи кэша в 1 час выставляются по более высокой ставке |

204| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Устарело. Используйте `ENABLE_PROMPT_CACHING_1H` вместо этого |207| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Устарело. Используйте `ENABLE_PROMPT_CACHING_1H` вместо этого |

205| `ENABLE_TOOL_SEARCH` | Управляет [поиском инструментов MCP](/ru/mcp#scale-with-mcp-tool-search). Не установлено: все инструменты MCP отложены по умолчанию, но загружены заранее на Vertex AI или когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся хостом первой стороны. Значения: `true` (всегда откладывать, включая прокси и Vertex AI), `auto` (режим порога: загружать заранее, если инструменты подходят в пределах 10% контекста), `auto:N` (пользовательский порог, например, `auto:5` для 5%), `false` (загружать все заранее) |208| `ENABLE_TOOL_SEARCH` | Управляет [поиском инструментов MCP](/ru/mcp#scale-with-mcp-tool-search). Не установлено: все инструменты MCP отложены по умолчанию, но загружены заранее на Vertex AI или когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся хостом первой стороны. Значения: `true` (всегда откладывать и отправлять заголовок beta, запросы не удаются на Vertex AI или прокси, которые не поддерживают `tool_reference`), `auto` (режим порога: загружать заранее, если инструменты подходят в пределах 10% контекста), `auto:N` (пользовательский порог, например, `auto:5` для 5%), `false` (загружать все заранее) |

206| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Установите на любое непустое значение, чтобы запустить резервный вариант на [`--fallback-model`](/ru/cli-reference#cli-flags) после повторных ошибок перегрузки на любой основной модели. По умолчанию только модели Opus запускают резервный вариант |209| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Установите на любое непустое значение, чтобы запустить резервный вариант на [`--fallback-model`](/ru/cli-reference#cli-flags) после повторных ошибок перегрузки на любой основной модели. По умолчанию только модели Opus запускают резервный вариант |

207| `FORCE_AUTOUPDATE_PLUGINS` | Установите на `1`, чтобы принудительно обновлять plugins автоматически, даже если основной автоматический обновитель отключен через `DISABLE_AUTOUPDATER` |210| `FORCE_AUTOUPDATE_PLUGINS` | Установите на `1`, чтобы принудительно обновлять plugins автоматически, даже если основной автоматический обновитель отключен через `DISABLE_AUTOUPDATER` |

208| `FORCE_PROMPT_CACHING_5M` | Установите на `1`, чтобы принудительно использовать TTL кэша приглашений в 5 минут, даже когда в противном случае применялся бы TTL в 1 час. Переопределяет `ENABLE_PROMPT_CACHING_1H` |211| `FORCE_PROMPT_CACHING_5M` | Установите на `1`, чтобы принудительно использовать TTL кэша приглашений в 5 минут, даже когда в противном случае применялся бы TTL в 1 час. Переопределяет `ENABLE_PROMPT_CACHING_1H` |

fast-mode.md +51 −18

Details

4 4 

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

6 6 

7> Получайте более быстрые ответы Opus 4.6 в Claude Code, включив быстрый режим.7> Получайте более быстрые ответы Opus в Claude Code, включив быстрый режим.

8 8 

9<Note>9<Note>

10 Быстрый режим находится в [исследовательском превью](#research-preview). Функция, цены и доступность могут измениться на основе отзывов.10 Быстрый режим находится в [исследовательском превью](#research-preview). Функция, цены и доступность могут измениться на основе отзывов.

11</Note>11</Note>

12 12 

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

14 14 

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

16 16 

17<Note>17<Note>

18 Быстрый режим требует Claude Code v2.1.36 или позже. Проверьте вашу версию с помощью `claude --version`.18 Быстрый режим требует Claude Code v2.1.36 или позже. Проверьте вашу версию с помощью `claude --version`.


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

22 22 

23* Используйте `/fast` для включения быстрого режима в Claude Code CLI. Также доступно через `/fast` в расширении Claude Code VS Code.23* Используйте `/fast` для включения быстрого режима в Claude Code CLI. Также доступно через `/fast` в расширении Claude Code VS Code.

24* Цены на быстрый режим для Opus 4.6 начинаются с \$30/150 MTok. Быстрый режим доступен со скидкой 50% для всех планов до 23:59 PT 16 февраля.24* По умолчанию `/fast` работает на Opus 4.6. Чтобы вместо этого запустить быстрый режим на Opus 4.7, установите переменную окружения [`CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE`](#use-fast-mode-on-opus-4-7).

25* Цены на быстрый режим составляют \$30/150 MTok как на Opus 4.6, так и на Opus 4.7.

25* Доступно всем пользователям Claude Code на планах подписки (Pro/Max/Team/Enterprise) и Claude Console.26* Доступно всем пользователям Claude Code на планах подписки (Pro/Max/Team/Enterprise) и Claude Console.

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

27 28 

28На этой странице рассматривается, как [включить быстрый режим](#toggle-fast-mode), его [компромисс стоимости](#understand-the-cost-tradeoff), [когда его использовать](#decide-when-to-use-fast-mode), [требования](#requirements), [обязательное согласие за сеанс](#require-per-session-opt-in) и [поведение лимитов скорости](#handle-rate-limits).29На этой странице рассматривается, как [включить быстрый режим](#toggle-fast-mode), [использовать быстрый режим на Opus 4.7](#use-fast-mode-on-opus-4-7), его [компромисс стоимости](#understand-the-cost-tradeoff), [когда его использовать](#decide-when-to-use-fast-mode), [требования](#requirements), [обязательное согласие за сеанс](#require-per-session-opt-in) и [поведение лимитов скорости](#handle-rate-limits).

29 30 

30## Включение быстрого режима31## Включение быстрого режима

31 32 


40 41 

41Когда вы включаете быстрый режим:42Когда вы включаете быстрый режим:

42 43 

43* Если вы используете другую модель, Claude Code автоматически переключается на Opus 4.644* Если вы используете другую модель, Claude Code автоматически переключается на модель быстрого режима: Opus 4.6 по умолчанию или Opus 4.7, когда установлена [`CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE`](#use-fast-mode-on-opus-4-7).

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

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

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

47 48 

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

50 

51## Использование быстрого режима на Opus 4.7

52 

53<Note>

54 Быстрый режим на Opus 4.7 требует Claude Code v2.1.139 или позже.

55</Note>

56 

57Быстрый режим для Claude Opus 4.7 находится в исследовательском превью. Он работает с той же скоростью 2,5x и по той же цене, что и быстрый режим для Opus 4.6, без других изменений поведения.

58 

59<Note>

60 14 мая 2026 года Opus 4.7 станет моделью быстрого режима по умолчанию. До этого времени согласитесь, установив `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE=1`.

61</Note>

62 

63Чтобы согласиться, установите `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE=1` перед запуском Claude Code. С установленной переменной `/fast` работает на Opus 4.7. Без нее `/fast` продолжает работать на Opus 4.6.

64 

65Вы можете установить переменную как экспорт оболочки:

66 

67```bash theme={null}

68export CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE=1

69```

70 

71Или в любом [файле настроек](/ru/settings#settings-files) Claude Code, включая пользовательские, проектные и управляемые настройки, чтобы ограничить согласие:

72 

73```json theme={null}

74{

75 "env": {

76 "CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE": "1"

77 }

78}

79```

80 

81Быстрый режим для Opus 4.6 остается доступным наряду с Opus 4.7. Оба используют один и тот же пул лимитов быстрого режима: использование на любой модели берет из одних и тех же лимитов.

49 82 

50## Понимание компромисса стоимости83## Понимание компромисса стоимости

51 84 

52Быстрый режим имеет более высокую цену за токен, чем стандартный Opus 4.6:85Быстрый режим имеет более высокую цену за токен, чем стандартный Opus:

53 86 

54| Режим | Входные данные (MTok) | Выходные данные (MTok) |87| Режим | Входные данные (MTok) | Выходные данные (MTok) |

55| ---------------------------------- | --------------------- | ---------------------- |88| ------------------------- | --------------------- | ---------------------- |

56| Быстрый режим на Opus 4.6 (\<200K) | \$30 | \$150 |89| Быстрый режим на Opus 4.6 | \$30 | \$150 |

57| Быстрый режим на Opus 4.6 (>200K) | \$60 | \$225 |90| Быстрый режим на Opus 4.7 | \$30 | \$150 |

58 91 

59Быстрый режим совместим с расширенным контекстным окном из 1M токенов.92Цены на быстрый режим одинаковы по всему контекстному окну из 1M токенов.

60 93 

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

62 95 


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

97</Note>130</Note>

98 131 

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

100 133 

101<Note>134<Note>

102 Если ваш администратор не включил быстрый режим для вашей организации, команда `/fast` покажет "Fast mode has been disabled by your organization."135 Если ваш администратор не включил быстрый режим для вашей организации, команда `/fast` покажет "Fast mode has been disabled by your organization."


107Администраторы могут включить быстрый режим в:140Администраторы могут включить быстрый режим в:

108 141 

109* **Console** (клиенты API): [Параметры Claude Code](https://platform.claude.com/claude-code/preferences)142* **Console** (клиенты API): [Параметры Claude Code](https://platform.claude.com/claude-code/preferences)

110* **Claude AI** (Teams и Enterprise): [Admin Settings > Claude Code](https://claude.ai/admin-settings/claude-code)143* **Claude AI** (Team и Enterprise): [Admin Settings > Claude Code](https://claude.ai/admin-settings/claude-code)

111 144 

112Другой вариант полного отключения быстрого режима — установить `CLAUDE_CODE_DISABLE_FAST_MODE=1`. См. [Переменные окружения](/ru/env-vars).145Другой вариант полного отключения быстрого режима — установить `CLAUDE_CODE_DISABLE_FAST_MODE=1`. См. [Переменные окружения](/ru/env-vars).

113 146 

114### Обязательное согласие за сеанс147### Обязательное согласие за сеанс

115 148 

116По умолчанию быстрый режим сохраняется между сеансами: если пользователь включает быстрый режим, он остается включенным в будущих сеансах. Администраторы на планах [Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) или [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) могут предотвратить это, установив `fastModePerSessionOptIn` на `true` в [управляемых параметрах](/ru/settings#settings-files) или [параметрах, управляемых сервером](/ru/server-managed-settings). Это приводит к тому, что каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей явного включения его с помощью `/fast`.149По умолчанию быстрый режим сохраняется между сеансами: если пользователь включает быстрый режим, он остается включенным в будущих сеансах. Администраторы на планах [Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) или [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) могут предотвратить это, установив `fastModePerSessionOptIn` на `true` в [управляемых параметрах](/ru/settings#settings-files) или [параметрах, управляемых сервером](/ru/server-managed-settings). Это приводит к тому, что каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей явного включения его с помощью `/fast`.

117 150 

118```json theme={null}151```json theme={null}

119{152{


125 158 

126## Обработка лимитов скорости159## Обработка лимитов скорости

127 160 

128Быстрый режим имеет отдельные лимиты скорости от стандартного Opus 4.6. Когда вы достигаете лимита скорости быстрого режима или исчерпываете кредиты дополнительного использования:161Быстрый режим имеет отдельные лимиты скорости от стандартного Opus. Быстрый режим для Opus 4.6 и Opus 4.7 используют один и тот же пул лимитов скорости: использование на любой модели берет из одних и тех же лимитов. Когда вы достигаете лимита скорости быстрого режима или исчерпываете дополнительное использование:

129 162 

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

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

1323. Вы продолжаете работать с стандартной скоростью и ценами1653. Вы продолжаете работать со стандартной скоростью и ценами

1334. Когда охлаждение истекает, быстрый режим автоматически повторно включается1664. Когда охлаждение истекает, быстрый режим автоматически повторно включается

134 167 

135Чтобы вместо этого отключить быстрый режим вручную, запустите `/fast` снова.168Чтобы вместо этого отключить быстрый режим вручную, запустите `/fast` снова.

fullscreen.md +2 −0

Details

93 93 

94Значение `3` соответствует значению по умолчанию в `vim` и аналогичных приложениях. Параметр принимает значения от 1 до 20.94Значение `3` соответствует значению по умолчанию в `vim` и аналогичных приложениях. Параметр принимает значения от 1 до 20.

95 95 

96Чтобы отрегулировать скорость прокрутки интерактивно, запустите `/scroll-speed`. Диалог показывает линейку, по которой вы можете прокручивать, пока он открыт, чтобы вы могли почувствовать изменение немедленно. Нажимайте `←` и `→` для регулировки, `r` для сброса на автоматически обнаруженное значение по умолчанию, и `Enter` для сохранения. Команда записывает то же значение, которое устанавливает переменная окружения `CLAUDE_CODE_SCROLL_SPEED`, сохраняемое в `~/.claude/settings.json`. Команда недоступна в терминале IDE JetBrains.

97 

96### Прокрутка в терминале IDE JetBrains98### Прокрутка в терминале IDE JetBrains

97 99 

98В терминале IDE JetBrains Claude Code применяет собственную обработку прокрутки и игнорирует `CLAUDE_CODE_SCROLL_SPEED`. Терминал отправляет события прокрутки с гораздо более высокой частотой, чем другие эмуляторы, поэтому множитель, настроенный в другом месте, здесь переходит за пределы.100В терминале IDE JetBrains Claude Code применяет собственную обработку прокрутки и игнорирует `CLAUDE_CODE_SCROLL_SPEED`. Терминал отправляет события прокрутки с гораздо более высокой частотой, чем другие эмуляторы, поэтому множитель, настроенный в другом месте, здесь переходит за пределы.

glossary.md +1 −1

Details

174 174 

175### Output style175### Output style

176 176 

177Конфигурация, которая изменяет системный prompt Claude для изменения поведения ответа, тона или формата. Output styles отключают части системного prompt, специфичные для разработки программного обеспечения, в отличие от [CLAUDE.md](#claude-md), который доставляется как пользовательское сообщение, следующее за системным prompt. Встроенные стили включают Default, Explanatory и Learning.177Конфигурация, которая изменяет системный prompt Claude для изменения поведения ответа, тона или формата. Output styles отключают части системного prompt, специфичные для разработки программного обеспечения, в отличие от [CLAUDE.md](#claude-md), который доставляется как пользовательское сообщение, следующее за системным prompt. Встроенные стили включают Default, Proactive, Explanatory и Learning.

178 178 

179Подробнее: [Output styles](/ru/output-styles)179Подробнее: [Output styles](/ru/output-styles)

180 180 

hooks.md +92 −30

Details

70 {70 {

71 "type": "command",71 "type": "command",

72 "if": "Bash(rm *)",72 "if": "Bash(rm *)",

73 "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/block-rm.sh"73 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh",

74 "args": []

74 }75 }

75 ]76 ]

76 }77 }


307В дополнение к [общим полям](#common-fields), command hooks принимают эти поля:308В дополнение к [общим полям](#common-fields), command hooks принимают эти поля:

308 309 

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

310| :------------ | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |311| :------------ | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

311| `command` | да | Команда оболочки для выполнения |312| `command` | да | Команда оболочки для выполнения. С `args`, исполняемый файл для прямого запуска. См. [Exec form and shell form](#exec-form-and-shell-form) |

313| `args` | нет | Список аргументов. Когда присутствует, `command` разрешается как исполняемый файл и запускается напрямую с `args` как вектор аргументов, без участия оболочки. См. [Exec form and shell form](#exec-form-and-shell-form) |

312| `async` | нет | Если `true`, запускается в фоне без блокировки. См. [Run hooks in the background](#run-hooks-in-the-background) |314| `async` | нет | Если `true`, запускается в фоне без блокировки. См. [Run hooks in the background](#run-hooks-in-the-background) |

313| `asyncRewake` | нет | Если `true`, запускается в фоне и пробуждает Claude при коде выхода 2. Подразумевает `async`. Stderr hook или stdout, если stderr пусто, показывается Claude как системное напоминание, чтобы он мог реагировать на долгоживущий фоновый сбой |315| `asyncRewake` | нет | Если `true`, запускается в фоне и пробуждает Claude при коде выхода 2. Подразумевает `async`. Stderr hook или stdout, если stderr пусто, показывается Claude как системное напоминание, чтобы он мог реагировать на долгоживущий фоновый сбой |

314| `shell` | нет | Оболочка для использования для этого hook. Принимает `"bash"` (по умолчанию) или `"powershell"`. Установка `"powershell"` запускает команду через PowerShell на Windows. Не требует `CLAUDE_CODE_USE_POWERSHELL_TOOL`, так как hooks порождают PowerShell напрямую |316| `shell` | нет | Оболочка для использования для этого hook. Принимает `"bash"` (по умолчанию) или `"powershell"`. Установка `"powershell"` запускает команду через PowerShell на Windows. Не требует `CLAUDE_CODE_USE_POWERSHELL_TOOL`, так как hooks порождают PowerShell напрямую. Игнорируется когда установлен `args` |

317 

318<a id="exec-form-and-shell-form" />

319 

320##### Exec form and shell form

321 

322Command hook запускается в exec form когда установлен `args`, и в shell form когда `args` опущен. Установите `args` всякий раз, когда hook ссылается на [path placeholder](#reference-scripts-by-path), так как каждый элемент передаётся как один аргумент без кавычек. Опустите `args` когда вам нужны функции оболочки, такие как pipes или `&&`, или когда ни одна из этих проблем не применяется.

323 

324**Exec form** запускается когда присутствует `args`. Claude Code разрешает `command` как исполняемый файл на `PATH` и запускает его напрямую с `args` как вектор аргументов. Нет оболочки, поэтому каждый элемент `args` — это ровно один аргумент, написанный как есть, и path placeholders, такие как `${CLAUDE_PLUGIN_ROOT}`, подставляются в `command` и в каждый элемент `args` как простые строки. Специальные символы, такие как апострофы, `$` и обратные кавычки, проходят дословно, потому что нет оболочки для их интерпретации. На любой платформе не происходит никакой токенизации оболочки.

325 

326**Shell form** запускается когда `args` отсутствует. Строка `command` передаётся в оболочку: `sh -c` на macOS и Linux, Git Bash на Windows, или PowerShell когда Git Bash не установлен. Установите поле `shell` для явного выбора. Оболочка токенизирует строку, расширяет переменные и интерпретирует pipes, `&&`, redirects и globs.

327 

328<Note>

329 На Windows, exec form требует, чтобы `command` разрешался в реальный исполняемый файл, такой как `.exe`. Shims `.cmd` и `.bat`, которые npm, npx, eslint и другие инструменты устанавливают в `node_modules/.bin`, не являются исполняемыми файлами и не могут быть запущены без оболочки. Чтобы запустить их в exec form, вызовите базовый скрипт с `node` напрямую, например `"command": "node", "args": ["${CLAUDE_PLUGIN_ROOT}/node_modules/eslint/bin/eslint.js"]`. Паттерн `node` плюс script-path работает на каждой платформе, потому что `node.exe` — это реальный бинарный файл. Чтобы запустить shim `.cmd` или `.bat` по имени, используйте shell form.

330</Note>

331 

332Этот пример запускает Node скрипт, поставляемый с плагином. Exec form передаёт разрешённый путь скрипта как один аргумент без кавычек:

333 

334```json theme={null}

335{

336 "type": "command",

337 "command": "node",

338 "args": ["${CLAUDE_PLUGIN_ROOT}/scripts/format.js", "--fix"]

339}

340```

341 

342Эквивалентная shell form нуждается в кавычках для обработки путей с пробелами или специальными символами:

343 

344```json theme={null}

345{

346 "type": "command",

347 "command": "node \"${CLAUDE_PLUGIN_ROOT}\"/scripts/format.js --fix"

348}

349```

350 

351Обе формы поддерживают одни и те же [path placeholders](#reference-scripts-by-path), и обе экспортируют их как переменные окружения `CLAUDE_PROJECT_DIR`, `CLAUDE_PLUGIN_ROOT` и `CLAUDE_PLUGIN_DATA` на порождённом процессе, поэтому скрипт может читать `process.env.CLAUDE_PLUGIN_ROOT` независимо от того, как он был запущен. Plugin hooks дополнительно подставляют значения `${user_config.*}`; см. [User configuration](/ru/plugins-reference#user-configuration).

352 

353<Note>

354 В exec form, `command` — это только имя исполняемого файла или путь. Если `command` — это голое имя без разделителя пути и содержит пробелы рядом с `args`, Claude Code логирует предупреждение, потому что spawn не удастся: нет исполняемого файла с именем `node script.js`. Переместите дополнительные токены в `args`. Абсолютные пути с пробелами, такие как `C:\Program Files\nodejs\node.exe`, — это один действительный исполняемый файл и не вызывают предупреждение.

355</Note>

315 356 

316#### HTTP hook fields357#### HTTP hook fields

317 358 


397| `prompt` | да | Текст подсказки для отправки модели. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook |438| `prompt` | да | Текст подсказки для отправки модели. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook |

398| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |439| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |

399 440 

400Все совпадающие hooks запускаются параллельно, и идентичные обработчики автоматически дедублируются. Command hooks дедублируются по строке команды, а HTTP hooks дедублируются по URL. Обработчики запускаются в текущем каталоге с окружением Claude Code. Переменная окружения `$CLAUDE_CODE_REMOTE` устанавливается на `"true"` в удалённых веб-окружениях и не устанавливается в локальном CLI.441Все совпадающие hooks запускаются параллельно, и идентичные обработчики автоматически дедублируются. Command hooks дедублируются по строке команды и `args`, а HTTP hooks дедублируются по URL. Обработчики запускаются в текущем каталоге с окружением Claude Code. Переменная окружения `$CLAUDE_CODE_REMOTE` устанавливается на `"true"` в удалённых веб-окружениях и не устанавливается в локальном CLI.

401 442 

402### Reference scripts by path443### Reference scripts by path

403 444 

404Используйте переменные окружения для ссылки на скрипты hook относительно корня проекта или плагина, независимо от рабочего каталога при запуске hook:445Используйте эти заполнители для ссылки на скрипты hook относительно корня проекта или плагина, независимо от рабочего каталога при запуске hook:

405 446 

406* `$CLAUDE_PROJECT_DIR`: корень проекта. Оберните в кавычки для обработки путей с пробелами.447* `${CLAUDE_PROJECT_DIR}`: корень проекта.

407* `${CLAUDE_PLUGIN_ROOT}`: корневой каталог плагина для скриптов, поставляемых с [плагином](/ru/plugins). Изменяется при каждом обновлении плагина.448* `${CLAUDE_PLUGIN_ROOT}`: каталог установки плагина для скриптов, поставляемых с [плагином](/ru/plugins). Изменяется при каждом обновлении плагина.

408* `${CLAUDE_PLUGIN_DATA}`: [каталог постоянных данных](/ru/plugins-reference#persistent-data-directory) плагина для зависимостей и состояния, которые должны пережить обновления плагина.449* `${CLAUDE_PLUGIN_DATA}`: [каталог постоянных данных](/ru/plugins-reference#persistent-data-directory) плагина для зависимостей и состояния, которые должны пережить обновления плагина.

409 450 

451Предпочитайте [exec form](#exec-form-and-shell-form) для любого hook, который ссылается на path placeholder. Exec form передаёт каждый элемент `args` как один аргумент без токенизации оболочки, поэтому пути с пробелами или специальными символами не нуждаются в кавычках. В shell form оберните каждый заполнитель в двойные кавычки.

452 

410<Tabs>453<Tabs>

411 <Tab title="Project scripts">454 <Tab title="Project scripts">

412 Этот пример использует `$CLAUDE_PROJECT_DIR` для запуска проверки стиля из каталога `.claude/hooks/` проекта после любого вызова инструмента `Write` или `Edit`:455 Этот пример использует `${CLAUDE_PROJECT_DIR}` для запуска проверки стиля из каталога `.claude/hooks/` проекта после любого вызова инструмента `Write` или `Edit`:

413 456 

414 ```json theme={null}457 ```json theme={null}

415 {458 {


420 "hooks": [463 "hooks": [

421 {464 {

422 "type": "command",465 "type": "command",

423 "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/check-style.sh"466 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh",

467 "args": []

424 }468 }

425 ]469 ]

426 }470 }


446 {490 {

447 "type": "command",491 "type": "command",

448 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",492 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",

493 "args": [],

449 "timeout": 30494 "timeout": 30

450 }495 }

451 ]496 ]


529При запуске с `--agent` или внутри subagent включаются два дополнительных поля:574При запуске с `--agent` или внутри subagent включаются два дополнительных поля:

530 575 

531| Поле | Описание |576| Поле | Описание |

532| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |577| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

533| `agent_id` | Уникальный идентификатор для subagent. Присутствует только когда hook срабатывает внутри вызова subagent. Используйте это для различения вызовов hook subagent от вызовов основного потока. |578| `agent_id` | Уникальный идентификатор для subagent. Присутствует только когда hook срабатывает внутри вызова subagent. Используйте это для различения вызовов hook subagent от вызовов основного потока. |

534| `agent_type` | Имя агента (например, `"Explore"` или `"security-reviewer"`). Присутствует когда сеанс использует `--agent` или hook срабатывает внутри subagent. Для subagents тип subagent имеет приоритет над значением `--agent` сеанса. |579| `agent_type` | Имя агента (например, `"Explore"` или `"security-reviewer"`). Присутствует когда сеанс использует `--agent` или hook срабатывает внутри subagent. Для subagents тип subagent имеет приоритет над значением `--agent` сеанса. Для [пользовательских subagents](/ru/sub-agents) это поле `name` из frontmatter агента, а не имя файла. |

580 

581Только hooks [`SessionStart`](#sessionstart) получают поле `model`. Нет переменной окружения `$CLAUDE_MODEL`. Процесс hook наследует родительское окружение, поэтому он может читать `$ANTHROPIC_MODEL`, если вы установили её в вашей оболочке, но это значение не меняется при переключении моделей с `/model` во время сеанса.

535 582 

536Например, hook `PreToolUse` для команды Bash получает это на stdin:583Например, hook `PreToolUse` для команды Bash получает это на stdin:

537 584 


1153| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Вопросы для представления, каждый с текстом `question`, коротким `header`, массивом `options` и опциональным флагом `multiSelect` |1200| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Вопросы для представления, каждый с текстом `question`, коротким `header`, массивом `options` и опциональным флагом `multiSelect` |

1154| `answers` | object | `{"Which framework?": "React"}` | Опциональный. Соответствует текст вопроса выбранному ярлыку опции. Ответы с множественным выбором объединяют ярлыки запятыми. Claude не устанавливает это поле; предоставьте его через `updatedInput` для программного ответа |1201| `answers` | object | `{"Which framework?": "React"}` | Опциональный. Соответствует текст вопроса выбранному ярлыку опции. Ответы с множественным выбором объединяют ярлыки запятыми. Claude не устанавливает это поле; предоставьте его через `updatedInput` для программного ответа |

1155 1202 

1203##### ExitPlanMode

1204 

1205Представляет план и просит пользователя одобрить его перед тем, как Claude покинет [plan mode](/ru/permission-modes#analyze-before-you-edit-with-plan-mode). Claude записывает план в файл на диск перед вызовом инструмента, поэтому буквальный `tool_input` от модели содержит только `allowedPrompts`. Claude Code внедряет содержимое плана и путь файла перед передачей входных данных в hooks.

1206 

1207| Поле | Тип | Пример | Описание |

1208| :--------------- | :----- | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1209| `plan` | string | `"## Refactor auth\n1. Extract..."` | Содержимое плана в Markdown. Внедрено из файла плана на диске |

1210| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Путь к файлу плана. Внедрено |

1211| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Опциональный. Разрешения на основе подсказки, которые Claude запрашивает для реализации плана, каждое с именем `tool` и `prompt`, описывающим категорию действия |

1212 

1213В `PostToolUse`, `tool_response` — это объект с полями `plan` и `filePath`, содержащими одобренный план, плюс внутренние флаги статуса. Читайте `tool_response.plan` для содержимого плана, а не перечитывайте файл с диска.

1214 

1156#### PreToolUse decision control1215#### PreToolUse decision control

1157 1216 

1158Hooks `PreToolUse` могут управлять тем, продолжается ли вызов инструмента. В отличие от других hooks, которые используют верхнеуровневое поле `decision`, PreToolUse возвращает своё решение внутри объекта `hookSpecificOutput`. Это даёт ему более богатое управление: четыре результата (разрешить, отклонить, спросить или отложить) плюс возможность изменить входные данные инструмента перед выполнением.1217Hooks `PreToolUse` могут управлять тем, продолжается ли вызов инструмента. В отличие от других hooks, которые используют верхнеуровневое поле `decision`, PreToolUse возвращает своё решение внутри объекта `hookSpecificOutput`. Это даёт ему более богатое управление: четыре результата (разрешить, отклонить, спросить или отложить) плюс возможность изменить входные данные инструмента перед выполнением.


1596 1655 

1597### SubagentStart1656### SubagentStart

1598 1657 

1599Запускается при порождении Claude Code subagent через инструмент Agent. Поддерживает фильтры для фильтрации по имени типа агента (встроенные агенты, такие как `general-purpose`, `Explore`, `Plan`, или пользовательские имена агентов из `.claude/agents/`).1658Запускается при порождении Claude Code subagent через инструмент Agent. Поддерживает фильтры для фильтрации по имени типа агента. Для встроенных агентов это имя агента, такое как `general-purpose`, `Explore` или `Plan`. Для [пользовательских subagents](/ru/sub-agents), это поле `name` из frontmatter агента, а не имя файла.

1600 1659 

1601#### SubagentStart input1660#### SubagentStart input

1602 1661 


1651}1710}

1652```1711```

1653 1712 

1654SubagentStop hooks используют тот же формат управления решением, что и [Stop hooks](#stop-decision-control).1713SubagentStop hooks используют тот же формат управления решением, что и [Stop hooks](#stop-decision-control). Они не поддерживают `additionalContext`. Возврат `decision: "block"` с `reason` держит subagent работающим и доставляет `reason` subagent как его следующую инструкцию. Чтобы внедрить контекст в родительский сеанс после возврата subagent, используйте hook [`PostToolUse`](#posttooluse) на инструменте `Agent` вместо этого.

1655 1714 

1656### TaskCreated1715### TaskCreated

1657 1716 


1905 "hooks": [1964 "hooks": [

1906 {1965 {

1907 "type": "command",1966 "type": "command",

1908 "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/audit-config-change.sh"1967 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/audit-config-change.sh"

1909 }1968 }

1910 ]1969 ]

1911 }1970 }


2394```2453```

2395 2454 

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

2397| :-------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |2456| :---------------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2398| `type` | да | Должно быть `"prompt"` |2457| `type` | да | Должно быть `"prompt"` |

2399| `prompt` | да | Текст подсказки для отправки LLM. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook. Если `$ARGUMENTS` отсутствует, JSON входа добавляется к подсказке |2458| `prompt` | да | Текст подсказки для отправки LLM. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook. Если `$ARGUMENTS` отсутствует, JSON входа добавляется к подсказке |

2400| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |2459| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |

2401| `timeout` | нет | Таймаут в секундах. По умолчанию: 30 |2460| `timeout` | нет | Таймаут в секундах. По умолчанию: 30 |

2461| `continueOnBlock` | нет | Когда подсказка возвращает `ok: false`, передайте причину обратно Claude и продолжите ход вместо остановки. По умолчанию: `false`. Реализуется как `continue: true` на результирующем `decision: "block"`. См. [Response schema](#response-schema) для поведения для каждого события |

2402 2462 

2403### Response schema2463### Response schema

2404 2464 


2412```2472```

2413 2473 

2414| Поле | Описание |2474| Поле | Описание |

2415| :------- | :------------------------------------------------------------------------------------------- |2475| :------- | :-------------------------------------------------------------------------------------------------------- |

2416| `ok` | `true` разрешает действие, `false` предотвращает его. См. поведение для каждого события ниже |2476| `ok` | `true` разрешает действие. `false` производит `decision: "block"`. См. поведение для каждого события ниже |

2417| `reason` | Требуется при `ok` равном `false`. Объяснение для решения |2477| `reason` | Требуется при `ok` равном `false`. Используется как причина блокировки |

2418 2478 

2419Что происходит при `ok: false`, зависит от события:2479Что происходит при `ok: false`, зависит от события:

2420 2480 

2421* `Stop` и `SubagentStop`: причина передаётся обратно Claude как его следующая инструкция и ход продолжается2481* `Stop` и `SubagentStop`: причина передаётся обратно Claude как его следующая инструкция и ход продолжается

2422* `PreToolUse`: вызов инструмента отклоняется и причина возвращается Claude как ошибка инструмента, эквивалентно `permissionDecision: "deny"` из command hook2482* `PreToolUse`: вызов инструмента отклоняется и причина возвращается Claude как ошибка инструмента, эквивалентно `permissionDecision: "deny"` из command hook

2423* `PostToolUse`, `PostToolBatch`, `UserPromptSubmit` и `UserPromptExpansion`: ход заканчивается и причина появляется в чате как строка предупреждения, эквивалентно возврату `"continue": false` из command hook2483* `PostToolUse`: по умолчанию ход заканчивается и причина появляется в чате как строка предупреждения. Установите `continueOnBlock: true` для передачи причины обратно Claude и продолжения хода вместо этого

2484* `PostToolBatch`, `UserPromptSubmit` и `UserPromptExpansion`: ход заканчивается и причина появляется как строка предупреждения. Эти события заканчивают ход на `decision: "block"` независимо от `continue`

2424* `PostToolUseFailure`, `TaskCreated` и `TaskCompleted`: причина возвращается Claude как ошибка инструмента, аналогично `PreToolUse`2485* `PostToolUseFailure`, `TaskCreated` и `TaskCompleted`: причина возвращается Claude как ошибка инструмента, аналогично `PreToolUse`

2425* `PermissionRequest`: `ok: false` не имеет эффекта. Чтобы отклонить одобрение из hook, используйте [command hook](#command-hook-fields), возвращающий `hookSpecificOutput.decision.behavior: "deny"`2486* `PermissionRequest`: `ok: false` не имеет эффекта. Чтобы отклонить одобрение из hook, используйте [command hook](#command-hook-fields), возвращающий `hookSpecificOutput.decision.behavior: "deny"`

2426 2487 


2500}2561}

2501```2562```

2502 2563 

2503## Run hooks in the background2564## Запуск hooks в фоне

2504 2565 

2505По умолчанию hooks блокируют выполнение Claude до их завершения. Для долгоживущих задач, таких как развёртывания, наборы тестов или вызовы внешних API, установите `"async": true` для запуска hook в фоне, пока Claude продолжает работать. Асинхронные hooks не могут блокировать или управлять поведением Claude: поля ответа, такие как `decision`, `permissionDecision` и `continue`, не имеют эффекта, потому что действие, которое они контролировали, уже завершено.2566По умолчанию hooks блокируют выполнение Claude до их завершения. Для долгоживущих задач, таких как развёртывания, наборы тестов или вызовы внешних API, установите `"async": true` для запуска hook в фоне, пока Claude продолжает работать. Асинхронные hooks не могут блокировать или управлять поведением Claude: поля ответа, такие как `decision`, `permissionDecision` и `continue`, не имеют эффекта, потому что действие, которое они контролировали, уже завершено.

2506 2567 

2507### Configure an async hook2568### Настройка асинхронного hook

2508 2569 

2509Добавьте `"async": true` к конфигурации command hook для запуска его в фоне без блокировки Claude. Это поле доступно только на hooks `type: "command"`.2570Добавьте `"async": true` к конфигурации command hook для запуска его в фоне без блокировки Claude. Это поле доступно только на hooks `type: "command"`.

2510 2571 


2532 2593 

2533Поле `timeout` устанавливает максимальное время в секундах для фонового процесса. Если не указано, асинхронные hooks используют тот же 10-минутный таймаут по умолчанию, что и синхронные hooks.2594Поле `timeout` устанавливает максимальное время в секундах для фонового процесса. Если не указано, асинхронные hooks используют тот же 10-минутный таймаут по умолчанию, что и синхронные hooks.

2534 2595 

2535### How async hooks execute2596### Как выполняются асинхронные hooks

2536 2597 

2537Когда срабатывает асинхронный hook, Claude Code запускает процесс hook и немедленно продолжает без ожидания его завершения. Hook получает те же JSON входные данные через stdin, что и синхронный hook.2598Когда срабатывает асинхронный hook, Claude Code запускает процесс hook и немедленно продолжает без ожидания его завершения. Hook получает те же JSON входные данные через stdin, что и синхронный hook.

2538 2599 


2540 2601 

2541Уведомления о завершении асинхронного hook подавляются по умолчанию. Чтобы их увидеть, включите подробный режим с помощью `Ctrl+O` или запустите Claude Code с `--verbose`.2602Уведомления о завершении асинхронного hook подавляются по умолчанию. Чтобы их увидеть, включите подробный режим с помощью `Ctrl+O` или запустите Claude Code с `--verbose`.

2542 2603 

2543### Example: run tests after file changes2604### Пример: запуск тестов после изменения файлов

2544 2605 

2545Этот hook запускает набор тестов в фоне всякий раз, когда Claude пишет файл, затем сообщает результаты обратно Claude при завершении тестов. Сохраните этот скрипт в `.claude/hooks/run-tests-async.sh` в вашем проекте и сделайте его исполняемым с помощью `chmod +x`:2606Этот hook запускает набор тестов в фоне всякий раз, когда Claude пишет файл, затем сообщает результаты обратно Claude при завершении тестов. Сохраните этот скрипт в `.claude/hooks/run-tests-async.sh` в вашем проекте и сделайте его исполняемым с помощью `chmod +x`:

2546 2607 


2579 "hooks": [2640 "hooks": [

2580 {2641 {

2581 "type": "command",2642 "type": "command",

2582 "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/run-tests-async.sh",2643 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/run-tests-async.sh",

2644 "args": [],

2583 "async": true,2645 "async": true,

2584 "timeout": 3002646 "timeout": 300

2585 }2647 }


2590}2652}

2591```2653```

2592 2654 

2593### Limitations2655### Ограничения

2594 2656 

2595Асинхронные hooks имеют несколько ограничений по сравнению с синхронными hooks:2657Асинхронные hooks имеют несколько ограничений по сравнению с синхронными hooks:

2596 2658 


2599* Выход hook доставляется на следующий ход разговора. Если сеанс неактивен, ответ ждёт до следующего взаимодействия пользователя. Исключение: hook `asyncRewake`, который выходит с кодом 2, пробуждает Claude немедленно даже когда сеанс неактивен.2661* Выход hook доставляется на следующий ход разговора. Если сеанс неактивен, ответ ждёт до следующего взаимодействия пользователя. Исключение: hook `asyncRewake`, который выходит с кодом 2, пробуждает Claude немедленно даже когда сеанс неактивен.

2600* Каждое выполнение создаёт отдельный фоновый процесс. Нет дедупликации между несколькими срабатываниями одного и того же асинхронного hook.2662* Каждое выполнение создаёт отдельный фоновый процесс. Нет дедупликации между несколькими срабатываниями одного и того же асинхронного hook.

2601 2663 

2602## Security considerations2664## Соображения безопасности

2603 2665 

2604### Disclaimer2666### Отказ от ответственности

2605 2667 

2606Command hooks запускаются с полными разрешениями системного пользователя.2668Command hooks запускаются с полными разрешениями системного пользователя.

2607 2669 


2609 Command hooks выполняют команды оболочки с вашими полными разрешениями пользователя. Они могут изменять, удалять или получать доступ к любым файлам, к которым может получить доступ ваша учётная запись пользователя. Проверьте и протестируйте все команды hook перед добавлением их в вашу конфигурацию.2671 Command hooks выполняют команды оболочки с вашими полными разрешениями пользователя. Они могут изменять, удалять или получать доступ к любым файлам, к которым может получить доступ ваша учётная запись пользователя. Проверьте и протестируйте все команды hook перед добавлением их в вашу конфигурацию.

2610</Warning>2672</Warning>

2611 2673 

2612### Security best practices2674### Лучшие практики безопасности

2613 2675 

2614Помните об этих практиках при написании hooks:2676Помните об этих практиках при написании hooks:

2615 2677 

2616* **Проверяйте и санитизируйте входные данные**: никогда не доверяйте входным данным вслепую2678* **Проверяйте и санитизируйте входные данные**: никогда не доверяйте входным данным вслепую

2617* **Всегда заключайте переменные оболочки в кавычки**: используйте `"$VAR"` не `$VAR`2679* **Всегда заключайте переменные оболочки в кавычки**: используйте `"$VAR"` не `$VAR`

2618* **Блокируйте обход пути**: проверяйте наличие `..` в путях файлов2680* **Блокируйте обход пути**: проверяйте наличие `..` в путях файлов

2619* **Используйте абсолютные пути**: указывайте полные пути для скриптов, используя `"$CLAUDE_PROJECT_DIR"` для корня проекта2681* **Используйте абсолютные пути**: указывайте полные пути для скриптов. В форме exec используйте `${CLAUDE_PROJECT_DIR}` и путь не требует кавычек. В форме shell оберните его в двойные кавычки

2620* **Пропускайте чувствительные файлы**: избегайте `.env`, `.git/`, ключей и т. д.2682* **Пропускайте чувствительные файлы**: избегайте `.env`, `.git/`, ключей и т. д.

2621 2683 

2622## Windows PowerShell tool2684## Windows PowerShell tool

hooks-guide.md +3 −3

Details

864 864 

865### Ограничения865### Ограничения

866 866 

867* Hooks команд взаимодействуют только через stdout, stderr и коды выхода. Они не могут запускать команды `/` или вызовы инструментов. Текст, возвращённый через `additionalContext`, внедряется как системное напоминание, которое Claude читает как простой текст. HTTP hooks взаимодействуют через тело ответа вместо этого.867* Command hooks взаимодействуют только через stdout, stderr и коды выхода. Они не могут запускать команды `/` или вызовы инструментов. Текст, возвращённый через `additionalContext`, внедряется как системное напоминание, которое Claude читает как простой текст. HTTP hooks взаимодействуют через тело ответа вместо этого.

868* Время ожидания hook составляет 10 минут по умолчанию, настраивается для каждого hook с помощью поля `timeout` (в секундах).868* Время ожидания hook составляет 10 минут по умолчанию, настраивается для каждого hook с помощью поля `timeout` (в секундах).

869* Hooks `PostToolUse` не могут отменить действия, так как инструмент уже выполнен.869* Hooks `PostToolUse` не могут отменить действия, так как инструмент уже выполнен.

870* Hooks `PermissionRequest` не срабатывают в [неинтерактивном режиме](/ru/headless) (`-p`). Используйте hooks `PreToolUse` для автоматизированных решений разрешений.870* Hooks `PermissionRequest` не срабатывают в [неинтерактивном режиме](/ru/headless) (`-p`). Используйте hooks `PreToolUse` для автоматизированных решений разрешений.


895 echo '{"tool_name":"Bash","tool_input":{"command":"ls"}}' | ./my-hook.sh895 echo '{"tool_name":"Bash","tool_input":{"command":"ls"}}' | ./my-hook.sh

896 echo $? # Проверьте код выхода896 echo $? # Проверьте код выхода

897 ```897 ```

898* Если вы видите "command not found", используйте абсолютные пути или `$CLAUDE_PROJECT_DIR` для ссылки на скрипты898* Если вы видите "command not found", используйте абсолютные пути или `${CLAUDE_PROJECT_DIR}` для ссылки на скрипты. Чтобы полностью избежать экранирования оболочки, добавьте `"args": []` для переключения на [exec form](/ru/hooks#exec-form-and-shell-form), который порождает скрипт напрямую без оболочки

899* Если вы видите "jq: command not found", установите `jq` или используйте Python/Node.js для анализа JSON899* Если вы видите "jq: command not found", установите `jq` или используйте Python/Node.js для анализа JSON

900* Если скрипт вообще не запускается, сделайте его исполняемым: `chmod +x ./my-hook.sh`900* Если скрипт вообще не запускается, сделайте его исполняемым: `chmod +x ./my-hook.sh`

901 901 


926 926 

927Claude Code показывает ошибку анализа JSON, даже если ваш скрипт hook выводит действительный JSON.927Claude Code показывает ошибку анализа JSON, даже если ваш скрипт hook выводит действительный JSON.

928 928 

929Когда Claude Code запускает hook, он порождает оболочку, которая источает ваш профиль (`~/.zshrc` или `~/.bashrc`). Если ваш профиль содержит безусловные операторы `echo`, этот вывод добавляется к JSON вашего hook:929Когда Claude Code запускает hook-команду в форме shell (без `args`), он порождает `sh -c` на macOS и Linux или Git Bash на Windows по умолчанию. Эта оболочка неинтерактивна, но Git Bash и некоторые конфигурации (такие как `BASH_ENV`, указывающий на `~/.bashrc`) всё ещё источают ваш профиль. Если этот профиль содержит безусловные операторы `echo`, вывод добавляется к JSON вашего hook:

930 930 

931```text theme={null}931```text theme={null}

932Shell ready on arm64932Shell ready on arm64

Details

9## Сочетания клавиш9## Сочетания клавиш

10 10 

11<Note>11<Note>

12 Сочетания клавиш могут отличаться в зависимости от платформы и терминала. Нажмите `?`, чтобы увидеть доступные сочетания клавиш для вашей среды.12 Сочетания клавиш могут отличаться в зависимости от платформы и терминала. В [полноэкранном режиме](/ru/fullscreen) нажмите `?` в просмотре транскрипции, чтобы увидеть доступные сочетания клавиш там.

13 13 

14 **Пользователи macOS**: сочетания клавиш с клавишей Option/Alt (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`) требуют настройки Option как Meta в вашем терминале:14 **Пользователи macOS**: сочетания клавиш с клавишей Option/Alt (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`) требуют настройки Option как Meta в вашем терминале:

15 15 


36| `Ctrl+T` | Переключить список задач | Показать или скрыть [список задач](#task-list) в области статуса терминала |36| `Ctrl+T` | Переключить список задач | Показать или скрыть [список задач](#task-list) в области статуса терминала |

37| `Left/Right arrows` | Переключение между вкладками диалога | Навигация между вкладками в диалогах разрешений и меню |37| `Left/Right arrows` | Переключение между вкладками диалога | Навигация между вкладками в диалогах разрешений и меню |

38| `Up/Down arrows` или `Ctrl+P`/`Ctrl+N` | Переместить курсор или навигировать по истории команд | В многострочном вводе сначала перемещает курсор внутри запроса. Когда курсор уже находится на верхнем или нижнем краю, повторное нажатие навигирует по истории команд |38| `Up/Down arrows` или `Ctrl+P`/`Ctrl+N` | Переместить курсор или навигировать по истории команд | В многострочном вводе сначала перемещает курсор внутри запроса. Когда курсор уже находится на верхнем или нижнем краю, повторное нажатие навигирует по истории команд |

39| `Esc` | Прервать Claude | Остановите текущий ответ или вызов инструмента в середине хода, чтобы вы могли перенаправить. Claude сохраняет выполненную работу |

39| `Esc` + `Esc` | Перемотка или резюме | Восстановите код и/или разговор до предыдущей точки, или создайте резюме из выбранного сообщения |40| `Esc` + `Esc` | Перемотка или резюме | Восстановите код и/или разговор до предыдущей точки, или создайте резюме из выбранного сообщения |

40| `Shift+Tab` или `Alt+M` (некоторые конфигурации) | Переключить режимы разрешений | Переключайтесь между `default`, `acceptEdits`, `plan` и любыми включенными вами режимами, такими как `auto` или `bypassPermissions`. См. [режимы разрешений](/ru/permission-modes). |41| `Shift+Tab` или `Alt+M` (некоторые конфигурации) | Переключить режимы разрешений | Переключайтесь между `default`, `acceptEdits`, `plan` и любыми включенными вами режимами, такими как `auto` или `bypassPermissions`. См. [режимы разрешений](/ru/permission-modes). |

41| `Option+P` (macOS) или `Alt+P` (Windows/Linux) | Переключить модель | Переключайте модели без очистки вашего запроса |42| `Option+P` (macOS) или `Alt+P` (Windows/Linux) | Переключить модель | Переключайте модели без очистки вашего запроса |


86 87 

87### Просмотр транскрипции88### Просмотр транскрипции

88 89 

89Когда просмотр транскрипции открыт (переключается с помощью `Ctrl+O`), доступны эти сочетания клавиш. `Ctrl+E` можно переназначить через [`transcript:toggleShowAll`](/ru/keybindings).90Когда просмотр транскрипции открыт (переключается с помощью `Ctrl+O`), доступны эти сочетания клавиш. В [полноэкранном режиме](/ru/fullscreen) нажмите `?` для отображения полной справочной панели сочетаний клавиш внутри просмотра. `Ctrl+E` можно переназначить через [`transcript:toggleShowAll`](/ru/keybindings).

90 91 

91| Сочетание клавиш | Описание |92| Сочетание клавиш | Описание |

92| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |93| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

94| `?` | Переключить панель справки по сочетаниям клавиш. Требует [полноэкранного режима](/ru/fullscreen) |

95| `{` / `}` | Перейти к предыдущему или следующему запросу пользователя, как движение абзаца в vim. Требует [полноэкранного режима](/ru/fullscreen) |

93| `Ctrl+E` | Переключить показ всего содержимого |96| `Ctrl+E` | Переключить показ всего содержимого |

94| `[` | Записать полный разговор в собственный буфер прокрутки вашего терминала, чтобы `Cmd+F`, режим копирования tmux и другие встроенные инструменты могли его искать. Требует [полноэкранного отображения](/ru/fullscreen#search-and-review-the-conversation) |97| `[` | Записать полный разговор в собственный буфер прокрутки вашего терминала, чтобы `Cmd+F`, режим копирования tmux и другие встроенные инструменты могли его искать. Требует [полноэкранного режима](/ru/fullscreen#search-and-review-the-conversation) |

95| `v` | Записать разговор во временный файл и открыть его в `$VISUAL` или `$EDITOR`. Требует [полноэкранного отображения](/ru/fullscreen) |98| `v` | Записать разговор во временный файл и открыть его в `$VISUAL` или `$EDITOR`. Требует [полноэкранного режима](/ru/fullscreen) |

96| `q`, `Ctrl+C`, `Esc` | Выход из просмотра транскрипции. Все три можно переназначить через [`transcript:exit`](/ru/keybindings) |99| `q`, `Ctrl+C`, `Esc` | Выход из просмотра транскрипции. Все три можно переназначить через [`transcript:exit`](/ru/keybindings) |

97 100 

98### Голосовой ввод101### Голосовой ввод

llm-gateway.md +5 −1

Details

42Claude Code включает следующие заголовки в каждый запрос API:42Claude Code включает следующие заголовки в каждый запрос API:

43 43 

44| Заголовок | Описание |44| Заголовок | Описание |

45| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |45| :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

46| `X-Claude-Code-Session-Id` | Уникальный идентификатор текущего сеанса Claude Code. Прокси могут использовать это для агрегирования всех запросов API из одного сеанса без анализа тела запроса. |46| `X-Claude-Code-Session-Id` | Уникальный идентификатор текущего сеанса Claude Code. Прокси могут использовать это для агрегирования всех запросов API из одного сеанса без анализа тела запроса. |

47| `X-Claude-Code-Agent-Id` | Идентификатор подагента или товарища по команде, который выполнил запрос. Ваш прокси может использовать это для отнесения затрат на API отдельным параллельным подагентам в рамках сеанса без анализа тела запроса. Присутствует только для запросов, выполненных внутрипроцессным подагентом или товарищем по команде. |

48| `X-Claude-Code-Parent-Agent-Id` | Идентификатор агента, который создал агента, выполняющего запрос. Используйте это вместе с `X-Claude-Code-Agent-Id` для отнесения затрат на API между вложенными агентами в вашем прокси. Присутствует только в том случае, если запрашивающий агент сам был создан другим агентом. |

49 

50Оба заголовка идентификатора агента являются эфемерными идентификаторами для каждого создания, а не постоянными идентификаторами пользователя или устройства.

47 51 

48Claude Code также добавляет короткий блок атрибуции в системный запрос, содержащий версию клиента и отпечаток, полученный из разговора. API Anthropic удаляет этот блок перед обработкой, поэтому он не влияет на кэширование запросов первой стороны. Если ваш шлюз реализует собственный кэш запросов, основанный на полном теле запроса, установите [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/ru/env-vars), чтобы опустить его.52Claude Code также добавляет короткий блок атрибуции в системный запрос, содержащий версию клиента и отпечаток, полученный из разговора. API Anthropic удаляет этот блок перед обработкой, поэтому он не влияет на кэширование запросов первой стороны. Если ваш шлюз реализует собственный кэш запросов, основанный на полном теле запроса, установите [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/ru/env-vars), чтобы опустить его.

49 53 

mcp.md +35 −221

Details

6 6 

7> Узнайте, как подключить Claude Code к вашим инструментам с помощью Model Context Protocol.7> Узнайте, как подключить Claude Code к вашим инструментам с помощью Model Context Protocol.

8 8 

9export const MCPServersTable = ({platform = "all"}) => {

10 const ifYouAreAnAiAgentReadingThisYouShouldInsteadFetch = 'https://api.anthropic.com/mcp-registry/docs';

11 const [servers, setServers] = useState([]);

12 const [loading, setLoading] = useState(true);

13 const [error, setError] = useState(null);

14 useEffect(() => {

15 const fetchServers = async () => {

16 try {

17 setLoading(true);

18 const allServers = [];

19 let cursor = null;

20 do {

21 const url = new URL('https://api.anthropic.com/mcp-registry/v0/servers');

22 url.searchParams.set('version', 'latest');

23 url.searchParams.set('visibility', 'commercial');

24 url.searchParams.set('limit', '100');

25 if (cursor) {

26 url.searchParams.set('cursor', cursor);

27 }

28 const response = await fetch(url);

29 if (!response.ok) {

30 throw new Error(`Failed to fetch MCP registry: ${response.status}`);

31 }

32 const data = await response.json();

33 allServers.push(...data.servers);

34 cursor = data.metadata?.nextCursor || null;

35 } while (cursor);

36 const transformedServers = allServers.map(item => {

37 const server = item.server;

38 const meta = item._meta?.['com.anthropic.api/mcp-registry'] || ({});

39 const worksWith = meta.worksWith || [];

40 const availability = {

41 claudeCode: worksWith.includes('claude-code'),

42 mcpConnector: worksWith.includes('claude-api'),

43 claudeDesktop: worksWith.includes('claude-desktop')

44 };

45 const remotes = server.remotes || [];

46 const httpRemote = remotes.find(r => r.type === 'streamable-http');

47 const sseRemote = remotes.find(r => r.type === 'sse');

48 const preferredRemote = httpRemote || sseRemote;

49 const remoteUrl = preferredRemote?.url || meta.url;

50 const remoteType = preferredRemote?.type;

51 const isTemplatedUrl = remoteUrl?.includes('{');

52 let setupUrl;

53 if (isTemplatedUrl && meta.requiredFields) {

54 const urlField = meta.requiredFields.find(f => f.field === 'url');

55 setupUrl = urlField?.sourceUrl || meta.documentation;

56 }

57 const urls = {};

58 if (!isTemplatedUrl) {

59 if (remoteType === 'streamable-http') {

60 urls.http = remoteUrl;

61 } else if (remoteType === 'sse') {

62 urls.sse = remoteUrl;

63 }

64 }

65 let envVars = [];

66 if (server.packages && server.packages.length > 0) {

67 const npmPackage = server.packages.find(p => p.registryType === 'npm');

68 if (npmPackage) {

69 urls.stdio = `npx -y ${npmPackage.identifier}`;

70 if (npmPackage.environmentVariables) {

71 envVars = npmPackage.environmentVariables;

72 }

73 }

74 }

75 return {

76 name: meta.displayName || server.title || server.name,

77 description: meta.oneLiner || server.description,

78 documentation: meta.documentation,

79 urls: urls,

80 envVars: envVars,

81 availability: availability,

82 customCommands: meta.claudeCodeCopyText ? {

83 claudeCode: meta.claudeCodeCopyText

84 } : undefined,

85 setupUrl: setupUrl

86 };

87 });

88 setServers(transformedServers);

89 setError(null);

90 } catch (err) {

91 setError(err.message);

92 console.error('Error fetching MCP registry:', err);

93 } finally {

94 setLoading(false);

95 }

96 };

97 fetchServers();

98 }, []);

99 const generateClaudeCodeCommand = server => {

100 if (server.customCommands && server.customCommands.claudeCode) {

101 return server.customCommands.claudeCode.replace('--transport streamable-http', '--transport http');

102 }

103 const serverSlug = server.name.toLowerCase().replace(/[^a-z0-9]/g, '-');

104 if (server.urls.http) {

105 return `claude mcp add ${serverSlug} --transport http ${server.urls.http}`;

106 }

107 if (server.urls.sse) {

108 return `claude mcp add ${serverSlug} --transport sse ${server.urls.sse}`;

109 }

110 if (server.urls.stdio) {

111 const envFlags = server.envVars && server.envVars.length > 0 ? server.envVars.map(v => `--env ${v.name}=YOUR_${v.name}`).join(' ') : '';

112 const baseCommand = `claude mcp add ${serverSlug} --transport stdio`;

113 return envFlags ? `${baseCommand} ${envFlags} -- ${server.urls.stdio}` : `${baseCommand} -- ${server.urls.stdio}`;

114 }

115 return null;

116 };

117 if (loading) {

118 return <div>Loading MCP servers...</div>;

119 }

120 if (error) {

121 return <div>Error loading MCP servers: {error}</div>;

122 }

123 const filteredServers = servers.filter(server => {

124 if (platform === "claudeCode") {

125 return server.availability.claudeCode;

126 } else if (platform === "mcpConnector") {

127 return server.availability.mcpConnector;

128 } else if (platform === "claudeDesktop") {

129 return server.availability.claudeDesktop;

130 } else if (platform === "all") {

131 return true;

132 } else {

133 throw new Error(`Unknown platform: ${platform}`);

134 }

135 });

136 return <>

137 <style jsx>{`

138 .cards-container {

139 display: grid;

140 gap: 1rem;

141 margin-bottom: 2rem;

142 }

143 .server-card {

144 border: 1px solid var(--border-color, #e5e7eb);

145 border-radius: 6px;

146 padding: 1rem;

147 }

148 .command-row {

149 display: flex;

150 align-items: center;

151 gap: 0.25rem;

152 }

153 .command-row code {

154 font-size: 0.75rem;

155 overflow-x: auto;

156 }

157 `}</style>

158 

159 <div className="cards-container">

160 {filteredServers.map(server => {

161 const claudeCodeCommand = generateClaudeCodeCommand(server);

162 const mcpUrl = server.urls.http || server.urls.sse;

163 const commandToShow = platform === "claudeCode" ? claudeCodeCommand : mcpUrl;

164 return <div key={server.name} className="server-card">

165 <div>

166 {server.documentation ? <a href={server.documentation}>

167 <strong>{server.name}</strong>

168 </a> : <strong>{server.name}</strong>}

169 </div>

170 

171 <p style={{

172 margin: '0.5rem 0',

173 fontSize: '0.9rem'

174 }}>

175 {server.description}

176 </p>

177 

178 {server.setupUrl && <p style={{

179 margin: '0.25rem 0',

180 fontSize: '0.8rem',

181 fontStyle: 'italic',

182 opacity: 0.7

183 }}>

184 Requires user-specific URL.{' '}

185 <a href={server.setupUrl} style={{

186 textDecoration: 'underline'

187 }}>

188 Get your URL here

189 </a>.

190 </p>}

191 

192 {commandToShow && !server.setupUrl && <>

193 <p style={{

194 display: 'block',

195 fontSize: '0.75rem',

196 fontWeight: 500,

197 minWidth: 'fit-content',

198 marginTop: '0.5rem',

199 marginBottom: 0

200 }}>

201 {platform === "claudeCode" ? "Command" : "URL"}

202 </p>

203 <div className="command-row">

204 <code>

205 {commandToShow}

206 </code>

207 </div>

208 </>}

209 </div>;

210 })}

211 </div>

212 </>;

213};

214 

215Claude Code может подключаться к сотням внешних инструментов и источников данных через [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction), открытый стандарт для интеграции AI с инструментами. MCP servers предоставляют Claude Code доступ к вашим инструментам, базам данных и API.9Claude Code может подключаться к сотням внешних инструментов и источников данных через [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction), открытый стандарт для интеграции AI с инструментами. MCP servers предоставляют Claude Code доступ к вашим инструментам, базам данных и API.

216 10 

217Подключите server, когда вы обнаружите, что копируете данные в чат из другого инструмента, например из трекера проблем или панели мониторинга. После подключения Claude может читать и действовать на этой системе напрямую вместо работы с тем, что вы вставляете.11Подключите server, когда вы обнаружите, что копируете данные в чат из другого инструмента, например из трекера проблем или панели мониторинга. После подключения Claude может читать и действовать на этой системе напрямую вместо работы с тем, что вы вставляете.


227* **Автоматизировать рабочие процессы**: "Создайте черновики Gmail, приглашающие этих 10 пользователей на сеанс обратной связи о новой функции."21* **Автоматизировать рабочие процессы**: "Создайте черновики Gmail, приглашающие этих 10 пользователей на сеанс обратной связи о новой функции."

228* **Реагировать на внешние события**: MCP server также может действовать как [канал](/ru/channels), который отправляет сообщения в вашу сессию, поэтому Claude реагирует на сообщения Telegram, чаты Discord или события webhook, пока вас нет.22* **Реагировать на внешние события**: MCP server также может действовать как [канал](/ru/channels), который отправляет сообщения в вашу сессию, поэтому Claude реагирует на сообщения Telegram, чаты Discord или события webhook, пока вас нет.

229 23 

230## Популярные MCP servers24## Поиск и создание MCP servers

231 25 

232Вот некоторые часто используемые MCP servers, которые вы можете подключить к Claude Code:26Просмотрите проверенные коннекторы в [Anthropic Directory](https://claude.ai/directory). Коннекторы Directory используют ту же инфраструктуру MCP, что и Claude Code, поэтому вы можете добавить любой удаленный server из списка с помощью `claude mcp add`.

233 27 

234<Warning>28<Warning>

235 Используйте сторонние MCP servers на свой риск - Anthropic не проверил29 Убедитесь, что вы доверяете каждому server перед подключением. Servers, которые получают внешний контент, могут подвергнуть вас [риску prompt injection](/ru/security#protect-against-prompt-injection).

236 корректность или безопасность всех этих servers.

237 Убедитесь, что вы доверяете MCP servers, которые устанавливаете.

238 Будьте особенно осторожны при использовании MCP servers, которые могут получать ненадежный

239 контент, так как это может подвергнуть вас риску prompt injection.

240</Warning>30</Warning>

241 31 

242<MCPServersTable platform="claudeCode" />32Чтобы создать свой собственный server, см. [руководство по MCP server](https://modelcontextprotocol.io/docs/develop/build-server) для основ протокола и [документацию по созданию Claude connector](https://claude.com/docs/connectors/building) для аутентификации, тестирования и отправки в Directory.

243 33 

244<Note>34Вы также можете попросить Claude создать server для вас с помощью официального плагина [`mcp-server-dev`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/mcp-server-dev).

245 **Нужна конкретная интеграция?** [Найдите сотни других MCP servers на GitHub](https://github.com/modelcontextprotocol/servers), или создайте свой собственный, используя [MCP SDK](https://modelcontextprotocol.io/quickstart/server).35 

246</Note>36<Steps>

37 <Step title="Установите плагин">

38 В сеансе Claude Code выполните:

39 

40 ```

41 /plugin install mcp-server-dev@claude-plugins-official

42 ```

43 

44 Затем выполните `/reload-plugins` для активации в текущем сеансе.

45 </Step>

46 

47 <Step title="Запустите skill сборки">

48 ```

49 /mcp-server-dev:build-mcp-server

50 ```

51 

52 Claude спросит о вашем варианте использования и создаст удаленный HTTP или локальный stdio server.

53 </Step>

54</Steps>

247 55 

248## Установка MCP servers56## Установка MCP servers

249 57 


289 97 

290Stdio servers работают как локальные процессы на вашей машине. Они идеальны для инструментов, которым требуется прямой доступ к системе или пользовательские скрипты.98Stdio servers работают как локальные процессы на вашей машине. Они идеальны для инструментов, которым требуется прямой доступ к системе или пользовательские скрипты.

291 99 

100Claude Code устанавливает `CLAUDE_PROJECT_DIR` в окружение порожденного server в корень проекта, поэтому ваш server может разрешать пути относительно проекта без зависимости от рабочей директории. Это та же директория, которую hooks получают в своей переменной `CLAUDE_PROJECT_DIR`. Прочитайте ее изнутри вашего процесса server, например `process.env.CLAUDE_PROJECT_DIR` в Node или `os.environ["CLAUDE_PROJECT_DIR"]` в Python. Ваш server также может вызвать MCP запрос `roots/list`, который возвращает директорию, из которой был запущен Claude Code.

101 

102Эта переменная устанавливается в окружение server, а не в собственное окружение Claude Code, поэтому ссылка на нее через расширение `${VAR}` в проекте или пользовательском `.mcp.json` `command` или `args` требует значения по умолчанию, такого как `${CLAUDE_PROJECT_DIR:-.}`. Конфигурации MCP, предоставляемые плагинами, подставляют `${CLAUDE_PROJECT_DIR}` напрямую и не требуют значения по умолчанию.

103 

292```bash theme={null}104```bash theme={null}

293# Базовый синтаксис105# Базовый синтаксис

294claude mcp add [options] <name> -- <command> [args...]106claude mcp add [options] <name> -- <command> [args...]


406**Функции plugin MCP**:218**Функции plugin MCP**:

407 219 

408* **Автоматический жизненный цикл**: При запуске сеанса servers для включенных плагинов подключаются автоматически. Если вы включите или отключите плагин во время сеанса, запустите `/reload-plugins` для подключения или отключения его MCP servers220* **Автоматический жизненный цикл**: При запуске сеанса servers для включенных плагинов подключаются автоматически. Если вы включите или отключите плагин во время сеанса, запустите `/reload-plugins` для подключения или отключения его MCP servers

409* **Переменные окружения**: используйте `${CLAUDE_PLUGIN_ROOT}` для файлов плагина и `${CLAUDE_PLUGIN_DATA}` для [постоянного состояния](/ru/plugins-reference#persistent-data-directory), которое сохраняется при обновлении плагина221* **Переменные окружения**: используйте `${CLAUDE_PLUGIN_ROOT}` для файлов плагина, `${CLAUDE_PLUGIN_DATA}` для [постоянного состояния](/ru/plugins-reference#persistent-data-directory), которое сохраняется при обновлении плагина, и `${CLAUDE_PROJECT_DIR}` для стабильного корня проекта

410* **Доступ к переменным окружения пользователя**: доступ к тем же переменным окружения, что и вручную настроенные servers222* **Доступ к переменным окружения пользователя**: доступ к тем же переменным окружения, что и вручную настроенные servers

411* **Несколько типов транспорта**: поддержка stdio, SSE и HTTP транспортов (поддержка транспорта может варьироваться в зависимости от server)223* **Несколько типов транспорта**: поддержка stdio, SSE и HTTP транспортов (поддержка транспорта может варьироваться в зависимости от server)

412 224 


646 458 

647Многие облачные MCP servers требуют аутентификации. Claude Code поддерживает OAuth 2.0 для безопасных соединений.459Многие облачные MCP servers требуют аутентификации. Claude Code поддерживает OAuth 2.0 для безопасных соединений.

648 460 

461Claude Code отмечает удаленный server как требующий аутентификации, когда server отвечает с `401 Unauthorized` и заголовком `WWW-Authenticate`, указывающим на его сервер авторизации. Любой пользовательский server, который возвращает этот ответ, получает тот же поток аутентификации `/mcp`, как и любой другой удаленный server.

462 

649<Steps>463<Steps>

650 <Step title="Добавьте server, который требует аутентификации">464 <Step title="Добавьте server, который требует аутентификации">

651 Например:465 Например:


1139 953 

1140### Настройте tool search954### Настройте tool search

1141 955 

1142Tool search включен по умолчанию: инструменты MCP откладываются и обнаруживаются по требованию. Он отключен по умолчанию на Vertex AI, который не принимает заголовок бета-версии tool search, и когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся первой стороной, так как большинство прокси не пересылают блоки `tool_reference`. Установите `ENABLE_TOOL_SEARCH` явно, чтобы согласиться. Эта функция требует моделей, которые поддерживают блоки `tool_reference`: Sonnet 4 и позже, или Opus 4 и позже. Модели Haiku не поддерживают tool search.956Tool search включен по умолчанию: инструменты MCP откладываются и обнаруживаются по требованию. Он отключен по умолчанию на Vertex AI, который не принимает заголовок бета-версии tool search, и когда `ANTHROPIC_BASE_URL` указывает на хост, не являющийся первой стороной, так как большинство прокси не пересылают блоки `tool_reference`. Если ваш прокси пересылает блоки `tool_reference`, установите `ENABLE_TOOL_SEARCH` явно, чтобы переопределить резервный вариант. Эта функция требует моделей, которые поддерживают блоки `tool_reference`: Sonnet 4 и позже, или Opus 4 и позже. Модели Haiku не поддерживают tool search.

1143 957 

1144Управляйте поведением tool search с помощью переменной окружения `ENABLE_TOOL_SEARCH`:958Управляйте поведением tool search с помощью переменной окружения `ENABLE_TOOL_SEARCH`:

1145 959 

1146| Значение | Поведение |960| Значение | Поведение |

1147| :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |961| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1148| (не установлено) | Все инструменты MCP откладываются и загружаются по требованию. Возвращается к загрузке заранее на Vertex AI или когда `ANTHROPIC_BASE_URL` является хостом, не являющимся первой стороной |962| (не установлено) | Все инструменты MCP откладываются и загружаются по требованию. Возвращается к загрузке заранее на Vertex AI или когда `ANTHROPIC_BASE_URL` является хостом, не являющимся первой стороной |

1149| `true` | Все инструменты MCP откладываются, включая на Vertex AI и для `ANTHROPIC_BASE_URL`, не являющегося первой стороной |963| `true` | Все инструменты MCP откладываются. Claude Code отправляет заголовок бета-версии даже на Vertex AI и через прокси. Запросы завершаются ошибкой, если backend не поддерживает блоки `tool_reference` |

1150| `auto` | Режим порога: инструменты загружаются заранее, если они подходят в пределах 10% окна контекста, откладываются иначе |964| `auto` | Режим порога: инструменты загружаются заранее, если они подходят в пределах 10% окна контекста, откладываются иначе |

1151| `auto:<N>` | Режим порога с пользовательским процентом, где `<N>` — это 0-100 (например, `auto:5` для 5%) |965| `auto:<N>` | Режим порога с пользовательским процентом, где `<N>` — это 0-100 (например, `auto:5` для 5%) |

1152| `false` | Все инструменты MCP загружаются заранее, без откладывания |966| `false` | Все инструменты MCP загружаются заранее, без откладывания |

memory.md +17 −1

Details

26| :------------------- | :----------------------------------------------------------- | :---------------------------------------------------------------- |26| :------------------- | :----------------------------------------------------------- | :---------------------------------------------------------------- |

27| **Кто это пишет** | Вы | Claude |27| **Кто это пишет** | Вы | Claude |

28| **Что это содержит** | Инструкции и правила | Знания и закономерности |28| **Что это содержит** | Инструкции и правила | Знания и закономерности |

29| **Область действия** | Проект, пользователь или организация | Per working tree |29| **Область действия** | Проект, пользователь или организация | Per repository, shared across worktrees |

30| **Загружается в** | Каждый сеанс | Каждый сеанс (первые 200 строк или 25KB) |30| **Загружается в** | Каждый сеанс | Каждый сеанс (первые 200 строк или 25KB) |

31| **Используется для** | Стандарты кодирования, рабочие процессы, архитектура проекта | Команды сборки, инсайты отладки, предпочтения Claude обнаруживает |31| **Используется для** | Стандарты кодирования, рабочие процессы, архитектура проекта | Команды сборки, инсайты отладки, предпочтения Claude обнаруживает |

32 32 


272 </Step>272 </Step>

273</Steps>273</Steps>

274 274 

275Ключ `claudeMd` позволяет вам поместить содержимое управляемого CLAUDE.md непосредственно внутри `managed-settings.json` вместо развёртывания отдельного файла.

276 

277**Область действия**: каждый сеанс Claude Code на машине, в каждом репозитории. Для руководства, специфичного для репозитория, вместо этого зафиксируйте CLAUDE.md проекта.

278 

279**Приоритет**: такой же, как у файла управляемого CLAUDE.md. Загружается перед пользовательским и проектным CLAUDE.md.

280 

281**Где это соблюдается**: только управляемые и политические настройки. Установка `claudeMd` в пользовательских, проектных или локальных настройках не имеет эффекта.

282 

283Пример ниже добавляет поведенческие инструкции непосредственно в файл управляемых настроек:

284 

285```json theme={null}

286{

287 "claudeMd": "Always run `make lint` before committing.\nNever push directly to main."

288}

289```

290 

275Управляемый CLAUDE.md и [управляемые настройки](/ru/settings#settings-files) служат разным целям. Используйте настройки для технического принуждения и CLAUDE.md для поведенческого руководства:291Управляемый CLAUDE.md и [управляемые настройки](/ru/settings#settings-files) служат разным целям. Используйте настройки для технического принуждения и CLAUDE.md для поведенческого руководства:

276 292 

277| Проблема | Настроить в |293| Проблема | Настроить в |

Details

166**`claude_code.llm_request`**166**`claude_code.llm_request`**

167 167 

168| Атрибут | Описание | Управляется |168| Атрибут | Описание | Управляется |

169| -------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ----------- |169| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ----------- |

170| `model` | Идентификатор модели | |170| `model` | Идентификатор модели | |

171| `gen_ai.system` | Всегда `anthropic`. Семантическое соглашение OpenTelemetry GenAI | |171| `gen_ai.system` | Всегда `anthropic`. Семантическое соглашение OpenTelemetry GenAI | |

172| `gen_ai.request.model` | То же значение, что и `model`. Семантическое соглашение OpenTelemetry GenAI | |172| `gen_ai.request.model` | То же значение, что и `model`. Семантическое соглашение OpenTelemetry GenAI | |

173| `query_source` | Подсистема, которая выдала запрос, такая как `repl_main_thread` или имя подагента | |173| `query_source` | Подсистема, которая выдала запрос, такая как `repl_main_thread` или имя подагента | |

174| `agent_id` | Идентификатор подагента или товарища, который выдал запрос. Отсутствует в основном сеансе | |

175| `parent_agent_id` | Идентификатор агента, который породил этот. Отсутствует для основного сеанса и для агентов, порожденных непосредственно из него | |

174| `speed` | `fast` или `normal` | |176| `speed` | `fast` или `normal` | |

175| `llm_request.context` | `interaction`, `tool` или `standalone` в зависимости от родительского span | |177| `llm_request.context` | `interaction`, `tool` или `standalone` в зависимости от родительского span | |

176| `duration_ms` | Длительность в реальном времени, включая повторные попытки | |178| `duration_ms` | Длительность в реальном времени, включая повторные попытки | |


446* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`448* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`

447* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае449* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае

448* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда модель не поддерживает усилия.450* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда модель не поддерживает усилия.

451* `agent.name`: Тип подагента, который выдал запрос. Встроенные имена агентов и агенты из официальных плагинов маркетплейса появляются как есть. Другие определяемые пользователем имена агентов заменяются на `"custom"`. Отсутствует, когда запрос не был выдан именованным типом подагента.

452* `skill.name`: Навык, активный для запроса, установленный инструментом Skill, командой `/` или унаследованный порожденным подагентом. Встроенные, поставляемые, определяемые пользователем и навыки плагинов официального маркетплейса появляются как есть. Навыки плагинов третьих сторон заменяются на `"third-party"`. Отсутствует, когда нет активного навыка.

453* `plugin.name`: Владельцы плагина, когда активный навык или подагент предоставляются плагином. Имена плагинов официального маркетплейса появляются как есть. Имена плагинов третьих сторон заменяются на `"third-party"`. Отсутствует, когда ни навык, ни подагент не имеют владельца плагина.

454* `marketplace.name`: Маркетплейс, из которого был установлен владельцы плагин. Выдается только для плагинов официального маркетплейса. Отсутствует в противном случае.

449 455 

450#### Счетчик токенов456#### Счетчик токенов

451 457 


459* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`465* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`

460* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае466* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае

461* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу. Подробности см. в разделе [Счетчик затрат](#cost-counter).467* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу. Подробности см. в разделе [Счетчик затрат](#cost-counter).

468* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`: Атрибуция навыка, плагина и агента для запроса. Определения и поведение редактирования см. в разделе [Счетчик затрат](#cost-counter).

462 469 

463#### Счетчик решений инструмента редактирования кода470#### Счетчик решений инструмента редактирования кода

464 471 


647* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.654* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.

648* `decision`: Либо `"accept"`, либо `"reject"`655* `decision`: Либо `"accept"`, либо `"reject"`

649* `source`: Источник решения:656* `source`: Источник решения:

650 * `"config"`: Решено автоматически без запроса, на основе параметров проекта, корпоративной управляемой политики, флагов `--allowedTools` или `--disallowedTools`, активного режима разрешений или потому что инструмент по своей природе безопасен.657 * `"config"`: Решено автоматически без запроса, на основе параметров проекта, корпоративной управляемой политики, флагов `--allowedTools` или `--disallowedTools`, активного режима разрешений или потому что инструмент по своей природе безопасен. Событие не указывает, какой из этих источников совпал.

651 * `"hook"`: Hook `PreToolUse` или `PermissionRequest` вернул решение.658 * `"hook"`: Hook `PreToolUse` или `PermissionRequest` вернул решение.

652 * `"user_permanent"`: Выдается, когда пользователь выбрал "Всегда разрешить" при запросе, сохраняя правило в своих личных параметрах. Также выдается для последующих вызовов, которые соответствуют этому сохраненному правилу. Рассматривается как принятие.659 * `"user_permanent"`: Выдается, когда пользователь выбрал "Да, и больше не спрашивать для ..." при запросе разрешения, что сохраняет правило разрешения в его личных параметрах. В интерактивном CLI это выдается только для самого этого выбора; более поздние вызовы, которые соответствуют сохраненному правилу, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` как начальный выбор, так и более поздние совпадения правил выдают `"user_permanent"`. Рассматривается как принятие.

653 * `"user_temporary"`: Выдается, когда пользователь выбрал "Да" или "Да, для этого сеанса" при запросе, без сохранения правила. Также выдается для последующих вызовов в том же сеансе, которые соответствуют этому разрешению в области сеанса. Рассматривается как принятие.660 * `"user_temporary"`: Выдается, когда пользователь выбрал "Да" при запросе разрешения для одноразового одобрения, или выбрал один из вариантов "... во время этого сеанса" на запросе редактирования или чтения файла. В интерактивном CLI это выдается только для самого выбора; более поздние вызовы, разрешенные этим разрешением в области сеанса, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` как выбор, так и более поздние совпадения выдают `"user_temporary"`. Рассматривается как принятие.

654 * `"user_abort"`: Выдается, когда пользователь отклонил запрос разрешения без ответа. Рассматривается как отклонение.661 * `"user_abort"`: Выдается, когда пользователь отклонил запрос разрешения без ответа. Рассматривается как отклонение.

655 * `"user_reject"`: Выдается, когда пользователь выбрал "Нет" при запросе, или вызов соответствовал правилу отказа в их личных параметрах. Рассматривается как отклонение.662 * `"user_reject"`: Выдается, когда пользователь выбрал "Нет" при запросе, или вызов соответствовал правилу отказа в их личных параметрах. Рассматривается как отклонение.

656 663 


741* `plugin.version`: Версия плагина, когда объявлена в записи маркетплейса. Для сторонних маркетплейсов это включается только, когда `OTEL_LOG_TOOL_DETAILS=1`748* `plugin.version`: Версия плагина, когда объявлена в записи маркетплейса. Для сторонних маркетплейсов это включается только, когда `OTEL_LOG_TOOL_DETAILS=1`

742* `marketplace.name`: Маркетплейс, из которого был установлен плагин. Для сторонних маркетплейсов это включается только, когда `OTEL_LOG_TOOL_DETAILS=1`749* `marketplace.name`: Маркетплейс, из которого был установлен плагин. Для сторонних маркетплейсов это включается только, когда `OTEL_LOG_TOOL_DETAILS=1`

743 750 

751#### Событие загрузки плагина

752 

753Логируется один раз для каждого включенного плагина при запуске сеанса. Используйте это событие для инвентаризации активных плагинов в вашем парке, как дополнение к `plugin_installed`, которое записывает само действие установки.

754 

755**Имя события**: `claude_code.plugin_loaded`

756 

757**Атрибуты**:

758 

759* Все [стандартные атрибуты](#standard-attributes)

760* `event.name`: `"plugin_loaded"`

761* `event.timestamp`: Временная метка ISO 8601

762* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе

763* `plugin.name`: имя плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`

764* `marketplace.name`: маркетплейс, из которого был установлен плагин, когда известен. Скрыто как `"third-party"` при том же условии, что и `plugin.name`

765* `plugin.version`: версия из манифеста плагина. Включается только, когда имя не скрыто и манифест объявляет версию

766* `plugin.scope`: категория происхождения для плагина: `"official"`, `"org"`, `"user-local"` или `"default-bundle"`

767* `enabled_via`: как плагин был включен: `"default-enable"`, `"org-policy"`, `"seed-mount"` или `"user-install"`

768* `plugin_id_hash`: детерминированный хеш имени плагина и маркетплейса, отправляемый только на ваш настроенный экспортер. Позволяет вам подсчитать, сколько различных плагинов третьих сторон загружено в вашем парке, без записи их имен

769* `has_hooks`: предоставляет ли плагин hooks

770* `has_mcp`: предоставляет ли плагин MCP серверы

771* `skill_path_count`: количество каталогов навыков, которые объявляет плагин

772* `command_path_count`: количество каталогов команд, которые объявляет плагин

773* `agent_path_count`: количество каталогов агентов, которые объявляет плагин

774 

744#### Событие активации навыка775#### Событие активации навыка

745 776 

746Логируется, когда навык вызывается, будь то Claude вызывает его через инструмент Skill или вы запускаете его как команду `/`.777Логируется, когда навык вызывается, будь то Claude вызывает его через инструмент Skill или вы запускаете его как команду `/`.


793* `total_retry_duration_ms`: Общее время в реальном времени по всем попыткам824* `total_retry_duration_ms`: Общее время в реальном времени по всем попыткам

794* `speed`: `"fast"` или `"normal"`825* `speed`: `"fast"` или `"normal"`

795 826 

827#### Событие регистрации hook

828 

829Логируется один раз для каждого настроенного hook при запуске сеанса. Используйте это событие для инвентаризации активных hooks в вашем парке, как дополнение к событиям `hook_execution_start` и `hook_execution_complete` для каждого выполнения.

830 

831**Имя события**: `claude_code.hook_registered`

832 

833**Атрибуты**:

834 

835* Все [стандартные атрибуты](#standard-attributes)

836* `event.name`: `"hook_registered"`

837* `event.timestamp`: Временная метка ISO 8601

838* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе

839* `hook_event`: тип события hook, такой как `"PreToolUse"` или `"PostToolUse"`

840* `hook_type`: тип реализации hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` или `"agent"`

841* `hook_source`: где определен hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` или `"pluginHook"`

842* `hook_matcher` (когда `OTEL_LOG_TOOL_DETAILS=1`): строка matcher из конфигурации hook, когда она установлена

843* `plugin.name` (когда `hook_source` это `"pluginHook"`): имя участвующего плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`

844* `plugin_id_hash` (когда `hook_source` это `"pluginHook"`): детерминированный хеш имени плагина и маркетплейса, отправляемый только на ваш настроенный экспортер. Позволяет вам подсчитать различные участвующие плагины без записи их имен

845 

796#### Событие начала выполнения hook846#### Событие начала выполнения hook

797 847 

798Логируется, когда один или несколько hooks начинают выполняться для события hook.848Логируется, когда один или несколько hooks начинают выполняться для события hook.


855* `post_tokens`: Приблизительное количество токенов после компактирования905* `post_tokens`: Приблизительное количество токенов после компактирования

856* `error`: Сообщение об ошибке при сбое компактирования906* `error`: Сообщение об ошибке при сбое компактирования

857 907 

908#### Событие опроса обратной связи

909 

910Логируется, когда опрос качества сеанса показывается или на него отвечают. Дополнительную информацию о том, что собирают опросы и как их контролировать, см. в разделе [Опросы качества сеанса](/ru/data-usage#session-quality-surveys).

911 

912**Имя события**: `claude_code.feedback_survey`

913 

914**Атрибуты**:

915 

916* Все [стандартные атрибуты](#standard-attributes)

917* `event.name`: `"feedback_survey"`

918* `event.timestamp`: Временная метка ISO 8601

919* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе

920* `event_type`: Событие жизненного цикла опроса, например `"appeared"`, `"responded"` или `"transcript_prompt_appeared"`

921* `appearance_id`: Уникальный ID, связывающий события, выданные для одного экземпляра опроса

922* `survey_type`: Какой опрос произвел событие. `"session"` это подсказка рейтинга "Как работает Claude?"

923* `response`: Выбор пользователя на событиях `responded`

924* `enabled_via_override`: `true` когда установлен [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/ru/env-vars). Выдается как логическое значение, а не строка. Присутствует на событиях опроса `session`. Отфильтруйте по этому атрибуту, чтобы подтвердить, что переопределение применяется в вашем парке

925 

858## Интерпретация данных метрик и событий926## Интерпретация данных метрик и событий

859 927 

860Экспортируемые метрики и события поддерживают ряд анализов:928Экспортируемые метрики и события поддерживают ряд анализов:


862### Мониторинг использования930### Мониторинг использования

863 931 

864| Метрика | Возможность анализа |932| Метрика | Возможность анализа |

865| ------------------------------------------------------------- | ------------------------------------------------------------------ |933| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |

866| `claude_code.token.usage` | Разбить по `type` (input/output), пользователю, команде или модели |934| `claude_code.token.usage` | Разбить по `type` (input/output), пользователю, команде, модели, `skill.name`, `plugin.name` или `agent.name` |

867| `claude_code.session.count` | Отслеживать принятие и вовлеченность с течением времени |935| `claude_code.session.count` | Отслеживать принятие и вовлеченность с течением времени |

868| `claude_code.lines_of_code.count` | Измерить производительность, отслеживая добавления/удаления кода |936| `claude_code.lines_of_code.count` | Измерить производительность, отслеживая добавления/удаления кода |

869| `claude_code.commit.count` & `claude_code.pull_request.count` | Понять влияние на рабочие процессы разработки |937| `claude_code.commit.count` & `claude_code.pull_request.count` | Понять влияние на рабочие процессы разработки |


874 942 

875* Отслеживанием тенденций использования по командам или отдельным лицам943* Отслеживанием тенденций использования по командам или отдельным лицам

876* Выявлением сеансов с высоким использованием для оптимизации944* Выявлением сеансов с высоким использованием для оптимизации

945* Атрибуцией расходов конкретным навыкам, плагинам или типам подагентов через атрибуты `skill.name`, `plugin.name` и `agent.name`

877 946 

878<Note>947<Note>

879 Метрики затрат являются приблизительными. Для официальных данных о выставлении счетов обратитесь к вашему поставщику API (Claude Console, Amazon Bedrock или Google Cloud Vertex).948 Метрики затрат являются приблизительными. Для официальных данных о выставлении счетов обратитесь к вашему поставщику API (Claude Console, Amazon Bedrock или Google Cloud Vertex).

Details

14 14 

15**Default** output style Claude Code — это существующий системный prompt, разработанный для эффективного выполнения задач разработки программного обеспечения.15**Default** output style Claude Code — это существующий системный prompt, разработанный для эффективного выполнения задач разработки программного обеспечения.

16 16 

17Существует два дополнительных встроенных output style, сосредоточенных на обучении вас кодовой базе и тому, как работает Claude:17Существует три дополнительных встроенных output style:

18 

19* **Proactive**: Claude выполняет действия немедленно, делает разумные предположения вместо паузы для рутинных решений и предпочитает действие планированию. Это применяет те же рекомендации, что и [режим автоматизации](/ru/permission-modes#eliminate-prompts-with-auto-mode), без изменения вашего режима разрешений, поэтому вы по-прежнему видите запросы разрешений перед запуском инструментов.

18 20 

19* **Explanatory**: предоставляет образовательные "Insights" между помощью в выполнении задач разработки программного обеспечения. Помогает вам понять выбор реализации и паттерны кодовой базы.21* **Explanatory**: предоставляет образовательные "Insights" между помощью в выполнении задач разработки программного обеспечения. Помогает вам понять выбор реализации и паттерны кодовой базы.

20 22 


88 90 

89### Output Styles vs. CLAUDE.md vs. --append-system-prompt91### Output Styles vs. CLAUDE.md vs. --append-system-prompt

90 92 

91Output styles полностью "отключают" части системного prompt Claude Code, специфичные для разработки программного обеспечения. Ни CLAUDE.md, ни `--append-system-prompt` не редактируют системный prompt Claude Code по умолчанию. CLAUDE.md добавляет содержимое как пользовательское сообщение *после* системного prompt Claude Code по умолчанию. `--append-system-prompt` добавляет содержимое в системный prompt.93Выбирайте в зависимости от того, должен ли Claude перестать действовать как помощник по кодированию или сохранить свою роль по умолчанию и узнать больше. Output styles заменяют части системного prompt Claude Code, связанные с разработкой программного обеспечения, на вашу собственную роль и голос, поэтому используйте их, когда Claude должен принять другую личность, например редактора текстов или помощника по анализу данных. CLAUDE.md и `--append-system-prompt` оба сохраняют идентичность Claude Code по умолчанию и добавляют к ней, поэтому используйте их, когда Claude должен оставаться помощником по кодированию, который также следует соглашениям вашего проекта или дополнительным инструкциям.

94 

95Механизмы также отличаются. Output styles редактируют системный prompt напрямую. CLAUDE.md добавляет его содержимое как пользовательское сообщение после системного prompt. `--append-system-prompt` добавляет содержимое в конец системного prompt без удаления чего-либо.

92 96 

93### Output Styles vs. [Agents](/ru/sub-agents)97### Output Styles vs. [Agents](/ru/sub-agents)

94 98 

95Output styles напрямую влияют на основной цикл агента и влияют только на системный prompt. Agents вызываются для обработки конкретных задач и могут включать дополнительные параметры, такие как модель для использования, доступные им инструменты и некоторый контекст о том, когда использовать агента.99Используйте output style для изменения того, как основной разговор реагирует в каждой сессии. Используйте [subagent](/ru/sub-agents), когда вам нужен отдельно ограниченный помощник, которому основной разговор делегирует задачи. Output styles влияют только на системный prompt основного цикла агента. Agents обрабатывают конкретные задачи и могут иметь свою собственную модель, инструменты и контекст о том, когда их вызывать.

96 100 

97### Output Styles vs. [Skills](/ru/skills)101### Output Styles vs. [Skills](/ru/skills)

98 102 

Details

120 120 

121Plan mode указывает Claude исследовать и предложить изменения без их внесения. Claude читает файлы, запускает команды оболочки для исследования и пишет план, но не редактирует ваш исходный код. Запросы разрешений по-прежнему применяются так же, как в режиме по умолчанию.121Plan mode указывает Claude исследовать и предложить изменения без их внесения. Claude читает файлы, запускает команды оболочки для исследования и пишет план, но не редактирует ваш исходный код. Запросы разрешений по-прежнему применяются так же, как в режиме по умолчанию.

122 122 

123Войдите в план mode, нажав `Shift+Tab` или добавив префикс к одной подсказке с `/plan`. Вы также можете запустить в режиме plan из CLI:123Войдите в режим plan, нажав `Shift+Tab` или добавив префикс к одной подсказке с `/plan`. Вы также можете запустить в режиме plan из CLI:

124 124 

125```bash theme={null}125```bash theme={null}

126claude --permission-mode plan126claude --permission-mode plan


128 128 

129Нажмите `Shift+Tab` снова, чтобы выйти из режима plan без одобрения плана.129Нажмите `Shift+Tab` снова, чтобы выйти из режима plan без одобрения плана.

130 130 

131### Проверьте и одобрите план

132 

131Когда план готов, Claude представляет его и спрашивает, как действовать дальше. Из этого запроса вы можете:133Когда план готов, Claude представляет его и спрашивает, как действовать дальше. Из этого запроса вы можете:

132 134 

133* Одобрить и запустить в режиме auto135* Одобрить и запустить в режиме auto


136* Продолжить планирование с обратной связью138* Продолжить планирование с обратной связью

137* Уточнить с помощью [Ultraplan](/ru/ultraplan) для проверки на основе браузера139* Уточнить с помощью [Ultraplan](/ru/ultraplan) для проверки на основе браузера

138 140 

139Каждый вариант одобрения также предлагает сначала очистить контекст планирования.141Одобрение плана выходит из режима plan и переключает сеанс на режим разрешений, который описывает каждый вариант одобрения, поэтому Claude начинает редактирование. Чтобы снова планировать, вернитесь в режим plan с помощью `Shift+Tab` или добавьте префикс к следующей подсказке с `/plan`.

142 

143Нажмите `Ctrl+G`, чтобы открыть предложенный план в текстовом редакторе по умолчанию и отредактировать его непосредственно перед тем, как Claude продолжит. Когда включена опция [`showClearContextOnPlanAccept`](/ru/settings#available-settings), каждый вариант одобрения также предлагает сначала очистить контекст планирования.

144 

145Принятие плана также автоматически называет сеанс на основе содержимого плана, если вы уже не установили имя с помощью `--name` или `/rename`.

146 

147### Установите режим plan как режим по умолчанию

148 

149Чтобы сделать режим plan режимом по умолчанию для проекта, установите `defaultMode` в `.claude/settings.json`:

150 

151```json theme={null}

152{

153 "permissions": {

154 "defaultMode": "plan"

155 }

156}

157```

140 158 

141## Исключите запросы с режимом auto159## Исключите запросы с режимом auto

142 160 


146 164 

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

148 166 

167Режим auto также инструктирует Claude выполнять действия немедленно и минимизировать уточняющие вопросы. Чтобы получить такое поведение, сохраняя запросы разрешений, установите вместо этого [Proactive output style](/ru/output-styles).

168 

149<Warning>169<Warning>

150 Режим auto — это исследовательский предпросмотр. Он уменьшает запросы, но не гарантирует безопасность. Используйте его для задач, в которых вы доверяете общему направлению, а не как замену проверке чувствительных операций.170 Режим auto — это исследовательский предпросмотр. Он уменьшает запросы, но не гарантирует безопасность. Используйте его для задач, в которых вы доверяете общему направлению, а не как замену проверке чувствительных операций.

151</Warning>171</Warning>


256 276 

257Флаг `--dangerously-skip-permissions` эквивалентен.277Флаг `--dangerously-skip-permissions` эквивалентен.

258 278 

279На Linux и macOS Claude Code отказывается запускаться в этом режиме при запуске от пользователя root или под `sudo`:

280 

281```text theme={null}

282--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

283```

284 

285Проверка пропускается автоматически внутри признанной песочницы. Для автономного запуска в контейнере используйте конфигурацию [dev container](/ru/devcontainer), которая запускает Claude Code от непривилегированного пользователя.

286 

259<Warning>287<Warning>

260 `bypassPermissions` не обеспечивает защиту от инъекции подсказок или непредвиденных действий. Для фоновых проверок безопасности без запросов используйте [режим auto](#eliminate-prompts-with-auto-mode) вместо этого. Администраторы могут заблокировать этот режим, установив `permissions.disableBypassPermissionsMode` на `"disable"` в [управляемых параметрах](/ru/permissions#managed-settings).288 `bypassPermissions` не обеспечивает защиту от инъекции подсказок или непредвиденных действий. Для фоновых проверок безопасности без запросов используйте [режим auto](#eliminate-prompts-with-auto-mode) вместо этого. Администраторы могут заблокировать этот режим, установив `permissions.disableBypassPermissionsMode` на `"disable"` в [управляемых параметрах](/ru/permissions#managed-settings).

261</Warning>289</Warning>

permissions.md +5 −1

Details

28 28 

29Правила оцениваются по порядку: **deny -> ask -> allow**. Первое совпадающее правило побеждает, поэтому правила deny всегда имеют приоритет.29Правила оцениваются по порядку: **deny -> ask -> allow**. Первое совпадающее правило побеждает, поэтому правила deny всегда имеют приоритет.

30 30 

31<Note>

32 Правила разрешений применяются Claude Code, а не моделью. Инструкции в вашем приглашении или `CLAUDE.md` определяют, что Claude пытается делать, но они не изменяют то, что позволяет Claude Code. Чтобы предоставить или отозвать доступ, используйте `/permissions`, правила, описанные здесь, [режим разрешений](/ru/permission-modes) или [hook PreToolUse](#extend-permissions-with-hooks).

33</Note>

34 

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

32 36 

33Claude Code поддерживает несколько режимов разрешений, которые контролируют, как инструменты одобряются. См. [Permission modes](/ru/permission-modes) для определения того, когда использовать каждый из них. Установите `defaultMode` в ваших [файлах параметров](/ru/settings#settings-files):37Claude Code поддерживает несколько режимов разрешений, которые контролируют, как инструменты одобряются. См. [Permission modes](/ru/permission-modes) для определения того, когда использовать каждый из них. Установите `defaultMode` в ваших [файлах параметров](/ru/settings#settings-files):


153 157 

154 * **Ограничение сетевых инструментов Bash**: используйте правила deny для блокировки `curl`, `wget` и подобных команд, затем используйте инструмент WebFetch с разрешением `WebFetch(domain:github.com)` для разрешенных доменов158 * **Ограничение сетевых инструментов Bash**: используйте правила deny для блокировки `curl`, `wget` и подобных команд, затем используйте инструмент WebFetch с разрешением `WebFetch(domain:github.com)` для разрешенных доменов

155 * **Использование PreToolUse hooks**: реализуйте hook, который проверяет URL-адреса в Bash командах и блокирует недопустимые домены159 * **Использование PreToolUse hooks**: реализуйте hook, который проверяет URL-адреса в Bash командах и блокирует недопустимые домены

156 * Инструктирование Claude Code о ваших разрешенных curl шаблонах через CLAUDE.md160 * **Добавьте руководство CLAUDE.md**: опишите ваши разрешенные curl шаблоны в `CLAUDE.md`. Это формирует то, что Claude пытается, но не обеспечивает границу, поэтому объедините это с одним из вариантов выше

157 161 

158 Обратите внимание, что использование только WebFetch не предотвращает сетевой доступ. Если Bash разрешен, Claude все еще может использовать `curl`, `wget` или другие инструменты для доступа к любому URL-адресу.162 Обратите внимание, что использование только WebFetch не предотвращает сетевой доступ. Если Bash разрешен, Claude все еще может использовать `curl`, `wget` или другие инструменты для доступа к любому URL-адресу.

159</Warning>163</Warning>

plugins.md +6 −0

Details

299claude --plugin-dir ./my-plugin299claude --plugin-dir ./my-plugin

300```300```

301 301 

302Флаг также принимает архив `.zip` директории plugin, для которого требуется Claude Code v2.1.128 или более поздняя версия.

303 

304```bash theme={null}

305claude --plugin-dir ./my-plugin.zip

306```

307 

302Когда `--plugin-dir` plugin имеет то же имя, что и установленный marketplace plugin, локальная копия имеет приоритет для этого сеанса. Это позволяет вам протестировать изменения plugin, который у вас уже установлен, без необходимости его предварительной деинсталляции. Marketplace plugins, принудительно включённые управляемыми параметрами, являются единственным исключением и не могут быть переопределены.308Когда `--plugin-dir` plugin имеет то же имя, что и установленный marketplace plugin, локальная копия имеет приоритет для этого сеанса. Это позволяет вам протестировать изменения plugin, который у вас уже установлен, без необходимости его предварительной деинсталляции. Marketplace plugins, принудительно включённые управляемыми параметрами, являются единственным исключением и не могут быть переопределены.

303 309 

304По мере внесения изменений в ваш plugin запустите `/reload-plugins` для применения обновлений без перезагрузки. Это перезагружает plugins, skills, agents, hooks, plugin MCP servers и plugin LSP servers. Протестируйте компоненты вашего plugin:310По мере внесения изменений в ваш plugin запустите `/reload-plugins` для применения обновлений без перезагрузки. Это перезагружает plugins, skills, agents, hooks, plugin MCP servers и plugin LSP servers. Протестируйте компоненты вашего plugin:

Details

97 "hooks": [97 "hooks": [

98 {98 {

99 "type": "command",99 "type": "command",

100 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format-code.sh"100 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/format-code.sh"

101 }101 }

102 ]102 ]

103 }103 }


289[289[

290 {290 {

291 "name": "deploy-status",291 "name": "deploy-status",

292 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/poll-deploy.sh ${user_config.api_endpoint}",292 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/poll-deploy.sh ${user_config.api_endpoint}",

293 "description": "Deployment status changes"293 "description": "Deployment status changes"

294 },294 },

295 {295 {


317| :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |317| :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

318| `when` | Управляет тем, когда запускается monitor. `"always"` запускает его при запуске сеанса и при перезагрузке плагина и является значением по умолчанию. `"on-skill-invoke:<skill-name>"` запускает его в первый раз, когда именованный skill в этом плагине отправляется |318| `when` | Управляет тем, когда запускается monitor. `"always"` запускает его при запуске сеанса и при перезагрузке плагина и является значением по умолчанию. `"on-skill-invoke:<skill-name>"` запускает его в первый раз, когда именованный skill в этом плагине отправляется |

319 319 

320Значение `command` поддерживает те же [подстановки переменных](#environment-variables), что и конфигурации серверов MCP и LSP: `${CLAUDE_PLUGIN_ROOT}`, `${CLAUDE_PLUGIN_DATA}`, `${user_config.*}` и любой `${ENV_VAR}` из окружения. Добавьте префикс команды с `cd "${CLAUDE_PLUGIN_ROOT}" && `, если скрипт должен работать из собственного каталога плагина.320Значение `command` поддерживает те же [подстановки переменных](#environment-variables), что и конфигурации серверов MCP и LSP: `${CLAUDE_PLUGIN_ROOT}`, `${CLAUDE_PLUGIN_DATA}`, `${CLAUDE_PROJECT_DIR}`, `${user_config.*}` и любой `${ENV_VAR}` из окружения. Добавьте префикс команды с `cd "${CLAUDE_PLUGIN_ROOT}" && `, если скрипт должен работать из собственного каталога плагина.

321 321 

322Отключение плагина в середине сеанса не останавливает monitors, которые уже работают. Они останавливаются при завершении сеанса.322Отключение плагина в середине сеанса не останавливает monitors, которые уже работают. Они останавливаются при завершении сеанса.

323 323 


540 540 

541### Переменные окружения541### Переменные окружения

542 542 

543Claude Code предоставляет две переменные для ссылки на пути плагина. Обе подставляются встроенно везде, где они появляются в содержимом skills, содержимом agents, командах hooks, командах monitors и конфигурациях серверов MCP или LSP. Обе также экспортируются как переменные окружения в процессы hooks и подпроцессы серверов MCP или LSP.543Claude Code предоставляет три переменные для ссылки на пути. Обе подставляются встроенно везде, где они появляются в содержимом skills, содержимом agents, командах hooks, командах monitors и конфигурациях серверов MCP или LSP. Обе также экспортируются как переменные окружения в процессы hooks и подпроцессы серверов MCP или LSP.

544 544 

545**`${CLAUDE_PLUGIN_ROOT}`**: абсолютный путь к каталогу установки вашего плагина. Используйте это для ссылки на скрипты, двоичные файлы и файлы конфигурации, поставляемые с плагином. Этот путь изменяется при обновлении плагина. Каталог предыдущей версии остаётся на диске примерно семь дней после обновления перед очисткой, но рассматривайте его как временный и не записывайте состояние здесь.545**`${CLAUDE_PLUGIN_ROOT}`**: абсолютный путь к каталогу установки вашего плагина. Используйте это для ссылки на скрипты, двоичные файлы и файлы конфигурации, поставляемые с плагином. В командах hooks используйте [форму exec](/ru/hooks#exec-form-and-shell-form) с `args`, чтобы путь передавался как один аргумент без кавычек. В hooks в форме shell и командах monitors оборачивайте его в двойные кавычки, как в `"${CLAUDE_PLUGIN_ROOT}"`. Этот путь изменяется при обновлении плагина. Каталог предыдущей версии остаётся на диске примерно семь дней после обновления перед очисткой, но рассматривайте его как временный и не записывайте состояние здесь.

546 546 

547Когда плагин обновляется во время сеанса, команды hooks, monitors, серверы MCP и серверы LSP продолжают использовать путь предыдущей версии. Запустите `/reload-plugins` для переключения hooks, серверов MCP и серверов LSP на новый путь; monitors требуют перезагрузки сеанса.547Когда плагин обновляется во время сеанса, команды hooks, monitors, серверы MCP и серверы LSP продолжают использовать путь предыдущей версии. Запустите `/reload-plugins` для переключения hooks, серверов MCP и серверов LSP на новый путь; monitors требуют перезагрузки сеанса.

548 548 

549**`${CLAUDE_PLUGIN_DATA}`**: постоянный каталог для состояния плагина, который сохраняется при обновлениях. Используйте это для установленных зависимостей, таких как `node_modules` или виртуальные окружения Python, сгенерированный код, кэши и любые другие файлы, которые должны сохраняться между версиями плагина. Каталог создаётся автоматически при первом обращении к этой переменной.549**`${CLAUDE_PLUGIN_DATA}`**: постоянный каталог для состояния плагина, который сохраняется при обновлениях. Используйте это для установленных зависимостей, таких как `node_modules` или виртуальные окружения Python, сгенерированный код, кэши и любые другие файлы, которые должны сохраняться между версиями плагина. Каталог создаётся автоматически при первом обращении к этой переменной.

550 550 

551**`${CLAUDE_PROJECT_DIR}`**: корень проекта. Это тот же каталог, который hooks получают в своей переменной `CLAUDE_PROJECT_DIR`. Используйте это для ссылки на скрипты или файлы конфигурации, локальные для проекта. Оборачивайте в кавычки для обработки путей с пробелами, например `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`. Серверы MCP также могут вызывать запрос MCP `roots/list`, который возвращает каталог, из которого был запущен Claude Code.

552 

551```json theme={null}553```json theme={null}

552{554{

553 "hooks": {555 "hooks": {


556 "hooks": [558 "hooks": [

557 {559 {

558 "type": "command",560 "type": "command",

559 "command": "${CLAUDE_PLUGIN_ROOT}/scripts/process.sh"561 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/process.sh"

560 }562 }

561 ]563 ]

562 }564 }


629 631 

630Установленные плагины не могут ссылаться на файлы вне их каталога. Пути, которые выходят за пределы корня плагина (такие как `../shared-utils`), не будут работать после установки, потому что эти внешние файлы не копируются в кэш.632Установленные плагины не могут ссылаться на файлы вне их каталога. Пути, которые выходят за пределы корня плагина (такие как `../shared-utils`), не будут работать после установки, потому что эти внешние файлы не копируются в кэш.

631 633 

632### Работа с внешними зависимостями634### Совместное использование файлов в маркетплейсе с помощью символических ссылок

635 

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

637 

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

639* **В другом месте в том же маркетплейсе:** символическая ссылка разыменовывается. Содержимое цели копируется в кэш на её место. Это позволяет каталогу `skills/` мета-плагина ссылаться на навыки, определённые другими плагинами в маркетплейсе.

640* **Вне маркетплейса:** символическая ссылка пропускается в целях безопасности. Это предотвращает извлечение плагинами произвольных файлов хоста, таких как системные пути, в кэш.

633 641 

634Если вашему плагину нужно получить доступ к файлам вне его каталога, вы можете создать символические ссылки на внешние файлы в каталоге вашего плагина. Символические ссылки сохраняются в кэше, а не разыменовываются, и они разрешаются к своей цели во время выполнения. Следующая команда создаёт ссылку из каталога вашего плагина на местоположение общих утилит:642Для плагинов, установленных с помощью `--plugin-dir` или из локального пути, сохраняются только символические ссылки, которые разрешаются в собственном каталоге плагина. Все остальные пропускаются.

643 

644Следующая команда создаёт ссылку из плагина маркетплейса на общий навык, определённый соседним плагином. В Windows используйте `mklink /D` из командной строки с повышенными привилегиями или включите режим разработчика:

635 645 

636```bash theme={null}646```bash theme={null}

637ln -s /path/to/shared-utils ./shared-utils647ln -s ../../shared-plugin/skills/foo ./skills/foo

638```648```

639 649 

640Это обеспечивает гибкость при сохранении преимуществ безопасности системы кэширования.650Это обеспечивает гибкость при сохранении преимуществ безопасности системы кэширования.


875| `--available` | Включить доступные плагины из маркетплейсов. Требует `--json` | |885| `--available` | Включить доступные плагины из маркетплейсов. Требует `--json` | |

876| `-h, --help` | Отобразить справку для команды | |886| `-h, --help` | Отобразить справку для команды | |

877 887 

888### plugin details

889 

890Показать инвентарь компонентов плагина и прогнозируемую стоимость в токенах. Вывод содержит список всех компонентов, которые вносит плагин, сгруппированных как Skills (навыки и команды), Agents, Hooks и MCP серверы, вместе с оценкой того, сколько токенов он добавляет к каждой сессии.

891 

892```bash theme={null}

893claude plugin details <name>

894```

895 

896**Аргументы:**

897 

898* `<name>`: Имя плагина или `plugin-name@marketplace-name`

899 

900**Опции:**

901 

902| Опция | Описание | По умолчанию |

903| :----------- | :----------------------------- | :----------- |

904| `-h, --help` | Отобразить справку для команды | |

905 

906Вывод показывает две цифры стоимости для каждого компонента:

907 

908* **Always-on:** токены, добавляемые к каждой сессии текстом описания плагина, такие как описания навыков, описания агентов и имена команд, независимо от того, срабатывает ли какой-либо компонент.

909* **On-invoke:** токены, которые стоит компонент при срабатывании. Показано для каждого компонента отдельно, а не как итог плагина, потому что типичная сессия вызывает только подмножество компонентов.

910 

911Этот пример показывает, как выглядит вывод для плагина с двумя навыками:

912 

913```

914security-guidance 1.2.0

915 Real-time security analysis for Claude Code sessions

916 Source: security-guidance@claude-code-marketplace

917 

918Component inventory

919 Skills (2) scan-dependencies, review-changes

920 Agents (0)

921 Hooks (1) (harness-only — no model context cost)

922 MCP servers (0)

923 

924Projected token cost

925 Always-on: ~180 tok added to every session

926 

927Per-component (rounded)

928 component always-on on-invoke

929 scan-dependencies ~100 ~2400

930 review-changes ~80 ~1800

931 

932 On-invoke cost is paid each time a skill or agent fires.

933 Token counts are estimates and may differ from actual usage.

934```

935 

936Итог always-on вычисляется через API `count_tokens` для вашей активной модели. Числа для каждого компонента пропорционально масштабируются от этого итога. Если API недоступен, команда переходит на оценку на основе количества символов.

937 

878### plugin tag938### plugin tag

879 939 

880Создайте тег выпуска git для плагина в текущем каталоге. Запустите из папки плагина. См. [Теги выпусков плагинов](/ru/plugin-dependencies#tag-plugin-releases-for-version-resolution).940Создайте тег выпуска git для плагина в текущем каталоге. Запустите из папки плагина. См. [Теги выпусков плагинов](/ru/plugin-dependencies#tag-plugin-releases-for-version-resolution).


938 998 

9391. Проверьте, что скрипт исполняемый: `chmod +x ./scripts/your-script.sh`9991. Проверьте, что скрипт исполняемый: `chmod +x ./scripts/your-script.sh`

9402. Проверьте строку shebang: Первая строка должна быть `#!/bin/bash` или `#!/usr/bin/env bash`10002. Проверьте строку shebang: Первая строка должна быть `#!/bin/bash` или `#!/usr/bin/env bash`

9413. Проверьте, что путь использует `${CLAUDE_PLUGIN_ROOT}`: `"command": "${CLAUDE_PLUGIN_ROOT}/scripts/your-script.sh"`10013. Проверьте, что путь использует `${CLAUDE_PLUGIN_ROOT}`: `"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/your-script.sh"`

9424. Протестируйте скрипт вручную: `./scripts/your-script.sh`10024. Протестируйте скрипт вручную: `./scripts/your-script.sh`

943 1003 

944**Hook не срабатывает на ожидаемых событиях**:1004**Hook не срабатывает на ожидаемых событиях**:

quickstart.md +9 −9

Details

279 279 

280<AccordionGroup>280<AccordionGroup>

281 <Accordion title="Будьте конкретны в своих запросах">281 <Accordion title="Будьте конкретны в своих запросах">

282 Вместо: "fix the bug"282 Вместо: "исправить ошибку"

283 283 

284 Попробуйте: "fix the login bug where users see a blank screen after entering wrong credentials"284 Попробуйте: "исправить ошибку входа, когда пользователи видят пустой экран после ввода неправильных учетных данных"

285 </Accordion>285 </Accordion>

286 286 

287 <Accordion title="Используйте пошаговые инструкции">287 <Accordion title="Используйте пошаговые инструкции">

288 Разбейте сложные задачи на этапы:288 Разбейте сложные задачи на этапы:

289 289 

290 ```text theme={null}290 ```text theme={null}

291 1. create a new database table for user profiles291 1. создать новую таблицу базы данных для профилей пользователей

292 2. create an API endpoint to get and update user profiles292 2. создать конечную точку API для получения и обновления профилей пользователей

293 3. build a webpage that allows users to see and edit their information293 3. создать веб-страницу, которая позволяет пользователям просматривать и редактировать свою информацию

294 ```294 ```

295 </Accordion>295 </Accordion>

296 296 


298 Перед внесением изменений позвольте Claude понять ваш код:298 Перед внесением изменений позвольте Claude понять ваш код:

299 299 

300 ```text theme={null}300 ```text theme={null}

301 analyze the database schema301 проанализировать схему базы данных

302 ```302 ```

303 303 

304 ```text theme={null}304 ```text theme={null}

305 build a dashboard showing products that are most frequently returned by our UK customers305 создать панель управления, показывающую продукты, которые чаще всего возвращаются нашими клиентами из Великобритании

306 ```306 ```

307 </Accordion>307 </Accordion>

308 308 

309 <Accordion title="Сэкономьте время с помощью ярлыков">309 <Accordion title="Сэкономьте время с помощью ярлыков">

310 * Нажмите `?` для просмотра всех доступных сочетаний клавиш310 * Введите `/` для просмотра всех команд и skills

311 * Используйте Tab для завершения команды311 * Используйте Tab для завершения команды

312 * Нажмите ↑ для истории команд312 * Нажмите ↑ для истории команд

313 * Введите `/` для просмотра всех команд и skills313 * Нажмите `Shift+Tab` для переключения режимов разрешений

314 </Accordion>314 </Accordion>

315</AccordionGroup>315</AccordionGroup>

316 316 

routines.md +2 −0

Details

318 318 

319Рутины могут использовать ваши подключенные MCP коннекторы для чтения и записи во внешние сервисы во время каждого запуска. Например, рутина, которая сортирует запросы поддержки, может читать из канала Slack и создавать проблемы в Linear.319Рутины могут использовать ваши подключенные MCP коннекторы для чтения и записи во внешние сервисы во время каждого запуска. Например, рутина, которая сортирует запросы поддержки, может читать из канала Slack и создавать проблемы в Linear.

320 320 

321Коннекторы — это [интеграции claude.ai](/ru/mcp#use-mcp-servers-from-claude-ai) на вашем аккаунте. MCP серверы, которые вы добавили локально в CLI с помощью `claude mcp add`, хранятся на вашей машине, а не на вашем аккаунте claude.ai, поэтому они не отображаются в списке коннекторов. Чтобы использовать один из этих серверов в рутине, добавьте его как коннектор на [claude.ai/customize/connectors](https://claude.ai/customize/connectors) или объявите его в committed [`.mcp.json`](/ru/mcp#project-scope), чтобы он был частью клонированного репозитория.

322 

321Когда вы создаете рутину, все ваши текущие подключенные коннекторы включены по умолчанию. Удалите все, которые не нужны, чтобы ограничить, к каким инструментам Claude имеет доступ во время запуска. Вы также можете добавлять коннекторы непосредственно из формы рутины.323Когда вы создаете рутину, все ваши текущие подключенные коннекторы включены по умолчанию. Удалите все, которые не нужны, чтобы ограничить, к каким инструментам Claude имеет доступ во время запуска. Вы также можете добавлять коннекторы непосредственно из формы рутины.

322 324 

323Чтобы управлять или добавлять коннекторы вне формы рутины, посетите **Settings > Connectors** на claude.ai или используйте `/schedule update` в CLI.325Чтобы управлять или добавлять коннекторы вне формы рутины, посетите **Settings > Connectors** на claude.ai или используйте `/schedule update` в CLI.

security.md +2 −2

Details

85 85 

86## Безопасность MCP86## Безопасность MCP

87 87 

88Claude Code позволяет пользователям настраивать серверы Model Context Protocol (MCP). Список разрешенных MCP servers настраивается в вашем исходном коде как часть параметров Claude Code, которые инженеры проверяют в систему контроля версий.88Claude Code позволяет пользователям настраивать серверы Model Context Protocol (MCP). Список разрешенных MCP серверов настраивается в вашем исходном коде как часть параметров Claude Code, которые инженеры проверяют в систему контроля версий.

89 89 

90Мы рекомендуем либо писать свои собственные MCP servers, либо использовать MCP servers от поставщиков, которым вы доверяете. Вы можете настроить разрешения Claude Code для MCP servers. Anthropic не управляет и не проверяет никакие MCP servers.90Мы рекомендуем либо писать свои собственные MCP серверы, либо использовать MCP серверы от поставщиков, которым вы доверяете. Вы можете настроить разрешения Claude Code для MCP серверов. Anthropic проверяет соединители в соответствии с его [критериями листинга](https://claude.com/docs/connectors/building/review-criteria) перед добавлением их в [Anthropic Directory](https://claude.ai/directory), но не проводит проверку безопасности и не управляет никакими MCP серверами.

91 91 

92## Безопасность IDE92## Безопасность IDE

93 93 

settings.md +3 −1

Details

178| `awsCredentialExport` | Пользовательский скрипт, который выводит JSON с учетными данными AWS (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |178| `awsCredentialExport` | Пользовательский скрипт, который выводит JSON с учетными данными AWS (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

179| `blockedMarketplaces` | (Только управляемые параметры) Список запретов источников marketplace. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |179| `blockedMarketplaces` | (Только управляемые параметры) Список запретов источников marketplace. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |

180| `channelsEnabled` | (Только управляемые параметры) Разрешить [channels](/ru/channels) для организации. На планах Claude.ai Team и Enterprise, channels блокируются, когда это не установлено или `false`. Для учетных записей [Anthropic Console](/ru/authentication#claude-console-authentication), использующих аутентификацию по ключу API, channels разрешены по умолчанию, если только ваша организация не развернула управляемые параметры, в этом случае этот ключ должен быть установлен на `true` | `true` |180| `channelsEnabled` | (Только управляемые параметры) Разрешить [channels](/ru/channels) для организации. На планах Claude.ai Team и Enterprise, channels блокируются, когда это не установлено или `false`. Для учетных записей [Anthropic Console](/ru/authentication#claude-console-authentication), использующих аутентификацию по ключу API, channels разрешены по умолчанию, если только ваша организация не развернула управляемые параметры, в этом случае этот ключ должен быть установлен на `true` | `true` |

181| `claudeMd` | (Только управляемые параметры) Инструкции в стиле CLAUDE.md, внедренные как организационная управляемая память. Учитываются только при установке в управляемых или политических параметрах и игнорируются в параметрах пользователя, проекта и локальных параметрах. См. [организационная CLAUDE.md](/ru/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |

181| `claudeMdExcludes` | Glob шаблоны или абсолютные пути файлов `CLAUDE.md` для пропуска при загрузке [памяти](/ru/memory). Шаблоны соответствуют абсолютным путям файлов. Применяется только к памяти пользователя, проекта и локальной памяти; файлы управляемой политики не могут быть исключены | `["**/vendor/**/CLAUDE.md"]` |182| `claudeMdExcludes` | Glob шаблоны или абсолютные пути файлов `CLAUDE.md` для пропуска при загрузке [памяти](/ru/memory). Шаблоны соответствуют абсолютным путям файлов. Применяется только к памяти пользователя, проекта и локальной памяти; файлы управляемой политики не могут быть исключены | `["**/vendor/**/CLAUDE.md"]` |

182| `cleanupPeriodDays` | Сеансы, неактивные дольше этого периода, удаляются при запуске (по умолчанию: 30 дней, минимум 1). Установка на `0` отклоняется с ошибкой валидации. Также контролирует возрастной порог для автоматического удаления [orphaned subagent worktrees](/ru/worktrees#clean-up-worktrees) при запуске. Чтобы полностью отключить запись стенограмм, установите переменную окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ru/env-vars), или в неинтерактивном режиме (`-p`) используйте флаг `--no-session-persistence` или опцию SDK `persistSession: false`. | `20` |183| `cleanupPeriodDays` | Сеансы, неактивные дольше этого периода, удаляются при запуске (по умолчанию: 30 дней, минимум 1). Установка на `0` отклоняется с ошибкой валидации. Также контролирует возрастной порог для автоматического удаления [orphaned subagent worktrees](/ru/worktrees#clean-up-worktrees) при запуске. Чтобы полностью отключить запись стенограмм, установите переменную окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ru/env-vars), или в неинтерактивном режиме (`-p`) используйте флаг `--no-session-persistence` или опцию SDK `persistSession: false`. | `20` |

183| `companyAnnouncements` | Объявление для отображения пользователям при запуске. Если предоставлено несколько объявлений, они будут циклически отображаться случайным образом. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |184| `companyAnnouncements` | Объявление для отображения пользователям при запуске. Если предоставлено несколько объявлений, они будут циклически отображаться случайным образом. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |


253</Note>254</Note>

254 255 

255| Ключ | Описание | Пример |256| Ключ | Описание | Пример |

256| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |257| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |

257| `autoConnectIde` | Автоматически подключаться к запущенной IDE при запуске Claude Code из внешнего терминала. По умолчанию: `false`. Появляется в `/config` как **Auto-connect to IDE (external terminal)** при запуске вне терминала VS Code или JetBrains. Переменная окружения [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/ru/env-vars) переопределяет это при установке | `true` |258| `autoConnectIde` | Автоматически подключаться к запущенной IDE при запуске Claude Code из внешнего терминала. По умолчанию: `false`. Появляется в `/config` как **Auto-connect to IDE (external terminal)** при запуске вне терминала VS Code или JetBrains. Переменная окружения [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/ru/env-vars) переопределяет это при установке | `true` |

258| `autoInstallIdeExtension` | Автоматически устанавливать расширение Claude Code IDE при запуске из терминала VS Code. По умолчанию: `true`. Появляется в `/config` как **Auto-install IDE extension** при запуске внутри терминала VS Code или JetBrains. Вы также можете установить переменную окружения [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/ru/env-vars) | `false` |259| `autoInstallIdeExtension` | Автоматически устанавливать расширение Claude Code IDE при запуске из терминала VS Code. По умолчанию: `true`. Появляется в `/config` как **Auto-install IDE extension** при запуске внутри терминала VS Code или JetBrains. Вы также можете установить переменную окружения [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/ru/env-vars) | `false` |

259| `externalEditorContext` | Добавить предыдущий ответ Claude как контекст с комментариями `#` при открытии внешнего редактора с помощью `Ctrl+G`. По умолчанию: `false`. Появляется в `/config` как **Show last response in external editor** | `true` |260| `externalEditorContext` | Добавить предыдущий ответ Claude как контекст с комментариями `#` при открытии внешнего редактора с помощью `Ctrl+G`. По умолчанию: `false`. Появляется в `/config` как **Show last response in external editor** | `true` |

261| `teammateDefaultModel` | Модель по умолчанию для товарищей по [команде агентов](/ru/agent-teams) когда запрос порождения не указывает одну. Установите на псевдоним модели, такой как `"sonnet"`, или `null` для наследования текущего выбора `/model` лидера. Появляется в `/config` как **Default teammate model** | `"sonnet"` |

260 262 

261### Параметры Worktree263### Параметры Worktree

262 264 

vs-code.md +4 −2

Details

233</Note>233</Note>

234 234 

235| Команда | Сочетание клавиш | Описание |235| Команда | Сочетание клавиш | Описание |

236| -------------------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |236| -------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

237| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Переключение фокуса между редактором и Claude |237| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Переключение фокуса между редактором и Claude |

238| Open in Side Bar | - | Открыть Claude на левой боковой панели |238| Open in Side Bar | - | Открыть Claude на левой боковой панели |

239| Open in Terminal | - | Открыть Claude в режиме терминала |239| Open in Terminal | - | Открыть Claude в режиме терминала |

240| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | Открыть новую беседу как вкладку редактора |240| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | Открыть новую беседу как вкладку редактора |

241| Open in New Window | - | Открыть новую беседу в отдельном окне |241| Open in New Window | - | Открыть новую беседу в отдельном окне |

242| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Начать новую беседу. Требует фокуса Claude и `enableNewConversationShortcut` установленного на `true` |242| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Начать новую беседу. Требует фокуса Claude и `enableNewConversationShortcut` установленного на `true` |

243| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | Повторно открыть самую недавно закрытую вкладку сеанса Claude. Переходит к обычному переоткрытию закрытого редактора VS Code, когда последняя закрытая вкладка не была сеансом Claude. Отключить с помощью `enableReopenClosedSessionShortcut` |

243| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Вставить ссылку на текущий файл и выделение (требует фокуса редактора) |244| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Вставить ссылку на текущий файл и выделение (требует фокуса редактора) |

244| Show Logs | - | Просмотр логов отладки расширения |245| Show Logs | - | Просмотр логов отладки расширения |

245| Logout | - | Выход из учётной записи Anthropic |246| Logout | - | Выход из учётной записи Anthropic |


307### Параметры расширения308### Параметры расширения

308 309 

309| Параметр | По умолчанию | Описание |310| Параметр | По умолчанию | Описание |

310| --------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |311| ----------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

311| `useTerminal` | `false` | Запустить Claude в режиме терминала вместо графической панели |312| `useTerminal` | `false` | Запустить Claude в режиме терминала вместо графической панели |

312| `initialPermissionMode` | `default` | Управляет запросами одобрения для новых бесед: `default`, `plan`, `acceptEdits` или `bypassPermissions`. См. [режимы разрешений](/ru/permission-modes). |313| `initialPermissionMode` | `default` | Управляет запросами одобрения для новых бесед: `default`, `plan`, `acceptEdits` или `bypassPermissions`. См. [режимы разрешений](/ru/permission-modes). |

313| `preferredLocation` | `panel` | Где открывается Claude: `sidebar` (справа) или `panel` (новая вкладка) |314| `preferredLocation` | `panel` | Где открывается Claude: `sidebar` (справа) или `panel` (новая вкладка) |

314| `autosave` | `true` | Автоматически сохранять файлы перед тем, как Claude их читает или записывает |315| `autosave` | `true` | Автоматически сохранять файлы перед тем, как Claude их читает или записывает |

315| `useCtrlEnterToSend` | `false` | Использовать Ctrl/Cmd+Enter вместо Enter для отправки запросов |316| `useCtrlEnterToSend` | `false` | Использовать Ctrl/Cmd+Enter вместо Enter для отправки запросов |

316| `enableNewConversationShortcut` | `false` | Включить Cmd/Ctrl+N для начала новой беседы |317| `enableNewConversationShortcut` | `false` | Включить Cmd/Ctrl+N для начала новой беседы |

318| `enableReopenClosedSessionShortcut` | `true` | Использовать Cmd/Ctrl+Shift+T для повторного открытия самой недавно закрытой вкладки сеанса Claude. Когда последняя закрытая вкладка не была сеансом Claude, сочетание клавиш запускает обычную команду VS Code для повторного открытия закрытого редактора. |

317| `hideOnboarding` | `false` | Скрыть контрольный список адаптации (значок выпускной шапки) |319| `hideOnboarding` | `false` | Скрыть контрольный список адаптации (значок выпускной шапки) |

318| `respectGitIgnore` | `true` | Исключить шаблоны .gitignore из поиска файлов |320| `respectGitIgnore` | `true` | Исключить шаблоны .gitignore из поиска файлов |

319| `usePythonEnvironment` | `true` | Активировать окружение Python рабочего пространства при запуске Claude. Требует расширение Python. |321| `usePythonEnvironment` | `true` | Активировать окружение Python рабочего пространства при запуске Claude. Требует расширение Python. |