SpyBara
Go Premium

Documentation 2026-05-14 17:02 UTC to 2026-05-15 22:58 UTC

18 files changed +510 −39. 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
Details

46 46 

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

48 import asyncio48 import asyncio

49 from claude_agent_sdk import query49 from claude_agent_sdk import query, ClaudeAgentOptions

50 50 

51 51 

52 async def main():52 async def main():

53 async for message in query(53 async for message in query(

54 prompt="Hello",54 prompt="Hello",

55 options={55 options=ClaudeAgentOptions(

56 "plugins": [56 plugins=[

57 {"type": "local", "path": "./my-plugin"},57 {"type": "local", "path": "./my-plugin"},

58 {"type": "local", "path": "/absolute/path/to/another-plugin"},58 {"type": "local", "path": "/absolute/path/to/another-plugin"},

59 ]59 ]

60 },60 ),

61 ):61 ):

62 # Plugin commands, agents, and other features are now available62 # Plugin commands, agents, and other features are now available

63 pass63 pass


106 106 

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

108 import asyncio108 import asyncio

109 from claude_agent_sdk import query109 from claude_agent_sdk import query, ClaudeAgentOptions, SystemMessage

110 110 

111 111 

112 async def main():112 async def main():

113 async for message in query(113 async for message in query(

114 prompt="Hello", options={"plugins": [{"type": "local", "path": "./my-plugin"}]}114 prompt="Hello",

115 options=ClaudeAgentOptions(

116 plugins=[{"type": "local", "path": "./my-plugin"}]

117 ),

115 ):118 ):

116 if message.type == "system" and message.subtype == "init":119 if isinstance(message, SystemMessage) and message.subtype == "init":

117 # Check loaded plugins120 # Check loaded plugins

118 print("Plugins:", message.data.get("plugins"))121 print("Plugins:", message.data.get("plugins"))

119 # Example: [{"name": "my-plugin", "path": "./my-plugin"}]122 # Example: [{"name": "my-plugin", "path": "./my-plugin"}]


151 154 

152 ```python Python theme={null}155 ```python Python theme={null}

153 import asyncio156 import asyncio

154 from claude_agent_sdk import query, AssistantMessage, TextBlock157 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, TextBlock

155 158 

156 159 

157 async def main():160 async def main():

158 # Load a plugin with a custom /greet skill161 # Load a plugin with a custom /greet skill

159 async for message in query(162 async for message in query(

160 prompt="/demo-plugin:greet", # Use plugin skill with namespace163 prompt="/demo-plugin:greet", # Use plugin skill with namespace

161 options={"plugins": [{"type": "local", "path": "./plugins/demo-plugin"}]},164 options=ClaudeAgentOptions(

165 plugins=[{"type": "local", "path": "./plugins/demo-plugin"}]

166 ),

162 ):167 ):

163 # Claude executes the custom greeting skill from the plugin168 # Claude executes the custom greeting skill from the plugin

164 if isinstance(message, AssistantMessage):169 if isinstance(message, AssistantMessage):


219 from claude_agent_sdk import (224 from claude_agent_sdk import (

220 AssistantMessage,225 AssistantMessage,

221 ClaudeAgentOptions,226 ClaudeAgentOptions,

227 SystemMessage,

222 TextBlock,228 TextBlock,

223 query,229 query,

224 )230 )


238 async for message in query(244 async for message in query(

239 prompt="What custom commands do you have available?", options=options245 prompt="What custom commands do you have available?", options=options

240 ):246 ):

241 if message.type == "system" and message.subtype == "init":247 if isinstance(message, SystemMessage) and message.subtype == "init":

242 print(f"Loaded plugins: {message.data.get('plugins')}")248 print(f"Loaded plugins: {message.data.get('plugins')}")

243 print(f"Available commands: {message.data.get('slash_commands')}")249 print(f"Available commands: {message.data.get('slash_commands')}")

244 250 

Details

51 ```typescript TypeScript theme={null}51 ```typescript TypeScript theme={null}

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

53 53 

54 // Send a slash command54 // Enviar um slash command

55 for await (const message of query({55 for await (const message of query({

56 prompt: "/compact",56 prompt: "/compact",

57 options: { maxTurns: 1 }57 options: { maxTurns: 1 }

58 })) {58 })) {

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

60 console.log("Command executed:", message.result);60 console.log("Command executed:", message.result);

61 }61 }

62 }62 }


68 68 

69 69 

70 async def main():70 async def main():

71 # Send a slash command71 # Enviar um slash command

72 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):72 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):

73 if isinstance(message, ResultMessage):73 if isinstance(message, ResultMessage):

74 print("Command executed:", message.result)74 print("Command executed:", message.result)


261 options: { maxTurns: 5 }261 options: { maxTurns: 5 }

262 })) {262 })) {

263 // Command will process with $1="123" and $2="high"263 // Command will process with $1="123" and $2="high"

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

265 console.log("Issue fixed:", message.result);265 console.log("Issue fixed:", message.result);

266 }266 }

267 }267 }

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# Streaming Input

6 

7> Compreendendo os dois modos de entrada para Claude Agent SDK e quando usar cada um

8 

9## Visão Geral

10 

11O Claude Agent SDK suporta dois modos de entrada distintos para interagir com agentes:

12 

13* **Modo Streaming Input** (Padrão e Recomendado) - Uma sessão persistente e interativa

14* **Single Message Input** - Consultas únicas que usam estado de sessão e retomada

15 

16Este guia explica as diferenças, benefícios e casos de uso para cada modo para ajudá-lo a escolher a abordagem correta para sua aplicação.

17 

18## Modo Streaming Input (Recomendado)

19 

20O modo streaming input é a forma **preferida** de usar o Claude Agent SDK. Ele fornece acesso completo aos recursos do agente e permite experiências ricas e interativas.

21 

22Ele permite que o agente funcione como um processo de longa duração que recebe entrada do usuário, lida com interrupções, exibe solicitações de permissão e gerencia a sessão.

23 

24### Como Funciona

25 

26```mermaid theme={null}

27sequenceDiagram

28 participant App as Your Application

29 participant Agent as Claude Agent

30 participant Tools as Tools/Hooks

31 participant FS as Environment/<br/>File System

32 

33 App->>Agent: Initialize with AsyncGenerator

34 activate Agent

35 

36 App->>Agent: Yield Message 1

37 Agent->>Tools: Execute tools

38 Tools->>FS: Read files

39 FS-->>Tools: File contents

40 Tools->>FS: Write/Edit files

41 FS-->>Tools: Success/Error

42 Agent-->>App: Stream partial response

43 Agent-->>App: Stream more content...

44 Agent->>App: Complete Message 1

45 

46 App->>Agent: Yield Message 2 + Image

47 Agent->>Tools: Process image & execute

48 Tools->>FS: Access filesystem

49 FS-->>Tools: Operation results

50 Agent-->>App: Stream response 2

51 

52 App->>Agent: Queue Message 3

53 App->>Agent: Interrupt/Cancel

54 Agent->>App: Handle interruption

55 

56 Note over App,Agent: Session stays alive

57 Note over Tools,FS: Persistent file system<br/>state maintained

58 

59 deactivate Agent

60```

