SpyBara
Go Premium

Documentation 2026-05-05 23:00 UTC to 2026-05-07 22:59 UTC

32 files changed +1,424 −189. 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/custom-tools.md +833 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Предоставьте Claude пользовательские инструменты

6 

7> Определите пользовательские инструменты с помощью встроенного MCP-сервера Agent SDK, чтобы Claude мог вызывать ваши функции, обращаться к вашим API и выполнять операции, специфичные для вашей области.

8 

9Пользовательские инструменты расширяют Agent SDK, позволяя вам определять собственные функции, которые Claude может вызывать во время разговора. Используя встроенный MCP-сервер SDK, вы можете предоставить Claude доступ к базам данных, внешним API, логике, специфичной для вашей области, или любым другим возможностям, которые требует ваше приложение.

10 

11В этом руководстве рассказывается, как определять инструменты с входными схемами и обработчиками, объединять их в MCP-сервер, передавать их в `query` и контролировать, к каким инструментам Claude может получить доступ. Оно также охватывает обработку ошибок, аннотации инструментов и возврат нетекстового содержимого, такого как изображения.

12 

13## Краткая справка

14 

15| Если вы хотите... | Сделайте это |

16| :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

17| Определить инструмент | Используйте [`@tool`](/ru/agent-sdk/python#tool) (Python) или [`tool()`](/ru/agent-sdk/typescript#tool) (TypeScript) с именем, описанием, схемой и обработчиком. См. [Создание пользовательского инструмента](#create-a-custom-tool). |

18| Зарегистрировать инструмент с Claude | Оберните в `create_sdk_mcp_server` / `createSdkMcpServer` и передайте в `mcpServers` в `query()`. См. [Вызов пользовательского инструмента](#call-a-custom-tool). |

19| Предварительно одобрить инструмент | Добавьте в разрешённые инструменты. См. [Настройка разрешённых инструментов](#configure-allowed-tools). |

20| Удалить встроенный инструмент из контекста Claude | Передайте массив `tools`, содержащий только встроенные инструменты, которые вы хотите. См. [Настройка разрешённых инструментов](#configure-allowed-tools). |

21| Позволить Claude вызывать инструменты параллельно | Установите `readOnlyHint: true` на инструментах без побочных эффектов. См. [Добавление аннотаций инструментов](#add-tool-annotations). |

22| Обработать ошибки без остановки цикла | Верните `isError: true` вместо выброса исключения. См. [Обработка ошибок](#handle-errors). |

23| Вернуть изображения или файлы | Используйте блоки `image` или `resource` в массиве содержимого. См. [Возврат изображений и ресурсов](#return-images-and-resources). |

24| Вернуть результат в формате машиночитаемого JSON | Установите `structuredContent` на результат. См. [Возврат структурированных данных](#return-structured-data). |

25| Масштабировать до множества инструментов | Используйте [поиск инструментов](/ru/agent-sdk/tool-search) для загрузки инструментов по требованию. |

26 

27## Создание пользовательского инструмента

28 

29Инструмент определяется четырьмя частями, передаваемыми в качестве аргументов вспомогательной функции [`tool()`](/ru/agent-sdk/typescript#tool) в TypeScript или декоратору [`@tool`](/ru/agent-sdk/python#tool) в Python:

30 

31* **Имя:** уникальный идентификатор, который Claude использует для вызова инструмента.

32* **Описание:** что делает инструмент. Claude читает это, чтобы решить, когда его вызывать.

33* **Входная схема:** аргументы, которые должен предоставить Claude. В TypeScript это всегда [схема Zod](https://zod.dev/), и типы `args` обработчика автоматически выводятся из неё. В Python это словарь, отображающий имена на типы, например `{"latitude": float}`, который SDK преобразует в JSON Schema для вас. Декоратор Python также принимает полный словарь [JSON Schema](https://json-schema.org/understanding-json-schema/about) непосредственно, когда вам нужны перечисления, диапазоны, необязательные поля или вложенные объекты.

34* **Обработчик:** асинхронная функция, которая запускается, когда Claude вызывает инструмент. Она получает проверенные аргументы и должна вернуть объект с:

35 * `content` (обязательно): массив блоков результатов, каждый с типом `"text"`, `"image"` или `"resource"`. См. [Возврат изображений и ресурсов](#return-images-and-resources) для нетекстовых блоков.

36 * `structuredContent` (необязательно): объект JSON, содержащий результат как машиночитаемые данные, возвращаемые вместе с `content`. См. [Возврат структурированных данных](#return-structured-data).

37 * `isError` (необязательно): установите на `true`, чтобы сигнализировать об ошибке инструмента, чтобы Claude мог на неё реагировать. См. [Обработка ошибок](#handle-errors).

38 

39После определения инструмента оберните его в сервер с помощью [`createSdkMcpServer`](/ru/agent-sdk/typescript#createsdkmcpserver) (TypeScript) или [`create_sdk_mcp_server`](/ru/agent-sdk/python#create_sdk_mcp_server) (Python). Сервер работает встроенным образом внутри вашего приложения, а не как отдельный процесс.

40 

41### Пример инструмента погоды

42 

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

44 

45<CodeGroup>

46 ```python Python theme={null}

47 from typing import Any

48 import httpx

49 from claude_agent_sdk import tool, create_sdk_mcp_server

50 

51 

52 # Define a tool: name, description, input schema, handler

53 @tool(

54 "get_temperature",

55 "Get the current temperature at a location",

56 {"latitude": float, "longitude": float},

57 )

58 async def get_temperature(args: dict[str, Any]) -> dict[str, Any]:

59 async with httpx.AsyncClient() as client:

60 response = await client.get(

61 "https://api.open-meteo.com/v1/forecast",

62 params={

63 "latitude": args["latitude"],

64 "longitude": args["longitude"],

65 "current": "temperature_2m",

66 "temperature_unit": "fahrenheit",

67 },

68 )

69 data = response.json()

70 

71 # Return a content array - Claude sees this as the tool result

72 return {

73 "content": [

74 {

75 "type": "text",

76 "text": f"Temperature: {data['current']['temperature_2m']}°F",

77 }

78 ]

79 }

80 

81 

82 # Wrap the tool in an in-process MCP server

83 weather_server = create_sdk_mcp_server(

84 name="weather",

85 version="1.0.0",

86 tools=[get_temperature],

87 )

88 ```

89 

90 ```typescript TypeScript theme={null}

91 import { tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";

92 import { z } from "zod";

93 

94 // Define a tool: name, description, input schema, handler

95 const getTemperature = tool(

96 "get_temperature",

97 "Get the current temperature at a location",

98 {

99 latitude: z.number().describe("Latitude coordinate"), // .describe() adds a field description Claude sees

100 longitude: z.number().describe("Longitude coordinate")

101 },

102 async (args) => {

103 // args is typed from the schema: { latitude: number; longitude: number }

104 const response = await fetch(

105 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&current=temperature_2m&temperature_unit=fahrenheit`

106 );

107 const data: any = await response.json();

108 

109 // Return a content array - Claude sees this as the tool result

110 return {

111 content: [{ type: "text", text: `Temperature: ${data.current.temperature_2m}°F` }]

112 };

113 }

114 );

115 

116 // Wrap the tool in an in-process MCP server

117 const weatherServer = createSdkMcpServer({

118 name: "weather",

119 version: "1.0.0",

120 tools: [getTemperature]

121 });

122 ```

123</CodeGroup>

124 

125См. справку [`tool()`](/ru/agent-sdk/typescript#tool) TypeScript или справку [`@tool`](/ru/agent-sdk/python#tool) Python для полных деталей параметров, включая форматы входных JSON Schema и структуру возвращаемого значения.

126 

127<Tip>

128 Чтобы сделать параметр необязательным: в TypeScript добавьте `.default()` к полю Zod. В Python словарь схемы рассматривает каждый ключ как обязательный, поэтому оставьте параметр вне схемы, упомяните его в строке описания и читайте его с помощью `args.get()` в обработчике. Инструмент [`get_precipitation_chance` ниже](#add-more-tools) показывает оба паттерна.

129</Tip>

130 

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

132 

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

134 

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

136 

137<CodeGroup>

138 ```python Python theme={null}

139 import asyncio

140 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

141 

142 

143 async def main():

144 options = ClaudeAgentOptions(

145 mcp_servers={"weather": weather_server},

146 allowed_tools=["mcp__weather__get_temperature"],

147 )

148 

149 async for message in query(

150 prompt="What's the temperature in San Francisco?",

151 options=options,

152 ):

153 # ResultMessage is the final message after all tool calls complete

154 if isinstance(message, ResultMessage) and message.subtype == "success":

155 print(message.result)

156 

157 

158 asyncio.run(main())

159 ```

160 

161 ```typescript TypeScript theme={null}

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

163 

164 for await (const message of query({

165 prompt: "What's the temperature in San Francisco?",

166 options: {

167 mcpServers: { weather: weatherServer },

168 allowedTools: ["mcp__weather__get_temperature"]

169 }

170 })) {

171 // "result" is the final message after all tool calls complete

172 if (message.type === "result" && message.subtype === "success") {

173 console.log(message.result);

174 }

175 }

176 ```

177</CodeGroup>

178 

179### Добавление дополнительных инструментов

180 

181Сервер содержит столько инструментов, сколько вы перечислите в его массиве `tools`. Если на сервере более одного инструмента, вы можете перечислить каждый в `allowedTools` отдельно или использовать подстановочный знак `mcp__weather__*`, чтобы охватить каждый инструмент, который сервер предоставляет.

182 

183Пример ниже добавляет второй инструмент, `get_precipitation_chance`, к `weatherServer` из [примера инструмента погоды](#weather-tool-example) и перестраивает его с обоими инструментами в массиве.

184 

185<CodeGroup>

186 ```python Python theme={null}

187 # Define a second tool for the same server

188 @tool(

189 "get_precipitation_chance",

190 "Get the hourly precipitation probability for a location. "

191 "Optionally pass 'hours' (1-24) to control how many hours to return.",

192 {"latitude": float, "longitude": float},

193 )

194 async def get_precipitation_chance(args: dict[str, Any]) -> dict[str, Any]:

195 # 'hours' isn't in the schema - read it with .get() to make it optional

196 hours = args.get("hours", 12)

197 async with httpx.AsyncClient() as client:

198 response = await client.get(

199 "https://api.open-meteo.com/v1/forecast",

200 params={

201 "latitude": args["latitude"],

202 "longitude": args["longitude"],

203 "hourly": "precipitation_probability",

204 "forecast_days": 1,

205 },

206 )

207 data = response.json()

208 chances = data["hourly"]["precipitation_probability"][:hours]

209 

210 return {

211 "content": [

212 {

213 "type": "text",

214 "text": f"Next {hours} hours: {'%, '.join(map(str, chances))}%",

215 }

216 ]

217 }

218 

219 

220 # Rebuild the server with both tools in the array

221 weather_server = create_sdk_mcp_server(

222 name="weather",

223 version="1.0.0",

224 tools=[get_temperature, get_precipitation_chance],

225 )

226 ```

227 

228 ```typescript TypeScript theme={null}

229 // Define a second tool for the same server

230 const getPrecipitationChance = tool(

231 "get_precipitation_chance",

232 "Get the hourly precipitation probability for a location",

233 {

234 latitude: z.number(),

235 longitude: z.number(),

236 hours: z

237 .number()

238 .int()

239 .min(1)

240 .max(24)

241 .default(12) // .default() makes the parameter optional

242 .describe("How many hours of forecast to return")

243 },

244 async (args) => {

245 const response = await fetch(

246 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&hourly=precipitation_probability&forecast_days=1`

247 );

248 const data: any = await response.json();

249 const chances = data.hourly.precipitation_probability.slice(0, args.hours);

250 

251 return {

252 content: [{ type: "text", text: `Next ${args.hours} hours: ${chances.join("%, ")}%` }]

253 };

254 }

255 );

256 

257 // Rebuild the server with both tools in the array

258 const weatherServer = createSdkMcpServer({

259 name: "weather",

260 version: "1.0.0",

261 tools: [getTemperature, getPrecipitationChance]

262 });

263 ```

264</CodeGroup>

265 

266Каждый инструмент в этом массиве потребляет пространство контекстного окна на каждом ходу. Если вы определяете десятки инструментов, см. [поиск инструментов](/ru/agent-sdk/tool-search) для загрузки их по требованию.

267 

268### Добавление аннотаций инструментов

269 

270[Аннотации инструментов](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations) — это необязательные метаданные, описывающие поведение инструмента. Передайте их в качестве пятого аргумента вспомогательной функции `tool()` в TypeScript или через аргумент ключевого слова `annotations` для декоратора `@tool` в Python. Все поля подсказок являются логическими значениями.

271 

272| Поле | По умолчанию | Значение |

273| :---------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------- |

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

275| `destructiveHint` | `true` | Инструмент может выполнять деструктивные обновления. Только информационное. |

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

277| `openWorldHint` | `true` | Инструмент обращается к системам вне вашего процесса. Только информационное. |

278 

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

280 

281Этот пример добавляет `readOnlyHint` к инструменту `get_temperature` из [примера инструмента погоды](#weather-tool-example).

282 

283<CodeGroup>

284 ```python Python theme={null}

285 from claude_agent_sdk import tool, ToolAnnotations

286 

287 

288 @tool(

289 "get_temperature",

290 "Get the current temperature at a location",

291 {"latitude": float, "longitude": float},

292 annotations=ToolAnnotations(

293 readOnlyHint=True

294 ), # Lets Claude batch this with other read-only calls

295 )

296 async def get_temperature(args):

297 return {"content": [{"type": "text", "text": "..."}]}

298 ```

299 

300 ```typescript TypeScript theme={null}

301 tool(

302 "get_temperature",

303 "Get the current temperature at a location",

304 { latitude: z.number(), longitude: z.number() },

305 async (args) => ({ content: [{ type: "text", text: `...` }] }),

306 { annotations: { readOnlyHint: true } } // Lets Claude batch this with other read-only calls

307 );

308 ```

309</CodeGroup>

310 

311См. `ToolAnnotations` в справке [TypeScript](/ru/agent-sdk/typescript#toolannotations) или [Python](/ru/agent-sdk/python#toolannotations).

312 

313## Контроль доступа к инструментам

314 

315[Пример инструмента погоды](#weather-tool-example) зарегистрировал сервер и перечислил инструменты в `allowedTools`. Этот раздел охватывает, как конструируются имена инструментов и как ограничить доступ, когда у вас есть несколько инструментов или вы хотите ограничить встроенные инструменты.

316 

317### Формат имени инструмента

318 

319Когда инструменты MCP предоставляются Claude, их имена следуют определённому формату:

320 

321* Паттерн: `mcp__{server_name}__{tool_name}`

322* Пример: инструмент с именем `get_temperature` на сервере `weather` становится `mcp__weather__get_temperature`

323 

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

325 

326Опция `tools` и списки разрешённых/запрещённых инструментов работают на отдельных уровнях. `tools` контролирует, какие встроенные инструменты появляются в контексте Claude. Списки разрешённых и запрещённых инструментов контролируют, одобрены ли вызовы или отклонены после того, как Claude попытается их выполнить.

327 

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

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

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

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

332| разрешённые инструменты | Разрешение | Перечисленные инструменты работают без запроса разрешения. Неперечисленные инструменты остаются доступными; вызовы проходят через [поток разрешений](/ru/agent-sdk/permissions). |

333| запрещённые инструменты | Разрешение | Каждый вызов перечисленного инструмента отклоняется. Инструмент остаётся в контексте Claude, поэтому Claude может всё ещё попытаться его использовать перед отклонением вызова. |

334 

335Чтобы ограничить, какие встроенные инструменты может использовать Claude, предпочитайте `tools` запрещённым инструментам. Пропуск инструмента из `tools` удаляет его из контекста, чтобы Claude никогда не пытался его использовать; перечисление его в `disallowedTools` (Python: `disallowed_tools`) блокирует вызов, но оставляет инструмент видимым, поэтому Claude может потратить ход, пытаясь его использовать. См. [Настройка разрешений](/ru/agent-sdk/permissions) для полного порядка оценки.

336 

337## Обработка ошибок

338 

339То, как ваш обработчик сообщает об ошибках, определяет, продолжается ли цикл агента или останавливается:

340 

341| Что происходит | Результат |

342| :---------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ |

343| Обработчик выбрасывает неперехваченное исключение | Цикл агента останавливается. Claude никогда не видит ошибку, и вызов `query` завершается ошибкой. |

344| Обработчик перехватывает ошибку и возвращает `isError: true` (TS) / `"is_error": True` (Python) | Цикл агента продолжается. Claude видит ошибку как данные и может повторить попытку, попробовать другой инструмент или объяснить сбой. |

345 

346Пример ниже перехватывает два вида сбоев внутри обработчика вместо того, чтобы позволить им выбросить исключение. Статус HTTP, отличный от 200, перехватывается из ответа и возвращается как результат ошибки. Ошибка сети или неверный JSON перехватываются окружающим `try/except` (Python) или `try/catch` (TypeScript) и также возвращаются как результат ошибки. В обоих случаях обработчик возвращается нормально и цикл агента продолжается.

347 

348<CodeGroup>

349 ```python Python theme={null}

350 import json

351 import httpx

352 from typing import Any

353 

354 

355 @tool(

356 "fetch_data",

357 "Fetch data from an API",

358 {"endpoint": str}, # Simple schema

359 )

360 async def fetch_data(args: dict[str, Any]) -> dict[str, Any]:

361 try:

362 async with httpx.AsyncClient() as client:

363 response = await client.get(args["endpoint"])

364 if response.status_code != 200:

365 # Return the failure as a tool result so Claude can react to it.

366 # is_error marks this as a failed call rather than odd-looking data.

367 return {

368 "content": [

369 {

370 "type": "text",

371 "text": f"API error: {response.status_code} {response.reason_phrase}",

372 }

373 ],

374 "is_error": True,

375 }

376 

377 data = response.json()

378 return {"content": [{"type": "text", "text": json.dumps(data, indent=2)}]}

379 except Exception as e:

380 # Catching here keeps the agent loop alive. An uncaught exception

381 # would end the whole query() call.

382 return {

383 "content": [{"type": "text", "text": f"Failed to fetch data: {str(e)}"}],

384 "is_error": True,

385 }

386 ```

387 

388 ```typescript TypeScript theme={null}

389 tool(

390 "fetch_data",

391 "Fetch data from an API",

392 {

393 endpoint: z.string().url().describe("API endpoint URL")

394 },

395 async (args) => {

396 try {

397 const response = await fetch(args.endpoint);

398 

399 if (!response.ok) {

400 // Return the failure as a tool result so Claude can react to it.

401 // isError marks this as a failed call rather than odd-looking data.

402 return {

403 content: [

404 {

405 type: "text",

406 text: `API error: ${response.status} ${response.statusText}`

407 }

408 ],

409 isError: true

410 };

411 }

412 

413 const data = await response.json();

414 return {

415 content: [

416 {

417 type: "text",

418 text: JSON.stringify(data, null, 2)

419 }

420 ]

421 };

422 } catch (error) {

423 // Catching here keeps the agent loop alive. An uncaught throw

424 // would end the whole query() call.

425 return {

426 content: [

427 {

428 type: "text",

429 text: `Failed to fetch data: ${error instanceof Error ? error.message : String(error)}`

430 }

431 ],

432 isError: true

433 };

434 }

435 }

436 );

437 ```

438</CodeGroup>

439 

440## Возврат изображений и ресурсов

441 

442Массив `content` в результате инструмента принимает блоки `text`, `image` и `resource`. Вы можете смешивать их в одном ответе.

443 

444### Изображения

445 

446Блок изображения содержит байты изображения встроенным образом, закодированные как base64. Нет поля URL. Чтобы вернуть изображение, которое находится по URL, получите его в обработчике, прочитайте байты ответа и закодируйте их в base64 перед возвратом. Результат обрабатывается как визуальный ввод.

447 

448| Поле | Тип | Примечания |

449| :--------- | :-------- | :----------------------------------------------------------------------------------- |

450| `type` | `"image"` | |

451| `data` | `string` | Байты в кодировке Base64. Только сырой base64, без префикса `data:image/...;base64,` |

452| `mimeType` | `string` | Обязательно. Например `image/png`, `image/jpeg`, `image/webp`, `image/gif` |

453 

454<CodeGroup>

455 ```python Python theme={null}

456 import base64

457 import httpx

458 

459 

460 # Define a tool that fetches an image from a URL and returns it to Claude

461 @tool("fetch_image", "Fetch an image from a URL and return it to Claude", {"url": str})

462 async def fetch_image(args):

463 async with httpx.AsyncClient() as client: # Fetch the image bytes

464 response = await client.get(args["url"])

465 

466 return {

467 "content": [

468 {

469 "type": "image",

470 "data": base64.b64encode(response.content).decode(

471 "ascii"

472 ), # Base64-encode the raw bytes

473 "mimeType": response.headers.get(

474 "content-type", "image/png"

475 ), # Read MIME type from the response

476 }

477 ]

478 }

479 ```

480 

481 ```typescript TypeScript theme={null}

482 tool(

483 "fetch_image",

484 "Fetch an image from a URL and return it to Claude",

485 {

486 url: z.string().url()

487 },

488 async (args) => {

489 const response = await fetch(args.url); // Fetch the image bytes

490 const buffer = Buffer.from(await response.arrayBuffer()); // Read into a Buffer for base64 encoding

491 const mimeType = response.headers.get("content-type") ?? "image/png";

492 

493 return {

494 content: [

495 {

496 type: "image",

497 data: buffer.toString("base64"), // Base64-encode the raw bytes

498 mimeType

499 }

500 ]

501 };

502 }

503 );

504 ```

505</CodeGroup>

506 

507### Ресурсы

508 

509Блок ресурса встраивает часть содержимого, идентифицируемую по URI. URI — это метка для Claude, чтобы ссылаться на неё; фактическое содержимое находится в поле `text` или `blob` блока. Используйте это, когда ваш инструмент производит что-то, что имеет смысл адресовать по имени позже, например сгенерированный файл или запись из внешней системы.

510 

511| Поле | Тип | Примечания |

512| :------------------ | :----------- | :----------------------------------------------------------------- |

513| `type` | `"resource"` | |

514| `resource.uri` | `string` | Идентификатор содержимого. Любая схема URI |

515| `resource.text` | `string` | Содержимое, если это текст. Предоставьте это или `blob`, но не оба |

516| `resource.blob` | `string` | Содержимое в кодировке base64, если это двоичное |

517| `resource.mimeType` | `string` | Необязательно |

518 

519Этот пример показывает блок ресурса, возвращаемый из обработчика инструмента. URI `file:///tmp/report.md` — это метка, на которую Claude может ссылаться позже; SDK не читает из этого пути.

520 

521<CodeGroup>

522 ```typescript TypeScript theme={null}

523 return {

524 content: [

525 {

526 type: "resource",

527 resource: {

528 uri: "file:///tmp/report.md", // Label for Claude to reference, not a path the SDK reads

529 mimeType: "text/markdown",

530 text: "# Report\n..." // The actual content, inline

531 }

532 }

533 ]

534 };

535 ```

536 

537 ```python Python theme={null}

538 return {

539 "content": [

540 {

541 "type": "resource",

542 "resource": {

543 "uri": "file:///tmp/report.md", # Label for Claude to reference, not a path the SDK reads

544 "mimeType": "text/markdown",

545 "text": "# Report\n...", # The actual content, inline

546 },

547 }

548 ]

549 }

550 ```

551</CodeGroup>

552 

553Эти формы блоков происходят из типа MCP `CallToolResult`. См. [спецификацию MCP](https://modelcontextprotocol.io/specification/2025-06-18/server/tools#tool-result) для полного определения.

554 

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

556 

557`structuredContent` — это необязательный объект JSON на результате, отдельный от массива `content`. Используйте его для возврата сырых значений, которые Claude может читать как точные поля вместо их анализа из текстовой строки или изображения.

558 

559Когда установлен `structuredContent`, Claude получает JSON плюс любые блоки изображения или ресурса из `content`. Текстовые блоки в `content` не пересылаются, так как предполагается, что они дублируют структурированные данные. Пример ниже отображает диаграмму как блок изображения и возвращает точки данных позади неё в `structuredContent` из того же обработчика.

560 

561```typescript TypeScript theme={null}

562return {

563 content: [

564 {

565 type: "image",

566 data: chartPngBuffer.toString("base64"),

567 mimeType: "image/png"

568 }

569 ],

570 structuredContent: {

571 series: "temperature_2m",

572 unit: "fahrenheit",

573 points: [62.1, 63.4, 65.0, 64.2]

574 }

575};

576```

577 

578<Note>

579 Декоратор Python `@tool` пересылает только `content` и `is_error` из словаря возврата обработчика. Чтобы вернуть `structuredContent` из Python, запустите [автономный MCP-сервер](/ru/agent-sdk/mcp) вместо встроенного сервера SDK.

580</Note>

581 

582## Пример: конвертер единиц

583 

584Этот инструмент преобразует значения между единицами длины, температуры и веса. Пользователь может спросить "преобразовать 100 километров в мили" или "что такое 72°F в Цельсиях", и Claude выбирает правильный тип единицы и единицы из запроса.

585 

586Он демонстрирует два паттерна:

587 

588* **Схемы перечисления:** `unit_type` ограничен фиксированным набором значений. В TypeScript используйте `z.enum()`. В Python словарь схемы не поддерживает перечисления, поэтому требуется полный словарь JSON Schema.

589* **Обработка неподдерживаемого ввода:** когда пара преобразования не найдена, обработчик возвращает `isError: true`, чтобы Claude мог сказать пользователю, что пошло не так, вместо того чтобы рассматривать сбой как нормальный результат.

590 

591<CodeGroup>

592 ```python Python theme={null}

593 from typing import Any

594 from claude_agent_sdk import tool, create_sdk_mcp_server

595 

596 

597 # z.enum() in TypeScript becomes an "enum" constraint in JSON Schema.

598 # The dict schema has no equivalent, so full JSON Schema is required.

599 @tool(

600 "convert_units",

601 "Convert a value from one unit to another",

602 {

603 "type": "object",

604 "properties": {

605 "unit_type": {

606 "type": "string",

607 "enum": ["length", "temperature", "weight"],

608 "description": "Category of unit",

609 },

610 "from_unit": {

611 "type": "string",

612 "description": "Unit to convert from, e.g. kilometers, fahrenheit, pounds",

613 },

614 "to_unit": {"type": "string", "description": "Unit to convert to"},

615 "value": {"type": "number", "description": "Value to convert"},

616 },

617 "required": ["unit_type", "from_unit", "to_unit", "value"],

618 },

619 )

620 async def convert_units(args: dict[str, Any]) -> dict[str, Any]:

621 conversions = {

622 "length": {

623 "kilometers_to_miles": lambda v: v * 0.621371,

624 "miles_to_kilometers": lambda v: v * 1.60934,

625 "meters_to_feet": lambda v: v * 3.28084,

626 "feet_to_meters": lambda v: v * 0.3048,

627 },

628 "temperature": {

629 "celsius_to_fahrenheit": lambda v: (v * 9) / 5 + 32,

630 "fahrenheit_to_celsius": lambda v: (v - 32) * 5 / 9,

631 "celsius_to_kelvin": lambda v: v + 273.15,

632 "kelvin_to_celsius": lambda v: v - 273.15,

633 },

634 "weight": {

635 "kilograms_to_pounds": lambda v: v * 2.20462,

636 "pounds_to_kilograms": lambda v: v * 0.453592,

637 "grams_to_ounces": lambda v: v * 0.035274,

638 "ounces_to_grams": lambda v: v * 28.3495,

639 },

640 }

641 

642 key = f"{args['from_unit']}_to_{args['to_unit']}"

643 fn = conversions.get(args["unit_type"], {}).get(key)

644 

645 if not fn:

646 return {

647 "content": [

648 {

649 "type": "text",

650 "text": f"Unsupported conversion: {args['from_unit']} to {args['to_unit']}",

651 }

652 ],

653 "is_error": True,

654 }

655 

656 result = fn(args["value"])

657 return {

658 "content": [

659 {

660 "type": "text",

661 "text": f"{args['value']} {args['from_unit']} = {result:.4f} {args['to_unit']}",

662 }

663 ]

664 }

665 

666 

667 converter_server = create_sdk_mcp_server(

668 name="converter",

669 version="1.0.0",

670 tools=[convert_units],

671 )

672 ```

673 

674 ```typescript TypeScript theme={null}

675 import { tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";

676 import { z } from "zod";

677 

678 const convert = tool(

679 "convert_units",

680 "Convert a value from one unit to another",

681 {

682 unit_type: z.enum(["length", "temperature", "weight"]).describe("Category of unit"),

683 from_unit: z

684 .string()

685 .describe("Unit to convert from, e.g. kilometers, fahrenheit, pounds"),

686 to_unit: z.string().describe("Unit to convert to"),

687 value: z.number().describe("Value to convert")

688 },

689 async (args) => {

690 type Conversions = Record<string, Record<string, (v: number) => number>>;

691 

692 const conversions: Conversions = {

693 length: {

694 kilometers_to_miles: (v) => v * 0.621371,

695 miles_to_kilometers: (v) => v * 1.60934,

696 meters_to_feet: (v) => v * 3.28084,

697 feet_to_meters: (v) => v * 0.3048

698 },

699 temperature: {

700 celsius_to_fahrenheit: (v) => (v * 9) / 5 + 32,

701 fahrenheit_to_celsius: (v) => ((v - 32) * 5) / 9,

702 celsius_to_kelvin: (v) => v + 273.15,

703 kelvin_to_celsius: (v) => v - 273.15

704 },

705 weight: {

706 kilograms_to_pounds: (v) => v * 2.20462,

707 pounds_to_kilograms: (v) => v * 0.453592,

708 grams_to_ounces: (v) => v * 0.035274,

709 ounces_to_grams: (v) => v * 28.3495

710 }

711 };

712 

713 const key = `${args.from_unit}_to_${args.to_unit}`;

714 const fn = conversions[args.unit_type]?.[key];

715 

716 if (!fn) {

717 return {

718 content: [

719 {

720 type: "text",

721 text: `Unsupported conversion: ${args.from_unit} to ${args.to_unit}`

722 }

723 ],

724 isError: true

725 };

726 }

727 

728 const result = fn(args.value);

729 return {

730 content: [

731 {

732 type: "text",

733 text: `${args.value} ${args.from_unit} = ${result.toFixed(4)} ${args.to_unit}`

734 }

735 ]

736 };

737 }

738 );

739 

740 const converterServer = createSdkMcpServer({

741 name: "converter",

742 version: "1.0.0",

743 tools: [convert]

744 });

745 ```

746</CodeGroup>

747 

748После определения сервера передайте его в `query` так же, как в примере с погодой. Этот пример отправляет три разных запроса в цикле, чтобы показать, как один и тот же инструмент обрабатывает разные типы единиц. Для каждого ответа он проверяет объекты `AssistantMessage` (которые содержат вызовы инструментов, которые Claude сделал на этом ходу) и выводит каждый `ToolUseBlock` перед выводом финального текста `ResultMessage`. Это позволяет вам увидеть, когда Claude использует инструмент, а когда отвечает из своих собственных знаний.

749 

750<CodeGroup>

751 ```python Python theme={null}

752 import asyncio

753 from claude_agent_sdk import (

754 query,

755 ClaudeAgentOptions,

756 ResultMessage,

757 AssistantMessage,

758 ToolUseBlock,

759 )

760 

761 

762 async def main():

763 options = ClaudeAgentOptions(

764 mcp_servers={"converter": converter_server},

765 allowed_tools=["mcp__converter__convert_units"],

766 )

767 

768 prompts = [

769 "Convert 100 kilometers to miles.",

770 "What is 72°F in Celsius?",

771 "How many pounds is 5 kilograms?",

772 ]

773 

774 for prompt in prompts:

775 async for message in query(prompt=prompt, options=options):

776 if isinstance(message, AssistantMessage):

777 for block in message.content:

778 if isinstance(block, ToolUseBlock):

779 print(f"[tool call] {block.name}({block.input})")

780 elif isinstance(message, ResultMessage) and message.subtype == "success":

781 print(f"Q: {prompt}\nA: {message.result}\n")

782 

783 

784 asyncio.run(main())

785 ```

786 

787 ```typescript TypeScript theme={null}

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

789 

790 const prompts = [

791 "Convert 100 kilometers to miles.",

792 "What is 72°F in Celsius?",

793 "How many pounds is 5 kilograms?"

794 ];

795 

796 for (const prompt of prompts) {

797 for await (const message of query({

798 prompt,

799 options: {

800 mcpServers: { converter: converterServer },

801 allowedTools: ["mcp__converter__convert_units"]

802 }

803 })) {

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

805 for (const block of message.message.content) {

806 if (block.type === "tool_use") {

807 console.log(`[tool call] ${block.name}`, block.input);

808 }

809 }

810 } else if (message.type === "result" && message.subtype === "success") {

811 console.log(`Q: ${prompt}\nA: ${message.result}\n`);

812 }

813 }

814 }

815 ```

816</CodeGroup>

817 

818## Следующие шаги

819 

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

821 

822Отсюда:

823 

824* Если ваш сервер растёт до десятков инструментов, см. [поиск инструментов](/ru/agent-sdk/tool-search) для отложенной загрузки их до того, как Claude их потребует.

825* Чтобы подключиться к внешним MCP-серверам (файловая система, GitHub, Slack) вместо создания собственного, см. [Подключение MCP-серверов](/ru/agent-sdk/mcp).

826* Чтобы контролировать, какие инструменты работают автоматически, а какие требуют одобрения, см. [Настройка разрешений](/ru/agent-sdk/permissions).

827 

828## Связанная документация

829 

830* [Справка TypeScript SDK](/ru/agent-sdk/typescript)

831* [Справка Python SDK](/ru/agent-sdk/python)

832* [Документация MCP](https://modelcontextprotocol.io)

833* [Обзор SDK](/ru/agent-sdk/overview)

Details

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

758 system_prompt: str | SystemPromptPreset | None = None758 system_prompt: str | SystemPromptPreset | None = None

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

760 strict_mcp_config: bool = False

760 permission_mode: PermissionMode | None = None761 permission_mode: PermissionMode | None = None

761 continue_conversation: bool = False762 continue_conversation: bool = False

762 resume: str | None = None763 resume: str | None = None


781 hooks: dict[HookEvent, list[HookMatcher]] | None = None782 hooks: dict[HookEvent, list[HookMatcher]] | None = None

782 user: str | None = None783 user: str | None = None

783 include_partial_messages: bool = False784 include_partial_messages: bool = False

785 include_hook_events: bool = False

784 fork_session: bool = False786 fork_session: bool = False

785 agents: dict[str, AgentDefinition] | None = None787 agents: dict[str, AgentDefinition] | None = None

786 setting_sources: list[SettingSource] | None = None788 setting_sources: list[SettingSource] | None = None


788 plugins: list[SdkPluginConfig] = field(default_factory=list)790 plugins: list[SdkPluginConfig] = field(default_factory=list)

789 max_thinking_tokens: int | None = None # Deprecated: use thinking instead791 max_thinking_tokens: int | None = None # Deprecated: use thinking instead

790 thinking: ThinkingConfig | None = None792 thinking: ThinkingConfig | None = None

791 effort: Literal["low", "medium", "high", "max"] | None = None793 effort: Literal["low", "medium", "high", "xhigh", "max"] | None = None

792 enable_file_checkpointing: bool = False794 enable_file_checkpointing: bool = False

793 session_store: SessionStore | None = None795 session_store: SessionStore | None = None

794 session_store_flush: SessionStoreFlushMode = "batched"796 session_store_flush: SessionStoreFlushMode = "batched"


800| `allowed_tools` | `list[str]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами; неуказанные инструменты переходят к `permission_mode` и `can_use_tool`. Используйте `disallowed_tools` для блокировки инструментов. См. [Permissions](/ru/agent-sdk/permissions#allow-and-deny-rules) |802| `allowed_tools` | `list[str]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами; неуказанные инструменты переходят к `permission_mode` и `can_use_tool`. Используйте `disallowed_tools` для блокировки инструментов. См. [Permissions](/ru/agent-sdk/permissions#allow-and-deny-rules) |

801| `system_prompt` | `str \| SystemPromptPreset \| None` | `None` | Конфигурация системной подсказки. Передайте строку для пользовательской подсказки или используйте `{"type": "preset", "preset": "claude_code"}` для системной подсказки Claude Code. Добавьте `"append"` для расширения предустановки |803| `system_prompt` | `str \| SystemPromptPreset \| None` | `None` | Конфигурация системной подсказки. Передайте строку для пользовательской подсказки или используйте `{"type": "preset", "preset": "claude_code"}` для системной подсказки Claude Code. Добавьте `"append"` для расширения предустановки |

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

805| `strict_mcp_config` | `bool` | `False` | Когда `True`, используйте только servers, переданные в `mcp_servers`, и игнорируйте проект `.mcp.json`, параметры пользователя и MCP servers, предоставленные plugins. Соответствует флагу CLI `--strict-mcp-config` |

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

804| `continue_conversation` | `bool` | `False` | Продолжить самый последний разговор |807| `continue_conversation` | `bool` | `False` | Продолжить самый последний разговор |

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


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

817| `settings` | `str \| None` | `None` | Путь к файлу параметров |820| `settings` | `str \| None` | `None` | Путь к файлу параметров |

818| `add_dirs` | `list[str \| Path]` | `[]` | Дополнительные каталоги, к которым Claude может получить доступ |821| `add_dirs` | `list[str \| Path]` | `[]` | Дополнительные каталоги, к которым Claude может получить доступ |

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

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

821| `max_buffer_size` | `int \| None` | `None` | Максимальные байты при буферизации stdout CLI |824| `max_buffer_size` | `int \| None` | `None` | Максимальные байты при буферизации stdout CLI |

822| `debug_stderr` | `Any` | `sys.stderr` | *Устарело* - Объект, подобный файлу, для вывода отладки. Вместо этого используйте обратный вызов `stderr` |825| `debug_stderr` | `Any` | `sys.stderr` | *Устарело* - Объект, подобный файлу, для вывода отладки. Вместо этого используйте обратный вызов `stderr` |


825| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Конфигурации hooks для перехвата событий |828| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Конфигурации hooks для перехвата событий |

826| `user` | `str \| None` | `None` | Идентификатор пользователя |829| `user` | `str \| None` | `None` | Идентификатор пользователя |

827| `include_partial_messages` | `bool` | `False` | Включить события потоковой передачи частичных сообщений. Когда включено, выдаются сообщения [`StreamEvent`](#streamevent) |830| `include_partial_messages` | `bool` | `False` | Включить события потоковой передачи частичных сообщений. Когда включено, выдаются сообщения [`StreamEvent`](#streamevent) |

831| `include_hook_events` | `bool` | `False` | Включить события жизненного цикла hooks в поток сообщений как объекты `HookEventMessage` |

828| `fork_session` | `bool` | `False` | При возобновлении с `resume` разветвитесь на новый ID сеанса вместо продолжения исходного сеанса |832| `fork_session` | `bool` | `False` | При возобновлении с `resume` разветвитесь на новый ID сеанса вместо продолжения исходного сеанса |

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

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


832| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Контролируйте, какие параметры файловой системы загружать. Передайте `[]` для отключения пользовательских, проектных и локальных параметров. Управляемые параметры политики загружаются независимо. См. [Use Claude Code features](/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |836| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Контролируйте, какие параметры файловой системы загружать. Передайте `[]` для отключения пользовательских, проектных и локальных параметров. Управляемые параметры политики загружаются независимо. См. [Use Claude Code features](/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

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

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

835| `effort` | `Literal["low", "medium", "high", "max"] \| None` | `None` | Уровень усилий для глубины мышления |839| `effort` | `Literal["low", "medium", "high", "xhigh", "max"] \| None` | `None` | Уровень усилий для глубины мышления |

836| `session_store` | [`SessionStore`](/ru/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Зеркалируйте стенограммы сеансов во внешний бэкэнд, чтобы любой хост мог их возобновить. См. [Persist sessions to external storage](/ru/agent-sdk/session-storage) |840| `session_store` | [`SessionStore`](/ru/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Зеркалируйте стенограммы сеансов во внешний бэкэнд, чтобы любой хост мог их возобновить. См. [Persist sessions to external storage](/ru/agent-sdk/session-storage) |

837| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Когда сбрасывать записи зеркальной стенограммы в `session_store`. `"batched"` сбрасывает один раз за ход или когда буфер заполняется; `"eager"` запускает фоновый сброс после каждого кадра. Игнорируется, когда `session_store` равен `None` |841| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Когда сбрасывать записи зеркальной стенограммы в `session_store`. `"batched"` сбрасывает один раз за ход или когда буфер заполняется; `"eager"` запускает фоновый сброс после каждого кадра. Игнорируется, когда `session_store` равен `None` |

838 842 

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

844 

845Подпроцесс CLI читает несколько переменных окружения, которые управляют тайм-аутами API и обнаружением зависания. Передайте их через `ClaudeAgentOptions.env`:

846 

847```python theme={null}

848options = ClaudeAgentOptions(

849 env={

850 "API_TIMEOUT_MS": "120000",

851 "CLAUDE_CODE_MAX_RETRIES": "2",

852 "CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS": "120000",

853 },

854)

855```

856 

857* `API_TIMEOUT_MS`: тайм-аут для каждого запроса на клиенте Anthropic в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем подагентам.

858* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`. Каждая повторная попытка получает свое собственное окно `API_TIMEOUT_MS`, поэтому наихудшее время стены примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс отступ.

859* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: сторожевой таймер зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании он прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.

860* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки прибыли, но тело ответа перестает потоковать. По умолчанию отключено. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.

861 

839### `OutputFormat`862### `OutputFormat`

840 863 

841Конфигурация для валидации структурированного вывода. Передайте это как `dict` в поле `output_format` на `ClaudeAgentOptions`:864Конфигурация для валидации структурированного вывода. Передайте это как `dict` в поле `output_format` на `ClaudeAgentOptions`:


1015 initialPrompt: str | None = None1038 initialPrompt: str | None = None

1016 maxTurns: int | None = None1039 maxTurns: int | None = None

1017 background: bool | None = None1040 background: bool | None = None

1018 effort: Literal["low", "medium", "high", "max"] | int | None = None1041 effort: Literal["low", "medium", "high", "xhigh", "max"] | int | None = None

1019 permissionMode: PermissionMode | None = None1042 permissionMode: PermissionMode | None = None

1020```1043```

1021 1044 


1080class ToolPermissionContext:1103class ToolPermissionContext:

1081 signal: Any | None = None # Future: abort signal support1104 signal: Any | None = None # Future: abort signal support

1082 suggestions: list[PermissionUpdate] = field(default_factory=list)1105 suggestions: list[PermissionUpdate] = field(default_factory=list)

1106 blocked_path: str | None = None

1107 decision_reason: str | None = None

1108 title: str | None = None

1109 display_name: str | None = None

1110 description: str | None = None

1083```1111```

1084 1112 

1085| Поле | Тип | Описание |1113| Поле | Тип | Описание |

1086| :------------ | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1114| :---------------- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1087| `signal` | `Any \| None` | Зарезервировано для будущей поддержки сигнала прерывания |1115| `signal` | `Any \| None` | Зарезервировано для будущей поддержки сигнала прерывания |

1088| `suggestions` | `list[PermissionUpdate]` | Предложения обновления разрешений из CLI. Подсказки Bash включают предложение с назначением `localSettings`, поэтому возврат его в `updated_permissions` записывает правило в `.claude/settings.local.json` и сохраняется между сеансами. |1116| `suggestions` | `list[PermissionUpdate]` | Предложения обновления разрешений из CLI. Подсказки Bash включают предложение с назначением `localSettings`, поэтому возврат его в `updated_permissions` записывает правило в `.claude/settings.local.json` и сохраняется между сеансами. |

1117| `blocked_path` | `str \| None` | Путь к файлу, который вызвал запрос разрешения, если применимо. Например, когда команда Bash пытается получить доступ к пути вне разрешенных каталогов |

1118| `decision_reason` | `str \| None` | Причина, по которой был вызван этот запрос разрешения. Переадресовано из `permissionDecisionReason` hook PreToolUse, когда hook вернул `"ask"` |

1119| `title` | `str \| None` | Полное предложение запроса разрешения, такое как `Claude wants to read foo.txt`. Используйте как основной текст подсказки, если присутствует |

1120| `display_name` | `str \| None` | Короткая именная фраза для действия инструмента, такая как `Read file`, подходящая для меток кнопок |

1121| `description` | `str \| None` | Понятный подзаголовок для пользовательского интерфейса разрешений |

1089 1122 

1090### `PermissionResult`1123### `PermissionResult`

1091 1124 


1466 is_error: bool1499 is_error: bool

1467 num_turns: int1500 num_turns: int

1468 session_id: str1501 session_id: str

1502 stop_reason: str | None = None

1469 total_cost_usd: float | None = None1503 total_cost_usd: float | None = None

1470 usage: dict[str, Any] | None = None1504 usage: dict[str, Any] | None = None

1471 result: str | None = None1505 result: str | None = None

1472 stop_reason: str | None = None

1473 structured_output: Any = None1506 structured_output: Any = None

1474 model_usage: dict[str, Any] | None = None1507 model_usage: dict[str, Any] | None = None

1508 permission_denials: list[Any] | None = None

1509 deferred_tool_use: DeferredToolUse | None = None

1510 errors: list[str] | None = None

1511 api_error_status: int | None = None

1512 uuid: str | None = None

1475```1513```

1476 1514 

1477Словарь `usage` содержит следующие ключи, если они присутствуют:1515Словарь `usage` содержит следующие ключи, если они присутствуют:


2128```python theme={null}2166```python theme={null}

2129class PreToolUseHookSpecificOutput(TypedDict):2167class PreToolUseHookSpecificOutput(TypedDict):

2130 hookEventName: Literal["PreToolUse"]2168 hookEventName: Literal["PreToolUse"]

2131 permissionDecision: NotRequired[Literal["allow", "deny", "ask"]]2169 permissionDecision: NotRequired[Literal["allow", "deny", "ask", "defer"]]

2132 permissionDecisionReason: NotRequired[str]2170 permissionDecisionReason: NotRequired[str]

2133 updatedInput: NotRequired[dict[str, Any]]2171 updatedInput: NotRequired[dict[str, Any]]

2134 additionalContext: NotRequired[str]2172 additionalContext: NotRequired[str]


2137class PostToolUseHookSpecificOutput(TypedDict):2175class PostToolUseHookSpecificOutput(TypedDict):

2138 hookEventName: Literal["PostToolUse"]2176 hookEventName: Literal["PostToolUse"]

2139 additionalContext: NotRequired[str]2177 additionalContext: NotRequired[str]

2178 updatedToolOutput: NotRequired[Any]

2140 updatedMCPToolOutput: NotRequired[Any]2179 updatedMCPToolOutput: NotRequired[Any]

2141 2180 

2142 2181 

Details

8 8 

9<script src="/components/typescript-sdk-type-links.js" defer />9<script src="/components/typescript-sdk-type-links.js" defer />

10 10 

11<Note>

12 **Попробуйте новый интерфейс V2 (предпросмотр):** Упрощённый интерфейс с паттернами `send()` и `stream()` теперь доступен, что облегчает многооборотные диалоги. [Узнайте больше о предпросмотре TypeScript V2](/ru/agent-sdk/typescript-v2-preview)

13</Note>

14 

15## Установка11## Установка

16 12 

17```bash theme={null}13```bash theme={null}


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

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

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

338| `env` | `Record<string, string \| undefined>` | `process.env` | Переменные окружения. См. [Переменные окружения](/ru/env-vars) для переменных, которые читает базовый CLI. Установите `CLAUDE_AGENT_SDK_CLIENT_APP` для идентификации вашего приложения в заголовке User-Agent |334| `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 |

339| `executable` | `'bun' \| 'deno' \| 'node'` | Автоопределение | Среда выполнения JavaScript для использования |335| `executable` | `'bun' \| 'deno' \| 'node'` | Автоопределение | Среда выполнения JavaScript для использования |

340| `executableArgs` | `string[]` | `[]` | Аргументы для передачи исполняемому файлу |336| `executableArgs` | `string[]` | `[]` | Аргументы для передачи исполняемому файлу |

341| `extraArgs` | `Record<string, string \| null>` | `{}` | Дополнительные аргументы |337| `extraArgs` | `Record<string, string \| null>` | `{}` | Дополнительные аргументы |


360| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Программно настройте поведение sandbox. См. [Настройки Sandbox](#sandboxsettings) для деталей |356| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Программно настройте поведение sandbox. См. [Настройки Sandbox](#sandboxsettings) для деталей |

361| `sessionId` | `string` | Автогенерируемый | Используйте определённый UUID для сессии вместо автогенерирования |357| `sessionId` | `string` | Автогенерируемый | Используйте определённый UUID для сессии вместо автогенерирования |

362| `sessionStore` | [`SessionStore`](/ru/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Зеркалируйте транскрипты сессий на внешний бэкенд, чтобы любой хост мог их возобновить. См. [Сохранение сессий на внешнее хранилище](/ru/agent-sdk/session-storage) |358| `sessionStore` | [`SessionStore`](/ru/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Зеркалируйте транскрипты сессий на внешний бэкенд, чтобы любой хост мог их возобновить. См. [Сохранение сессий на внешнее хранилище](/ru/agent-sdk/session-storage) |

359| `settings` | `string \| Settings` | `undefined` | Встроенный объект [settings](/ru/settings) или путь к файлу настроек. Заполняет слой flag-settings в [порядке приоритета](/ru/settings#settings-precedence). Измените во время выполнения с помощью [`applyFlagSettings()`](#applyflagsettings) |

363| `settingSources` | [`SettingSource`](#settingsource)`[]` | Значения по умолчанию CLI (все источники) | Контролируйте, какие настройки файловой системы загружать. Передайте `[]` для отключения пользовательских, проектных и локальных настроек. Управляемые политикой настройки загружаются независимо. См. [Используйте функции Claude Code](/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |360| `settingSources` | [`SettingSource`](#settingsource)`[]` | Значения по умолчанию CLI (все источники) | Контролируйте, какие настройки файловой системы загружать. Передайте `[]` для отключения пользовательских, проектных и локальных настроек. Управляемые политикой настройки загружаются независимо. См. [Используйте функции Claude Code](/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

364| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Пользовательская функция для запуска процесса Claude Code. Используйте для запуска Claude Code на ВМ, контейнерах или удалённых окружениях |361| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Пользовательская функция для запуска процесса Claude Code. Используйте для запуска Claude Code на ВМ, контейнерах или удалённых окружениях |

365| `stderr` | `(data: string) => void` | `undefined` | Обратный вызов для вывода stderr |362| `stderr` | `(data: string) => void` | `undefined` | Обратный вызов для вывода stderr |


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

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

371 368 

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

370 

371Подпроцесс CLI читает несколько переменных окружения, которые контролируют timeout API и обнаружение зависания. Передайте их через опцию `env`:

372 

373```typescript theme={null}

374const result = query({

375 prompt: "Analyze this code",

376 options: {

377 env: {

378 ...process.env,

379 API_TIMEOUT_MS: "120000",

380 CLAUDE_CODE_MAX_RETRIES: "2",

381 CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS: "120000",

382 },

383 },

384});

385```

386 

387* `API_TIMEOUT_MS`: timeout для каждого запроса на клиенте Anthropic, в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем подагентам.

388* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`. Каждая повторная попытка получает своё собственное окно `API_TIMEOUT_MS`, поэтому наихудший случай wall time примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс backoff.

389* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.

390* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки получены, но тело ответа перестаёт потоком передаваться. По умолчанию отключено. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.

391 

372### `Query` объект392### `Query` объект

373 393 

374Интерфейс, возвращаемый функцией `query()`.394Интерфейс, возвращаемый функцией `query()`.


383 setPermissionMode(mode: PermissionMode): Promise<void>;403 setPermissionMode(mode: PermissionMode): Promise<void>;

384 setModel(model?: string): Promise<void>;404 setModel(model?: string): Promise<void>;

385 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;405 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;

406 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;

386 initializationResult(): Promise<SDKControlInitializeResponse>;407 initializationResult(): Promise<SDKControlInitializeResponse>;

387 supportedCommands(): Promise<SlashCommand[]>;408 supportedCommands(): Promise<SlashCommand[]>;

388 supportedModels(): Promise<ModelInfo[]>;409 supportedModels(): Promise<ModelInfo[]>;


407| `setPermissionMode()` | Изменяет режим разрешения (доступно только в режиме потока входных данных) |428| `setPermissionMode()` | Изменяет режим разрешения (доступно только в режиме потока входных данных) |

408| `setModel()` | Изменяет модель (доступно только в режиме потока входных данных) |429| `setModel()` | Изменяет модель (доступно только в режиме потока входных данных) |

409| `setMaxThinkingTokens()` | *Устарело:* Используйте вместо этого опцию `thinking`. Изменяет максимальные токены мышления |430| `setMaxThinkingTokens()` | *Устарело:* Используйте вместо этого опцию `thinking`. Изменяет максимальные токены мышления |

431| `applyFlagSettings(settings)` | Объединяет настройки в слой flag settings сессии во время выполнения (доступно только в режиме потока входных данных). См. [`applyFlagSettings()`](#applyflagsettings) |

410| `initializationResult()` | Возвращает полный результат инициализации, включая поддерживаемые команды, модели, информацию об учётной записи и конфигурацию стиля вывода |432| `initializationResult()` | Возвращает полный результат инициализации, включая поддерживаемые команды, модели, информацию об учётной записи и конфигурацию стиля вывода |

411| `supportedCommands()` | Возвращает доступные slash commands |433| `supportedCommands()` | Возвращает доступные slash commands |

412| `supportedModels()` | Возвращает доступные модели с информацией отображения |434| `supportedModels()` | Возвращает доступные модели с информацией отображения |


420| `stopTask(taskId)` | Остановите выполняющуюся фоновую задачу по ID |442| `stopTask(taskId)` | Остановите выполняющуюся фоновую задачу по ID |

421| `close()` | Закройте запрос и завершите базовый процесс. Принудительно завершает запрос и очищает все ресурсы |443| `close()` | Закройте запрос и завершите базовый процесс. Принудительно завершает запрос и очищает все ресурсы |

422 444 

445#### `applyFlagSettings()`

446 

447Изменяет любую [настройку](/ru/settings) на работающей сессии без перезагрузки запроса. Используйте её, когда настройка, у которой нет выделенного setter, должна измениться в середине сессии, например, ужесточение `permissions` после того, как агент прочитает ненадёжный ввод. `setModel()` и `setPermissionMode()` являются выделенными setters для этих двух ключей; `applyFlagSettings()` является общей формой, которая принимает любое подмножество ключей настроек, и передача `model` здесь ведёт себя так же, как `setModel()`.

448 

449Значения записываются в слой flag-settings, тот же слой, который встроенная опция `settings` функции `query()` заполняет при запуске. Flag settings находятся рядом с верхней частью [порядка приоритета настроек](/ru/settings#settings-precedence): они переопределяют пользовательские, проектные и локальные настройки, и только управляемые политикой настройки могут их переопределить. Это тот же уровень, который [раздел приоритета на странице](#settings-precedence) называет программными опциями.

450 

451Последовательные вызовы выполняют shallow-merge ключей верхнего уровня. Второй вызов с `{ permissions: {...} }` заменяет весь объект `permissions` из предыдущего вызова, а не выполняет deep-merge в него. Чтобы очистить ключ из слоя flag и вернуться к источникам с более низким приоритетом, передайте `null` для этого ключа. Передача `undefined` не имеет эффекта, потому что сериализация JSON её отбрасывает.

452 

453Доступно только в режиме потока входных данных, то же ограничение, что и `setModel()` и `setPermissionMode()`.

454 

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

456 

457```typescript theme={null}

458const q = query({ prompt: messageStream });

459 

460// Переопределите модель для остальной части сессии

461await q.applyFlagSettings({ model: "claude-opus-4-6" });

462 

463// Позже: очистите переопределение и вернитесь к настройкам с более низким приоритетом

464await q.applyFlagSettings({ model: null });

465```

466 

467<Note>

468 `applyFlagSettings()` только для TypeScript. Python SDK не предоставляет эквивалентный метод.

469</Note>

470 

423### `WarmQuery`471### `WarmQuery`

424 472 

425Дескриптор, возвращаемый [`startup()`](#startup). Подпроцесс уже запущен и инициализирован, поэтому вызов `query()` на этом дескрипторе записывает запрос непосредственно в готовый процесс без задержки запуска.473Дескриптор, возвращаемый [`startup()`](#startup). Подпроцесс уже запущен и инициализирован, поэтому вызов `query()` на этом дескрипторе записывает запрос непосредственно в готовый процесс без задержки запуска.


6172. Настройки проекта (`.claude/settings.json`)6652. Настройки проекта (`.claude/settings.json`)

6183. Пользовательские настройки (`~/.claude/settings.json`)6663. Пользовательские настройки (`~/.claude/settings.json`)

619 667 

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

621 669 

622### `PermissionMode`670### `PermissionMode`

623 671 


2443 2491 

2444### `CallToolResult`2492### `CallToolResult`

2445 2493 

2446Тип результата MCP tool (из `@modelcontextprotocol/sdk/types.js`).2494Тип результата MCP tool (из `@modelcontextprotocol/sdk/types.js`). `structuredContent` это объект JSON, который может быть возвращён вместе с `content`, включая блоки изображений. См. [Возврат структурированных данных](/ru/agent-sdk/custom-tools#return-structured-data).

2447 2495 

2448```typescript theme={null}2496```typescript theme={null}

2449type CallToolResult = {2497type CallToolResult = {


2451 type: "text" | "image" | "resource";2499 type: "text" | "image" | "resource";

2452 // Дополнительные поля варьируются по типу2500 // Дополнительные поля варьируются по типу

2453 }>;2501 }>;

2502 structuredContent?: Record<string, unknown>;

2454 isError?: boolean;2503 isError?: boolean;

2455};2504};

2456```2505```

Details

361 361 

362```bash theme={null}362```bash theme={null}

363# Using inference profile ID363# Using inference profile ID

364export ANTHROPIC_MODEL='global.anthropic.claude-sonnet-4-6'364export ANTHROPIC_MODEL='us.anthropic.claude-sonnet-4-6'

365export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'365export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

366 366 

367# Using application inference profile ARN367# Using application inference profile ARN


462 462 

463[Мастер установки](#sign-in-with-bedrock) предлагает опцию контекста 1M при закреплении моделей. Чтобы включить его для вручную закрепленной модели вместо этого, добавьте `[1m]` к ID модели. См. [Pin models for third-party deployments](/ru/model-config#pin-models-for-third-party-deployments) для получения подробной информации.463[Мастер установки](#sign-in-with-bedrock) предлагает опцию контекста 1M при закреплении моделей. Чтобы включить его для вручную закрепленной модели вместо этого, добавьте `[1m]` к ID модели. См. [Pin models for third-party deployments](/ru/model-config#pin-models-for-third-party-deployments) для получения подробной информации.

464 464 

465## Уровни обслуживания

466 

467[Уровни обслуживания Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) позволяют вам выбирать между стоимостью и задержкой. Установите `ANTHROPIC_BEDROCK_SERVICE_TIER` на `default`, `flex` или `priority`:

468 

469```bash theme={null}

470export ANTHROPIC_BEDROCK_SERVICE_TIER=priority

471```

472 

473Claude Code отправляет это как заголовок `X-Amzn-Bedrock-Service-Tier` в каждом запросе. Доступность уровня варьируется по модели и региону. Зарезервированная емкость использует [provisioned throughput](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) ARN в качестве ID модели вместо этого параметра.

474 

465## AWS Guardrails475## AWS Guardrails

466 476 

467[Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) позволяют вам реализовать фильтрацию контента для Claude Code. Создайте Guardrail в [консоли Amazon Bedrock](https://console.aws.amazon.com/bedrock/), опубликуйте версию, затем добавьте заголовки Guardrail в ваш [файл параметров](/ru/settings). Включите Cross-Region inference на вашем Guardrail, если вы используете профили вывода между регионами.477[Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) позволяют вам реализовать фильтрацию контента для Claude Code. Создайте Guardrail в [консоли Amazon Bedrock](https://console.aws.amazon.com/bedrock/), опубликуйте версию, затем добавьте заголовки Guardrail в ваш [файл параметров](/ru/settings). Включите Cross-Region inference на вашем Guardrail, если вы используете профили вывода между регионами.

Details

113 113 

114Claude Code безопасно управляет вашими учетными данными аутентификации:114Claude Code безопасно управляет вашими учетными данными аутентификации:

115 115 

116* **Место хранения**: на macOS учетные данные хранятся в зашифрованной цепочке ключей macOS Keychain. На Linux и Windows учетные данные хранятся в `~/.claude/.credentials.json` или в `$CLAUDE_CONFIG_DIR`, если эта переменная установлена. На Linux файл записывается с режимом `0600`; на Windows он наследует элементы управления доступом из каталога профиля пользователя.116* **Место хранения**:

117 * На macOS учетные данные хранятся в зашифрованной цепочке ключей macOS Keychain.

118 * На Linux учетные данные хранятся в `~/.claude/.credentials.json` с режимом файла `0600`.

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

120 * Если вы установили переменную окружения `CLAUDE_CONFIG_DIR` на Linux или Windows, файл `.credentials.json` находится в этом каталоге.

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

117* **Поддерживаемые типы аутентификации**: учетные данные Claude.ai, учетные данные API Claude, Azure Auth, Bedrock Auth и Vertex Auth.122* **Поддерживаемые типы аутентификации**: учетные данные Claude.ai, учетные данные API Claude, Azure Auth, Bedrock Auth и Vertex Auth.

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

119* **Интервалы обновления**: по умолчанию `apiKeyHelper` вызывается через 5 минут или при ответе HTTP 401. Установите переменную окружения `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` для пользовательских интервалов обновления.124* **Интервалы обновления**: по умолчанию `apiKeyHelper` вызывается через 5 минут или при ответе HTTP 401. Установите переменную окружения `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` для пользовательских интервалов обновления.

Details

113 113 

114Каждая облачная сессия имеет URL транскрипта на claude.ai, и сессия может читать свой собственный ID из переменной окружения `CLAUDE_CODE_REMOTE_SESSION_ID`. Используйте это, чтобы поместить отслеживаемую ссылку в тела PR, сообщения коммитов, посты Slack или созданные отчёты, чтобы рецензент мог открыть запуск, который их создал.114Каждая облачная сессия имеет URL транскрипта на claude.ai, и сессия может читать свой собственный ID из переменной окружения `CLAUDE_CODE_REMOTE_SESSION_ID`. Используйте это, чтобы поместить отслеживаемую ссылку в тела PR, сообщения коммитов, посты Slack или созданные отчёты, чтобы рецензент мог открыть запуск, который их создал.

115 115 

116Попросите Claude построить ссылку из переменной окружения. Следующая команда выводит URL:116Значение переменной использует префикс `cse_`, в то время как путь URL транскрипта использует тот же ID с префиксом `session_`. Замените префикс при построении ссылки. Следующая команда выводит URL:

117 117 

118```bash theme={null}118```bash theme={null}

119echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID}"119echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"

120```120```

121 121 

122### Запускайте тесты, запускайте сервисы и добавляйте пакеты122### Запускайте тесты, запускайте сервисы и добавляйте пакеты


156| Действие | Как |156| Действие | Как |

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

158| Добавить окружение | Выберите текущее окружение, чтобы открыть селектор, затем выберите **Add environment**. Диалог включает имя, уровень сетевого доступа, переменные окружения и setup script. |158| Добавить окружение | Выберите текущее окружение, чтобы открыть селектор, затем выберите **Add environment**. Диалог включает имя, уровень сетевого доступа, переменные окружения и setup script. |

159| Отредактировать окружение | Выберите значок параметров справа от имени окружения. |159| Отредактировать окружение | Выберите значок облака, показывающий имя текущего окружения, чтобы открыть селектор, наведите курсор на окружение и нажмите значок параметров, который появляется справа. |

160| Архивировать окружение | Откройте окружение для редактирования и выберите **Archive**. Архивированные окружения скрыты из селектора, но существующие сессии продолжают работать. |160| Архивировать окружение | Откройте окружение для редактирования и выберите **Archive**. Архивированные окружения скрыты из селектора, но существующие сессии продолжают работать. |

161| Установить значение по умолчанию для `--remote` | Запустите `/remote-env` в вашем терминале. Если у вас одно окружение, эта команда показывает вашу текущую конфигурацию. `/remote-env` только выбирает значение по умолчанию; добавляйте, редактируйте и архивируйте окружения из веб-интерфейса. |161| Установить значение по умолчанию для `--remote` | Запустите `/remote-env` в вашем терминале. Если у вас одно окружение, эта команда показывает вашу текущую конфигурацию. `/remote-env` только выбирает значение по умолчанию; добавляйте, редактируйте и архивируйте окружения из веб-интерфейса. |

162 162 


185 185 

186Если скрипт завершится с ненулевым кодом, сессия не запустится. Добавьте `|| true` к некритичным командам, чтобы избежать блокирования сессии при нестабильной установке.186Если скрипт завершится с ненулевым кодом, сессия не запустится. Добавьте `|| true` к некритичным командам, чтобы избежать блокирования сессии при нестабильной установке.

187 187 

188Держите общее время выполнения скрипта ниже примерно пяти минут, чтобы [кэш окружения](#environment-caching) мог построиться. Запускайте независимые установки параллельно с `&` и `wait`. Если одна загрузка не поместится в пятиминутный лимит, переместите её в [SessionStart hook](#setup-scripts-vs-sessionstart-hooks), который запускает её в фоновом режиме.

189 

188<Note>190<Note>

189 Setup scripts, которые устанавливают пакеты, нуждаются в сетевом доступе для доступа к реестрам. Доступ в сеть по умолчанию **Trusted** позволяет подключения к [распространённым реестрам пакетов](#default-allowed-domains), включая npm, PyPI, RubyGems и crates.io. Скрипты не смогут установить пакеты, если ваше окружение использует доступ в сеть **None**.191 Setup scripts, которые устанавливают пакеты, нуждаются в сетевом доступе для доступа к реестрам. Доступ в сеть по умолчанию **Trusted** позволяет подключения к [распространённым реестрам пакетов](#default-allowed-domains), включая npm, PyPI, RubyGems и crates.io. Скрипты не смогут установить пакеты, если ваше окружение использует доступ в сеть **None**.

190</Note>192</Note>


265 267 

266Сетевой доступ контролирует исходящие соединения из облачного окружения. Каждое окружение указывает один уровень доступа, и вы можете расширить его пользовательскими разрешёнными доменами. По умолчанию используется **Trusted**, который позволяет реестры пакетов и другие [разрешённые домены](#default-allowed-domains).268Сетевой доступ контролирует исходящие соединения из облачного окружения. Каждое окружение указывает один уровень доступа, и вы можете расширить его пользовательскими разрешёнными доменами. По умолчанию используется **Trusted**, который позволяет реестры пакетов и другие [разрешённые домены](#default-allowed-domains).

267 269 

270Чтобы изменить сетевой доступ окружения, [откройте его для редактирования](#configure-your-environment) и используйте селектор **Network access** в диалоге. Нет отдельной страницы Environments. Значок облака появляется везде, где вы запускаете облачную сессию или настраиваете [routine](/ru/routines#environments-and-network-access).

271 

272<Note>

273 Трафик MCP connector маршрутизируется через серверы Anthropic, поэтому connectors, которые вы включаете на сессии или routine, работают без добавления их хостов в **Allowed domains**. Connectors настраиваются для каждой сессии или для каждой routine; удалите любые, которые вам не нужны, чтобы ограничить, какие инструменты Claude может достичь. Это полагается на тот же канал, привязанный к Anthropic, отмеченный в разделе [Безопасность и изоляция](#security-and-isolation).

274</Note>

275 

268### Уровни доступа276### Уровни доступа

269 277 

270Выберите уровень доступа при создании или редактировании окружения:278Выберите уровень доступа при создании или редактировании окружения:


754* **Защита учётных данных**: чувствительные учётные данные, такие как учётные данные git или ключи подписи, никогда не находятся в песочнице с Claude Code. Аутентификация обрабатывается через защищённый прокси с использованием ограниченных учётных данных.762* **Защита учётных данных**: чувствительные учётные данные, такие как учётные данные git или ключи подписи, никогда не находятся в песочнице с Claude Code. Аутентификация обрабатывается через защищённый прокси с использованием ограниченных учётных данных.

755* **Безопасный анализ**: код анализируется и изменяется в изолированных виртуальных машинах перед созданием PR763* **Безопасный анализ**: код анализируется и изменяется в изолированных виртуальных машинах перед созданием PR

756 764 

765## Troubleshooting

766 

767Для ошибок API времени выполнения, которые появляются в разговоре, такие как `API Error: 500`, `529 Overloaded`, `429` или `Prompt is too long`, см. [Error reference](/ru/errors). Эти ошибки и их исправления общие с CLI и Desktop app. Разделы ниже охватывают проблемы, специфичные для облачных сессий.

768 

769### Session creation failed

770 

771Если новая сессия не запускается с `Session creation failed` или зависает при подготовке, Claude Code не смог выделить облачное окружение.

772 

773* Проверьте [status.claude.com](https://status.claude.com) на предмет инцидентов облачных сессий

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

775* Подтвердите, что ваш репозиторий доступен. Приватные репозитории требуют либо установленного приложения GitHub App с доступом к этому репозиторию, либо токена `gh`, синхронизированного через `/web-setup`. См. [Варианты аутентификации GitHub](#github-authentication-options).

776 

777### Remote Control session expired or access denied

778 

779`--teleport` подключается через ту же инфраструктуру сессии Remote Control, которую используют облачные сессии, поэтому ошибки аутентификации и истечения сессии появляются с формулировкой Remote Control. Вы можете увидеть `Remote Control session has expired` или `Access denied`. Токен соединения имеет короткий срок действия и ограничен вашим аккаунтом.

780 

781* Запустите `/login` локально для обновления ваших учётных данных, затем переподключитесь

782* Подтвердите, что вы вошли в один и тот же аккаунт, который владеет сессией

783* Если вы видите `Remote Control may not be available for this organization`, ваш администратор не включил удалённые сессии для вашего плана

784 

785### Environment expired

786 

787Облачные сессии останавливаются после периода неактивности и базовое окружение отзывается. Из локального терминала это появляется как `Could not resume session ... its environment has expired. Creating a fresh session instead.` На веб-интерфейсе сессия помечена как истекшая в списке сессий.

788 

789Переоткройте сессию из [claude.ai/code](https://claude.ai/code) для подготовки свежего окружения с восстановленной историей разговора.

790 

757## Ограничения791## Ограничения

758 792 

759Перед тем как полагаться на облачные сессии для рабочего процесса, учтите эти ограничения:793Перед тем как полагаться на облачные сессии для рабочего процесса, учтите эти ограничения:


761* **Ограничения скорости**: Claude Code в веб-интерфейсе делит ограничения скорости со всеми другими использованиями Claude и Claude Code в вашем аккаунте. Запуск нескольких задач параллельно потребляет больше ограничений скорости пропорционально. Нет отдельной платы за вычисления для облачной виртуальной машины.795* **Ограничения скорости**: Claude Code в веб-интерфейсе делит ограничения скорости со всеми другими использованиями Claude и Claude Code в вашем аккаунте. Запуск нескольких задач параллельно потребляет больше ограничений скорости пропорционально. Нет отдельной платы за вычисления для облачной виртуальной машины.

762* **Аутентификация репозитория**: вы можете перемещать сессии из веб-интерфейса в локальный только когда вы аутентифицированы на одном и том же аккаунте796* **Аутентификация репозитория**: вы можете перемещать сессии из веб-интерфейса в локальный только когда вы аутентифицированы на одном и том же аккаунте

763* **Ограничения платформы**: клонирование репозитория и создание pull request требуют GitHub. Самостоятельно размещённые экземпляры [GitHub Enterprise Server](/ru/github-enterprise-server) поддерживаются для планов Team и Enterprise. Репозитории GitLab, Bitbucket и другие не-GitHub репозитории могут быть отправлены в облачные сессии как [локальный пакет](#send-local-repositories-without-github), но сессия не может отправлять результаты обратно на удалённый сервер797* **Ограничения платформы**: клонирование репозитория и создание pull request требуют GitHub. Самостоятельно размещённые экземпляры [GitHub Enterprise Server](/ru/github-enterprise-server) поддерживаются для планов Team и Enterprise. Репозитории GitLab, Bitbucket и другие не-GitHub репозитории могут быть отправлены в облачные сессии как [локальный пакет](#send-local-repositories-without-github), но сессия не может отправлять результаты обратно на удалённый сервер

798* **Список разрешений IP организации**: облачные сессии вызывают API Anthropic из инфраструктуры, управляемой Anthropic, а не из вашей сети. Если ваша организация имеет [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) включённый, каждая облачная сессия не пройдёт с ошибкой аутентификации. То же самое применяется к [Code Review](/ru/code-review) и [Routines](/ru/routines). Свяжитесь с [поддержкой Anthropic](https://support.claude.com/) для исключения размещённых Anthropic сервисов из списка разрешений IP вашей организации.

764 799 

765## Связанные ресурсы800## Связанные ресурсы

766 801 

cli-reference.md +10 −9

Details

41 41 

42| Флаг | Описание | Пример |42| Флаг | Описание | Пример |

43| :---------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |43| :---------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |

44| `--add-dir` | Добавить дополнительные рабочие каталоги для Claude для чтения и редактирования файлов. Предоставляет доступ к файлам; большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из этих каталогов. Проверяет, что каждый путь существует как каталог | `claude --add-dir ../apps ../lib` |44| `--add-dir` | Добавить дополнительные рабочие каталоги для Claude для чтения и редактирования файлов. Предоставляет доступ к файлам; большинство конфигурации `.claude/` [не обнаруживается](/ru/permissions#additional-directories-grant-file-access-not-configuration) из этих каталогов. Проверяет, что каждый путь существует как каталог. Чтобы сохранить эти каталоги между сеансами, установите [`permissions.additionalDirectories`](/ru/settings#permission-settings) в параметрах | `claude --add-dir ../apps ../lib` |

45| `--agent` | Указать агента для текущего сеанса (переопределяет параметр `agent`) | `claude --agent my-custom-agent` |45| `--agent` | Указать агента для текущего сеанса (переопределяет параметр `agent`) | `claude --agent my-custom-agent` |

46| `--agents` | Определить пользовательские subagents динамически через JSON. Использует те же имена полей, что и subagent [frontmatter](/ru/sub-agents#supported-frontmatter-fields), плюс поле `prompt` для инструкций агента | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |46| `--agents` | Определить пользовательские subagents динамически через JSON. Использует те же имена полей, что и subagent [frontmatter](/ru/sub-agents#supported-frontmatter-fields), плюс поле `prompt` для инструкций агента | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

47| `--allow-dangerously-skip-permissions` | Добавить `bypassPermissions` в цикл режима `Shift+Tab` без немедленной активации. Позволяет начать в другом режиме, таком как `plan`, и переключиться на `bypassPermissions` позже. См. [режимы разрешения](/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |47| `--allow-dangerously-skip-permissions` | Добавить `bypassPermissions` в цикл режима `Shift+Tab` без немедленной активации. Позволяет начать в другом режиме, таком как `plan`, и переключиться на `bypassPermissions` позже. См. [режимы разрешения](/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |


59| `--debug-file <path>` | Записать журналы отладки в конкретный путь файла. Неявно включает режим отладки. Имеет приоритет над `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |59| `--debug-file <path>` | Записать журналы отладки в конкретный путь файла. Неявно включает режим отладки. Имеет приоритет над `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

60| `--disable-slash-commands` | Отключить все skills и команды для этого сеанса | `claude --disable-slash-commands` |60| `--disable-slash-commands` | Отключить все skills и команды для этого сеанса | `claude --disable-slash-commands` |

61| `--disallowedTools` | Инструменты, которые удаляются из контекста модели и не могут быть использованы | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |61| `--disallowedTools` | Инструменты, которые удаляются из контекста модели и не могут быть использованы | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

62| `--effort` | Установить [уровень усилий](/ru/model-config#adjust-effort-level) для текущего сеанса. Опции: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. Область действия сеанса и не сохраняется в параметры | `claude --effort high` |62| `--effort` | Установить [уровень усилий](/ru/model-config#adjust-effort-level) для текущего сеанса. Опции: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. Переопределяет параметр [`effortLevel`](/ru/settings#available-settings) для этого сеанса и не сохраняется | `claude --effort high` |

63| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Удалено в v2.1.111. Auto mode теперь находится в цикле `Shift+Tab` по умолчанию; используйте `--permission-mode auto` для запуска в нем | `claude --permission-mode auto` |63| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Удалено в v2.1.111. Auto mode теперь находится в цикле `Shift+Tab` по умолчанию; используйте `--permission-mode auto` для запуска в нем | `claude --permission-mode auto` |

64| `--exclude-dynamic-system-prompt-sections` | Переместить разделы для каждой машины из системного приглашения (рабочий каталог, информация об окружении, пути памяти, статус git) в первое пользовательское сообщение. Улучшает повторное использование prompt-cache на разных пользователях и машинах, запускающих одну и ту же задачу. Применяется только с системным приглашением по умолчанию; игнорируется, когда установлены `--system-prompt` или `--system-prompt-file`. Используйте с `-p` для скриптовых многопользовательских рабочих нагрузок | `claude -p --exclude-dynamic-system-prompt-sections "query"` |64| `--exclude-dynamic-system-prompt-sections` | Переместить разделы для каждой машины из системного приглашения (рабочий каталог, информация об окружении, пути памяти, статус git) в первое пользовательское сообщение. Улучшает повторное использование prompt-cache на разных пользователях и машинах, запускающих одну и ту же задачу. Применяется только с системным приглашением по умолчанию; игнорируется, когда установлены `--system-prompt` или `--system-prompt-file`. Используйте с `-p` для скриптовых многопользовательских рабочих нагрузок | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

65| `--fallback-model` | Включить автоматический переход на указанную модель, когда модель по умолчанию перегружена (только режим печати) | `claude -p --fallback-model sonnet "query"` |65| `--fallback-model` | Включить автоматический переход на указанную модель, когда модель по умолчанию перегружена (только режим печати) | `claude -p --fallback-model sonnet "query"` |


76| `--max-budget-usd` | Максимальная сумма в долларах для расходования на вызовы API перед остановкой (только режим печати) | `claude -p --max-budget-usd 5.00 "query"` |76| `--max-budget-usd` | Максимальная сумма в долларах для расходования на вызовы API перед остановкой (только режим печати) | `claude -p --max-budget-usd 5.00 "query"` |

77| `--max-turns` | Ограничить количество агентских ходов (только режим печати). Выходит с ошибкой при достижении лимита. По умолчанию нет лимита | `claude -p --max-turns 3 "query"` |77| `--max-turns` | Ограничить количество агентских ходов (только режим печати). Выходит с ошибкой при достижении лимита. По умолчанию нет лимита | `claude -p --max-turns 3 "query"` |

78| `--mcp-config` | Загрузить MCP серверы из JSON файлов или строк (разделенные пробелом) | `claude --mcp-config ./mcp.json` |78| `--mcp-config` | Загрузить MCP серверы из JSON файлов или строк (разделенные пробелом) | `claude --mcp-config ./mcp.json` |

79| `--model` | Устанавливает модель для текущего сеанса с псевдонимом для последней модели (`sonnet` или `opus`) или полным именем модели | `claude --model claude-sonnet-4-6` |79| `--model` | Устанавливает модель для текущего сеанса с псевдонимом для последней модели (`sonnet` или `opus`) или полным именем модели. Переопределяет параметр [`model`](/ru/settings#available-settings) и [`ANTHROPIC_MODEL`](/ru/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |

80| `--name`, `-n` | Установить отображаемое имя для сеанса, показываемое в `/resume` и в заголовке терминала. Вы можете возобновить именованный сеанс с помощью `claude --resume <name>`. <br /><br />[`/rename`](/ru/commands) изменяет имя во время сеанса и также показывает его на панели приглашения | `claude -n "my-feature-work"` |80| `--name`, `-n` | Установить отображаемое имя для сеанса, показываемое в `/resume` и в заголовке терминала. Вы можете возобновить именованный сеанс с помощью `claude --resume <name>`. <br /><br />[`/rename`](/ru/commands) изменяет имя во время сеанса и также показывает его на панели приглашения | `claude -n "my-feature-work"` |

81| `--no-chrome` | Отключить [интеграцию браузера Chrome](/ru/chrome) для этого сеанса | `claude --no-chrome` |81| `--no-chrome` | Отключить [интеграцию браузера Chrome](/ru/chrome) для этого сеанса | `claude --no-chrome` |

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

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

84| `--permission-mode` | Начать в указанном [режиме разрешения](/ru/permission-modes). Принимает `default`, `acceptEdits`, `plan`, `auto`, `dontAsk` или `bypassPermissions`. Переопределяет `defaultMode` из файлов параметров | `claude --permission-mode plan` |84| `--permission-mode` | Начать в указанном [режиме разрешения](/ru/permission-modes). Принимает `default`, `acceptEdits`, `plan`, `auto`, `dontAsk` или `bypassPermissions`. Переопределяет `defaultMode` из файлов параметров | `claude --permission-mode plan` |

85| `--permission-prompt-tool` | Указать инструмент MCP для обработки запросов разрешения в неинтерактивном режиме | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |85| `--permission-prompt-tool` | Указать инструмент MCP для обработки запросов разрешения в неинтерактивном режиме | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

86| `--plugin-dir` | Загрузить plugins из каталога только для этого сеанса. Каждый флаг принимает один путь. Повторите флаг для нескольких каталогов: `--plugin-dir A --plugin-dir B` | `claude --plugin-dir ./my-plugins` |86| `--plugin-dir` | Загрузить plugin из каталога или архива `.zip` только для этого сеанса. Каждый флаг принимает один путь. Повторите флаг для нескольких plugins: `--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |

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

87| `--print`, `-p` | Вывести ответ без интерактивного режима (см. [документацию Agent SDK](/ru/agent-sdk/overview) для деталей программного использования) | `claude -p "query"` |88| `--print`, `-p` | Вывести ответ без интерактивного режима (см. [документацию Agent SDK](/ru/agent-sdk/overview) для деталей программного использования) | `claude -p "query"` |

88| `--remote` | Создать новый [веб-сеанс](/ru/claude-code-on-the-web) на claude.ai с предоставленным описанием задачи | `claude --remote "Fix the login bug"` |89| `--remote` | Создать новый [веб-сеанс](/ru/claude-code-on-the-web) на claude.ai с предоставленным описанием задачи | `claude --remote "Fix the login bug"` |

89| `--remote-control`, `--rc` | Запустить интерактивный сеанс с включенным [Remote Control](/ru/remote-control#start-a-remote-control-session), чтобы вы также могли управлять им из claude.ai или приложения Claude. Опционально передайте имя для сеанса | `claude --remote-control "My Project"` |90| `--remote-control`, `--rc` | Запустить интерактивный сеанс с включенным [Remote Control](/ru/remote-control#start-a-remote-control-session), чтобы вы также могли управлять им из claude.ai или приложения Claude. Опционально передайте имя для сеанса | `claude --remote-control "My Project"` |


92| `--resume`, `-r` | Возобновить конкретный сеанс по ID или имени, или показать интерактивный выбор для выбора сеанса. Включает сеансы, которые добавили этот каталог с помощью `/add-dir` | `claude --resume auth-refactor` |93| `--resume`, `-r` | Возобновить конкретный сеанс по ID или имени, или показать интерактивный выбор для выбора сеанса. Включает сеансы, которые добавили этот каталог с помощью `/add-dir` | `claude --resume auth-refactor` |

93| `--session-id` | Использовать конкретный ID сеанса для беседы (должен быть действительным UUID) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |94| `--session-id` | Использовать конкретный ID сеанса для беседы (должен быть действительным UUID) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

94| `--setting-sources` | Разделенный запятыми список источников параметров для загрузки (`user`, `project`, `local`) | `claude --setting-sources user,project` |95| `--setting-sources` | Разделенный запятыми список источников параметров для загрузки (`user`, `project`, `local`) | `claude --setting-sources user,project` |

95| `--settings` | Путь к файлу параметров JSON или строка JSON для загрузки дополнительных параметров | `claude --settings ./settings.json` |96| `--settings` | Путь к файлу параметров JSON или встроенная строка JSON. Значения, которые вы устанавливаете здесь, переопределяют те же ключи в ваших файлах `settings.json` для этого сеанса. Ключи, которые вы опускаете, сохраняют свои значения на основе файла. См. [приоритет параметров](/ru/settings#settings-precedence) | `claude --settings ./settings.json` |

96| `--strict-mcp-config` | Использовать только MCP серверы из `--mcp-config`, игнорируя все остальные конфигурации MCP | `claude --strict-mcp-config --mcp-config ./mcp.json` |97| `--strict-mcp-config` | Использовать только MCP серверы из `--mcp-config`, игнорируя все остальные конфигурации MCP | `claude --strict-mcp-config --mcp-config ./mcp.json` |

97| `--system-prompt` | Заменить весь системный запрос пользовательским текстом | `claude --system-prompt "You are a Python expert"` |98| `--system-prompt` | Заменить весь системный запрос пользовательским текстом | `claude --system-prompt "You are a Python expert"` |

98| `--system-prompt-file` | Загрузить системный запрос из файла, заменяя приглашение по умолчанию | `claude --system-prompt-file ./custom-prompt.txt` |99| `--system-prompt-file` | Загрузить системный запрос из файла, заменяя приглашение по умолчанию | `claude --system-prompt-file ./custom-prompt.txt` |

99| `--teleport` | Возобновить [веб-сеанс](/ru/claude-code-on-the-web) в вашем локальном терминале | `claude --teleport` |100| `--teleport` | Возобновить [веб-сеанс](/ru/claude-code-on-the-web) в вашем локальном терминале | `claude --teleport` |

100| `--teammate-mode` | Установить способ отображения товарищей по [команде агентов](/ru/agent-teams): `auto` (по умолчанию), `in-process` или `tmux`. См. [выбор режима отображения](/ru/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |101| `--teammate-mode` | Установить способ отображения товарищей по [команде агентов](/ru/agent-teams): `auto` (по умолчанию), `in-process` или `tmux`. Переопределяет параметр [`teammateMode`](/ru/settings#available-settings) для этого сеанса. См. [выбор режима отображения](/ru/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |

101| `--tmux` | Создать сеанс tmux для worktree. Требует `--worktree`. Использует встроенные панели iTerm2, если доступны; передайте `--tmux=classic` для традиционного tmux | `claude -w feature-auth --tmux` |102| `--tmux` | Создать сеанс tmux для worktree. Требует `--worktree`. Использует встроенные панели iTerm2, если доступны; передайте `--tmux=classic` для традиционного tmux | `claude -w feature-auth --tmux` |

102| `--tools` | Ограничить, какие встроенные инструменты может использовать Claude. Используйте `""` для отключения всех, `"default"` для всех или имена инструментов, такие как `"Bash,Edit,Read"` | `claude --tools "Bash,Edit,Read"` |103| `--tools` | Ограничить, какие встроенные инструменты может использовать Claude. Используйте `""` для отключения всех, `"default"` для всех или имена инструментов, такие как `"Bash,Edit,Read"` | `claude --tools "Bash,Edit,Read"` |

103| `--verbose` | Включить подробное логирование, показывает полный вывод по ходам | `claude --verbose` |104| `--verbose` | Включить подробное логирование, показывает полный вывод по ходам. Переопределяет параметр [`viewMode`](/ru/settings#available-settings) для этого сеанса | `claude --verbose` |

104| `--version`, `-v` | Вывести номер версии | `claude -v` |105| `--version`, `-v` | Вывести номер версии | `claude -v` |

105| `--worktree`, `-w` | Запустить Claude в изолированном [git worktree](/ru/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees) в `<repo>/.claude/worktrees/<name>`. Если имя не указано, оно генерируется автоматически | `claude -w feature-auth` |106| `--worktree`, `-w` | Запустить Claude в изолированном [git worktree](/ru/worktrees) в `<repo>/.claude/worktrees/<name>`. Если имя не указано, оно генерируется автоматически | `claude -w feature-auth` |

106 107 

107### Флаги системного приглашения108### Флаги системного приглашения

108 109 

commands.md +7 −5

Details

10 10 

11Введите `/` для просмотра всех доступных вам команд или введите `/` с последующими буквами для фильтрации.11Введите `/` для просмотра всех доступных вам команд или введите `/` с последующими буквами для фильтрации.

12 12 

13Команда распознается только в начале вашего сообщения. Текст, который следует за названием команды, передается ей в качестве аргументов.

14 

13В таблице ниже перечислены все команды, включенные в Claude Code. Записи, отмеченные как **[Skill](/ru/skills#bundled-skills)**, являются встроенными skills. Они используют тот же механизм, что и skills, которые вы пишете сами: подсказка, переданная Claude, которую Claude также может автоматически вызывать при необходимости. Все остальное — это встроенная команда, поведение которой закодировано в CLI. Чтобы добавить свои собственные команды, см. [skills](/ru/skills).15В таблице ниже перечислены все команды, включенные в Claude Code. Записи, отмеченные как **[Skill](/ru/skills#bundled-skills)**, являются встроенными skills. Они используют тот же механизм, что и skills, которые вы пишете сами: подсказка, переданная Claude, которую Claude также может автоматически вызывать при необходимости. Все остальное — это встроенная команда, поведение которой закодировано в CLI. Чтобы добавить свои собственные команды, см. [skills](/ru/skills).

14 16 

15Не каждая команда отображается для каждого пользователя. Доступность зависит от вашей платформы, плана и окружения. Например, `/desktop` отображается только на macOS и Windows, а `/upgrade` отображается только на планах Pro и Max.17Не каждая команда отображается для каждого пользователя. Доступность зависит от вашей платформы, плана и окружения. Например, `/desktop` отображается только на macOS и Windows, а `/upgrade` отображается только на планах Pro и Max.


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

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

23| `/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) |25| `/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) |

24| `/batch <instruction>` | **[Skill](/ru/skills#bundled-skills).** Организовать крупномасштабные изменения в кодовой базе параллельно. Исследует кодовую базу, разбивает работу на 5-30 независимых единиц и представляет план. После одобрения запускает одного фонового агента на единицу в изолированном [git worktree](/ru/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees). Каждый агент реализует свою единицу, запускает тесты и открывает pull request. Требует git репозиторий. Пример: `/batch migrate src/ from Solid to React` |26| `/batch <instruction>` | **[Skill](/ru/skills#bundled-skills).** Организовать крупномасштабные изменения в кодовой базе параллельно. Исследует кодовую базу, разбивает работу на 5-30 независимых единиц и представляет план. После одобрения запускает одного фонового агента на единицу в изолированном [git worktree](/ru/worktrees). Каждый агент реализует свою единицу, запускает тесты и открывает pull request. Требует git репозиторий. Пример: `/batch migrate src/ from Solid to React` |

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

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

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

28| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/ru/skills#bundled-skills).** Загрузить справочный материал Claude API для языка вашего проекта (Python, TypeScript, Java, Go, Ruby, C#, PHP или cURL) и справочник Managed Agents. Охватывает использование инструментов, потоковую передачу, пакеты, структурированные выходы и распространенные ошибки. Также активируется автоматически, когда ваш код импортирует `anthropic` или `@anthropic-ai/sdk`. Запустите `/claude-api migrate` для обновления существующего кода Claude API на более новую модель: Claude спрашивает, какие файлы сканировать и какую модель выбрать, затем обновляет ID моделей, конфигурацию thinking и другие параметры, которые изменились между версиями. Запустите `/claude-api managed-agents-onboard` для интерактивного пошагового руководства, которое создает новый Managed Agent с нуля |30| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/ru/skills#bundled-skills).** Загрузить справочный материал Claude API для языка вашего проекта (Python, TypeScript, Java, Go, Ruby, C#, PHP или cURL) и справочник Managed Agents. Охватывает использование инструментов, потоковую передачу, пакеты, структурированные выходы и распространенные ошибки. Также активируется автоматически, когда ваш код импортирует `anthropic` или `@anthropic-ai/sdk`. Запустите `/claude-api migrate` для обновления существующего кода Claude API на более новую модель: Claude спрашивает, какие файлы сканировать и какую модель выбрать, затем обновляет ID моделей, конфигурацию thinking и другие параметры, которые изменились между версиями. Запустите `/claude-api managed-agents-onboard` для интерактивного пошагового руководства, которое создает новый Managed Agent с нуля |

29| `/clear` | Начать новую беседу с пустым контекстом. Предыдущая беседа остается доступной в `/resume`. Чтобы освободить контекст при продолжении той же беседы, используйте `/compact`. Псевдонимы: `/reset`, `/new` |31| `/clear` | Начать новую беседу с пустым контекстом. Предыдущая беседа остается доступной в `/resume`. Чтобы освободить контекст при продолжении той же беседы, используйте `/compact`. Псевдонимы: `/reset`, `/new` |

30| `/color [color\|default]` | Установить цвет строки приглашения для текущего сеанса. Доступные цвета: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Используйте `default` для сброса. Когда подключен [Remote Control](/ru/remote-control), цвет синхронизируется с claude.ai/code |32| `/color [color\|default]` | Установить цвет строки приглашения для текущего сеанса. Доступные цвета: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Используйте `default` для сброса, или запустите без аргумента для выбора случайного цвета. Когда подключен [Remote Control](/ru/remote-control), цвет синхронизируется с claude.ai/code |

31| `/compact [instructions]` | Освободить контекст путем суммирования беседы до сих пор. Опционально передайте инструкции фокуса для сводки. См. [как сжатие обрабатывает правила, skills и файлы памяти](/ru/context-window#what-survives-compaction) |33| `/compact [instructions]` | Освободить контекст путем суммирования беседы до сих пор. Опционально передайте инструкции фокуса для сводки. См. [как сжатие обрабатывает правила, skills и файлы памяти](/ru/context-window#what-survives-compaction) |

32| `/config` | Открыть интерфейс [Параметры](/ru/settings) для настройки темы, модели, [стиля вывода](/ru/output-styles) и других предпочтений. Псевдоним: `/settings` |34| `/config` | Открыть интерфейс [Параметры](/ru/settings) для настройки темы, модели, [стиля вывода](/ru/output-styles) и других предпочтений. Псевдоним: `/settings` |

33| `/context` | Визуализировать текущее использование контекста в виде цветной сетки. Показывает предложения по оптимизации для инструментов, требующих много контекста, утечек памяти и предупреждений о емкости |35| `/context` | Визуализировать текущее использование контекста в виде цветной сетки. Показывает предложения по оптимизации для инструментов, требующих много контекста, утечек памяти и предупреждений о емкости |


44| `/fast [on\|off]` | Переключить [быстрый режим](/ru/fast-mode) включен или выключен |46| `/fast [on\|off]` | Переключить [быстрый режим](/ru/fast-mode) включен или выключен |

45| `/feedback [report]` | Отправить отзыв о Claude Code. Псевдоним: `/bug` |47| `/feedback [report]` | Отправить отзыв о Claude Code. Псевдоним: `/bug` |

46| `/fewer-permission-prompts` | **[Skill](/ru/skills#bundled-skills).** Сканировать ваши стенограммы на предмет распространенных вызовов инструментов Bash и MCP только для чтения, затем добавить приоритизированный список разрешений в проект `.claude/settings.json` для уменьшения запросов разрешений |48| `/fewer-permission-prompts` | **[Skill](/ru/skills#bundled-skills).** Сканировать ваши стенограммы на предмет распространенных вызовов инструментов Bash и MCP только для чтения, затем добавить приоритизированный список разрешений в проект `.claude/settings.json` для уменьшения запросов разрешений |

47| `/focus` | Переключить представление фокуса, которое показывает только ваше последнее приглашение, однострочную сводку вызова инструмента с редактированием diffstats и финальный ответ. Выбор сохраняется между сеансами. Доступно только в [полноэкранном рендеринге](/ru/fullscreen) |49| `/focus` | Переключить представление фокуса, которое показывает только ваше последнее приглашение, однострочную сводку вызова инструмента с редактированием diffstats и финальный ответ. Выбор сохраняется между сеансами; установите [`viewMode`](/ru/settings#available-settings) в параметрах для переопределения. Доступно только в [полноэкранном рендеринге](/ru/fullscreen) |

48| `/heapdump` | Записать снимок кучи JavaScript и разбивку памяти в `~/Desktop`, или в домашний каталог на Linux без папки Desktop, для диагностики высокого использования памяти. См. [устранение неполадок](/ru/troubleshooting#high-cpu-or-memory-usage) |50| `/heapdump` | Записать снимок кучи JavaScript и разбивку памяти в `~/Desktop`, или в домашний каталог на Linux без папки Desktop, для диагностики высокого использования памяти. См. [устранение неполадок](/ru/troubleshooting#high-cpu-or-memory-usage) |

49| `/help` | Показать справку и доступные команды |51| `/help` | Показать справку и доступные команды |

50| `/hooks` | Просмотреть конфигурации [hook](/ru/hooks) для событий инструментов |52| `/hooks` | Просмотреть конфигурации [hook](/ru/hooks) для событий инструментов |


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

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

85| `/simplify [focus]` | **[Skill](/ru/skills#bundled-skills).** Просмотреть ваши недавно измененные файлы на предмет повторного использования кода, качества и проблем эффективности, затем исправить их. Запускает трех агентов рецензирования параллельно, агрегирует их выводы и применяет исправления. Передайте текст для фокуса на конкретные проблемы: `/simplify focus on memory efficiency` |87| `/simplify [focus]` | **[Skill](/ru/skills#bundled-skills).** Просмотреть ваши недавно измененные файлы на предмет повторного использования кода, качества и проблем эффективности, затем исправить их. Запускает трех агентов рецензирования параллельно, агрегирует их выводы и применяет исправления. Передайте текст для фокуса на конкретные проблемы: `/simplify focus on memory efficiency` |

86| `/skills` | Список доступных [skills](/ru/skills). Нажмите `t` для сортировки по количеству токенов |88| `/skills` | Список доступных [skills](/ru/skills). Нажмите `t` для сортировки по количеству токенов. Нажмите `Space` для [скрытия skill от Claude или меню `/`](/ru/skills#override-skill-visibility-from-settings), затем `Enter` для сохранения |

87| `/stats` | Псевдоним для `/usage`. Открывается на вкладке Stats |89| `/stats` | Псевдоним для `/usage`. Открывается на вкладке Stats |

88| `/status` | Открыть интерфейс Параметры (вкладка Статус), показывающий версию, модель, учетную запись и подключение. Работает во время ответа Claude без ожидания завершения текущего ответа |90| `/status` | Открыть интерфейс Параметры (вкладка Статус), показывающий версию, модель, учетную запись и подключение. Работает во время ответа Claude без ожидания завершения текущего ответа |

89| `/statusline` | Настроить [строку статуса](/ru/statusline) Claude Code. Опишите, что вы хотите, или запустите без аргументов для автоматической настройки из приглашения вашей оболочки |91| `/statusline` | Настроить [строку статуса](/ru/statusline) Claude Code. Опишите, что вы хотите, или запустите без аргументов для автоматической настройки из приглашения вашей оболочки |

90| `/stickers` | Заказать наклейки Claude Code |92| `/stickers` | Заказать наклейки Claude Code |

91| `/tasks` | Список и управление фоновыми задачами. Также доступно как `/bashes` |93| `/tasks` | Список и управление фоновыми задачами. Также доступно как `/bashes` |

92| `/team-onboarding` | Создать руководство по адаптации команды из истории использования Claude Code. Claude анализирует ваши сеансы, команды и использование MCP server за последние 30 дней и создает руководство markdown, которое товарищ по команде может вставить как первое сообщение для быстрой настройки |94| `/team-onboarding` | Создать руководство по адаптации команды из истории использования Claude Code. Claude анализирует ваши сеансы, команды и использование MCP server за последние 30 дней и создает руководство markdown, которое товарищ по команде может вставить как первое сообщение для быстрой настройки. Для подписчиков claude.ai на планах Pro, Max, Team и Enterprise также возвращает ссылку для совместного доступа, которую товарищи по команде могут открыть непосредственно в Claude Code |

93| `/teleport` | Перенести сеанс [Claude Code в веб-браузере](/ru/claude-code-on-the-web#from-web-to-terminal) в этот терминал: открывает выбор, затем получает ветвь и беседу. Также доступно как `/tp`. Требует подписку claude.ai |95| `/teleport` | Перенести сеанс [Claude Code в веб-браузере](/ru/claude-code-on-the-web#from-web-to-terminal) в этот терминал: открывает выбор, затем получает ветвь и беседу. Также доступно как `/tp`. Требует подписку claude.ai |

94| `/terminal-setup` | Настроить сочетания клавиш терминала для Shift+Enter и других ярлыков. Видна только в терминалах, которые в этом нуждаются, таких как VS Code, Cursor, Windsurf, Alacritty или Zed |96| `/terminal-setup` | Настроить сочетания клавиш терминала для Shift+Enter и других ярлыков. Видна только в терминалах, которые в этом нуждаются, таких как VS Code, Cursor, Windsurf, Alacritty или Zed |

95| `/theme` | Изменить цветовую тему. Включает опцию `auto`, которая следует темному или светлому режиму вашего терминала, светлые и темные варианты, доступные для дальтоников (далтонизированные) темы, ANSI темы, которые используют палитру цветов вашего терминала, и любые [пользовательские темы](/ru/terminal-config#create-a-custom-theme) из `~/.claude/themes/` или plugins. Выберите **New custom theme…** для создания одной |97| `/theme` | Изменить цветовую тему. Включает опцию `auto`, которая следует темному или светлому режиму вашего терминала, светлые и темные варианты, доступные для дальтоников (далтонизированные) темы, ANSI темы, которые используют палитру цветов вашего терминала, и любые [пользовательские темы](/ru/terminal-config#create-a-custom-theme) из `~/.claude/themes/` или plugins. Выберите **New custom theme…** для создания одной |

Details

8 8 

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

10 10 

11Для проблем с установкой, аутентификацией и подключением см. [Troubleshooting](/ru/troubleshoot-install) вместо этого.11Для проблем с установкой, аутентификацией и подключением см. [Troubleshooting установки и входа](/ru/troubleshoot-install) вместо этого.

12 12 

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

14 14 


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

18 18 

19| Команда | Показывает |19| Команда | Показывает |

20| :------------- | :---------------------------------------------------------------------------- |20| :--------------- | :--------------------------------------------------------------------------------------------------------------------- |

21| `/memory` | Какие файлы `CLAUDE.md` и rules загрузились, плюс записи auto-memory |21| `/memory` | Какие файлы `CLAUDE.md` и rules загрузились, плюс записи auto-memory |

22| `/skills` | Доступные skills из проекта, пользователя и источников плагинов |22| `/skills` | Доступные skills из проекта, пользователя и источников плагинов |

23| `/agents` | Настроенные subagents и их параметры |23| `/agents` | Настроенные subagents и их параметры |


25| `/mcp` | Подключённые MCP серверы и их статус |25| `/mcp` | Подключённые MCP серверы и их статус |

26| `/permissions` | Разрешённые и запрещённые правила, которые в настоящее время действуют |26| `/permissions` | Разрешённые и запрещённые правила, которые в настоящее время действуют |

27| `/doctor` | Диагностика конфигурации: неверные ключи, ошибки схемы, здоровье установки |27| `/doctor` | Диагностика конфигурации: неверные ключи, ошибки схемы, здоровье установки |

28| `/debug [issue]` | Включает логирование отладки для сессии и предлагает Claude диагностировать, используя вывод журнала и пути параметров |

28| `/status` | Активные источники параметров, включая то, действуют ли управляемые параметры |29| `/status` | Активные источники параметров, включая то, действуют ли управляемые параметры |

29 30 

30Если файл памяти отсутствует в `/memory`, проверьте его расположение в соответствии с [как загружаются файлы CLAUDE.md](/ru/memory#how-claude-md-files-load). Файлы `CLAUDE.md` в подпапках загружаются по требованию, когда Claude читает файл в этой папке с помощью инструмента Read, а не при запуске сессии.31Если файл памяти отсутствует в `/memory`, проверьте его расположение в соответствии с [как загружаются файлы CLAUDE.md](/ru/memory#how-claude-md-files-load). Файлы `CLAUDE.md` в подпапках загружаются по требованию, когда Claude читает файл в этой папке с помощью инструмента Read, а не при запуске сессии.


41 42 

42Параметры объединяются в управляемых, пользовательских, проектных и локальных областях. Управляемые параметры всегда выигрывают, когда присутствуют. Среди остальных, более близкая область переопределяет более широкую в порядке локальная, затем проект, затем пользователь. Некоторые параметры также можно устанавливать флагами командной строки или [переменными окружения](/ru/env-vars), которые действуют как ещё один слой переопределения. Когда параметр не кажется применяемым, значение, которое вы установили, обычно переопределяется другой областью или переменной окружения.43Параметры объединяются в управляемых, пользовательских, проектных и локальных областях. Управляемые параметры всегда выигрывают, когда присутствуют. Среди остальных, более близкая область переопределяет более широкую в порядке локальная, затем проект, затем пользователь. Некоторые параметры также можно устанавливать флагами командной строки или [переменными окружения](/ru/env-vars), которые действуют как ещё один слой переопределения. Когда параметр не кажется применяемым, значение, которое вы установили, обычно переопределяется другой областью или переменной окружения.

43 44 

44Запустите `/doctor`, чтобы проверить файлы конфигурации и выявить неверные ключи или ошибки схемы. Запустите `/status`, чтобы увидеть, какие источники параметров активны, включая то, действуют ли управляемые параметры. Чтобы понять, какая область выигрывает для данного ключа, см. [Как взаимодействуют области](/ru/settings#how-scopes-interact).45Запустите `/doctor`, чтобы проверить файлы конфигурации и выявить неверные ключи или ошибки схемы. Когда `/doctor` сообщает о проблемах, нажмите `f`, чтобы отправить диагностический отчёт Claude и позволить ему пройти через исправления с вами.

46 

47Запустите `/status`, чтобы увидеть, какие источники параметров активны, включая то, действуют ли управляемые параметры. Чтобы понять, какая область выигрывает для данного ключа, см. [Как взаимодействуют области](/ru/settings#how-scopes-interact).

45 48 

46## Проверьте MCP серверы49## Проверьте MCP серверы

47 50 


63 66 

64Если `/hooks` показывает hook, но он всё ещё не срабатывает, следующий шаг — наблюдать оценку hook в реальном времени. Запустите сессию с `claude --debug hooks` и вызовите tool call. Журнал отладки записывает каждое событие, какие matchers были проверены, и код выхода и вывод hook. См. [Debug hooks](/ru/hooks#debug-hooks) для формата журнала и [hooks troubleshooting](/ru/hooks-guide#limitations-and-troubleshooting) для распространённых паттернов сбоев.67Если `/hooks` показывает hook, но он всё ещё не срабатывает, следующий шаг — наблюдать оценку hook в реальном времени. Запустите сессию с `claude --debug hooks` и вызовите tool call. Журнал отладки записывает каждое событие, какие matchers были проверены, и код выхода и вывод hook. См. [Debug hooks](/ru/hooks#debug-hooks) для формата журнала и [hooks troubleshooting](/ru/hooks-guide#limitations-and-troubleshooting) для распространённых паттернов сбоев.

65 68 

66## Распространённые причины69## Протестируйте с чистой конфигурацией

70 

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

72 

73```bash theme={null}

74cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude

75```

76 

77Чистая сессия не имеет пользовательских или проектных параметров, hooks, MCP серверов, плагинов или памяти.

78 

79* Управляемые параметры всё ещё применяются, если ваша организация их развёртывает, так как они находятся в системном пути вне `~/.claude`

80* На Linux и Windows вам будет предложено войти снова, потому что учётные данные хранятся в каталоге конфигурации

81* На macOS учётные данные находятся в Keychain и переносятся в чистую сессию

82 

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

84 

85## Проверьте распространённые причины

67 86 

68Большинство сюрпризов конфигурации восходят к небольшому набору правил расположения и синтаксиса. Проверьте их перед тем, как предположить ошибку:87Большинство сюрпризов конфигурации восходят к небольшому набору правил расположения и синтаксиса. Проверьте их перед тем, как предположить ошибку:

69 88 

70| Симптом | Причина | Исправление |89| Симптом | Причина | Исправление |

71| :----------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |90| :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

72| Hook никогда не срабатывает | `matcher` — это JSON массив вместо строки | Используйте одну строку с `\|` для соответствия нескольким tools, например `"Edit\|Write"`. См. [matcher patterns](/ru/hooks#matcher-patterns). |91| Hook никогда не срабатывает | `matcher` — это JSON массив вместо строки | Используйте одну строку с `\|` для соответствия нескольким tools, например `"Edit\|Write"`. См. [matcher patterns](/ru/hooks#matcher-patterns). |

73| Hook никогда не срабатывает | значение `matcher` в нижнем регистре, например `"bash"` | Соответствие чувствительно к регистру. Имена tools написаны с заглавной буквы: `Bash`, `Edit`, `Write`, `Read`. |92| Hook никогда не срабатывает | значение `matcher` в нижнем регистре, например `"bash"` | Соответствие чувствительно к регистру. Имена tools написаны с заглавной буквы: `Bash`, `Edit`, `Write`, `Read`. |

74| Hook никогда не срабатывает | Hooks находятся в отдельном файле `.claude/hooks.json` | Нет отдельного файла hooks. Определите hooks под ключом `"hooks"` в `settings.json`. См. [hook configuration](/ru/hooks). |93| Hook никогда не срабатывает | Hooks находятся в отдельном файле `.claude/hooks.json` | Нет отдельного файла hooks. Определите hooks под ключом `"hooks"` в `settings.json`. См. [hook configuration](/ru/hooks). |


80| Subagent игнорирует инструкции `CLAUDE.md` | Subagents не всегда наследуют память проекта | Поместите критические правила в тело файла агента, которое становится системным prompt subagent. См. [subagent configuration](/ru/sub-agents). |99| Subagent игнорирует инструкции `CLAUDE.md` | Subagents не всегда наследуют память проекта | Поместите критические правила в тело файла агента, которое становится системным prompt subagent. См. [subagent configuration](/ru/sub-agents). |

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

82| MCP серверы в `.mcp.json` никогда не загружаются | Файл находится под `.claude/` или использует формат конфигурации Claude Desktop | Конфигурация MCP проекта находится в корне репозитория как `.mcp.json`, а не внутри `.claude/`. См. [MCP configuration](/ru/mcp). |101| MCP серверы в `.mcp.json` никогда не загружаются | Файл находится под `.claude/` или использует формат конфигурации Claude Desktop | Конфигурация MCP проекта находится в корне репозитория как `.mcp.json`, а не внутри `.claude/`. См. [MCP configuration](/ru/mcp). |

102| MCP серверы добавлены под `mcpServers` в `settings.json`, но никогда не появляются | `settings.json` не читает ключ `mcpServers` | Определите серверы проекта в `.mcp.json` в корне репозитория или запустите `claude mcp add --scope user` для серверов с областью пользователя. См. [MCP configuration](/ru/mcp). |

83| Добавлен MCP сервер проекта, но не появляется | Prompt одноразового одобрения был отклонён | Серверы с областью проекта требуют одобрения. Запустите `/mcp`, чтобы увидеть статус и одобрить. |103| Добавлен MCP сервер проекта, но не появляется | Prompt одноразового одобрения был отклонён | Серверы с областью проекта требуют одобрения. Запустите `/mcp`, чтобы увидеть статус и одобрить. |

84| MCP сервер не запускается из некоторых каталогов | `command` или `args` использует относительный путь к файлу | Используйте абсолютные пути для локальных скриптов. Исполняемые файлы в вашем `PATH` как `npx` или `uvx` работают как есть. |104| MCP сервер не запускается из некоторых каталогов | `command` или `args` использует относительный путь к файлу | Используйте абсолютные пути для локальных скриптов. Исполняемые файлы в вашем `PATH` как `npx` или `uvx` работают как есть. |

85| MCP сервер запускается без ожидаемых переменных окружения | Переменные находятся в `settings.json` `env`, которые не распространяются на дочерние процессы MCP | Установите `env` для каждого сервера внутри `.mcp.json`. |105| MCP сервер запускается без ожидаемых переменных окружения | Переменные находятся в `settings.json` `env`, которые не распространяются на дочерние процессы MCP | Установите `env` для каждого сервера внутри `.mcp.json`. |

Details

4 4 

5# Откройте и установите готовые плагины через маркетплейсы5# Откройте и установите готовые плагины через маркетплейсы

6 6 

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

8 8 

9Плагины расширяют Claude Code с помощью skills, agents, hooks и MCP servers. Маркетплейсы плагинов — это каталоги, которые помогают вам обнаруживать и устанавливать эти расширения без необходимости создавать их самостоятельно.9Плагины расширяют Claude Code с помощью skills, agents, hooks и MCP servers. Маркетплейсы плагинов — это каталоги, которые помогают вам обнаруживать и устанавливать эти расширения без необходимости создавать их самостоятельно.

10 10 


36/plugin install github@claude-plugins-official36/plugin install github@claude-plugins-official

37```37```

38 38 

39Если Claude Code сообщает, что плагин не найден ни в одном маркетплейсе, ваш маркетплейс либо отсутствует, либо устарел. Запустите `/plugin marketplace update claude-plugins-official` для его обновления, или `/plugin marketplace add anthropics/claude-plugins-official`, если вы еще не добавили его. Затем повторите попытку установки.

40 

39<Note>41<Note>

40 Официальный маркетплейс поддерживается компанией Anthropic. Чтобы отправить плагин в официальный маркетплейс, используйте одну из встроенных форм отправки:42 Официальный маркетплейс поддерживается компанией Anthropic. Чтобы отправить плагин в официальный маркетплейс, используйте одну из встроенных форм отправки:

41 43 


95 97 

96### Development workflows98### Development workflows

97 99 

98Плагины, которые добавляют команды и агентов для общих задач разработки:100Плагины, которые добавляют skills и agents для общих задач разработки:

99 101 

100* **commit-commands**: рабочие процессы Git commit, включая commit, push и создание PR102* **commit-commands**: рабочие процессы Git commit, включая commit, push и создание PR

101* **pr-review-toolkit**: специализированные агенты для проверки pull requests103* **pr-review-toolkit**: специализированные agents для проверки pull requests

102* **agent-sdk-dev**: инструменты для разработки с Claude Agent SDK104* **agent-sdk-dev**: инструменты для разработки с Claude Agent SDK

103* **plugin-dev**: набор инструментов для создания собственных плагинов105* **plugin-dev**: набор инструментов для создания собственных плагинов

104 106 


142 * **Project scope**: установите для всех сотрудников в этом репозитории144 * **Project scope**: установите для всех сотрудников в этом репозитории

143 * **Local scope**: установите для себя только в этом репозитории145 * **Local scope**: установите для себя только в этом репозитории

144 146 

145 Например, выберите **commit-commands** (плагин, который добавляет команды рабочего процесса git) и установите его в область пользователя.147 Например, выберите **commit-commands** (плагин, который добавляет skills рабочего процесса git) и установите его в область пользователя.

146 148 

147 Вы также можете установить непосредственно из командной строки:149 Вы также можете установить непосредственно из командной строки:

148 150 


154 </Step>156 </Step>

155 157 

156 <Step title="Используйте свой новый плагин">158 <Step title="Используйте свой новый плагин">

157 После установки запустите `/reload-plugins` для активации плагина. Команды плагина имеют пространство имен по имени плагина, поэтому **commit-commands** предоставляет команды вроде `/commit-commands:commit`.159 После установки запустите `/reload-plugins` для активации плагина. Skills плагина имеют пространство имен по имени плагина, поэтому **commit-commands** предоставляет skills вроде `/commit-commands:commit`.

158 160 

159 Попробуйте, внеся изменение в файл и запустив:161 Попробуйте, внеся изменение в файл и запустив:

160 162 


164 166 

165 Это подготавливает ваши изменения, генерирует сообщение commit и создает commit.167 Это подготавливает ваши изменения, генерирует сообщение commit и создает commit.

166 168 

167 Каждый плагин работает по-разному. Проверьте описание плагина на вкладке **Discover** или на его домашней странице, чтобы узнать, какие команды и возможности он предоставляет.169 Каждый плагин работает по-разному. Проверьте описание плагина на вкладке **Discover** или на его домашней странице, чтобы узнать, какие skills и возможности он предоставляет.

168 </Step>170 </Step>

169</Steps>171</Steps>

170 172 


195 197 

196### Add from other Git hosts198### Add from other Git hosts

197 199 

198Добавьте любой репозиторий git, предоставив полный URL. Это работает с любым хостом Git, включая GitLab, Bitbucket и самостоятельно размещенные серверы:200Добавьте любой репозиторий git, предоставив полный URL. Это работает с любым хостом Git, включая GitLab, Bitbucket и самостоятельно размещенные серверы. Включите суффикс `.git`, чтобы Claude Code клонировал репозиторий, а не рассматривал URL как прямую ссылку на размещенный файл `marketplace.json`.

199 201 

200Используя HTTPS:202Используя HTTPS:

201 203 


257 259 

258Вы также можете увидеть плагины с областью **managed** — они установлены администраторами через [managed settings](/ru/settings#settings-files) и не могут быть изменены.260Вы также можете увидеть плагины с областью **managed** — они установлены администраторами через [managed settings](/ru/settings#settings-files) и не могут быть изменены.

259 261 

260Запустите `/plugin` и перейдите на вкладку **Installed**, чтобы увидеть ваши плагины, сгруппированные по области.

261 

262<Warning>262<Warning>

263 Убедитесь, что вы доверяете плагину перед его установкой. Anthropic не контролирует, какие MCP servers, файлы или другое программное обеспечение включены в плагины, и не может проверить, что они работают как предполагается. Проверьте домашнюю страницу каждого плагина для получения дополнительной информации.263 Убедитесь, что вы доверяете плагину перед его установкой. Anthropic не контролирует, какие MCP servers, файлы или другое программное обеспечение включены в плагины, и не может проверить, что они работают как предполагается. Проверьте домашнюю страницу каждого плагина для получения дополнительной информации.

264</Warning>264</Warning>

265 265 

266## Manage installed plugins266## Manage installed plugins

267 267 

268Запустите `/plugin` и перейдите на вкладку **Installed**, чтобы просмотреть, включить, отключить или удалить ваши плагины. Введите текст для фильтрации списка по имени плагина или описанию.268Запустите `/plugin` и перейдите на вкладку **Installed**, чтобы просмотреть, включить, отключить или удалить ваши плагины. Список сгруппирован по области и отсортирован так, чтобы вы сначала видели проблемы: плагины с ошибками загрузки или неразрешенными зависимостями появляются в верхней части, затем ваши избранные, с отключенными плагинами, скрытыми за свернутым заголовком внизу.

269 

270Из списка вы можете:

271 

272* нажать `f`, чтобы добавить в избранное или удалить из избранного выбранный плагин

273* ввести текст для фильтрации по имени плагина или описанию

274* нажать Enter, чтобы открыть подробный вид плагина и включить, отключить или удалить его

275 

276Когда вы устанавливаете плагин, который объявляет зависимости, вывод установки указывает, какие зависимости были автоматически установлены вместе с ним.

269 277 

270Вы также можете управлять плагинами с помощью прямых команд.278Вы также можете управлять плагинами с помощью прямых команд.

271 279 


400 408 

4011. **Check your version**: запустите `claude --version`, чтобы увидеть, что установлено.4091. **Check your version**: запустите `claude --version`, чтобы увидеть, что установлено.

4022. **Update Claude Code**:4102. **Update Claude Code**:

403 * **Homebrew**: `brew upgrade claude-code`411 * **Homebrew**: `brew upgrade claude-code` (или `brew upgrade claude-code@latest`, если вы установили этот cask)

404 * **npm**: `npm update -g @anthropic-ai/claude-code`412 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`

405 * **Native installer**: повторно запустите команду установки из [Setup](/ru/setup)413 * **Native installer**: повторно запустите команду установки из [Setup](/ru/setup)

4063. **Restart Claude Code**: после обновления перезагрузите терминал и снова запустите `claude`.4143. **Restart Claude Code**: после обновления перезагрузите терминал и снова запустите `claude`.

407 415 

env-vars.md +16 −10

Details

41| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Имя [модели класса Haiku для фоновых задач](/ru/costs) |41| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Имя [модели класса Haiku для фоновых задач](/ru/costs) |

42| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Переопределить регион AWS для модели класса Haiku при использовании Bedrock или Bedrock Mantle |42| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Переопределить регион AWS для модели класса Haiku при использовании Bedrock или Bedrock Mantle |

43| `ANTHROPIC_VERTEX_BASE_URL` | Переопределить URL конечной точки Vertex AI. Используйте для пользовательских конечных точек Vertex или при маршрутизации через [шлюз LLM](/ru/llm-gateway). См. [Google Vertex AI](/ru/google-vertex-ai) |43| `ANTHROPIC_VERTEX_BASE_URL` | Переопределить URL конечной точки Vertex AI. Используйте для пользовательских конечных точек Vertex или при маршрутизации через [шлюз LLM](/ru/llm-gateway). См. [Google Vertex AI](/ru/google-vertex-ai) |

44| `ANTHROPIC_VERTEX_PROJECT_ID` | ID проекта GCP для Vertex AI. Требуется при использовании [Google Vertex AI](/ru/google-vertex-ai) |44| `ANTHROPIC_VERTEX_PROJECT_ID` | ID проекта GCP для запросов Vertex AI. Переопределяется `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` или проектом в файле учётных данных `GOOGLE_APPLICATION_CREDENTIALS`. См. [Google Vertex AI](/ru/google-vertex-ai) |

45| `API_TIMEOUT_MS` | Тайм-аут для запросов API в миллисекундах (по умолчанию: 600000, или 10 минут; максимум: 2147483647). Увеличьте это значение, когда запросы истекают на медленных сетях или при маршрутизации через прокси. Значения выше максимума переполняют базовый таймер и вызывают немедленный отказ запросов |45| `API_TIMEOUT_MS` | Тайм-аут для запросов API в миллисекундах (по умолчанию: 600000, или 10 минут; максимум: 2147483647). Увеличьте это значение, когда запросы истекают на медленных сетях или при маршрутизации через прокси. Значения выше максимума переполняют базовый таймер и вызывают немедленный отказ запросов |

46| `AWS_BEARER_TOKEN_BEDROCK` | Ключ API Bedrock для аутентификации (см. [Ключи API Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |46| `AWS_BEARER_TOKEN_BEDROCK` | Ключ API Bedrock для аутентификации (см. [Ключи API Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

47| `BASH_DEFAULT_TIMEOUT_MS` | Тайм-аут по умолчанию для долгоживущих команд bash (по умолчанию: 120000, или 2 минуты) |47| `BASH_DEFAULT_TIMEOUT_MS` | Тайм-аут по умолчанию для долгоживущих команд bash (по умолчанию: 120000, или 2 минуты) |


51| `CLAUDECODE` | Установите на `1` в оболочках, которые порождает Claude Code (инструмент Bash, сессии tmux). Не установлено в [hooks](/ru/hooks) или командах [строки состояния](/ru/statusline). Используйте для обнаружения, когда скрипт выполняется внутри оболочки, порождённой Claude Code |51| `CLAUDECODE` | Установите на `1` в оболочках, которые порождает Claude Code (инструмент Bash, сессии tmux). Не установлено в [hooks](/ru/hooks) или командах [строки состояния](/ru/statusline). Используйте для обнаружения, когда скрипт выполняется внутри оболочки, порождённой Claude Code |

52| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите на `1`, чтобы отключить все встроенные типы [subagent](/ru/sub-agents), такие как Explore и Plan. Применяется только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которые хотят чистый лист |52| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите на `1`, чтобы отключить все встроенные типы [subagent](/ru/sub-agents), такие как Explore и Plan. Применяется только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которые хотят чистый лист |

53| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Установите на `1`, чтобы пропустить префикс `mcp__<server>__` на именах инструментов из MCP серверов, созданных SDK. Инструменты используют свои исходные имена. Только для использования SDK |53| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Установите на `1`, чтобы пропустить префикс `mcp__<server>__` на именах инструментов из MCP серверов, созданных SDK. Инструменты используют свои исходные имена. Только для использования SDK |

54| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Тайм-аут зависания в миллисекундах для фоновых subagents. По умолчанию `600000` (10 минут). Таймер сбрасывается при каждом событии потоковой передачи прогресса; если прогресс не поступает в течение окна, subagent прерывается и задача отмечается как неудачная, выводя любой частичный результат родителю |

54| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент ёмкости контекста (1-100), при котором срабатывает auto-compaction. По умолчанию auto-compaction срабатывает при примерно 95% ёмкости. Используйте меньшие значения, такие как `50`, для более раннего сжатия. Значения выше порога по умолчанию не имеют эффекта. Применяется как к основным разговорам, так и к subagents. Этот процент соответствует полю `context_window.used_percentage`, доступному в [строке состояния](/ru/statusline) |55| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент ёмкости контекста (1-100), при котором срабатывает auto-compaction. По умолчанию auto-compaction срабатывает при примерно 95% ёмкости. Используйте меньшие значения, такие как `50`, для более раннего сжатия. Значения выше порога по умолчанию не имеют эффекта. Применяется как к основным разговорам, так и к subagents. Этот процент соответствует полю `context_window.used_percentage`, доступному в [строке состояния](/ru/statusline) |

55| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите на `1`, чтобы принудительно включить автоматическое фоновое выполнение долгоживущих задач агента. При включении subagents перемещаются в фон после выполнения примерно две минуты |56| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите на `1`, чтобы принудительно включить автоматическое фоновое выполнение долгоживущих задач агента. При включении subagents перемещаются в фон после выполнения примерно две минуты |

56| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Вернуться в исходный рабочий каталог после каждой команды Bash или PowerShell в основной сессии |57| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Вернуться в исходный рабочий каталог после каждой команды Bash или PowerShell в основной сессии |


59| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Интервал в миллисекундах, при котором должны быть обновлены учётные данные (при использовании [`apiKeyHelper`](/ru/settings#available-settings)) |60| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Интервал в миллисекундах, при котором должны быть обновлены учётные данные (при использовании [`apiKeyHelper`](/ru/settings#available-settings)) |

60| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите на `0`, чтобы опустить блок атрибуции (версия клиента и отпечаток приглашения) с начала системного приглашения. Отключение его улучшает коэффициент попадания кэша приглашений при маршрутизации через [шлюз LLM](/ru/llm-gateway). Кэширование Anthropic API не затронуто |61| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите на `0`, чтобы опустить блок атрибуции (версия клиента и отпечаток приглашения) с начала системного приглашения. Отключение его улучшает коэффициент попадания кэша приглашений при маршрутизации через [шлюз LLM](/ru/llm-gateway). Кэширование Anthropic API не затронуто |

61| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Установите ёмкость контекста в токенах, используемую для расчётов auto-compaction. По умолчанию используется контекстное окно модели: 200K для стандартных моделей или 1M для моделей с [расширенным контекстом](/ru/model-config#extended-context). Используйте меньшее значение, такое как `500000`, на модели 1M, чтобы рассматривать окно как 500K для целей сжатия. Значение ограничено фактическим контекстным окном модели. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` применяется как процент от этого значения. Установка этой переменной отделяет порог сжатия от `used_percentage` в строке состояния, который всегда использует полное контекстное окно модели |62| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Установите ёмкость контекста в токенах, используемую для расчётов auto-compaction. По умолчанию используется контекстное окно модели: 200K для стандартных моделей или 1M для моделей с [расширенным контекстом](/ru/model-config#extended-context). Используйте меньшее значение, такое как `500000`, на модели 1M, чтобы рассматривать окно как 500K для целей сжатия. Значение ограничено фактическим контекстным окном модели. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` применяется как процент от этого значения. Установка этой переменной отделяет порог сжатия от `used_percentage` в строке состояния, который всегда использует полное контекстное окно модели |

62| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Переопределить автоматическое [подключение IDE](/ru/vs-code). По умолчанию Claude Code подключается автоматически при запуске внутри встроенного терминала поддерживаемой IDE. Установите на `false`, чтобы предотвратить это. Установите на `true`, чтобы принудительно попытаться подключиться, когда автоматическое обнаружение не удаётся, например, когда tmux скрывает родительский терминал |63| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Переопределить автоматическое [подключение IDE](/ru/vs-code). По умолчанию Claude Code подключается автоматически при запуске внутри встроенного терминала поддерживаемой IDE. Установите на `false`, чтобы предотвратить это. Установите на `true`, чтобы принудительно попытаться подключиться, когда автоматическое обнаружение не удаётся, например, когда tmux скрывает родительский терминал. Имеет приоритет над параметром [`autoConnectIde`](/ru/settings#global-config-settings) глобальной конфигурации |

63| `CLAUDE_CODE_CERT_STORE` | Разделённый запятыми список источников сертификатов CA для TLS соединений. `bundled` — это набор Mozilla CA, поставляемый с Claude Code. `system` — это хранилище доверия операционной системы. По умолчанию `bundled,system`. Для интеграции системного хранилища требуется дистрибутив нативного бинарного файла. На среде выполнения Node.js используется только набор bundled независимо от этого значения |64| `CLAUDE_CODE_CERT_STORE` | Разделённый запятыми список источников сертификатов CA для TLS соединений. `bundled` — это набор Mozilla CA, поставляемый с Claude Code. `system` — это хранилище доверия операционной системы. По умолчанию `bundled,system` |

64| `CLAUDE_CODE_CLIENT_CERT` | Путь к файлу сертификата клиента для аутентификации mTLS |65| `CLAUDE_CODE_CLIENT_CERT` | Путь к файлу сертификата клиента для аутентификации mTLS |

65| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу приватного ключа клиента для аутентификации mTLS |66| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу приватного ключа клиента для аутентификации mTLS |

66| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Парольная фраза для зашифрованного CLAUDE\_CODE\_CLIENT\_KEY (опционально) |67| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Парольная фраза для зашифрованного CLAUDE\_CODE\_CLIENT\_KEY (опционально) |


68| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Минимальный уровень логирования, записываемый в файл журнала отладки. Значения: `verbose`, `debug` (по умолчанию), `info`, `warn`, `error`. Установите на `verbose`, чтобы включить высокообъёмную диагностику, такую как полный вывод команды строки состояния, или повысьте до `error`, чтобы снизить шум |69| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Минимальный уровень логирования, записываемый в файл журнала отладки. Значения: `verbose`, `debug` (по умолчанию), `info`, `warn`, `error`. Установите на `verbose`, чтобы включить высокообъёмную диагностику, такую как полный вывод команды строки состояния, или повысьте до `error`, чтобы снизить шум |

69| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите на `1`, чтобы отключить поддержку [контекстного окна 1M](/ru/model-config#extended-context). При установке варианты модели 1M недоступны в средстве выбора модели. Полезно для корпоративных сред с требованиями соответствия |70| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите на `1`, чтобы отключить поддержку [контекстного окна 1M](/ru/model-config#extended-context). При установке варианты модели 1M недоступны в средстве выбора модели. Полезно для корпоративных сред с требованиями соответствия |

70| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Установите на `1`, чтобы отключить [адаптивное рассуждение](/ru/model-config#adjust-effort-level) на Opus 4.6 и Sonnet 4.6 и вернуться к фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Не влияет на Opus 4.7, который всегда использует адаптивное рассуждение |71| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Установите на `1`, чтобы отключить [адаптивное рассуждение](/ru/model-config#adjust-effort-level) на Opus 4.6 и Sonnet 4.6 и вернуться к фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Не влияет на Opus 4.7, который всегда использует адаптивное рассуждение |

72| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Установите на `1`, чтобы отключить [полноэкранный режим](/ru/fullscreen) и использовать классический рендерер основного экрана. Разговор остаётся в собственной прокрутке вашего терминала, поэтому `Cmd+f` и режим копирования tmux работают как обычно. Имеет приоритет над `CLAUDE_CODE_NO_FLICKER` и параметром [`tui`](/ru/settings#available-settings). Вы также можете переключаться с помощью `/tui default` |

71| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите на `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |73| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите на `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |

72| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Установите на `1`, чтобы отключить [автоматическую память](/ru/memory#auto-memory). Установите на `0`, чтобы принудительно включить автоматическую память во время постепенного развёртывания. При отключении Claude не создаёт и не загружает файлы автоматической памяти |74| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Установите на `1`, чтобы отключить [автоматическую память](/ru/memory#auto-memory). Установите на `0`, чтобы принудительно включить автоматическую память даже когда режим `--bare` или [`autoMemoryEnabled: false`](/ru/settings#available-settings) в противном случае отключили бы её. При отключении Claude не создаёт и не загружает файлы автоматической памяти |

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

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

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

76| `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`) сохраняются. |78| `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`) сохраняются. |

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

78| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Установите на `1`, чтобы отключить опросы качества сессии "How is Claude doing?". Опросы также отключаются, когда установлена переменная `DISABLE_TELEMETRY` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. См. [Опросы качества сессии](/ru/data-usage#session-quality-surveys) |80| `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) |

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

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

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


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

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

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

93| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Установите на `1`, чтобы принудительно включить потоковую передачу входных данных инструмента с тонкой зернистостью. Без этого API буферизирует параметры входных данных инструмента полностью перед отправкой событий delta, что может задержать отображение на больших входных данных инструмента. Только Anthropic API: не влияет на Bedrock, Vertex или Foundry |95| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Управляет потоковой передачей входных данных инструмента с тонкой зернистостью из API по мере их создания Claude. При отключении большой входной параметр инструмента, такой как длинная запись файла, поступает только после завершения создания Claude, что может выглядеть как зависание. Включено по умолчанию для прямых соединений Anthropic API. Установите на `0`, чтобы отказаться. Установите на `1`, чтобы принудительно включить, даже когда значение по умолчанию на стороне сервера отключено. Не влияет на Bedrock, Vertex, Foundry или соединения [шлюза](/ru/llm-gateway) |

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

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

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

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


98| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Установите на `1`, чтобы включить [команды агентов](/ru/agent-teams). Команды агентов являются экспериментальными и отключены по умолчанию |101| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Установите на `1`, чтобы включить [команды агентов](/ru/agent-teams). Команды агентов являются экспериментальными и отключены по умолчанию |

99| `CLAUDE_CODE_EXTRA_BODY` | JSON объект для объединения на верхний уровень каждого тела запроса API. Полезно для передачи параметров, специфичных для поставщика, которые Claude Code не раскрывает напрямую |102| `CLAUDE_CODE_EXTRA_BODY` | JSON объект для объединения на верхний уровень каждого тела запроса API. Полезно для передачи параметров, специфичных для поставщика, которые Claude Code не раскрывает напрямую |

100| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Переопределить ограничение токенов по умолчанию для чтения файлов. Полезно, когда вам нужно полностью прочитать большие файлы |103| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Переопределить ограничение токенов по умолчанию для чтения файлов. Полезно, когда вам нужно полностью прочитать большие файлы |

104| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Установите на `1`, чтобы принудительно включить режим DEC private 2026 [синхронизированный вывод](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036), когда ваш терминал его поддерживает, но не автоматически обнаруживается. Полезно для эмуляторов, таких как Emacs `eat`, которые реализуют BSU/ESU, но не отвечают на зонд возможностей. Не влияет на tmux |

101| `CLAUDE_CODE_FORK_SUBAGENT` | Установите на `1`, чтобы включить [разветвлённые subagents](/ru/sub-agents#fork-the-current-conversation). Разветвлённый subagent наследует полный контекст разговора из основной сессии вместо начала с нуля. При включении `/fork` порождает разветвлённый subagent вместо действия как псевдоним для [`/branch`](/ru/commands), и все порождения subagent выполняются в фоне. Работает в интерактивном режиме и через SDK или `claude -p` |105| `CLAUDE_CODE_FORK_SUBAGENT` | Установите на `1`, чтобы включить [разветвлённые subagents](/ru/sub-agents#fork-the-current-conversation). Разветвлённый subagent наследует полный контекст разговора из основной сессии вместо начала с нуля. При включении `/fork` порождает разветвлённый subagent вместо действия как псевдоним для [`/branch`](/ru/commands), и все порождения subagent выполняются в фоне. Работает в интерактивном режиме и через SDK или `claude -p` |

102| `CLAUDE_CODE_GIT_BASH_PATH` | Только Windows: путь к исполняемому файлу Git Bash (`bash.exe`). Используйте, когда Git Bash установлен, но не в вашем PATH. См. [Настройка Windows](/ru/setup#set-up-on-windows) |106| `CLAUDE_CODE_GIT_BASH_PATH` | Только Windows: путь к исполняемому файлу Git Bash (`bash.exe`). Используйте, когда Git Bash установлен, но не в вашем PATH. См. [Настройка Windows](/ru/setup#set-up-on-windows) |

103| `CLAUDE_CODE_GLOB_HIDDEN` | Установите на `false`, чтобы исключить скрытые файлы из результатов, когда Claude вызывает [инструмент Glob](/ru/tools-reference). Включено по умолчанию. Не влияет на автодополнение файлов `@`, `ls`, Grep или Read |107| `CLAUDE_CODE_GLOB_HIDDEN` | Установите на `false`, чтобы исключить скрытые файлы из результатов, когда Claude вызывает [инструмент Glob](/ru/tools-reference). Включено по умолчанию. Не влияет на автодополнение файлов `@`, `ls`, Grep или Read |


120| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Тайм-аут в миллисекундах для очистки ожидающих spans OpenTelemetry (по умолчанию: 5000). См. [Мониторинг](/ru/monitoring-usage) |124| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Тайм-аут в миллисекундах для очистки ожидающих spans OpenTelemetry (по умолчанию: 5000). См. [Мониторинг](/ru/monitoring-usage) |

121| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал для обновления динамических заголовков OpenTelemetry в миллисекундах (по умолчанию: 1740000 / 29 минут). См. [Динамические заголовки](/ru/monitoring-usage#dynamic-headers) |125| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал для обновления динамических заголовков OpenTelemetry в миллисекундах (по умолчанию: 1740000 / 29 минут). См. [Динамические заголовки](/ru/monitoring-usage#dynamic-headers) |

122| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Тайм-аут в миллисекундах для экспортёра OpenTelemetry для завершения при выключении (по умолчанию: 2000). Увеличьте, если метрики отбрасываются при выходе. См. [Мониторинг](/ru/monitoring-usage) |126| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Тайм-аут в миллисекундах для экспортёра OpenTelemetry для завершения при выключении (по умолчанию: 2000). Увеличьте, если метрики отбрасываются при выходе. См. [Мониторинг](/ru/monitoring-usage) |

127| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Установите на `1`, чтобы позволить Claude Code запустить команду обновления вашего менеджера пакетов в фоне, когда доступна новая версия. Применяется к установкам Homebrew и WinGet. Другие менеджеры пакетов продолжают показывать команду обновления без её запуска. См. [Автоматические обновления](/ru/setup#auto-updates) |

123| `CLAUDE_CODE_PERFORCE_MODE` | Установите на `1`, чтобы включить защиту от записи с учётом Perforce. При установке Edit, Write и NotebookEdit не удаются с подсказкой `p4 edit <file>`, если целевой файл не имеет бита владельца-записи, который Perforce очищает на синхронизированных файлах до тех пор, пока `p4 edit` их не откроет. Это предотвращает обход Claude Code отслеживания изменений Perforce |128| `CLAUDE_CODE_PERFORCE_MODE` | Установите на `1`, чтобы включить защиту от записи с учётом Perforce. При установке Edit, Write и NotebookEdit не удаются с подсказкой `p4 edit <file>`, если целевой файл не имеет бита владельца-записи, который Perforce очищает на синхронизированных файлах до тех пор, пока `p4 edit` их не откроет. Это предотвращает обход Claude Code отслеживания изменений Perforce |

124| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Переопределить корневой каталог plugins. Несмотря на название, это устанавливает родительский каталог, а не сам кэш: marketplaces и кэш plugin находятся в подкаталогах под этим путём. По умолчанию `~/.claude/plugins` |129| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Переопределить корневой каталог plugins. Несмотря на название, это устанавливает родительский каталог, а не сам кэш: marketplaces и кэш plugin находятся в подкаталогах под этим путём. По умолчанию `~/.claude/plugins` |

125| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Тайм-аут в миллисекундах для операций git при установке или обновлении plugins (по умолчанию: 120000). Увеличьте это значение для больших репозиториев или медленных сетевых соединений. См. [Операции Git истекают](/ru/plugin-marketplaces#git-operations-time-out) |130| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Тайм-аут в миллисекундах для операций git при установке или обновлении plugins (по умолчанию: 120000). Увеличьте это значение для больших репозиториев или медленных сетевых соединений. См. [Операции Git истекают](/ru/plugin-marketplaces#git-operations-time-out) |


131| `CLAUDE_CODE_REMOTE_SESSION_ID` | Установите автоматически в [облачных сессиях](/ru/claude-code-on-the-web) на ID текущей сессии. Прочитайте это, чтобы построить ссылку обратно на транскрипт сессии. См. [Ссылка артефактов обратно на сессию](/ru/claude-code-on-the-web#link-artifacts-back-to-the-session) |136| `CLAUDE_CODE_REMOTE_SESSION_ID` | Установите автоматически в [облачных сессиях](/ru/claude-code-on-the-web) на ID текущей сессии. Прочитайте это, чтобы построить ссылку обратно на транскрипт сессии. См. [Ссылка артефактов обратно на сессию](/ru/claude-code-on-the-web#link-artifacts-back-to-the-session) |

132| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Установите на `1`, чтобы автоматически возобновить, если предыдущая сессия закончилась в середине хода. Используется в режиме SDK, чтобы модель продолжала работу без необходимости повторной отправки приглашения SDK |137| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Установите на `1`, чтобы автоматически возобновить, если предыдущая сессия закончилась в середине хода. Используется в режиме SDK, чтобы модель продолжала работу без необходимости повторной отправки приглашения SDK |

133| `CLAUDE_CODE_SCRIPT_CAPS` | JSON объект, ограничивающий, сколько раз конкретные скрипты могут быть вызваны за сессию, когда установлен `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — это подстроки, сопоставленные с текстом команды; значения — это ограничения целого числа вызовов. Например, `{"deploy.sh": 2}` позволяет `deploy.sh` быть вызванным максимум дважды. Сопоставление основано на подстроке, поэтому трюки расширения оболочки, такие как `./scripts/deploy.sh $(evil)`, по-прежнему учитываются в отношении лимита. Разветвление среды выполнения через `xargs` или `find -exec` не обнаруживается; это контроль защиты в глубину |138| `CLAUDE_CODE_SCRIPT_CAPS` | JSON объект, ограничивающий, сколько раз конкретные скрипты могут быть вызваны за сессию, когда установлен `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — это подстроки, сопоставленные с текстом команды; значения — это ограничения целого числа вызовов. Например, `{"deploy.sh": 2}` позволяет `deploy.sh` быть вызванным максимум дважды. Сопоставление основано на подстроке, поэтому трюки расширения оболочки, такие как `./scripts/deploy.sh $(evil)`, по-прежнему учитываются в отношении лимита. Разветвление среды выполнения через `xargs` или `find -exec` не обнаруживается; это контроль защиты в глубину |

134| `CLAUDE_CODE_SCROLL_SPEED` | Установите множитель прокрутки колеса мыши в [полноэкранном режиме](/ru/fullscreen#mouse-wheel-scrolling). Принимает значения от 1 до 20. Установите на `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колеса на зубец без усиления |139| `CLAUDE_CODE_SCROLL_SPEED` | Установите множитель прокрутки колеса мыши в [полноэкранном режиме](/ru/fullscreen#mouse-wheel-scrolling). Принимает значения от 1 до 20. Установите на `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колеса на зубец без усиления. Игнорируется в встроенном терминале JetBrains IDE, где Claude Code использует собственную обработку прокрутки |

135| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределить бюджет времени в миллисекундах для [SessionEnd](/ru/hooks#sessionend) hooks. Применяется к выходу из сессии, `/clear` и переключению сессий через интерактивный `/resume`. По умолчанию бюджет составляет 1,5 секунды, автоматически повышается до наивысшего `timeout` для каждого hook, настроенного в файлах параметров, до 60 секунд. Тайм-ауты на hooks, предоставленные plugin, не повышают бюджет |140| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределить бюджет времени в миллисекундах для [SessionEnd](/ru/hooks#sessionend) hooks. Применяется к выходу из сессии, `/clear` и переключению сессий через интерактивный `/resume`. По умолчанию бюджет составляет 1,5 секунды, автоматически повышается до наивысшего `timeout` для каждого hook, настроенного в файлах параметров, до 60 секунд. Тайм-ауты на hooks, предоставленные plugin, не повышают бюджет |

141| `CLAUDE_CODE_SESSION_ID` | Установите автоматически в подпроцессах инструмента Bash и PowerShell на ID текущей сессии. Совпадает с полем `session_id`, переданным в [hooks](/ru/hooks). Обновляется при `/clear`. Используйте для корреляции скриптов и внешних инструментов с сессией Claude Code, которая их запустила |

136| `CLAUDE_CODE_SHELL` | Переопределить автоматическое обнаружение оболочки. Полезно, когда ваша оболочка входа отличается от вашей предпочтительной рабочей оболочки (например, `bash` против `zsh`) |142| `CLAUDE_CODE_SHELL` | Переопределить автоматическое обнаружение оболочки. Полезно, когда ваша оболочка входа отличается от вашей предпочтительной рабочей оболочки (например, `bash` против `zsh`) |

137| `CLAUDE_CODE_SHELL_PREFIX` | Префикс команды для обёртывания команд bash, которые порождает Claude Code: вызовы инструмента Bash, команды [hook](/ru/hooks) и команды запуска stdio [MCP server](/ru/mcp). Полезно для логирования или аудита. Пример: установка `/path/to/logger.sh` запускает каждую команду как `/path/to/logger.sh <command>` |143| `CLAUDE_CODE_SHELL_PREFIX` | Префикс команды для обёртывания команд bash, которые порождает Claude Code: вызовы инструмента Bash, команды [hook](/ru/hooks) и команды запуска stdio [MCP server](/ru/mcp). Полезно для логирования или аудита. Пример: установка `/path/to/logger.sh` запускает каждую команду как `/path/to/logger.sh <command>` |

138| `CLAUDE_CODE_SIMPLE` | Установите на `1`, чтобы запустить с минимальным системным приглашением и только инструментами Bash, чтения файлов и редактирования файлов. MCP tools из `--mcp-config` по-прежнему доступны. Отключает автоматическое обнаружение hooks, skills, plugins, MCP servers, автоматическую память и CLAUDE.md. Флаг CLI [`--bare`](/ru/headless#start-faster-with-bare-mode) устанавливает это |144| `CLAUDE_CODE_SIMPLE` | Установите на `1`, чтобы запустить с минимальным системным приглашением и только инструментами Bash, чтения файлов и редактирования файлов. MCP tools из `--mcp-config` по-прежнему доступны. Отключает автоматическое обнаружение hooks, skills, plugins, MCP servers, автоматическую память и CLAUDE.md. Флаг CLI [`--bare`](/ru/headless#start-faster-with-bare-mode) устанавливает это |


146| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите на `1`, чтобы удалить учётные данные Anthropic и поставщика облачных услуг из сред подпроцессов (инструмент Bash, hooks, MCP stdio servers). Родительский процесс Claude сохраняет эти учётные данные для вызовов API, но дочерние процессы не могут их читать, снижая воздействие атак внедрения приглашений, которые пытаются экспортировать секреты через расширение оболочки. На Linux это также запускает подпроцессы Bash в изолированном пространстве имён PID, поэтому они не могут читать сред хост-процессов через `/proc`; как побочный эффект, `ps`, `pgrep` и `kill` не могут видеть или сигнализировать хост-процессам. `claude-code-action` устанавливает это автоматически, когда настроен `allowed_non_write_users` |152| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите на `1`, чтобы удалить учётные данные Anthropic и поставщика облачных услуг из сред подпроцессов (инструмент Bash, hooks, MCP stdio servers). Родительский процесс Claude сохраняет эти учётные данные для вызовов API, но дочерние процессы не могут их читать, снижая воздействие атак внедрения приглашений, которые пытаются экспортировать секреты через расширение оболочки. На Linux это также запускает подпроцессы Bash в изолированном пространстве имён PID, поэтому они не могут читать сред хост-процессов через `/proc`; как побочный эффект, `ps`, `pgrep` и `kill` не могут видеть или сигнализировать хост-процессам. `claude-code-action` устанавливает это автоматически, когда настроен `allowed_non_write_users` |

147| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Установите на `1` в неинтерактивном режиме (флаг `-p`), чтобы дождаться завершения установки plugin перед первым запросом. Без этого plugins устанавливаются в фоне и могут быть недоступны на первом ходу. Объедините с `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, чтобы ограничить ожидание |153| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Установите на `1` в неинтерактивном режиме (флаг `-p`), чтобы дождаться завершения установки plugin перед первым запросом. Без этого plugins устанавливаются в фоне и могут быть недоступны на первом ходу. Объедините с `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, чтобы ограничить ожидание |

148| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Тайм-аут в миллисекундах для синхронной установки plugin. При превышении Claude Code продолжает работу без plugins и логирует ошибку. Нет значения по умолчанию: без этой переменной синхронная установка ждёт до завершения |154| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Тайм-аут в миллисекундах для синхронной установки plugin. При превышении Claude Code продолжает работу без plugins и логирует ошибку. Нет значения по умолчанию: без этой переменной синхронная установка ждёт до завершения |

149| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Установите на `false`, чтобы отключить подсветку синтаксиса в выводе diff. Полезно, когда цвета мешают вашей настройке терминала |155| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Установите на `false`, чтобы отключить подсветку синтаксиса в выводе diff. Полезно, когда цвета мешают вашей настройке терминала. Чтобы также отключить подсветку в блоках кода и предпросмотрах файлов, используйте параметр [`syntaxHighlightingDisabled`](/ru/settings) |

150| `CLAUDE_CODE_TASK_LIST_ID` | Поделитесь списком задач между сессиями. Установите один и тот же ID в нескольких экземплярах Claude Code для координации общего списка задач. См. [Список задач](/ru/interactive-mode#task-list) |156| `CLAUDE_CODE_TASK_LIST_ID` | Поделитесь списком задач между сессиями. Установите один и тот же ID в нескольких экземплярах Claude Code для координации общего списка задач. См. [Список задач](/ru/interactive-mode#task-list) |

151| `CLAUDE_CODE_TEAM_NAME` | Имя команды агентов, к которой принадлежит этот товарищ. Установите автоматически на членах [команды агентов](/ru/agent-teams) |157| `CLAUDE_CODE_TEAM_NAME` | Имя команды агентов, к которой принадлежит этот товарищ. Установите автоматически на членах [команды агентов](/ru/agent-teams) |

152| `CLAUDE_CODE_TMPDIR` | Переопределить временный каталог, используемый для внутренних временных файлов. Claude Code добавляет `/claude-{uid}/` (Unix) или `/claude/` (Windows) к этому пути. По умолчанию: `/tmp` на macOS, `os.tmpdir()` на Linux/Windows |158| `CLAUDE_CODE_TMPDIR` | Переопределить временный каталог, используемый для внутренних временных файлов. Claude Code добавляет `/claude-{uid}/` (Unix) или `/claude/` (Windows) к этому пути. По умолчанию: `/tmp` на macOS, `os.tmpdir()` на Linux/Windows |


181| `DISABLE_PROMPT_CACHING_HAIKU` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Haiku |187| `DISABLE_PROMPT_CACHING_HAIKU` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Haiku |

182| `DISABLE_PROMPT_CACHING_OPUS` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Opus |188| `DISABLE_PROMPT_CACHING_OPUS` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Opus |

183| `DISABLE_PROMPT_CACHING_SONNET` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Sonnet |189| `DISABLE_PROMPT_CACHING_SONNET` | Установите на `1`, чтобы отключить кэширование приглашений для моделей Sonnet |

184| `DISABLE_TELEMETRY` | Установите на `1`, чтобы отказаться от телеметрии Statsig (обратите внимание, что события Statsig не включают данные пользователя, такие как код, пути к файлам или команды bash) |190| `DISABLE_TELEMETRY` | Установите на `1`, чтобы отказаться от телеметрии. События телеметрии не включают данные пользователя, такие как код, пути к файлам или команды bash |

185| `DISABLE_UPDATES` | Установите на `1`, чтобы заблокировать все обновления, включая ручную команду `claude update` и `claude install`. Более строгий, чем `DISABLE_AUTOUPDATER`. Используйте при распространении Claude Code через ваши собственные каналы и пользователи не должны самостоятельно обновляться |191| `DISABLE_UPDATES` | Установите на `1`, чтобы заблокировать все обновления, включая ручную команду `claude update` и `claude install`. Более строгий, чем `DISABLE_AUTOUPDATER`. Используйте при распространении Claude Code через ваши собственные каналы и пользователи не должны самостоятельно обновляться |

186| `DISABLE_UPGRADE_COMMAND` | Установите на `1`, чтобы скрыть команду `/upgrade` |192| `DISABLE_UPGRADE_COMMAND` | Установите на `1`, чтобы скрыть команду `/upgrade` |

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


198| `MAX_STRUCTURED_OUTPUT_RETRIES` | Количество попыток повтора, когда ответ модели не проходит проверку по [`--json-schema`](/ru/cli-reference#cli-flags) в неинтерактивном режиме (флаг `-p`). По умолчанию 5 |204| `MAX_STRUCTURED_OUTPUT_RETRIES` | Количество попыток повтора, когда ответ модели не проходит проверку по [`--json-schema`](/ru/cli-reference#cli-flags) в неинтерактивном режиме (флаг `-p`). По умолчанию 5 |

199| `MAX_THINKING_TOKENS` | Переопределить бюджет токенов [расширенного мышления](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Потолок — это [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) модели минус один. Установите на `0`, чтобы полностью отключить мышление. На моделях с [адаптивным рассуждением](/ru/model-config#adjust-effort-level) бюджет игнорируется, если адаптивное рассуждение не отключено через `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` |205| `MAX_THINKING_TOKENS` | Переопределить бюджет токенов [расширенного мышления](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Потолок — это [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) модели минус один. Установите на `0`, чтобы полностью отключить мышление. На моделях с [адаптивным рассуждением](/ru/model-config#adjust-effort-level) бюджет игнорируется, если адаптивное рассуждение не отключено через `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` |

200| `MCP_CLIENT_SECRET` | Секрет клиента OAuth для MCP servers, которые требуют [предварительно настроенные учётные данные](/ru/mcp#use-pre-configured-oauth-credentials). Избегает интерактивного приглашения при добавлении сервера с `--client-secret` |206| `MCP_CLIENT_SECRET` | Секрет клиента OAuth для MCP servers, которые требуют [предварительно настроенные учётные данные](/ru/mcp#use-pre-configured-oauth-credentials). Избегает интерактивного приглашения при добавлении сервера с `--client-secret` |

201| `MCP_CONNECTION_NONBLOCKING` | Установите на `true` в неинтерактивном режиме (`-p`), чтобы полностью пропустить ожидание подключения MCP. Полезно для скриптовых конвейеров, где инструменты MCP не требуются. Без этой переменной первый запрос ждёт до 5 секунд для подключения серверов `--mcp-config` |207| `MCP_CONNECTION_NONBLOCKING` | Установите на `true` в неинтерактивном режиме (`-p`), чтобы полностью пропустить ожидание подключения MCP. Полезно для скриптовых конвейеров, где инструменты MCP не требуются. Без этой переменной первый запрос ждёт до 5 секунд для подключения серверов `--mcp-config`. Серверы, настроенные с [`alwaysLoad: true`](/ru/mcp#exempt-a-server-from-deferral), всегда блокируют запуск независимо от этой переменной, так как их инструменты должны присутствовать при построении первого приглашения |

202| `MCP_OAUTH_CALLBACK_PORT` | Фиксированный порт для обратного вызова перенаправления OAuth, как альтернатива `--callback-port` при добавлении MCP server с [предварительно настроенными учётными данными](/ru/mcp#use-pre-configured-oauth-credentials) |208| `MCP_OAUTH_CALLBACK_PORT` | Фиксированный порт для обратного вызова перенаправления OAuth, как альтернатива `--callback-port` при добавлении MCP server с [предварительно настроенными учётными данными](/ru/mcp#use-pre-configured-oauth-credentials) |

203| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество удалённых MCP servers (HTTP/SSE) для подключения параллельно при запуске (по умолчанию: 20) |209| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество удалённых MCP servers (HTTP/SSE) для подключения параллельно при запуске (по умолчанию: 20) |

204| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество локальных MCP servers (stdio) для подключения параллельно при запуске (по умолчанию: 3) |210| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество локальных MCP servers (stdio) для подключения параллельно при запуске (по умолчанию: 3) |

errors.md +28 −6

Details

35| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |35| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |

36| `Unable to connect to API` | [Network](#unable-to-connect-to-api) |36| `Unable to connect to API` | [Network](#unable-to-connect-to-api) |

37| `SSL certificate verification failed` | [Network](#ssl-certificate-errors) |37| `SSL certificate verification failed` | [Network](#ssl-certificate-errors) |

38| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Network](#host-not-allowed-in-a-cloud-session) |

38| `Prompt is too long` | [Request errors](#prompt-is-too-long) |39| `Prompt is too long` | [Request errors](#prompt-is-too-long) |

39| `Error during compaction: Conversation too long` | [Request errors](#error-during-compaction-conversation-too-long) |40| `Error during compaction: Conversation too long` | [Request errors](#error-during-compaction-conversation-too-long) |

40| `Request too large` | [Request errors](#request-too-large) |41| `Request too large` | [Request errors](#request-too-large) |


282 283 

283## Ошибки сети и соединения284## Ошибки сети и соединения

284 285 

285Эти ошибки означают, что Claude Code вообще не смогла достичь API. Они почти всегда исходят из вашей локальной сети, прокси или брандмауэра, а не из инфраструктуры Anthropic.286Эти ошибки означают, что сетевой запрос от Claude Code не смог достичь пункта назначения. Они обычно исходят из вашей локальной сети, прокси или брандмауэра, или из политики сети облачной среды.

286 287 

287### Unable to connect to API288### Unable to connect to API

288 289 


305* Если вы находитесь за корпоративным прокси, установите `HTTPS_PROXY` перед запуском Claude Code и см. [Network configuration](/ru/network-config)306* Если вы находитесь за корпоративным прокси, установите `HTTPS_PROXY` перед запуском Claude Code и см. [Network configuration](/ru/network-config)

306* Если вы маршрутизируете через шлюз LLM или ретранслятор, установите [`ANTHROPIC_BASE_URL`](/ru/env-vars) на его адрес. См. [LLM gateway configuration](/ru/llm-gateway) для настройки.307* Если вы маршрутизируете через шлюз LLM или ретранслятор, установите [`ANTHROPIC_BASE_URL`](/ru/env-vars) на его адрес. См. [LLM gateway configuration](/ru/llm-gateway) для настройки.

307* Убедитесь, что ваш брандмауэр разрешает хосты, перечисленные в [Network access requirements](/ru/network-config#network-access-requirements)308* Убедитесь, что ваш брандмауэр разрешает хосты, перечисленные в [Network access requirements](/ru/network-config#network-access-requirements)

308* Прерывистые сбои [retried automatically](#automatic-retries); постоянные сбои указывают на проблему локальной сети309* Прерывистые сбои [автоматически повторяются](#automatic-retries); постоянные сбои указывают на проблему локальной сети

309 310 

310Если `curl` успешен, но Claude Code все еще не работает, причина обычно находится между Node.js и сетью, а не в самой сети:311Если `curl` успешен, но Claude Code все еще не работает, причина обычно находится между средой выполнения и сетью, а не в самой сети:

311 312 

312* На Linux и WSL проверьте `/etc/resolv.conf` на недостижимый сервер имен. WSL в частности может наследовать неработающий распознаватель от хоста.313* На Linux и WSL проверьте `/etc/resolv.conf` на недостижимый сервер имен. WSL в частности может наследовать неработающий распознаватель от хоста.

313* На macOS клиент VPN, который был отключен или удален, может оставить интерфейс туннеля или правило маршрутизации. Проверьте `ifconfig` на устаревшие интерфейсы `utun` и удалите расширение сети VPN в System Settings.314* На macOS клиент VPN, который был отключен или удален, может оставить интерфейс туннеля или правило маршрутизации. Проверьте `ifconfig` на устаревшие интерфейсы `utun` и удалите расширение сети VPN в System Settings.


315 316 

316### SSL certificate errors317### SSL certificate errors

317 318 

318Прокси или устройство безопасности в вашей сети перехватывает трафик TLS с собственным сертификатом, и Node.js ему не доверяет.319Прокси или устройство безопасности в вашей сети перехватывает трафик TLS с собственным сертификатом, и Claude Code ему не доверяет.

319 320 

320```text theme={null}321```text theme={null}

321Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates322Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates


324 325 

325**Что делать:**326**Что делать:**

326 327 

327* Экспортируйте пакет CA вашей организации и укажите Node на него с помощью `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem`328* Экспортируйте пакет CA вашей организации и укажите Claude Code на него с помощью `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem`

328* См. [Network configuration](/ru/network-config#custom-ca-certificates) для полных инструкций по настройке329* См. [Network configuration](/ru/network-config#custom-ca-certificates) для полных инструкций по настройке

329* Не устанавливайте `NODE_TLS_REJECT_UNAUTHORIZED=0`, что полностью отключает проверку сертификата330* Не устанавливайте `NODE_TLS_REJECT_UNAUTHORIZED=0`, что полностью отключает проверку сертификата

330 331 

332### Host not allowed in a cloud session

333 

334Исходящий HTTP-запрос из облачной сессии или процедуры был заблокирован политикой сети среды.

335 

336```text theme={null}

337HTTP 403

338x-deny-reason: host_not_allowed

339```

340 

341Вы также можете увидеть сертификат TLS, который не соответствует реальному сертификату пункта назначения. Облачная среда маршрутизирует исходящий трафик через прокси, который применяет политику сети, поэтому несоответствующий сертификат означает, что прокси прервал соединение, а не пункт назначения.

342 

343Это не проблема сети на стороне клиента. Облачные сессии и [процедуры](/ru/routines) работают внутри изолированной среды, исходящий трафик которой фильтруется в соответствии со списком разрешений среды. Среда **Default** использует доступ **Trusted**, который разрешает [список разрешений по умолчанию](/ru/claude-code-on-the-web#default-allowed-domains) реестров пакетов, API поставщиков облачных услуг, реестров контейнеров и распространенных доменов разработки, но блокирует все остальное.

344 

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

346 

347* Откройте процедуру для редактирования или запустите облачную сессию. Выберите значок облака, показывающий имя вашей среды, например **Default**, чтобы открыть селектор. Наведите указатель на вашу среду и нажмите значок параметров.

348* В диалоговом окне **Update cloud environment** измените **Network access** с **Trusted** на **Custom**, затем добавьте заблокированный домен в **Allowed domains**. Введите один домен в строку. Установите флажок **Also include default list of common package managers**, чтобы сохранить [список разрешений по умолчанию](/ru/claude-code-on-the-web#default-allowed-domains) вместе с вашими пользовательскими доменами. Выберите **Full** вместо этого, если вы хотите неограниченный доступ.

349* Нажмите **Save changes**. Следующий запуск использует обновленный список разрешений.

350 

351См. [Network access](/ru/claude-code-on-the-web#network-access) для уровней доступа и списка разрешений по умолчанию. Локальные сессии CLI не затронуты этой политикой.

352 

331## Ошибки запроса353## Ошибки запроса

332 354 

333Эти ошибки означают, что API получила ваш запрос, но отклонила его содержимое.355Эти ошибки означают, что API получила ваш запрос, но отклонила его содержимое.


487**Что делать:**509**Что делать:**

488 510 

489* Понизьте `MAX_THINKING_TOKENS`, или повысьте [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/ru/env-vars) выше бюджета thinking511* Понизьте `MAX_THINKING_TOKENS`, или повысьте [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/ru/env-vars) выше бюджета thinking

490* См. [Extended thinking](/ru/common-workflows#use-extended-thinking-thinking-mode) для информации о том, как бюджет взаимодействует с длиной вывода512* См. [Extended thinking](/ru/model-config#extended-thinking) для информации о том, как бюджет взаимодействует с длиной вывода

491 513 

492### Tool use or thinking block mismatch514### Tool use or thinking block mismatch

493 515 

Details

219| **Subagents** | При запуске | Свежий контекст с указанными skills | Изолирован от основной сессии |219| **Subagents** | При запуске | Свежий контекст с указанными skills | Изолирован от основной сессии |

220| **Hooks** | При срабатывании | Ничего (работает внешне) | Ноль, если hook не возвращает дополнительный контекст |220| **Hooks** | При срабатывании | Ничего (работает внешне) | Ноль, если hook не возвращает дополнительный контекст |

221 221 

222\*По умолчанию описания skills загружаются в начале сессии, чтобы Claude мог решить, когда их использовать. Установите `disable-model-invocation: true` в frontmatter skill, чтобы скрыть его от Claude полностью до тех пор, пока вы не вызовете его вручную. Это снижает стоимость контекста до нуля для skills, которые вы только вызываете сами.222\*По умолчанию описания skills загружаются в начале сессии, чтобы Claude мог решить, когда их использовать. Установите `disable-model-invocation: true` в frontmatter skill, чтобы скрыть его от Claude полностью до тех пор, пока вы не вызовете его вручную. Это снижает стоимость контекста до нуля для skills, которые вы только вызываете сами. Для skill, который вы не писали, установите [`skillOverrides`](/ru/skills#override-skill-visibility-from-settings) в settings, чтобы сделать то же самое без редактирования его файла.

223 223 

224### Поймите, как загружаются функции224### Поймите, как загружаются функции

225 225 

fullscreen.md +10 −2

Details

93 93 

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

95 95 

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

97 

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

99 

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

101 

96## Поиск и просмотр диалога102## Поиск и просмотр диалога

97 103 

98`Ctrl+o` переключается между обычной подсказкой и режимом стенограммы. Для более спокойного представления, которое показывает только вашу последнюю подсказку, однострочное резюме вызовов инструментов с diffstats редактирования и финальный ответ, запустите `/focus`. Параметр сохраняется между сеансами. Запустите `/focus` снова для его отключения.104`Ctrl+o` переключается между обычной подсказкой и режимом стенограммы. Для более спокойного представления, которое показывает только вашу последнюю подсказку, однострочное резюме вызовов инструментов с diffstats редактирования и финальный ответ, запустите `/focus`. Параметр сохраняется между сеансами. Запустите `/focus` снова для его отключения.


122 128 

123## Использование с tmux129## Использование с tmux

124 130 

125Полноэкранная визуализация работает внутри tmux с двумя оговорками.131Полноэкранная визуализация работает внутри tmux с тремя оговорками.

126 132 

127Прокрутка колесом мыши требует режима мыши tmux. Если ваш `~/.tmux.conf` ещё не включает его, добавьте эту строку и перезагрузите конфигурацию:133Прокрутка колесом мыши требует режима мыши tmux. Если ваш `~/.tmux.conf` ещё не включает его, добавьте эту строку и перезагрузите конфигурацию:

128 134 


134 140 

135Полноэкранная визуализация несовместима с режимом интеграции tmux в iTerm2, который является режимом, в который вы входите с помощью `tmux -CC`. В режиме интеграции iTerm2 отображает каждую панель tmux как встроенное разделение вместо того, чтобы позволить tmux рисовать на терминале. Альтернативный буфер экрана и отслеживание мыши не работают правильно там: колесо мыши ничего не делает, и двойной клик может повредить состояние терминала. Не включайте полноэкранную визуализацию в сеансах `tmux -CC`. Обычный tmux внутри iTerm2 без `-CC` работает нормально.141Полноэкранная визуализация несовместима с режимом интеграции tmux в iTerm2, который является режимом, в который вы входите с помощью `tmux -CC`. В режиме интеграции iTerm2 отображает каждую панель tmux как встроенное разделение вместо того, чтобы позволить tmux рисовать на терминале. Альтернативный буфер экрана и отслеживание мыши не работают правильно там: колесо мыши ничего не делает, и двойной клик может повредить состояние терминала. Не включайте полноэкранную визуализацию в сеансах `tmux -CC`. Обычный tmux внутри iTerm2 без `-CC` работает нормально.

136 142 

143tmux не поддерживает синхронизированный вывод, поэтому вы можете видеть больше мерцания во время перерисовки, чем при запуске Claude Code непосредственно в вашем терминале. Если мерцание заметно, особенно по SSH, запустите Claude Code в отдельной вкладке терминала вне tmux.

144 

137## Сохранение встроенного выделения текста145## Сохранение встроенного выделения текста

138 146 

139Захват мыши — наиболее частая точка трения, особенно по SSH или внутри tmux. Когда Claude Code захватывает события мыши, встроенное копирование при выделении вашего терминала перестаёт работать. Выделение, которое вы делаете с помощью нажатия и перетаскивания, существует внутри Claude Code, а не в буфере выделения вашего терминала, поэтому режим копирования tmux, подсказки Kitty и аналогичные инструменты его не видят.147Захват мыши — наиболее частая точка трения, особенно по SSH или внутри tmux. Когда Claude Code захватывает события мыши, встроенное копирование при выделении вашего терминала перестаёт работать. Выделение, которое вы делаете с помощью нажатия и перетаскивания, существует внутри Claude Code, а не в буфере выделения вашего терминала, поэтому режим копирования tmux, подсказки Kitty и аналогичные инструменты его не видят.


156 164 

157Если вы столкнулись с проблемой, запустите `/feedback` внутри Claude Code для её сообщения, или откройте проблему в [репозитории claude-code на GitHub](https://github.com/anthropics/claude-code/issues). Включите название и версию вашего эмулятора терминала.165Если вы столкнулись с проблемой, запустите `/feedback` внутри Claude Code для её сообщения, или откройте проблему в [репозитории claude-code на GitHub](https://github.com/anthropics/claude-code/issues). Включите название и версию вашего эмулятора терминала.

158 166 

159Чтобы отключить полноэкранную визуализацию, запустите `/tui default` или отмените установку переменной окружения, если вы включили её таким образом.167Чтобы отключить полноэкранную визуализацию, запустите `/tui default`, или отмените установку `CLAUDE_CODE_NO_FLICKER`, если вы включили её таким образом. Чтобы принудительно использовать классический рендерер независимо от сохранённого параметра `tui`, установите `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`. Классический рендерер сохраняет беседу в собственной истории прокрутки вашего терминала, поэтому `Cmd+f` и режим копирования tmux работают как обычно.

Details

266Claude Code версии 2.1.121 или позже поддерживает [Федерацию рабочих нагрузок на основе сертификатов X.509](https://cloud.google.com/iam/docs/workload-identity-federation-with-x509-certificates) через ту же цепочку Application Default Credentials. Установите `GOOGLE_APPLICATION_CREDENTIALS` на путь к файлу конфигурации учетных данных.266Claude Code версии 2.1.121 или позже поддерживает [Федерацию рабочих нагрузок на основе сертификатов X.509](https://cloud.google.com/iam/docs/workload-identity-federation-with-x509-certificates) через ту же цепочку Application Default Credentials. Установите `GOOGLE_APPLICATION_CREDENTIALS` на путь к файлу конфигурации учетных данных.

267 267 

268<Note>268<Note>

269 При аутентификации Claude Code автоматически будет использовать ID проекта из переменной окружения `ANTHROPIC_VERTEX_PROJECT_ID`. Чтобы переопределить это, установите одну из этих переменных окружения: `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` или `GOOGLE_APPLICATION_CREDENTIALS`.269 Claude Code использует `ANTHROPIC_VERTEX_PROJECT_ID` как ID проекта для запросов Vertex AI. Переменные окружения `GCLOUD_PROJECT` и `GOOGLE_CLOUD_PROJECT` и файл учетных данных, на который ссылается `GOOGLE_APPLICATION_CREDENTIALS`, имеют приоритет над ним. Если ничего из этого не установлено, ID проекта разрешается из вашей конфигурации `gcloud` или присоединенной учетной записи сервиса.

270</Note>270</Note>

271 271 

272#### Расширенная конфигурация учетных данных

273 

274Claude Code поддерживает автоматическое обновление учетных данных GCP через параметр `gcpAuthRefresh`. Когда Claude Code обнаруживает, что ваши учетные данные GCP истекли или не могут быть загружены, он запускает настроенную команду для получения новых учетных данных перед повторной попыткой запроса.

275 

276```json theme={null}

277{

278 "gcpAuthRefresh": "gcloud auth application-default login",

279 "env": {

280 "ANTHROPIC_VERTEX_PROJECT_ID": "your-project-id"

281 }

282}

283```

284 

285Вывод команды отображается пользователю, но интерактивный ввод не поддерживается. Это хорошо работает для потоков аутентификации на основе браузера, где CLI показывает URL, и вы завершаете аутентификацию в браузере. Команда обновления истекает через три минуты, если аутентификация не завершена. Если вы установите `gcpAuthRefresh` в параметрах проекта, таких как `.claude/settings.json`, команда запускается только после того, как вы примете приглашение доверия рабочей области.

286 

272### 4. Настройте Claude Code287### 4. Настройте Claude Code

273 288 

274Установите следующие переменные окружения:289Установите следующие переменные окружения:


363 378 

364## Устранение неполадок379## Устранение неполадок

365 380 

381Если вы столкнулись с ошибками "Could not load the default credentials":

382 

383* Запустите `gcloud auth application-default login` для установки Application Default Credentials

384* Установите `GOOGLE_APPLICATION_CREDENTIALS` на путь файла ключа сервисного аккаунта

385* См. [Configure GCP credentials](#3-configure-gcp-credentials) для всех вариантов

386 

366Если вы столкнулись с проблемами квоты:387Если вы столкнулись с проблемами квоты:

367 388 

368* Проверьте текущие квоты или запросите увеличение квоты через [Cloud Console](https://cloud.google.com/docs/quotas/view-manage)389* Проверьте текущие квоты или запросите увеличение квоты через [Cloud Console](https://cloud.google.com/docs/quotas/view-manage)

headless.md +33 −3

Details

54| Параметры | `--settings <file-or-json>` |54| Параметры | `--settings <file-or-json>` |

55| MCP серверы | `--mcp-config <file-or-json>` |55| MCP серверы | `--mcp-config <file-or-json>` |

56| Пользовательские агенты | `--agents <json>` |56| Пользовательские агенты | `--agents <json>` |

57| Каталог плагина | `--plugin-dir <path>` |57| Плагин | `--plugin-dir <path>`, `--plugin-url <url>` |

58 58 

59Режим bare пропускает OAuth и чтение из связки ключей. Аутентификация Anthropic должна поступать из `ANTHROPIC_API_KEY` или `apiKeyHelper` в JSON, переданном в `--settings`. Bedrock, Vertex и Foundry используют обычные учётные данные поставщика.59Режим bare пропускает OAuth и чтение из связки ключей. Аутентификация Anthropic должна поступать из `ANTHROPIC_API_KEY` или `apiKeyHelper` в JSON, переданном в `--settings`. Bedrock, Vertex и Foundry используют обычные учётные данные поставщика.

60 60 


66 66 

67Эти примеры выделяют общие паттерны CLI. Для CI и других скриптовых вызовов добавьте [`--bare`](#start-faster-with-bare-mode), чтобы они не подхватывали то, что случайно настроено локально.67Эти примеры выделяют общие паттерны CLI. Для CI и других скриптовых вызовов добавьте [`--bare`](#start-faster-with-bare-mode), чтобы они не подхватывали то, что случайно настроено локально.

68 68 

69### Передача данных через Claude

70 

71Неинтерактивный режим читает stdin, поэтому вы можете передавать данные и перенаправлять ответ, как любой другой инструмент командной строки.

72 

73Этот пример передаёт журнал сборки в Claude и записывает объяснение в файл:

74 

75```bash theme={null}

76cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

77```

78 

79С `--output-format json` полезная нагрузка ответа включает `total_cost_usd` и разбивку затрат по моделям, поэтому скриптовые вызывающие стороны могут отслеживать расходы на вызов без обращения к [панели использования](/ru/costs).

80 

81<Note>

82 Начиная с Claude Code v2.1.128, piped stdin ограничен 10MB. Если вы превысите лимит, Claude Code выходит с чётким сообщением об ошибке и ненулевым статусом. Для работы с большими входными данными запишите содержимое в файл и ссылайтесь на путь файла в вашем запросе вместо передачи через pipe.

83</Note>

84 

85### Добавление Claude в скрипт сборки

86 

87Вы можете обернуть неинтерактивный вызов в скрипт, чтобы использовать Claude как проектный линтер или рецензент.

88 

89Этот скрипт `package.json` передаёт diff относительно `main` в Claude и просит его сообщить об опечатках. Передача diff означает, что Claude не нуждается в разрешении Bash для его чтения, а экранированные двойные кавычки делают скрипт портативным для Windows:

90 

91```json theme={null}

92{

93 "scripts": {

94 "lint:claude": "git diff main | claude -p \"you are a typo linter. for each typo in this diff, report filename:line on one line and the issue on the next. return nothing else.\""

95 }

96}

97```

98 

69### Получение структурированного вывода99### Получение структурированного вывода

70 100 

71Используйте `--output-format` для управления тем, как возвращаются ответы:101Используйте `--output-format` для управления тем, как возвращаются ответы:


137Событие `system/init` сообщает метаданные сессии, включая модель, инструменты, MCP серверы и загруженные плагины. Это первое событие в потоке, если не установлена [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/ru/env-vars), в этом случае события `plugin_install` предшествуют ему. Используйте поля плагина для отказа CI, когда плагин не загрузился:167Событие `system/init` сообщает метаданные сессии, включая модель, инструменты, MCP серверы и загруженные плагины. Это первое событие в потоке, если не установлена [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/ru/env-vars), в этом случае события `plugin_install` предшествуют ему. Используйте поля плагина для отказа CI, когда плагин не загрузился:

138 168 

139| Поле | Тип | Описание |169| Поле | Тип | Описание |

140| --------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |170| --------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

141| `plugins` | массив | плагины, которые успешно загрузились, каждый с `name` и `path` |171| `plugins` | массив | плагины, которые успешно загрузились, каждый с `name` и `path` |

142| `plugin_errors` | массив | ошибки загрузки плагина, такие как неудовлетворённая версия зависимости, каждая с `plugin`, `type` и `message`. Затронутые плагины понижены в приоритете и отсутствуют в `plugins`. Ключ опускается, когда ошибок нет |172| `plugin_errors` | массив | ошибки загрузки плагина, каждая с `plugin`, `type` и `message`. Включает неудовлетворённые версии зависимостей и ошибки загрузки `--plugin-dir`, такие как отсутствующий путь или недействительный архив. Затронутые плагины понижены в приоритете и отсутствуют в `plugins`. Ключ опускается, когда ошибок нет |

143 173 

144Когда установлена [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/ru/env-vars), Claude Code выдаёт события `system/plugin_install` во время установки плагинов marketplace перед первым ходом. Используйте их для отображения прогресса установки в вашем собственном пользовательском интерфейсе.174Когда установлена [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/ru/env-vars), Claude Code выдаёт события `system/plugin_install` во время установки плагинов marketplace перед первым ходом. Используйте их для отображения прогресса установки в вашем собственном пользовательском интерфейсе.

145 175 

Details

94 94 

95## Работа с сеансами95## Работа с сеансами

96 96 

97Claude Code сохраняет вашу беседу локально по мере работы. Каждое сообщение, использование инструмента и результат сохраняются, что позволяет [откатывать](#undo-changes-with-checkpoints), [возобновлять и разветвлять](#resume-or-fork-sessions) сеансы. Перед тем как Claude вносит изменения в код, он также создаёт снимок затронутых файлов, чтобы вы могли откатить, если потребуется.97Claude Code сохраняет вашу беседу локально по мере работы. Каждое сообщение, использование инструмента и результат записываются в простой текстовый файл JSONL в `~/.claude/projects/`, что позволяет [откатывать](#undo-changes-with-checkpoints), [возобновлять и разветвлять](#resume-or-fork-sessions) сеансы. Перед тем как Claude вносит изменения в код, он также создаёт снимок затронутых файлов, чтобы вы могли откатить, если потребуется. Информацию о путях, сохранении и способах очистки этих данных см. в разделе [данные приложения в `~/.claude`](/ru/claude-directory#application-data).

98 98 

99**Сеансы независимы.** Каждый новый сеанс начинается со свежего context window, без истории беседы из предыдущих сеансов. Claude может сохранять обучение между сеансами, используя [автоматическую память](/ru/memory#auto-memory), и вы можете добавить свои собственные постоянные инструкции в [CLAUDE.md](/ru/memory).99**Сеансы независимы.** Каждый новый сеанс начинается со свежего context window, без истории беседы из предыдущих сеансов. Claude может сохранять обучение между сеансами, используя [автоматическую память](/ru/memory#auto-memory), и вы можете добавить свои собственные постоянные инструкции в [CLAUDE.md](/ru/memory).

100 100 

101### Работа между ветвями101### Работа между ветвями

102 102 

103Каждая беседа Claude Code — это сеанс, привязанный к вашему текущему каталогу. Когда вы возобновляете, вы видите только сеансы из этого каталога.103Каждая беседа Claude Code — это сеанс, привязанный к вашему текущему каталогу. Средство выбора `/resume` показывает сеансы из текущего worktree по умолчанию, с сочетаниями клавиш для расширения списка на другие worktrees или проекты. Полный список сочетаний клавиш средства выбора и способ разрешения имён см. в разделе [Управление сеансами](/ru/sessions#use-the-session-picker).

104 104 

105Claude видит файлы вашей текущей ветви. Когда вы переключаетесь между ветвями, Claude видит файлы новой ветви, но история вашей беседы остаётся той же. Claude помнит, что вы обсуждали, даже после переключения.105Claude видит файлы вашей текущей ветви. Когда вы переключаетесь между ветвями, Claude видит файлы новой ветви, но история вашей беседы остаётся той же. Claude помнит, что вы обсуждали, даже после переключения.

106 106 

107Поскольку сеансы привязаны к каталогам, вы можете запускать параллельные сеансы Claude Code, используя [git worktrees](/ru/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees), которые создают отдельные каталоги для отдельных ветвей.107Поскольку сеансы привязаны к каталогам, вы можете запускать параллельные сеансы Claude Code, используя [git worktrees](/ru/worktrees), которые создают отдельные каталоги для отдельных ветвей.

108 108 

109### Возобновление или разветвление сеансов109### Возобновление или разветвление сеансов

110 110 

111Когда вы возобновляете сеанс с помощью `claude --continue` или `claude --resume`, вы продолжаете с того же места, используя тот же ID сеанса. Новые сообщения добавляются к существующей беседе. Полная история вашей беседы восстанавливается, но разрешения, ограниченные сеансом, нет. Вам нужно будет повторно одобрить их.111Возобновление сеанса с помощью `claude --continue` или `claude --resume` открывает его повторно с тем же ID сеанса и добавляет новые сообщения к существующей беседе. Разветвление с помощью `--fork-session` или `/branch` копирует историю в новый ID сеанса, оставляя исходный неизменным.

112 112 

113<img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/session-continuity.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=fa41d12bfb57579cabfeece907151d30" alt="Непрерывность сеанса: возобновление продолжает тот же сеанс, разветвление создаёт новую ветвь с новым ID." width="560" height="280" data-path="images/session-continuity.svg" />113<img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/session-continuity.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=fa41d12bfb57579cabfeece907151d30" alt="Непрерывность сеанса: возобновление продолжает тот же сеанс, разветвление создаёт новую ветвь с новым ID." width="560" height="280" data-path="images/session-continuity.svg" />

114 114 

115Чтобы разветвиться и попробовать другой подход без влияния на исходный сеанс, используйте флаг `--fork-session`:115Информацию о флагах возобновления, средстве выбора `/resume`, именовании и том, что происходит, когда один и тот же сеанс открыт в двух терминалах, см. в разделе [Управление сеансами](/ru/sessions).

116 

117```bash theme={null}

118claude --continue --fork-session

119```

120 

121Это создаёт новый ID сеанса, сохраняя историю беседы до этого момента. Исходный сеанс остаётся неизменным. Как и при возобновлении, разветвлённые сеансы не наследуют разрешения, ограниченные сеансом.

122 

123**Один и тот же сеанс в нескольких терминалах**: Если вы возобновляете один и тот же сеанс в нескольких терминалах, оба терминала записывают в один и тот же файл сеанса. Сообщения из обоих чередуются, как если бы два человека писали в одном блокноте. Ничего не повреждается, но беседа становится запутанной. Каждый терминал видит только свои собственные сообщения во время сеанса, но если вы возобновите этот сеанс позже, вы увидите всё чередующимся. Для параллельной работы с одной и той же начальной точки используйте `--fork-session`, чтобы дать каждому терминалу свой чистый сеанс.

124 116 

125### Context window117### Context window

126 118 


134 126 

135Чтобы контролировать, что сохраняется во время компактирования, добавьте раздел «Compact Instructions» в CLAUDE.md или запустите `/compact` с фокусом (например, `/compact focus on the API changes`).127Чтобы контролировать, что сохраняется во время компактирования, добавьте раздел «Compact Instructions» в CLAUDE.md или запустите `/compact` с фокусом (например, `/compact focus on the API changes`).

136 128 

129Если один файл или выход инструмента настолько велик, что контекст заполняется снова после каждого резюме, Claude Code прекращает auto-compact после нескольких попыток и вместо этого показывает ошибку. Информацию о шагах восстановления см. в разделе [Auto-compaction stops with a thrashing error](/ru/troubleshooting#auto-compaction-stops-with-a-thrashing-error).

130 

137Запустите `/context`, чтобы увидеть, что использует место. Определения инструментов MCP отложены по умолчанию и загружаются по требованию через [поиск инструментов](/ru/mcp#scale-with-mcp-tool-search), поэтому только имена инструментов потребляют контекст, пока Claude не использует конкретный инструмент. Запустите `/mcp`, чтобы проверить затраты на каждый сервер.131Запустите `/context`, чтобы увидеть, что использует место. Определения инструментов MCP отложены по умолчанию и загружаются по требованию через [поиск инструментов](/ru/mcp#scale-with-mcp-tool-search), поэтому только имена инструментов потребляют контекст, пока Claude не использует конкретный инструмент. Запустите `/mcp`, чтобы проверить затраты на каждый сервер.

138 132 

139#### Управление контекстом с помощью skills и subagents133#### Управление контекстом с помощью skills и subagents

140 134 

141Помимо компактирования, вы можете использовать другие функции для контроля того, что загружается в контекст.135Помимо компактирования, вы можете использовать другие функции для контроля того, что загружается в контекст.

142 136 

143[Skills](/ru/skills) загружаются по требованию. Claude видит описания skills в начале сеанса, но полное содержимое загружается только при использовании skill. Для skills, которые вы вызываете вручную, установите `disable-model-invocation: true`, чтобы описания не попадали в контекст, пока они вам не понадобятся.137[Skills](/ru/skills) загружаются по требованию. Claude видит описания skills в начале сеанса, но полное содержимое загружается только при использовании skill. Для skills, которые вы вызываете вручную, установите `disable-model-invocation: true`, чтобы описания не попадали в контекст, пока они вам не понадобятся. Для skills, которые вы не писали, используйте [`skillOverrides`](/ru/skills#override-skill-visibility-from-settings), чтобы сделать то же самое из параметров.

144 138 

145[Subagents](/ru/sub-agents) получают свой собственный свежий контекст, полностью отделённый от вашей основной беседы. Их работа не раздувает ваш контекст. По завершении они возвращают резюме. Эта изоляция — причина, по которой subagents помогают при длительных сеансах.139[Subagents](/ru/sub-agents) получают свой собственный свежий контекст, полностью отделённый от вашей основной беседы. Их работа не раздувает ваш контекст. По завершении они возвращают резюме. Эта изоляция — причина, по которой subagents помогают при длительных сеансах.

146 140 


161Нажмите `Shift+Tab`, чтобы циклически переключаться между режимами разрешений:155Нажмите `Shift+Tab`, чтобы циклически переключаться между режимами разрешений:

162 156 

163* **По умолчанию**: Claude спрашивает перед редактированием файлов и командами shell157* **По умолчанию**: Claude спрашивает перед редактированием файлов и командами shell

164* **Автоматическое принятие редактирования**: Claude редактирует файлы без запроса, всё ещё спрашивает для команд158* **Автоматическое принятие редактирования**: Claude редактирует файлы и запускает общие команды файловой системы, такие как `mkdir` и `mv`, без запроса, всё ещё спрашивает для других команд

165* **Plan Mode**: Claude использует только инструменты только для чтения, создавая план, который вы можете одобрить перед выполнением159* **Plan Mode**: Claude использует только инструменты только для чтения, создавая план, который вы можете одобрить перед выполнением

166* **Auto mode**: Claude оценивает все действия с проверками безопасности в фоновом режиме. В настоящее время это исследовательский предпросмотр160* **Auto mode**: Claude оценивает все действия с проверками безопасности в фоновом режиме. В настоящее время это исследовательский предпросмотр

167 161 

Details

11<Note>11<Note>

12 Сочетания клавиш могут отличаться в зависимости от платформы и терминала. Нажмите `?`, чтобы увидеть доступные сочетания клавиш для вашей среды.12 Сочетания клавиш могут отличаться в зависимости от платформы и терминала. Нажмите `?`, чтобы увидеть доступные сочетания клавиш для вашей среды.

13 13 

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

15 15 

16 * **iTerm2**: Settings → Profiles → Keys → General → установите Left/Right Option key на "Esc+"16 * **iTerm2**: Settings → Profiles → Keys → General → установите Left/Right Option key на "Esc+"

17 * **Apple Terminal**: Settings → Profiles → Keyboard → отметьте "Use Option as Meta Key"17 * **Apple Terminal**: Settings → Profiles → Keyboard → отметьте "Use Option as Meta Key"


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

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

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

42| `Option+T` (macOS) или `Alt+T` (Windows/Linux) | Переключить расширенное мышление | Включите или отключите режим расширенного мышления. На macOS настройте ваш терминал для отправки Option как Meta для работы этого сочетания клавиш |42| `Option+T` (macOS) или `Alt+T` (Windows/Linux) | Переключить расширенное мышление | Включите или отключите режим расширенного мышления. {/* min-version: 2.1.132 */}Начиная с версии 2.1.132 это сочетание клавиш работает на macOS без настройки Option как Meta |

43| `Option+O` (macOS) или `Alt+O` (Windows/Linux) | Переключить быстрый режим | Включите или отключите [быстрый режим](/ru/fast-mode) |43| `Option+O` (macOS) или `Alt+O` (Windows/Linux) | Переключить быстрый режим | Включите или отключите [быстрый режим](/ru/fast-mode) |

44 44 

45### Редактирование текста45### Редактирование текста


68| :----------------------------- | :---------------- | :--------------------------------------------------------------------------------------------------- |68| :----------------------------- | :---------------- | :--------------------------------------------------------------------------------------------------- |

69| Быстрый выход | `\` + `Enter` | Работает во всех терминалах |69| Быстрый выход | `\` + `Enter` | Работает во всех терминалах |

70| Клавиша Option | `Option+Enter` | После включения [Option как Meta](/ru/terminal-config#enable-option-key-shortcuts-on-macos) на macOS |70| Клавиша Option | `Option+Enter` | После включения [Option как Meta](/ru/terminal-config#enable-option-key-shortcuts-on-macos) на macOS |

71| Shift+Enter | `Shift+Enter` | Встроено в iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal |71| Shift+Enter | `Shift+Enter` | Встроено в iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal |

72| Управляющая последовательность | `Ctrl+J` | Работает в любом терминале без конфигурации |72| Управляющая последовательность | `Ctrl+J` | Работает в любом терминале без конфигурации |

73| Режим вставки | Вставить напрямую | Для блоков кода, логов |73| Режим вставки | Вставить напрямую | Для блоков кода, логов |

74 74 

75<Tip>75<Tip>

76 Shift+Enter работает без конфигурации в iTerm2, WezTerm, Ghostty, Kitty, Warp и Apple Terminal. Для VS Code, Cursor, Windsurf, Alacritty и Zed запустите `/terminal-setup` для установки привязки.76 Shift+Enter работает без конфигурации в iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal и Windows Terminal. Для VS Code, Cursor, Windsurf, Alacritty и Zed запустите `/terminal-setup` для установки привязки.

77</Tip>77</Tip>

78 78 

79### Быстрые команды79### Быстрые команды


130| Команда | Действие |130| Команда | Действие |

131| :-------------- | :------------------------------------------------------ |131| :-------------- | :------------------------------------------------------ |

132| `h`/`j`/`k`/`l` | Переместиться влево/вниз/вверх/вправо |132| `h`/`j`/`k`/`l` | Переместиться влево/вниз/вверх/вправо |

133| `Space` | Переместиться вправо |

133| `w` | Следующее слово |134| `w` | Следующее слово |

134| `e` | Конец слова |135| `e` | Конец слова |

135| `b` | Предыдущее слово |136| `b` | Предыдущее слово |


2201. **Начать поиск**: нажмите `Ctrl+R` для активации поиска в обратном порядке по истории2211. **Начать поиск**: нажмите `Ctrl+R` для активации поиска в обратном порядке по истории

2212. **Введите запрос**: введите текст для поиска в предыдущих командах. Поисковый термин выделяется в совпадающих результатах2222. **Введите запрос**: введите текст для поиска в предыдущих командах. Поисковый термин выделяется в совпадающих результатах

2223. **Навигация по совпадениям**: нажмите `Ctrl+R` снова для циклического просмотра более старых совпадений2233. **Навигация по совпадениям**: нажмите `Ctrl+R` снова для циклического просмотра более старых совпадений

2234. **Принять совпадение**:2244. **Изменить область поиска**: поиск по умолчанию охватывает подсказки из всех проектов. Нажмите `Ctrl+S` для циклического переключения области между этим сеансом, этим проектом и всеми проектами

2255. **Принять совпадение**:

224 * Нажмите `Tab` или `Esc` для принятия текущего совпадения и продолжения редактирования226 * Нажмите `Tab` или `Esc` для принятия текущего совпадения и продолжения редактирования

225 * Нажмите `Enter` для принятия и немедленного выполнения команды227 * Нажмите `Enter` для принятия и немедленного выполнения команды

2265. **Отменить поиск**:2286. **Отменить поиск**:

227 * Нажмите `Ctrl+C` для отмены и восстановления вашего исходного ввода229 * Нажмите `Ctrl+C` для отмены и восстановления вашего исходного ввода

228 * Нажмите `Backspace` на пустом поиске для отмены230 * Нажмите `Backspace` на пустом поиске для отмены

229 231 

llm-gateway.md +1 −1

Details

53 53 

54По умолчанию Claude Code использует стандартные имена моделей для выбранного формата API.54По умолчанию Claude Code использует стандартные имена моделей для выбранного формата API.

55 55 

56Когда `ANTHROPIC_BASE_URL` указывает на шлюз, который предоставляет формат Anthropic Messages, Claude Code запрашивает конечную точку `/v1/models` шлюза при запуске и добавляет возвращённые модели в средство выбора `/model`. Каждая обнаруженная запись помечена как "From gateway" и использует поле `display_name` из ответа, если оно предоставлено. Это требует Claude Code версии 2.1.126 или более поздней.56Когда `ANTHROPIC_BASE_URL` указывает на шлюз, который предоставляет формат Anthropic Messages, Claude Code может запросить конечную точку `/v1/models` шлюза при запуске и добавить возвращённые модели в средство выбора `/model`. Установите `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`, чтобы включить это. Обнаружение отключено по умолчанию, чтобы шлюзы, поддерживаемые общим ключом API, не раскрывали каждому пользователю все модели, к которым может получить доступ ключ. Каждая обнаруженная запись помечена как "From gateway" и использует поле `display_name` из ответа, если оно предоставлено. Это требует Claude Code версии 2.1.129 или более поздней.

57 57 

58Обнаружение применяется только к формату Anthropic Messages. Оно не выполняется для конечных точек Bedrock или Vertex pass-through, и оно не выполняется, когда `ANTHROPIC_BASE_URL` не установлен или указывает на `api.anthropic.com`.58Обнаружение применяется только к формату Anthropic Messages. Оно не выполняется для конечных точек Bedrock или Vertex pass-through, и оно не выполняется, когда `ANTHROPIC_BASE_URL` не установлен или указывает на `api.anthropic.com`.

59 59 

mcp.md +11 −1

Details

327/mcp327/mcp

328```328```

329 329 

330Панель `/mcp` показывает количество инструментов рядом с каждым подключенным server и отмечает servers, которые объявляют возможность tools, но не предоставляют никаких инструментов.

331 

332Имя server `workspace` зарезервировано для внутреннего использования. Если ваша конфигурация определяет server с этим именем, Claude Code пропускает его при загрузке и показывает предупреждение с просьбой переименовать его.

333 

330### Динамические обновления инструментов334### Динамические обновления инструментов

331 335 

332Claude Code поддерживает MCP `list_changed` уведомления, позволяя MCP servers динамически обновлять свои доступные инструменты, подсказки и ресурсы без необходимости отключения и переподключения. Когда MCP server отправляет уведомление `list_changed`, Claude Code автоматически обновляет доступные возможности от этого server.336Claude Code поддерживает MCP `list_changed` уведомления, позволяя MCP servers динамически обновлять свои доступные инструменты, подсказки и ресурсы без необходимости отключения и переподключения. Когда MCP server отправляет уведомление `list_changed`, Claude Code автоматически обновляет доступные возможности от этого server.


423 427 

424## Области установки MCP428## Области установки MCP

425 429 

426MCP servers можно настроить на трех различных уровнях области. Область, которую вы выбираете, контролирует, в каких проектах загружается server и является ли конфигурация общей с вашей командой.430MCP servers можно настроить на трех различных уровнях области. Область, которую вы выбираете, контролирует, в каких проектах загружается server и является ли конфигурация общей с вашей командой. Администраторы также могут развертывать servers на уровне предприятия через [управляемую конфигурацию](#managed-mcp-configuration).

427 431 

428| Область | Загружается в | Общий доступ с командой | Хранится в |432| Область | Загружается в | Общий доступ с командой | Хранится в |

429| --------------------------- | --------------------- | ------------------------- | --------------------------- |433| --------------------------- | --------------------- | ------------------------- | --------------------------- |


944 </Step>948 </Step>

945</Steps>949</Steps>

946 950 

951Server, который вы добавили в Claude Code, имеет [приоритет](#scope-hierarchy-and-precedence) над коннектором claude.ai, который указывает на тот же URL. Когда это происходит, `/mcp` отображает коннектор как скрытый и показывает, как удалить дубликат, если вы предпочитаете использовать коннектор.

952 

947Чтобы отключить MCP servers claude.ai в Claude Code, установите переменную окружения `ENABLE_CLAUDEAI_MCP_SERVERS` на `false`:953Чтобы отключить MCP servers claude.ai в Claude Code, установите переменную окружения `ENABLE_CLAUDEAI_MCP_SERVERS` на `false`:

948 954 

949```bash theme={null}955```bash theme={null}


1183 1189 

1184Поле `alwaysLoad` доступно на всех типах server и требует Claude Code v2.1.121 или позже. MCP server также может отметить отдельные инструменты как всегда загружаемые, включив `"anthropic/alwaysLoad": true` в объект `_meta` инструмента, что имеет тот же эффект только для этого инструмента.1190Поле `alwaysLoad` доступно на всех типах server и требует Claude Code v2.1.121 или позже. MCP server также может отметить отдельные инструменты как всегда загружаемые, включив `"anthropic/alwaysLoad": true` в объект `_meta` инструмента, что имеет тот же эффект только для этого инструмента.

1185 1191 

1192Установка `alwaysLoad: true` также блокирует запуск до подключения server, ограничено стандартным тайм-аутом подключения в 5 секунд. Это применяется даже когда установлено [`MCP_CONNECTION_NONBLOCKING=1`](/ru/env-vars), так как инструменты должны присутствовать при построении первого приглашения. Другие servers по-прежнему подключаются в фоновом режиме, когда включен неблокирующий режим.

1193 

1186## Используйте MCP подсказки как команды1194## Используйте MCP подсказки как команды

1187 1195 

1188MCP servers могут предоставлять подсказки, которые становятся доступными как команды в Claude Code.1196MCP servers могут предоставлять подсказки, которые становятся доступными как команды в Claude Code.


1351* `https://*.example.com/*` - разрешить любой поддомен example.com1359* `https://*.example.com/*` - разрешить любой поддомен example.com

1352* `http://localhost:*/*` - разрешить любой порт на localhost1360* `http://localhost:*/*` - разрешить любой порт на localhost

1353 1361 

1362Сопоставление имен хостов не зависит от регистра и игнорирует конечную точку FQDN, соответствуя семантике DNS. Шаблон, такой как `*://Mcp.Example.com/*`, совпадает с `https://mcp.example.com/api`, и `https://mcp.example.com.` рассматривается так же, как `https://mcp.example.com`. Схемы и пути остаются чувствительными к регистру.

1363 

1354**Поведение удаленного server**:1364**Поведение удаленного server**:

1355 1365 

1356* Когда allowlist содержит **любые** записи `serverUrl`, удаленные servers **должны** совпадать с одним из этих шаблонов URL1366* Когда allowlist содержит **любые** записи `serverUrl`, удаленные servers **должны** совпадать с одним из этих шаблонов URL

memory.md +2 −0

Details

378* Сделайте инструкции более конкретными. "Используйте отступ из 2 пробелов" работает лучше, чем "красиво форматируйте код".378* Сделайте инструкции более конкретными. "Используйте отступ из 2 пробелов" работает лучше, чем "красиво форматируйте код".

379* Ищите конфликтующие инструкции в файлах CLAUDE.md. Если два файла дают разные рекомендации для одного поведения, Claude может выбрать одну произвольно.379* Ищите конфликтующие инструкции в файлах CLAUDE.md. Если два файла дают разные рекомендации для одного поведения, Claude может выбрать одну произвольно.

380 380 

381Если инструкция — это что-то, что должно выполняться в определённый момент, например перед каждым коммитом или после каждого редактирования файла, напишите её как [hook](/ru/hooks-guide). Hooks выполняются как команды shell в фиксированных событиях жизненного цикла и применяются независимо от того, что решит сделать Claude.

382 

381Для инструкций, которые вы хотите на уровне системного запроса, используйте [`--append-system-prompt`](/ru/cli-reference#system-prompt-flags). Это должно быть передано при каждом вызове, поэтому оно лучше подходит для скриптов и автоматизации, чем для интерактивного использования.383Для инструкций, которые вы хотите на уровне системного запроса, используйте [`--append-system-prompt`](/ru/cli-reference#system-prompt-flags). Это должно быть передано при каждом вызове, поэтому оно лучше подходит для скриптов и автоматизации, чем для интерактивного использования.

382 384 

383<Tip>385<Tip>

model-config.md +18 −4

Details

184 184 

185Шкала усилий откалибрована для каждой модели, поэтому одно и то же имя уровня не представляет одно и то же базовое значение в разных моделях.185Шкала усилий откалибрована для каждой модели, поэтому одно и то же имя уровня не представляет одно и то же базовое значение в разных моделях.

186 186 

187Для одноразового глубокого рассуждения без изменения параметра сеанса включите "ultrathink" в вашу подсказку. Это добавляет встроенную инструкцию, указывающую модели больше рассуждать на этом ходу; это не изменяет уровень усилий, отправляемый в API.187#### Используйте ultrathink для одноразового глубокого рассуждения

188 

189Включите `ultrathink` в любом месте вашей подсказки, чтобы запросить более глубокое рассуждение на этом ходу без изменения параметра усилий сеанса. Claude Code распознает ключевое слово и добавляет встроенную инструкцию. Уровень усилий, отправляемый в API, остается неизменным. Другие фразы, такие как "think", "think hard" и "think more", передаются как обычный текст подсказки и не распознаются как ключевые слова.

188 190 

189#### Установка уровня усилий191#### Установка уровня усилий

190 192 


209 211 

210На Opus 4.6 и Sonnet 4.6 вы можете установить `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` для возврата к предыдущему фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. См. [переменные окружения](/ru/env-vars).212На Opus 4.6 и Sonnet 4.6 вы можете установить `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` для возврата к предыдущему фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. См. [переменные окружения](/ru/env-vars).

211 213 

214### Расширенное мышление

215 

216Расширенное мышление — это рассуждение, которое Claude выдает перед ответом. На моделях, поддерживающих [адаптивное рассуждение](#adjust-effort-level), уровень усилий является основным управлением тем, сколько мышления происходит; параметры ниже включают или отключают мышление и управляют его отображением.

217 

218| Управление | Как его установить |

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

220| Переключение для текущего сеанса | Нажмите `Option+T` на macOS или `Alt+T` на Windows и Linux |

221| Установка глобального значения по умолчанию | Запустите `/config` и переключите режим мышления. Сохраняется как `alwaysThinkingEnabled` в `~/.claude/settings.json` |

222| Отключение независимо от усилий | Установите [`MAX_THINKING_TOKENS=0`](/ru/env-vars). Другие значения применяются только с [фиксированным бюджетом мышления](#adaptive-reasoning-and-fixed-thinking-budgets) |

223 

224Вывод мышления свернут по умолчанию. Нажмите `Ctrl+O` для переключения режима подробности и просмотра рассуждения как серого курсивного текста. Интерактивные сеансы на Anthropic API получают отредактированные блоки мышления по умолчанию, поэтому установите `showThinkingSummaries: true` в [параметрах](/ru/settings), если вы хотите, чтобы полные резюме были доступны при развертывании. Вам выставляется счет за все сгенерированные токены мышления, даже если они свернуты или отредактированы.

225 

212### Расширенный контекст226### Расширенный контекст

213 227 

214Opus 4.7, Opus 4.6 и Sonnet 4.6 поддерживают [контекстное окно в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов с большими кодовыми базами.228Opus 4.7, Opus 4.6 и Sonnet 4.6 поддерживают [контекстное окно в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов с большими кодовыми базами.


247 261 

248## Добавление пользовательского варианта модели262## Добавление пользовательского варианта модели

249 263 

250Используйте `ANTHROPIC_CUSTOM_MODEL_OPTION` для добавления одной пользовательской записи в средство выбора `/model` без замены встроенных псевдонимов. Это полезно для тестирования идентификаторов моделей, которые Claude Code не указывает по умолчанию. Для развертываний шлюза LLM Claude Code автоматически заполняет средство выбора из конечной точки `/v1/models` шлюза, поэтому эта переменная требуется только в том случае, если обнаружение не возвращает нужную вам модель. См. [Выбор модели шлюза LLM](/ru/llm-gateway#model-selection).264Используйте `ANTHROPIC_CUSTOM_MODEL_OPTION` для добавления одной пользовательской записи в средство выбора `/model` без замены встроенных псевдонимов. Это полезно для тестирования идентификаторов моделей, которые Claude Code не указывает по умолчанию. Для развертываний шлюза LLM Claude Code может заполнять средство выбора из конечной точки `/v1/models` шлюза, когда установлено значение `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`, поэтому эта переменная требуется только в том случае, если обнаружение отключено или не возвращает нужную вам модель. См. [Выбор модели шлюза LLM](/ru/llm-gateway#model-selection).

251 265 

252Этот пример устанавливает все три переменные, чтобы сделать развертывание Opus с маршрутизацией через шлюз выбираемым:266Этот пример устанавливает все три переменные, чтобы сделать развертывание Opus с маршрутизацией через шлюз выбираемым:

253 267 


320 334 

321Те же суффиксы `_NAME`, `_DESCRIPTION` и `_SUPPORTED_CAPABILITIES` доступны для `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` и `ANTHROPIC_CUSTOM_MODEL_OPTION`.335Те же суффиксы `_NAME`, `_DESCRIPTION` и `_SUPPORTED_CAPABILITIES` доступны для `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` и `ANTHROPIC_CUSTOM_MODEL_OPTION`.

322 336 

323Claude Code включает функции, такие как [уровни усилий](#adjust-effort-level) и [расширенное мышление](/ru/common-workflows#use-extended-thinking-thinking-mode), путем сопоставления идентификатора модели с известными шаблонами. Идентификаторы, специфичные для поставщика, такие как ARN Bedrock или пользовательские имена развертывания, часто не соответствуют этим шаблонам, оставляя поддерживаемые функции отключенными. Установите `_SUPPORTED_CAPABILITIES`, чтобы сообщить Claude Code, какие функции фактически поддерживает модель:337Claude Code включает функции, такие как [уровни усилий](#adjust-effort-level) и [расширенное мышление](#extended-thinking), путем сопоставления идентификатора модели с известными шаблонами. Идентификаторы, специфичные для поставщика, такие как ARN Bedrock или пользовательские имена развертывания, часто не соответствуют этим шаблонам, оставляя поддерживаемые функции отключенными. Установите `_SUPPORTED_CAPABILITIES`, чтобы сообщить Claude Code, какие функции фактически поддерживает модель:

324 338 

325| Значение возможности | Включает |339| Значение возможности | Включает |

326| ---------------------- | -------------------------------------------------------------------------------------------- |340| ---------------------- | -------------------------------------------------------------------------------------------- |

327| `effort` | [Уровни усилий](#adjust-effort-level) и команду `/effort` |341| `effort` | [Уровни усилий](#adjust-effort-level) и команду `/effort` |

328| `xhigh_effort` | {/* min-version: 2.1.111 */}Уровень усилий `xhigh` |342| `xhigh_effort` | {/* min-version: 2.1.111 */}Уровень усилий `xhigh` |

329| `max_effort` | Уровень усилий `max` |343| `max_effort` | Уровень усилий `max` |

330| `thinking` | [Расширенное мышление](/ru/common-workflows#use-extended-thinking-thinking-mode) |344| `thinking` | [Расширенное мышление](#extended-thinking) |

331| `adaptive_thinking` | Адаптивное рассуждение, которое динамически распределяет мышление на основе сложности задачи |345| `adaptive_thinking` | Адаптивное рассуждение, которое динамически распределяет мышление на основе сложности задачи |

332| `interleaved_thinking` | Мышление между вызовами инструментов |346| `interleaved_thinking` | Мышление между вызовами инструментов |

333 347 

Details

64 Управляемые параметры можно распространять через MDM (Mobile Device Management) или другие решения для управления устройствами. Переменные окружения, определенные в файле управляемых параметров, имеют высокий приоритет и не могут быть переопределены пользователями.64 Управляемые параметры можно распространять через MDM (Mobile Device Management) или другие решения для управления устройствами. Переменные окружения, определенные в файле управляемых параметров, имеют высокий приоритет и не могут быть переопределены пользователями.

65</Note>65</Note>

66 66 

67Claude Code не передает переменные окружения `OTEL_*` подпроцессам, которые он порождает, включая инструмент Bash, hooks, MCP серверы и языковые серверы. Приложение, инструментированное OpenTelemetry, которое вы запускаете через инструмент Bash, не наследует endpoint экспортера Claude Code или заголовки, поэтому установите эти переменные непосредственно в команде, если это приложение должно экспортировать свою собственную телеметрию.

68 

67## Детали конфигурации69## Детали конфигурации

68 70 

69### Общие переменные конфигурации71### Общие переменные конфигурации


80| `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` | Протокол для логов, переопределяет общий параметр | `grpc`, `http/json`, `http/protobuf` |82| `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` | Протокол для логов, переопределяет общий параметр | `grpc`, `http/json`, `http/protobuf` |

81| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | OTLP endpoint логов, переопределяет общий параметр | `http://localhost:4318/v1/logs` |83| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | OTLP endpoint логов, переопределяет общий параметр | `http://localhost:4318/v1/logs` |

82| `OTEL_EXPORTER_OTLP_HEADERS` | Заголовки аутентификации для OTLP | `Authorization=Bearer token` |84| `OTEL_EXPORTER_OTLP_HEADERS` | Заголовки аутентификации для OTLP | `Authorization=Bearer token` |

83| `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` | Ключ клиента для аутентификации mTLS | Путь к файлу ключа клиента |

84| `OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE` | Сертификат клиента для аутентификации mTLS | Путь к файлу сертификата клиента |

85| `OTEL_METRIC_EXPORT_INTERVAL` | Интервал экспорта в миллисекундах (по умолчанию: 60000) | `5000`, `60000` |85| `OTEL_METRIC_EXPORT_INTERVAL` | Интервал экспорта в миллисекундах (по умолчанию: 60000) | `5000`, `60000` |

86| `OTEL_LOGS_EXPORT_INTERVAL` | Интервал экспорта логов в миллисекундах (по умолчанию: 5000) | `1000`, `10000` |86| `OTEL_LOGS_EXPORT_INTERVAL` | Интервал экспорта логов в миллисекундах (по умолчанию: 5000) | `1000`, `10000` |

87| `OTEL_LOG_USER_PROMPTS` | Включить логирование содержимого пользовательских подсказок (по умолчанию: отключено) | `1` для включения |87| `OTEL_LOG_USER_PROMPTS` | Включить логирование содержимого пользовательских подсказок (по умолчанию: отключено) | `1` для включения |


91| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Предпочтение временности метрик (по умолчанию: `delta`). Установите на `cumulative`, если ваш бэкенд ожидает кумулятивную временность | `delta`, `cumulative` |91| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Предпочтение временности метрик (по умолчанию: `delta`). Установите на `cumulative`, если ваш бэкенд ожидает кумулятивную временность | `delta`, `cumulative` |

92| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал для обновления динамических заголовков (по умолчанию: 1740000ms / 29 минут) | `900000` |92| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал для обновления динамических заголовков (по умолчанию: 1740000ms / 29 минут) | `900000` |

93 93 

94### Аутентификация mTLS

95 

96Способ настройки сертификатов клиента для экспортера OTLP зависит от протокола OTLP, используемого для этого сигнала, установленного через `OTEL_EXPORTER_OTLP_PROTOCOL` или переопределение для каждого сигнала. Одна и та же конфигурация применяется к метрикам, логам и трассировкам.

97 

98| Протокол | Переменные сертификата клиента | Доверять CA коллектора с помощью |

99| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------- |

100| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY` и опционально `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. См. [Конфигурация сети](/ru/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |

101| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` и `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, или переопределения для каждого сигнала, такие как `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` для использования другого сертификата для каждого сигнала | `OTEL_EXPORTER_OTLP_CERTIFICATE` |

102 

103Для `grpc` SDK OpenTelemetry читает стандартные переменные OTLP напрямую, поэтому существующие конфигурации, которые устанавливают переменные метрик для каждого сигнала, продолжают работать.

104 

94### Управление кардинальностью метрик105### Управление кардинальностью метрик

95 106 

96Следующие переменные окружения управляют тем, какие атрибуты включены в метрики для управления кардинальностью:107Следующие переменные окружения управляют тем, какие атрибуты включены в метрики для управления кардинальностью:


107 118 

108Распределенная трассировка экспортирует spans, которые связывают каждую пользовательскую подсказку с запросами API и выполнением инструментов, которые она вызывает, так что вы можете просмотреть полный запрос как одну трассировку в вашем бэкенде трассировки.119Распределенная трассировка экспортирует spans, которые связывают каждую пользовательскую подсказку с запросами API и выполнением инструментов, которые она вызывает, так что вы можете просмотреть полный запрос как одну трассировку в вашем бэкенде трассировки.

109 120 

110Трассировка отключена по умолчанию. Чтобы включить её, установите оба `CLAUDE_CODE_ENABLE_TELEMETRY=1` и `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, затем установите `OTEL_TRACES_EXPORTER` для выбора места отправки spans. Трассировки повторно используют [общую конфигурацию OTLP](#common-configuration-variables) для endpoint, протокола и заголовков.121Трассировка отключена по умолчанию. Чтобы включить её, установите оба `CLAUDE_CODE_ENABLE_TELEMETRY=1` и `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, затем установите `OTEL_TRACES_EXPORTER` для выбора места отправки spans. Трассировки повторно используют [общую конфигурацию OTLP](#common-configuration-variables) для endpoint, протокола, заголовков и [mTLS](#mtls-authentication).

111 122 

112| Переменная окружения | Описание | Примеры значений |123| Переменная окружения | Описание | Примеры значений |

113| ------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------ |124| ------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------ |


233 244 

234### Динамические заголовки245### Динамические заголовки

235 246 

236Для корпоративных сред, требующих динамической аутентификации, вы можете настроить скрипт для динамического создания заголовков:247Для корпоративных сред, требующих динамической аутентификации, вы можете настроить скрипт для динамического создания заголовков. Динамические заголовки применяются только к протоколам `http/protobuf` и `http/json`. Экспортер `grpc` использует только статическое значение `OTEL_EXPORTER_OTLP_HEADERS`.

237 248 

238#### Конфигурация параметров249#### Конфигурация параметров

239 250 


410 421 

411#### Счетчик pull request422#### Счетчик pull request

412 423 

413Увеличивается при создании pull request через Claude Code.424Увеличивается при создании pull request или merge request через команду shell или инструмент MCP.

414 425 

415**Атрибуты**:426**Атрибуты**:

416 427 

output-styles.md +12 −3

Details

6 6 

7> Адаптируйте Claude Code для использования за пределами разработки программного обеспечения7> Адаптируйте Claude Code для использования за пределами разработки программного обеспечения

8 8 

9Output styles позволяют вам использовать Claude Code в качестве любого типа агента, сохраняя при этом его основные возможности, такие как запуск локальных скриптов, чтение/запись файлов и отслеживание TODO.9Output styles изменяют способ ответа Claude, а не то, что Claude знает. Они изменяют системный prompt для установки роли, тона и формата вывода, сохраняя при этом основные возможности, такие как запуск скриптов, чтение и запись файлов, а также отслеживание TODO. Используйте один из них, когда вы постоянно переформулируете запросы для одного и того же голоса или формата на каждом ходу, или когда вы хотите, чтобы Claude действовал как что-то другое, чем инженер-программист.

10 

11Для инструкций о вашем проекте, соглашениях или кодовой базе используйте [CLAUDE.md](/ru/memory) вместо этого.

10 12 

11## Встроенные output styles13## Встроенные output styles

12 14 


63[Define how the assistant should behave in this style...]65[Define how the assistant should behave in this style...]

64```66```

65 67 

66Вы можете сохранять эти файлы на уровне пользователя (`~/.claude/output-styles`) или на уровне проекта (`.claude/output-styles`).68Вы можете сохранять эти файлы на трех уровнях:

69 

70* Пользователь: `~/.claude/output-styles`

71* Проект: `.claude/output-styles`

72* Управляемая политика: `.claude/output-styles` внутри [управляемого каталога настроек](/ru/settings#settings-files)

73 

74[Plugins](/ru/plugins-reference) также могут поставляться с output styles в каталоге `output-styles/`.

67 75 

68### Frontmatter76### Frontmatter

69 77 

70Файлы output style поддерживают frontmatter для указания метаданных:78Файлы output style поддерживают frontmatter для указания метаданных:

71 79 

72| Frontmatter | Назначение | По умолчанию |80| Frontmatter | Назначение | По умолчанию |

73| :------------------------- | :-------------------------------------------------------------------------- | :------------------------- |81| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------- |

74| `name` | Имя output style, если не имя файла | Наследуется из имени файла |82| `name` | Имя output style, если не имя файла | Наследуется из имени файла |

75| `description` | Описание output style, отображаемое в средстве выбора `/config` | Нет |83| `description` | Описание output style, отображаемое в средстве выбора `/config` | Нет |

76| `keep-coding-instructions` | Сохранять ли части системного prompt Claude Code, связанные с кодированием. | false |84| `keep-coding-instructions` | Сохранять ли части системного prompt Claude Code, связанные с кодированием. | false |

85| `force-for-plugin` | Только для output styles плагинов: применять этот стиль автоматически всякий раз, когда плагин включен, без необходимости выбора пользователем. Переопределяет параметр `outputStyle` пользователя. Если несколько включенных плагинов установят это, первый загруженный выигрывает. | false |

77 86 

78## Сравнения со связанными функциями87## Сравнения со связанными функциями

79 88 

plugins.md +6 −0

Details

315 ```315 ```

316</Tip>316</Tip>

317 317 

318Чтобы протестировать plugin, который уже упакован как архив `.zip` и размещён по URL-адресу, например артефакт сборки CI, используйте вместо этого `--plugin-url`. Claude Code загружает архив при запуске и загружает его только для этого сеанса. Если загрузка не удаётся или архив недействителен, Claude Code сообщает об ошибке загрузки plugin и запускается без него. Те же [соображения доверия](/ru/discover-plugins#security) применяются как для любого источника plugin: указывайте этот флаг только на архивы, которыми вы управляете или которым доверяете.

319 

320```bash theme={null}

321claude --plugin-url https://example.com/my-plugin.zip

322```

323 

318### Отладка проблем plugin324### Отладка проблем plugin

319 325 

320Если ваш plugin не работает как ожидается:326Если ваш plugin не работает как ожидается:

Details

301]301]

302```302```

303 303 

304Для объявления monitors встроенным образом установите ключ `monitors` в `plugin.json` на тот же массив. Для загрузки из пути, отличного от пути по умолчанию, установите `monitors` на строку относительного пути, такую как `"./config/monitors.json"`.304Для объявления monitors встроенным образом установите `experimental.monitors` в `plugin.json` на тот же массив. Для загрузки из пути, отличного от пути по умолчанию, установите `experimental.monitors` на строку относительного пути, такую как `"./config/monitors.json"`. Monitors — это [экспериментальный компонент](#experimental-components).

305 305 

306**Обязательные поля:**306**Обязательные поля:**

307 307 


323 323 

324### Themes324### Themes

325 325 

326Плагины могут поставлять цветовые темы, которые появляются в `/theme` наряду со встроенными предустановками и локальными темами пользователя. Тема — это JSON файл в `themes/` с предустановкой `base` и разреженной картой переопределений `overrides` цветовых токенов.326Плагины могут поставлять цветовые темы, которые появляются в `/theme` наряду со встроенными предустановками и локальными темами пользователя. Тема — это JSON файл в `themes/` с предустановкой `base` и разреженной картой переопределений `overrides` цветовых токенов. Themes — это [экспериментальный компонент](#experimental-components).

327 327 

328```json theme={null}328```json theme={null}

329{329{


384 "hooks": "./config/hooks.json",384 "hooks": "./config/hooks.json",

385 "mcpServers": "./mcp-config.json",385 "mcpServers": "./mcp-config.json",

386 "outputStyles": "./styles/",386 "outputStyles": "./styles/",

387 "themes": "./themes/",

388 "lspServers": "./.lsp.json",387 "lspServers": "./.lsp.json",

389 "monitors": "./monitors.json",388 "experimental": {

389 "themes": "./themes/",

390 "monitors": "./monitors.json"

391 },

390 "dependencies": [392 "dependencies": [

391 "helper-lib",393 "helper-lib",

392 { "name": "secrets-vault", "version": "~2.1.0" }394 { "name": "secrets-vault", "version": "~2.1.0" }


420### Поля пути компонента422### Поля пути компонента

421 423 

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

423| :------------- | :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |425| :---------------------- | :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

424| `skills` | string\|array | Пользовательские каталоги skills, содержащие `<name>/SKILL.md` (заменяет по умолчанию `skills/`) | `"./custom/skills/"` |426| `skills` | string\|array | Пользовательские каталоги skills, содержащие `<name>/SKILL.md` (заменяет по умолчанию `skills/`) | `"./custom/skills/"` |

425| `commands` | string\|array | Пользовательские плоские файлы `.md` skill или каталоги (заменяет по умолчанию `commands/`) | `"./custom/cmd.md"` или `["./cmd1.md"]` |427| `commands` | string\|array | Пользовательские плоские файлы `.md` skill или каталоги (заменяет по умолчанию `commands/`) | `"./custom/cmd.md"` или `["./cmd1.md"]` |

426| `agents` | string\|array | Пользовательские файлы агентов (заменяет по умолчанию `agents/`) | `"./custom/agents/reviewer.md"` |428| `agents` | string\|array | Пользовательские файлы агентов (заменяет по умолчанию `agents/`) | `"./custom/agents/reviewer.md"` |

427| `hooks` | string\|array\|object | Пути конфигурации hooks или встроенная конфигурация | `"./my-extra-hooks.json"` |429| `hooks` | string\|array\|object | Пути конфигурации hooks или встроенная конфигурация | `"./my-extra-hooks.json"` |

428| `mcpServers` | string\|array\|object | Пути конфигурации MCP или встроенная конфигурация | `"./my-extra-mcp-config.json"` |430| `mcpServers` | string\|array\|object | Пути конфигурации MCP или встроенная конфигурация | `"./my-extra-mcp-config.json"` |

429| `outputStyles` | string\|array | Пользовательские файлы/каталоги стилей вывода (заменяет по умолчанию `output-styles/`) | `"./styles/"` |431| `outputStyles` | string\|array | Пользовательские файлы/каталоги стилей вывода (заменяет по умолчанию `output-styles/`) | `"./styles/"` |

430| `themes` | string\|array | Файлы/каталоги цветовых тем (заменяет по умолчанию `themes/`). Смотрите [Themes](#themes) | `"./themes/"` |

431| `lspServers` | string\|array\|object | Конфигурации [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) для интеллектуальной информации о коде (переход к определению, поиск ссылок и т. д.) | `"./.lsp.json"` |432| `lspServers` | string\|array\|object | Конфигурации [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) для интеллектуальной информации о коде (переход к определению, поиск ссылок и т. д.) | `"./.lsp.json"` |

432| `monitors` | string\|array | Конфигурации фонового [Monitor](/ru/tools-reference#monitor-tool), которые запускаются автоматически при активации плагина. Смотрите [Monitors](#monitors) | `"./monitors.json"` |433| `experimental.themes` | string\|array | Файлы/каталоги цветовых тем (заменяет по умолчанию `themes/`). Смотрите [Themes](#themes) | `"./themes/"` |

434| `experimental.monitors` | string\|array | Конфигурации фонового [Monitor](/ru/tools-reference#monitor-tool), которые запускаются автоматически при активации плагина. Смотрите [Monitors](#monitors) | `"./monitors.json"` |

433| `userConfig` | object | Значения, настраиваемые пользователем, запрашиваемые при включении. Смотрите [Конфигурация пользователя](#user-configuration) | Смотрите ниже |435| `userConfig` | object | Значения, настраиваемые пользователем, запрашиваемые при включении. Смотрите [Конфигурация пользователя](#user-configuration) | Смотрите ниже |

434| `channels` | array | Объявления каналов для внедрения сообщений (стиль Telegram, Slack, Discord). Смотрите [Каналы](#channels) | Смотрите ниже |436| `channels` | array | Объявления каналов для внедрения сообщений (стиль Telegram, Slack, Discord). Смотрите [Каналы](#channels) | Смотрите ниже |

435| `dependencies` | array | Другие плагины, которые требует этот плагин, опционально с ограничениями версии semver. Смотрите [Ограничение версий зависимостей плагина](/ru/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |437| `dependencies` | array | Другие плагины, которые требует этот плагин, опционально с ограничениями версии semver. Смотрите [Ограничение версий зависимостей плагина](/ru/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |

436 438 

439### Экспериментальные компоненты

440 

441Компоненты под ключом `experimental`, `themes` и `monitors`, имеют схему манифеста, которая может измениться между выпусками во время их стабилизации. Место, где вы их объявляете, — это отдельная миграция: верхний уровень всё ещё работает, `claude plugin validate` выдаёт предупреждение, и будущий выпуск потребует `experimental.*`.

442 

437### Конфигурация пользователя443### Конфигурация пользователя

438 444 

439Поле `userConfig` объявляет значения, которые Claude Code запрашивает у пользователя при включении плагина. Используйте это вместо требования пользователям вручную редактировать `settings.json`.445Поле `userConfig` объявляет значения, которые Claude Code запрашивает у пользователя при включении плагина. Используйте это вместо требования пользователям вручную редактировать `settings.json`.


504 510 

505### Правила поведения пути511### Правила поведения пути

506 512 

507Для `skills`, `commands`, `agents`, `outputStyles`, `themes` и `monitors` пользовательский путь заменяет путь по умолчанию. Если манифест указывает `skills`, каталог по умолчанию `skills/` не сканируется; если он указывает `monitors`, по умолчанию `monitors/monitors.json` не загружается. [Hooks](#hooks), [MCP servers](#mcp-servers) и [LSP servers](#lsp-servers) имеют другую семантику для обработки нескольких источников.513Для `skills`, `commands`, `agents`, `outputStyles`, `experimental.themes` и `experimental.monitors` пользовательский путь заменяет путь по умолчанию. Если манифест указывает `skills`, каталог по умолчанию `skills/` не сканируется; если он указывает `experimental.monitors`, по умолчанию `monitors/monitors.json` не загружается. [Hooks](#hooks), [MCP servers](#mcp-servers) и [LSP servers](#lsp-servers) имеют другую семантику для обработки нескольких источников.

508 514 

509* Все пути должны быть относительны к корню плагина и начинаться с `./`515* Все пути должны быть относительны к корню плагина и начинаться с `./`

510* Компоненты из пользовательских путей используют те же правила именования и пространства имён516* Компоненты из пользовательских путей используют те же правила именования и пространства имён


605 611 

606Плагины указываются одним из двух способов:612Плагины указываются одним из двух способов:

607 613 

608* Через `claude --plugin-dir`, на время сеанса.614* Через `claude --plugin-dir` или `claude --plugin-url`, на время сеанса.

609* Через маркетплейс, установленный для будущих сеансов.615* Через маркетплейс, установленный для будущих сеансов.

610 616 

611В целях безопасности и проверки Claude Code копирует плагины *маркетплейса* в локальный **кэш плагина** пользователя (`~/.claude/plugins/cache`) вместо использования их на месте. Понимание этого поведения важно при разработке плагинов, которые ссылаются на внешние файлы.617В целях безопасности и проверки Claude Code копирует плагины *маркетплейса* в локальный **кэш плагина** пользователя (`~/.claude/plugins/cache`) вместо использования их на месте. Понимание этого поведения важно при разработке плагинов, которые ссылаются на внешние файлы.

routines.md +67 −15

Details

14 14 

15Каждая рутина может иметь один или несколько присоединенных триггеров:15Каждая рутина может иметь один или несколько присоединенных триггеров:

16 16 

17* **Scheduled**: запуск по повторяющемуся расписанию, например ежечасно, ежедневно или еженедельно17* **Scheduled**: запуск по повторяющемуся расписанию, например ежечасно, ежедневно или еженедельно, или один раз в определенное будущее время

18* **API**: срабатывание по требованию путем отправки HTTP POST на выделенную конечную точку рутины с токеном-носителем18* **API**: срабатывание по требованию путем отправки HTTP POST на выделенную конечную точку рутины с токеном-носителем

19* **GitHub**: автоматический запуск в ответ на события репозитория, такие как pull request или релизы19* **GitHub**: автоматический запуск в ответ на события репозитория, такие как pull request или релизы

20 20 


44 44 

45## Создание рутины45## Создание рутины

46 46 

47Создайте рутину из веб-версии, приложения Desktop или CLI. Все три интерфейса записывают в один облачный аккаунт, поэтому рутина, которую вы создаете в CLI, сразу же появляется на claude.ai/code/routines. В приложении Desktop нажмите **New task** и выберите **New remote task**; выбор **New local task** вместо этого создает [локальную запланированную задачу Desktop](/ru/desktop-scheduled-tasks), которая запускается на вашей машине и не является рутиной.47Создайте рутину из веб-версии на [claude.ai/code/routines](https://claude.ai/code/routines), из приложения Desktop или из CLI. Все три интерфейса записывают в один облачный аккаунт, поэтому рутина, которую вы создаете в одном, сразу же появляется в других. В приложении Desktop нажмите **Routines** на боковой панели, затем **New routine**, и выберите **Remote**; выбор **Local** вместо этого создает [локальную запланированную задачу Desktop](/ru/desktop-scheduled-tasks), которая запускается на вашей машине, а не в облаке.

48 48 

49Форма создания настраивает подсказку рутины, репозитории, окружение, коннекторы и триггеры.49Форма создания настраивает подсказку рутины, репозитории, окружение, коннекторы и триггеры.

50 50 


66 </Step>66 </Step>

67 67 

68 <Step title="Выберите репозитории">68 <Step title="Выберите репозитории">

69 Добавьте один или несколько репозиториев GitHub для работы Claude. Каждый репозиторий клонируется в начале запуска, начиная с ветви по умолчанию. Claude создает ветви с префиксом `claude/` для своих изменений. Чтобы разрешить push в любую ветвь, включите **Allow unrestricted branch pushes** для этого репозитория.69 Добавьте один или несколько репозиториев GitHub для работы Claude. Каждый репозиторий клонируется в начале запуска, начиная с ветви по умолчанию. Claude создает ветви с префиксом `claude/` для своих изменений.

70 </Step>70 </Step>

71 71 

72 <Step title="Выберите окружение">72 <Step title="Выберите окружение">


76 * **Environment variables**: предоставьте ключи API, токены или другие секреты, которые может использовать Claude76 * **Environment variables**: предоставьте ключи API, токены или другие секреты, которые может использовать Claude

77 * **Setup script**: установите зависимости и инструменты, которые нужны рутине. Результат [кэшируется](/ru/claude-code-on-the-web#environment-caching), поэтому скрипт не переустанавливается при каждом сеансе77 * **Setup script**: установите зависимости и инструменты, которые нужны рутине. Результат [кэшируется](/ru/claude-code-on-the-web#environment-caching), поэтому скрипт не переустанавливается при каждом сеансе

78 78 

79 Предоставляется окружение **Default**. Чтобы использовать пользовательское окружение, [создайте его](/ru/claude-code-on-the-web#the-cloud-environment) перед созданием рутины.79 Предоставляется окружение **Default** с доступом в сеть **Trusted**, который позволяет [набор по умолчанию](/ru/claude-code-on-the-web#default-allowed-domains) реестров пакетов, API облачных провайдеров, реестров контейнеров и распространенных доменов разработки, но блокирует все остальное. Если вашей рутине нужно достичь ваших собственных сервисов или домена вне этого списка, отредактируйте [сетевой доступ](/ru/claude-code-on-the-web#network-access) окружения перед запуском. Чтобы использовать отдельное окружение, [создайте его](/ru/claude-code-on-the-web#configure-your-environment) сначала.

80 </Step>80 </Step>

81 81 

82 <Step title="Выберите триггер">82 <Step title="Выберите триггер">


84 84 

85 <Tabs>85 <Tabs>

86 <Tab title="Schedule">86 <Tab title="Schedule">

87 Выберите предустановленную частоту: ежечасно, ежедневно, по рабочим дням или еженедельно. Смотрите [Add a schedule trigger](#add-a-schedule-trigger) для обработки часовых поясов, разброса и пользовательских интервалов cron.87 Выберите предустановленную частоту для повторяющегося запуска или запланируйте один одноразовый запуск в определенный момент времени. Смотрите [Add a schedule trigger](#add-a-schedule-trigger) для обработки часовых поясов, разброса, пользовательских интервалов cron и одноразовых запусков.

88 </Tab>88 </Tab>

89 89 

90 <Tab title="GitHub event">90 <Tab title="GitHub event">


97 </Tabs>97 </Tabs>

98 </Step>98 </Step>

99 99 

100 <Step title="Проверьте коннекторы">100 <Step title="Проверьте коннекторы и разрешения">

101 Все ваши подключенные [MCP коннекторы](/ru/mcp) включены по умолчанию. Удалите все, которые рутине не нужны. Коннекторы дают Claude доступ к внешним сервисам, таким как Slack, Linear или Google Drive, во время каждого запуска.101 Вкладки **Connectors** и **Permissions** в нижней части формы контролируют, к чему может получить доступ рутина.

102 

103 В разделе Connectors все ваши подключенные [MCP коннекторы](/ru/mcp) включены по умолчанию. Удалите все, которые рутине не нужны. Claude может использовать каждый инструмент из включенного коннектора, включая операции записи, без запроса разрешения во время запуска.

104 

105 В разделе Permissions включите **Allow unrestricted branch pushes** для любого репозитория, где Claude должен иметь возможность push в существующие ветви вместо только ветвей с префиксом `claude/`.

102 </Step>106 </Step>

103 107 

104 <Step title="Создайте рутину">108 <Step title="Создайте рутину">


110 114 

111### Создание из CLI115### Создание из CLI

112 116 

113Запустите `/schedule` в любом сеансе, чтобы создать запланированную рутину в диалоговом режиме. Вы также можете передать описание напрямую, как в `/schedule daily PR review at 9am`. Claude проходит через ту же информацию, которую собирает веб-форма, затем сохраняет рутину в ваш аккаунт.117Запустите `/schedule` в любом сеансе, чтобы создать запланированную рутину в диалоговом режиме. Вы также можете передать описание напрямую, например для повторяющейся рутины как `/schedule daily PR review at 9am` или одноразовой как `/schedule clean up feature flag in one week`. Claude проходит через ту же информацию, которую собирает веб-форма, затем сохраняет рутину в ваш аккаунт.

114 118 

115`/schedule` в CLI создает только запланированные рутины. Чтобы добавить триггер API или GitHub, отредактируйте рутину в веб-версии на [claude.ai/code/routines](https://claude.ai/code/routines).119`/schedule` в CLI создает только запланированные рутины. Чтобы добавить триггер API или GitHub, отредактируйте рутину в веб-версии на [claude.ai/code/routines](https://claude.ai/code/routines).

116 120 

117CLI также поддерживает управление существующими рутинами. Запустите `/schedule list`, чтобы увидеть все рутины, `/schedule update`, чтобы изменить одну, или `/schedule run`, чтобы запустить ее немедленно.121CLI также поддерживает управление существующими рутинами. Запустите `/schedule list`, чтобы увидеть все рутины, `/schedule update`, чтобы изменить одну, или `/schedule run`, чтобы запустить ее немедленно.

118 122 

119### Создание из приложения Desktop

120 

121Откройте страницу **Schedule** в приложении Desktop, нажмите **New task** и выберите **New remote task**. Приложение Desktop показывает как локальные запланированные задачи, так и рутины в одной сетке. Смотрите [Desktop scheduled tasks](/ru/desktop-scheduled-tasks) для деталей локального варианта.

122 

123## Настройка триггеров123## Настройка триггеров

124 124 

125Рутина запускается, когда один из ее триггеров совпадает. Вы можете присоединить любую комбинацию триггеров расписания, API и GitHub к одной рутине и добавлять или удалять их в любое время из раздела **Select a trigger** формы редактирования рутины.125Рутина запускается, когда один из ее триггеров совпадает. Вы можете присоединить любую комбинацию триггеров расписания, API и GitHub к одной рутине и добавлять или удалять их в любое время из раздела **Select a trigger** формы редактирования рутины.

126 126 

127### Добавление триггера расписания127### Добавление триггера расписания

128 128 

129Триггер расписания запускает рутину по повторяющемуся расписанию. Выберите предустановленную частоту в разделе **Select a trigger**: ежечасно, ежедневно, по рабочим дням или еженедельно. Времена вводятся в вашем локальном часовом поясе и преобразуются автоматически, поэтому рутина запускается в это время независимо от того, где находится облачная инфраструктура.129Триггер расписания запускает рутину по повторяющемуся расписанию или один раз в определенное будущее время. Выберите предустановленную частоту в разделе **Select a trigger**: ежечасно, ежедневно, по рабочим дням или еженедельно. Времена вводятся в вашем локальном часовом поясе и преобразуются автоматически, поэтому рутина запускается в это время независимо от того, где находится облачная инфраструктура.

130 130 

131Запуски могут начаться на несколько минут позже запланированного времени из-за разброса. Смещение согласовано для каждой рутины.131Запуски могут начаться на несколько минут позже запланированного времени из-за разброса. Смещение согласовано для каждой рутины.

132 132 

133Для пользовательского интервала, такого как каждые два часа или первое число каждого месяца, выберите ближайшую предустановку в форме, затем запустите `/schedule update` в CLI, чтобы установить конкретное выражение cron. Минимальный интервал — один час; выражения, которые запускаются чаще, отклоняются.133Для пользовательского интервала, такого как каждые два часа или первое число каждого месяца, выберите ближайшую предустановку в форме, затем запустите `/schedule update` в CLI, чтобы установить конкретное выражение cron. Минимальный интервал — один час; выражения, которые запускаются чаще, отклоняются.

134 134 

135#### Планирование одноразового запуска

136 

137Одноразовое расписание запускает рутину один раз в определенный момент времени. Используйте его, чтобы напомнить себе позже на неделе, открыть PR очистки после завершения развертывания или запустить последующую задачу, когда приходит изменение вышестоящего уровня. После запуска рутины она автоматически отключается, и веб-интерфейс отмечает ее как **Ran**. Чтобы запустить ее снова, отредактируйте рутину и установите новое одноразовое время.

138 

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

140 

141```text theme={null}

142/schedule tomorrow at 9am, summarize yesterday's merged PRs

143```

144 

145```text theme={null}

146/schedule in 2 weeks, open a cleanup PR that removes the feature flag

147```

148 

149То же преобразование локального времени в UTC, что и для повторяющихся расписаний, применяется к одноразовым меткам времени.

150 

151Одноразовые запуски не учитываются в дневном лимите запусков рутины. Они потребляют обычное использование подписки вашего плана, как и любой другой сеанс. Подробности см. в разделе [Usage and limits](#usage-and-limits).

152 

135### Добавление триггера API153### Добавление триггера API

136 154 

137Триггер API дает рутине выделенную конечную точку HTTP. POST на конечную точку с токеном-носителем рутины запускает новый сеанс и возвращает URL сеанса. Используйте это для подключения Claude Code к системам оповещений, конвейерам развертывания, внутренним инструментам или везде, где вы можете сделать аутентифицированный HTTP запрос.155Триггер API дает рутине выделенную конечную точку HTTP. POST на конечную точку с токеном-носителем рутины запускает новый сеанс и возвращает URL сеанса. Используйте это для подключения Claude Code к системам оповещений, конвейерам развертывания, внутренним инструментам или везде, где вы можете сделать аутентифицированный HTTP запрос.


273 291 

274Нажмите любой запуск, чтобы открыть его как полный сеанс. Оттуда вы можете увидеть, что сделал Claude, проверить изменения, создать pull request или продолжить разговор. Каждый сеанс запуска работает как любой другой сеанс: используйте меню раскрывающегося списка рядом с заголовком сеанса, чтобы переименовать, архивировать или удалить его.292Нажмите любой запуск, чтобы открыть его как полный сеанс. Оттуда вы можете увидеть, что сделал Claude, проверить изменения, создать pull request или продолжить разговор. Каждый сеанс запуска работает как любой другой сеанс: используйте меню раскрывающегося списка рядом с заголовком сеанса, чтобы переименовать, архивировать или удалить его.

275 293 

294<Note>

295 Зеленый статус в списке запусков означает, что сеанс запустился и завершился без ошибки инфраструктуры. Это не означает, что задача в вашей подсказке выполнена успешно. Откройте запуск, чтобы прочитать стенограмму и подтвердить, что Claude действительно сделал. Заблокированные сетевые запросы, отсутствующие инструменты коннектора и сбои на уровне задачи отображаются там, а не в индикаторе статуса.

296</Note>

297 

276### Редактирование и управление рутинами298### Редактирование и управление рутинами

277 299 

278Со страницы деталей рутины вы можете:300Со страницы деталей рутины вы можете:


298 320 

299Чтобы управлять или добавлять коннекторы вне формы рутины, посетите **Settings > Connectors** на claude.ai или используйте `/schedule update` в CLI.321Чтобы управлять или добавлять коннекторы вне формы рутины, посетите **Settings > Connectors** на claude.ai или используйте `/schedule update` в CLI.

300 322 

301### Окружения323### Окружения и сетевой доступ

324 

325Каждая рутина запускается в [облачном окружении](/ru/claude-code-on-the-web#the-cloud-environment), которое контролирует сетевой доступ, переменные окружения и скрипты настройки. Рутина наследует политику сетевого доступа окружения при каждом запуске.

302 326 

303Каждая рутина запускается в [облачном окружении](/ru/claude-code-on-the-web#the-cloud-environment), которое контролирует сетевой доступ, переменные окружения и скрипты настройки. Настройте окружения перед созданием рутины, чтобы дать Claude доступ к API, установить зависимости или ограничить область сети. Смотрите [cloud environment](/ru/claude-code-on-the-web#the-cloud-environment) для полного руководства настройки.327Окружение **Default** использует **Trusted** сетевой доступ: [список разрешений по умолчанию](/ru/claude-code-on-the-web#default-allowed-domains) реестров пакетов, API облачных провайдеров, реестров контейнеров и распространенных доменов разработки доступен, но произвольные домены недоступны. Исходящие запросы к другим хостам завершаются с ошибкой `403` и `x-deny-reason: host_not_allowed`. Трафик MCP коннектора маршрутизируется через серверы Anthropic, поэтому коннекторы, которые вы добавляете в рутину, работают без добавления их хостов в **Allowed domains**. Удалите все коннекторы, которые вам не нужны, в разделе [Коннекторы](#коннекторы).

328 

329Чтобы разрешить дополнительные домены:

330 

331<Steps>

332 <Step title="Откройте рутину для редактирования">

333 На странице деталей рутины нажмите значок карандаша, чтобы открыть **Edit routine**.

334 </Step>

335 

336 <Step title="Откройте селектор окружения">

337 Ниже поля **Instructions** выберите значок облака, показывающий имя вашего окружения, например **Default**.

338 </Step>

339 

340 <Step title="Откройте параметры окружения">

341 Наведите указатель на окружение в списке и нажмите значок параметров, который появляется справа.

342 </Step>

343 

344 <Step title="Измените уровень сетевого доступа">

345 В диалоговом окне **Update cloud environment** измените **Network access** на **Custom** и введите ваши домены в **Allowed domains**. Установите флажок **Also include default list of common package managers**, чтобы сохранить [список разрешений по умолчанию](/ru/claude-code-on-the-web#default-allowed-domains) вместе с вашими пользовательскими доменами. Выберите **Full** для неограниченного доступа.

346 </Step>

347 

348 <Step title="Сохранить">

349 Нажмите **Save changes**. Новая политика применяется со следующего запуска.

350 </Step>

351</Steps>

352 

353Смотрите [Network access](/ru/claude-code-on-the-web#network-access) для подробной информации об уровнях доступа и списке разрешений по умолчанию.

304 354 

305## Использование и ограничения355## Использование и ограничения

306 356 


308 358 

309Когда рутина достигает дневного лимита или лимита использования вашей подписки, организации с включенным дополнительным использованием могут продолжать запускать рутины на измеренный перерасход. Без дополнительного использования дополнительные запуски отклоняются до сброса окна. Включите дополнительное использование из **Settings > Billing** на claude.ai.359Когда рутина достигает дневного лимита или лимита использования вашей подписки, организации с включенным дополнительным использованием могут продолжать запускать рутины на измеренный перерасход. Без дополнительного использования дополнительные запуски отклоняются до сброса окна. Включите дополнительное использование из **Settings > Billing** на claude.ai.

310 360 

361Разовые запуски не учитываются в дневном лимите рутин. Они снижают ваше обычное использование подписки как любой другой сеанс, но они освобождены от допуска на дневные запуски рутин на аккаунт.

362 

311## Связанные ресурсы363## Связанные ресурсы

312 364 

313* [`/loop` and in-session scheduling](/ru/scheduled-tasks): запланируйте локальные задачи в открытом сеансе CLI365* [`/loop` and in-session scheduling](/ru/scheduled-tasks): запланируйте локальные задачи в открытом сеансе CLI

settings.md +19 −15

Details

164| `allowManagedHooksOnly` | (Только управляемые параметры) Загружаются только управляемые hooks, SDK hooks и hooks из plugins, принудительно включенных в управляемых параметрах `enabledPlugins`. Пользовательские, проектные и все остальные plugin hooks блокируются. См. [Конфигурация Hook](#hook-configuration) | `true` |164| `allowManagedHooksOnly` | (Только управляемые параметры) Загружаются только управляемые hooks, SDK hooks и hooks из plugins, принудительно включенных в управляемых параметрах `enabledPlugins`. Пользовательские, проектные и все остальные plugin hooks блокируются. См. [Конфигурация Hook](#hook-configuration) | `true` |

165| `allowManagedMcpServersOnly` | (Только управляемые параметры) Только `allowedMcpServers` из управляемых параметров учитываются. `deniedMcpServers` по-прежнему объединяется из всех источников. Пользователи по-прежнему могут добавлять MCP servers, но применяется только определенный администратором список разрешений. См. [Управляемая конфигурация MCP](/ru/mcp#managed-mcp-configuration) | `true` |165| `allowManagedMcpServersOnly` | (Только управляемые параметры) Только `allowedMcpServers` из управляемых параметров учитываются. `deniedMcpServers` по-прежнему объединяется из всех источников. Пользователи по-прежнему могут добавлять MCP servers, но применяется только определенный администратором список разрешений. См. [Управляемая конфигурация MCP](/ru/mcp#managed-mcp-configuration) | `true` |

166| `allowManagedPermissionRulesOnly` | (Только управляемые параметры) Предотвратить определение правил разрешений `allow`, `ask` или `deny` в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. См. [Параметры только для управляемых](/ru/permissions#managed-only-settings) | `true` |166| `allowManagedPermissionRulesOnly` | (Только управляемые параметры) Предотвратить определение правил разрешений `allow`, `ask` или `deny` в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. См. [Параметры только для управляемых](/ru/permissions#managed-only-settings) | `true` |

167| `alwaysThinkingEnabled` | Включить [расширенное мышление](/ru/model-config#extended-thinking) по умолчанию для всех сеансов. Обычно настраивается через команду `/config` вместо прямого редактирования | `true` |167| `alwaysThinkingEnabled` | Включить [расширенное мышление](/ru/model-config#extended-thinking) по умолчанию для всех сеансов. Обычно настраивается через команду `/config` вместо прямого редактирования. Чтобы принудительно отключить мышление независимо от этого параметра, установите [`CLAUDE_CODE_DISABLE_THINKING`](/ru/env-vars) в `env` | `true` |

168| `apiKeyHelper` | Пользовательский скрипт, который будет выполнен в `/bin/sh`, для создания значения аутентификации. Это значение будет отправлено как заголовки `X-Api-Key` и `Authorization: Bearer` для запросов модели | `/bin/generate_temp_api_key.sh` |168| `apiKeyHelper` | Пользовательский скрипт, который будет выполнен в `/bin/sh`, для создания значения аутентификации. Это значение будет отправлено как заголовки `X-Api-Key` и `Authorization: Bearer` для запросов модели. Установите интервал обновления с помощью [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/ru/env-vars) | `/bin/generate_temp_api_key.sh` |

169| `attribution` | Настройте атрибуцию для коммитов git и pull requests. См. [Параметры атрибуции](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |169| `attribution` | Настройте атрибуцию для коммитов git и pull requests. См. [Параметры атрибуции](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

170| `autoMemoryDirectory` | Пользовательский каталог для хранения [автоматической памяти](/ru/memory#storage-location). Принимает абсолютный путь или путь с префиксом `~/`. Принимается из политики и параметров пользователя, а также из флага `--settings`. Не принимается из параметров проекта или локальных параметров, так как клонированный репозиторий может предоставить любой файл для перенаправления записей памяти в чувствительные местоположения | `"~/my-memory-dir"` |170| `autoMemoryDirectory` | Пользовательский каталог для хранения [автоматической памяти](/ru/memory#storage-location). Принимает абсолютный путь или путь с префиксом `~/`. Принимается из политики и параметров пользователя, а также из флага `--settings`. Не принимается из параметров проекта или локальных параметров, так как клонированный репозиторий может предоставить любой файл для перенаправления записей памяти в чувствительные местоположения | `"~/my-memory-dir"` |

171| `autoMemoryEnabled` | Включить [автоматическую память](/ru/memory#enable-or-disable-auto-memory). Когда `false`, Claude не читает и не записывает в каталог автоматической памяти. По умолчанию: `true`. Вы также можете переключить это с помощью `/memory` во время сеанса | `false` |171| `autoMemoryEnabled` | Включить [автоматическую память](/ru/memory#enable-or-disable-auto-memory). Когда `false`, Claude не читает и не записывает в каталог автоматической памяти. По умолчанию: `true`. Вы также можете переключить это с помощью `/memory` во время сеанса. Чтобы отключить через переменную окружения, установите [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/ru/env-vars) в `env` | `false` |

172| `autoMode` | Настройте, что классификатор [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode) блокирует и разрешает. Содержит массивы `environment`, `allow` и `soft_deny` правил в виде текста. Включите буквальную строку `"$defaults"` в массив для наследования встроенных правил в этой позиции. См. [Настройте автоматический режим](/ru/auto-mode-config). Не читается из общих параметров проекта | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |172| `autoMode` | Настройте, что классификатор [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode) блокирует и разрешает. Содержит массивы `environment`, `allow` и `soft_deny` правил в виде текста. Включите буквальную строку `"$defaults"` в массив для наследования встроенных правил в этой позиции. См. [Настройте автоматический режим](/ru/auto-mode-config). Не читается из общих параметров проекта | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

173| `autoScrollEnabled` | В [fullscreen rendering](/ru/fullscreen), следить за новым выводом в конец разговора. По умолчанию: `true`. Появляется в `/config` как **Auto-scroll**. Запросы разрешений по-прежнему прокручиваются в поле зрения, когда это отключено | `false` |173| `autoScrollEnabled` | В [fullscreen rendering](/ru/fullscreen), следить за новым выводом в конец разговора. По умолчанию: `true`. Появляется в `/config` как **Auto-scroll**. Запросы разрешений по-прежнему прокручиваются в поле зрения, когда это отключено | `false` |

174| `autoUpdatesChannel` | Канал выпуска для отслеживания обновлений. Используйте `"stable"` для версии, которая обычно примерно на неделю старше и пропускает версии с серьезными регрессиями, или `"latest"` (по умолчанию) для самого последнего выпуска | `"stable"` |174| `autoUpdatesChannel` | Канал выпуска для отслеживания обновлений. Используйте `"stable"` для версии, которая обычно примерно на неделю старше и пропускает версии с серьезными регрессиями, или `"latest"` (по умолчанию) для самого последнего выпуска. Чтобы полностью отключить автоматические обновления, установите [`DISABLE_AUTOUPDATER`](/ru/setup#disable-auto-updates) в `env` | `"stable"` |

175| `availableModels` | Ограничить, какие модели пользователи могут выбрать через `/model`, `--model` или `ANTHROPIC_MODEL`. Не влияет на опцию Default. См. [Ограничить выбор модели](/ru/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |175| `availableModels` | Ограничить, какие модели пользователи могут выбрать через `/model`, `--model` или `ANTHROPIC_MODEL`. Не влияет на опцию Default. См. [Ограничить выбор модели](/ru/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |

176| `awaySummaryEnabled` | Показать одностроковое резюме сеанса при возврате в терминал после нескольких минут отсутствия. Установите на `false` или отключите Session recap в `/config` для отключения. То же самое, что [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/ru/env-vars) | `true` |176| `awaySummaryEnabled` | Показать одностроковое резюме сеанса при возврате в терминал после нескольких минут отсутствия. Установите на `false` или отключите Session recap в `/config` для отключения. То же самое, что [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/ru/env-vars) | `true` |

177| `awsAuthRefresh` | Пользовательский скрипт, который изменяет каталог `.aws` (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |177| `awsAuthRefresh` | Пользовательский скрипт, который изменяет каталог `.aws` (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

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| `claudeMdExcludes` | Glob шаблоны или абсолютные пути файлов `CLAUDE.md` для пропуска при загрузке [памяти](/ru/memory). Шаблоны соответствуют абсолютным путям файлов. Применяется только к памяти пользователя, проекта и локальной памяти; файлы управляемой политики не могут быть исключены | `["**/vendor/**/CLAUDE.md"]` |

181| `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` |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` |

182| `companyAnnouncements` | Объявление для отображения пользователям при запуске. Если предоставлено несколько объявлений, они будут циклически отображаться случайным образом. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |183| `companyAnnouncements` | Объявление для отображения пользователям при запуске. Если предоставлено несколько объявлений, они будут циклически отображаться случайным образом. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

183| `defaultShell` | Оболочка по умолчанию для команд `!` в поле ввода. Принимает `"bash"` (по умолчанию) или `"powershell"`. Установка `"powershell"` направляет интерактивные команды `!` через PowerShell на Windows. Требует `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. См. [Инструмент PowerShell](/ru/tools-reference#powershell-tool) | `"powershell"` |184| `defaultShell` | Оболочка по умолчанию для команд `!` в поле ввода. Принимает `"bash"` (по умолчанию) или `"powershell"`. Установка `"powershell"` направляет интерактивные команды `!` через PowerShell на Windows. Требует `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. См. [Инструмент PowerShell](/ru/tools-reference#powershell-tool) | `"powershell"` |


189| `disableRemoteControl` | {/* min-version: 2.1.128 */}Отключить [Remote Control](/ru/remote-control): блокирует `claude remote-control`, флаг `--remote-control`, автозапуск и переключение в сеансе. Обычно размещается в [управляемых параметрах](/ru/permissions#managed-settings) для применения MDM на каждом устройстве, но работает из любой области. Требует Claude Code v2.1.128 или позже | `true` |190| `disableRemoteControl` | {/* min-version: 2.1.128 */}Отключить [Remote Control](/ru/remote-control): блокирует `claude remote-control`, флаг `--remote-control`, автозапуск и переключение в сеансе. Обычно размещается в [управляемых параметрах](/ru/permissions#managed-settings) для применения MDM на каждом устройстве, но работает из любой области. Требует Claude Code v2.1.128 или позже | `true` |

190| `disableSkillShellExecution` | Отключить встроенное выполнение shell для `` !`...` `` и ` ```! ` блоков в [skills](/ru/skills) и пользовательских команд из источников пользователя, проекта, plugin или дополнительного каталога. Команды заменяются на `[shell command execution disabled by policy]` вместо выполнения. Встроенные и управляемые skills не затронуты. Наиболее полезно в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить | `true` |191| `disableSkillShellExecution` | Отключить встроенное выполнение shell для `` !`...` `` и ` ```! ` блоков в [skills](/ru/skills) и пользовательских команд из источников пользователя, проекта, plugin или дополнительного каталога. Команды заменяются на `[shell command execution disabled by policy]` вместо выполнения. Встроенные и управляемые skills не затронуты. Наиболее полезно в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить | `true` |

191| `editorMode` | Режим сочетания клавиш для входного приглашения: `"normal"` или `"vim"`. По умолчанию: `"normal"`. Появляется в `/config` как **Editor mode** | `"vim"` |192| `editorMode` | Режим сочетания клавиш для входного приглашения: `"normal"` или `"vim"`. По умолчанию: `"normal"`. Появляется в `/config` как **Editor mode** | `"vim"` |

192| `effortLevel` | Сохранить [уровень усилий](/ru/model-config#adjust-effort-level) между сеансами. Принимает `"low"`, `"medium"`, `"high"` или `"xhigh"`. Записывается автоматически при запуске `/effort` с одним из этих значений. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) для поддерживаемых моделей | `"xhigh"` |193| `effortLevel` | Сохранить [уровень усилий](/ru/model-config#adjust-effort-level) между сеансами. Принимает `"low"`, `"medium"`, `"high"` или `"xhigh"`. Записывается автоматически при запуске `/effort` с одним из этих значений. `--effort` и [`CLAUDE_CODE_EFFORT_LEVEL`](/ru/env-vars) переопределяют это на один сеанс. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) для поддерживаемых моделей | `"xhigh"` |

193| `enableAllProjectMcpServers` | Автоматически одобрить все MCP servers, определенные в файлах проекта `.mcp.json` | `true` |194| `enableAllProjectMcpServers` | Автоматически одобрить все MCP servers, определенные в файлах проекта `.mcp.json` | `true` |

194| `enabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для одобрения | `["memory", "github"]` |195| `enabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для одобрения | `["memory", "github"]` |

195| `env` | Переменные окружения, которые будут применены к каждому сеансу | `{"FOO": "bar"}` |196| `env` | Переменные окружения, которые будут применены к каждому сеансу | `{"FOO": "bar"}` |

196| `fastModePerSessionOptIn` | Когда `true`, быстрый режим не сохраняется между сеансами. Каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей включить его с помощью `/fast`. Предпочтение быстрого режима пользователя по-прежнему сохраняется. См. [Требовать согласие для каждого сеанса](/ru/fast-mode#require-per-session-opt-in) | `true` |197| `fastModePerSessionOptIn` | Когда `true`, быстрый режим не сохраняется между сеансами. Каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей включить его с помощью `/fast`. Предпочтение быстрого режима пользователя по-прежнему сохраняется. См. [Требовать согласие для каждого сеанса](/ru/fast-mode#require-per-session-opt-in) | `true` |

197| `feedbackSurveyRate` | Вероятность (0–1) того, что [опрос качества сеанса](/ru/data-usage#session-quality-surveys) появится при наличии условий. Установите на `0`, чтобы полностью подавить. Полезно при использовании Bedrock, Vertex или Foundry, где частота выборки по умолчанию не применяется | `0.05` |198| `feedbackSurveyRate` | Вероятность (0–1) того, что [опрос качества сеанса](/ru/data-usage#session-quality-surveys) появится при наличии условий. Установите на `0`, чтобы полностью подавить, или установите [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/ru/env-vars) в `env`. Полезно при использовании Bedrock, Vertex или Foundry, где частота выборки по умолчанию не применяется | `0.05` |

198| `fileSuggestion` | Настройте пользовательский скрипт для автодополнения файлов `@`. См. [Параметры предложения файлов](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |199| `fileSuggestion` | Настройте пользовательский скрипт для автодополнения файлов `@`. См. [Параметры предложения файлов](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

199| `forceLoginMethod` | Используйте `claudeai` для ограничения входа учетными записями Claude.ai, `console` для ограничения входа учетными записями Claude Console (выставление счетов за использование API) | `claudeai` |200| `forceLoginMethod` | Используйте `claudeai` для ограничения входа учетными записями Claude.ai, `console` для ограничения входа учетными записями Claude Console (выставление счетов за использование API) | `claudeai` |

200| `forceLoginOrgUUID` | Требовать, чтобы вход принадлежал определенной организации. Принимает одну строку UUID, которая также предварительно выбирает эту организацию во время входа, или массив UUID, где любая указанная организация принимается без предварительного выбора. При установке в управляемых параметрах вход не удается, если аутентифицированная учетная запись не принадлежит указанной организации; пустой массив не удается закрыто и блокирует вход с сообщением о неправильной конфигурации | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` или `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |201| `forceLoginOrgUUID` | Требовать, чтобы вход принадлежал определенной организации. Принимает одну строку UUID, которая также предварительно выбирает эту организацию во время входа, или массив UUID, где любая указанная организация принимается без предварительного выбора. При установке в управляемых параметрах вход не удается, если аутентифицированная учетная запись не принадлежит указанной организации; пустой массив не удается закрыто и блокирует вход с сообщением о неправильной конфигурации | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` или `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

201| `forceRemoteSettingsRefresh` | (Только управляемые параметры) Блокировать запуск CLI до тех пор, пока удаленные управляемые параметры не будут свежо получены с сервера. Если получение не удается, CLI выходит вместо продолжения с кэшированными или отсутствующими параметрами. Когда не установлено, запуск продолжается без ожидания удаленных параметров. См. [fail-closed enforcement](/ru/server-managed-settings#enforce-fail-closed-startup) | `true` |202| `forceRemoteSettingsRefresh` | (Только управляемые параметры) Блокировать запуск CLI до тех пор, пока удаленные управляемые параметры не будут свежо получены с сервера. Если получение не удается, CLI выходит вместо продолжения с кэшированными или отсутствующими параметрами. Когда не установлено, запуск продолжается без ожидания удаленных параметров. См. [fail-closed enforcement](/ru/server-managed-settings#enforce-fail-closed-startup) | `true` |

203| `gcpAuthRefresh` | Пользовательский скрипт, который обновляет GCP Application Default Credentials при их истечении или невозможности загрузки. См. [расширенная конфигурация учетных данных](/ru/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |

202| `hooks` | Настройте пользовательские команды для запуска при событиях жизненного цикла. См. [документацию hooks](/ru/hooks) для формата | См. [hooks](/ru/hooks) |204| `hooks` | Настройте пользовательские команды для запуска при событиях жизненного цикла. См. [документацию hooks](/ru/hooks) для формата | См. [hooks](/ru/hooks) |

203| `httpHookAllowedEnvVars` | Список разрешенных имен переменных окружения, которые HTTP hooks могут интерполировать в заголовки. При установке эффективный `allowedEnvVars` каждого hook является пересечением с этим списком. Не определено = без ограничений. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |205| `httpHookAllowedEnvVars` | Список разрешенных имен переменных окружения, которые HTTP hooks могут интерполировать в заголовки. При установке эффективный `allowedEnvVars` каждого hook является пересечением с этим списком. Не определено = без ограничений. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |

204| `includeCoAuthoredBy` | **Устарело**: Используйте `attribution` вместо этого. Включать ли строку `co-authored-by Claude` в коммиты git и pull requests (по умолчанию: `true`) | `false` |206| `includeCoAuthoredBy` | **Устарело**: Используйте `attribution` вместо этого. Включать ли строку `co-authored-by Claude` в коммиты git и pull requests (по умолчанию: `true`) | `false` |

205| `includeGitInstructions` | Включить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git в системный запрос Claude (по умолчанию: `true`). Установите на `false`, чтобы удалить оба, например при использовании собственных skills рабочего процесса git. Переменная окружения `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` имеет приоритет над этим параметром при установке | `false` |207| `includeGitInstructions` | Включить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git в системный запрос Claude (по умолчанию: `true`). Установите на `false`, чтобы удалить оба, например при использовании собственных skills рабочего процесса git. Переменная окружения `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` имеет приоритет над этим параметром при установке | `false` |

206| `language` | Настройте предпочитаемый язык ответов Claude (например, `"japanese"`, `"spanish"`, `"french"`). Claude будет отвечать на этом языке по умолчанию. Также устанавливает язык [голосового диктанта](/ru/voice-dictation#change-the-dictation-language) | `"japanese"` |208| `language` | Настройте предпочитаемый язык ответов Claude (например, `"japanese"`, `"spanish"`, `"french"`). Claude будет отвечать на этом языке по умолчанию. Также устанавливает язык [голосового диктанта](/ru/voice-dictation#change-the-dictation-language) | `"japanese"` |

207| `minimumVersion` | Предотвратить понижение версии автоматического обновления ниже определенной версии. Переключение с канала `"latest"` на `"stable"` через `/config` предлагает вам остаться на текущей версии или разрешить понижение. Выбор остаться устанавливает это значение. Также полезно в [управляемых параметрах](/ru/permissions#managed-settings) для закрепления организационного минимума | `"2.1.100"` |209| `minimumVersion` | Предотвратить понижение версии автоматического обновления ниже определенной версии. Переключение с канала `"latest"` на `"stable"` через `/config` предлагает вам остаться на текущей версии или разрешить понижение. Выбор остаться устанавливает это значение. Также полезно в [управляемых параметрах](/ru/permissions#managed-settings) для закрепления организационного минимума | `"2.1.100"` |

208| `model` | Переопределить модель по умолчанию для использования в Claude Code | `"claude-sonnet-4-6"` |210| `model` | Переопределить модель по умолчанию для использования в Claude Code. `--model` и [`ANTHROPIC_MODEL`](/ru/model-config#environment-variables) переопределяют это на один сеанс | `"claude-sonnet-4-6"` |

209| `modelOverrides` | Сопоставить ID моделей Anthropic с ID моделей, специфичными для поставщика, такими как ARN профилей вывода Bedrock. Каждая запись средства выбора модели использует свое сопоставленное значение при вызове API поставщика. См. [Переопределить ID моделей для каждой версии](/ru/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |211| `modelOverrides` | Сопоставить ID моделей Anthropic с ID моделей, специфичными для поставщика, такими как ARN профилей вывода Bedrock. Каждая запись средства выбора модели использует свое сопоставленное значение при вызове API поставщика. См. [Переопределить ID моделей для каждой версии](/ru/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

210| `otelHeadersHelper` | Скрипт для создания динамических заголовков OpenTelemetry. Запускается при запуске и периодически (см. [Динамические заголовки](/ru/monitoring-usage#dynamic-headers)) | `/bin/generate_otel_headers.sh` |212| `otelHeadersHelper` | Скрипт для создания динамических заголовков OpenTelemetry. Запускается при запуске и периодически. Установите интервал обновления с помощью [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/ru/env-vars). См. [Динамические заголовки](/ru/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |

211| `outputStyle` | Настройте стиль вывода для корректировки системного запроса. См. [документацию стилей вывода](/ru/output-styles) | `"Explanatory"` |213| `outputStyle` | Настройте стиль вывода для корректировки системного запроса. См. [документацию стилей вывода](/ru/output-styles) | `"Explanatory"` |

212| `permissions` | См. таблицу ниже для структуры разрешений. | |214| `permissions` | См. таблицу ниже для структуры разрешений. | |

213| `plansDirectory` | Настройте, где хранятся файлы плана. Путь относительно корня проекта. По умолчанию: `~/.claude/plans` | `"./plans"` |215| `plansDirectory` | Настройте, где хранятся файлы плана. Путь относительно корня проекта. По умолчанию: `~/.claude/plans` | `"./plans"` |


219| `showClearContextOnPlanAccept` | Показать опцию "очистить контекст" на экране принятия плана. По умолчанию: `false`. Установите на `true`, чтобы восстановить опцию | `true` |221| `showClearContextOnPlanAccept` | Показать опцию "очистить контекст" на экране принятия плана. По умолчанию: `false`. Установите на `true`, чтобы восстановить опцию | `true` |

220| `showThinkingSummaries` | Показать [расширенное мышление](/ru/model-config#extended-thinking) резюме в интерактивных сеансах. Когда не установлено или `false` (по умолчанию в интерактивном режиме), блоки мышления редактируются API и показываются как свернутая заглушка. Редактирование изменяет только то, что вы видите, а не то, что генерирует модель: чтобы снизить расходы на мышление, [снизьте бюджет или отключите мышление](/ru/model-config#extended-thinking) вместо этого. Неинтерактивный режим (`-p`) и вызывающие SDK всегда получают резюме независимо от этого параметра | `true` |222| `showThinkingSummaries` | Показать [расширенное мышление](/ru/model-config#extended-thinking) резюме в интерактивных сеансах. Когда не установлено или `false` (по умолчанию в интерактивном режиме), блоки мышления редактируются API и показываются как свернутая заглушка. Редактирование изменяет только то, что вы видите, а не то, что генерирует модель: чтобы снизить расходы на мышление, [снизьте бюджет или отключите мышление](/ru/model-config#extended-thinking) вместо этого. Неинтерактивный режим (`-p`) и вызывающие SDK всегда получают резюме независимо от этого параметра | `true` |

221| `showTurnDuration` | Показывать сообщения о продолжительности хода после ответов, например "Cooked for 1m 6s". По умолчанию: `true`. Появляется в `/config` как **Show turn duration** | `false` |223| `showTurnDuration` | Показывать сообщения о продолжительности хода после ответов, например "Cooked for 1m 6s". По умолчанию: `true`. Появляется в `/config` как **Show turn duration** | `false` |

224| `skillOverrides` | {/* min-version: 2.1.129 */}Переопределения видимости для каждого skill, ключ которых - имя skill. Значение - `"on"`, `"name-only"`, `"user-invocable-only"` или `"off"`. Позволяет скрыть или свернуть skill без редактирования его SKILL.md. Не применяется к plugin skills, которые управляются через `/plugin`. Меню `/skills` записывает эти значения в `.claude/settings.local.json`. См. [Переопределить видимость skill из параметров](/ru/skills#override-skill-visibility-from-settings). Требует Claude Code v2.1.129 или позже | `{"legacy-context": "name-only", "deploy": "off"}` |

222| `skipWebFetchPreflight` | Пропустить [проверку безопасности домена WebFetch](/ru/data-usage#webfetch-domain-safety-check), которая отправляет каждое запрашиваемое имя хоста на `api.anthropic.com` перед выборкой. Установите на `true` в окружениях, которые блокируют трафик к Anthropic, таких как развертывания Bedrock, Vertex AI или Foundry с ограничивающим исходящим трафиком. При пропуске WebFetch пытается любой URL без консультации со списком блокировок | `true` |225| `skipWebFetchPreflight` | Пропустить [проверку безопасности домена WebFetch](/ru/data-usage#webfetch-domain-safety-check), которая отправляет каждое запрашиваемое имя хоста на `api.anthropic.com` перед выборкой. Установите на `true` в окружениях, которые блокируют трафик к Anthropic, таких как развертывания Bedrock, Vertex AI или Foundry с ограничивающим исходящим трафиком. При пропуске WebFetch пытается любой URL без консультации со списком блокировок | `true` |

223| `spinnerTipsEnabled` | Показывать советы в спиннере, пока Claude работает. Установите на `false`, чтобы отключить советы (по умолчанию: `true`) | `false` |226| `spinnerTipsEnabled` | Показывать советы в спиннере, пока Claude работает. Установите на `false`, чтобы отключить советы (по умолчанию: `true`) | `false` |

224| `spinnerTipsOverride` | Переопределить советы спиннера пользовательскими строками. `tips`: массив строк советов. `excludeDefault`: если `true`, показывать только пользовательские советы; если `false` или отсутствует, пользовательские советы объединяются со встроенными советами | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |227| `spinnerTipsOverride` | Переопределить советы спиннера пользовательскими строками. `tips`: массив строк советов. `excludeDefault`: если `true`, показывать только пользовательские советы; если `false` или отсутствует, пользовательские советы объединяются со встроенными советами | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |


226| `sshConfigs` | SSH подключения для отображения в раскрывающемся списке окружения [Desktop](/ru/desktop#pre-configure-ssh-connections-for-your-team). Каждая запись требует `id`, `name` и `sshHost`; `sshPort`, `sshIdentityFile` и `startDirectory` являются необязательными. При установке в управляемых параметрах подключения доступны только для чтения для пользователей. Читается только из управляемых и пользовательских параметров | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |229| `sshConfigs` | SSH подключения для отображения в раскрывающемся списке окружения [Desktop](/ru/desktop#pre-configure-ssh-connections-for-your-team). Каждая запись требует `id`, `name` и `sshHost`; `sshPort`, `sshIdentityFile` и `startDirectory` являются необязательными. При установке в управляемых параметрах подключения доступны только для чтения для пользователей. Читается только из управляемых и пользовательских параметров | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |

227| `statusLine` | Настройте пользовательскую строку состояния для отображения контекста. См. [документацию `statusLine`](/ru/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |230| `statusLine` | Настройте пользовательскую строку состояния для отображения контекста. См. [документацию `statusLine`](/ru/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

228| `strictKnownMarketplaces` | (Только управляемые параметры) Список разрешений marketplaces plugins. Не определено = без ограничений, пустой массив = блокировка. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |231| `strictKnownMarketplaces` | (Только управляемые параметры) Список разрешений marketplaces plugins. Не определено = без ограничений, пустой массив = блокировка. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

229| `teammateMode` | Как отображаются товарищи по [команде агентов](/ru/agent-teams): `auto` (выбирает разделенные панели в tmux или iTerm2, в процессе в противном случае), `in-process` или `tmux`. См. [выбрать режим отображения](/ru/agent-teams#choose-a-display-mode) | `"in-process"` |232| `syntaxHighlightingDisabled` | Отключить подсветку синтаксиса в дифах, блоках кода и предпросмотрах файлов | `true` |

233| `teammateMode` | Как отображаются товарищи по [команде агентов](/ru/agent-teams): `auto` (выбирает разделенные панели в tmux или iTerm2, в процессе в противном случае), `in-process` или `tmux`. `--teammate-mode` переопределяет это на один сеанс. См. [выбрать режим отображения](/ru/agent-teams#choose-a-display-mode) | `"in-process"` |

230| `terminalProgressBarEnabled` | Показывать полосу прогресса терминала в поддерживаемых терминалах: ConEmu, Ghostty 1.2.0+ и iTerm2 3.6.6+. По умолчанию: `true`. Появляется в `/config` как **Terminal progress bar** | `false` |234| `terminalProgressBarEnabled` | Показывать полосу прогресса терминала в поддерживаемых терминалах: ConEmu, Ghostty 1.2.0+ и iTerm2 3.6.6+. По умолчанию: `true`. Появляется в `/config` как **Terminal progress bar** | `false` |

231| `tui` | Средство визуализации Terminal UI. Используйте `"fullscreen"` для безмерцающего [alt-screen renderer](/ru/fullscreen) с виртуализированной прокруткой. Используйте `"default"` для классического main-screen renderer. Установите через `/tui` | `"fullscreen"` |235| `tui` | Средство визуализации Terminal UI. Используйте `"fullscreen"` для безмерцающего [alt-screen renderer](/ru/fullscreen) с виртуализированной прокруткой. Используйте `"default"` для классического main-screen renderer. Установите через `/tui`. Вы также можете установить переменную окружения [`CLAUDE_CODE_NO_FLICKER`](/ru/env-vars) | `"fullscreen"` |

232| `useAutoModeDuringPlan` | Использует ли Plan Mode семантику автоматического режима, когда автоматический режим доступен. По умолчанию: `true`. Не читается из общих параметров проекта. Появляется в `/config` как "Use auto mode during plan" | `false` |236| `useAutoModeDuringPlan` | Использует ли Plan Mode семантику автоматического режима, когда автоматический режим доступен. По умолчанию: `true`. Не читается из общих параметров проекта. Появляется в `/config` как "Use auto mode during plan" | `false` |

233| `viewMode` | Режим просмотра стенограммы по умолчанию при запуске: `"default"`, `"verbose"` или `"focus"`. Переопределяет липкий выбор `/focus` при установке | `"verbose"` |237| `viewMode` | Режим просмотра стенограммы по умолчанию при запуске: `"default"`, `"verbose"` или `"focus"`. Переопределяет липкий выбор `/focus` при установке. Флаг `--verbose` переопределяет это на один сеанс | `"verbose"` |

234| `voice` | Параметры [голосового диктанта](/ru/voice-dictation): `enabled` включает диктант, `mode` выбирает `"hold"` или `"tap"`, и `autoSubmit` отправляет запрос при отпускании клавиши в режиме hold. Записывается автоматически при запуске `/voice`. Требует учетную запись Claude.ai | `{ "enabled": true, "mode": "tap" }` |238| `voice` | Параметры [голосового диктанта](/ru/voice-dictation): `enabled` включает диктант, `mode` выбирает `"hold"` или `"tap"`, и `autoSubmit` отправляет запрос при отпускании клавиши в режиме hold. Записывается автоматически при запуске `/voice`. Требует учетную запись Claude.ai | `{ "enabled": true, "mode": "tap" }` |

235| `voiceEnabled` | Устаревший псевдоним для `voice.enabled`. Предпочитайте объект `voice` | `true` |239| `voiceEnabled` | Устаревший псевдоним для `voice.enabled`. Предпочитайте объект `voice` | `true` |

236| `wslInheritsWindowsSettings` | (Только управляемые параметры Windows) Когда `true`, Claude Code на WSL читает управляемые параметры из цепочки политик Windows в дополнение к `/etc/claude-code`, с приоритетом источников Windows. Учитывается только при установке в ключе реестра HKLM или `C:\Program Files\ClaudeCode\managed-settings.json`, оба из которых требуют администратора Windows для записи. Чтобы политика HKCU также применялась на WSL, флаг должен быть дополнительно установлен в самом HKCU. Не влияет на нативный Windows | `true` |240| `wslInheritsWindowsSettings` | (Только управляемые параметры Windows) Когда `true`, Claude Code на WSL читает управляемые параметры из цепочки политик Windows в дополнение к `/etc/claude-code`, с приоритетом источников Windows. Учитывается только при установке в ключе реестра HKLM или `C:\Program Files\ClaudeCode\managed-settings.json`, оба из которых требуют администратора Windows для записи. Чтобы политика HKCU также применялась на WSL, флаг должен быть дополнительно установлен в самом HKCU. Не влияет на нативный Windows | `true` |


244</Note>248</Note>

245 249 

246| Ключ | Описание | Пример |250| Ключ | Описание | Пример |

247| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |251| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |

248| `autoConnectIde` | Автоматически подключаться к запущенной IDE при запуске Claude Code из внешнего терминала. По умолчанию: `false`. Появляется в `/config` как **Auto-connect to IDE (external terminal)** при запуске вне терминала VS Code или JetBrains | `true` |252| `autoConnectIde` | Автоматически подключаться к запущенной IDE при запуске Claude Code из внешнего терминала. По умолчанию: `false`. Появляется в `/config` как **Auto-connect to IDE (external terminal)** при запуске вне терминала VS Code или JetBrains. Переменная окружения [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/ru/env-vars) переопределяет это при установке | `true` |

249| `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` |253| `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` |

250| `externalEditorContext` | Добавить предыдущий ответ Claude как контекст с комментариями `#` при открытии внешнего редактора с помощью `Ctrl+G`. По умолчанию: `false`. Появляется в `/config` как **Show last response in external editor** | `true` |254| `externalEditorContext` | Добавить предыдущий ответ Claude как контекст с комментариями `#` при открытии внешнего редактора с помощью `Ctrl+G`. По умолчанию: `false`. Появляется в `/config` как **Show last response in external editor** | `true` |

251 255 


444 448 

445**Ограничить URL HTTP hooks:**449**Ограничить URL HTTP hooks:**

446 450 

447Ограничьте, на какие URL могут быть направлены HTTP hooks. Поддерживает `*` как подстановочный знак для сопоставления. Когда массив определен, HTTP hooks, направленные на несовпадающие URL-адреса, молча блокируются.451Ограничьте, на какие URL могут быть направлены HTTP hooks. Поддерживает `*` как подстановочный знак для сопоставления. Когда массив определен, HTTP hooks, направленные на несовпадающие URL-адреса, молча блокируются. Сопоставление имен хостов не чувствительно к регистру и игнорирует завершающую точку FQDN, соответствуя семантике DNS.

448 452 

449```json theme={null}453```json theme={null}

450{454{


472 * В пределах управляемого уровня приоритет: server-managed > политики MDM/OS-уровня > file-based (`managed-settings.d/*.json` + `managed-settings.json`) > реестр HKCU (только Windows). Используется только один управляемый источник; источники не объединяются в разных уровнях. В пределах file-based уровня, drop-in файлы и базовый файл объединяются вместе.476 * В пределах управляемого уровня приоритет: server-managed > политики MDM/OS-уровня > file-based (`managed-settings.d/*.json` + `managed-settings.json`) > реестр HKCU (только Windows). Используется только один управляемый источник; источники не объединяются в разных уровнях. В пределах file-based уровня, drop-in файлы и базовый файл объединяются вместе.

473 477 

4742. **Аргументы командной строки**4782. **Аргументы командной строки**

475 * Временные переопределения для конкретного сеанса479 * Временные переопределения для конкретного сеанса. JSON, переданный через `--settings <file-or-json>`, объединяется с параметрами на основе файлов, используя те же правила, что и другие уровни: ключ, установленный здесь, переопределяет тот же ключ в локальных, проектных или пользовательских параметрах, и пропуск ключа оставляет значение нижнего уровня на месте

476 480 

4773. **Локальные параметры проекта** (`.claude/settings.local.json`)4813. **Локальные параметры проекта** (`.claude/settings.local.json`)

478 * Личные параметры, специфичные для проекта482 * Личные параметры, специфичные для проекта

setup.md +7 −3

Details

175 175 

176## Обновление Claude Code176## Обновление Claude Code

177 177 

178Встроенные установки автоматически обновляются в фоновом режиме. Вы можете [настроить канал выпуска](#configure-release-channel) для управления тем, получаете ли вы обновления немедленно или по отложенному стабильному расписанию, или [отключить автоматические обновления](#disable-auto-updates) полностью. Установки Homebrew, WinGet и [менеджер пакетов Linux](#install-with-linux-package-managers) требуют ручного обновления.178Встроенные установки автоматически обновляются в фоновом режиме. Вы можете [настроить канал выпуска](#configure-release-channel) для управления тем, получаете ли вы обновления немедленно или по отложенному стабильному расписанию, или [отключить автоматические обновления](#disable-auto-updates) полностью. Установки Homebrew, WinGet и [менеджер пакетов Linux](#install-with-linux-package-managers) требуют ручного обновления по умолчанию.

179 179 

180### Автоматические обновления180### Автоматические обновления

181 181 

182Claude Code проверяет наличие обновлений при запуске и периодически во время работы. Обновления загружаются и устанавливаются в фоновом режиме, а затем вступают в силу при следующем запуске Claude Code.182Claude Code проверяет наличие обновлений при запуске и периодически во время работы. Обновления загружаются и устанавливаются в фоновом режиме, а затем вступают в силу при следующем запуске Claude Code.

183 183 

184<Note>184<Note>

185 Установки Homebrew, WinGet, apt, dnf и apk не обновляются автоматически. Для Homebrew выполните `brew upgrade claude-code` или `brew upgrade claude-code@latest`, в зависимости от того, какой cask вы установили. Для WinGet выполните `winget upgrade Anthropic.ClaudeCode`. Для менеджеров пакетов Linux см. команды обновления в разделе [Install with Linux package managers](#install-with-linux-package-managers).185 Установки Homebrew, WinGet, apt, dnf и apk не обновляются автоматически по умолчанию; см. ниже, чтобы согласиться для Homebrew и WinGet. Чтобы обновить Homebrew вручную, выполните `brew upgrade claude-code` или `brew upgrade claude-code@latest`, в зависимости от того, какой cask вы установили. Для WinGet выполните `winget upgrade Anthropic.ClaudeCode`. Для менеджеров пакетов Linux см. команды обновления в разделе [Install with Linux package managers](#install-with-linux-package-managers).

186 

187 Чтобы Claude Code выполнил команду обновления для вас на Homebrew или WinGet, установите [`CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE`](/ru/env-vars) на `1`. Claude Code затем выполняет обновление в фоновом режиме, когда доступна новая версия, и показывает приглашение перезагрузки при успехе. Обновление затрагивает только пакет Claude Code и не влияет на другое программное обеспечение, которое вы установили.

188 

189 На WinGet обновление может не удаться, пока Claude Code работает, потому что Windows блокирует исполняемый файл. В этом случае Claude Code показывает команду ручного обновления вместо этого. apt, dnf и apk продолжают требовать ручного обновления, потому что эти команды требуют повышенных привилегий.

186 190 

187 **Известная проблема:** Claude Code может уведомить вас об обновлениях до того, как новая версия будет доступна в этих менеджерах пакетов. Если обновление не удается, подождите и повторите попытку позже.191 **Известная проблема:** Claude Code может уведомить вас об обновлениях до того, как новая версия будет доступна в этих менеджерах пакетов. Если обновление не удается, подождите и повторите попытку позже.

188 192 


489 493 

490## Удаление Claude Code494## Удаление Claude Code

491 495 

492Чтобы удалить Claude Code, следуйте инструкциям для вашего метода установки.496Чтобы удалить Claude Code, следуйте инструкциям для вашего метода установки. Если `claude` все еще работает после этого, у вас, вероятно, есть вторая установка или оставшийся псевдоним оболочки из старого установщика. См. [Проверка конфликтующих установок](/ru/troubleshoot-install#check-for-conflicting-installations), чтобы найти и удалить его.

493 497 

494### Встроенная установка498### Встроенная установка

495 499 

skills.md +58 −25

Details

28 28 

29### Создайте свой первый skill29### Создайте свой первый skill

30 30 

31Этот пример создаёт skill, который учит Claude объяснять код, используя визуальные диаграммы и аналогии. Поскольку он использует frontmatter по умолчанию, Claude может загружать его автоматически, когда вы спрашиваете, как что-то работает, или вы можете вызвать его напрямую с помощью `/explain-code`.31Этот пример создаёт skill, который суммирует незафиксированные изменения в вашем git-репозитории и отмечает всё рискованное. Он загружает живой diff в подсказку перед тем, как Claude его прочитает, поэтому ответ основан на вашем фактическом рабочем дереве, а не на том, что Claude может угадать из открытых файлов. Claude загружает skill автоматически, когда вы спрашиваете об изменениях, или вы можете вызвать его напрямую с помощью `/summarize-changes`.

32 32 

33<Steps>33<Steps>

34 <Step title="Создайте каталог skill">34 <Step title="Создайте каталог skill">

35 Создайте каталог для skill в папке личных skills. Личные skills доступны во всех ваших проектах.35 Создайте каталог для skill в папке личных skills. Личные skills доступны во всех ваших проектах.

36 36 

37 ```bash theme={null}37 ```bash theme={null}

38 mkdir -p ~/.claude/skills/explain-code38 mkdir -p ~/.claude/skills/summarize-changes

39 ```39 ```

40 </Step>40 </Step>

41 41 

42 <Step title="Напишите SKILL.md">42 <Step title="Напишите SKILL.md">

43 Каждому skill нужен файл `SKILL.md` с двумя частями: YAML frontmatter (между маркерами `---`), который говорит Claude, когда использовать skill, и содержимое markdown с инструкциями, которые Claude следует при вызове skill. Имя каталога становится `/slash-command`, а `description` помогает Claude решить, когда загружать его автоматически.43 Каждому skill нужен файл `SKILL.md` с двумя частями: YAML frontmatter между маркерами `---`, который говорит Claude, когда использовать skill, и содержимое markdown с инструкциями, которые Claude следует при запуске skill. Имя каталога становится командой, которую вы вводите, а `description` помогает Claude решить, когда загружать skill автоматически.

44 44 

45 Создайте `~/.claude/skills/explain-code/SKILL.md`:45 Сохраните это в `~/.claude/skills/summarize-changes/SKILL.md`:

46 46 

47 ```yaml theme={null}47 ```yaml theme={null}

48 ---48 ---

49 description: Explains code with visual diagrams and analogies. Use when explaining how code works, teaching about a codebase, or when the user asks "how does this work?"49 description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.

50 ---50 ---

51 51 

52 When explaining code, always include:52 ## Current changes

53 53 

54 1. **Start with an analogy**: Compare the code to something from everyday life54 !`git diff HEAD`

55 2. **Draw a diagram**: Use ASCII art to show the flow, structure, or relationships

56 3. **Walk through the code**: Explain step-by-step what happens

57 4. **Highlight a gotcha**: What's a common mistake or misconception?

58 55 

59 Keep explanations conversational. For complex concepts, use multiple analogies.56 ## Instructions

57 

58 Summarize the changes above in two or three bullet points, then list any risks you notice such as missing error handling, hardcoded values, or tests that need updating. If the diff is empty, say there are no uncommitted changes.

60 ```59 ```

60 

61 Строка `` !`git diff HEAD` `` использует [динамическое внедрение контекста](#inject-dynamic-context): Claude Code запускает команду и заменяет строку её выходом перед тем, как Claude увидит содержимое skill, поэтому инструкции приходят с текущим diff уже встроенным.

61 </Step>62 </Step>

62 63 

63 <Step title="Протестируйте skill">64 <Step title="Протестируйте skill">

64 Вы можете протестировать его двумя способами:65 Откройте git-проект, внесите небольшое изменение в любой файл и запустите Claude Code, выполнив `claude`. Вы можете протестировать skill двумя способами.

65 66 

66 **Позвольте Claude вызвать его автоматически**, задав вопрос, который соответствует описанию:67 **Позвольте Claude вызвать его автоматически**, задав вопрос, который соответствует описанию:

67 68 

68 ```text theme={null}69 ```text theme={null}

69 How does this code work?70 What did I change?

70 ```71 ```

71 72 

72 **Или вызовите его напрямую** с именем skill:73 **Или вызовите его напрямую** с именем skill:

73 74 

74 ```text theme={null}75 ```text theme={null}

75 /explain-code src/auth/login.ts76 /summarize-changes

76 ```77 ```

77 78 

78 В любом случае Claude должен включить аналогию и ASCII диаграмму в своё объяснение.79 В любом случае Claude должен ответить с кратким резюме вашего редактирования и списком рисков.

79 </Step>80 </Step>

80</Steps>81</Steps>

81 82 


168 169 

169Ваш `SKILL.md` может содержать что угодно, но размышление о том, как вы хотите вызывать skill (вы, Claude или оба) и где вы хотите его запускать (встроенно или в subagent), помогает направить, что включить. Для сложных skills вы также можете [добавить вспомогательные файлы](#add-supporting-files), чтобы сохранить основной skill сосредоточенным.170Ваш `SKILL.md` может содержать что угодно, но размышление о том, как вы хотите вызывать skill (вы, Claude или оба) и где вы хотите его запускать (встроенно или в subagent), помогает направить, что включить. Для сложных skills вы также можете [добавить вспомогательные файлы](#add-supporting-files), чтобы сохранить основной skill сосредоточенным.

170 171 

172Сохраняйте само тело кратким. После загрузки skill его содержимое [остаётся в контексте на протяжении ходов](#skill-content-lifecycle), поэтому каждая строка — это повторяющаяся стоимость токенов. Указывайте, что делать, а не рассказывайте, как или почему, и применяйте тот же тест краткости, который вы бы применили к [содержимому CLAUDE.md](/ru/best-practices#write-an-effective-claude-md).

173 

171### Справочник frontmatter174### Справочник frontmatter

172 175 

173Помимо содержимого markdown, вы можете настроить поведение skill, используя поля YAML frontmatter между маркерами `---` в верхней части вашего файла `SKILL.md`:176Помимо содержимого markdown, вы можете настроить поведение skill, используя поля YAML frontmatter между маркерами `---` в верхней части вашего файла `SKILL.md`:


305 308 

306Поле `allowed-tools` предоставляет разрешение для перечисленных инструментов, пока skill активен, поэтому Claude может использовать их без запроса вашего одобрения. Это не ограничивает, какие инструменты доступны: каждый инструмент остаётся вызываемым, и ваши [параметры разрешений](/ru/permissions) по-прежнему управляют инструментами, которые не указаны.309Поле `allowed-tools` предоставляет разрешение для перечисленных инструментов, пока skill активен, поэтому Claude может использовать их без запроса вашего одобрения. Это не ограничивает, какие инструменты доступны: каждый инструмент остаётся вызываемым, и ваши [параметры разрешений](/ru/permissions) по-прежнему управляют инструментами, которые не указаны.

307 310 

311Для skills, проверенных в каталоге `.claude/skills/` проекта, `allowed-tools` вступает в силу после того, как вы примете диалог доверия рабочей области для этой папки, так же как правила разрешений в `.claude/settings.json`. Проверьте skills проекта перед доверием к репозиторию, так как skill может предоставить себе широкий доступ к инструментам.

312 

308Этот skill позволяет Claude запускать команды git без одобрения за использование, когда вы вызываете его:313Этот skill позволяет Claude запускать команды git без одобрения за использование, когда вы вызываете его:

309 314 

310```yaml theme={null}315```yaml theme={null}


416Чтобы отключить это поведение для skills и пользовательских команд из источников пользователя, проекта, плагина или [дополнительного каталога](#skills-from-additional-directories), установите `"disableSkillShellExecution": true` в [параметры](/ru/settings). Каждая команда заменяется на `[shell command execution disabled by policy]` вместо запуска. Встроенные и управляемые skills не затронуты. Этот параметр наиболее полезен в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить.421Чтобы отключить это поведение для skills и пользовательских команд из источников пользователя, проекта, плагина или [дополнительного каталога](#skills-from-additional-directories), установите `"disableSkillShellExecution": true` в [параметры](/ru/settings). Каждая команда заменяется на `[shell command execution disabled by policy]` вместо запуска. Встроенные и управляемые skills не затронуты. Этот параметр наиболее полезен в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить.

417 422 

418<Tip>423<Tip>

419 Чтобы включить [расширенное мышление](/ru/common-workflows#use-extended-thinking-thinking-mode) в skill, включите слово "ultrathink" где-нибудь в содержимо skill.424 Чтобы запросить более глубокое рассуждение при запуске skill, включите `ultrathink` где-нибудь в содержимое skill. См. [Используйте ultrathink для одноразового глубокого рассуждения](/ru/model-config#use-ultrathink-for-one-off-deep-reasoning).

420</Tip>425</Tip>

421 426 

422### Запустите skills в subagent427### Запустите skills в subagent


496 Поле `user-invocable` управляет только видимостью меню, а не доступом инструмента Skill. Используйте `disable-model-invocation: true`, чтобы заблокировать программный вызов.501 Поле `user-invocable` управляет только видимостью меню, а не доступом инструмента Skill. Используйте `disable-model-invocation: true`, чтобы заблокировать программный вызов.

497</Note>502</Note>

498 503 

504### Переопределите видимость skill из параметров

505 

506Параметр `skillOverrides` управляет видимостью skill из ваших [параметров](/ru/settings) вместо frontmatter самого skill. Используйте его для skills, чей SKILL.md вы не хотите редактировать, например для тех, которые проверены в общем репозитории проекта или предоставлены MCP сервером. Меню `/skills` пишет его для вас: выделите skill и нажмите `Space` для циклического переключения состояний, затем `Enter` для сохранения в `.claude/settings.local.json`.

507 

508Каждый ключ — это имя skill, и каждое значение — одно из четырёх состояний:

509 

510| Значение | Указано Claude | В меню `/` |

511| :---------------------- | :------------- | :--------- |

512| `"on"` | Имя и описание | Да |

513| `"name-only"` | Только имя | Да |

514| `"user-invocable-only"` | Скрыто | Да |

515| `"off"` | Скрыто | Скрыто |

516 

517Skill, отсутствующий в `skillOverrides`, рассматривается как `"on"`. Пример ниже сворачивает один skill до его имени и полностью отключает другой:

518 

519```json theme={null}

520{

521 "skillOverrides": {

522 "legacy-context": "name-only",

523 "deploy": "off"

524 }

525}

526```

527 

528Skills плагинов не затронуты `skillOverrides`. Управляйте ими через `/plugin` вместо этого.

529 

499## Делитесь skills530## Делитесь skills

500 531 

501Skills могут распространяться на разных уровнях в зависимости от вашей аудитории:532Skills могут распространяться на разных уровнях в зависимости от вашей аудитории:


516mkdir -p ~/.claude/skills/codebase-visualizer/scripts547mkdir -p ~/.claude/skills/codebase-visualizer/scripts

517```548```

518 549 

519Создайте `~/.claude/skills/codebase-visualizer/SKILL.md`. Описание говорит Claude, когда активировать этот Skill, а инструкции говорят Claude запустить поставляемый скрипт:550Сохраните это в `~/.claude/skills/codebase-visualizer/SKILL.md`. Описание говорит Claude, когда активировать этот Skill, а инструкции говорят Claude запустить поставляемый скрипт. Путь скрипта использует [`${CLAUDE_SKILL_DIR}`](#available-string-substitutions), поэтому он разрешается правильно независимо от того, установлен ли skill на личном, проектном или плагин-уровне:

520 551 

521````yaml theme={null}552````yaml theme={null}

522---553---

523name: codebase-visualizer554name: codebase-visualizer

524description: Generate an interactive collapsible tree visualization of your codebase. Use when exploring a new repo, understanding project structure, or identifying large files.555description: Generate an interactive collapsible tree visualization of your codebase. Use when exploring a new repo, understanding project structure, or identifying large files.

525allowed-tools: Bash(python *)556allowed-tools: Bash(python3 *)

526---557---

527 558 

528# Codebase Visualizer559# Codebase Visualizer


534Run the visualization script from your project root:565Run the visualization script from your project root:

535 566 

536```bash567```bash

537python ~/.claude/skills/codebase-visualizer/scripts/visualize.py .568python3 ${CLAUDE_SKILL_DIR}/scripts/visualize.py .

538```569```

539 570 

540This creates `codebase-map.html` in the current directory and opens it in your default browser.571This creates `codebase-map.html` in the current directory and opens it in your default browser.


547- **Directory totals**: Shows aggregate size of each folder578- **Directory totals**: Shows aggregate size of each folder

548````579````

549 580 

550Создайте `~/.claude/skills/codebase-visualizer/scripts/visualize.py`. Этот скрипт сканирует дерево каталогов и генерирует самодостаточный HTML файл с:581Сохраните это в `~/.claude/skills/codebase-visualizer/scripts/visualize.py`. Этот скрипт сканирует дерево каталогов и генерирует самодостаточный HTML файл с:

551 582 

552* **Боковой панелью сводки**, показывающей количество файлов, количество каталогов, общий размер и количество типов файлов583* **Боковой панелью сводки**, показывающей количество файлов, количество каталогов, общий размер и количество типов файлов

553* **Столбчатой диаграммой**, разбивающей кодовую базу по типу файла (топ 8 по размеру)584* **Столбчатой диаграммой**, разбивающей кодовую базу по типу файла (топ 8 по размеру)

554* **Свёртываемым деревом**, где вы можете развёртывать и свёртывать каталоги, с цветовыми индикаторами типов файлов585* **Свёртываемым деревом**, где вы можете развёртывать и свёртывать каталоги, с цветовыми индикаторами типов файлов

555 586 

556Скрипт требует Python, но использует только встроенные библиотеки, поэтому нет пакетов для установки:587Скрипт требует Python 3, но использует только встроенные библиотеки, поэтому нет пакетов для установки:

557 588 

558```python expandable theme={null}589```python expandable theme={null}

559#!/usr/bin/env python3590#!/usr/bin/env python3


562import json593import json

563import sys594import sys

564import webbrowser595import webbrowser

596from html import escape

565from pathlib import Path597from pathlib import Path

566from collections import Counter598from collections import Counter

567 599 


650 {lang_bars}682 {lang_bars}

651 </div>683 </div>

652 <div class="main">684 <div class="main">

653 <h1>📁 {data["name"]}</h1>685 <h1>📁 {escape(data["name"])}</h1>

654 <ul class="tree" id="root"></ul>686 <ul class="tree" id="root"></ul>

655 </div>687 </div>

656 </div>688 </div>


658 const data = {json.dumps(data)};690 const data = {json.dumps(data)};

659 const colors = {json.dumps(colors)};691 const colors = {json.dumps(colors)};

660 function fmt(b) {{ if (b < 1024) return b + ' B'; if (b < 1048576) return (b/1024).toFixed(1) + ' KB'; return (b/1048576).toFixed(1) + ' MB'; }}692 function fmt(b) {{ if (b < 1024) return b + ' B'; if (b < 1048576) return (b/1024).toFixed(1) + ' KB'; return (b/1048576).toFixed(1) + ' MB'; }}

693 function esc(s) {{ return s.replace(/[&<>"']/g, c => ({{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}}[c])); }}

661 function render(node, parent) {{694 function render(node, parent) {{

662 if (node.children) {{695 if (node.children) {{

663 const det = document.createElement('details');696 const det = document.createElement('details');

664 det.open = parent === document.getElementById('root');697 det.open = parent === document.getElementById('root');

665 det.innerHTML = `<summary><span class="folder">📁 ${{node.name}}</span><span class="size">${{fmt(node.size)}}</span></summary>`;698 det.innerHTML = `<summary><span class="folder">📁 ${{esc(node.name)}}</span><span class="size">${{fmt(node.size)}}</span></summary>`;

666 const ul = document.createElement('ul'); ul.className = 'tree';699 const ul = document.createElement('ul'); ul.className = 'tree';

667 node.children.sort((a,b) => (b.children?1:0)-(a.children?1:0) || a.name.localeCompare(b.name));700 node.children.sort((a,b) => (b.children?1:0)-(a.children?1:0) || a.name.localeCompare(b.name));

668 node.children.forEach(c => render(c, ul));701 node.children.forEach(c => render(c, ul));


670 const li = document.createElement('li'); li.appendChild(det); parent.appendChild(li);703 const li = document.createElement('li'); li.appendChild(det); parent.appendChild(li);

671 }} else {{704 }} else {{

672 const li = document.createElement('li'); li.className = 'file';705 const li = document.createElement('li'); li.className = 'file';

673 li.innerHTML = `<span class="dot" style="background:${{colors[node.ext]||'#6b7280'}}"></span>${{node.name}}<span class="size">${{fmt(node.size)}}</span>`;706 li.innerHTML = `<span class="dot" style="background:${{colors[node.ext]||'#6b7280'}}"></span>${{esc(node.name)}}<span class="size">${{fmt(node.size)}}</span>`;

674 parent.appendChild(li);707 parent.appendChild(li);

675 }}708 }}

676 }}709 }}


715 748 

716Описания skills загружаются в контекст, чтобы Claude знал, что доступно. Все имена skills всегда включены, но если у вас много skills, описания сокращаются, чтобы соответствовать бюджету символов, что может удалить ключевые слова, которые Claude нужны для совпадения с вашим запросом. Бюджет масштабируется динамически на 1% контекстного окна, с резервным значением 8 000 символов.749Описания skills загружаются в контекст, чтобы Claude знал, что доступно. Все имена skills всегда включены, но если у вас много skills, описания сокращаются, чтобы соответствовать бюджету символов, что может удалить ключевые слова, которые Claude нужны для совпадения с вашим запросом. Бюджет масштабируется динамически на 1% контекстного окна, с резервным значением 8 000 символов.

717 750 

718Чтобы повысить лимит, установите переменную окружения `SLASH_COMMAND_TOOL_CHAR_BUDGET`. Или обрежьте текст `description` и `when_to_use` в источнике: поместите ключевой вариант использования в начало, так как комбинированный текст каждой записи ограничен 1 536 символами независимо от бюджета.751Чтобы повысить лимит, установите переменную окружения `SLASH_COMMAND_TOOL_CHAR_BUDGET`. Чтобы освободить бюджет для других skills, установите записи с низким приоритетом на `"name-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), чтобы они отображались без описания. Вы также можете обрезать текст `description` и `when_to_use` в источнике: поместите ключевой вариант использования в начало, так как комбинированный текст каждой записи ограничен 1 536 символами независимо от бюджета.

719 752 

720## Связанные ресурсы753## Связанные ресурсы

721 754 

statusline.md +10 −11

Details

134 134 

135**Когда это обновляется**135**Когда это обновляется**

136 136 

137Ваш скрипт запускается после каждого нового сообщения ассистента, когда изменяется режим разрешений или когда переключается режим vim. Обновления дебаунсятся на 300 мс, что означает, что быстрые изменения объединяются вместе и ваш скрипт запускается один раз, когда всё стабилизируется. Если новое обновление срабатывает, пока ваш скрипт всё ещё работает, выполнение в полёте отменяется. Если вы отредактируете свой скрипт, изменения не появятся до вашего следующего взаимодействия с Claude Code, которое срабатывает обновление.137Ваш скрипт запускается после каждого нового сообщения ассистента, после завершения `/compact`, когда изменяется режим разрешений или когда переключается режим vim. Обновления дебаунсятся на 300 мс, что означает, что быстрые изменения объединяются вместе и ваш скрипт запускается один раз, когда всё стабилизируется. Если новое обновление срабатывает, пока ваш скрипт всё ещё работает, выполнение в полёте отменяется. Если вы отредактируете свой скрипт, изменения не появятся до вашего следующего взаимодействия с Claude Code, которое срабатывает обновление.

138 138 

139Эти триггеры могут затихнуть, когда основной сеанс неактивен, например, пока координатор ждёт фоновых подагентов. Чтобы сохранить текущими сегменты на основе времени или из внешних источников во время периодов неактивности, установите [`refreshInterval`](#manually-configure-a-status-line) для также повторного запуска команды на фиксированный таймер.139Эти триггеры могут затихнуть, когда основной сеанс неактивен, например, пока координатор ждёт фоновых подагентов. Чтобы сохранить текущими сегменты на основе времени или из внешних источников во время периодов неактивности, установите [`refreshInterval`](#manually-configure-a-status-line) для также повторного запуска команды на фиксированный таймер.

140 140 


161| `cost.total_duration_ms` | Общее реальное время с момента начала сеанса в миллисекундах |161| `cost.total_duration_ms` | Общее реальное время с момента начала сеанса в миллисекундах |

162| `cost.total_api_duration_ms` | Общее время, потраченное на ожидание ответов API в миллисекундах |162| `cost.total_api_duration_ms` | Общее время, потраченное на ожидание ответов API в миллисекундах |

163| `cost.total_lines_added`, `cost.total_lines_removed` | Строки кода, которые были изменены |163| `cost.total_lines_added`, `cost.total_lines_removed` | Строки кода, которые были изменены |

164| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Совокупные подсчёты токенов во всём сеансе |164| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Количество токенов, находящихся в контекстном окне, из последнего ответа API. Входные данные включают чтение и запись кэша. До версии 2.1.132 это были совокупные итоги сеанса |

165| `context_window.context_window_size` | Максимальный размер контекстного окна в токенах. По умолчанию 200000 или 1000000 для моделей с расширенным контекстом. |165| `context_window.context_window_size` | Максимальный размер контекстного окна в токенах. По умолчанию 200000 или 1000000 для моделей с расширенным контекстом. |

166| `context_window.used_percentage` | Предварительно рассчитанный процент использованного контекстного окна |166| `context_window.used_percentage` | Предварительно рассчитанный процент использованного контекстного окна |

167| `context_window.remaining_percentage` | Предварительно рассчитанный процент оставшегося контекстного окна |167| `context_window.remaining_percentage` | Предварительно рассчитанный процент оставшегося контекстного окна |


215 "total_lines_removed": 23215 "total_lines_removed": 23

216 },216 },

217 "context_window": {217 "context_window": {

218 "total_input_tokens": 15234,218 "total_input_tokens": 15500,

219 "total_output_tokens": 4521,219 "total_output_tokens": 1200,

220 "context_window_size": 200000,220 "context_window_size": 200000,

221 "used_percentage": 8,221 "used_percentage": 8,

222 "remaining_percentage": 92,222 "remaining_percentage": 92,


272 272 

273 **Поля, которые могут быть `null`**:273 **Поля, которые могут быть `null`**:

274 274 

275 * `context_window.current_usage`: `null` перед первым вызовом API в сеансе275 * `context_window.current_usage`: `null` перед первым вызовом API в сеансе и снова после `/compact` до следующего вызова API, который его переполнит

276 * `context_window.used_percentage`, `context_window.remaining_percentage`: могут быть `null` в начале сеанса276 * `context_window.used_percentage`, `context_window.remaining_percentage`: могут быть `null` в начале сеанса

277 277 

278 Обрабатывайте отсутствующие поля с условным доступом и нулевые значения с резервными значениями по умолчанию в ваших скриптах.278 Обрабатывайте отсутствующие поля с условным доступом и нулевые значения с резервными значениями по умолчанию в ваших скриптах.


280 280 

281### Поля контекстного окна281### Поля контекстного окна

282 282 

283Объект `context_window` предоставляет два способа отслеживания использования контекста:283Объект `context_window` описывает живое контекстное окно из последнего ответа API. Начиная с версии 2.1.132, `total_input_tokens` и `total_output_tokens` отражают текущее использование контекста, а не совокупные итоги сеанса.

284 284 

285* **Совокупные итоги** (`total_input_tokens`, `total_output_tokens`): сумма всех токенов во всём сеансе, полезна для отслеживания общего потребления285* **Совокупные итоги** (`total_input_tokens`, `total_output_tokens`): токены, находящиеся в контекстном окне. `total_input_tokens` — это сумма `input_tokens`, `cache_creation_input_tokens` и `cache_read_input_tokens`; `total_output_tokens` — это выходные токены из последнего ответа. Оба равны `0` перед первым ответом API.

286* **Текущее использование** (`current_usage`): подсчёты токенов из последнего вызова API, используйте это для точного процента контекста, так как это отражает фактическое состояние контекста286* **Использование по компонентам** (`current_usage`): те же подсчёты токенов, разбитые по категориям. Используйте это, когда вам нужны попадания в кэш отдельно от свежего входа.

287 287 

288Объект `current_usage` содержит:288Объект `current_usage` содержит:

289 289 


296 296 

297Если вы рассчитываете процент контекста вручную из `current_usage`, используйте ту же формулу только для входных данных, чтобы соответствовать `used_percentage`.297Если вы рассчитываете процент контекста вручную из `current_usage`, используйте ту же формулу только для входных данных, чтобы соответствовать `used_percentage`.

298 298 

299Объект `current_usage` равен `null` перед первым вызовом API в сеансе.299Объект `current_usage` равен `null` перед первым вызовом API в сеансе и снова сразу после `/compact` до следующего вызова API, который его переполнит.

300 300 

301## Примеры301## Примеры

302 302 


1011 1011 

1012**Процент контекста показывает неожиданные значения**1012**Процент контекста показывает неожиданные значения**

1013 1013 

1014* Используйте `used_percentage` для точного состояния контекста вместо совокупных итогов1014* Используйте `used_percentage` для простейшего точного состояния контекста

1015* `total_input_tokens` и `total_output_tokens` накапливаются во всём сеансе и могут превышать размер контекстного окна

1016* Процент контекста может отличаться от вывода `/context` из-за времени расчёта каждого1015* Процент контекста может отличаться от вывода `/context` из-за времени расчёта каждого

1017 1016 

1018**Ссылки OSC 8 не кликабельны**1017**Ссылки OSC 8 не кликабельны**

Details

24В большинстве терминалов вы также можете нажать Shift+Enter, но поддержка варьируется в зависимости от эмулятора терминала:24В большинстве терминалов вы также можете нажать Shift+Enter, но поддержка варьируется в зависимости от эмулятора терминала:

25 25 

26| Терминал | Shift+Enter для разрыва строки |26| Терминал | Shift+Enter для разрыва строки |

27| :---------------------------------------------------------------------------------- | :------------------------------------------------- |27| :---------------------------------------------------------------------- | :------------------------------------------------- |

28| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal | Работает без настройки |28| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Работает без настройки |

29| VS Code, Cursor, Windsurf, Alacritty, Zed | Запустите `/terminal-setup` один раз |29| VS Code, Cursor, Windsurf, Alacritty, Zed | Запустите `/terminal-setup` один раз |

30| Windows Terminal, gnome-terminal, JetBrains IDEs такие как PyCharm и Android Studio | Недоступно; используйте Ctrl+J или `\` затем Enter |30| gnome-terminal, JetBrains IDEs такие как PyCharm и Android Studio | Недоступно; используйте Ctrl+J или `\` затем Enter |

31 31 

32Для VS Code, Cursor, Windsurf, Alacritty и Zed, `/terminal-setup` записывает Shift+Enter и другие сочетания клавиш в файл конфигурации терминала. В VS Code, Cursor и Windsurf он также устанавливает `terminal.integrated.mouseWheelScrollSensitivity` в параметрах редактора для более плавной прокрутки в [полноэкранном режиме](/ru/fullscreen). Существующие привязки и параметры остаются на месте; если вы видите сообщение, такое как `VSCode terminal Shift+Enter key binding already configured`, никаких изменений не было сделано. Запустите `/terminal-setup` непосредственно в хост-терминале, а не внутри tmux или screen, так как ему нужно записать в конфигурацию хост-терминала.32Для VS Code, Cursor, Windsurf, Alacritty и Zed, `/terminal-setup` записывает Shift+Enter и другие сочетания клавиш в файл конфигурации терминала. В VS Code, Cursor и Windsurf он также устанавливает `terminal.integrated.mouseWheelScrollSensitivity` в параметрах редактора для более плавной прокрутки в [полноэкранном режиме](/ru/fullscreen). Существующие привязки и параметры остаются на месте; если вы видите сообщение, такое как `VSCode terminal Shift+Enter key binding already configured`, никаких изменений не было сделано. Запустите `/terminal-setup` непосредственно в хост-терминале, а не внутри tmux или screen, так как ему нужно записать в конфигурацию хост-терминала.

33 33