61 

62### Benefícios

63 

64<CardGroup cols={2}>

65 <Card title="Uploads de Imagens" icon="image">

66 Anexe imagens diretamente às mensagens para análise e compreensão visual

67 </Card>

68 

69 <Card title="Mensagens Enfileiradas" icon="stack">

70 Envie múltiplas mensagens que processam sequencialmente, com capacidade de interrupção

71 </Card>

72 

73 <Card title="Integração de Ferramentas" icon="wrench">

74 Acesso completo a todas as ferramentas e servidores MCP personalizados durante a sessão

75 </Card>

76 

77 <Card title="Suporte a Hooks" icon="link">

78 Use hooks de ciclo de vida para personalizar o comportamento em vários pontos

79 </Card>

80 

81 <Card title="Feedback em Tempo Real" icon="lightning">

82 Veja as respostas conforme são geradas, não apenas os resultados finais

83 </Card>

84 

85 <Card title="Persistência de Contexto" icon="database">

86 Mantenha o contexto da conversa em múltiplos turnos naturalmente

87 </Card>

88</CardGroup>

89 

90### Exemplo de Implementação

91 

92<CodeGroup>

93 ```typescript TypeScript theme={null}

94 import { query, type SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";

95 import { readFile } from "fs/promises";

96 

97 async function* generateMessages(): AsyncGenerator<SDKUserMessage> {

98 // First message

99 yield {

100 type: "user",

101 message: {

102 role: "user",

103 content: "Analyze this codebase for security issues"

104 },

105 parent_tool_use_id: null

106 };

107 

108 // Wait for conditions or user input

109 await new Promise((resolve) => setTimeout(resolve, 2000));

110 

111 // Follow-up with image

112 yield {

113 type: "user",

114 message: {

115 role: "user",

116 content: [

117 {

118 type: "text",

119 text: "Review this architecture diagram"

120 },

121 {

122 type: "image",

123 source: {

124 type: "base64",

125 media_type: "image/png",

126 data: await readFile("diagram.png", "base64")

127 }

128 }

129 ]

130 },

131 parent_tool_use_id: null

132 };

133 }

134 

135 // Process streaming responses

136 for await (const message of query({

137 prompt: generateMessages(),

138 options: {

139 maxTurns: 10,

140 allowedTools: ["Read", "Grep"]

141 }

142 })) {

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

144 console.log(message.result);

145 }

146 }

147 ```

148 

149 ```python Python theme={null}

150 from claude_agent_sdk import (

151 ClaudeSDKClient,

152 ClaudeAgentOptions,

153 AssistantMessage,

154 TextBlock,

155 )

156 import asyncio

157 import base64

158 

159 

160 async def streaming_analysis():

161 async def message_generator():

162 # First message

163 yield {

164 "type": "user",

165 "message": {

166 "role": "user",

167 "content": "Analyze this codebase for security issues",

168 },

169 }

170 

171 # Wait for conditions

172 await asyncio.sleep(2)

173 

174 # Follow-up with image

175 with open("diagram.png", "rb") as f:

176 image_data = base64.b64encode(f.read()).decode()

177 

178 yield {

179 "type": "user",

180 "message": {

181 "role": "user",

182 "content": [

183 {"type": "text", "text": "Review this architecture diagram"},

184 {

185 "type": "image",

186 "source": {

187 "type": "base64",

188 "media_type": "image/png",

189 "data": image_data,

190 },

191 },

192 ],

193 },

194 }

195 

196 # Use ClaudeSDKClient for streaming input

197 options = ClaudeAgentOptions(max_turns=10, allowed_tools=["Read", "Grep"])

198 

199 async with ClaudeSDKClient(options) as client:

200 # Send streaming input

201 await client.query(message_generator())

202 

203 # Process responses

204 async for message in client.receive_response():

205 if isinstance(message, AssistantMessage):

206 for block in message.content:

207 if isinstance(block, TextBlock):

208 print(block.text)

209 

210 

211 asyncio.run(streaming_analysis())

212 ```

213</CodeGroup>

214 

215## Single Message Input

216 

217Single message input é mais simples, mas mais limitado.

218 

219### Quando Usar Single Message Input

220 

221Use single message input quando:

222 

223* Você precisa de uma resposta única

224* Você não precisa de anexos de imagens, hooks, etc.

225* Você precisa operar em um ambiente sem estado, como uma função lambda

226 

227### Limitações

228 

229<Warning>

230 O modo single message input **não** suporta:

231 

232 * Anexos de imagens diretos em mensagens

233 * Enfileiramento dinâmico de mensagens

234 * Interrupção em tempo real

235 * Integração de hooks

236 * Conversas naturais com múltiplos turnos

237</Warning>

238 

239### Exemplo de Implementação

240 

241<CodeGroup>

242 ```typescript TypeScript theme={null}

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

244 

245 // Simple one-shot query

246 for await (const message of query({

247 prompt: "Explain the authentication flow",

248 options: {

249 maxTurns: 1,

250 allowedTools: ["Read", "Grep"]

251 }

252 })) {

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

254 console.log(message.result);

255 }

256 }

257 

258 // Continue conversation with session management

259 for await (const message of query({

260 prompt: "Now explain the authorization process",

261 options: {

262 continue: true,

263 maxTurns: 1

264 }

265 })) {

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

267 console.log(message.result);

268 }

269 }

270 ```

271 

272 ```python Python theme={null}

273 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

274 import asyncio

275 

276 

277 async def single_message_example():

278 # Simple one-shot query using query() function

279 async for message in query(

280 prompt="Explain the authentication flow",

281 options=ClaudeAgentOptions(max_turns=1, allowed_tools=["Read", "Grep"]),

282 ):

283 if isinstance(message, ResultMessage):

284 print(message.result)

285 

286 # Continue conversation with session management

287 async for message in query(

288 prompt="Now explain the authorization process",

289 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

290 ):

291 if isinstance(message, ResultMessage):

292 print(message.result)

293 

294 

295 asyncio.run(single_message_example())

296 ```

297</CodeGroup>

Details

313<CodeGroup>313<CodeGroup>

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

315 import asyncio315 import asyncio

316 from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition316 from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition, ToolUseBlock

317 317 

318 318 

319 async def main():319 async def main():


334 # versions emitted "Task", current versions emit "Agent".334 # versions emitted "Task", current versions emit "Agent".

335 if hasattr(message, "content") and message.content:335 if hasattr(message, "content") and message.content:

336 for block in message.content:336 for block in message.content:

337 if getattr(block, "type", None) == "tool_use" and block.name in (337 if isinstance(block, ToolUseBlock) and block.name in (

338 "Task",338 "Task",

339 "Agent",339 "Agent",

340 ):340 ):


414 // Helper to extract agentId from message content414 // Helper to extract agentId from message content

415 // Stringify to avoid traversing different block types (TextBlock, ToolResultBlock, etc.)415 // Stringify to avoid traversing different block types (TextBlock, ToolResultBlock, etc.)

416 function extractAgentId(message: SDKMessage): string | undefined {416 function extractAgentId(message: SDKMessage): string | undefined {

417 if (!("message" in message)) return undefined;417 if (message.type !== "assistant" && message.type !== "user") return undefined;

418 // Stringify the content so we can search it without traversing nested blocks418 // Stringify the content so we can search it without traversing nested blocks

419 const content = JSON.stringify(message.message.content);419 const content = JSON.stringify(message.message.content);

420 const match = content.match(/agentId:\s*([a-f0-9-]+)/);420 const match = content.match(/agentId:\s*([a-f0-9-]+)/);

Details

948type SDKUserMessage = {948type SDKUserMessage = {

949 type: "user";949 type: "user";

950 uuid?: UUID;950 uuid?: UUID;

951 session_id: string;951 session_id?: string;

952 message: MessageParam; // Do SDK Anthropic952 message: MessageParam; // Do SDK Anthropic

953 parent_tool_use_id: string | null;953 parent_tool_use_id: string | null;

954 isSynthetic?: boolean;954 isSynthetic?: boolean;

agent-view.md +6 −0

Details

265claude --agent code-reviewer --bg "address review comments on PR 1234"265claude --agent code-reviewer --bg "address review comments on PR 1234"

266```266```

267 267 

268Passe `--name` para definir o nome de exibição da sessão em agent view em vez do gerado automaticamente:

269 

270```bash theme={null}

271claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

272```

273 

268Após colocar em background, Claude imprime o ID curto da sessão e os comandos para gerenciá-la:274Após colocar em background, Claude imprime o ID curto da sessão e os comandos para gerenciá-la:

269 275 

270```text theme={null}276```text theme={null}

Details

211export CLAUDE_CODE_USE_BEDROCK=1211export CLAUDE_CODE_USE_BEDROCK=1

212export AWS_REGION=us-east-1 # ou sua região preferida212export AWS_REGION=us-east-1 # ou sua região preferida

213 213 

214# Opcional: Substituir a região para o modelo pequeno/rápido (Haiku).214# Opcional: Substituir a região AWS para o modelo pequeno/rápido (Bedrock e Mantle).

215# Também se aplica ao Bedrock Mantle.215# No Bedrock, não tem efeito sem ANTHROPIC_DEFAULT_HAIKU_MODEL

216# ou o ANTHROPIC_SMALL_FAST_MODEL definido (descontinuado).

216export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2217export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2

217 218 

218# Opcional: Substituir a URL do endpoint Bedrock para endpoints personalizados ou gateways219# Opcional: Substituir a URL do endpoint Bedrock para endpoints personalizados ou gateways


248| Tipo de modelo | Valor padrão |249| Tipo de modelo | Valor padrão |

249| :-------------------- | :--------------------------------------------- |250| :-------------------- | :--------------------------------------------- |

250| Modelo primário | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |251| Modelo primário | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |

251| Modelo pequeno/rápido | `us.anthropic.claude-haiku-4-5-20251001-v1:0` |252| Modelo pequeno/rápido | Mesmo que o modelo primário |

253 

254Tarefas em segundo plano, como geração de título de sessão, usam o modelo pequeno/rápido, normalmente um modelo da classe Haiku. No Bedrock, Claude Code padroniza isso para o modelo primário porque Haiku pode não estar habilitado em todas as contas ou regiões. Para usar Haiku para tarefas em segundo plano, defina `ANTHROPIC_DEFAULT_HAIKU_MODEL` para um ID de modelo que está disponível em sua conta.

252 255 

253Para personalizar modelos ainda mais, use um destes métodos:256Para personalizar modelos ainda mais, use um destes métodos:

254 257 

Details

1495Arquivos nos caminhos abaixo são deletados na inicialização uma vez que têm mais de [`cleanupPeriodDays`](/pt/settings#available-settings). O padrão é 30 dias.1495Arquivos nos caminhos abaixo são deletados na inicialização uma vez que têm mais de [`cleanupPeriodDays`](/pt/settings#available-settings). O padrão é 30 dias.

1496 1496 

1497| Caminho sob `~/.claude/` | Conteúdo |1497| Caminho sob `~/.claude/` | Conteúdo |

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

1499| `projects/<project>/<session>.jsonl` | Transcrição de conversa completa: cada mensagem, chamada de ferramenta e resultado de ferramenta |1499| `projects/<project>/<session>.jsonl` | Transcrição de conversa completa: cada mensagem, chamada de ferramenta e resultado de ferramenta |

1500| `projects/<project>/<session>/subagents/` | Transcrições de conversa de [subagent](/pt/sub-agents), removidas com a transcrição de sessão pai quando envelhecem |1500| `projects/<project>/<session>/subagents/` | Transcrições de conversa de [subagent](/pt/sub-agents), removidas com a transcrição de sessão pai quando envelhecem |

1501| `projects/<project>/<session>/tool-results/` | Grandes saídas de ferramentas derramadas em arquivos separados |1501| `projects/<project>/<session>/tool-results/` | Grandes saídas de ferramentas derramadas em arquivos separados |


1507| `tasks/` | Listas de tarefas por sessão escritas pelas ferramentas de tarefa |1507| `tasks/` | Listas de tarefas por sessão escritas pelas ferramentas de tarefa |

1508| `shell-snapshots/` | Ambiente shell capturado usado pela ferramenta Bash. Removido na saída limpa. A limpeza remove qualquer um deixado após um crash. |1508| `shell-snapshots/` | Ambiente shell capturado usado pela ferramenta Bash. Removido na saída limpa. A limpeza remove qualquer um deixado após um crash. |

1509| `backups/` | Cópias com timestamp de `~/.claude.json` tiradas antes de migrações de configuração |1509| `backups/` | Cópias com timestamp de `~/.claude.json` tiradas antes de migrações de configuração |

1510| `feedback-bundles/` | Arquivos de transcrição reduzidos escritos por `/feedback` em provedores de terceiros, para enviar à sua equipe de conta Anthropic |

1510 1511 

1511### Mantidos até você deletá-los1512### Mantidos até você deletá-los

1512 1513 

data-usage.md +3 −1

Details

99 99 

100Claude Code se conecta de máquinas dos usuários ao Sentry para logging de erros operacionais. Os dados são criptografados em trânsito usando TLS e em repouso usando criptografia AES de 256 bits. Leia mais na [documentação de segurança do Sentry](https://sentry.io/security/). Para desabilitar o logging de erros, defina a variável de ambiente `DISABLE_ERROR_REPORTING`.100Claude Code se conecta de máquinas dos usuários ao Sentry para logging de erros operacionais. Os dados são criptografados em trânsito usando TLS e em repouso usando criptografia AES de 256 bits. Leia mais na [documentação de segurança do Sentry](https://sentry.io/security/). Para desabilitar o logging de erros, defina a variável de ambiente `DISABLE_ERROR_REPORTING`.

101 101 

102Quando os usuários executam o comando `/feedback`, uma cópia do histórico completo de conversa incluindo código é enviada para a Anthropic. Os dados são criptografados em trânsito via TLS. Opcionalmente, um problema do GitHub é criado no repositório público. Para desabilitar, defina a variável de ambiente `DISABLE_FEEDBACK_COMMAND` como `1`.102Quando você executa o comando `/feedback`, uma cópia do histórico de conversa incluindo código é enviada para a Anthropic. Antes de enviar, você escolhe quanto histórico incluir: apenas a sessão atual, que é o padrão, ou também outras sessões do mesmo projeto nos últimos 24 horas ou 7 dias. Os dados são criptografados em trânsito via TLS. Opcionalmente, um problema do GitHub é criado no repositório público. Para desabilitar, defina a variável de ambiente `DISABLE_FEEDBACK_COMMAND` como `1`.

103 

104Quando você usa um provedor de terceiros como Bedrock ou Vertex, ou não tem credenciais da Anthropic configuradas, `/feedback` escreve o relatório em um arquivo local sob `~/.claude/feedback-bundles/` em vez de enviá-lo para a Anthropic. Padrões conhecidos de chave de API e token são removidos antes do arquivo ser escrito. Nada sai de sua máquina até que você envie esse arquivo para seu representante de conta da Anthropic ou o anexe a uma solicitação de suporte.

103 105 

104## Comportamentos padrão por provedor de API106## Comportamentos padrão por provedor de API

105 107 

env-vars.md +4 −3

Details

42| `ANTHROPIC_FOUNDRY_RESOURCE` | Nome do recurso Foundry (por exemplo, `my-resource`). Obrigatório se `ANTHROPIC_FOUNDRY_BASE_URL` não estiver definido (veja [Microsoft Foundry](/pt/microsoft-foundry)) |42| `ANTHROPIC_FOUNDRY_RESOURCE` | Nome do recurso Foundry (por exemplo, `my-resource`). Obrigatório se `ANTHROPIC_FOUNDRY_BASE_URL` não estiver definido (veja [Microsoft Foundry](/pt/microsoft-foundry)) |

43| `ANTHROPIC_MODEL` | Nome da configuração de modelo a usar (veja [Configuração de modelo](/pt/model-config#environment-variables)) |43| `ANTHROPIC_MODEL` | Nome da configuração de modelo a usar (veja [Configuração de modelo](/pt/model-config#environment-variables)) |

44| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nome do [modelo da classe Haiku para tarefas em segundo plano](/pt/costs) |44| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nome do [modelo da classe Haiku para tarefas em segundo plano](/pt/costs) |

45| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Substitua a região AWS para o modelo da classe Haiku ao usar Bedrock ou Bedrock Mantle |45| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Substitua a região AWS para o modelo da classe Haiku ao usar Bedrock ou Bedrock Mantle. Em Bedrock, isso só tem efeito quando `ANTHROPIC_DEFAULT_HAIKU_MODEL` ou o descontinuado `ANTHROPIC_SMALL_FAST_MODEL` também está definido, já que Bedrock de outra forma usa o modelo primário para tarefas em segundo plano |

46| `ANTHROPIC_VERTEX_BASE_URL` | Substitua a URL do endpoint Vertex AI. Use para endpoints Vertex personalizados ou ao rotear através de um [gateway LLM](/pt/llm-gateway). Veja [Google Vertex AI](/pt/google-vertex-ai) |46| `ANTHROPIC_VERTEX_BASE_URL` | Substitua a URL do endpoint Vertex AI. Use para endpoints Vertex personalizados ou ao rotear através de um [gateway LLM](/pt/llm-gateway). Veja [Google Vertex AI](/pt/google-vertex-ai) |

47| `ANTHROPIC_VERTEX_PROJECT_ID` | ID do projeto GCP para solicitações Vertex AI. Substituído por `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` ou o projeto no seu arquivo de credenciais `GOOGLE_APPLICATION_CREDENTIALS`. Veja [Google Vertex AI](/pt/google-vertex-ai) |47| `ANTHROPIC_VERTEX_PROJECT_ID` | ID do projeto GCP para solicitações Vertex AI. Substituído por `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` ou o projeto no seu arquivo de credenciais `GOOGLE_APPLICATION_CREDENTIALS`. Veja [Google Vertex AI](/pt/google-vertex-ai) |

48| `ANTHROPIC_WORKSPACE_ID` | ID do workspace para [federação de identidade de carga de trabalho](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Defina isso quando sua regra de federação está no escopo de mais de um workspace para que a troca de token saiba qual workspace direcionar |48| `ANTHROPIC_WORKSPACE_ID` | ID do workspace para [federação de identidade de carga de trabalho](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Defina isso quando sua regra de federação está no escopo de mais de um workspace para que a troca de token saiba qual workspace direcionar |


69| `CLAUDE_CODE_CLIENT_CERT` | Caminho para arquivo de certificado do cliente para autenticação mTLS |69| `CLAUDE_CODE_CLIENT_CERT` | Caminho para arquivo de certificado do cliente para autenticação mTLS |

70| `CLAUDE_CODE_CLIENT_KEY` | Caminho para arquivo de chave privada do cliente para autenticação mTLS |70| `CLAUDE_CODE_CLIENT_KEY` | Caminho para arquivo de chave privada do cliente para autenticação mTLS |

71| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frase-passe para `CLAUDE_CODE_CLIENT_KEY` criptografada (opcional) |71| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frase-passe para `CLAUDE_CODE_CLIENT_KEY` criptografada (opcional) |

72| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Substitua o caminho do arquivo de log de depuração. Apesar do nome, este é um caminho de arquivo, não um diretório. Requer que o modo de depuração seja habilitado separadamente via `--debug` ou `/debug`: definir apenas essa variável não habilita o logging. A flag [`--debug-file`](/pt/cli-reference#cli-flags) faz ambos de uma vez. Padrão é `~/.claude/debug/<session-id>.txt` |72| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Substitua o caminho do arquivo de log de depuração. Apesar do nome, este é um caminho de arquivo, não um diretório. Requer que o modo de depuração seja habilitado separadamente via `--debug`, `/debug` ou a variável de ambiente `DEBUG`: definir apenas essa variável não habilita o logging. A flag [`--debug-file`](/pt/cli-reference#cli-flags) faz ambos de uma vez. Padrão é `~/.claude/debug/<session-id>.txt` |

73| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Nível de log mínimo escrito no arquivo de log de depuração. Valores: `verbose`, `debug` (padrão), `info`, `warn`, `error`. Defina como `verbose` para incluir diagnósticos de alto volume como saída completa de comando de linha de status, ou aumente para `error` para reduzir ruído |73| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Nível de log mínimo escrito no arquivo de log de depuração. Valores: `verbose`, `debug` (padrão), `info`, `warn`, `error`. Defina como `verbose` para incluir diagnósticos de alto volume como saída completa de comando de linha de status, ou aumente para `error` para reduzir ruído |

74| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desabilitar suporte a [janela de contexto de 1M](/pt/model-config#extended-context). Quando definido, variantes de modelo de 1M não estão disponíveis no seletor de modelo. Útil para ambientes corporativos com requisitos de conformidade |74| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desabilitar suporte a [janela de contexto de 1M](/pt/model-config#extended-context). Quando definido, variantes de modelo de 1M não estão disponíveis no seletor de modelo. Útil para ambientes corporativos com requisitos de conformidade |

75| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Defina como `1` para desabilitar [raciocínio adaptativo](/pt/model-config#adjust-effort-level) em Opus 4.6 e Sonnet 4.6 e voltar ao orçamento de pensamento fixo controlado por `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Não tem efeito em Opus 4.7, que sempre usa raciocínio adaptativo |75| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Defina como `1` para desabilitar [raciocínio adaptativo](/pt/model-config#adjust-effort-level) em Opus 4.6 e Sonnet 4.6 e voltar ao orçamento de pensamento fixo controlado por `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Não tem efeito em Opus 4.7, que sempre usa raciocínio adaptativo |


184| `CLAUDE_ENV_FILE` | Caminho para um script de shell cujo conteúdo Claude Code executa antes de cada comando Bash no mesmo processo de shell, para que as exportações no arquivo sejam visíveis para o comando. Use para persistir ativação de virtualenv ou conda entre comandos. Também preenchido dinamicamente por hooks [SessionStart](/pt/hooks#persist-environment-variables), [Setup](/pt/hooks#setup), [CwdChanged](/pt/hooks#cwdchanged) e [FileChanged](/pt/hooks#filechanged) |184| `CLAUDE_ENV_FILE` | Caminho para um script de shell cujo conteúdo Claude Code executa antes de cada comando Bash no mesmo processo de shell, para que as exportações no arquivo sejam visíveis para o comando. Use para persistir ativação de virtualenv ou conda entre comandos. Também preenchido dinamicamente por hooks [SessionStart](/pt/hooks#persist-environment-variables), [Setup](/pt/hooks#setup), [CwdChanged](/pt/hooks#cwdchanged) e [FileChanged](/pt/hooks#filechanged) |

185| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefixo para nomes de sessão [Remote Control](/pt/remote-control) gerados automaticamente quando nenhum nome explícito é fornecido. Padrão é o nome do host da sua máquina, produzindo nomes como `myhost-graceful-unicorn`. A flag CLI `--remote-control-session-name-prefix` define o mesmo valor para uma única invocação |185| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefixo para nomes de sessão [Remote Control](/pt/remote-control) gerados automaticamente quando nenhum nome explícito é fornecido. Padrão é o nome do host da sua máquina, produzindo nomes como `myhost-graceful-unicorn`. A flag CLI `--remote-control-session-name-prefix` define o mesmo valor para uma única invocação |

186| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Tempo limite em milissegundos antes que o watchdog ocioso de streaming feche uma conexão travada. Padrão e mínimo `300000` (5 minutos) para ambos os watchdogs de nível de byte e de nível de evento; valores mais baixos são silenciosamente fixados para absorver pausas de pensamento estendido e buffering de proxy. Para provedores de terceiros, requer `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |186| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Tempo limite em milissegundos antes que o watchdog ocioso de streaming feche uma conexão travada. Padrão e mínimo `300000` (5 minutos) para ambos os watchdogs de nível de byte e de nível de evento; valores mais baixos são silenciosamente fixados para absorver pausas de pensamento estendido e buffering de proxy. Para provedores de terceiros, requer `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |

187| `DEBUG` | Defina como `1` para habilitar modo de depuração, equivalente a iniciar com [`--debug`](/pt/cli-reference#cli-flags). Logs de depuração são escritos em `~/.claude/debug/<session-id>.txt`, ou no caminho definido por `CLAUDE_CODE_DEBUG_LOGS_DIR`. Apenas os valores verdadeiros `1`, `true`, `yes` e `on` habilitam modo de depuração, então padrões de namespace como `DEBUG=express:*` definidos para outras ferramentas não o acionam |

187| `DISABLE_AUTOUPDATER` | Defina como `1` para desabilitar atualizações automáticas em segundo plano. Manual `claude update` ainda funciona. Use `DISABLE_UPDATES` para bloquear ambos |188| `DISABLE_AUTOUPDATER` | Defina como `1` para desabilitar atualizações automáticas em segundo plano. Manual `claude update` ainda funciona. Use `DISABLE_UPDATES` para bloquear ambos |

188| `DISABLE_AUTO_COMPACT` | Defina como `1` para desabilitar compactação automática ao se aproximar do limite de contexto. O comando manual `/compact` permanece disponível. Use quando você deseja controle explícito sobre quando a compactação ocorre |189| `DISABLE_AUTO_COMPACT` | Defina como `1` para desabilitar compactação automática ao se aproximar do limite de contexto. O comando manual `/compact` permanece disponível. Use quando você deseja controle explícito sobre quando a compactação ocorre |

189| `DISABLE_COMPACT` | Defina como `1` para desabilitar toda compactação: tanto compactação automática quanto o comando manual `/compact` |190| `DISABLE_COMPACT` | Defina como `1` para desabilitar toda compactação: tanto compactação automática quanto o comando manual `/compact` |


209| `ENABLE_CLAUDEAI_MCP_SERVERS` | Defina como `false` para desabilitar [servidores MCP claude.ai](/pt/mcp#use-mcp-servers-from-claude-ai) no Claude Code. Habilitado por padrão para usuários conectados |210| `ENABLE_CLAUDEAI_MCP_SERVERS` | Defina como `false` para desabilitar [servidores MCP claude.ai](/pt/mcp#use-mcp-servers-from-claude-ai) no Claude Code. Habilitado por padrão para usuários conectados |

210| `ENABLE_PROMPT_CACHING_1H` | Defina como `1` para solicitar um TTL de cache de prompt de 1 hora em vez do padrão de 5 minutos. Destinado para usuários de chave de API, [Bedrock](/pt/amazon-bedrock), [Vertex](/pt/google-vertex-ai), [Foundry](/pt/microsoft-foundry) e [Claude Platform on AWS](/pt/claude-platform-on-aws). Usuários de assinatura recebem TTL de 1 hora automaticamente. Escritas de cache de 1 hora são cobradas a uma taxa mais alta |211| `ENABLE_PROMPT_CACHING_1H` | Defina como `1` para solicitar um TTL de cache de prompt de 1 hora em vez do padrão de 5 minutos. Destinado para usuários de chave de API, [Bedrock](/pt/amazon-bedrock), [Vertex](/pt/google-vertex-ai), [Foundry](/pt/microsoft-foundry) e [Claude Platform on AWS](/pt/claude-platform-on-aws). Usuários de assinatura recebem TTL de 1 hora automaticamente. Escritas de cache de 1 hora são cobradas a uma taxa mais alta |

211| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Descontinuado. Use `ENABLE_PROMPT_CACHING_1H` em vez disso |212| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Descontinuado. Use `ENABLE_PROMPT_CACHING_1H` em vez disso |

212| `ENABLE_TOOL_SEARCH` | Controla [busca de ferramentas MCP](/pt/mcp#scale-with-mcp-tool-search). Não definido: todas as ferramentas MCP adiadas por padrão, mas carregadas antecipadamente em Vertex AI ou quando `ANTHROPIC_BASE_URL` aponta para um host que não é de primeira parte. Valores: `true` (sempre adia e envia o cabeçalho beta, solicitações falham em Vertex AI ou proxies que não suportam `tool_reference`), `auto` (modo de limite: carrega antecipadamente se as ferramentas se encaixarem em 10% do contexto), `auto:N` (limite personalizado, por exemplo, `auto:5` para 5%), `false` (carrega tudo antecipadamente) |213| `ENABLE_TOOL_SEARCH` | Controla [busca de ferramentas MCP](/pt/mcp#scale-with-mcp-tool-search). Não definido: todas as ferramentas MCP adiadas por padrão, mas carregadas antecipadamente em Vertex AI ou quando `ANTHROPIC_BASE_URL` aponta para um host que não é de primeira parte. Valores: `true` (sempre adia e envia o cabeçalho beta; solicitações falham em Vertex AI ou proxies que não suportam `tool_reference`), `auto` (modo de limite: carrega antecipadamente se as ferramentas se encaixarem em 10% do contexto), `auto:N` (limite personalizado, por exemplo, `auto:5` para 5%), `false` (carrega tudo antecipadamente) |

213| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Defina como qualquer valor não vazio para acionador fallback para [`--fallback-model`](/pt/cli-reference#cli-flags) após erros de sobrecarga repetidos em qualquer modelo primário. Por padrão, apenas modelos Opus acionam o fallback |214| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Defina como qualquer valor não vazio para acionador fallback para [`--fallback-model`](/pt/cli-reference#cli-flags) após erros de sobrecarga repetidos em qualquer modelo primário. Por padrão, apenas modelos Opus acionam o fallback |

214| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar auto-atualizações de plugins mesmo quando o auto-atualizador principal está desabilitado via `DISABLE_AUTOUPDATER` |215| `FORCE_AUTOUPDATE_PLUGINS` | Defina como `1` para forçar auto-atualizações de plugins mesmo quando o auto-atualizador principal está desabilitado via `DISABLE_AUTOUPDATER` |

215| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de cache de prompt de 5 minutos mesmo quando o TTL de 1 hora se aplicaria de outra forma. Substitui `ENABLE_PROMPT_CACHING_1H` |216| `FORCE_PROMPT_CACHING_5M` | Defina como `1` para forçar o TTL de cache de prompt de 5 minutos mesmo quando o TTL de 1 hora se aplicaria de outra forma. Substitui `ENABLE_PROMPT_CACHING_1H` |

errors.md +3 −3

Details

81 81 

82* Verifique [status.claude.com](https://status.claude.com) para incidentes ativos82* Verifique [status.claude.com](https://status.claude.com) para incidentes ativos

83* Aguarde um minuto e envie sua mensagem novamente. Sua mensagem original ainda está na conversa, portanto, para um prompt longo você pode digitar `try again` em vez de colar tudo novamente.83* Aguarde um minuto e envie sua mensagem novamente. Sua mensagem original ainda está na conversa, portanto, para um prompt longo você pode digitar `try again` em vez de colar tudo novamente.

84* Se o erro persistir sem incidente postado, execute `/feedback` para que a Anthropic possa investigar com os detalhes da sua solicitação. Consulte [Relatar um erro](#report-an-error) se `/feedback` não estiver disponível no seu provedor.84* Se o erro persistir sem incidente postado, execute `/feedback` para que a Anthropic possa investigar com os detalhes da sua solicitação. Consulte [Relatar um erro](#report-an-error) se `/feedback` não estiver disponível no seu ambiente.

85 85 

86### API Error: Repeated 529 Overloaded errors86### API Error: Repeated 529 Overloaded errors

87 87 


584 584 

585Quando uma resposta dá errado, retroceder geralmente funciona melhor do que responder com correções. Pressione Esc duas vezes ou execute `/rewind` para voltar antes do turno ruim, depois reformule o prompt com mais especificidades. Corrigir no thread mantém a tentativa errada em contexto, o que pode ancorar respostas posteriores a ela. Consulte [Checkpointing](/pt/checkpointing).585Quando uma resposta dá errado, retroceder geralmente funciona melhor do que responder com correções. Pressione Esc duas vezes ou execute `/rewind` para voltar antes do turno ruim, depois reformule o prompt com mais especificidades. Corrigir no thread mantém a tentativa errada em contexto, o que pode ancorar respostas posteriores a ela. Consulte [Checkpointing](/pt/checkpointing).

586 586 

587Se a qualidade ainda parecer incorreta após verificar o acima, execute `/feedback` e descreva o que você esperava versus o que obteve. Feedback enviado dessa forma inclui a transcrição da conversa, que é a forma mais rápida para Anthropic diagnosticar uma regressão real. Consulte [Report an error](#report-an-error) se `/feedback` não estiver disponível no seu provedor.587Se a qualidade ainda parecer incorreta após verificar o acima, execute `/feedback` e descreva o que você esperava versus o que obteve. Feedback enviado dessa forma inclui a transcrição da conversa, que é a forma mais rápida para Anthropic diagnosticar uma regressão real. Consulte [Report an error](#report-an-error) se `/feedback` não estiver disponível no seu ambiente.

588 588 

589## Relatar um erro589## Relatar um erro

590 590 


596 596 

597Se um erro não estiver listado aqui ou a correção sugerida não ajudar:597Se um erro não estiver listado aqui ou a correção sugerida não ajudar:

598 598 

599* Execute `/feedback` dentro do Claude Code para enviar a transcrição e uma descrição para Anthropic. O comando também oferece abrir um problema GitHub pré-preenchido. Feedback não está disponível em implantações Bedrock, Vertex AI e Foundry.599* Execute `/feedback` dentro do Claude Code para enviar a transcrição e uma descrição para Anthropic. O comando também oferece abrir um problema GitHub pré-preenchido. No Bedrock, Vertex AI, Foundry e outros provedores terceirizados, `/feedback` salva um arquivo local que você pode enviar para seu representante de conta Anthropic.

600* Execute `/doctor` para verificar problemas de configuração local600* Execute `/doctor` para verificar problemas de configuração local

601* Verifique [status.claude.com](https://status.claude.com) para incidentes ativos601* Verifique [status.claude.com](https://status.claude.com) para incidentes ativos

602* Procure [problemas existentes](https://github.com/anthropics/claude-code/issues) no GitHub602* Procure [problemas existentes](https://github.com/anthropics/claude-code/issues) no GitHub

goal.md +4 −0

Details

6 6 

7> Defina uma condição de conclusão com /goal e Claude continua trabalhando entre turnos até que a condição seja atendida.7> Defina uma condição de conclusão com /goal e Claude continua trabalhando entre turnos até que a condição seja atendida.

8 8 

9<Note>

10 `/goal` requer Claude Code v2.1.139 ou posterior.

11</Note>

12 

9O comando `/goal` define uma condição de conclusão e Claude continua trabalhando em direção a ela sem que você solicite cada etapa. Após cada turno, um modelo pequeno e rápido verifica se a condição é atendida. Se não for, Claude inicia outro turno em vez de devolver o controle a você. O objetivo é limpo automaticamente assim que a condição é atendida.13O comando `/goal` define uma condição de conclusão e Claude continua trabalhando em direção a ela sem que você solicite cada etapa. Após cada turno, um modelo pequeno e rápido verifica se a condição é atendida. Se não for, Claude inicia outro turno em vez de devolver o controle a você. O objetivo é limpo automaticamente assim que a condição é atendida.

10 14 

11Use um objetivo para trabalho substancial com um estado final verificável:15Use um objetivo para trabalho substancial com um estado final verificável:

Details

202 202 

203[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) é ativado automaticamente. Para desativá-lo, defina `DISABLE_PROMPT_CACHING=1`. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina `ENABLE_PROMPT_CACHING_1H=1`; gravações de cache com TTL de 1 hora são cobradas a uma taxa mais alta. Para limites de taxa aumentados, entre em contato com o suporte do Google Cloud. Ao usar Vertex AI, os comandos `/login` e `/logout` são desativados, pois a autenticação é tratada através das credenciais do Google Cloud.203[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) é ativado automaticamente. Para desativá-lo, defina `DISABLE_PROMPT_CACHING=1`. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina `ENABLE_PROMPT_CACHING_1H=1`; gravações de cache com TTL de 1 hora são cobradas a uma taxa mais alta. Para limites de taxa aumentados, entre em contato com o suporte do Google Cloud. Ao usar Vertex AI, os comandos `/login` e `/logout` são desativados, pois a autenticação é tratada através das credenciais do Google Cloud.

204 204 

205[MCP tool search](/pt/mcp#scale-with-mcp-tool-search) é desativado por padrão no Vertex AI porque o endpoint não aceita o cabeçalho beta necessário. Todas as definições de ferramenta MCP são carregadas antecipadamente. Para aceitar, defina `ENABLE_TOOL_SEARCH=true`.205Claude Code desativa [MCP tool search](/pt/mcp#scale-with-mcp-tool-search) por padrão no Vertex AI, portanto as definições de ferramenta MCP são carregadas antecipadamente. Vertex AI suporta busca de ferramentas para Claude Sonnet 4.5 e posterior e Claude Opus 4.5 e posterior. Defina `ENABLE_TOOL_SEARCH=true` para ativá-lo nesses modelos. Modelos anteriores no Vertex AI não aceitam o cabeçalho beta necessário, e as solicitações falham se você ativar a busca de ferramentas com eles.

206 206 

207### 5. Fixar versões de modelo207### 5. Fixar versões de modelo

208 208 


227| Tipo de modelo | Valor padrão |227| Tipo de modelo | Valor padrão |

228| :-------------------- | :--------------------------- |228| :-------------------- | :--------------------------- |

229| Modelo primário | `claude-sonnet-4-5@20250929` |229| Modelo primário | `claude-sonnet-4-5@20250929` |

230| Modelo pequeno/rápido | `claude-haiku-4-5@20251001` |230| Modelo pequeno/rápido | Mesmo que o modelo primário |

231 

232Tarefas em segundo plano, como geração de título de sessão, usam o modelo pequeno/rápido, normalmente um modelo da classe Haiku. No Vertex AI, Claude Code usa como padrão o modelo primário porque Haiku pode não estar ativado em todos os projetos ou regiões. Para usar Haiku para tarefas em segundo plano, defina `ANTHROPIC_DEFAULT_HAIKU_MODEL` para um ID de modelo que esteja disponível no seu projeto.

231 233 

232Para personalizar modelos ainda mais:234Para personalizar modelos ainda mais:

233 235 

hooks.md +15 −1

Details

732# Hook de notificação: ping no desktop quando Claude Code precisa de atenção.732# Hook de notificação: ping no desktop quando Claude Code precisa de atenção.

733input=$(cat)733input=$(cat)

734title="Claude Code'734title="Claude Code'

735body=$(jq -r '.message // "Needs your attention"' <<<"$input")735body=$(jq -r '.message // 'Needs your attention"' <<<"$input")

736seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")736seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

737jq -nc --arg seq "$seq" '{terminalSequence: $seq}'737jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

738```738```


1230| `subagent_type` | string | `"Explore"` | Tipo de agente especializado a usar |1230| `subagent_type` | string | `"Explore"` | Tipo de agente especializado a usar |

1231| `model` | string | `"sonnet"` | Alias de modelo opcional para sobrescrever o padrão |1231| `model` | string | `"sonnet"` | Alias de modelo opcional para sobrescrever o padrão |

1232 1232 

1233Em `PostToolUse`, `tool_response` para uma chamada Agent concluída carrega o texto final do subagente junto com telemetria de uso. Leia esses campos para registrar custo por subagente de um hook:

1234 

1235| Campo | Tipo | Exemplo | Descrição |

1236| :------------------ | :----- | :---------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- |

1237| `status` | string | `"completed"` | `"completed"` para chamadas síncronas, `"async_launched"` para `run_in_background: true` |

1238| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificador para a execução do subagente |

1239| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Os blocos de texto final do subagente |

1240| `totalTokens` | number | `12450` | Total de tokens cobrados através dos turnos do subagente |

1241| `totalDurationMs` | number | `48211` | Duração de relógio de parede da execução do subagente |

1242| `totalToolUseCount` | number | `7` | Contagem de chamadas de ferramenta que o subagente fez |

1243| `usage` | object | `{"input_tokens": 8320, ...}` | Divisão de tokens por tipo: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1244 

1245Para chamadas `run_in_background: true`, a ferramenta retorna imediatamente após lançar o subagente, então `tool_response` não carrega campos de uso. Tem `status: "async_launched"`, `agentId`, `description`, `prompt` e `outputFile` em vez disso.

1246 

1233##### AskUserQuestion1247##### AskUserQuestion

1234 1248 

1235Faz ao usuário uma a quatro perguntas de múltipla escolha.1249Faz ao usuário uma a quatro perguntas de múltipla escolha.

mcp.md +6 −4

Details

953 953 

954### Configurar pesquisa de ferramentas954### Configurar pesquisa de ferramentas

955 955 

956Tool Search é ativado por padrão: as ferramentas MCP são adiadas e descobertas sob demanda. Está desabilitado por padrão no Vertex AI, que não aceita o cabeçalho beta de pesquisa de ferramentas, e quando `ANTHROPIC_BASE_URL` aponta para um host que não é de primeira parte, já que a maioria dos proxies não encaminha blocos `tool_reference`. Se seu proxy encaminha blocos `tool_reference`, defina `ENABLE_TOOL_SEARCH` explicitamente para substituir o fallback. Este recurso requer modelos que suportam blocos `tool_reference`: Sonnet 4 e posterior, ou Opus 4 e posterior. Os modelos Haiku não suportam pesquisa de ferramentas.956Tool Search é ativado por padrão: as ferramentas MCP são adiadas e descobertas sob demanda. Claude Code desabilita-o por padrão no Vertex AI. Também é desabilitado quando `ANTHROPIC_BASE_URL` aponta para um host que não é de primeira parte, já que a maioria dos proxies não encaminha blocos `tool_reference`. Defina `ENABLE_TOOL_SEARCH` explicitamente para substituir qualquer fallback.

957 

958Tool Search requer um modelo que suporte blocos `tool_reference`: Sonnet 4 e posterior, ou Opus 4 e posterior. Os modelos Haiku não suportam. No Vertex AI, tool search é suportado para Claude Sonnet 4.5 e posterior e Claude Opus 4.5 e posterior.

957 959 

958Controle o comportamento da pesquisa de ferramentas com a variável de ambiente `ENABLE_TOOL_SEARCH`:960Controle o comportamento da pesquisa de ferramentas com a variável de ambiente `ENABLE_TOOL_SEARCH`:

959 961 

960| Valor | Comportamento |962| Valor | Comportamento |

961| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |963| :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

962| (não definido) | Todas as ferramentas MCP adiadas e carregadas sob demanda. Volta a carregar antecipadamente no Vertex AI ou quando `ANTHROPIC_BASE_URL` é um host que não é de primeira parte |964| (não definido) | Todas as ferramentas MCP adiadas e carregadas sob demanda. Volta a carregar antecipadamente no Vertex AI ou quando `ANTHROPIC_BASE_URL` é um host que não é de primeira parte |

963| `true` | Todas as ferramentas MCP adiadas. Claude Code envia o cabeçalho beta mesmo no Vertex AI e através de proxies. As solicitações falham se o backend não suporta blocos `tool_reference` |965| `true` | Todas as ferramentas MCP adiadas. Claude Code envia o cabeçalho beta mesmo no Vertex AI e através de proxies. As solicitações falham em modelos Vertex AI anteriores a Sonnet 4.5 ou Opus 4.5, ou em proxies que não suportam blocos `tool_reference` |

964| `auto` | Modo de limite: ferramentas carregam antecipadamente se se encaixarem em 10% da janela de contexto, adiadas caso contrário |966| `auto` | Modo de limite: ferramentas carregam antecipadamente se se encaixarem em 10% da janela de contexto, adiadas caso contrário |

965| `auto:<N>` | Modo de limite com uma porcentagem personalizada, onde `<N>` é 0-100 (por exemplo, `auto:5` para 5%) |967| `auto:N` | Modo de limite com uma porcentagem personalizada, onde `N` é 0-100. Por exemplo, `auto:5` para 5% |

966| `false` | Todas as ferramentas MCP carregadas antecipadamente, sem adiamento |968| `false` | Todas as ferramentas MCP carregadas antecipadamente, sem adiamento |

967 969 

968```bash theme={null}970```bash theme={null}

Details

147# export ANTHROPIC_FOUNDRY_BASE_URL=https://{resource}.services.ai.azure.com/anthropic147# export ANTHROPIC_FOUNDRY_BASE_URL=https://{resource}.services.ai.azure.com/anthropic

148```148```

149 149 

150### 4. Pin model versions150### 4. Fixar versões de modelo

151 151 

152<Warning>152<Warning>

153 Fixe versões de modelo específicas para cada implantação. Se você usar aliases de modelo (`sonnet`, `opus`, `haiku`) sem fixar, Claude Code pode tentar usar uma versão de modelo mais recente que não está disponível em sua conta Foundry, quebrando usuários existentes quando Anthropic lançar atualizações. Quando você criar implantações do Azure, selecione uma versão de modelo específica em vez de "atualizar automaticamente para a mais recente".153 Fixe versões de modelo específicas para cada implantação. Se você usar aliases de modelo (`sonnet`, `opus`, `haiku`) sem fixar, Claude Code pode tentar usar uma versão de modelo mais recente que não está disponível em sua conta Foundry, quebrando usuários existentes quando Anthropic lançar atualizações. Quando você criar implantações do Azure, selecione uma versão de modelo específica em vez de "atualizar automaticamente para a mais recente".


163export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'163export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'

164```164```

165 165 

166As tarefas em segundo plano, como geração de título de sessão, usam o modelo pequeno/rápido, normalmente um modelo da classe Haiku. No Foundry, Claude Code usa como padrão o modelo primário porque nem toda conta tem uma implantação Haiku. Para usar Haiku para tarefas em segundo plano, defina `ANTHROPIC_DEFAULT_HAIKU_MODEL` para uma implantação Haiku que esteja disponível em sua conta, conforme mostrado acima.

167 

166Para IDs de modelo atuais e legados, consulte [Visão geral de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Consulte [Configuração de modelo](/pt/model-config#pin-models-for-third-party-deployments) para a lista completa de variáveis de ambiente.168Para IDs de modelo atuais e legados, consulte [Visão geral de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Consulte [Configuração de modelo](/pt/model-config#pin-models-for-third-party-deployments) para a lista completa de variáveis de ambiente.

167 169 

168[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) está ativado automaticamente. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina a seguinte variável; gravações de cache com TTL de 1 hora são cobradas a uma taxa mais alta:170[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) está ativado automaticamente. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina a seguinte variável; gravações de cache com TTL de 1 hora são cobradas a uma taxa mais alta:

settings.md +4 −2

Details

533 533 

534### Verificar configurações ativas534### Verificar configurações ativas

535 535 

536Execute `/status` dentro do Claude Code para ver quais fontes de configuração estão ativas e de onde vêm. A saída mostra cada camada de configuração (gerenciada, usuário, projeto) junto com sua origem, como `Enterprise managed settings (remote)`, `Enterprise managed settings (plist)`, `Enterprise managed settings (HKLM)`, `Enterprise managed settings (HKCU)`, ou `Enterprise managed settings (file)`. Se um arquivo de configuração contém erros, `/status` relata o problema para que você possa corrigi-lo.536Execute `/status` dentro do Claude Code para ver quais fontes de configuração estão ativas. A aba Status inclui uma linha `Setting sources` que lista cada camada que Claude Code carregou para a sessão atual, como `User settings` ou `Project local settings`. Quando [configurações gerenciadas](/pt/managed-settings) estão em efeito, a entrada mostra o canal de entrega entre parênteses, por exemplo `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)`, ou `(file)`. Uma camada aparece na lista apenas quando essa fonte é carregada com pelo menos uma chave, então uma lista vazia significa que nenhuma fonte de configuração foi encontrada.

537 

538A linha `Setting sources` confirma quais fontes estão sendo lidas. Ela não mostra qual camada forneceu cada chave individual. A aba Config no mesmo diálogo é um editor para um conjunto fixo de toggles como tema e saída verbose, não uma visualização do conteúdo do seu `settings.json`. Se um arquivo de configuração contém erros, como JSON inválido ou um valor que falha na validação, `/status` relata o problema para que você possa corrigi-lo.

537 539 

538### Pontos-chave sobre o sistema de configuração540### Pontos-chave sobre o sistema de configuração

539 541 


542* **Skills**: Prompts personalizados que podem ser invocados com `/skill-name` ou carregados pelo Claude automaticamente544* **Skills**: Prompts personalizados que podem ser invocados com `/skill-name` ou carregados pelo Claude automaticamente

543* **MCP servers**: Estender Claude Code com ferramentas e integrações adicionais545* **MCP servers**: Estender Claude Code com ferramentas e integrações adicionais

544* **Precedência**: Configurações de nível mais alto (Managed) substituem as de nível mais baixo (User/Project)546* **Precedência**: Configurações de nível mais alto (Managed) substituem as de nível mais baixo (User/Project)

545* **Herança**: Configurações são mescladas, com configurações mais específicas adicionando ou substituindo as mais amplas547* **Herança**: Configurações são mescladas entre escopos; valores escalares de escopos de prioridade mais alta substituem, e arrays se concatenam

546 548 

547### Prompt do sistema549### Prompt do sistema

548 550