SpyBara
Go Premium

Documentation 2026-10-18 22:59 UTC to 2026-10-19 23:58 UTC

63 files changed +967 −411. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

291| :- | :- | :- |291| :- | :- | :- |

292| **Prompt do sistema** | Cada requisição | Custo fixo pequeno, sempre presente |292| **Prompt do sistema** | Cada requisição | Custo fixo pequeno, sempre presente |

293| **Arquivos CLAUDE.md** | Início da sessão, via [`settingSources`](/docs/pt/agent-sdk/claude-code-features) | Conteúdo completo em cada requisição (mas prompt-cached, então apenas a primeira requisição paga o custo completo) |293| **Arquivos CLAUDE.md** | Início da sessão, via [`settingSources`](/docs/pt/agent-sdk/claude-code-features) | Conteúdo completo em cada requisição (mas prompt-cached, então apenas a primeira requisição paga o custo completo) |

294| **Definições de ferramentas** | Cada requisição; esquemas MCP adiados por padrão | Esquemas de ferramentas integradas carregam a cada requisição. [Tool search](/docs/pt/agent-sdk/mcp#mcp-tool-search) adia esquemas de ferramentas MCP por padrão, voltando ao carregamento antecipado em modelos não suportados e certas plataformas. Veja [Configurar busca de ferramentas](/docs/pt/agent-sdk/tool-search#configure-tool-search) para a matriz completa |294| **Definições de ferramentas** | Cada requisição para ferramentas integradas principais, como Bash, Read e Edit; sob demanda para ferramentas MCP e outras ferramentas integradas, que a [busca de ferramentas](/docs/pt/agent-sdk/mcp#mcp-tool-search) adia por padrão | Todos os esquemas carregam antecipadamente nos casos descritos em [Configurar busca de ferramentas](/docs/pt/agent-sdk/tool-search#configure-tool-search) |

295| **Histórico de conversa** | Acumula entre voltas | Cresce a cada volta: prompts, respostas, entradas de ferramentas, saídas de ferramentas |295| **Histórico de conversa** | Acumula entre voltas | Cresce a cada volta: prompts, respostas, entradas de ferramentas, saídas de ferramentas |

296| **Descrições de skills** | Início da sessão, via fontes de configuração | Resumos curtos; conteúdo completo carrega apenas quando invocado |296| **Descrições de skills** | Início da sessão, via fontes de configuração | Resumos curtos; conteúdo completo carrega apenas quando invocado |

297 297 


331 331 

332Algumas estratégias para agentes de longa duração:332Algumas estratégias para agentes de longa duração:

333 333 

334* **Use subagentes para subtarefas.** Cada subagente começa com uma conversa nova (sem histórico de mensagens anterior, embora carregue seu próprio system prompt e contexto de nível de projeto como CLAUDE.md). Ele não vê os turnos do pai, e apenas sua resposta final retorna ao pai. O contexto do agente principal cresce por esse resumo, não pela transcrição completa da subtarefa. Veja [O que subagentes herdam](/docs/pt/agent-sdk/subagents#what-subagents-inherit) para detalhes.334* **Use subagentes para subtarefas.** Um subagente retorna apenas sua resposta final, então o contexto do seu agente principal cresce com um resumo, não com a transcrição da subtarefa.

335* **Seja seletivo com ferramentas.** Cada definição de ferramenta ocupa espaço de contexto. Use o campo `tools` em [`AgentDefinition`](/docs/pt/agent-sdk/subagents#agentdefinition-configuration) para escopo subagentes ao conjunto mínimo que precisam.335* **Seja seletivo com ferramentas.** Cada definição de ferramenta ocupa espaço de contexto. Use o campo `tools` em [`AgentDefinition`](/docs/pt/agent-sdk/subagents#agentdefinition-configuration) para escopo subagentes ao conjunto mínimo que precisam.

336* **Observe custos de servidor MCP.** [MCP tool search](/docs/pt/agent-sdk/mcp#mcp-tool-search) adia esquemas de ferramentas MCP por padrão e carrega-os sob demanda. Quando a busca de ferramentas está desativada ou voltou ao carregamento antecipado em modelos não suportados e certas plataformas, cada servidor MCP adiciona todos os seus esquemas de ferramentas a cada requisição, então alguns servidores com muitas ferramentas podem consumir contexto significativo antes do agente fazer qualquer trabalho. Veja [Configurar busca de ferramentas](/docs/pt/agent-sdk/tool-search#configure-tool-search) para as configurações onde o fallback se aplica.336* **Observe custos de servidor MCP.** [MCP tool search](/docs/pt/agent-sdk/mcp#mcp-tool-search) adia esquemas de ferramentas MCP por padrão e carrega-os sob demanda. Quando a busca de ferramentas está desativada ou voltou ao carregamento antecipado em modelos não suportados e certas plataformas, cada servidor MCP adiciona todos os seus esquemas de ferramentas a cada requisição, então alguns servidores com muitas ferramentas podem consumir contexto significativo antes do agente fazer qualquer trabalho. Veja [Configurar busca de ferramentas](/docs/pt/agent-sdk/tool-search#configure-tool-search) para as configurações onde o fallback se aplica.

337* **Use esforço mais baixo para tarefas rotineiras.** Defina [esforço](#effort-level) para `"low"` para agentes que apenas precisam ler arquivos ou listar diretórios. Isso reduz uso de tokens e custo.337* **Use esforço mais baixo para tarefas rotineiras.** Defina [esforço](#effort-level) para `"low"` para agentes que apenas precisam ler arquivos ou listar diretórios. Isso reduz uso de tokens e custo.

Details

212* **Modelo de preços**: faturamento por segundo, por solicitação ou por hora fixa. Preços por segundo são adequados para cargas de trabalho efêmeras intermitentes. Preços por hora são adequados para sessões de longa duração.212* **Modelo de preços**: faturamento por segundo, por solicitação ou por hora fixa. Preços por segundo são adequados para cargas de trabalho efêmeras intermitentes. Preços por hora são adequados para sessões de longa duração.

213* **Rede**: suporte para regras de saída personalizadas, proxies de saída e peering de VPC privada para ambientes regulados.213* **Rede**: suporte para regras de saída personalizadas, proxies de saída e peering de VPC privada para ambientes regulados.

214 214 

215Para opções auto-hospedadas como Docker, gVisor e Firecracker, e configuração de isolamento detalhada, consulte [Isolation Technologies](/docs/pt/agent-sdk/secure-deployment#isolation-technologies).215Para opções auto-hospedadas como Docker, gVisor e Firecracker, e configuração de isolamento detalhada, consulte [Tecnologias de isolamento](/docs/pt/agent-sdk/secure-deployment#isolation-technologies).

216 216 

217<h3 id="runtime-dependencies">217<h3 id="runtime-dependencies">

218 Dependências de tempo de execução218 Dependências de tempo de execução


229 Recursos229 Recursos

230</h3>230</h3>

231 231 

2321 GiB de RAM, 5 GiB de disco e 1 CPU por agente é um ponto de partida razoável para uma instância recém-iniciada. O uso de memória cresce com a duração da sessão e a atividade de ferramentas, portanto dimensione para as durações de sessão e concorrência que você realmente precisa, em vez da linha de base ociosa. Consulte [Scaling and concurrency](#scaling-and-concurrency) para saber como calcular agentes por host.2321 GiB de RAM, 5 GiB de disco e 1 CPU por agente é um ponto de partida razoável para uma instância recém-iniciada. O uso de memória cresce com a duração da sessão e a atividade de ferramentas, portanto dimensione para as durações de sessão e concorrência que você realmente precisa, em vez da linha de base ociosa. Consulte [Dimensionamento e concorrência](#scaling-and-concurrency) para saber como calcular agentes por host.

233 233 

234<h3 id="network">234<h3 id="network">

235 Rede235 Rede

236</h3>236</h3>

237 237 

238O SDK precisa de HTTPS de saída para `api.anthropic.com`, ou para o endpoint regional do seu provedor ao executar no Amazon Bedrock ou na Agent Platform do Google Cloud. Se seus agentes usarem [MCP servers](/docs/pt/agent-sdk/mcp) ou ferramentas externas, eles também precisam de acesso de saída para esses endpoints. Para produção, roteie o tráfego de saída através de um proxy de saída que imponha listas de permissão de domínio, injete credenciais e registre solicitações. Consulte [Secure Deployment](/docs/pt/agent-sdk/secure-deployment) para o padrão completo.238O SDK precisa de HTTPS de saída para `api.anthropic.com`, ou para o endpoint regional do seu provedor ao executar no Amazon Bedrock ou na Agent Platform do Google Cloud. Se seus agentes usarem [servidores MCP](/docs/pt/agent-sdk/mcp) ou ferramentas externas, eles também precisam de acesso de saída para esses endpoints. Para produção, roteie o tráfego de saída através de um proxy de saída que imponha listas de permissão de domínio, injete credenciais e registre solicitações. Consulte [Implantação segura](/docs/pt/agent-sdk/secure-deployment) para o padrão completo.

239 239 

240Para tráfego de entrada, exponha uma porta HTTP ou WebSocket no contêiner. Sua aplicação manipula solicitações de cliente nessa porta e chama o SDK internamente; o subprocesso em si não escuta na rede.240Para tráfego de entrada, exponha uma porta HTTP ou WebSocket no contêiner. Sua aplicação manipula solicitações de cliente nessa porta e chama o SDK internamente; o subprocesso em si não escuta na rede.

241 241 


386| Limitação | O que fazer |386| Limitação | O que fazer |

387| - | - |387| - | - |

388| Sem timeout de sessão de nível superior | Uma sessão não expira por conta própria. Defina `maxTurns` em TypeScript ou `max_turns` em Python para limitar quantas rodadas de uso de ferramentas o agente realiza antes de parar. |388| Sem timeout de sessão de nível superior | Uma sessão não expira por conta própria. Defina `maxTurns` em TypeScript ou `max_turns` em Python para limitar quantas rodadas de uso de ferramentas o agente realiza antes de parar. |

389| Crescimento de memória em sessões longas | Limite o comprimento da sessão ou recicle subprocessos periodicamente. Veja [Scaling and concurrency](#scaling-and-concurrency). |389| Crescimento de memória em sessões longas | Limite o comprimento da sessão ou recicle subprocessos periodicamente. Veja [Dimensionamento e concorrência](#scaling-and-concurrency). |

390| Grandes fanouts de subagentos paralelos podem atingir limites de taxa | Divida o trabalho em lotes menores em vez de emitir um dispatch amplo. |390| Grandes fanouts de subagentos paralelos podem atingir limites de taxa | Divida o trabalho em lotes menores em vez de emitir um dispatch amplo. |

391| Sem deadline de wall-clock por subagentos | Limite cada [subagent](/docs/pt/agent-sdk/subagents) com `maxTurns` em sua `AgentDefinition`. `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` define um watchdog de travamento que dispara quando um subagentos para de produzir saída; não é um deadline de tempo total de execução. |391| Sem deadline de wall-clock por subagentos | Limite cada [subagent](/docs/pt/agent-sdk/subagents) com `maxTurns` em sua `AgentDefinition`. `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` define um watchdog de travamento que dispara quando um subagentos para de produzir saída; não é um deadline de tempo total de execução. |

392 392 

Details

123 123 

124Os modos de permissão fornecem controle global sobre como Claude usa ferramentas. Você pode definir o modo de permissão ao chamar `query()` ou alterá-lo dinamicamente durante sessões de streaming.124Os modos de permissão fornecem controle global sobre como Claude usa ferramentas. Você pode definir o modo de permissão ao chamar `query()` ou alterá-lo dinamicamente durante sessões de streaming.

125 125 

126Se você não definir um, Claude Code escolhe o modo de permissão inicial pelas regras em [Qual modo uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in):126Com Claude Code v2.1.302 ou posterior, sua aplicação inicia no modo `default`, a menos que você defina um modo de permissão ou ela obtenha um de [`permissions.defaultMode`](/docs/pt/settings-reference#permissions-defaultmode) em seus arquivos de configuração. No modo `default`, Claude Code nega qualquer chamada de ferramenta que precise de aprovação, a menos que você a aprove por meio de uma regra de permissão, hook, callback `canUseTool` ou ferramenta de prompt de permissão. Se chamadas de ferramenta forem negadas, consulte [Chamadas de ferramenta negadas em execuções de `claude -p` e do Agent SDK](/docs/pt/permission-modes#which-mode-a-non-interactive-run-starts-in).

127 

128* Um `permissions.defaultMode` dos [arquivos de configuração](/docs/pt/settings#where-settings-live) da sessão quando um se aplica

129* Caso contrário, o padrão integrado, que pode ser [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode)

130 

131Uma sessão que inicia em modo auto descarta regras de permissão amplas, como uma entrada `Bash` simples, conforme [Como o modo auto avalia ações](/docs/pt/permission-modes#how-auto-mode-evaluates-actions) descreve. Se sua aplicação depender do modo `default` ou de tal regra, passe `default` explicitamente.

132 

133Antes do TypeScript Agent SDK v0.3.286, omitir `permissionMode` era o mesmo que passar `default`.

134 127 

135<h3 id="available-modes">128<h3 id="available-modes">

136 Modos disponíveis129 Modos disponíveis

Details

1035)1035)

1036```1036```

1037 1037 

1038* `API_TIMEOUT_MS`: timeout por requisição no cliente Anthropic, em milissegundos. Padrão `600000`. Aplica-se ao loop principal e todos os subagentes.1038* [`API_TIMEOUT_MS`](/docs/pt/env-vars): quanto tempo cada tentativa de requisição pode aguardar pelos headers da resposta, em milissegundos. Não limita quanto tempo uma resposta de streaming é executada após a chegada dos headers. Padrão `600000`. Aplica-se ao loop principal e todos os subagentes.

1039* `CLAUDE_CODE_MAX_RETRIES`: máximo de tentativas de API. Padrão `10`, limitado a `15`. Cada tentativa obtém sua própria janela `API_TIMEOUT_MS`.1039* `CLAUDE_CODE_MAX_RETRIES`: máximo de tentativas de API. Padrão `10`, limitado a `15`. Cada tentativa obtém sua própria janela `API_TIMEOUT_MS`.

1040 1040 

1041 Para execuções sem supervisão que precisam esperar por interrupções mais longas, defina [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/pt/errors#tune-retry-behavior): ele tenta novamente erros de capacidade transitória indefinidamente e, no Claude Code v2.1.199 ou posterior, aumenta o padrão para outros erros transitórios para `300` e remove o limite nesta variável.1041 Para execuções sem supervisão que precisam esperar por interrupções mais longas, defina [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/pt/errors#tune-retry-behavior): ele tenta novamente erros de capacidade transitória indefinidamente e, no Claude Code v2.1.199 ou posterior, aumenta o padrão para outros erros transitórios para `300` e remove o limite nesta variável.

Details

172 172 

173No SDK Python, nomes de campos com múltiplas palavras como `disallowedTools` e `mcpServers` mantêm sua ortografia camelCase para corresponder ao formato de transmissão em vez de seguir a convenção snake\_case do Python. Consulte a referência [`AgentDefinition`](/docs/pt/agent-sdk/python#agentdefinition) para detalhes.173No SDK Python, nomes de campos com múltiplas palavras como `disallowedTools` e `mcpServers` mantêm sua ortografia camelCase para corresponder ao formato de transmissão em vez de seguir a convenção snake\_case do Python. Consulte a referência [`AgentDefinition`](/docs/pt/agent-sdk/python#agentdefinition) para detalhes.

174 174 

175Subagentes são executados em background por padrão. Uma chamada da ferramenta Agent que omite a entrada [`run_in_background`](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) inicia um subagente em background, e Claude define `run_in_background: false` quando precisa do resultado antes de continuar. Defina o campo `background` como `true` para forçar execução em background para um agente específico independentemente do que Claude solicita. Antes do Claude Code v2.1.198, o padrão de background estava sendo implementado gradualmente, e uma chamada da ferramenta Agent que omitia `run_in_background` poderia executar o subagente sincronamente.175<h4 id="choose-whether-claude-waits-for-subagents">

176 Escolher se Claude espera pelos subagentes

177</h4>

176 178 

177Subagentes também podem gerar subagentes próprios. Para limitar a profundidade dessa aninhação, quantos subagentes são executados de uma vez e quanto uma consulta gasta, consulte [Limitar profundidade, concorrência e gasto de subagentes](#cap-subagent-depth-concurrency-and-spend).179Por padrão, um subagente gerado pelo seu agente principal [é executado em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background). O resultado da ferramenta Agent tem `status: "async_launched"`, e o relatório chega em um turno posterior.

180 

181Claude espera quando sua próxima ação precisa do relatório: a chamada bloqueia e retorna `status: "completed"`. Para fazer essa escolha você mesmo:

182 

183* **No seu prompt**: peça a Claude que espere, como "execute o agente test-runner e espere por ele"

184* **Na definição**: defina `background` como `true` para manter esse agente em segundo plano

178 185 

179<h3 id="filesystem-based-definition-alternative">186<h3 id="filesystem-based-definition-alternative">

180 Definição baseada em sistema de arquivos (alternativa)187 Definição baseada em sistema de arquivos (alternativa)


242 249 

243Isso ignora a correspondência automática e invoca diretamente o suagente nomeado.250Isso ignora a correspondência automática e invoca diretamente o suagente nomeado.

244 251 

252<h3 id="forked-subagents">

253 Subagentes bifurcados

254</h3>

255 

256Um [fork](/docs/pt/sub-agents#fork-the-current-conversation) é um subagente que copia a conversa até o momento em vez de começar do zero. A partir do Claude Code v2.1.302, Claude pode iniciar forks em sua aplicação sem nenhuma configuração, chamando a ferramenta Agent com `subagent_type: "fork"`.

257 

258Para impedir que Claude inicie forks, adicione uma [regra de negação `Agent(fork)`](/docs/pt/agent-sdk/permissions#allow-and-deny-rules):

259 

260<CodeGroup>

261 ```python Python theme={null}

262 options = ClaudeAgentOptions(

263 # Deny only the fork subagent type; other subagents still run

264 disallowed_tools=["Agent(fork)"],

265 )

266 ```

267 

268 ```typescript TypeScript theme={null}

269 const options = {

270 // Deny only the fork subagent type; other subagents still run

271 disallowedTools: ["Agent(fork)"]

272 };

273 ```

274</CodeGroup>

275 

245<h3 id="dynamic-agent-configuration">276<h3 id="dynamic-agent-configuration">

246 Configuração dinâmica de agentes277 Configuração dinâmica de agentes

247</h3>278</h3>

Details

610| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Define o formato de saída para os resultados do agente. Consulte [Saídas estruturadas](/docs/pt/agent-sdk/structured-outputs) para obter detalhes |610| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Define o formato de saída para os resultados do agente. Consulte [Saídas estruturadas](/docs/pt/agent-sdk/structured-outputs) para obter detalhes |

611| `outputStyle` | `string` | `undefined` | Não é um campo de `Options`. Em vez disso, defina `outputStyle` no objeto [`settings`](/docs/pt/settings) inline ou em um arquivo de configurações. Consulte [Ativar um estilo de saída](/docs/pt/agent-sdk/modifying-system-prompts#activate-an-output-style) |611| `outputStyle` | `string` | `undefined` | Não é um campo de `Options`. Em vez disso, defina `outputStyle` no objeto [`settings`](/docs/pt/settings) inline ou em um arquivo de configurações. Consulte [Ativar um estilo de saída](/docs/pt/agent-sdk/modifying-system-prompts#activate-an-output-style) |

612| `pathToClaudeCodeExecutable` | `string` | Resolvido automaticamente a partir do binário nativo incluído | Caminho para o executável do Claude Code. Necessário somente se dependências opcionais foram ignoradas durante a instalação ou se sua plataforma não está no conjunto suportado |612| `pathToClaudeCodeExecutable` | `string` | Resolvido automaticamente a partir do binário nativo incluído | Caminho para o executável do Claude Code. Necessário somente se dependências opcionais foram ignoradas durante a instalação ou se sua plataforma não está no conjunto suportado |

613| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Modo de permissão para a sessão. Se você o omitir, a sessão pode iniciar no modo auto. Consulte [Modos de permissão](/docs/pt/agent-sdk/permissions#permission-modes) para ver como o Claude Code escolhe o modo de permissão inicial |613| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Modo de permissão para a sessão. Se você omiti-lo e nada mais definir um modo de permissão, como uma configuração [`permissions.defaultMode`](/docs/pt/settings-reference#permissions-defaultmode), a sessão começa em `default`. Consulte [Modos de permissão](/docs/pt/agent-sdk/permissions#permission-modes) |

614| `permissionPromptToolName` | `string` | `undefined` | Nome da ferramenta MCP para prompts de permissão |614| `permissionPromptToolName` | `string` | `undefined` | Nome da ferramenta MCP para prompts de permissão |

615| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Quem responde aos prompts de permissão: `'host'` os encaminha para seu callback [`canUseTool`](#canusetool) ou para a ferramenta `permissionPromptToolName`, e `'none'` [nega as chamadas que teriam gerado um prompt](/docs/pt/agent-sdk/permissions#how-permissions-are-evaluated). Requer Claude Code v2.1.259 ou posterior |615| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Quem responde aos prompts de permissão: `'host'` os encaminha para seu callback [`canUseTool`](#canusetool) ou para a ferramenta `permissionPromptToolName`, e `'none'` [nega as chamadas que teriam gerado um prompt](/docs/pt/agent-sdk/permissions#how-permissions-are-evaluated). Requer Claude Code v2.1.259 ou posterior |

616| `persistSession` | `boolean` | `true` | Quando `false`, desabilita a persistência da sessão em disco. As sessões não podem ser retomadas posteriormente |616| `persistSession` | `boolean` | `true` | Quando `false`, desabilita a persistência da sessão em disco. As sessões não podem ser retomadas posteriormente |


662});662});

663```663```

664 664 

665* `API_TIMEOUT_MS`: timeout por requisição no cliente da Anthropic, em milissegundos. Padrão `600000`. Aplica-se ao loop principal e a todos os subagentes.665* [`API_TIMEOUT_MS`](/docs/pt/env-vars): quanto tempo cada tentativa de requisição pode esperar pelos cabeçalhos de resposta, em milissegundos. Não limita quanto tempo uma resposta por streaming é executada depois que os cabeçalhos chegam. Padrão `600000`. Aplica-se ao loop principal e a todos os subagentes.

666* `CLAUDE_CODE_MAX_RETRIES`: máximo de novas tentativas da API. Padrão `10`, limitado a `15`. Cada nova tentativa recebe sua própria janela de `API_TIMEOUT_MS`.666* `CLAUDE_CODE_MAX_RETRIES`: máximo de novas tentativas da API. Padrão `10`, limitado a `15`. Cada nova tentativa recebe sua própria janela de `API_TIMEOUT_MS`.

667 667 

668 Para execuções autônomas que precisam aguardar interrupções mais longas, defina [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/pt/errors#tune-retry-behavior): isso tenta novamente de forma indefinida em erros transitórios de capacidade e, no Claude Code v2.1.199 ou posterior, eleva o padrão para outros erros transitórios para `300` e remove o limite desta variável.668 Para execuções autônomas que precisam aguardar interrupções mais longas, defina [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/pt/errors#tune-retry-behavior): isso tenta novamente de forma indefinida em erros transitórios de capacidade e, no Claude Code v2.1.199 ou posterior, eleva o padrão para outros erros transitórios para `300` e remove o limite desta variável.

agent-teams.md +1 −1

Details

555* **Encerramento pode ser lento**: os companheiros de equipe terminam sua solicitação atual ou chamada de ferramenta antes de encerrar, o que pode levar tempo.555* **Encerramento pode ser lento**: os companheiros de equipe terminam sua solicitação atual ou chamada de ferramenta antes de encerrar, o que pode levar tempo.

556* **Uma equipe por sessão**: uma sessão tem exatamente uma equipe, com escopo para essa sessão. Você não pode criar equipes nomeadas adicionais ou compartilhar uma equipe entre sessões.556* **Uma equipe por sessão**: uma sessão tem exatamente uma equipe, com escopo para essa sessão. Você não pode criar equipes nomeadas adicionais ou compartilhar uma equipe entre sessões.

557* **Sem equipes aninhadas**: os companheiros de equipe não podem gerar seus próprios companheiros de equipe. Apenas o líder pode gerenciar a equipe.557* **Sem equipes aninhadas**: os companheiros de equipe não podem gerar seus próprios companheiros de equipe. Apenas o líder pode gerenciar a equipe.

558* **Sem subagentes em segundo plano de companheiros de equipe in-process**: os próprios subagentes de um companheiro de equipe in-process são executados em primeiro plano, porque o trabalho em segundo plano de um companheiro de equipe não pode sobreviver ao processo do líder. Claude Code retorna um erro quando um companheiro de equipe gera um subagente cuja definição define `background: true`. Uma solicitação `run_in_background: true` de um companheiro de equipe também falha, seja com um erro ou executando silenciosamente em primeiro plano, conforme descrito em [como Claude Code escolhe primeiro plano ou segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background). Subagentes lançados da conversa principal seguem o [padrão de segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background).558* **Sem subagentes em segundo plano de companheiros de equipe in-process**: os próprios subagentes de um companheiro de equipe in-process são executados em primeiro plano, porque o trabalho em segundo plano de um companheiro de equipe não pode sobreviver ao processo do líder. Claude Code retorna um erro quando um companheiro de equipe gera um subagente cuja definição define `background: true`. Uma requisição `run_in_background: true` de um companheiro de equipe também falha, seja com um erro ou executando silenciosamente em primeiro plano. Subagentes lançados da conversa principal seguem o [padrão de segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background).

559* **Líder é fixo**: a sessão principal é o líder por sua vida útil. Você não pode promover um companheiro de equipe a líder ou transferir liderança.559* **Líder é fixo**: a sessão principal é o líder por sua vida útil. Você não pode promover um companheiro de equipe a líder ou transferir liderança.

560* **Permissões definidas no tempo de geração**: os companheiros de equipe começam com o modo de permissão descrito em [Permissões](#permissions). Você pode alterar o modo de permissão de um companheiro de equipe individual após gerar, mas não pode definir modos de permissão por companheiro de equipe no tempo de geração.560* **Permissões definidas no tempo de geração**: os companheiros de equipe começam com o modo de permissão descrito em [Permissões](#permissions). Você pode alterar o modo de permissão de um companheiro de equipe individual após gerar, mas não pode definir modos de permissão por companheiro de equipe no tempo de geração.

561* **Split panes requerem tmux ou iTerm2**: o modo in-process padrão funciona em qualquer terminal. O modo split-pane não é suportado no terminal integrado do VS Code, Windows Terminal ou Ghostty.561* **Split panes requerem tmux ou iTerm2**: o modo in-process padrão funciona em qualquer terminal. O modo split-pane não é suportado no terminal integrado do VS Code, Windows Terminal ou Ghostty.

agent-view.md +10 −2

Details

211Para uma tarefa que termina em um pull request, verifique este rótulo para o resultado: revise e mescle o pull request quando seu número ficar verde.211Para uma tarefa que termina em um pull request, verifique este rótulo para o resultado: revise e mescle o pull request quando seu número ficar verde.

212 212 

213<h3 id="peek-and-reply">213<h3 id="peek-and-reply">

214 Peek and reply214 Espiar e responder

215</h3>215</h3>

216 216 

217Pressione `Space` em uma linha selecionada para abrir o painel de espiada. Ele abre com a sentença que a linha trunca na borda do terminal, e qual sentença é depende do estado da sessão:217Pressione `Space` em uma linha selecionada para abrir o painel de espiada. Ele abre com a sentença que a linha trunca na borda do terminal, e qual sentença é depende do estado da sessão:


479 479 

480Após o fork, as duas conversas são independentes: nada que a cópia faz entra na conversa original por conta própria, embora em sessões onde [mensagens entre sessões](/docs/pt/cross-session-messaging) estão habilitadas, o Claude de qualquer sessão possa explicitamente enviar mensagens para a outra.480Após o fork, as duas conversas são independentes: nada que a cópia faz entra na conversa original por conta própria, embora em sessões onde [mensagens entre sessões](/docs/pt/cross-session-messaging) estão habilitadas, o Claude de qualquer sessão possa explicitamente enviar mensagens para a outra.

481 481 

482Copiar a sessão requer Claude Code v2.1.212 ou posterior; na v2.1.161 até v2.1.211, `/fork` inicia um [subagente bifurcado](/docs/pt/sub-agents#fork-the-current-conversation) em vez disso, que agora é `/subtask`. Quando a [visualização de agentes está desativada](#turn-off-agent-view), `/fork` mantém o comportamento de subagente bifurcado e `/subtask` não está disponível.482Quando a [visualização de agentes está desativada](#turn-off-agent-view), `/fork` inicia um [subagente bifurcado](/docs/pt/sub-agents#fork-the-current-conversation) em vez de copiar a sessão.

483 483 

484Passe um prompt como `/fork open a draft pull request with the work so far` e a cópia começa a trabalhar nele imediatamente. Sem um prompt, a cópia aguarda sua primeira instrução: selecione sua linha em `claude agents` e pressione `Space` para enviar uma, ou execute `claude attach <id>`. A linha selecionada mostra `space to send it a prompt` enquanto aguarda.484Passe um prompt como `/fork open a draft pull request with the work so far` e a cópia começa a trabalhar nele imediatamente. Sem um prompt, a cópia aguarda sua primeira instrução: selecione sua linha em `claude agents` e pressione `Space` para enviar uma, ou execute `claude attach <id>`. A linha selecionada mostra `space to send it a prompt` enquanto aguarda.

485 485 


957 957 

958Execute `/tasks` para ver tudo que está em execução, depois confirme para colocar em background mesmo assim ou escolha `Stay` para deixar o trabalho terminar primeiro. Veja [What carries over when you background](#what-carries-over-when-you-background) para quais tipos de trabalho são transferidos e quais Claude Code interrompe.958Execute `/tasks` para ver tudo que está em execução, depois confirme para colocar em background mesmo assim ou escolha `Stay` para deixar o trabalho terminar primeiro. Veja [What carries over when you background](#what-carries-over-when-you-background) para quais tipos de trabalho são transferidos e quais Claude Code interrompe.

959 959 

960<h3 id="carried-into-this-session-and-not-resumed">

961 A conversa diz que um agente em background `was carried into this session and not resumed`

962</h3>

963 

964Este aviso nomeia um [subagente](/docs/pt/sub-agents) em background que não está em execução nesta sessão.

965 

966Claude vê o aviso e responde por conta própria, então você não precisa solicitar nada. Se você ainda precisar do trabalho desse subagente depois de ler a resposta de Claude, peça-o a Claude.

967 

960<h3 id="prompt-rejected-as-too-short">968<h3 id="prompt-rejected-as-too-short">

961 Prompt rejected as too short969 Prompt rejected as too short

962</h3>970</h3>

Details

182export AWS_PROFILE=your-profile-name182export AWS_PROFILE=your-profile-name

183```183```

184 184 

185Claude Code solicita credenciais de função da região do IAM Identity Center nomeada pelo `sso_region` do perfil, que não precisa corresponder à região em que você executa o Amazon Bedrock. Na v2.1.207, a região do Amazon Bedrock substituía `sso_region`, portanto um perfil cuja instância do IAM Identity Center está em uma região diferente falhava ao autenticar com um erro `Session token not found or invalid`.185Claude Code solicita credenciais de função da região do IAM Identity Center nomeada pelo `sso_region` do perfil, que não precisa corresponder à região em que você executa o Amazon Bedrock.

186 186 

187<h4 id="use-aws-management-console-credentials">187<h4 id="use-aws-management-console-credentials">

188 Usar credenciais do AWS Management Console188 Usar credenciais do AWS Management Console


442 Quando um modelo é desabilitado durante a sessão442 Quando um modelo é desabilitado durante a sessão

443</h3>443</h3>

444 444 

445Se sua conta perder acesso ao modelo em que sua sessão está sendo executada, por exemplo porque um administrador o desabilita em sua conta Amazon Bedrock, Claude Code muda a sessão para outro modelo em vez de falhar em cada solicitação, e mostra `Switched to <fallback> because <model> is not available`. Ele tenta os mesmos modelos que o fallback de inicialização: versões anteriores do mesmo nível primeiro e, para uma sessão Opus sem nenhuma versão Opus disponível, o modelo Sonnet padrão.445Se sua conta perder acesso ao modelo em que sua sessão está sendo executada, por exemplo porque um administrador o desabilita em sua conta Amazon Bedrock, Claude Code muda a sessão para outro modelo em vez de falhar em cada requisição, e mostra `Switched to <fallback> because <model> is not available`. Ele tenta os mesmos modelos que o fallback de inicialização: versões anteriores do mesmo nível primeiro e, para uma sessão Opus sem nenhuma versão Opus disponível, o modelo Sonnet padrão.

446 446 

447A mudança se aplica apenas a um nível que você não fixou, a mesma condição que o fallback de inicialização. Uma sessão em uma versão específica que você escolheu, ou em um [ARN de perfil de inferência de aplicação](#map-each-model-version-to-an-inference-profile), mantém seu modelo e, sem uma cadeia de fallback de modelo, a solicitação falha em vez disso. Em [modo automático](/docs/pt/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code muda apenas para um modelo que o modo automático suporta no Amazon Bedrock. Se nenhum desses modelos também estiver disponível, a solicitação falha com [falha de autenticação AWS](/docs/pt/errors#aws-authentication-failed) e uma dica para ativar o modelo.447A mudança se aplica apenas a um nível que você não fixou, a mesma condição que o fallback de inicialização. Uma sessão em uma versão específica que você escolheu, ou em um [ARN de perfil de inferência de aplicação](#map-each-model-version-to-an-inference-profile), mantém seu modelo e, sem uma cadeia de fallback de modelo, a requisição falha em vez disso. No [modo auto](/docs/pt/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code muda apenas para um modelo que o modo auto suporta no Amazon Bedrock. Se nenhum desses modelos também estiver disponível, a requisição falha com [AWS authentication failed](/docs/pt/errors#aws-authentication-failed) e uma dica para ativar o modelo.

448 448 

449Uma [cadeia de fallback de modelo](/docs/pt/model-config#fallback-model-chains) que você configura substitui a mudança de nível: nessas recusas Claude Code muda para seu fallback configurado em vez disso. Para fazer com que solicitações recusadas falhem em vez de mudar, defina [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](/docs/pt/env-vars). Uma cadeia de fallback que você configurou ainda muda nessas recusas; remova a cadeia também se quiser que cada solicitação recusada falhe.449Uma [cadeia de fallback de modelo](/docs/pt/model-config#fallback-model-chains) que você configura substitui a mudança de nível: nessas recusas Claude Code muda para seu fallback configurado em vez disso. Para fazer com que requisições recusadas falhem em vez de mudar, defina [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](/docs/pt/env-vars). Uma cadeia de fallback que você configurou ainda muda nessas recusas; remova a cadeia também se quiser que cada requisição recusada falhe.

450 450 

451<h2 id="cross-region-inference-profile-prefixes">451<h2 id="cross-region-inference-profile-prefixes">

452 Prefixos de perfil de inferência entre regiões452 Prefixos de perfil de inferência entre regiões

artifacts.md +1 −1

Details

105 Encontre um artefato novamente105 Encontre um artefato novamente

106</h2>106</h2>

107 107 

108Execute `/artifacts` no Claude Code para listar os artefatos que você possui e os compartilhados com você. Os artefatos da sessão atual aparecem primeiro, em **This session**. Requer Claude Code v2.1.208 ou posterior.108Execute `/artifacts` no Claude Code para listar os artefatos que você possui e os compartilhados com você. Os artefatos da sessão atual aparecem primeiro, em **This session**.

109 109 

110Selecione um artefato e pressione uma destas teclas:110Selecione um artefato e pressione uma destas teclas:

111 111 

Details

321claude auto-mode defaults321claude auto-mode defaults

322```322```

323 323 

324Para ler a redação completa de uma regra sem canalizar através de `jq`, passe `--label` com o início do rótulo da regra, como `claude auto-mode defaults --label 'Git Destructive'`. A correspondência é um prefixo case-insensitive no rótulo de cada regra, e seções sem correspondência são impressas como listas vazias. Requer Claude Code v2.1.208 ou posterior.324Para ler a redação completa de uma regra sem canalizar através de `jq`, passe `--label` com o início do rótulo da regra, como `claude auto-mode defaults --label 'Git Destructive'`. A correspondência é um prefixo case-insensitive no rótulo de cada regra, e seções sem correspondência são impressas como listas vazias.

325 325 

326Imprima o que o classificador realmente usa como JSON, com suas configurações aplicadas onde definidas e padrões caso contrário:326Imprima o que o classificador realmente usa como JSON, com suas configurações aplicadas onde definidas e padrões caso contrário:

327 327 


359 359 

360Se você escreveu regras personalizadas, `claude auto-mode critique` as revisa e sinaliza entradas que são ambíguas, redundantes ou provavelmente causarão falsos positivos.360Se você escreveu regras personalizadas, `claude auto-mode critique` as revisa e sinaliza entradas que são ambíguas, redundantes ou provavelmente causarão falsos positivos.

361 361 

362Para descartar suas personalizações e retornar aos padrões integrados, execute o subcomando reset. Requer Claude Code v2.1.212 ou posterior e remove a seção `autoMode` do seu arquivo de configurações do usuário:362Para descartar suas personalizações e retornar aos padrões integrados, execute o subcomando reset, que remove a seção `autoMode` do seu arquivo de configurações do usuário:

363 363 

364```bash theme={null}364```bash theme={null}

365claude auto-mode reset365claude auto-mode reset

chrome.md +3 −3

Details

113 113 

114Com a configuração ativada e Claude Code v2.1.287 ou posterior, cada sessão do VS Code se conecta ao seu navegador ao iniciar, para que Claude possa usá-lo antes de você digitar `@browser`. Em versões anteriores, ou com a configuração desativada, uma sessão do VS Code se conecta quando você digita `@browser`.114Com a configuração ativada e Claude Code v2.1.287 ou posterior, cada sessão do VS Code se conecta ao seu navegador ao iniciar, para que Claude possa usá-lo antes de você digitar `@browser`. Em versões anteriores, ou com a configuração desativada, uma sessão do VS Code se conecta quando você digita `@browser`.

115 115 

116Claude Code inicia normalmente quando Chrome não está em execução. Antes da v2.1.211, a inicialização poderia travar quando a integração Chrome estava ativada mas Chrome não estava em execução.116Claude Code inicia normalmente quando Chrome não está em execução.

117 117 

118<Note>118<Note>

119 Ativar Chrome por padrão aumenta o uso de contexto, pois as ferramentas do navegador e suas instruções estão sempre carregadas. Se você notar aumento no consumo de contexto, desative a configuração e conecte apenas quando necessário, com `--chrome` na CLI ou digitando [`@browser`](/docs/pt/vs-code#automate-browser-tasks-with-chrome) na caixa de prompt do VS Code.119 Ativar Chrome por padrão aumenta o uso de contexto, pois as ferramentas do navegador e suas instruções estão sempre carregadas. Se você notar aumento no consumo de contexto, desative a configuração e conecte apenas quando necessário, com `--chrome` na CLI ou digitando [`@browser`](/docs/pt/vs-code#automate-browser-tasks-with-chrome) na caixa de prompt do VS Code.


192 Carregar arquivos em páginas web192 Carregar arquivos em páginas web

193</h3>193</h3>

194 194 

195Claude pode anexar arquivos de sua máquina para fazer upload em campos de uma página. Claude Code lê o arquivo e envia seu conteúdo para o navegador, portanto os uploads funcionam em sessões locais e remotas. Requer Claude Code v2.1.211 ou posterior.195Claude pode anexar arquivos de sua máquina para fazer upload em campos de uma página. Claude Code lê o arquivo e envia seu conteúdo para o navegador, portanto os uploads funcionam em sessões locais e remotas.

196 196 

197Este exemplo anexa um arquivo de log a um formulário:197Este exemplo anexa um arquivo de log a um formulário:

198 198 


271Take a screenshot of the checkout page and save it to disk271Take a screenshot of the checkout page and save it to disk

272```272```

273 273 

274Claude salva a imagem em disco e relata o caminho do arquivo. Antes da v2.1.211, a opção `save_to_disk` da ferramenta de captura de tela não gravava um arquivo.274Claude salva a imagem em disco e relata o caminho do arquivo.

275 275 

276<h2 id="troubleshooting">276<h2 id="troubleshooting">

277 Troubleshooting277 Troubleshooting

Details

502 Pipelines de CI e máquinas remotas502 Pipelines de CI e máquinas remotas

503</h3>503</h3>

504 504 

505Não há fluxo de token de serviço para pipelines não supervisionados. O sign-in do gateway sempre executa o fluxo de dispositivo do navegador, então um trabalho de CI sem um desenvolvedor para aprovar o sign-in não pode se autenticar; configure aqueles contra seu provedor diretamente.505Não há fluxo de token de serviço para pipelines não supervisionados. O sign-in do gateway sempre executa o fluxo de dispositivo do navegador, então um trabalho de CI sem um desenvolvedor para aprovar o sign-in não pode se autenticar; configure aqueles contra seu provedor diretamente. Implante `forceLoginMethod` e `forceLoginGatewayUrl` nas máquinas dos desenvolvedores e deixe-os fora dos runners de CI. Em uma máquina cujas configurações gerenciadas os definem, uma sessão que se autentica com `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper` [sai na inicialização](/docs/pt/errors#administrator-policy-requires-a-cloud-gateway-sign-in).

506 506 

507Uma vez que um desenvolvedor tenha feito login, cada sessão Claude Code nessa máquina usa a sessão do gateway, incluindo execuções não interativas `claude -p` e sessões iniciadas pelo Agent SDK. Claude Code aplica a [política do gateway](/docs/pt/claude-apps-gateway-config#managed) a cada uma delas.507Uma vez que um desenvolvedor tenha feito login, cada sessão Claude Code nessa máquina usa a sessão do gateway, incluindo execuções não interativas `claude -p` e sessões iniciadas pelo Agent SDK. Claude Code aplica a [política do gateway](/docs/pt/claude-apps-gateway-config#managed) a cada uma delas.

508 508 

Details

340 340 

341Defina `forward_user_identity` apenas em um upstream cujo `base_url` é um proxy que você opera. O gateway envia emails de desenvolvedor para qualquer servidor que esse `base_url` nomeia. Se o `base_url` for a API Anthropic, que é o padrão, o gateway se recusa a iniciar.341Defina `forward_user_identity` apenas em um upstream cujo `base_url` é um proxy que você opera. O gateway envia emails de desenvolvedor para qualquer servidor que esse `base_url` nomeia. Se o `base_url` for a API Anthropic, que é o padrão, o gateway se recusa a iniciar.

342 342 

343<Note>

344 Se você definir `forward_user_identity` em um upstream Amazon Bedrock, o gateway encerra na inicialização com `Unrecognized key(s) in object: 'forward_user_identity'`. Se o seu proxy fica na frente do Bedrock, liste-o como um upstream `provider: anthropic` em vez disso. O gateway envia a esse upstream o formato Anthropic Messages, portanto seu proxy precisa [traduzir requisições para o Bedrock](/docs/pt/llm-gateway-protocol#format-mismatch-with-the-upstream). Para identificar cada desenvolvedor para a AWS em vez disso, consulte [Atribuição de custos AWS por desenvolvedor](#per-developer-aws-cost-attribution).

345</Note>

346 

343<h4 id="amazon-bedrock">347<h4 id="amazon-bedrock">

344 Amazon Bedrock348 Amazon Bedrock

345</h4>349</h4>


1133 1137 

1134* A lista de modelos, de `availableModels`. [Contexto estendido no Claude Desktop](#extended-context-in-claude-desktop) cobre a opção de contexto de 1M de cada modelo1138* A lista de modelos, de `availableModels`. [Contexto estendido no Claude Desktop](#extended-context-in-claude-desktop) cobre a opção de contexto de 1M de cada modelo

1135* Ferramentas desabilitadas, de entradas `permissions.deny` de nome de ferramenta simples. Se você definir `disabledBuiltinTools` no bloco `desktop` da política, o gateway serve a união de seu valor e a lista derivada, então você pode desabilitar mais ferramentas desta forma mas não pode reabilitar uma que você desabilitou através de `permissions.deny`1139* Ferramentas desabilitadas, de entradas `permissions.deny` de nome de ferramenta simples. Se você definir `disabledBuiltinTools` no bloco `desktop` da política, o gateway serve a união de seu valor e a lista derivada, então você pode desabilitar mais ferramentas desta forma mas não pode reabilitar uma que você desabilitou através de `permissions.deny`

1136* A allowlist de egresso, de `sandbox.network.allowedDomains`. Se você definir `coworkEgressAllowedHosts` no bloco `desktop` da política, o gateway usa esse valor em vez da lista derivada1140* A allowlist de saída, de `sandbox.network.allowedDomains`. Se você definir `coworkEgressAllowedHosts` no bloco `desktop` da política, o gateway usa esse valor em vez da lista derivada. Se a allowlist que o gateway serve incluir `*` e o gateway não servir também o [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/code#applied-as-managed-policy) do Claude Desktop, o Claude Desktop não ativa o [sandbox do Bash](/docs/pt/sandboxing) na guia Code

1137* Um endpoint OTLP que aponta para o próprio gateway, e os atributos de identidade do usuário conectado. O gateway retransmite as exportações que recebe nesse endpoint para seus destinos `forward_to`. Ele inclui o endpoint e os atributos quando você define tanto [`telemetry.forward_to`](#telemetry) quanto `listen.public_url`.1141* Um endpoint OTLP que aponta para o próprio gateway, e os atributos de identidade do usuário conectado. O gateway retransmite as exportações que recebe nesse endpoint para seus destinos `forward_to`. Ele inclui o endpoint e os atributos quando você define tanto [`telemetry.forward_to`](#telemetry) quanto `listen.public_url`.

1138 1142 

1139 Claude Desktop exporta cada sinal com uma codificação: `http/protobuf`, ou `http/json` quando você define `OTEL_EXPORTER_OTLP_PROTOCOL` ou uma de suas variantes por sinal para `http/json` no `env` da política. Antes de Claude Code v2.1.261 no servidor do gateway, a resposta definia `http/json` independentemente, então um coletor que aceita apenas protobuf rejeitava as exportações do Claude Desktop1143 Claude Desktop exporta cada sinal com uma codificação: `http/protobuf`, ou `http/json` quando você define `OTEL_EXPORTER_OTLP_PROTOCOL` ou uma de suas variantes por sinal para `http/json` no `env` da política. Antes de Claude Code v2.1.261 no servidor do gateway, a resposta definia `http/json` independentemente, então um coletor que aceita apenas protobuf rejeitava as exportações do Claude Desktop


1374 1378 

1375Ambas as codificações OTLP protobuf e JSON são retransmitidas, e qualquer backend compatível com OpenTelemetry funciona como um destino.1379Ambas as codificações OTLP protobuf e JSON são retransmitidas, e qualquer backend compatível com OpenTelemetry funciona como um destino.

1376 1380 

1381<h4 id="send-cumulative-metrics">

1382 Enviar métricas cumulativas

1383</h4>

1384 

1385Se seu coletor aceita apenas métricas cumulativas, defina [`OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE`](/docs/pt/monitoring-usage#common-configuration-variables) como `cumulative`. O Claude Code envia métricas delta por padrão, e o gateway as retransmite sem convertê-las. Defina a variável onde cada tipo de sessão a lê:

1386 

1387* **Sessões de terminal**: no bloco `env` sob a [chave `cli` ou `code`](#choose-cli-or-code) de uma política

1388* **Sessões do Cowork que [são executadas na máquina do usuário](/docs/pt/managed-settings#where-and-when-a-policy-applies)**: no bloco `env` das [configurações gerenciadas no lado do cliente](#client-side-managed-settings) nessa máquina

1389* **Sessões da aba Code sob uma política `code`**: no bloco `env` da política, assim que você atender às [condições para que as configurações `code` se apliquem](#apply-code-settings-in-the-code-tab)

1390* **Sessões da aba Code sob uma política `cli`**: no bloco `env` das configurações gerenciadas no lado do cliente na máquina que executa a sessão. Via SSH, essa máquina é o host remoto.

1391 

1392Se você adicionar a variável às configurações gerenciadas de uma máquina, defina também [`parentSettingsBehavior: "merge"`](/docs/pt/claude-apps-gateway#set-the-opt-in) na fonte de maior prioridade nessa máquina. Sem isso, as sessões do Cowork e as sessões da aba Code sob uma política `cli` são executadas sem a allowlist de saída e outras políticas que o Claude Desktop lhes passa como configurações pai.

1393 

1377<h4 id="add-your-own-labels">1394<h4 id="add-your-own-labels">

1378 Adicionar seus próprios rótulos1395 Adicionar seus próprios rótulos

1379</h4>1396</h4>

Details

1706claude purge ~/work/my-repo --yes1706claude purge ~/work/my-repo --yes

1707```1707```

1708 1708 

1709Passe `--all` em vez de um caminho para limpar o estado de cada projeto de uma vez, o que deleta `history.jsonl` completamente em vez de filtrá-lo. Passe `-i` para percorrer o plano de exclusão um item por vez.1709Outras opções:

1710 

1711* Passe `--all` em vez de um caminho para limpar o estado de cada projeto de uma vez, o que deleta `history.jsonl` completamente em vez de filtrá-lo.

1712* Passe `-i` para percorrer o plano de exclusão um item por vez.

1710 1713 

1711O comando deixa `shell-snapshots/` e `backups/` sozinhos porque não têm escopo de projeto, e avisa sobre eles na saída do plano. Se alguém executou [`/heapdump`](/docs/pt/troubleshooting#high-cpu-or-memory-usage) na máquina, delete também os arquivos `.heapsnapshot` que ele escreveu. Um heap snapshot contém a conversa completa e quaisquer credenciais que o processo mantinha, e nem a varredura de retenção nem a limpeza o tocam.1714O comando deixa `shell-snapshots/` e `backups/` sozinhos porque não têm escopo de projeto, e avisa sobre eles na saída do plano. Se alguém executou [`/heapdump`](/docs/pt/troubleshooting#high-cpu-or-memory-usage) na máquina, delete também os arquivos `.heapsnapshot` que ele escreveu. Um heap snapshot contém a conversa completa e quaisquer credenciais que o processo mantinha, e nem a varredura de retenção nem a limpeza o tocam.

1712 1715 

1713Você também pode deletar qualquer um dos caminhos de dados da aplicação acima manualmente, exceto os [arquivos de estado para manter](#state-files-to-keep). Novas sessões não são afetadas. A tabela abaixo mostra o que você perde para sessões passadas.1716Você também pode deletar qualquer um dos caminhos de dados da aplicação acima manualmente, exceto os [arquivos de estado para manter](#state-files-to-keep).

1714 1717 

1715| Deletar | Você perde |1718| Deletar | Você perde |

1716| - | - |1719| - | - |


1726| `~/.claude/remote-settings.json` | Nada. Re-buscado no próximo lançamento. |1729| `~/.claude/remote-settings.json` | Nada. Re-buscado no próximo lançamento. |

1727| `~/.claude/cache/changelog.md` | Nada. Atualizado em segundo plano. |1730| `~/.claude/cache/changelog.md` | Nada. Atualizado em segundo plano. |

1728| `~/.claude/policy-limits.json` | Nada. Atualizado automaticamente. |1731| `~/.claude/policy-limits.json` | Nada. Atualizado automaticamente. |

1729| `~/.claude/tasks/` | Listas de tarefas que uma sessão retomada pegaria |1732| `~/.claude/tasks/` | Suas [listas de tarefas](/docs/pt/interactive-mode#task-list), incluindo as que ainda estão em uso |

1730| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | A chance de recuperar [skills sincronizadas](/docs/pt/skills#how-synced-skills-behave) e [plugins sincronizados](/docs/pt/plugins/loading#synced-plugins) que Claude Code removeu |1733| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | A chance de recuperar [skills sincronizadas](/docs/pt/skills#how-synced-skills-behave) e [plugins sincronizados](/docs/pt/plugins/loading#synced-plugins) que Claude Code removeu |

1731| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | As cópias dos registros de instalação de plugin que Claude Code descartou ou não conseguiu ler. Nada as lê de volta |1734| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | As cópias dos registros de instalação de plugin que Claude Code descartou ou não conseguiu ler. Nada as lê de volta |

1732| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nada voltado para o usuário |1735| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nada voltado para o usuário |

Details

115| `--no-session-persistence` | Desativar persistência de sessão para que as sessões não sejam salvas em disco e não possam ser retomadas. Apenas modo print. A variável de ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/pt/env-vars) faz o mesmo em qualquer modo | `claude -p --no-session-persistence "query"` |115| `--no-session-persistence` | Desativar persistência de sessão para que as sessões não sejam salvas em disco e não possam ser retomadas. Apenas modo print. A variável de ambiente [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/pt/env-vars) faz o mesmo em qualquer modo | `claude -p --no-session-persistence "query"` |

116| `--output-format` | Especificar formato de saída para modo print (opções: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |116| `--output-format` | Especificar formato de saída para modo print (opções: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |

117| `--permission-mode` | Começar em um [modo de permissão](/docs/pt/permission-modes) especificado. Aceita `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions` ou `manual` como um alias para `default`. O alias `manual` seleciona o modo de permissão que a UI rotula como Manual e requer Claude Code v2.1.200 ou posterior; `claude --help` o lista no lugar de `default` e ambos os valores funcionam. Substitui `defaultMode` dos arquivos de configuração. Sem este sinalizador ou `--dangerously-skip-permissions`, uma nova sessão inicia no modo de permissão descrito em [qual modo de permissão uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in), que também cobre o que uma execução `-p` inicia | `claude --permission-mode plan` |117| `--permission-mode` | Começar em um [modo de permissão](/docs/pt/permission-modes) especificado. Aceita `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions` ou `manual` como um alias para `default`. O alias `manual` seleciona o modo de permissão que a UI rotula como Manual e requer Claude Code v2.1.200 ou posterior; `claude --help` o lista no lugar de `default` e ambos os valores funcionam. Substitui `defaultMode` dos arquivos de configuração. Sem este sinalizador ou `--dangerously-skip-permissions`, uma nova sessão inicia no modo de permissão descrito em [qual modo de permissão uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in), que também cobre o que uma execução `-p` inicia | `claude --permission-mode plan` |

118| `--permission-prompt-tool` | Especificar uma ferramenta MCP para lidar com prompts de permissão em modo não interativo. Claude Code aguarda a conexão do servidor MCP dessa ferramenta antes de executar o primeiro turno, até o tempo limite de inicialização [`MCP_TIMEOUT`](/docs/pt/env-vars), 30 segundos por padrão. <br /><br />A ferramenta de prompt não pode aprovar uma ferramenta MCP marcada como [exigindo interação do usuário](/docs/pt/mcp#require-approval-for-a-specific-tool): Claude Code converte um resultado `allow` para uma em uma negação. Esta restrição requer Claude Code v2.1.199 ou posterior | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |118| `--permission-prompt-tool` | Especificar uma ferramenta MCP para lidar com prompts de permissão em modo não interativo. Passe o nome completo, como `mcp__<server>__<tool>`, de uma ferramenta em um servidor MCP que a execução carrega. Claude Code aguarda a conexão do servidor MCP dessa ferramenta antes de executar o primeiro turno, até o timeout de inicialização [`MCP_TIMEOUT`](/docs/pt/env-vars), 30 segundos por padrão. <br /><br />A ferramenta de prompt não pode aprovar uma ferramenta MCP marcada como [exigindo interação do usuário](/docs/pt/mcp#require-approval-for-a-specific-tool): Claude Code converte um resultado `allow` para uma em uma negação. Esta restrição requer Claude Code v2.1.199 ou posterior | `claude -p --mcp-config ./mcp.json --permission-prompt-tool mcp__permissions__approve "query"` |

119| `--permission-prompts` | Definir quem responde prompts de permissão em modo print. Com o padrão `host`, Claude Code os envia para o host do Agent SDK ou a ferramenta `--permission-prompt-tool`. Passe `none` quando ninguém puder responder, e Claude Code os nega em vez disso. Veja [Desativar prompts de permissão em execuções sem supervisão](/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs). Requer Claude Code v2.1.259 ou posterior | `claude -p --permission-prompts none "query"` |119| `--permission-prompts` | Definir quem responde prompts de permissão em modo print. Com o padrão `host`, Claude Code os envia para o host do Agent SDK ou a ferramenta `--permission-prompt-tool`. Passe `none` quando ninguém puder responder, e Claude Code os nega em vez disso. Veja [Desativar prompts de permissão em execuções sem supervisão](/docs/pt/headless#turn-off-permission-prompts-in-unattended-runs). Requer Claude Code v2.1.259 ou posterior | `claude -p --permission-prompts none "query"` |

120| `--plugin-dir` | Carregar um plugin de um diretório ou arquivo `.zip`, ou vários de uma [pasta de plugins](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session), apenas para esta sessão. Cada sinalizador leva um caminho. Repita o sinalizador para mais caminhos: `--plugin-dir A --plugin-dir B.zip`. Passar uma pasta de plugins requer Claude Code v2.1.265 ou posterior | `claude --plugin-dir ./my-plugin` |120| `--plugin-dir` | Carregar um plugin de um diretório ou arquivo `.zip`, ou vários de uma [pasta de plugins](/docs/pt/plugins/create#load-a-directory-or-archive-for-one-session), apenas para esta sessão. Cada sinalizador leva um caminho. Repita o sinalizador para mais caminhos: `--plugin-dir A --plugin-dir B.zip`. Passar uma pasta de plugins requer Claude Code v2.1.265 ou posterior | `claude --plugin-dir ./my-plugin` |

121| `--plugin-url` | Buscar um arquivo `.zip` de plugin de uma URL apenas para esta sessão. Repita o sinalizador para vários plugins, ou passe URLs separadas por espaço em um único valor entre aspas | `claude --plugin-url https://example.com/plugin.zip` |121| `--plugin-url` | Buscar um arquivo `.zip` de plugin de uma URL apenas para esta sessão. Repita o sinalizador para vários plugins, ou passe URLs separadas por espaço em um único valor entre aspas | `claude --plugin-url https://example.com/plugin.zip` |

Details

117 117 

118* **O repositório está configurado como Manual**: como solicitar uma revisão com um comentário118* **O repositório está configurado como Manual**: como solicitar uma revisão com um comentário

119* **O pull request vem de um fork**: que um mantenedor pode solicitar a revisão119* **O pull request vem de um fork**: que um mantenedor pode solicitar a revisão

120* **Um bot, ou alguém sem acesso de escrita, comenta `@claude review`**: que nenhuma revisão foi iniciada e quem pode solicitar uma120* **Um bot, ou alguém sem acesso de escrita que não é o autor do pull request, comenta `@claude review`**: que nenhuma revisão foi iniciada e quem pode solicitar uma

121* **A organização do GitHub não está vinculada à sua organização Claude**: que as revisões estão pausadas e como vinculá-la121* **A organização do GitHub não está vinculada à sua organização Claude**: que as revisões estão pausadas e como vinculá-la

122 122 

123Desative a configuração para interromper esses comentários.123Desative a configuração para interromper esses comentários.

Details

38 38 

39* **O Code Review não está ativado para este repositório**: o Claude não publica nenhum comentário nem check run em resposta ao comando. Peça a um Owner para [adicionar o repositório](/docs/pt/code-review-setup#add-more-repositories).39* **O Code Review não está ativado para este repositório**: o Claude não publica nenhum comentário nem check run em resposta ao comando. Peça a um Owner para [adicionar o repositório](/docs/pt/code-review-setup#add-more-repositories).

40* **O comentário não atende a uma condição**: era um comentário inline ou o corpo de uma revisão, em vez de um novo comentário de nível superior, ou o comando não estava no início do comentário. Editar um comentário anterior em vez de publicar um novo também não conta, e o pull request precisa estar aberto. Consulte as [condições para comandos em comentários](/docs/pt/code-review-pull-requests#comment-commands) e publique um novo comentário que as atenda.40* **O comentário não atende a uma condição**: era um comentário inline ou o corpo de uma revisão, em vez de um novo comentário de nível superior, ou o comando não estava no início do comentário. Editar um comentário anterior em vez de publicar um novo também não conta, e o pull request precisa estar aberto. Consulte as [condições para comandos em comentários](/docs/pt/code-review-pull-requests#comment-commands) e publique um novo comentário que as atenda.

41* **Você não tem acesso de escrita**: você precisa da permissão write, maintain ou admin no repositório e, em um pull request de um fork, a permissão que conta é a do repositório base. Se a sua organização tiver as dicas ativadas, o Claude responde "No review was started: manual reviews can only be requested by someone with write access to this repository." Peça a alguém com acesso de escrita para comentar.41* **Você não tem acesso de escrita**: você precisa da permissão write, maintain ou admin no repositório. Em um pull request de um fork, a permissão que conta é a do repositório base. A menos que o pull request seja seu, o Claude pode responder com uma [dica](/docs/pt/code-review-setup#turn-tip-comments-on-or-off): "No review was started: manual reviews can only be requested by someone with write access to this repository." Peça a alguém com acesso de escrita para comentar em seu lugar.

42* **O orçamento acabou**: o Claude publica um comentário que começa com "⚠️ Code review skipped". Consulte [A revisão não foi executada e o PR mostra uma mensagem de orçamento](#review-didn’t-run-and-the-pr-shows-a-budget-message).42* **O orçamento acabou**: o Claude publica um comentário que começa com "⚠️ Code review skipped". Consulte [A revisão não foi executada e o PR mostra uma mensagem de orçamento](#review-didn’t-run-and-the-pr-shows-a-budget-message).

43 43 

44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">

commands.md +5 −5

Details

65| `/background [prompt]` | Desanexe a sessão atual para ser executada como um [agente em segundo plano](/docs/pt/agent-view) e libere este terminal. Passe um prompt para enviar uma instrução adicional antes de desanexar. Monitore a sessão com `claude agents`. Para copiar a conversa em uma nova sessão em segundo plano enquanto esta continua em execução, use `/fork`. Alias: `/bg` |65| `/background [prompt]` | Desanexe a sessão atual para ser executada como um [agente em segundo plano](/docs/pt/agent-view) e libere este terminal. Passe um prompt para enviar uma instrução adicional antes de desanexar. Monitore a sessão com `claude agents`. Para copiar a conversa em uma nova sessão em segundo plano enquanto esta continua em execução, use `/fork`. Alias: `/bg` |

66| `/batch <instruction>` | **[Skill](/docs/pt/skills#bundled-skills).** Orquestre mudanças em larga escala em uma base de código em paralelo. Pesquisa a base de código, decompõe o trabalho em 5 a 30 unidades independentes e apresenta um plano. Uma vez aprovado, inicia um [subagente em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) por unidade em um [worktree](/docs/pt/worktrees) isolado. Cada subagente implementa sua unidade, executa testes e publica sua mudança. Requer um repositório git ou um [hook `WorktreeCreate`](/docs/pt/worktrees#non-git-version-control) que cria os worktrees. Fora de um repositório git, `/batch` requer Claude Code v2.1.281 ou posterior. Exemplo: `/batch migrate src/ from JavaScript to TypeScript` |66| `/batch <instruction>` | **[Skill](/docs/pt/skills#bundled-skills).** Orquestre mudanças em larga escala em uma base de código em paralelo. Pesquisa a base de código, decompõe o trabalho em 5 a 30 unidades independentes e apresenta um plano. Uma vez aprovado, inicia um [subagente em segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) por unidade em um [worktree](/docs/pt/worktrees) isolado. Cada subagente implementa sua unidade, executa testes e publica sua mudança. Requer um repositório git ou um [hook `WorktreeCreate`](/docs/pt/worktrees#non-git-version-control) que cria os worktrees. Fora de um repositório git, `/batch` requer Claude Code v2.1.281 ou posterior. Exemplo: `/batch migrate src/ from JavaScript to TypeScript` |

67| `/branch [name]` | Crie um branch da conversa atual neste ponto, para que você possa tentar uma direção diferente sem perder a conversa como está. Muda você para o branch e preserva o original, ao qual você pode retornar com `/resume`. Para executar uma cópia como uma [sessão em segundo plano](/docs/pt/agent-view) separada em vez de mudar para ela, use `/fork`; para entregar uma tarefa lateral a um [subagente](/docs/pt/sub-agents) que relata de volta para esta conversa, use `/subtask` |67| `/branch [name]` | Crie um branch da conversa atual neste ponto, para que você possa tentar uma direção diferente sem perder a conversa como está. Muda você para o branch e preserva o original, ao qual você pode retornar com `/resume`. Para executar uma cópia como uma [sessão em segundo plano](/docs/pt/agent-view) separada em vez de mudar para ela, use `/fork`; para entregar uma tarefa lateral a um [subagente](/docs/pt/sub-agents) que relata de volta para esta conversa, use `/subtask` |

68| `/btw [question]` | Faça uma [pergunta lateral](/docs/pt/interactive-mode#side-questions-with-%2Fbtw) sobre a sessão atual sem adicionar à conversa. Se você executar `/btw` sem uma pergunta, Claude Code mostra sua pergunta lateral mais recente para que você possa procurar respostas anteriores; se você ainda não fez uma, Claude Code imprime uma linha de uso. Antes da v2.1.212, `/btw` exigia uma pergunta |68| `/btw [question]` | Faça uma [pergunta lateral](/docs/pt/interactive-mode#side-questions-with-%2Fbtw) sobre a sessão atual sem adicionar à conversa. Se você executar `/btw` sem uma pergunta, Claude Code mostra sua pergunta lateral mais recente para que você possa procurar respostas anteriores; se você ainda não fez uma, Claude Code imprime uma linha de uso |

69| `/bug [report]` | Relate um bug ou compartilhe sua conversa. Você escolhe quanto histórico de sessão incluir e confirma em uma tela de consentimento antes de qualquer coisa ser enviada. Quando você está conectado ao Anthropic em uma conexão de primeira parte, o relatório vai para Anthropic; em um provedor de terceiros, ou sem credenciais Anthropic, Claude Code escreve o relatório em um [arquivo local sob `~/.claude/feedback-bundles/`](/docs/pt/data-usage#telemetry-services) que você encaminha você mesmo. Na [extensão VS Code](/docs/pt/vs-code#use-the-prompt-box), `/bug` abre o diálogo de feedback próprio da extensão; requer Claude Code v2.1.229 ou posterior. Quando você o executa enquanto Claude está respondendo, Claude Code abre o diálogo imediatamente. Antes da v2.1.232, Claude Code enfileirava o comando até que o turno terminasse. Alias: `/share`. Antes da v2.1.212, `/bug` e `/share` eram aliases de `/feedback` |69| `/bug [report]` | Relate um bug ou compartilhe sua conversa. Você escolhe quanto histórico de sessão incluir e confirma em uma tela de consentimento antes de qualquer coisa ser enviada. Quando você está conectado ao Anthropic em uma conexão de primeira parte, o relatório vai para Anthropic; em um provedor de terceiros, ou sem credenciais Anthropic, Claude Code escreve o relatório em um [arquivo local sob `~/.claude/feedback-bundles/`](/docs/pt/data-usage#telemetry-services) que você encaminha você mesmo. Na [extensão VS Code](/docs/pt/vs-code#use-the-prompt-box), `/bug` abre o diálogo de feedback próprio da extensão; requer Claude Code v2.1.229 ou posterior. Quando você o executa enquanto Claude está respondendo, Claude Code abre o diálogo imediatamente. Antes da v2.1.232, Claude Code enfileirava o comando até que o turno terminasse. Alias: `/share`. Antes da v2.1.212, `/bug` e `/share` eram aliases de `/feedback` |

70| `/cd <path>` | Mova esta sessão para um novo diretório de trabalho, mantendo a conversa. Digite um caminho parcial para ver sugestões de diretório correspondentes; pressione `Tab` para aceitar uma. Para o que Claude Code aplica do novo diretório assim que você se move, e como `/cd` difere de `/add-dir`, consulte [Mova a sessão para outro diretório](/docs/pt/permissions#move-the-session-to-another-directory) |70| `/cd <path>` | Mova esta sessão para um novo diretório de trabalho, mantendo a conversa. Digite um caminho parcial para ver sugestões de diretório correspondentes; pressione `Tab` para aceitar uma. Para o que Claude Code aplica do novo diretório assim que você se move, e como `/cd` difere de `/add-dir`, consulte [Mova a sessão para outro diretório](/docs/pt/permissions#move-the-session-to-another-directory) |

71| `/chrome` | Configure as configurações de [Claude em Chrome](/docs/pt/chrome) |71| `/chrome` | Configure as configurações de [Claude em Chrome](/docs/pt/chrome) |


95| `/feedback [report]` | Envie feedback de produto sobre Claude Code. Abre o mesmo diálogo que [`/bug`](#all-commands), com a mesma etapa de consentimento, regras de envio e comportamento no meio do turno. Em sessões com [feedback rascunhado por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), `/feedback` sem argumento abre a fila de rascunhos, onde você revisa, edita, envia ou descarta os rascunhos que Claude enfileirou; a fila inclui uma opção para escrever um novo relatório no diálogo. Com um argumento, e para `/bug` sempre, o diálogo abre diretamente |95| `/feedback [report]` | Envie feedback de produto sobre Claude Code. Abre o mesmo diálogo que [`/bug`](#all-commands), com a mesma etapa de consentimento, regras de envio e comportamento no meio do turno. Em sessões com [feedback rascunhado por Claude](/docs/pt/tools-reference#sendfeedback-tool-behavior), `/feedback` sem argumento abre a fila de rascunhos, onde você revisa, edita, envia ou descarta os rascunhos que Claude enfileirou; a fila inclui uma opção para escrever um novo relatório no diálogo. Com um argumento, e para `/bug` sempre, o diálogo abre diretamente |

96| `/fewer-permission-prompts` | **[Skill](/docs/pt/skills#bundled-skills).** Escaneie suas transcrições para chamadas de ferramenta Bash e MCP somente leitura comuns, depois adicione uma allowlist priorizada ao `.claude/settings.json` do projeto para reduzir prompts de permissão |96| `/fewer-permission-prompts` | **[Skill](/docs/pt/skills#bundled-skills).** Escaneie suas transcrições para chamadas de ferramenta Bash e MCP somente leitura comuns, depois adicione uma allowlist priorizada ao `.claude/settings.json` do projeto para reduzir prompts de permissão |

97| `/focus` | Alterne a visualização de foco, que mostra apenas seu último prompt, um resumo de chamada de ferramenta de uma linha com estatísticas de diff de edição e a resposta final. O resumo de chamada de ferramenta também conta os subagentes iniciados no turno e recolhe notificações de tarefas em segundo plano concluídas em uma única contagem. A seleção persiste entre sessões; defina [`viewMode`](/docs/pt/settings-reference#viewmode) nas configurações para sobrescrevê-la. Disponível apenas em [renderização tela cheia](/docs/pt/fullscreen). De um cliente [Remote Control](/docs/pt/remote-control), execute `/focus [on\|off]` para ativar ou desativar a visualização de foco para a sessão atual apenas, sem alterar sua seleção salva; isso requer Claude Code v2.1.281 ou posterior. A [extensão VS Code](/docs/pt/vs-code#use-the-prompt-box) oferece sua própria visualização Focus como um toggle de menu de comando, armazenado como uma configuração de extensão, independente de `viewMode` |97| `/focus` | Alterne a visualização de foco, que mostra apenas seu último prompt, um resumo de chamada de ferramenta de uma linha com estatísticas de diff de edição e a resposta final. O resumo de chamada de ferramenta também conta os subagentes iniciados no turno e recolhe notificações de tarefas em segundo plano concluídas em uma única contagem. A seleção persiste entre sessões; defina [`viewMode`](/docs/pt/settings-reference#viewmode) nas configurações para sobrescrevê-la. Disponível apenas em [renderização tela cheia](/docs/pt/fullscreen). De um cliente [Remote Control](/docs/pt/remote-control), execute `/focus [on\|off]` para ativar ou desativar a visualização de foco para a sessão atual apenas, sem alterar sua seleção salva; isso requer Claude Code v2.1.281 ou posterior. A [extensão VS Code](/docs/pt/vs-code#use-the-prompt-box) oferece sua própria visualização Focus como um toggle de menu de comando, armazenado como uma configuração de extensão, independente de `viewMode` |

98| `/fork [prompt]` | [Copie a conversa atual](/docs/pt/agent-view#copy-the-session-with-%2Ffork) em uma nova sessão em segundo plano e continue trabalhando aqui. Passe um prompt e a cópia começa a trabalhar nele imediatamente; sem um, aguarda na visualização de agente para seu primeiro prompt. Exceto quando a cópia [edita no local](/docs/pt/agent-view#how-file-edits-are-isolated), Claude Code a instrui a criar um worktree próprio antes de fazer mudanças de código; a instrução de isolamento requer Claude Code v2.1.221 ou posterior. Para entregar uma tarefa lateral a um subagente cujo resultado volta para esta conversa, use `/subtask`; para mudar para uma cópia você mesmo, use `/branch`. Requer Claude Code v2.1.212 ou posterior; na v2.1.161 através v2.1.211, e sempre que [a visualização de agente está desativada](/docs/pt/agent-view#turn-off-agent-view), `/fork` inicia um [subagente bifurcado](/docs/pt/sub-agents#fork-the-current-conversation) |98| `/fork [prompt]` | [Copie a conversa atual](/docs/pt/agent-view#copy-the-session-with-%2Ffork) em uma nova sessão em segundo plano e continue trabalhando aqui. Passe um prompt e a cópia começa a trabalhar nele imediatamente; sem um, aguarda na visualização de agente para seu primeiro prompt. Exceto quando a cópia [edita no local](/docs/pt/agent-view#how-file-edits-are-isolated), Claude Code a instrui a criar um worktree próprio antes de fazer mudanças de código; a instrução de isolamento requer Claude Code v2.1.221 ou posterior. Para entregar uma tarefa lateral a um subagente cujo resultado volta para esta conversa, use `/subtask`; para mudar para uma cópia você mesmo, use `/branch`. Quando [a visualização de agente está desativada](/docs/pt/agent-view#turn-off-agent-view), `/fork` inicia um [subagente bifurcado](/docs/pt/sub-agents#fork-the-current-conversation) em vez disso |

99| `/goal [condition\|clear]` | Defina uma [meta](/docs/pt/goal): Claude continua trabalhando entre turnos até que a condição seja atendida ou a meta [limpe por outro motivo](/docs/pt/goal#how-evaluation-works). Sem argumento, mostra a meta atual ou mais recentemente alcançada. `clear`, `stop`, `off`, `reset`, `none` ou `cancel` remove uma meta ativa antecipadamente |99| `/goal [condition\|clear]` | Defina uma [meta](/docs/pt/goal): Claude continua trabalhando entre turnos até que a condição seja atendida ou a meta [limpe por outro motivo](/docs/pt/goal#how-evaluation-works). Sem argumento, mostra a meta atual ou mais recentemente alcançada. `clear`, `stop`, `off`, `reset`, `none` ou `cancel` remove uma meta ativa antecipadamente |

100| `/heapdump` | Escreva um snapshot de heap JavaScript e um detalhamento de memória em `~/Desktop`, ou seu diretório pessoal no Linux sem uma pasta Desktop, para diagnosticar alto uso de memória. Anexe apenas o arquivo `-diagnostics.json` ao relatar um problema de memória; o `.heapsnapshot` contém sua conversa completa e credenciais, então não o compartilhe. [Oculto do menu de comando](#how-the-command-menu-matches-what-you-type); digite-o por completo. Consulte [o que fazer com a saída](/docs/pt/troubleshooting#high-cpu-or-memory-usage) |100| `/heapdump` | Escreva um snapshot de heap JavaScript e um detalhamento de memória em `~/Desktop`, ou seu diretório pessoal no Linux sem uma pasta Desktop, para diagnosticar alto uso de memória. Anexe apenas o arquivo `-diagnostics.json` ao relatar um problema de memória; o `.heapsnapshot` contém sua conversa completa e credenciais, então não o compartilhe. [Oculto do menu de comando](#how-the-command-menu-matches-what-you-type); digite-o por completo. Consulte [o que fazer com a saída](/docs/pt/troubleshooting#high-cpu-or-memory-usage) |

101| `/help` | Mostre ajuda e comandos disponíveis |101| `/help` | Mostre ajuda e comandos disponíveis |

102| `/hooks` | Veja configurações de [hook](/docs/pt/hooks#the-%2Fhooks-menu) |102| `/hooks` | Veja configurações de [hook](/docs/pt/hooks#the-%2Fhooks-menu) |

103| `/ide` | Gerencie integrações de IDE e mostre status |103| `/ide` | Gerencie integrações de IDE e mostre status |

104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Traga configuração do OpenAI Codex, Google Gemini CLI ou Cursor em sua máquina para Claude Code, incluindo arquivos de instrução, servidores MCP, comandos, subagentes e skills. Em [modo não interativo](/docs/pt/headless) com `-p`, `/import` lista o que encontrou e fornece o comando que confirma a importação. Adicione `--dry-run` para visualizar sem escrever nada, ou `--yes` para pular o seletor interativo. Não disponível no Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou Claude Platform on AWS, ou através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway#availability-and-limitations). Também indisponível quando você desativa [busca de flags de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Requer Claude Code v2.1.213 ou posterior. Importar do Cursor requer v2.1.265 ou posterior |104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Traga configuração do OpenAI Codex, Google Gemini CLI ou Cursor em sua máquina para Claude Code, incluindo arquivos de instrução, servidores MCP, comandos, subagentes e skills. Em [modo não interativo](/docs/pt/headless) com `-p`, `/import` lista o que encontrou e fornece o comando que confirma a importação. Adicione `--dry-run` para visualizar sem escrever nada, ou `--yes` para pular o seletor interativo. Não disponível no Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou Claude Platform on AWS, ou através de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway#availability-and-limitations). Também indisponível quando você desativa [busca de flags de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Importar do Cursor requer v2.1.265 ou posterior |

105| `/init` | Inicialize o projeto com um guia `CLAUDE.md`. Defina `CLAUDE_CODE_NEW_INIT=1` para um fluxo interativo que também percorre skills, hooks e arquivos de memória pessoal. Se `/init` encontrar configuração do OpenAI Codex ou Google Gemini CLI, oferece carregá-la com `/import` |105| `/init` | Inicialize o projeto com um guia `CLAUDE.md`. Defina `CLAUDE_CODE_NEW_INIT=1` para um fluxo interativo que também percorre skills, hooks e arquivos de memória pessoal. Se `/init` encontrar configuração do OpenAI Codex ou Google Gemini CLI, oferece carregá-la com `/import` |

106| `/insights` | Gere um relatório HTML analisando suas sessões recentes nesta máquina: em quais projetos você trabalha, como você usa Claude Code, onde as coisas dão errado e recursos para tentar. Não disponível em [sessões na nuvem](/docs/pt/claude-code-on-the-web). Consulte [Analise seus padrões de uso](/docs/pt/costs#analyze-your-usage-patterns) para a localização do relatório, retenção e custo |106| `/insights` | Gere um relatório HTML analisando suas sessões recentes nesta máquina: em quais projetos você trabalha, como você usa Claude Code, onde as coisas dão errado e recursos para tentar. Não disponível em [sessões na nuvem](/docs/pt/claude-code-on-the-web). Consulte [Analise seus padrões de uso](/docs/pt/costs#analyze-your-usage-patterns) para a localização do relatório, retenção e custo |

107| `/install-github-app` | Instale o Claude GitHub App para um repositório, com uma etapa opcional para configurar workflows do [GitHub Actions](/docs/pt/github-actions) e segredos. Orienta você através da seleção de um repositório e configuração da integração. Funciona apenas com repositórios github.com. Quando o git remote do seu repositório está em gitlab.com ou bitbucket.org, o comando imprime um aviso e sai em vez de iniciar a configuração. Para executar Claude Code a partir de pipelines GitLab, consulte [GitLab CI/CD](/docs/pt/gitlab-ci-cd) |107| `/install-github-app` | Instale o Claude GitHub App para um repositório, com uma etapa opcional para configurar workflows do [GitHub Actions](/docs/pt/github-actions) e segredos. Orienta você através da seleção de um repositório e configuração da integração. Funciona apenas com repositórios github.com. Quando o git remote do seu repositório está em gitlab.com ou bitbucket.org, o comando imprime um aviso e sai em vez de iniciar a configuração. Para executar Claude Code a partir de pipelines GitLab, consulte [GitLab CI/CD](/docs/pt/gitlab-ci-cd) |


153| `/statusline` | Configure a [linha de status](/docs/pt/statusline) do Claude Code. Descreva o que você quer, ou execute sem argumentos para auto-configurar a partir do seu prompt do shell |153| `/statusline` | Configure a [linha de status](/docs/pt/statusline) do Claude Code. Descreva o que você quer, ou execute sem argumentos para auto-configurar a partir do seu prompt do shell |

154| `/stickers` | Peça adesivos Claude Code |154| `/stickers` | Peça adesivos Claude Code |

155| `/stop` | Pare a [sessão em segundo plano](/docs/pt/agent-view) à qual você está anexado, ou aquela para a qual você o envia como uma [resposta de peek](/docs/pt/agent-view#peek-and-reply); a transcrição e qualquer worktree são mantidos. Para desanexar sem parar, use `/exit` ou pressione `←` |155| `/stop` | Pare a [sessão em segundo plano](/docs/pt/agent-view) à qual você está anexado, ou aquela para a qual você o envia como uma [resposta de peek](/docs/pt/agent-view#peek-and-reply); a transcrição e qualquer worktree são mantidos. Para desanexar sem parar, use `/exit` ou pressione `←` |

156| `/subtask <task>` | Inicie um [subagente bifurcado](/docs/pt/sub-agents#fork-the-current-conversation): um subagente em segundo plano que herda a conversa completa e trabalha na tarefa enquanto você continua trabalhando. Seu resultado retorna para esta conversa quando termina. Para copiar a conversa em uma sessão em segundo plano separada, use `/fork`. Requer Claude Code v2.1.212 ou posterior; na v2.1.161 através v2.1.211 este comando é `/fork`. Quando [a visualização de agente está desativada](/docs/pt/agent-view#turn-off-agent-view), `/subtask` não está disponível e `/fork` mantém o comportamento de subagente bifurcado |156| `/subtask <task>` | Inicie um [subagente bifurcado](/docs/pt/sub-agents#fork-the-current-conversation): um subagente em segundo plano que herda a conversa completa e trabalha na tarefa enquanto você continua trabalhando. Seu resultado retorna para esta conversa quando termina. Para copiar a conversa em uma sessão em segundo plano separada, use `/fork`. Quando [a visualização de agente está desativada](/docs/pt/agent-view#turn-off-agent-view), `/subtask` não está disponível e `/fork` inicia o subagente bifurcado em vez disso |

157| `/tasks` | Veja e gerencie trabalho em segundo plano na sessão atual, incluindo subagentes que terminaram. Também disponível como `/bashes` |157| `/tasks` | Veja e gerencie trabalho em segundo plano na sessão atual, incluindo subagentes que terminaram. Também disponível como `/bashes` |

158| `/team-onboarding` | Gere um guia de integração de equipe a partir do seu histórico de uso do Claude Code. Claude analisa suas sessões, comandos e uso de servidor MCP dos últimos 30 dias e produz um guia markdown que um colega pode colar como primeira mensagem para se configurar rapidamente. Para assinantes claude.ai em planos Pro, Max, Team e Enterprise, também retorna um link de compartilhamento que colegas podem abrir diretamente em Claude Code |158| `/team-onboarding` | Gere um guia de integração de equipe a partir do seu histórico de uso do Claude Code. Claude analisa suas sessões, comandos e uso de servidor MCP dos últimos 30 dias. Ele produz um guia markdown que um colega pode colar como primeira mensagem para se configurar rapidamente. Para assinantes claude.ai em planos Team e Enterprise, também retorna um link de compartilhamento que colegas podem abrir diretamente em Claude Code |

159| `/teleport` | Puxe uma [sessão na nuvem](/docs/pt/claude-code-on-the-web#from-cloud-to-terminal) para este terminal. Abre um seletor, depois busca o branch e a conversa. Também disponível como `/tp`. Requer uma assinatura claude.ai |159| `/teleport` | Puxe uma [sessão na nuvem](/docs/pt/claude-code-on-the-web#from-cloud-to-terminal) para este terminal. Abre um seletor, depois busca o branch e a conversa. Também disponível como `/tp`. Requer uma assinatura claude.ai |

160| `/terminal-setup` | [Instale um atalho de teclado Shift+Enter para novas linhas](/docs/pt/terminal-config#enter-multiline-prompts) em VS Code, Cursor, Devin Desktop, Alacritty ou Zed. No Apple Terminal, [ative Option+Enter para novas linhas e desative o sino audível](/docs/pt/terminal-config#enable-option-key-shortcuts-on-macos). No iTerm2, [ative acesso à área de transferência para que `/copy` funcione](/docs/pt/terminal-config#enable-option-key-shortcuts-on-macos) |160| `/terminal-setup` | [Instale um atalho de teclado Shift+Enter para novas linhas](/docs/pt/terminal-config#enter-multiline-prompts) em VS Code, Cursor, Devin Desktop, Alacritty ou Zed. No Apple Terminal, [ative Option+Enter para novas linhas e desative o sino audível](/docs/pt/terminal-config#enable-option-key-shortcuts-on-macos). No iTerm2, [ative acesso à área de transferência para que `/copy` funcione](/docs/pt/terminal-config#enable-option-key-shortcuts-on-macos) |

161| `/theme` | Altere o tema de cor. Inclui uma opção `auto` que corresponde ao fundo claro ou escuro do seu terminal, variantes claras e escuras, temas acessíveis para daltonismo (daltonizados), temas ANSI que usam a paleta de cores do seu terminal e qualquer [tema personalizado](/docs/pt/terminal-config#create-a-custom-theme) de `~/.claude/themes/` ou plugins. Selecione **New custom theme…** para criar um |161| `/theme` | Altere o tema de cor. Inclui uma opção `auto` que corresponde ao fundo claro ou escuro do seu terminal, variantes claras e escuras, temas acessíveis para daltonismo (daltonizados), temas ANSI que usam a paleta de cores do seu terminal e qualquer [tema personalizado](/docs/pt/terminal-config#create-a-custom-theme) de `~/.claude/themes/` ou plugins. Selecione **New custom theme…** para criar um |

Details

120Quando o launcher não consegue executar, Claude Code recusa iniciar o processo em vez de iniciá-lo sem envolvimento. No Windows, [a variável é ignorada](#what-the-launcher-covers) e os processos iniciam sem envolvimento. Claude Code mantém o script a essas regras:120Quando o launcher não consegue executar, Claude Code recusa iniciar o processo em vez de iniciá-lo sem envolvimento. No Windows, [a variável é ignorada](#what-the-launcher-covers) e os processos iniciam sem envolvimento. Claude Code mantém o script a essas regras:

121 121 

122* **Termine com `exec "$@"`.** Um launcher que bifurca um filho e sai deixa um processo Claude Code órfão que o serviço de fundo não consegue rastrear. Agent view marca tal sessão como falha com uma mensagem nomeando o launcher, e o serviço colhe o que o launcher deixou para trás.122* **Termine com `exec "$@"`.** Um launcher que bifurca um filho e sai deixa um processo Claude Code órfão que o serviço de fundo não consegue rastrear. Agent view marca tal sessão como falha com uma mensagem nomeando o launcher, e o serviço colhe o que o launcher deixou para trás.

123* **Não reordene, absorva ou antecipe argumentos.** O primeiro argumento é o binário Claude Code e tudo depois dele é seu argv.123* **Não reordene, absorva nem adicione aos argumentos do Claude Code.** Remova os [próprios argumentos](#pass-arguments-to-the-launcher) do launcher, que vêm primeiro, e passe o restante para `exec` como chegou.

124* **Passe cada variável de ambiente herdada através para `exec`.** Adicionar variáveis, como credenciais injetadas, é bom; descartar as herdadas não é.124* **Passe cada variável de ambiente herdada através para `exec`.** Adicionar variáveis, como credenciais injetadas, é bom; descartar as herdadas não é.

125 * Os tokens de autenticação por sessão, a seleção de modelo e provedor, e `CLAUDE_CODE_PROCESS_WRAPPER` em si viajam no ambiente herdado, então um launcher que o reconstrói a partir de uma lista de permissões quebra as sessões que inicia, e `/status` relata uma incompatibilidade de launcher.125 * Os tokens de autenticação por sessão, a seleção de modelo e provedor, e `CLAUDE_CODE_PROCESS_WRAPPER` em si viajam no ambiente herdado, então um launcher que o reconstrói a partir de uma lista de permissões quebra as sessões que inicia, e `/status` relata uma incompatibilidade de launcher.

126 * Se o launcher deve entrar em um namespace ou sandbox que redefine o ambiente, re-exporte o ambiente herdado dentro dele verbatim.126 * Se o launcher deve entrar em um namespace ou sandbox que redefine o ambiente, re-exporte o ambiente herdado dentro dele verbatim.

127* **Alcance `exec` dentro de cerca de três segundos cada vez que o launcher executa.** Uma expedição de fundo fria executa o launcher duas vezes em série antes do primeiro byte de saída, então faça trabalho lento como uma troca de single sign-on preguiçosamente ou a partir de um cache.127* **Alcance `exec` dentro de cerca de três segundos cada vez que o launcher executa.** Uma sessão em segundo plano pode executar o launcher três vezes em série antes de sua primeira saída. Faça trabalho lento, como uma troca de single sign-on, de forma preguiçosa ou a partir de um cache, e dê a qualquer etapa que aguarde a rede seu próprio limite de tempo.

128* **Tolere ser invocado de dentro de si mesmo.** Claude Code aplica o launcher a cada self-spawn aninhado, então um launcher que adquire um recurso exclusivo deve detectar que já o mantém.128* **Tolere ser invocado de dentro de si mesmo.** Claude Code aplica o launcher a cada self-spawn aninhado, então um launcher que adquire um recurso exclusivo deve detectar que já o mantém.

129* **Não escreva no terminal antes de Claude Code iniciar.** Qualquer coisa impressa antes do `exec` é relatada como a causa do crash se a sessão morrer antes de inicializar.129* **Não escreva no terminal nem na saída padrão antes de Claude Code iniciar.** Qualquer coisa impressa antes do `exec` é relatada como a causa do crash se a sessão morrer antes de inicializar. Texto na saída padrão também chega a um programa que lê a saída do Claude Code, como um script que analisa os resultados de `claude -p`.

130* **Não dependa de como os argumentos são escritos.** O valor de uma flag pode chegar como seu próprio argumento, `--flag value`, ou unido à flag, `--flag=value`. A forma que uma flag usa pode mudar entre versões.130* **Não dependa de como os argumentos são escritos.** O valor de uma flag pode chegar como seu próprio argumento, `--flag value`, ou unido à flag, `--flag=value`. A forma que uma flag usa pode mudar entre versões.

131* **Execute `exec` a partir do diretório em que o launcher foi iniciado.** Claude Code trabalha no diretório em que é iniciado, então um launcher que muda de diretório pode iniciar uma sessão no projeto errado. Se o launcher deve entrar em um namespace ou sandbox que redefine o diretório de trabalho, volte ao diretório inicial dentro dele, antes do `exec`.131* **Execute `exec` a partir do diretório em que o launcher foi iniciado.** Claude Code trabalha no diretório em que é iniciado, então um launcher que muda de diretório pode iniciar uma sessão no projeto errado. Se o launcher deve entrar em um namespace ou sandbox que redefine o diretório de trabalho, volte ao diretório inicial dentro dele, antes do `exec`.

132* **Não leia a entrada padrão.** Um comando que a lê antes do `exec`, como um que pede uma senha, pode aguardar uma entrada que não chega e deixar a sessão travada. Ele também pode consumir uma entrada destinada ao Claude Code, e a sessão pode então ser executada sem essa entrada e não relatar nenhum erro. Redirecione a entrada de tal comando a partir de `/dev/null`.

133* **Chame outros programas pelo caminho absoluto.** O launcher pode iniciar com um `PATH` que não tem os diretórios que o perfil do seu shell adiciona.

132 134 

133<h3 id="format-of-the-launcher-value">135<h3 id="format-of-the-launcher-value">

134 Formato do valor do launcher136 Formato do valor do launcher


138 140 

139Para passar argumentos do seu launcher, escreva-os após o caminho. Claude Code analisa o valor como uma lista de argumentos, não um comando de shell:141Para passar argumentos do seu launcher, escreva-os após o caminho. Claude Code analisa o valor como uma lista de argumentos, não um comando de shell:

140 142 

141* Espaço em branco separa tokens, e aspas duplas agrupam um token que contém espaços.143* Espaço em branco separa tokens, e aspas duplas agrupam um token que contém espaços. Uma aspa simples é um caractere comum, então `'a b'` são dois tokens.

142* Um valor que começa com `[` é lido como um array de string JSON, como `["/opt/corp/launcher", "--profile", "cc"]`.144* Um valor que começa com `[` é lido como um array de string JSON, como `["/opt/corp/launcher", "--profile", "cc"]`.

143* Sintaxe de shell não funciona: não há expansão de variável ou globbing, e um operador sem aspas como `;`, `|`, `&`, ou `$(` é rejeitado como um erro de configuração em vez de reinterpretado.145* Sintaxe de shell não funciona: não há expansão de variável ou globbing, e um operador sem aspas como `;`, `|`, `&`, ou `$(` é rejeitado como um erro de configuração em vez de reinterpretado.

144 146 

145Quando o valor não pode ser usado, Claude Code recusa iniciar o processo afetado e [relata o motivo](/docs/pt/errors#claude_code_process_wrapper-launcher-errors).147Quando o valor não pode ser usado, Claude Code recusa iniciar o processo afetado e [relata o motivo](/docs/pt/errors#claude_code_process_wrapper-launcher-errors).

146 148 

149Em um arquivo de configurações, escreva a forma de array dentro de uma string JSON e escape suas aspas: `"[\"/opt/corp/launcher\", \"--profile\", \"cc\"]"`.

150 

151<h3 id="pass-arguments-to-the-launcher">

152 Passar argumentos para o launcher

153</h3>

154 

155Escreva os próprios argumentos do launcher após seu caminho [no valor](#format-of-the-launcher-value) e remova-os no script antes da chamada `exec`. Eles chegam ao script primeiro, antes do comando do Claude Code. O script a seguir, escrito para o valor `/opt/corp/launcher --profile cc`, salva o nome do perfil e depois remove ambos os argumentos com `shift`:

156 

157```bash theme={null}

158#!/bin/sh

159if [ "$1" = "--profile" ]; then

160 profile="$2"

161 shift 2

162fi

163# Your organization's setup for "$profile".

164exec "$@"

165```

166 

167Use a [etapa de verificação](#set-up-the-launcher) para ver o comando de inicialização que Claude Code resolveu a partir do valor.

168 

147<h2 id="relationship-to-claude_code_shell_prefix">169<h2 id="relationship-to-claude_code_shell_prefix">

148 Relação com `CLAUDE_CODE_SHELL_PREFIX`170 Relação com `CLAUDE_CODE_SHELL_PREFIX`

149</h2>171</h2>

desktop.md +334 −72

Details

44 Iniciar uma sessão44 Iniciar uma sessão

45</h2>45</h2>

46 46 

47Antes de enviar sua primeira mensagem, configure quatro coisas na área de prompt:47Antes de enviar sua primeira mensagem, escolha o ambiente, a pasta do projeto, o modo de permissão e o modelo na linha abaixo da caixa de prompt:

48 48 

49* **Ambiente**: escolha onde Claude é executado. Selecione **Local** para sua máquina, **Cloud** para uma [sessão na nuvem](#cloud-sessions) que continua após você fechar o aplicativo, uma [**conexão SSH**](#ssh-sessions) para uma máquina remota que você gerencia, ou no Windows uma [**distribuição WSL**](/docs/pt/desktop-wsl). Uma tarefa em uma sessão SSH pode [continuar enquanto o Desktop está desconectado](#keep-a-task-running-while-desktop-is-disconnected), mas com uma conta Claude ela pode parar quando o login dela expirar. Veja [configuração de ambiente](#environment-configuration).49* **Ambiente**: use o seletor de ambiente, o primeiro controle da linha, para escolher onde Claude é executado. Veja [configuração de ambiente](#environment-configuration).

50* **Pasta do projeto**: selecione a pasta ou repositório em que Claude trabalha. Para sessões em nuvem, você pode adicionar [múltiplos repositórios](#run-long-running-tasks-in-the-cloud).50 * Se uma nova sessão não tiver um seletor de ambiente abaixo da caixa de prompt, siga as [etapas do layout anterior](#check-which-layout-you-have).

51* **Modelo**: escolha um [modelo](/docs/pt/model-config#available-models) no menu suspenso ao lado do botão enviar. Você pode alterar isso durante a sessão.51* **Pasta do projeto**: clique no controle de pasta do projeto, ao lado do seletor de ambiente, para escolher a pasta em que Claude trabalha.

52* **Modo de permissão**: escolha quanto de autonomia Claude tem no [seletor de modo](#choose-a-permission-mode). Você pode alterar isso durante a sessão.52 * **Sessão na nuvem**: selecione [repositórios](#run-long-running-tasks-in-the-cloud) em vez de uma pasta

53 * **[Ambiente local ou SSH salvo](#create-a-saved-environment)**: o ambiente já contém suas pastas, então a linha não mostra nenhum controle de pasta do projeto. Para alterar as pastas, [edite o ambiente](#use-edit-or-remove-a-saved-environment).

54* **Modo de permissão**: use o [seletor de modo](#choose-a-permission-mode) para escolher quanto de autonomia Claude tem. Você pode alterar o modo de permissão durante a sessão.

55* **Modelo**: escolha um [modelo](/docs/pt/model-config#available-models) no seletor de modelo próximo à extremidade direita da linha. Você pode alterar o modelo durante a sessão.

53 56 

54Digite sua tarefa e pressione **Enter** para começar. Cada sessão rastreia seu próprio contexto e alterações independentemente.57Digite sua tarefa e pressione **Enter** para começar. Cada sessão rastreia seu próprio contexto e alterações independentemente.

55 58 


65 68 

66Digite o que você quer que Claude faça e pressione **Enter** para enviar. Claude lê seus arquivos de projeto, faz alterações e executa comandos com base no seu [modo de permissão](#choose-a-permission-mode). Você pode redirecionar Claude a qualquer momento: clique no botão parar para interromper imediatamente, ou digite uma correção e pressione **Enter** para enviá-la sem parar a ação em execução. Claude lê a correção assim que a ação atual é concluída e se ajusta antes de seu próximo passo.69Digite o que você quer que Claude faça e pressione **Enter** para enviar. Claude lê seus arquivos de projeto, faz alterações e executa comandos com base no seu [modo de permissão](#choose-a-permission-mode). Você pode redirecionar Claude a qualquer momento: clique no botão parar para interromper imediatamente, ou digite uma correção e pressione **Enter** para enviá-la sem parar a ação em execução. Claude lê a correção assim que a ação atual é concluída e se ajusta antes de seu próximo passo.

67 70 

68O botão **+** ao lado da caixa de prompt oferece acesso a anexos de arquivo, [skills](#use-skills), [conectores](#connect-external-tools) e [plugins](#install-plugins).71Clique no botão **+** ao lado da caixa de prompt para anexos de arquivo, [skills](#use-skills), [conectores](#connect-external-tools) e [plugins](#install-plugins).

69 72 

70<h3 id="accept-a-suggested-prompt">73<h3 id="accept-a-suggested-prompt">

71 Aceitar um prompt sugerido74 Aceitar um prompt sugerido


82 Adicionar arquivos e contexto aos prompts85 Adicionar arquivos e contexto aos prompts

83</h3>86</h3>

84 87 

85A caixa de prompt suporta duas maneiras de trazer contexto externo:88Para fornecer um arquivo a Claude, faça uma @mention dele ou anexe-o na caixa de prompt:

86 89 

87* **@mention de arquivos**: digite `@` seguido de um nome de arquivo para adicionar um arquivo ao contexto da conversa. Claude pode então ler e referenciar esse arquivo. @mention não está disponível em sessões na nuvem ou WSL.90* **@mention de arquivos**: digite `@` seguido de um nome de arquivo para adicionar um arquivo ao contexto da conversa.

88* **Anexar arquivos**: anexe imagens, PDFs e outros arquivos ao seu prompt usando o botão de anexo, ou arraste e solte arquivos diretamente no prompt. Isso é útil para compartilhar capturas de tela de bugs, mockups de design ou documentos de referência.91 * **Em uma sessão na nuvem**: `@` só consegue listar arquivos depois que você envia sua primeira mensagem. Se `@` não listar nenhum, envie sua primeira mensagem sem o arquivo e, em seguida, faça uma @mention do arquivo na sua próxima mensagem.

92* **Anexar arquivos**: anexe imagens, PDFs e outros arquivos ao seu prompt usando o botão **+** ao lado da caixa de prompt, ou arraste e solte arquivos diretamente no prompt. Isso é útil para compartilhar capturas de tela de bugs, mockups de design ou documentos de referência.

93 * **Em uma [sessão WSL](/docs/pt/desktop-wsl)**: se o menu **+** mostrar **Add image** em vez de **Add files or photos**, você só pode anexar imagens. Para fornecer a Claude qualquer outro arquivo da pasta da sessão, faça uma @mention dele.

89 94 

90<h3 id="choose-a-permission-mode">95<h3 id="choose-a-permission-mode">

91 Escolher um modo de permissão96 Escolher um modo de permissão

92</h3>97</h3>

93 98 

94Os modos de permissão controlam quanto de autonomia Claude tem durante uma sessão: se ele pergunta antes de editar arquivos, executar comandos ou ambos. Você pode alternar modos de permissão a qualquer momento usando o seletor de modo ao lado do botão enviar. Para aprovar cada alteração você mesmo, mude para Manual.99Os modos de permissão controlam quanto de autonomia Claude tem durante uma sessão: se ele pergunta antes de editar arquivos, executar comandos ou ambos. Você pode alternar modos de permissão a qualquer momento usando o seletor de modo na linha abaixo da caixa de prompt. Para aprovar cada alteração você mesmo, mude para Manual.

95 100 

96Para definir um modo padrão para novas sessões locais, adicione `permissions.defaultMode` ao seu [arquivo de configurações](/docs/pt/settings#where-settings-live). O aplicativo desktop lê os mesmos arquivos de configurações que o CLI. Um modo que você escolhe no seletor é lembrado por pasta e tem precedência sobre `defaultMode` para essa pasta, exceto Plan, que se aplica apenas à sessão atual.101Para definir um modo padrão para novas sessões locais, adicione `permissions.defaultMode` ao seu [arquivo de configurações](/docs/pt/settings#where-settings-live). O aplicativo desktop lê os mesmos arquivos de configurações que o CLI. Um modo que você escolhe no seletor é lembrado por pasta e tem precedência sobre `defaultMode` para essa pasta, exceto Plan, que se aplica apenas à sessão atual.

97 102 


129 134 

130Claude pode iniciar um servidor de desenvolvimento e abri-lo no painel de navegador para verificar suas alterações. Isso funciona para aplicativos web frontend e também para servidores backend: Claude pode testar endpoints de API, visualizar logs do servidor e iterar em problemas que encontra. Na maioria dos casos, Claude inicia o servidor automaticamente após editar arquivos de projeto. Você também pode pedir a Claude para visualizar a qualquer momento. Por padrão, Claude [verifica automaticamente](#auto-verify-changes) alterações após cada edição.135Claude pode iniciar um servidor de desenvolvimento e abri-lo no painel de navegador para verificar suas alterações. Isso funciona para aplicativos web frontend e também para servidores backend: Claude pode testar endpoints de API, visualizar logs do servidor e iterar em problemas que encontra. Na maioria dos casos, Claude inicia o servidor automaticamente após editar arquivos de projeto. Você também pode pedir a Claude para visualizar a qualquer momento. Por padrão, Claude [verifica automaticamente](#auto-verify-changes) alterações após cada edição.

131 136 

132O painel de navegador também pode abrir arquivos HTML estáticos, PDFs, imagens e vídeos do seu projeto. Clique em um caminho HTML, PDF, imagem ou vídeo no chat para abri-lo lá.137Em uma sessão local, clique em um caminho HTML, PDF ou de vídeo no chat para abri-lo no painel de navegador.

133 138 

134<Note>139<Note>

135 Em uma [sessão SSH](#ssh-sessions), Claude não consegue abrir seu aplicativo no painel de navegador, porque não tem as ferramentas do painel lá. Para ver o aplicativo você mesmo, [encaminhe a porta dele para o seu computador](#reach-a-port-on-the-remote-machine).140 Em uma [sessão SSH](#ssh-sessions), Claude não consegue abrir seu aplicativo no painel de navegador, porque não tem as ferramentas do painel lá. Para ver o aplicativo você mesmo, [encaminhe a porta dele para o seu computador](#reach-a-port-on-the-remote-machine).

136</Note>141</Note>

137 142 

143Se o painel de navegador não estiver aberto depois que Claude iniciar um servidor em uma sessão local, clique em **Open** no cartão do servidor no chat.

144 

138No painel de navegador, você pode:145No painel de navegador, você pode:

139 146 

140* Interagir com seu aplicativo em execução diretamente no painel de navegador147* Interagir com seu aplicativo em execução diretamente no painel de navegador


185 Revisar alterações com visualização de diff192 Revisar alterações com visualização de diff

186</h3>193</h3>

187 194 

188Depois que Claude faz alterações em seu código, a visualização de diff permite que você revise modificações arquivo por arquivo antes de criar um pull request.195Depois que Claude faz alterações em seu código, a visualização de diff permite que você revise modificações arquivo por arquivo antes de criar um pull request. Para abrir a visualização de diff, clique nas contagens de linhas, como `+12 -1`, no cartão **Changes** do [painel de detalhes da sessão](#see-session-details). Você também pode clicar em **Changes** na barra de título da sessão.

189 

190Quando Claude altera arquivos, um indicador de estatísticas de diff aparece mostrando o número de linhas adicionadas e removidas, como `+12 -1`. Clique neste indicador para abrir o visualizador de diff, que exibe uma lista de arquivos à esquerda e as alterações para cada arquivo à direita.

191 196 

192Para comentar em linhas específicas, clique em qualquer linha no diff para abrir uma caixa de comentário. Digite seu feedback e pressione **Enter** para adicionar o comentário. Depois de adicionar comentários a várias linhas, envie todos os comentários de uma vez:197Para comentar em linhas específicas, clique em qualquer linha no diff para abrir uma caixa de comentário. Digite seu feedback e pressione **Enter** para adicionar o comentário. Depois de adicionar comentários a várias linhas, envie todos os comentários de uma vez:

193 198 


213 Monitorar status de pull request218 Monitorar status de pull request

214</h3>219</h3>

215 220 

216Depois de abrir um pull request, uma barra de status de CI aparece na sessão. Claude Code usa o GitHub CLI para pesquisar resultados de verificação e exibir falhas.221Para que Claude corrija verificações com falha, ou para que o GitHub mescle o pull request, ative **Auto-fix** ou **Merge when ready**. Depois que você abre um pull request, ele aparece no cartão **Changes** do [painel de detalhes da sessão](#see-session-details) com o status de suas verificações de CI. Abra o menu **⋮** ao lado do título dele:

217 222 

218* **Auto-fix CI & address comments**: quando ativado, Claude tenta automaticamente corrigir verificações de CI falhando lendo a saída de falha e iterando. Em uma sessão local, Claude também responde a novos comentários de revisão deixados por alguém além de você, quando o autor é o proprietário do repositório, um membro da organização, um colaborador ou um GitHub App.223* **Auto-fix**: em uma sessão local, Claude também responde a novos comentários de revisão deixados por alguém além de você. O autor do comentário precisa ser o proprietário do repositório, um membro da organização, um colaborador ou um GitHub App.

219* **Auto-merge when ready**: quando ativado, Claude mescla o PR assim que todas as verificações passam. O método de merge é squash. Ative auto-merge em suas [configurações do repositório GitHub](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository) primeiro; sem isso, Claude não pode mesclar o PR.224* **Merge when ready**: ativa o auto-merge do GitHub para o PR. Em uma sessão local, o Desktop solicita um squash merge, a menos que o branch base use uma fila de merge.

225 * **Em sessões SSH e WSL**: **Merge when ready** fica desativado, então ative o auto-merge para o pull request no GitHub

226 * **Se o repositório não permitir auto-merge**: **Merge when ready** não é ativado, então ative o auto-merge nas suas [configurações do repositório GitHub](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository) primeiro

227* **[Layout anterior](#check-which-layout-you-have)**: assim que a sessão tiver um pull request, clique em **CI** na barra de status dela.

220 228 

221Para ativá-los, clique em **CI** na barra de status. Para arquivar a sessão automaticamente assim que o PR for mesclado ou fechado, ative [auto-archive](#work-in-parallel-with-sessions) em **Settings > Claude Code**.229Para arquivar a sessão automaticamente assim que o PR for mesclado ou fechado, ative [auto-archive](#archive-a-session) em **Settings > Claude Code**.

222 230 

223<Note>231<Note>

224 O monitoramento de PR requer que o [GitHub CLI (`gh`)](https://cli.github.com/) esteja instalado e autenticado em sua máquina. Se `gh` não estiver instalado, Desktop o solicita a instalar na primeira vez que você tentar criar um PR.232 O monitoramento de PR requer que o [GitHub CLI (`gh`)](https://cli.github.com/) esteja instalado e autenticado em sua máquina. Se `gh` não estiver instalado, Desktop o solicita a instalar na primeira vez que você tentar criar um PR.


235Para trabalhar em várias telas, extraia um painel como o diff ou terminal para sua própria janela e encaixe-o novamente quando terminar. Claude continua trabalhando na janela principal.243Para trabalhar em várias telas, extraia um painel como o diff ou terminal para sua própria janela e encaixe-o novamente quando terminar. Claude continua trabalhando na janela principal.

236 244 

237<Note>245<Note>

238 O layout do painel, terminal, editor de arquivo e modos de visualização nesta seção requerem Claude Desktop v1.2581.0 ou posterior. Abra **Claude → Check for Updates** no macOS ou **Help → Check for Updates** no Windows para atualizar.246 O layout do painel, terminal, editor de arquivo e modos de visualização nesta seção requerem Claude Desktop v1.2581.0 ou posterior. Abra **Claude > Check for Updates…** no macOS ou **Help > Check for Updates…** no Windows para atualizar.

239</Note>247</Note>

240 248 

249<h3 id="see-session-details">

250 Ver detalhes da sessão

251</h3>

252 

253O painel de detalhes da sessão é um conjunto de cartões ao lado do chat que mostram onde a sessão é executada, o que ela alterou e o que ela está executando. O painel aparece depois que você inicia uma sessão, enquanto o chat for largo o suficiente para ele.

254 

255<h4 id="hide-or-show-the-session-details-panel">

256 Ocultar ou mostrar o painel de detalhes da sessão

257</h4>

258 

259Para ocultar ou mostrar o painel, clique em **Hide session rail** ou **Show session rail** na barra de título da sessão, ou no menu **⋮** da barra quando a janela for estreita. Se você ainda não vir o painel, [verifique qual layout da aba Code você tem](#check-which-layout-you-have).

260 

241<h3 id="run-commands-in-the-terminal">261<h3 id="run-commands-in-the-terminal">

242 Executar comandos no terminal262 Executar comandos no terminal

243</h3>263</h3>

244 264 

245O terminal integrado permite que você execute comandos ao lado de sua sessão sem alternar para outro aplicativo. Clique em **Terminal** na barra de título da sessão ou pressione **Ctrl+\`** no macOS ou Windows. O terminal abre no diretório de trabalho de sua sessão e compartilha o mesmo ambiente que Claude, então comandos como `npm test` ou `git status` veem os mesmos arquivos que Claude está editando. Para abrir uma segunda aba de terminal, clique em **+** no cabeçalho do painel de terminal ou clique com o botão direito em uma pasta no chat para escolher **Open in terminal**.265O terminal integrado permite que você execute comandos ao lado de sua sessão sem alternar para outro aplicativo. Clique em **Terminal** na barra de título da sessão ou pressione **Ctrl+\`** no macOS ou Windows. O terminal abre no diretório de trabalho de sua sessão e compartilha o mesmo ambiente que Claude, então comandos como `npm test` ou `git status` veem os mesmos arquivos que Claude está editando. Para abrir uma segunda aba de terminal, clique em **+** no cabeçalho do painel de terminal ou clique com o botão direito em uma pasta no chat para escolher **Open in terminal**.

246 266 

247O terminal está disponível em sessões locais e [SSH](#ssh-sessions), com uma limitação em [máquinas remotas Windows](#windows-remote-machines).267Se uma sessão WSL não tiver terminal, consulte [Se o terminal ou os conectores não estiverem disponíveis](/docs/pt/desktop-wsl#check-for-the-terminal-and-connectors). O terminal está disponível em sessões locais e [SSH](#ssh-sessions), com uma limitação em [máquinas remotas Windows](#windows-remote-machines).

248 268 

249<h3 id="open-and-edit-files">269<h3 id="open-and-edit-files">

250 Abrir e editar arquivos270 Abrir e editar arquivos

251</h3>271</h3>

252 272 

253Clique em um caminho de arquivo no chat ou visualizador de diff para abri-lo no painel de arquivo. Caminhos HTML, PDF, imagem e vídeo abrem no [painel Browser](#preview-your-app) em vez disso. Faça edições pontuais e clique em **Save** para escrevê-las de volta. Se o arquivo mudou no disco desde que você o abriu, o painel o avisa e permite que você sobrescreva ou descarte. Clique em **Discard** para reverter suas edições, ou clique no caminho no cabeçalho do painel para copiar o caminho absoluto.273Para abrir um arquivo que Claude menciona, clique em seu caminho no chat.

254 274 

255O painel de arquivo está disponível em sessões locais e SSH. Para sessões na nuvem, peça a Claude para fazer a alteração.275Para editar um arquivo você mesmo, use o [painel de arquivo](#arrange-your-workspace):

276 

277* **Sessões locais**: você pode editar arquivos dentro do diretório de trabalho da sessão, exceto alguns somente leitura, como `.mcp.json` e `.claude/settings.json`. Para alterar um deles, [abra-o em outro aplicativo](#open-files-in-other-apps).

278* **Sessões na nuvem, SSH e WSL**: o painel de arquivo é somente leitura, então peça a Claude para fazer as edições.

279 

280<h4 id="save-edits-in-the-file-pane">

281 Salvar edições no painel de arquivo

282</h4>

283 

284Por padrão, suas edições no painel de arquivo são salvas automaticamente, então o painel não mostra nenhum botão **Save**. Para salvar suas edições você mesmo, desmarque **Auto save** no menu **⋮** do painel. Com **Auto save** desativado, clique em **Save** depois de alterar um arquivo para gravar suas edições, ou em **Cancel** para revertê-las.

285 

286Se o painel avisar que o arquivo mudou no disco, clique em **Override** para sobrescrever a versão no disco com suas edições, ou em **Discard** para descartar suas edições.

256 287 

257<h3 id="open-files-in-other-apps">288<h3 id="open-files-in-other-apps">

258 Abrir arquivos em outros aplicativos289 Abrir arquivos em outros aplicativos


283 Atalhos de teclado314 Atalhos de teclado

284</h3>315</h3>

285 316 

286Pressione **Cmd+/** no macOS ou **Ctrl+/** no Windows para ver todos os atalhos disponíveis na aba Code. No Windows, use **Ctrl** no lugar de **Cmd** para os atalhos abaixo. Ciclagem de sessão, alternância de terminal e alternância de modo de visualização usam **Ctrl** em todas as plataformas.317Pressione **Cmd+/** no macOS ou **Ctrl+/** no Windows para ver todos os atalhos disponíveis na aba Code. A tabela nesta seção mostra as teclas do macOS. No Windows e no Linux, troque estas teclas:

318 

319* **Cmd+Option**: pressione **Alt**

320* **Cmd**: pressione **Ctrl**

321 

322Ciclagem de sessão, alternância de terminal e alternância de modo de visualização usam **Ctrl** em todas as plataformas.

287 323 

288| Atalho | Ação |324| Atalho | Ação |

289| - | - |325| - | - |

290| `Cmd` `/` | Mostrar atalhos de teclado |326| `Cmd` `/` | Mostrar atalhos de teclado |

291| `Cmd` `N` | Nova sessão |327| `Cmd` `N` | Nova sessão |

328| `Cmd` `Option` `1`–`9` | Na tela de nova sessão no [layout atual](#check-which-layout-you-have), selecionar um ambiente |

329| `Cmd` `Option` `0` | Na tela de nova sessão no layout atual, abrir a [caixa de diálogo **New environment**](#create-a-saved-environment) |

292| `Cmd` `W` | Fechar sessão |330| `Cmd` `W` | Fechar sessão |

293| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Próxima ou sessão anterior |331| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Próxima ou sessão anterior |

294| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Próxima ou sessão anterior |332| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Próxima ou sessão anterior |


404 Trabalhar em paralelo com sessões442 Trabalhar em paralelo com sessões

405</h3>443</h3>

406 444 

407Clique em **+ New session** na barra lateral, ou pressione **Cmd+N** no macOS ou **Ctrl+N** no Windows, para trabalhar em múltiplas tarefas em paralelo. Pressione **Ctrl+Tab** e **Ctrl+Shift+Tab** para ciclar através de sessões na barra lateral. Para repositórios Git, selecione a opção **worktree** ao lado do nome do branch para dar à sessão sua própria cópia isolada do seu projeto usando [Git worktrees](/docs/pt/worktrees).445Clique em **+ New** na barra lateral, ou pressione **Cmd+N** no macOS ou **Ctrl+N** no Windows, para trabalhar em múltiplas tarefas em paralelo. Pressione **Ctrl+Tab** e **Ctrl+Shift+Tab** para ciclar através de sessões na barra lateral.

408 446 

409Para visualizar duas sessões ao mesmo tempo, mantenha **Cmd** no macOS ou **Ctrl** no Windows e clique em uma sessão na barra lateral. A sessão abre em um segundo painel ao lado daquele que você já tem aberto. Enquanto a divisão está ativa, clicar em outra sessão da barra lateral substitui o painel que tem foco. Pressione **Cmd+\\** no macOS ou **Ctrl+\\** no Windows para fechar o painel focado e retornar a uma única sessão.447Para visualizar duas sessões ao mesmo tempo, mantenha **Cmd** no macOS ou **Ctrl** no Windows e clique em uma sessão na barra lateral. A sessão abre em um segundo painel ao lado daquele que você já tem aberto. Enquanto a divisão está ativa, clicar em outra sessão da barra lateral substitui o painel que tem foco. Pressione **Cmd+\\** no macOS ou **Ctrl+\\** no Windows para fechar o painel focado e retornar a uma única sessão.

410 448 

411Os worktrees são armazenados em `<project-root>/.claude/worktrees/` por padrão. Você pode alterar isso para um diretório personalizado:449<h4 id="run-a-session-in-its-own-worktree">

450 Executar uma sessão em seu próprio worktree

451</h4>

452 

453Em um projeto que é um repositório Git, ative **Worktree** antes de iniciar uma sessão para executá-la em seu próprio [Git worktree](/docs/pt/worktrees), uma cópia isolada do projeto. Por padrão, **Worktree** fica desativado e Claude trabalha na própria pasta do projeto. Clique no controle da pasta do projeto na [linha abaixo da caixa de prompt](#start-a-session) e ative **Worktree**.

454 

455* **Com um [ambiente salvo](#create-a-saved-environment)**: defina **Worktree** ao criar ou editar o ambiente

456* **[Layout anterior](#check-which-layout-you-have)**: marque a caixa de seleção **worktree** ao lado do nome do branch, acima da caixa de prompt

457 

458Os worktrees são armazenados em `<project-root>/.claude/worktrees/` por padrão. Para armazená-los em um diretório personalizado:

412 459 

413* **Sessões locais**: defina **Worktree location** em **Settings > Claude Code**460* **Sessões locais**: defina **Worktree location** em **Settings > Claude Code**

414* **Sessões SSH**: defina **Worktree folder** na [conexão SSH](#choose-where-ssh-session-worktrees-go)461* **Sessões SSH**: defina **Worktree folder** na [conexão SSH](#choose-where-ssh-session-worktrees-go)

415 462 

416Você também pode definir um **Branch prefix** em **Settings > Claude Code**. O Desktop o adiciona antes de cada nome de branch de worktree, o que é útil para manter organizados os branches criados por Claude.463Você também pode definir um **Branch prefix** em **Settings > Claude Code**. O Desktop o adiciona antes de cada nome de branch de worktree, o que é útil para manter organizados os branches criados por Claude.

417 464 

418Para remover um worktree quando terminar, passe o mouse sobre a sessão na barra lateral e clique no ícone de arquivo. Para ter sessões se arquivarem automaticamente quando seu pull request for mesclado ou fechado, ative **Auto-archive after PR merge or close** em **Settings > Claude Code**. O arquivamento automático se aplica apenas a sessões locais que terminaram de executar.

419 

420Para incluir arquivos gitignored como `.env` em novos worktrees, crie um [arquivo `.worktreeinclude`](/docs/pt/worktrees#copy-gitignored-files-into-worktrees) na raiz do seu projeto. Veja [O que os worktrees compartilham com o checkout principal](/docs/pt/worktrees#what-worktrees-share-with-the-main-checkout) para saber de onde uma sessão de worktree lê as configurações do projeto, hooks e skills.465Para incluir arquivos gitignored como `.env` em novos worktrees, crie um [arquivo `.worktreeinclude`](/docs/pt/worktrees#copy-gitignored-files-into-worktrees) na raiz do seu projeto. Veja [O que os worktrees compartilham com o checkout principal](/docs/pt/worktrees#what-worktrees-share-with-the-main-checkout) para saber de onde uma sessão de worktree lê as configurações do projeto, hooks e skills.

421 466 

422<Note>467<Note>

423 O isolamento de sessão requer [Git](https://git-scm.com/downloads). A maioria dos Macs inclui Git por padrão. Execute `git --version` no Terminal para verificar; se imprimir um número de versão, Git está instalado. Se você encontrar erros de Git, peça a Claude na aba [Cowork](https://claude.com/product/cowork) para ajudar a solucionar problemas de sua configuração.468 O isolamento de sessão requer [Git](https://git-scm.com/downloads). A maioria dos Macs inclui Git por padrão. Execute `git --version` no Terminal para verificar; se imprimir um número de versão, Git está instalado. Se você encontrar erros de Git, peça a Claude na aba [Cowork](https://claude.com/product/cowork) para ajudar a solucionar problemas de sua configuração.

424</Note>469</Note>

425 470 

426Use os controles no topo da barra lateral para filtrar sessões por status, projeto ou ambiente, e para agrupar sessões por projeto. Para renomear uma sessão, clique no título da sessão na barra de ferramentas no topo da sessão ativa.471<h3 id="add-folders-to-a-session">

472 Adicionar pastas a uma sessão

473</h3>

474 

475Adicione pastas antes de a sessão iniciar ou enquanto ela é executada:

476 

477* **Antes de uma sessão local iniciar**: adicione as pastas em **Folders** ao [criar um ambiente salvo](#create-a-saved-environment) ou editar um e, em seguida, [inicie a sessão a partir desse ambiente salvo](#use-edit-or-remove-a-saved-environment).

478* **Enquanto uma sessão local ou [SSH](#ssh-sessions) é executada**: clique em **+** ao lado da caixa de prompt e selecione **Add folder**. Claude trabalha na própria pasta, sem [worktree](#run-a-session-in-its-own-worktree).

479 

480<h3 id="archive-a-session">

481 Arquivar uma sessão

482</h3>

483 

484Antes de arquivar uma sessão cujo worktree tem alterações sem commit, veja [Manter alterações sem commit quando uma sessão é arquivada](#keep-uncommitted-changes-when-a-session-is-archived). Para arquivar uma sessão, passe o mouse sobre ela na barra lateral, abra o menu dela e selecione **Archive**. A sessão é movida para suas [sessões arquivadas](#organize-and-find-sessions).

485 

486Para que as sessões se arquivem automaticamente quando seu pull request for mesclado ou fechado, ative **Auto-archive after PR merge or close** em **Settings > Claude Code**. Sessões na nuvem e sessões que ainda estão em execução não se arquivam automaticamente.

487 

488<h4 id="keep-uncommitted-changes-when-a-session-is-archived">

489 Manter alterações sem commit quando uma sessão é arquivada

490</h4>

491 

492Você pode perder alterações sem commit no worktree de uma sessão quando a sessão é arquivada, então faça commit primeiro do que deseja manter:

493 

494* **Se o Desktop perguntar sobre as alterações**: selecione **Archive anyway** para descartá-las, ou cancele e faça commit delas

495* **Se as únicas alterações forem arquivos não rastreados**: faça commit dos que deseja manter antes que um pull request que Claude abriu na sessão seja mesclado, porque o Desktop pode então excluí-los sem perguntar

496* **Em qualquer outro caso**: o worktree permanece no disco com suas alterações. Para uma sessão local, o Desktop remove ambos cerca de 30 dias depois de a sessão ser arquivada ou de você abri-la pela última vez, o que ocorrer por último. Para manter as alterações, abra a sessão a partir da [aba **Archived**](#organize-and-find-sessions) e selecione **Unarchive**

497 

498<h3 id="organize-and-find-sessions">

499 Organizar e encontrar sessões

500</h3>

501 

502Você agrupa, ordena e encontra sessões a partir de um ícone na lista de sessões da barra lateral:

503 

504* **Layout atual**: passe o mouse sobre um título na lista de sessões para mostrar o ícone **Group and sort** e, em seguida, clique nele. Para encontrar sessões arquivadas, selecione **View all**, a última linha do menu, e depois abra a aba **Archived**.

505* **[Layout anterior](#check-which-layout-you-have)**: o ícone **Filter** aparece sem precisar passar o mouse. Clique nele para organizar a lista com **Group by** ou **Sort by**. Para mostrar sessões arquivadas, selecione **Status** e depois **Archived**.

506 

507Para renomear uma sessão, abra-a e clique no título da sessão na barra de título.

508 

509<h3 id="check-and-free-up-context">

510 Verificar e liberar contexto

511</h3>

427 512 

428Para verificar o uso de contexto, veja [Verificar uso](#check-usage). Quando o contexto se enche, Claude automaticamente resume a conversa e continua trabalhando. Você também pode digitar `/compact` para disparar a sumarização mais cedo e liberar espaço de contexto. Veja [a janela de contexto](/docs/pt/how-claude-code-works#the-context-window) para detalhes sobre como a compactação funciona.513Para verificar o uso de contexto, veja [Verificar uso](#check-usage). Quando o contexto se enche, Claude automaticamente resume a conversa e continua trabalhando. Você também pode digitar `/compact` para disparar a sumarização mais cedo e liberar espaço de contexto. Veja [a janela de contexto](/docs/pt/how-claude-code-works#the-context-window) para detalhes sobre como a compactação funciona.

429 514 

515<h3 id="get-notified-when-a-session-finishes">

516 Ser notificado quando uma sessão termina

517</h3>

518 

430O aplicativo desktop envia uma notificação do SO quando uma sessão de Code termina uma tarefa e você não está visualizando essa sessão no momento. Para sessões que pertencem a um [projeto](/docs/pt/claude-projects#see-what-needs-you-in-overview), você recebe as notificações do projeto em vez disso.519O aplicativo desktop envia uma notificação do SO quando uma sessão de Code termina uma tarefa e você não está visualizando essa sessão no momento. Para sessões que pertencem a um [projeto](/docs/pt/claude-projects#see-what-needs-you-in-overview), você recebe as notificações do projeto em vez disso.

431 520 

432<h3 id="ask-a-side-question-without-derailing-the-session">521<h3 id="ask-a-side-question-without-derailing-the-session">


451 Trabalhar entre sessões540 Trabalhar entre sessões

452</h3>541</h3>

453 542 

454Claude pode listar suas outras sessões da aba Code, ler o que cada uma tem feito e enviar mensagens entre elas. Pergunte em linguagem natural: "qual sessão tocou na refatoração de autenticação?", "o que a sessão de API concluiu?" ou "diga à sessão de pagamentos que o esquema mudou". Você também pode pedir a Claude para renomear ou arquivar uma sessão. Claude arquiva uma sessão da mesma forma que o ícone de arquivo da barra lateral faz, então peça a ela para limpar sessões cujos PRs foram mesclados.543Claude pode listar suas outras sessões da aba Code, ler o que cada uma tem feito e enviar mensagens entre elas. Pergunte em linguagem natural: "qual sessão tocou na refatoração de autenticação?", "o que a sessão de API concluiu?" ou "diga à sessão de pagamentos que o esquema mudou".

544 

545Você também pode pedir a Claude para renomear ou arquivar uma sessão. Por exemplo, peça a ele para arquivar as sessões cujos PRs foram mesclados.

455 546 

456Através desta superfície, Claude vê apenas as sessões que o aplicativo desktop executa por si mesmo: local, [SSH](#ssh-sessions) e sessões [WSL](/docs/pt/desktop-wsl) na aba Code. Claude não vê sessões na nuvem, ou sessões que você iniciou do CLI do terminal ou da extensão VS Code, mesmo em worktrees do mesmo projeto, então com nove worktrees de terminal abertos e duas sessões desktop, Claude respondendo em uma delas relata a outra sessão desktop. Claude nunca lista a sessão de que você está perguntando. Por padrão, ele vê as 20 sessões mais recentemente ativas e pula sessões arquivadas a menos que você peça por elas. [Mensagens entre sessões](/docs/pt/cross-session-messaging) permite separadamente que Claude envie mensagens para [suas outras sessões Claude Code](/docs/pt/cross-session-messaging#see-which-sessions-claude-can-reach), incluindo sessões de terminal.547Através desta superfície, Claude vê apenas as sessões que o aplicativo desktop executa por si mesmo: local, [SSH](#ssh-sessions) e sessões [WSL](/docs/pt/desktop-wsl) na aba Code. Claude não vê sessões na nuvem, ou sessões que você iniciou do CLI do terminal ou da extensão VS Code, mesmo em worktrees do mesmo projeto, então com nove worktrees de terminal abertos e duas sessões desktop, Claude respondendo em uma delas relata a outra sessão desktop. Claude nunca lista a sessão de que você está perguntando. Por padrão, ele vê as 20 sessões mais recentemente ativas e pula sessões arquivadas a menos que você peça por elas. [Mensagens entre sessões](/docs/pt/cross-session-messaging) permite separadamente que Claude envie mensagens para [suas outras sessões Claude Code](/docs/pt/cross-session-messaging#see-which-sessions-claude-can-reach), incluindo sessões de terminal.

457 548 


470 Executar tarefas de longa duração na nuvem561 Executar tarefas de longa duração na nuvem

471</h3>562</h3>

472 563 

473Para grandes refatorações, suites de teste, migrações ou outras tarefas de longa duração, selecione **Cloud** em vez de **Local** ao iniciar uma sessão. Sessões na nuvem são executadas na infraestrutura gerenciada pela Anthropic por padrão e continuam mesmo se você fechar o aplicativo ou desligar seu computador. Verifique a qualquer momento para ver o progresso ou direcionar Claude em uma direção diferente. Você também pode monitorar sessões na nuvem de [claude.ai/code](https://claude.ai/code) ou do [aplicativo Claude mobile](/docs/pt/mobile).564Para grandes refatorações, suites de teste, migrações ou outras tarefas de longa duração, selecione um ambiente em **Cloud** no [seletor de ambiente](#start-a-session) ao iniciar uma sessão. Sessões na nuvem são executadas na infraestrutura gerenciada pela Anthropic por padrão e continuam mesmo se você fechar o aplicativo ou desligar seu computador. Verifique a qualquer momento para ver o progresso ou direcionar Claude em uma direção diferente. Você também pode monitorar sessões na nuvem de [claude.ai/code](https://claude.ai/code) ou do [aplicativo Claude mobile](/docs/pt/mobile).

565 

566Sessões na nuvem também suportam múltiplos repositórios. Escolha os repositórios:

474 567 

475Sessões na nuvem também suportam múltiplos repositórios. Depois de selecionar um ambiente em nuvem, clique no botão **+** ao lado do repositório selecionado para adicionar mais repositórios à sessão. Cada repo obtém seu próprio seletor de branch. Isso é útil para tarefas que abrangem múltiplas bases de código, como atualizar uma biblioteca compartilhada e seus consumidores.568* **Layout atual**: na linha abaixo da caixa de prompt, depois de selecionar um ambiente na nuvem.

569* **[Layout anterior](#check-which-layout-you-have)**: acima da caixa de prompt. Para adicionar outro repositório, clique em **+** ao lado do selecionado.

476 570 

477Veja [Use Claude Code na nuvem](/docs/pt/claude-code-on-the-web) para mais sobre como sessões na nuvem funcionam. Quando um corpo de trabalho precisa de muitas sessões na nuvem, selecione **Projects** na barra lateral para criar um [projeto](/docs/pt/claude-projects), onde Claude inicia e rastreia as sessões para você de uma conversa.571Veja [Use Claude Code na nuvem](/docs/pt/claude-code-on-the-web) para mais sobre como sessões na nuvem funcionam. Quando um corpo de trabalho precisa de muitas sessões na nuvem, selecione **Projects** na barra lateral para criar um [projeto](/docs/pt/claude-projects), onde Claude inicia e rastreia as sessões para você de uma conversa.

478 572 


500* **Você o ativa para essa sessão**: com o botão **Remote Control** da sessão, ou digitando `/remote-control` na caixa de prompt dela.594* **Você o ativa para essa sessão**: com o botão **Remote Control** da sessão, ou digitando `/remote-control` na caixa de prompt dela.

501* **Ela se conecta ao iniciar**: novas sessões se conectam automaticamente enquanto **Connect new sessions to Remote Control** estiver ativado em **Settings > Claude Code**. Se você nunca alterou essa configuração, o Desktop segue [`remoteControlAtStartup`](/docs/pt/settings-reference#remotecontrolatstartup) em suas configurações de usuário ou configurações gerenciadas e, em seguida, o padrão da sua organização.595* **Ela se conecta ao iniciar**: novas sessões se conectam automaticamente enquanto **Connect new sessions to Remote Control** estiver ativado em **Settings > Claude Code**. Se você nunca alterou essa configuração, o Desktop segue [`remoteControlAtStartup`](/docs/pt/settings-reference#remotecontrolatstartup) em suas configurações de usuário ou configurações gerenciadas e, em seguida, o padrão da sua organização.

502 596 

503Para ver se uma sessão está conectada, observe o ícone de laptop antes do título da sessão na barra de ferramentas. O ícone fica destacado enquanto a sessão está conectada ou se conectando. Clique nele para abrir o botão **Remote Control** da sessão.597Para ver se uma sessão está conectada, verifique o botão **Remote Control** no card **Environment** do [painel de detalhes da sessão](#see-session-details).

504 598 

505Para manter sessões fora de seus outros dispositivos, desative o Remote Control no nível de que você precisa:599Para manter sessões fora de seus outros dispositivos, desative o Remote Control no nível de que você precisa:

506 600 


538 Conectar ferramentas externas632 Conectar ferramentas externas

539</h3>633</h3>

540 634 

541Para sessões locais e [SSH](#ssh-sessions), clique no botão **+** ao lado da caixa de prompt e selecione **Connectors** para adicionar integrações como Google Calendar, Slack, GitHub, Linear, Notion e muito mais. Você pode adicionar conectores antes ou durante uma sessão. O botão **+** não está disponível em sessões cloud ou WSL, mas [routines](/docs/pt/routines) configuram conectores no momento da criação da rotina.635Conectores são [servidores MCP](/docs/pt/mcp) com um fluxo de configuração gráfica.

636 

637Clique em **+** ao lado da caixa de prompt, antes ou durante a sessão, para adicionar conectores em uma sessão local ou [SSH](#ssh-sessions) com uma conta Claude. Selecione **Add connectors** para abrir o diretório de conectores. Se o menu mostrar **Connectors** em vez disso, selecione-o e depois **Browse connectors**.

638 

639<Note>

640 Estes casos são abordados em outras páginas:

542 641 

543Para gerenciar ou desconectar conectores, vá para Settings → Connectors no aplicativo desktop, ou selecione **Manage connectors** no menu Connectors na caixa de prompt.642 * **Connectors está desativado (acinzentado) em uma sessão WSL**: veja [Se o terminal ou os conectores não estiverem disponíveis](/docs/pt/desktop-wsl#check-for-the-terminal-and-connectors)

643 * **Sessões na nuvem**: veja [Como os conectores chegam ao Claude Code](/docs/pt/mcp#how-connectors-reach-claude-code)

644</Note>

544 645 

545Uma vez conectado, Claude pode ler seu calendário, enviar mensagens, criar problemas e interagir com suas ferramentas diretamente. Você pode perguntar a Claude quais conectores estão configurados em sua sessão.646Uma vez conectado, Claude pode ler seu calendário, enviar mensagens, criar problemas e interagir com suas ferramentas diretamente. Você pode perguntar a Claude quais conectores estão configurados em sua sessão. Para gerenciar ou desconectar conectores, vá para **Settings > Connectors** no aplicativo desktop.

546 647 

547Conectores são [MCP servers](/docs/pt/mcp) com um fluxo de configuração gráfica. Use-os para integração rápida com serviços suportados. Para integrações não listadas em Connectors, adicione MCP servers manualmente via [arquivos de configuração](/docs/pt/mcp#installing-mcp-servers). Você também pode [criar conectores personalizados](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).648Para integrações não listadas em Connectors, adicione servidores MCP manualmente via [arquivos de configuração](/docs/pt/mcp#installing-mcp-servers). Você também pode [criar conectores personalizados](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).

548 649 

549<h3 id="use-skills">650<h3 id="use-skills">

550 Use skills651 Use skills


564 665 

565[Plugins](/docs/pt/plugins/overview) são pacotes reutilizáveis que adicionam skills, agents, hooks, MCP servers e configurações LSP ao Claude Code. Você pode instalar plugins do aplicativo desktop sem usar o terminal.666[Plugins](/docs/pt/plugins/overview) são pacotes reutilizáveis que adicionam skills, agents, hooks, MCP servers e configurações LSP ao Claude Code. Você pode instalar plugins do aplicativo desktop sem usar o terminal.

566 667 

567Para sessões locais e [SSH](#ssh-sessions), clique no botão **+** ao lado da caixa de prompt e selecione **Plugins** para ver seus plugins instalados e seus skills. Para adicionar um plugin, selecione **Add plugin** no submenu para abrir o navegador de plugins, que mostra plugins disponíveis de seus [marketplaces](/docs/pt/plugins/overview) configurados incluindo o marketplace oficial da Anthropic. Selecione **Manage plugins** para ativar, desativar ou desinstalar plugins.668Em uma sessão local ou em uma [sessão SSH](#ssh-sessions), clique em **+** ao lado da caixa de prompt e selecione **Add plugins** para abrir o navegador de plugins. Se o menu mostrar **Plugins** em vez disso, selecione-o e depois **Browse plugins**, ou **Manage plugins** para ativar, desativar ou desinstalar plugins.

568 669 

569Você pode escopar plugins para sua conta de usuário, um projeto específico ou apenas local. Se sua organização gerencia plugins centralmente, esses plugins estão disponíveis em sessões desktop da mesma forma que estão no CLI, exceto os que o aplicativo desktop [retém sob `disableSideloadFlags`](/docs/pt/settings-reference#disablesideloadflags).670Você pode escopar plugins para sua conta de usuário, um projeto específico ou apenas local. Se sua organização gerencia plugins centralmente, esses plugins estão disponíveis em sessões desktop da mesma forma que estão no CLI, exceto os que o aplicativo desktop [retém sob `disableSideloadFlags`](/docs/pt/settings-reference#disablesideloadflags).

570 671 


632| `runtimeArgs` | string\[] | Argumentos passados para `runtimeExecutable`, como `["run", "dev"]` |733| `runtimeArgs` | string\[] | Argumentos passados para `runtimeExecutable`, como `["run", "dev"]` |

633| `port` | number | A porta em que seu servidor escuta. Padrão é 3000 |734| `port` | number | A porta em que seu servidor escuta. Padrão é 3000 |

634| `cwd` | string | Diretório de trabalho relativo à raiz do seu projeto. Padrão é a raiz do projeto. Use `${workspaceFolder}` para referenciar a raiz do projeto explicitamente |735| `cwd` | string | Diretório de trabalho relativo à raiz do seu projeto. Padrão é a raiz do projeto. Use `${workspaceFolder}` para referenciar a raiz do projeto explicitamente |

635| `env` | object | Variáveis de ambiente adicionais como pares chave-valor, como `{ "NODE_ENV": "development" }`. Não coloque segredos aqui já que este arquivo é commitado em seu repo. Para passar segredos ao seu servidor de desenvolvimento, defina-os no [editor de ambiente local](#local-sessions) em vez disso. |736| `env` | object | Variáveis de ambiente adicionais como pares chave-valor, como `{ "NODE_ENV": "development" }`. Não coloque segredos aqui já que este arquivo é commitado em seu repo. Para segredos, veja [Definir variáveis de ambiente para servidores de desenvolvimento](#set-environment-variables-for-dev-servers). |

636| `autoPort` | boolean | Como lidar com conflitos de porta. Veja [Conflitos de porta](#port-conflicts) |737| `autoPort` | boolean | Como lidar com conflitos de porta. Veja [Conflitos de porta](#port-conflicts) |

637| `program` | string | Um script a executar com `node`. Veja [quando usar `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |738| `program` | string | Um script a executar com `node`. Veja [quando usar `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |

638| `args` | string\[] | Argumentos passados para `program`. Usado apenas quando `program` está definido |739| `args` | string\[] | Argumentos passados para `program`. Usado apenas quando `program` está definido |


795* **SSH**: é executado em uma máquina remota à qual você se conecta via SSH, como seus próprios servidores, VMs na nuvem ou dev containers. Uma tarefa em execução pode [continuar enquanto o Desktop está desconectado](#keep-a-task-running-while-desktop-is-disconnected), mas com uma conta Claude ela pode parar quando o login dela expirar.896* **SSH**: é executado em uma máquina remota à qual você se conecta via SSH, como seus próprios servidores, VMs na nuvem ou dev containers. Uma tarefa em execução pode [continuar enquanto o Desktop está desconectado](#keep-a-task-running-while-desktop-is-disconnected), mas com uma conta Claude ela pode parar quando o login dela expirar.

796* **WSL** (Windows): é executado dentro de uma [distribuição WSL 2](/docs/pt/desktop-wsl) na sua máquina, usando o conjunto de ferramentas Linux dela e caminhos nativos897* **WSL** (Windows): é executado dentro de uma [distribuição WSL 2](/docs/pt/desktop-wsl) na sua máquina, usando o conjunto de ferramentas Linux dela e caminhos nativos

797 898 

899<h3 id="create-a-saved-environment">

900 Criar um ambiente salvo

901</h3>

902 

903Um ambiente salvo é uma entrada no [seletor de ambiente](#start-a-session) que registra onde o Claude é executado, para que você possa iniciar sessões posteriores ali. Um ambiente local ou SSH também guarda as pastas em que o Claude trabalha. Ambientes locais e SSH salvos [exigem o Claude Desktop v2.37337.0 ou posterior](#check-which-layout-you-have).

904 

905<Steps>

906 <Step title="Abra a caixa de diálogo New environment">

907 Abra o seletor de ambiente abaixo da caixa de prompt e selecione **New environment** na parte inferior do menu.

908 </Step>

909 

910 <Step title="Escolha onde o Claude é executado">

911 Selecione a aba **Local**, **SSH** ou [**Cloud**](#cloud-sessions) e preencha o formulário dessa aba. Na aba **SSH**, escolha uma [conexão](#ssh-sessions) e uma pasta na máquina remota.

912 </Step>

913 

914 <Step title="Salve o ambiente">

915 Selecione **Create environment**, ou **Add environment** na aba **Cloud**.

916 </Step>

917</Steps>

918 

919<h4 id="environments-that-desktop-creates-for-you">

920 Ambientes que o Desktop cria para você

921</h4>

922 

923Se o seletor de ambiente listar ambientes locais ou SSH que você não criou, o Desktop os criou para você. Na primeira vez que você abre a aba Code no [layout atual](#check-which-layout-you-have), o Desktop cria até oito ambientes. Os ambientes vêm das pastas locais e SSH que você mais usou no último mês. Você pode [editá-los ou excluí-los](#use-edit-or-remove-a-saved-environment).

924 

925<h4 id="use-edit-or-remove-a-saved-environment">

926 Usar, editar ou remover um ambiente salvo

927</h4>

928 

929Encontre a entrada do ambiente no [seletor de ambiente](#start-a-session):

930 

931* **Iniciar uma sessão**: selecione a entrada.

932* **Editar ou excluir**: passe o cursor sobre a entrada e clique no ícone de engrenagem. Para excluir um ambiente local ou SSH, clique em **Delete environment** em **Edit environment**.

933* **Arquivar ambientes na nuvem**: consulte [Arquivar um ambiente](/docs/pt/cloud-environments#archive-an-environment).

934 

798<h3 id="local-sessions">935<h3 id="local-sessions">

799 Sessões locais936 Sessões locais

800</h3>937</h3>

801 938 

802O aplicativo desktop nem sempre herda todo o ambiente do seu shell. No macOS, quando você inicia o aplicativo pelo Dock ou pelo Finder, ele lê o perfil do seu shell, como `~/.zshrc` ou `~/.bashrc`, para fornecer ao Claude Code o `PATH` e um conjunto fixo de variáveis do Claude Code, mas não outras variáveis que você exporta ali. No Windows, o aplicativo herda as variáveis de ambiente do usuário e do sistema, mas não lê perfis do PowerShell.939O aplicativo desktop nem sempre herda todo o ambiente do seu shell. No macOS, quando você inicia o aplicativo pelo Dock ou pelo Finder, ele lê o perfil do seu shell, como `~/.zshrc` ou `~/.bashrc`, para fornecer ao Claude Code o `PATH` e um conjunto fixo de variáveis do Claude Code, mas não outras variáveis que você exporta ali. No Windows, o aplicativo herda as variáveis de ambiente do usuário e do sistema, mas não lê perfis do PowerShell.

803 940 

804Para definir variáveis de ambiente para sessões locais e servidores de desenvolvimento em qualquer plataforma, abra o menu suspenso de ambiente na caixa de prompt, passe o mouse sobre **Local** e clique no ícone de engrenagem para abrir o editor de ambiente local. As variáveis que você salva aqui são armazenadas criptografadas na sua máquina e se aplicam a todas as sessões locais e servidores de pré-visualização que você iniciar. Você também pode adicionar variáveis à chave `env` no seu arquivo `~/.claude/settings.json`, embora elas cheguem apenas às sessões do Claude e não aos servidores de desenvolvimento. Consulte [variáveis de ambiente](/docs/pt/env-vars) para a lista completa de variáveis suportadas.941<h4 id="set-environment-variables-for-local-sessions">

942 Definir variáveis de ambiente para sessões locais

943</h4>

944 

945Adicione as variáveis a um ambiente local salvo e inicie suas sessões a partir dele. O Desktop [define algumas variáveis por conta própria](#environment-variables-desktop-sets-itself), como `API_TIMEOUT_MS`, e suas sessões recebem o valor dele para essas variáveis em vez do seu.

946 

947<Note>

948 Se o seu seletor de ambiente estiver acima da caixa de prompt, você tem o [layout anterior](#check-which-layout-you-have), que não tem ambientes locais salvos. Use o [editor de ambiente local](#use-the-local-environment-editor) em vez disso.

949</Note>

950 

951<Steps>

952 <Step title="Abra o formulário do ambiente">

953 Abra [**New environment**](#create-a-saved-environment) ou [**Edit environment**](#use-edit-or-remove-a-saved-environment).

954 </Step>

955 

956 <Step title="Insira as variáveis">

957 Selecione **Environment variables**, insira um `KEY=value` por linha e selecione **Done**.

958 </Step>

959 

960 <Step title="Salve o ambiente">

961 Selecione **Create environment** ou **Save**.

962 </Step>

963</Steps>

964 

965Somente as sessões que você inicia a partir desse ambiente recebem as variáveis.

966 

967Para definir uma variável para todas as sessões locais, adicione-a à [chave `env`](/docs/pt/env-vars#set-variables-in-settings-files) no seu arquivo `~/.claude/settings.json`. O Claude Code [ignora o valor](/docs/pt/settings-reference#how-env-values-interact-with-your-shell) se essa variável já estiver no ambiente com o qual o Desktop inicia a sessão. Consulte [variáveis de ambiente](/docs/pt/env-vars) para ver a lista completa de variáveis compatíveis.

968 

969<h4 id="set-environment-variables-for-dev-servers">

970 Definir variáveis de ambiente para servidores de desenvolvimento

971</h4>

972 

973Para fornecer um segredo a um servidor de desenvolvimento sem fazer commit dele no [`launch.json`](#configure-preview-servers), defina-o em um destes lugares e depois reinicie o Desktop:

974 

975* **macOS e Linux**: exporte-o no perfil do seu shell

976* **Windows**: adicione-o às suas variáveis de ambiente do usuário ou do sistema

977* **Qualquer plataforma**: salve-o no [editor de ambiente local](#use-the-local-environment-editor), se você conseguir abri-lo

978 

979Os servidores de desenvolvimento não recebem as variáveis que você adiciona a um [ambiente salvo](#create-a-saved-environment) ou ao `~/.claude/settings.json`.

980 

981<h4 id="use-the-local-environment-editor">

982 Usar o editor de ambiente local

983</h4>

984 

985Para abrir o editor de ambiente local, clique no ícone de engrenagem na entrada do seu próprio computador, não no de um ambiente salvo:

986 

987* **Seletor abaixo da caixa de prompt**: passe o cursor sobre a entrada do seu computador, a primeira em **Local**. Se aparecer um ícone de engrenagem, clique nele. Caso contrário, o editor não está disponível; então, defina a variável para [sessões locais](#set-environment-variables-for-local-sessions) ou [servidores de desenvolvimento](#set-environment-variables-for-dev-servers) de outra forma.

988* **Seletor acima da caixa de prompt**: passe o cursor sobre **Local** e clique no ícone de engrenagem

989 

990Insira um `KEY=value` por linha e selecione **Save changes**. As variáveis que você salva aqui são armazenadas criptografadas na sua máquina. As sessões locais as recebem, exceto qualquer variável que o [Desktop define por conta própria](#environment-variables-desktop-sets-itself), como `API_TIMEOUT_MS`. Reinicie o Desktop para fornecer suas variáveis aos servidores de desenvolvimento.

991 

992<h4 id="environment-variables-desktop-sets-itself">

993 Variáveis de ambiente que o Desktop define por conta própria

994</h4>

995 

996Se você definiu `API_TIMEOUT_MS` ou `ANTHROPIC_BASE_URL` e nada mudou nas suas sessões locais, é porque o Desktop define essas [variáveis](/docs/pt/env-vars#variables), entre outras, por conta própria. Uma sessão local recebe o valor do Desktop, quer você defina o seu no perfil do shell, nas variáveis de usuário ou de sistema do Windows, no editor de ambiente local ou em um ambiente salvo. Mover o seu para um arquivo de configurações não ajuda, porque o Claude Code [ignora esse valor](/docs/pt/settings-reference#how-env-values-interact-with-your-shell) em uma sessão local.

997 

998* `API_TIMEOUT_MS`: uma sessão local recebe `900000`, que equivale a 15 minutos. Para um timeout maior, [instale a CLI do Claude Code](/docs/pt/quickstart) e use-a em vez do Desktop. [Defina a variável no seu shell](/docs/pt/env-vars#set-variables-in-your-shell) e execute `claude` no seu terminal.

999* `ANTHROPIC_BASE_URL`: uma sessão local recebe o host da API da Anthropic quando você está conectado com uma conta Claude. Para usar um gateway, configure a [configuração de inferência de terceiros](/docs/pt/llm-gateway-connect#desktop-app) do Desktop em vez disso.

1000 

1001<h4 id="turn-off-extended-thinking">

1002 Desativar o pensamento estendido

1003</h4>

805 1004 

806O [pensamento estendido](/docs/pt/model-config#extended-thinking) é ativado por padrão, o que melhora o desempenho em tarefas de raciocínio complexo, mas usa tokens adicionais. Na API da Anthropic, defina `MAX_THINKING_TOKENS` como `0` no editor de ambiente local para desativar o pensamento; isso não tem efeito no Opus 5.5, Sonnet 5.5, Haiku 5.5 ou nos modelos Fable, que sempre usam pensamento estendido. Com o pensamento desativado na API da Anthropic, o Claude Code envia o esforço `high` em vez de um nível mais alto para modelos que ele sabe que [não aceitam essa combinação](/docs/pt/errors#effort-isnt-available-with-thinking-turned-off), como o Opus 5.1005O [pensamento estendido](/docs/pt/model-config#extended-thinking) é ativado por padrão, o que melhora o desempenho em tarefas de raciocínio complexas, mas usa tokens adicionais. Para desativá-lo, defina `MAX_THINKING_TOKENS` como `0` em um [ambiente local salvo](#set-environment-variables-for-local-sessions) ou no [editor de ambiente local](#use-the-local-environment-editor). O pensamento então é desativado na API da Anthropic, exceto no Opus 5.5, Sonnet 5.5, Haiku 5.5 e nos modelos Fable, que sempre usam pensamento estendido.

1006 

1007No Opus 5, selecione também o esforço `high` ou inferior antes de iniciar a sessão. No [layout atual](#check-which-layout-you-have), abra o seletor de modelo e selecione um nível em **Effort**. Se você iniciou a sessão em um nível mais alto, inicie uma nova em `high` ou inferior.

1008 

1009<h4 id="fixed-thinking-budgets">

1010 Orçamentos fixos de pensamento

1011</h4>

807 1012 

808Em modelos com [raciocínio adaptativo](/docs/pt/model-config#adjust-effort-level), o Claude Code ignora o próprio número em um valor positivo de `MAX_THINKING_TOKENS`, porque o raciocínio adaptativo controla a profundidade do pensamento. No Opus 4.6 e no Sonnet 4.6, defina `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` como `1` para usar um orçamento fixo de pensamento; os modelos Fable, o Sonnet 5 e posteriores, o Haiku 5.5 e o Opus 4.7 e posteriores sempre usam raciocínio adaptativo e não têm modo de orçamento fixo.1013Em modelos com [raciocínio adaptativo](/docs/pt/model-config#adjust-effort-level), o Claude Code ignora o próprio número em um valor positivo de `MAX_THINKING_TOKENS`, porque o raciocínio adaptativo controla a profundidade do pensamento. No Opus 4.6 e no Sonnet 4.6, defina `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` como `1` para usar um orçamento fixo de pensamento; os modelos Fable, o Sonnet 5 e posteriores, o Haiku 5.5 e o Opus 4.7 e posteriores sempre usam raciocínio adaptativo e não têm modo de orçamento fixo.

809 1014 


811 Sessões locais em dispositivos gerenciados1016 Sessões locais em dispositivos gerenciados

812</h4>1017</h4>

813 1018 

814Seu administrador pode desativar as sessões locais com a [configuração gerenciada `disableDesktopLocalSessions`](#managed-settings). Quando isso acontece, **Local** permanece no menu suspenso de ambiente, mas fica esmaecido e não pode ser selecionado, com uma dica informando que sua organização o desativou, e no Windows a entrada [WSL](/docs/pt/desktop-wsl), cuja disponibilidade em dispositivos gerenciados é [controlada separadamente](/docs/pt/admin-setup#wsl-sessions-in-claude-code-desktop), fica esmaecida da mesma forma. Novas sessões usam por padrão a primeira conexão SSH, se houver uma configurada, e o Desktop mostra uma mensagem informando que sessões locais não estão disponíveis neste dispositivo se você tentar continuar uma existente. Escolha um ambiente [SSH](#ssh-sessions) ou [na nuvem](#cloud-sessions) em vez disso, ou entre em contato com sua equipe de TI.1019Se a entrada do seu computador estiver esmaecida no seletor de ambiente, com a dica **Disabled by your organization**, seu administrador [desativou as sessões locais](#managed-settings). No Windows, a entrada do [WSL](/docs/pt/desktop-wsl), cuja disponibilidade em dispositivos gerenciados é [controlada separadamente](/docs/pt/admin-setup#wsl-sessions-in-claude-code-desktop), fica esmaecida da mesma forma.

1020 

1021Novas sessões usam por padrão a primeira conexão SSH, se houver uma configurada. Se você tentar continuar uma sessão local existente, o Desktop mostra uma mensagem informando que as sessões locais não estão disponíveis neste dispositivo. [Ambientes locais salvos](#create-a-saved-environment) mostram este erro quando você seleciona um deles: `Couldn’t switch environments: the Local environment isn’t available anymore.` Escolha um ambiente [SSH](#ssh-sessions) ou [na nuvem](#cloud-sessions) em vez disso, ou entre em contato com sua equipe de TI.

815 1022 

816<h3 id="cloud-sessions">1023<h3 id="cloud-sessions">

817 Sessões na nuvem1024 Sessões na nuvem


819 1026 

820As sessões na nuvem continuam em segundo plano mesmo que você feche o aplicativo. O uso conta para os [limites do seu plano de assinatura](/docs/pt/costs), sem cobranças de computação separadas.1027As sessões na nuvem continuam em segundo plano mesmo que você feche o aplicativo. O uso conta para os [limites do seu plano de assinatura](/docs/pt/costs), sem cobranças de computação separadas.

821 1028 

822Você pode criar ambientes de nuvem personalizados com diferentes níveis de acesso à rede e variáveis de ambiente. Para gerenciá-los, abra o menu suspenso de ambiente na caixa de prompt e selecione **Cloud**:1029Para adicionar, editar ou [arquivar](/docs/pt/cloud-environments#archive-an-environment) um ambiente na nuvem, abra o [seletor de ambiente](#start-a-session):

823 1030 

824* **Adicionar um ambiente**: selecione **Add cloud environment**1031* **Adicionar um ambiente**: selecione **New environment** na parte inferior do menu do seletor e, em seguida, a aba **Cloud** da [caixa de diálogo **New environment**](#create-a-saved-environment)

825* **Editar ou arquivar um dos seus próprios ambientes**: passe o mouse sobre ele e clique no ícone de engrenagem1032* **Editar ou arquivar um dos seus próprios ambientes**: passe o mouse sobre ele e clique no ícone de engrenagem

826 1033 

827Consulte [Configurar ambientes de nuvem](/docs/pt/cloud-environments) para detalhes sobre como configurar o acesso à rede e as variáveis de ambiente.1034Consulte [Configurar ambientes de nuvem](/docs/pt/cloud-environments) para detalhes sobre como configurar o acesso à rede e as variáveis de ambiente.


836 Se você usa o Desktop com um [provedor terceirizado](/docs/pt/third-party-integrations), as sessões SSH precisam de sua própria configuração. Consulte [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).1043 Se você usa o Desktop com um [provedor terceirizado](/docs/pt/third-party-integrations), as sessões SSH precisam de sua própria configuração. Consulte [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

837</Note>1044</Note>

838 1045 

839Para adicionar uma conexão SSH, abra o menu suspenso de ambiente na caixa de prompt antes de iniciar uma sessão, depois selecione **SSH > Add SSH connection…** e preencha os detalhes da conexão:1046Adicione uma conexão SSH na [caixa de diálogo **New environment**](#create-a-saved-environment) e, em seguida, inicie uma sessão nessa conexão. Se uma nova sessão não tiver um seletor de ambiente abaixo da caixa de prompt, você tem o layout anterior. Consulte [Verificar qual layout você tem](#check-which-layout-you-have).

1047 

1048<Steps>

1049 <Step title="Abra a caixa de diálogo New environment">

1050 Antes de iniciar uma sessão, abra o seletor de ambiente abaixo da caixa de prompt e selecione **New environment** na parte inferior do menu.

1051 </Step>

1052 

1053 <Step title="Adicione a conexão">

1054 Na aba **SSH** da caixa de diálogo **New environment**, abra a lista **Host**, selecione **Add SSH connection…** e preencha os detalhes da conexão:

840 1055 

841* **Name**: um rótulo amigável para esta conexão1056 * **Name**: um rótulo amigável para esta conexão.

842* **SSH host**: `user@hostname` ou um host definido em `~/.ssh/config`1057 * **SSH host**: `user@hostname` ou um host definido em `~/.ssh/config`.

843* **SSH port**: usa 22 por padrão se deixado vazio, ou usa a porta da sua configuração SSH1058 * **SSH port**: usa 22 por padrão se deixado vazio, ou usa a porta da sua configuração SSH.

844* **SSH key (optional)**: caminho para sua chave privada, como `~/.ssh/id_ed25519`. Deixe vazio para usar sua configuração SSH ou seu agente SSH.1059 * **SSH key (optional)**: caminho para sua chave privada, como `~/.ssh/id_ed25519`. Deixe vazio para usar sua configuração SSH ou seu agente SSH.

845* **Worktree folder**: uma pasta na máquina remota, como `~/worktrees`, onde novas sessões criam seus worktrees. Deixe vazio para usar o [padrão da máquina remota](#choose-where-ssh-session-worktrees-go).1060 * **Worktree folder**: uma pasta na máquina remota, como `~/worktrees`, onde as novas sessões criam seus worktrees. Deixe vazio para usar o [padrão da máquina remota](#choose-where-ssh-session-worktrees-go).

846 1061 

847Depois de adicionada, a conexão aparece em **SSH** no menu suspenso de ambiente. Selecione-a para iniciar uma sessão nessa máquina. Claude é executado na máquina remota com acesso aos arquivos e ferramentas dela.1062 Em seguida, selecione **Add SSH connection**.

1063 </Step>

1064 

1065 <Step title="Inicie uma sessão na conexão">

1066 Selecione uma pasta na máquina remota e clique em **Create environment**. Você mantém a máquina e a pasta juntas como um [ambiente salvo](#create-a-saved-environment) para sessões posteriores. O Desktop o seleciona para a nova sessão; então, digite sua tarefa e pressione **Enter**.

1067 </Step>

1068</Steps>

848 1069 

849A máquina remota pode executar Linux, macOS ou [Windows](#windows-remote-machines). O Desktop instala o Claude Code na máquina remota automaticamente na primeira vez que você se conecta. Depois de conectadas, as sessões SSH suportam modos de permissão, conectores, plugins e servidores MCP.1070A máquina remota pode executar Linux, macOS ou [Windows](#windows-remote-machines). O Desktop instala o Claude Code na máquina remota automaticamente na primeira vez que você se conecta. Depois de conectadas, as sessões SSH suportam modos de permissão, conectores, plugins e servidores MCP.

850 1071 


1175 1396 

1176Edições de arquivos e algumas ferramentas podem falhar enquanto o Desktop está desconectado. Se a tarefa precisar delas, mantenha o Desktop conectado:1397Edições de arquivos e algumas ferramentas podem falhar enquanto o Desktop está desconectado. Se a tarefa precisar delas, mantenha o Desktop conectado:

1177 1398 

1178* **Worktrees**: em uma sessão que usa um [worktree](#work-in-parallel-with-sessions), o Desktop verifica cada edição de arquivo antes que Claude a faça. Enquanto o Desktop está desconectado, cada edição aguarda cerca de 30 segundos e depois falha. Comandos do shell ainda são executados. Em uma máquina remota Linux ou macOS, [as edições podem continuar funcionando](#worktree-edits-while-disconnected). Se não tiver certeza, inicie a sessão sem um worktree.1399* **Worktrees**: em uma sessão que usa um [worktree](#run-a-session-in-its-own-worktree), o Desktop verifica cada edição de arquivo antes que o Claude a faça. Enquanto o Desktop está desconectado, cada edição aguarda cerca de 30 segundos e depois falha. Os comandos do shell continuam sendo executados. Em uma máquina remota Linux ou macOS, [as edições podem continuar funcionando](#worktree-edits-while-disconnected). Se você não tiver certeza, inicie a sessão sem um worktree.

1179* **Restrições de pastas**: se sua organização restringe quais pastas as sessões podem usar, o Desktop verifica cada leitura, pesquisa e edição de arquivo, com ou sem worktree. Enquanto o Desktop está desconectado, cada uma aguarda até 10 minutos e depois falha.1400* **Restrições de pastas**: se sua organização restringe quais pastas as sessões podem usar, o Desktop verifica cada leitura, pesquisa e edição de arquivo, com ou sem worktree. Enquanto o Desktop está desconectado, cada uma aguarda até 10 minutos e depois falha.

1180* **Conectores**: [conectores](#connect-external-tools) e outras ferramentas que o Desktop fornece passam pelo Desktop, portanto, enquanto ele está desconectado, cada chamada falha após cerca de 30 segundos1401* **Conectores**: [conectores](#connect-external-tools) e outras ferramentas que o Desktop fornece passam pelo Desktop, portanto, enquanto ele está desconectado, cada chamada falha após cerca de 30 segundos

1181* **Fluxos de trabalho**: o Desktop verifica cada novo [fluxo de trabalho](/docs/pt/workflows) antes que ele comece, portanto, enquanto o Desktop está desconectado, um novo aguarda até 10 minutos e depois falha1402* **Fluxos de trabalho**: o Desktop verifica cada novo [fluxo de trabalho](/docs/pt/workflows) antes que ele comece, portanto, enquanto o Desktop está desconectado, um novo aguarda até 10 minutos e depois falha


1264 Escolher onde ficam os worktrees das sessões SSH1485 Escolher onde ficam os worktrees das sessões SSH

1265</h4>1486</h4>

1266 1487 

1267A menos que sua organização restrinja quais pastas as sessões podem usar, novas sessões SSH criam seus [worktrees](#work-in-parallel-with-sessions) no primeiro destes que estiver definido:1488A menos que sua organização restrinja quais pastas as sessões podem usar, as novas sessões SSH criam seus [worktrees](#run-a-session-in-its-own-worktree) no primeiro destes locais que estiver definido:

1268 1489 

12691. **Worktree folder** na conexão SSH14901. **Worktree folder** na conexão SSH

12702. [`worktree.location`](/docs/pt/settings-reference#worktree-location) em `~/.claude/settings.json` na máquina remota14912. [`worktree.location`](/docs/pt/settings-reference#worktree-location) em `~/.claude/settings.json` na máquina remota


1272 1493 

1273Cada projeto recebe sua própria subpasta na pasta que você define, portanto, com `~/worktrees`, o caminho de um worktree é `~/worktrees/<project>-<id>/<worktree-name>`. Se a pasta que você definir estiver dentro do projeto, o Desktop a ignora para esse projeto e usa o padrão. Em uma [máquina remota Windows](#windows-remote-machines), o Desktop sempre usa o padrão.1494Cada projeto recebe sua própria subpasta na pasta que você define, portanto, com `~/worktrees`, o caminho de um worktree é `~/worktrees/<project>-<id>/<worktree-name>`. Se a pasta que você definir estiver dentro do projeto, o Desktop a ignora para esse projeto e usa o padrão. Em uma [máquina remota Windows](#windows-remote-machines), o Desktop sempre usa o padrão.

1274 1495 

1275Para definir **Worktree folder** em uma conexão que você adicionou anteriormente ou em uma que sua organização gerencia, passe o mouse sobre ela no menu suspenso de ambiente e clique no ícone de engrenagem.1496<a id="set-the-worktree-folder-on-an-existing-connection" />

1276 1497 

1277O campo requer o Claude Desktop v1.44121.0 ou posterior. Se sua organização restringe quais pastas as sessões podem usar, o Desktop oculta o campo e mantém os worktrees dentro do projeto.1498<h5 id="set-the-worktree-folder-on-an-existing-connection">

1499 Definir a pasta de worktrees em uma conexão existente

1500</h5>

1501 

1502Defina **Worktree folder** nas configurações de uma conexão que você adicionou anteriormente ou de uma que sua organização gerencia. O campo exige o Claude Desktop v1.44121.0 ou posterior. Se sua organização restringir quais pastas as sessões podem usar, o Desktop oculta o campo e mantém os worktrees dentro do projeto.

1503 

1504<Steps>

1505 <Step title="Encontre a conexão">

1506 Abra o [seletor de ambiente](#start-a-session) e encontre a conexão em **SSH**.

1507 </Step>

1508 

1509 <Step title="Abra as configurações da conexão">

1510 Passe o cursor sobre a conexão e clique no ícone de engrenagem. Se a caixa de diálogo que abrir mostrar **Edit connection…** ao lado de **Host**, selecione **Edit connection…**.

1511 </Step>

1512 

1513 <Step title="Defina a pasta">

1514 Em **Worktree folder**, insira uma pasta na máquina remota, como `~/worktrees`, e selecione **Save changes**.

1515 </Step>

1516</Steps>

1278 1517 

1279<h4 id="files-and-processes-on-the-remote-machine">1518<h4 id="files-and-processes-on-the-remote-machine">

1280 Arquivos e processos na máquina remota1519 Arquivos e processos na máquina remota


1321 Encerrar o processo de uma sessão1560 Encerrar o processo de uma sessão

1322</h5>1561</h5>

1323 1562 

1324Para encerrar o processo do Claude Code de uma sessão, [arquive a sessão](#work-in-parallel-with-sessions) no Desktop enquanto o Desktop estiver conectado à máquina remota. O processo continua em execução depois que sua tarefa é concluída e depois que você sai do Desktop.1563Para finalizar o processo do Claude Code de uma sessão, [arquive a sessão](#archive-a-session) no Desktop enquanto o Desktop estiver conectado à máquina remota. O processo continua em execução depois que a tarefa dele termina e depois que você encerra o Desktop.

1325 1564 

1326Antes de arquivar uma sessão que tem um worktree, consulte [Trabalhar em paralelo com sessões](#work-in-parallel-with-sessions).1565Antes de arquivar uma sessão cujo worktree tenha alterações sem commit, consulte [Manter alterações sem commit quando uma sessão é arquivada](#keep-uncommitted-changes-when-a-session-is-archived).

1327 1566 

1328<h5 id="see-which-user-the-processes-run-as">1567<h5 id="see-which-user-the-processes-run-as">

1329 Ver com qual usuário os processos são executados1568 Ver com qual usuário os processos são executados


1474 Pré-configurar conexões SSH para sua equipe1713 Pré-configurar conexões SSH para sua equipe

1475</h4>1714</h4>

1476 1715 

1477Os administradores podem distribuir conexões SSH aos membros da equipe definindo `sshConfigs` nas [configurações gerenciadas](/docs/pt/managed-settings). As conexões definidas dessa forma aparecem automaticamente no menu suspenso de ambiente de cada usuário e são mostradas como gerenciadas. Os usuários podem selecioná-las e [definir sua própria **Worktree folder**](#choose-where-ssh-session-worktrees-go) para elas, mas não podem editar mais nada nem excluí-las no aplicativo.1716Os administradores podem distribuir conexões SSH para os membros da equipe definindo `sshConfigs` nas [configurações gerenciadas](/docs/pt/managed-settings).

1717 

1718* **O que os usuários veem**: as conexões definidas dessa forma aparecem automaticamente no seletor de ambiente de cada usuário.

1719* **O que os usuários podem alterar**: os usuários podem selecionar uma conexão gerenciada e [definir sua própria **Worktree folder**](#set-the-worktree-folder-on-an-existing-connection) para ela. Eles não podem editar os outros campos nem excluí-la no aplicativo.

1478 1720 

1479O exemplo a seguir pré-configura uma única conexão:1721O exemplo a seguir pré-configura uma única conexão:

1480 1722 


1563Para confirmar que as configurações se aplicam, verifique o computador de um desenvolvedor:1805Para confirmar que as configurações se aplicam, verifique o computador de um desenvolvedor:

1564 1806 

1565<Steps>1807<Steps>

1566 <Step title="Verifique o menu suspenso de ambiente">1808 <Step title="Verificar o seletor de ambiente">

1567 Saia do Desktop e abra-o novamente, depois abra o menu suspenso de ambiente na caixa de prompt. **Local** fica esmaecido, e **Shared Dev VM** aparece em **SSH**. Se **Local** ainda estiver disponível, verifique a versão do Desktop, se o arquivo é um JSON válido e qual fonte gerenciada o computador lê.1809 Feche e reabra o Desktop e, em seguida, abra o [seletor de ambiente](#start-a-session). As configurações foram aplicadas se ele mostrar:

1810 

1811 * A entrada desse computador, em cinza

1812 * **Shared Dev VM** em **SSH**. Se ela não estiver listada ali, clique na linha única **SSH** ou em **More** no final do grupo.

1813 

1814 Se a entrada do computador ainda estiver disponível, verifique estas causas:

1815 

1816 * **Versão do Desktop**: atualize o Desktop se ele for anterior à v1.37937.0.

1817 * **Arquivo de configurações gerenciadas**: certifique-se de que o arquivo é um JSON válido.

1818 * **Fonte gerenciada**: certifique-se de que o computador lê a [fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources) que contém as chaves.

1568 </Step>1819 </Step>

1569 1820 

1570 <Step title="Adicione um host que não está na allowlist">1821 <Step title="Adicionar um host que não está na allowlist">

1571 [Adicione uma conexão SSH](#ssh-sessions) com um nome de host que não está na allowlist, como `other.example.com`. O Desktop salva a conexão, mas se recusa a se conectar, e informa que as configurações da sua organização não permitem a conexão.1822 [Adicione uma conexão SSH](#ssh-sessions) com um hostname que não está na allowlist, como `other.example.com`. O Desktop salva a conexão, mas se recusa a conectar e informa que as configurações da sua organização não permitem a conexão.

1572 </Step>1823 </Step>

1573</Steps>1824</Steps>

1574 1825 


1612| `browserExternalPageTools` | defina como `"disabled"` para impedir Claude de usar ferramentas para ler ou agir em páginas externas no [painel Browser](#browse-external-sites). Os usuários ainda podem navegar para sites externos por conta própria, e as visualizações do servidor de desenvolvimento local não são afetadas. |1863| `browserExternalPageTools` | defina como `"disabled"` para impedir Claude de usar ferramentas para ler ou agir em páginas externas no [painel Browser](#browse-external-sites). Os usuários ainda podem navegar para sites externos por conta própria, e as visualizações do servidor de desenvolvimento local não são afetadas. |

1613| `disableMobileSimulatorTools` | defina como `true` para bloquear as ferramentas de Claude para controlar e capturar dispositivos no [painel iOS Simulator](/docs/pt/desktop-ios-simulator#turn-off-simulator-access). O painel permanece utilizável para os toques do próprio usuário; apenas o acesso de Claude é removido. O valor deve ser o booleano JSON `true`; a string `"true"` é ignorada. |1864| `disableMobileSimulatorTools` | defina como `true` para bloquear as ferramentas de Claude para controlar e capturar dispositivos no [painel iOS Simulator](/docs/pt/desktop-ios-simulator#turn-off-simulator-access). O painel permanece utilizável para os toques do próprio usuário; apenas o acesso de Claude é removido. O valor deve ser o booleano JSON `true`; a string `"true"` é ignorada. |

1614| `disableBrowserExternalNavigation` | defina como `true` para desativar a navegação externa no [painel Browser](#browse-external-sites) inteiramente. Nem usuários nem Claude podem navegar para sites externos, e as visualizações do servidor localhost dev não são afetadas. O valor deve ser o booleano JSON `true`; a string `"true"` é ignorada. |1865| `disableBrowserExternalNavigation` | defina como `true` para desativar a navegação externa no [painel Browser](#browse-external-sites) inteiramente. Nem usuários nem Claude podem navegar para sites externos, e as visualizações do servidor localhost dev não são afetadas. O valor deve ser o booleano JSON `true`; a string `"true"` é ignorada. |

1615| `sshConfigs` | pré-configure [conexões SSH](#pre-configure-ssh-connections-for-your-team) que aparecem no dropdown de ambiente. Usuários não podem excluir conexões gerenciadas nem editar nada além de sua própria **Worktree folder**. |1866| `sshConfigs` | pré-configure [conexões SSH](#pre-configure-ssh-connections-for-your-team) que aparecem no seletor de ambiente. Usuários não podem excluir conexões gerenciadas nem editar nada além de sua própria **Worktree folder**. |

1616| `sshHostAllowlist` | restrinja [sessões SSH](#restrict-which-ssh-hosts-users-can-connect-to) a hosts cujo nome de host resolvido corresponde a um desses padrões. Lido apenas de configurações gerenciadas. |1867| `sshHostAllowlist` | restrinja [sessões SSH](#restrict-which-ssh-hosts-users-can-connect-to) a hosts cujo nome de host resolvido corresponde a um desses padrões. Lido apenas de configurações gerenciadas. |

1617| `disableDesktopLocalSessions` | defina como `true` para desativar [sessões Code que são executadas no dispositivo](#local-sessions-on-managed-devices), deixando sessões SSH para outros hosts e sessões na nuvem disponíveis. O valor deve ser o booleano JSON `true`. Lido apenas de configurações gerenciadas. Requer Claude Desktop v1.37937.0 ou posterior. |1868| `disableDesktopLocalSessions` | defina como `true` para desativar [sessões Code que são executadas no dispositivo](#local-sessions-on-managed-devices), deixando sessões SSH para outros hosts e sessões na nuvem disponíveis. O valor deve ser o booleano JSON `true`. Lido apenas de configurações gerenciadas. Requer Claude Desktop v1.37937.0 ou posterior. |

1618| `disableSshSavedPasswords` | defina como `true` para impedir que o Desktop ofereça lembrar senhas SSH e que use ou mostre as que salvou anteriormente. Ativá-la não as exclui. Lido apenas de configurações gerenciadas. Requer Claude Desktop v1.49585.0 ou posterior. |1869| `disableSshSavedPasswords` | defina como `true` para impedir que o Desktop ofereça lembrar senhas SSH e que use ou mostre as que salvou anteriormente. Ativá-la não as exclui. Lido apenas de configurações gerenciadas. Requer Claude Desktop v1.49585.0 ou posterior. |


1756 2007 

1757| CLI | Equivalente desktop |2008| CLI | Equivalente desktop |

1758| - | - |2009| - | - |

1759| `--model sonnet` | Menu suspenso de modelo ao lado do botão enviar |2010| `--model sonnet` | Seletor de modelo na linha abaixo da caixa de prompt |

1760| `--resume`, `--continue` | Clique em uma sessão na barra lateral, ou digite `/resume` na caixa de prompt para retomar uma sessão que você iniciou a partir do CLI |2011| `--resume`, `--continue` | Clique em uma sessão na barra lateral, ou digite `/resume` na caixa de prompt para retomar uma sessão que você iniciou a partir do CLI |

1761| `--permission-mode` | Seletor de modo ao lado do botão enviar |2012| `--permission-mode` | Seletor de modo na linha abaixo da caixa de prompt |

1762| `--dangerously-skip-permissions` | Modo Bypass permissions. Em planos Pro e Max, ative em Configurações → Claude Code → "Allow bypass permissions mode"; em planos Team e Enterprise, a política organizacional controla |2013| `--dangerously-skip-permissions` | Modo Bypass permissions. Em planos Pro e Max, ative em Configurações → Claude Code → "Allow bypass permissions mode"; em planos Team e Enterprise, a política organizacional controla |

1763| `--add-dir` | Adicione múltiplos repos com o botão **+** em sessões na nuvem |2014| `--add-dir` | [Adicione pastas a uma sessão](#add-folders-to-a-session) em sessões locais e SSH, ou selecione [vários repositórios](#run-long-running-tasks-in-the-cloud) em uma sessão na nuvem |

1764| `--allowedTools`, `--disallowedTools` | Nenhum equivalente por sessão. Regras de permissão em [arquivos de configuração](/docs/pt/settings) ainda se aplicam. |2015| `--allowedTools`, `--disallowedTools` | Nenhum equivalente por sessão. Regras de permissão em [arquivos de configuração](/docs/pt/settings) ainda se aplicam. |

1765| `--verbose` | [Modo de visualização Verbose](#switch-view-modes) |2016| `--verbose` | [Modo de visualização Verbose](#switch-view-modes) |

1766| `--print`, `--output-format` | Não disponível. Desktop é apenas interativo. |2017| `--print`, `--output-format` | Não disponível. Desktop é apenas interativo. |

1767| Variável de ambiente `ANTHROPIC_MODEL` | Menu suspenso de modelo ao lado do botão enviar |2018| Variável de ambiente `ANTHROPIC_MODEL` | Seletor de modelo na linha abaixo da caixa de prompt |

1768| Variável de ambiente `MAX_THINKING_TOKENS` | Defina no editor de ambiente local. Veja [configuração de ambiente](#environment-configuration). |2019| Variável de ambiente `MAX_THINKING_TOKENS` | Veja [Desativar o pensamento estendido](#turn-off-extended-thinking) |

1769 2020 

1770<h3 id="shared-configuration">2021<h3 id="shared-configuration">

1771 Shared configuration2022 Shared configuration


1777* **[MCP servers](/docs/pt/mcp)** configurados em `~/.claude.json` ou `.mcp.json` funcionam em ambos2028* **[MCP servers](/docs/pt/mcp)** configurados em `~/.claude.json` ou `.mcp.json` funcionam em ambos

1778* **[Hooks](/docs/pt/hooks)** e **[skills](/docs/pt/skills)** definidos em configurações se aplicam a ambos2029* **[Hooks](/docs/pt/hooks)** e **[skills](/docs/pt/skills)** definidos em configurações se aplicam a ambos

1779* **[Configurações](/docs/pt/settings)** em `~/.claude.json` e `~/.claude/settings.json` são compartilhadas. Regras de permissão, ferramentas permitidas e outras configurações em `settings.json` se aplicam a sessões Desktop.2030* **[Configurações](/docs/pt/settings)** em `~/.claude.json` e `~/.claude/settings.json` são compartilhadas. Regras de permissão, ferramentas permitidas e outras configurações em `settings.json` se aplicam a sessões Desktop.

1780* **Modelos**: os mesmos [modelos](/docs/pt/model-config#available-models) estão disponíveis em ambos. Em Desktop, selecione o modelo no menu suspenso ao lado do botão enviar. Você pode alterar o modelo durante a sessão a partir do mesmo menu suspenso.2031* **Modelos**: os mesmos [modelos](/docs/pt/model-config#available-models) estão disponíveis em ambos. Em Desktop, selecione o modelo no seletor de modelo na linha abaixo da caixa de prompt. Você pode alterar o modelo durante a sessão a partir do mesmo seletor.

1781 2032 

1782<h4 id="mcp-servers-from-the-claude-desktop-chat-app">2033<h4 id="mcp-servers-from-the-claude-desktop-chat-app">

1783 MCP servers from the Claude Desktop chat app2034 MCP servers from the Claude Desktop chat app


1805| [Provedores de terceiros](/docs/pt/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API da Anthropic por padrão. Para roteamento de gateway, veja [conectar o aplicativo desktop a um gateway](/docs/pt/llm-gateway-connect#desktop-app). Para executar a aba Code em Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou um gateway LLM auto-hospedado, veja [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |2056| [Provedores de terceiros](/docs/pt/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API da Anthropic por padrão. Para roteamento de gateway, veja [conectar o aplicativo desktop a um gateway](/docs/pt/llm-gateway-connect#desktop-app). Para executar a aba Code em Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou um gateway LLM auto-hospedado, veja [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

1806| [MCP servers](/docs/pt/mcp) | Configure em arquivos de configuração | UI de Connectors para sessões locais e SSH, ou arquivos de configuração |2057| [MCP servers](/docs/pt/mcp) | Configure em arquivos de configuração | UI de Connectors para sessões locais e SSH, ou arquivos de configuração |

1807| [Plugins](/docs/pt/plugins/overview) | Comando `/plugin` | UI do gerenciador de plugins |2058| [Plugins](/docs/pt/plugins/overview) | Comando `/plugin` | UI do gerenciador de plugins |

1808| @mention de arquivos | Baseado em texto | Com autocompletar; sessões locais e SSH apenas |2059| @mention de arquivos | Baseado em texto | Com autocompletar, exceto na primeira mensagem de uma sessão na nuvem |

1809| Anexos de arquivo | Não disponível | Imagens, PDFs |2060| Anexos de arquivo | Não disponível | Imagens, PDFs |

1810| Isolamento de sessão | Flag [`--worktree`](/docs/pt/cli-reference) | Opção **worktree** ao iniciar uma sessão |2061| Isolamento de sessão | Flag [`--worktree`](/docs/pt/cli-reference) | [Executar uma sessão em seu próprio worktree](#run-a-session-in-its-own-worktree) |

1811| Múltiplas sessões | Terminais separados | Abas na barra lateral |2062| Múltiplas sessões | Terminais separados | Abas na barra lateral |

1812| Tarefas recorrentes | Cron jobs, pipelines CI | [Tarefas agendadas](/docs/pt/desktop-scheduled-tasks) |2063| Tarefas recorrentes | Cron jobs, pipelines CI | [Tarefas agendadas](/docs/pt/desktop-scheduled-tasks) |

1813| Computer use | [Ativar via `/mcp`](/docs/pt/computer-use) no macOS | [Controle de aplicativo e tela](#let-claude-use-your-computer) no macOS e Windows |2064| Computer use | [Ativar via `/mcp`](/docs/pt/computer-use) no macOS | [Controle de aplicativo e tela](#let-claude-use-your-computer) no macOS e Windows |


1833 Solução de problemas2084 Solução de problemas

1834</h2>2085</h2>

1835 2086 

1836As seções abaixo cobrem problemas específicos do aplicativo desktop. Para erros de API de tempo de execução que aparecem no chat como `API Error: 500`, `529 Overloaded`, `429` ou `Prompt is too long`, veja a [referência de erros](/docs/pt/errors). Esses erros e suas correções são os mesmos em CLI, desktop e web.2087As seções abaixo cobrem problemas específicos do aplicativo desktop. Para erros de API de tempo de execução que aparecem no chat como `API Error: 500`, `529 Overloaded`, `429` ou `Prompt is too long`, veja a [referência de erros](/docs/pt/errors).

1837 2088 

1838<h3 id="check-your-version">2089<h3 id="check-your-version">

1839 Verificar sua versão2090 Verificar sua versão


1852 2103 

1853Para ver qual versão do Claude Code uma sessão executa, digite `/status` em uma sessão local na aba **Code** e leia a linha **Claude Code**, que mostra uma versão como `2.1.286`.2104Para ver qual versão do Claude Code uma sessão executa, digite `/status` em uma sessão local na aba **Code** e leia a linha **Claude Code**, que mostra uma versão como `2.1.286`.

1854 2105 

1855Para obter uma versão mais recente para sessões locais, abra **Claude → Check for Updates** no macOS ou **Help → Check for Updates** no Windows e, em seguida, inicie uma nova sessão.2106Para obter uma versão mais recente para sessões locais, abra **Claude > Check for Updates…** no macOS ou **Help > Check for Updates…** no Windows e, em seguida, inicie uma nova sessão.

1856 2107 

1857Em uma sessão local, a aba **Code** executa sua própria cópia do Claude Code, que tem seu próprio número de versão. O aplicativo desktop baixa e atualiza essa cópia, portanto ela pode ser diferente do comando `claude` no seu terminal, e atualizar um não atualiza o outro.2108Em uma sessão local, a aba **Code** executa sua própria cópia do Claude Code, que tem seu próprio número de versão. O aplicativo desktop baixa e atualiza essa cópia, portanto ela pode ser diferente do comando `claude` no seu terminal, e atualizar um não atualiza o outro.

1858 2109 

2110<h3 id="check-which-layout-you-have">

2111 Verificar qual layout você tem

2112</h3>

2113 

2114Se uma nova sessão não tem um [seletor de ambiente](#start-a-session) abaixo da caixa de prompt, você tem o layout anterior:

2115 

2116* **[Desktop anterior à v2.37337.0](#check-your-version)**: atualize para obter o layout atual. Selecione **Claude > Check for Updates…** no macOS ou **Help > Check for Updates…** no Windows.

2117* **[Provedor terceirizado](/docs/pt/third-party-integrations)**: você mantém o layout anterior, então não há nada a fazer.

2118 

2119No layout anterior, escolha o ambiente e a pasta do projeto acima da caixa de prompt, e o modo de permissão e o modelo na linha abaixo dela. O layout anterior não tem o [painel de detalhes da sessão](#see-session-details) nem os [ambientes locais e SSH salvos](#create-a-saved-environment).

2120 

1859<h3 id="403-or-authentication-errors-in-the-code-tab">2121<h3 id="403-or-authentication-errors-in-the-code-tab">

1860 Erros 403 ou autenticação na aba Code2122 Erros 403 ou autenticação na aba Code

1861</h3>2123</h3>

Details

160* Confirme que Xcode e os simuladores iOS estão instalados e que você está usando uma [versão recomendada do Xcode](#requirements).160* Confirme que Xcode e os simuladores iOS estão instalados e que você está usando uma [versão recomendada do Xcode](#requirements).

161* Se sua organização gerencia Claude Code, as [ferramentas de simulador podem estar desativadas por política](#turn-off-simulator-access).161* Se sua organização gerencia Claude Code, as [ferramentas de simulador podem estar desativadas por política](#turn-off-simulator-access).

162* Se você está em uma organização Enterprise que tem uma configuração HIPAA ativada, o painel do simulador não está disponível para você.162* Se você está em uma organização Enterprise que tem uma configuração HIPAA ativada, o painel do simulador não está disponível para você.

163* O painel do simulador requer Claude Desktop v1.24012.0 ou posterior. Abra **Claude → Check for Updates**, depois reinicie o aplicativo.163* O painel do simulador requer Claude Desktop v1.24012.0 ou posterior. Abra **Claude > Check for Updates…**, depois reinicie o aplicativo.

164 164 

165<h3 id="the-simulator-pane-says-no-simulators-were-found">165<h3 id="the-simulator-pane-says-no-simulators-were-found">

166 O painel do simulador diz que nenhum simulador foi encontrado166 O painel do simulador diz que nenhum simulador foi encontrado


174 174 

175* [Computer use in Desktop](/docs/pt/desktop#let-claude-use-your-computer): controle de tela para aplicativos sem um painel dedicado175* [Computer use in Desktop](/docs/pt/desktop#let-claude-use-your-computer): controle de tela para aplicativos sem um painel dedicado

176* [Computer use from the CLI](/docs/pt/computer-use): como a CLI alcança o iOS Simulator176* [Computer use from the CLI](/docs/pt/computer-use): como a CLI alcança o iOS Simulator

177* [Work in parallel with sessions](/docs/pt/desktop#work-in-parallel-with-sessions): como as sessões isolam alterações177* [Run a session in its own worktree](/docs/pt/desktop#run-a-session-in-its-own-worktree): como as sessões isolam alterações

178* [Get started with Claude Code Desktop](/docs/pt/desktop-quickstart)178* [Get started with Claude Code Desktop](/docs/pt/desktop-quickstart)

Details

63 63 

64<Steps>64<Steps>

65 <Step title="Escolha um ambiente e pasta">65 <Step title="Escolha um ambiente e pasta">

66 Selecione **Local** para executar Claude em sua máquina usando seus arquivos diretamente. Clique em **Select folder** e escolha o diretório do seu projeto.66 Na [linha abaixo da caixa de prompt](/docs/pt/desktop#start-a-session), clique no primeiro controle, o seletor de ambiente, e selecione a primeira entrada no grupo **Local**. Em seguida, clique no controle de pasta do projeto ao lado do seletor de ambiente, selecione **Open folder…** e escolha o diretório do seu projeto.

67 

68 Se nenhum seletor de ambiente aparecer abaixo da sua caixa de prompt, você tem o layout anterior. Veja [Verifique qual layout você tem](/docs/pt/desktop#check-which-layout-you-have).

67 69 

68 <Tip>70 <Tip>

69 Comece com um pequeno projeto que você conhece bem. É a forma mais rápida de ver o que Claude Code pode fazer.71 Comece com um pequeno projeto que você conhece bem. É a forma mais rápida de ver o que Claude Code pode fazer.


72 Você também pode selecionar:74 Você também pode selecionar:

73 75 

74 * **Cloud**: Execute sessões na nuvem que continuam mesmo se você fechar o aplicativo. Veja [Use Claude Code in the cloud](/docs/pt/claude-code-on-the-web) para saber como as sessões na nuvem funcionam.76 * **Cloud**: Execute sessões na nuvem que continuam mesmo se você fechar o aplicativo. Veja [Use Claude Code in the cloud](/docs/pt/claude-code-on-the-web) para saber como as sessões na nuvem funcionam.

75 * **SSH**: Conecte-se a uma máquina remota via SSH, como seus próprios servidores, VMs na nuvem ou contêineres de desenvolvimento. O Desktop instala Claude Code na máquina remota automaticamente na primeira vez que você se conecta. Uma tarefa em execução pode [continuar enquanto o Desktop está desconectado](/docs/pt/desktop#keep-a-task-running-while-desktop-is-disconnected), mas com uma conta Claude ela pode parar quando o login expirar.77 * **SSH**: Conecte-se a uma máquina remota via SSH, como seus próprios servidores, VMs na nuvem ou contêineres de desenvolvimento. [Adicione uma conexão](/docs/pt/desktop#ssh-sessions) primeiro. O Desktop instala Claude Code na máquina remota automaticamente na primeira vez que você se conecta. Uma tarefa em execução pode [continuar enquanto o Desktop está desconectado](/docs/pt/desktop#keep-a-task-running-while-desktop-is-disconnected), mas com uma conta Claude ela pode parar quando o login expirar.

76 * **WSL** (Windows): Execute a sessão dentro de uma [distribuição WSL 2](/docs/pt/desktop-wsl); Claude Code, ferramentas e git são executados no lado Linux com caminhos nativos.78 * **WSL** (Windows): Execute a sessão dentro de uma [distribuição WSL 2](/docs/pt/desktop-wsl); Claude Code, ferramentas e git são executados no lado Linux com caminhos nativos.

77 </Step>79 </Step>

78 80 

79 <Step title="Escolha um modelo">81 <Step title="Escolha um modelo">

80 Selecione um modelo no menu suspenso ao lado do botão enviar. Veja [models](/docs/pt/model-config#available-models) para uma comparação dos modelos disponíveis. Você pode alterar o modelo posteriormente no mesmo menu suspenso.82 Selecione um modelo no seletor de modelo próximo à extremidade direita da linha abaixo da caixa de prompt. Veja [models](/docs/pt/model-config#available-models) para uma comparação dos modelos disponíveis. Você pode alterar o modelo posteriormente no seletor de modelo.

81 </Step>83 </Step>

82 84 

83 <Step title="Diga a Claude o que fazer">85 <Step title="Diga a Claude o que fazer">


91 </Step>93 </Step>

92 94 

93 <Step title="Revise e aceite as alterações">95 <Step title="Revise e aceite as alterações">

94 O que acontece a seguir depende do [permission mode](/docs/pt/desktop#choose-a-permission-mode) mostrado no seletor ao lado do botão enviar:96 Verifique seu [modo de permissão](/docs/pt/desktop#choose-a-permission-mode) na linha abaixo da caixa de prompt para ver se Claude aguarda sua aprovação:

95 97 

96 * **Auto or Accept edits**: Claude aplica suas alterações de arquivo, e um indicador como `+12 -1` aparece para que você possa revisá-las na visualização de diff98 * **Auto or Accept edits**: Claude aplica suas alterações de arquivo, e um indicador como `+12 -1` aparece para que você possa revisá-las na visualização de diff

97 * **Manual**: Claude propõe cada alteração e aguarda sua aprovação antes de aplicá-la. Seus arquivos não são modificados até que você aceite, e se você rejeitar uma alteração, Claude pergunta como você gostaria de proceder99 * **Manual**: Claude propõe cada alteração e aguarda sua aprovação antes de aplicá-la

98 100 

99 No modo Manual, você verá:101 No modo Manual, você verá:

100 102 


112 114 

113**Interrompa e redirecione.** Você pode redirecionar Claude em qualquer ponto. Clique no botão de parada para interromper imediatamente, ou digite uma correção e pressione **Enter** para enviá-la sem parar a ação em execução. De qualquer forma, você não precisa esperar que termine ou começar novamente.115**Interrompa e redirecione.** Você pode redirecionar Claude em qualquer ponto. Clique no botão de parada para interromper imediatamente, ou digite uma correção e pressione **Enter** para enviá-la sem parar a ação em execução. De qualquer forma, você não precisa esperar que termine ou começar novamente.

114 116 

115**Dê mais contexto a Claude.** Digite `@filename` na caixa de prompt para puxar um arquivo específico para a conversa, anexe imagens e PDFs usando o botão de anexo, ou arraste e solte arquivos diretamente no prompt. Quanto mais contexto Claude tiver, melhores serão os resultados. Consulte [Add files and context](/docs/pt/desktop#add-files-and-context-to-prompts).117**Dê mais contexto a Claude.** Digite `@filename` na caixa de prompt para puxar um arquivo específico para a conversa. Quanto mais contexto Claude tiver, melhores serão os resultados. Consulte [Add files and context](/docs/pt/desktop#add-files-and-context-to-prompts).

116 118 

117**Use skills para tarefas repetíveis.** Digite `/` ou clique em **+** → **Slash commands** para procurar [built-in commands](/docs/pt/commands), [custom skills](/docs/pt/skills) e skills de plugin. Skills são prompts reutilizáveis que você pode invocar sempre que precisar, como listas de verificação de revisão de código ou etapas de implantação.119**Use skills para tarefas repetíveis.** Digite `/` ou clique em **+** → **Slash commands** para procurar [built-in commands](/docs/pt/commands), [custom skills](/docs/pt/skills) e skills de plugin. Skills são prompts reutilizáveis que você pode invocar sempre que precisar, como listas de verificação de revisão de código ou etapas de implantação.

118 120 


125* **Accept edits**: Claude aceita automaticamente edições de arquivo para iteração mais rápida.127* **Accept edits**: Claude aceita automaticamente edições de arquivo para iteração mais rápida.

126* **Plan**: Claude propõe uma abordagem sem editar nenhum arquivo, o que é útil antes de um grande refactor.128* **Plan**: Claude propõe uma abordagem sem editar nenhum arquivo, o que é útil antes de um grande refactor.

127 129 

128**Adicione plugins para mais capacidades.** Clique no botão **+** ao lado da caixa de prompt e selecione **Plugins** para procurar e instalar [plugins](/docs/pt/desktop#install-plugins) que adicionam skills, agentes, servidores MCP e muito mais.130**Adicione plugins para mais capacidades.** Instale [plugins](/docs/pt/desktop#install-plugins) que adicionam skills, agentes, servidores MCP e muito mais.

129 131 

130**Organize seu espaço de trabalho.** Arraste os painéis de chat, diff, terminal, arquivo e navegador para qualquer layout que desejar. Abra o terminal com **Ctrl+\`** para executar comandos ao lado de sua sessão, ou clique em um caminho de arquivo para abri-lo no painel de arquivo. Consulte [Arrange your workspace](/docs/pt/desktop#arrange-your-workspace).132**Organize seu workspace.** Arraste os painéis de chat, diff, terminal, arquivo e navegador para qualquer layout que desejar. Abra o terminal com **Ctrl+\`** para executar comandos ao lado de sua sessão, ou clique em um caminho de arquivo para abri-lo. Consulte [Arrange your workspace](/docs/pt/desktop#arrange-your-workspace).

131 133 

132**Visualize seu aplicativo.** Quando você executa seu servidor de desenvolvimento no desktop, seu aplicativo abre no painel do Browser, que também pode [open external sites](/docs/pt/desktop#browse-external-sites). Claude pode visualizar o aplicativo em execução, testar endpoints, inspecionar logs e iterar sobre o que vê. Consulte [Preview your app](/docs/pt/desktop#preview-your-app).134**Visualize seu aplicativo.** Quando você executa seu servidor de desenvolvimento no desktop, seu aplicativo abre no painel do Browser, que também pode [open external sites](/docs/pt/desktop#browse-external-sites). Claude pode visualizar o aplicativo em execução, testar endpoints, inspecionar logs e iterar sobre o que vê. Consulte [Preview your app](/docs/pt/desktop#preview-your-app).

133 135 

134**Acompanhe sua solicitação de pull.** Depois de abrir um PR, Claude Code monitora os resultados das verificações de CI e pode corrigir automaticamente falhas ou mesclar o PR assim que todas as verificações passarem. Consulte [Monitor pull request status](/docs/pt/desktop#monitor-pull-request-status).136**Acompanhe seu pull request.** Depois de abrir um PR, Claude Code monitora os resultados das verificações de CI e pode corrigir automaticamente falhas. Consulte [Monitor pull request status](/docs/pt/desktop#monitor-pull-request-status).

135 137 

136**Coloque Claude em um cronograma.** Configure [scheduled tasks](/docs/pt/desktop-scheduled-tasks) para executar Claude automaticamente em uma base recorrente: uma revisão de código diária todas as manhãs, uma auditoria de dependência semanal, ou um briefing que extrai de suas ferramentas conectadas.138**Coloque Claude em um cronograma.** Configure [scheduled tasks](/docs/pt/desktop-scheduled-tasks) para executar Claude automaticamente em uma base recorrente: uma revisão de código diária todas as manhãs, uma auditoria de dependência semanal, ou um briefing que extrai de suas ferramentas conectadas.

137 139 

Details

33</Tip>33</Tip>

34 34 

35<Note>35<Note>

36 Por padrão, as tarefas agendadas são executadas contra qualquer estado em que seu diretório de trabalho esteja, incluindo alterações não confirmadas. Ative o toggle de worktree ao criar a tarefa para dar a cada execução seu próprio worktree Git isolado, da mesma forma que [sessões paralelas](/docs/pt/desktop#work-in-parallel-with-sessions) funcionam.36 Por padrão, as tarefas agendadas são executadas contra qualquer estado em que seu diretório de trabalho esteja, incluindo alterações não confirmadas. Ative o toggle de worktree ao criar a tarefa para dar a cada execução seu próprio [worktree Git isolado](/docs/pt/desktop#run-a-session-in-its-own-worktree).

37</Note>37</Note>

38 38 

39<h2 id="create-a-scheduled-task">39<h2 id="create-a-scheduled-task">

desktop-wsl.md +20 −6

Details

24 24 

25<Steps>25<Steps>

26 <Step title="Escolha uma distribuição">26 <Step title="Escolha uma distribuição">

27 Inicie uma nova sessão na aba Code e abra o seletor de ambiente. Suas distribuições WSL 2 instaladas aparecem em uma seção **WSL**. Escolha uma.27 Inicie uma nova sessão na aba Code e abra o [seletor de ambiente](/docs/pt/desktop#start-a-session) abaixo da caixa de prompt, ou acima dela no [layout anterior](/docs/pt/desktop#check-which-layout-you-have). Suas distribuições WSL 2 instaladas aparecem em **WSL**. Escolha uma.

28 </Step>28 </Step>

29 29 

30 <Step title="Escolha uma pasta">30 <Step title="Escolha uma pasta">

31 A sessão inicia no diretório inicial da distribuição. Use o seletor de pasta para escolher uma pasta de projeto. A navegação acontece dentro da distribuição, com caminhos Linux como `/home/you/project`.31 A sessão inicia no diretório pessoal da distribuição. Use o seletor de pasta para escolher uma pasta de projeto. A navegação acontece dentro da distribuição, com caminhos Linux como `/home/you/project`.

32 </Step>32 </Step>

33 33 

34 <Step title="Confie na pasta">34 <Step title="Confie na pasta">

35 A primeira sessão em uma pasta mostra o diálogo de confiança do espaço de trabalho. Você concede confiança por distribuição e pasta. Uma pasta em que você confia em uma distribuição não é confiável em outra distribuição ou no mesmo caminho no Windows.35 A primeira sessão em uma pasta mostra o diálogo de confiança do workspace. Você concede confiança por distribuição e pasta. Uma pasta em que você confia em uma distribuição não é confiável em outra distribuição ou no mesmo caminho no Windows.

36 </Step>36 </Step>

37</Steps>37</Steps>

38 38 

39A primeira sessão em uma distribuição leva um pouco mais de tempo enquanto Claude se configura dentro dela. Você também pode abrir uma pasta `\\wsl.localhost\...` do seletor de pasta normal, e ela reabre dentro dessa distribuição.39A primeira sessão em uma distribuição leva um pouco mais de tempo enquanto Claude se configura dentro dela. Você também pode abrir uma pasta `\\wsl.localhost\...` do seletor de pasta normal, e ela reabre dentro dessa distribuição.

40 40 

41As pastas que você usou recentemente aparecem no seletor por distribuição, portanto reconectar a um projeto é um clique.

42 

43<h2 id="what-works-in-a-wsl-session">41<h2 id="what-works-in-a-wsl-session">

44 O que funciona em uma sessão WSL42 O que funciona em uma sessão WSL

45</h2>43</h2>

46 44 

47Sessões paralelas, chats laterais, revisão de diff visual, status de branch e pull request, e worktrees funcionam todos, apoiados pelo git e cadeia de ferramentas dentro da distribuição. "Abrir no editor" abre VS Code conectado à distribuição através de [Remote - WSL](https://code.visualstudio.com/docs/remote/wsl).45Sessões paralelas, chats laterais, revisão de diff visual, status de branch e pull request, e worktrees funcionam todos, apoiados pelo git e cadeia de ferramentas dentro da distribuição. "Abrir no editor" abre VS Code conectado à distribuição através de [Remote - WSL](https://code.visualstudio.com/docs/remote/wsl).

48 46 

49Alguns recursos ainda não estão disponíveis em sessões WSL: o terminal integrado, conectores e plugins, bifurcação de sessão, o painel do navegador de arquivos e sugestões de arquivo quando você digita `@` no compositor.47Se um recurso do Desktop estiver indisponível ou limitado em uma sessão WSL, verifique se é um destes:

48 

49* **Terminal e conectores**: sua sessão pode não ter o [terminal integrado](/docs/pt/desktop#run-commands-in-the-terminal), os [conectores](/docs/pt/desktop#connect-external-tools) ou ambos. Consulte [Se o terminal ou os conectores não estiverem disponíveis](#check-for-the-terminal-and-connectors).

50* **[Plugins](/docs/pt/desktop#install-plugins)**: não estão disponíveis em sessões WSL

51* **Edição de arquivos**: você pode visualizar arquivos no [painel de arquivos](/docs/pt/desktop#open-and-edit-files), mas não pode editá-los lá, então peça ao Claude para fazer as alterações

52* **Anexos**: se o menu **+** mostrar **Add image** no lugar de **Add files or photos**, você pode anexar apenas imagens. Consulte [Adicionar arquivos e contexto aos prompts](/docs/pt/desktop#add-files-and-context-to-prompts).

53 

54<a id="check-for-the-terminal-and-connectors" />

55 

56<h3 id="if-the-terminal-or-connectors-are-unavailable">

57 Se o terminal ou os conectores não estiverem disponíveis

58</h3>

59 

60Você não pode ativar o terminal integrado ou os conectores para uma sessão WSL por conta própria:

61 

62* **Conta Claude**: os dois recursos estão sendo lançados separadamente. Selecione **Help > Check for Updates…** e, se um recurso ainda estiver faltando depois de atualizar, não há nada a fazer.

63* **[Provedor terceirizado](/docs/pt/third-party-integrations)**: sessões WSL não recebem o terminal nem os conectores, e atualizar o Desktop não muda isso

50 64 

51<h2 id="managed-devices">65<h2 id="managed-devices">

52 Dispositivos gerenciados66 Dispositivos gerenciados

env-vars.md +7 −11

Details

196| `ANTHROPIC_VERTEX_PROJECT_ID` | ID do projeto GCP ao qual as requisições do Google Cloud's Agent Platform são endereçadas. Consulte [Configurar credenciais do GCP](/docs/pt/google-vertex-ai#3-configure-gcp-credentials) |196| `ANTHROPIC_VERTEX_PROJECT_ID` | ID do projeto GCP ao qual as requisições do Google Cloud's Agent Platform são endereçadas. Consulte [Configurar credenciais do GCP](/docs/pt/google-vertex-ai#3-configure-gcp-credentials) |

197| `ANTHROPIC_WORKSPACE_ID` | ID do workspace para a [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Defina-a quando sua regra de federação abranger mais de um workspace, para que a troca de tokens saiba qual workspace usar |197| `ANTHROPIC_WORKSPACE_ID` | ID do workspace para a [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Defina-a quando sua regra de federação abranger mais de um workspace, para que a troca de tokens saiba qual workspace usar |

198| `API_FORCE_IDLE_TIMEOUT` | Sobrescreve o timeout de inatividade do corpo de 5 minutos que aborta uma resposta de modelo por streaming quando nenhum byte chega. Defina como `0` para desativar o timeout, por exemplo quando um [gateway](/docs/pt/llm-gateway) lento ou um modelo local pausa por mais de 5 minutos entre blocos, ou como `1` para mantê-lo ativo em todos os provedores. Quando não definida, o timeout fica ativo em provedores diferentes da API direta da Anthropic, do [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e do Amazon Bedrock com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` definida. Os [watchdogs de streaming](/docs/pt/network-config#streaming-idle-watchdogs) funcionam independentemente dele e abortam uma longa pausa silenciosa mesmo quando você define `0` aqui |198| `API_FORCE_IDLE_TIMEOUT` | Sobrescreve o timeout de inatividade do corpo de 5 minutos que aborta uma resposta de modelo por streaming quando nenhum byte chega. Defina como `0` para desativar o timeout, por exemplo quando um [gateway](/docs/pt/llm-gateway) lento ou um modelo local pausa por mais de 5 minutos entre blocos, ou como `1` para mantê-lo ativo em todos os provedores. Quando não definida, o timeout fica ativo em provedores diferentes da API direta da Anthropic, do [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e do Amazon Bedrock com `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` definida. Os [watchdogs de streaming](/docs/pt/network-config#streaming-idle-watchdogs) funcionam independentemente dele e abortam uma longa pausa silenciosa mesmo quando você define `0` aqui |

199| `API_TIMEOUT_MS` | Timeout para requisições à API em milissegundos (padrão: 600000, ou 10 minutos; máximo: 2147483647). Uma requisição de streaming precisa receber seus cabeçalhos de resposta dentro desse prazo. Aumente-o quando as requisições atingirem o timeout em redes lentas ou ao rotear por um proxy |199| `API_TIMEOUT_MS` | Tempo em milissegundos que cada tentativa de requisição de API tem para receber seus cabeçalhos de resposta (padrão: 600000, ou 10 minutos; máximo: 2147483647). Não limita quanto tempo uma resposta em streaming é executada depois disso. Quando você define um valor positivo, cada tentativa de uma [requisição sem streaming](/docs/pt/errors#streaming-response-ended-before-any-complete-data-was-received) precisa terminar dentro dele. Aumente-o quando as requisições atingirem o timeout em redes lentas ou ao rotear por meio de um proxy |

200| `AWS_BEARER_TOKEN_BEDROCK` | Chave de API do Amazon Bedrock para autenticação (consulte [Chaves de API do Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |200| `AWS_BEARER_TOKEN_BEDROCK` | Chave de API do Amazon Bedrock para autenticação (consulte [Chaves de API do Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

201| `BASH_DEFAULT_TIMEOUT_MS` | Timeout padrão para um comando da ferramenta Bash ou PowerShell em primeiro plano, em milissegundos (padrão: 120000, ou 2 minutos). Um valor acima do [limite de tempo padrão para comandos em segundo plano](/docs/pt/tools-reference#time-limit-for-background-commands) substitui esse padrão em sessões não supervisionadas. O limite de tempo em segundo plano requer o Claude Code v2.1.285 ou posterior |201| `BASH_DEFAULT_TIMEOUT_MS` | Timeout padrão para um comando da ferramenta Bash ou PowerShell em primeiro plano, em milissegundos (padrão: 120000, ou 2 minutos). Um valor acima do [limite de tempo padrão para comandos em segundo plano](/docs/pt/tools-reference#time-limit-for-background-commands) substitui esse padrão em sessões não supervisionadas. O limite de tempo em segundo plano requer o Claude Code v2.1.285 ou posterior |

202| `BASH_MAX_OUTPUT_LENGTH` | Número máximo de caracteres da saída do bash que o Claude Code lê de volta no resultado de um comando (padrão: 30000; máximo: 150000). Se você definir a configuração [`bashOutputMaxChars`](/docs/pt/settings-reference#bashoutputmaxchars), o Claude Code ignora esta variável. Consulte [Limites de saída](/docs/pt/tools-reference#output-limits) |202| `BASH_MAX_OUTPUT_LENGTH` | Número máximo de caracteres da saída do bash que o Claude Code lê de volta no resultado de um comando (padrão: 30000; máximo: 150000). Se você definir a configuração [`bashOutputMaxChars`](/docs/pt/settings-reference#bashoutputmaxchars), o Claude Code ignora esta variável. Consulte [Limites de saída](/docs/pt/tools-reference#output-limits) |


230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Removida na v2.1.283. Use `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Removida na v2.1.283. Use `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |

231| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Define a [janela de compactação automática](/docs/pt/model-config#set-the-auto-compact-window) em tokens, de `100000` a `1000000`. Aceita apenas um inteiro simples, como `500000`: um valor como `500k` é lido como `500` e é ajustado ao mínimo de 100K. A janela efetiva também é limitada à janela de contexto do modelo. Tem precedência sobre o comando `/autocompact`, a flag `--autocompact` e a configuração `autoCompactWindow`. O `used_percentage` da linha de status sempre é medido em relação à janela de contexto completa do modelo; portanto, depois que esta variável é definida, essa porcentagem deixa de indicar quando a compactação será executada |231| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Define a [janela de compactação automática](/docs/pt/model-config#set-the-auto-compact-window) em tokens, de `100000` a `1000000`. Aceita apenas um inteiro simples, como `500000`: um valor como `500k` é lido como `500` e é ajustado ao mínimo de 100K. A janela efetiva também é limitada à janela de contexto do modelo. Tem precedência sobre o comando `/autocompact`, a flag `--autocompact` e a configuração `autoCompactWindow`. O `used_percentage` da linha de status sempre é medido em relação à janela de contexto completa do modelo; portanto, depois que esta variável é definida, essa porcentagem deixa de indicar quando a compactação será executada |

232| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sobrescreve a [conexão automática com o IDE](/docs/pt/vs-code). Por padrão, o Claude Code se conecta automaticamente quando iniciado dentro do terminal integrado de um IDE compatível. Defina como `false` para impedir isso. Defina como `true` para forçar uma tentativa de conexão quando a detecção automática falhar, como quando o tmux oculta o terminal pai. Tem precedência sobre a configuração global [`autoConnectIde`](/docs/pt/settings-reference#autoconnectide) |232| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Sobrescreve a [conexão automática com o IDE](/docs/pt/vs-code). Por padrão, o Claude Code se conecta automaticamente quando iniciado dentro do terminal integrado de um IDE compatível. Defina como `false` para impedir isso. Defina como `true` para forçar uma tentativa de conexão quando a detecção automática falhar, como quando o tmux oculta o terminal pai. Tem precedência sobre a configuração global [`autoConnectIde`](/docs/pt/settings-reference#autoconnectide) |

233| `CLAUDE_CODE_AUTO_MODE_MODEL` | Define o modelo para as requisições do classificador que o Claude Code envia no [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode). Use um ID de modelo completo, como `claude-sonnet-4-6`. Para os casos em que o Claude Code a ignora, consulte [Escolher o modelo do classificador](/docs/pt/permission-modes#choose-the-classifier-model). Requer o Claude Code v2.1.302 ou posterior |

233| `CLAUDE_CODE_AUTO_MODE_SERVER` | Controla se o Claude Code pede ao servidor para [revisar ações do modo auto](/docs/pt/permission-modes#server-side-classifier-review). Defina como `0` para usar as próprias requisições de classificador do Claude Code. Em uma conexão direta com a API da Anthropic, requer a v2.1.281 ou posterior. A seção vinculada lista quais sessões consultam o servidor quando a variável não está definida, e a partir de qual versão. Requer o Claude Code v2.1.271 ou posterior |234| `CLAUDE_CODE_AUTO_MODE_SERVER` | Controla se o Claude Code pede ao servidor para [revisar ações do modo auto](/docs/pt/permission-modes#server-side-classifier-review). Defina como `0` para usar as próprias requisições de classificador do Claude Code. Em uma conexão direta com a API da Anthropic, requer a v2.1.281 ou posterior. A seção vinculada lista quais sessões consultam o servidor quando a variável não está definida, e a partir de qual versão. Requer o Claude Code v2.1.271 ou posterior |

234| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo em milissegundos que o Claude Code espera a cadeia padrão de provedores de credenciais da AWS produzir credenciais antes que a requisição falhe com [`AWS default-chain credential resolve timed out`](/docs/pt/errors#aws-default-chain-credential-resolve-timed-out) (padrão: `60000`). Aumente-o quando uma etapa da sua cadeia legitimamente precisar de mais tempo, como um login SSO baseado em navegador com MFA por meio de um wrapper como `aws-vault`. Aplica-se no Amazon Bedrock, no [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e no [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint). Consulte [cache de credenciais e timeout de resolução](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout). Requer o Claude Code v2.1.207 ou posterior |235| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Tempo em milissegundos que o Claude Code espera a cadeia padrão de provedores de credenciais da AWS produzir credenciais antes que a requisição falhe com [`AWS default-chain credential resolve timed out`](/docs/pt/errors#aws-default-chain-credential-resolve-timed-out) (padrão: `60000`). Aumente-o quando uma etapa da sua cadeia legitimamente precisar de mais tempo, como um login SSO baseado em navegador com MFA por meio de um wrapper como `aws-vault`. Aplica-se no Amazon Bedrock, no [Claude Platform on AWS](/docs/pt/claude-platform-on-aws) e no [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint). Consulte [cache de credenciais e timeout de resolução](/docs/pt/amazon-bedrock#credential-caching-and-resolution-timeout). Requer o Claude Code v2.1.207 ou posterior |

235| `CLAUDE_CODE_BASH_EDIT_DIFF` | Defina como `0` para desativar o [diff dos arquivos que mudaram enquanto um comando Bash era executado](/docs/pt/hooks#bash), ou como `1` para registrá-lo em todos os modos de permissão. Tem precedência sobre a configuração [`bashEditDiffEnabled`](/docs/pt/settings-reference#basheditdiffenabled). Requer o Claude Code v2.1.269 ou posterior |236| `CLAUDE_CODE_BASH_EDIT_DIFF` | Defina como `0` para desativar o [diff dos arquivos que mudaram enquanto um comando Bash era executado](/docs/pt/hooks#bash), ou como `1` para registrá-lo em todos os modos de permissão. Tem precedência sobre a configuração [`bashEditDiffEnabled`](/docs/pt/settings-reference#basheditdiffenabled). Requer o Claude Code v2.1.269 ou posterior |


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

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

243| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frase secreta para a CLAUDE\_CODE\_CLIENT\_KEY criptografada (opcional) |244| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frase secreta para a CLAUDE\_CODE\_CLIENT\_KEY criptografada (opcional) |

244| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Removida na v2.1.186 e agora não tem efeito. Antes, definia um timeout separado para a fase de conexão, TLS e cabeçalhos de resposta de uma requisição de API por streaming. Use `API_TIMEOUT_MS` para o timeout por requisição. Para a fase de cabeçalhos de resposta de uma requisição por streaming, consulte `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |245| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Removida na v2.1.186 e agora não tem efeito. Anteriormente, definia um timeout separado para a fase de conexão, TLS e cabeçalhos de resposta de uma requisição de API em streaming. Use `API_TIMEOUT_MS` em vez disso. Para a fase de cabeçalhos de resposta de uma requisição em streaming, consulte `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

245| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sobrescreve o caminho do arquivo de log de depuração. Apesar do nome, é um caminho de arquivo, não um diretório. Requer que o modo de depuração seja ativado separadamente via `--debug`, `/debug` ou a variável de ambiente `DEBUG`: definir apenas esta variável não ativa o registro em log. A flag [`--debug-file`](/docs/pt/cli-reference#cli-flags) faz as duas coisas de uma vez. O padrão é `~/.claude/debug/<session-id>.txt` |246| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Sobrescreve o caminho do arquivo de log de depuração. Apesar do nome, é um caminho de arquivo, não um diretório. Requer que o modo de depuração seja ativado separadamente via `--debug`, `/debug` ou a variável de ambiente `DEBUG`: definir apenas esta variável não ativa o registro em log. A flag [`--debug-file`](/docs/pt/cli-reference#cli-flags) faz as duas coisas de uma vez. O padrão é `~/.claude/debug/<session-id>.txt` |

246| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Nível mínimo de log gravado 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 a saída completa do comando da linha de status, ou aumente para `error` para reduzir o ruído |247| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Nível mínimo de log gravado 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 a saída completa do comando da linha de status, ou aumente para `error` para reduzir o ruído |

247| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desativar o suporte à [janela de contexto de 1M](/docs/pt/model-config#extended-context). O Claude Code remove as variantes de modelo `[1m]` do seletor de modelos e limita a uma janela de 200K os modelos que, por padrão, são executados com a janela de 1M. Consulte [Desativar o contexto de 1M](/docs/pt/model-config#turn-off-1m-context). Útil para ambientes corporativos com requisitos de conformidade. Para seu papel na correção da janela para um ID de modelo `[1m]` não reconhecido, consulte [Corrigir a janela para um gateway ou ID de modelo personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |248| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Defina como `1` para desativar o suporte à [janela de contexto de 1M](/docs/pt/model-config#extended-context). O Claude Code remove as variantes de modelo `[1m]` do seletor de modelos e limita a uma janela de 200K os modelos que, por padrão, são executados com a janela de 1M. Consulte [Desativar o contexto de 1M](/docs/pt/model-config#turn-off-1m-context). Útil para ambientes corporativos com requisitos de conformidade. Para seu papel na correção da janela para um ID de modelo `[1m]` não reconhecido, consulte [Corrigir a janela para um gateway ou ID de modelo personalizado](/docs/pt/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |


304| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controla se as entradas das chamadas de ferramenta são transmitidas pela API à medida que o Claude as gera. Com isso desativado, uma entrada de ferramenta grande, como a gravação de um arquivo longo, chega somente depois que o Claude termina de gerá-la, o que pode parecer um travamento. Ativada por padrão na API da Anthropic. No Amazon Bedrock e no Agent Platform do Google Cloud, ativada por modelo quando o contêiner implantado oferece suporte. Defina como `0` para desativar. Defina como `1` para forçar a ativação ao rotear por um proxy via `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Desativada por padrão no Microsoft Foundry e em conexões por [gateway](/docs/pt/llm-gateway) |305| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Controla se as entradas das chamadas de ferramenta são transmitidas pela API à medida que o Claude as gera. Com isso desativado, uma entrada de ferramenta grande, como a gravação de um arquivo longo, chega somente depois que o Claude termina de gerá-la, o que pode parecer um travamento. Ativada por padrão na API da Anthropic. No Amazon Bedrock e no Agent Platform do Google Cloud, ativada por modelo quando o contêiner implantado oferece suporte. Defina como `0` para desativar. Defina como `1` para forçar a ativação ao rotear por um proxy via `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Desativada por padrão no Microsoft Foundry e em conexões por [gateway](/docs/pt/llm-gateway) |

305| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Defina como `1` para preencher o seletor `/model` a partir do endpoint `/v1/models` do seu gateway quando `ANTHROPIC_BASE_URL` apontar para um gateway compatível com a Anthropic, como LiteLLM, Kong ou um proxy interno. Desativada por padrão porque gateways baseados em uma chave de API compartilhada mostrariam a todos os usuários todos os modelos que a chave pode acessar. Os modelos descobertos ainda são filtrados por uma allowlist [`availableModels`](/docs/pt/settings-reference#availablemodels) que a sessão recebe; entregue a lista por meio de [MDM ou de um arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), já que a [entrega gerenciada pelo servidor não está disponível em configurações com gateway](/docs/pt/server-managed-settings#platform-availability) |306| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Defina como `1` para preencher o seletor `/model` a partir do endpoint `/v1/models` do seu gateway quando `ANTHROPIC_BASE_URL` apontar para um gateway compatível com a Anthropic, como LiteLLM, Kong ou um proxy interno. Desativada por padrão porque gateways baseados em uma chave de API compartilhada mostrariam a todos os usuários todos os modelos que a chave pode acessar. Os modelos descobertos ainda são filtrados por uma allowlist [`availableModels`](/docs/pt/settings-reference#availablemodels) que a sessão recebe; entregue a lista por meio de [MDM ou de um arquivo de configurações gerenciadas](/docs/pt/managed-settings#delivery-mechanisms), já que a [entrega gerenciada pelo servidor não está disponível em configurações com gateway](/docs/pt/server-managed-settings#platform-availability) |

306| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Removida na v2.1.142, quando o padrão do [modo rápido](/docs/pt/fast-mode) passou do Opus 4.6 para o Opus 4.7 |307| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Removida na v2.1.142, quando o padrão do [modo rápido](/docs/pt/fast-mode) passou do Opus 4.6 para o Opus 4.7 |

307| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Defina como `false` para desativar as sugestões de prompt, as previsões esmaecidas que aparecem na entrada do prompt. Tem precedência sobre a configuração [`promptSuggestionEnabled`](/docs/pt/settings-reference#promptsuggestionenabled), que é o que a opção **Prompt suggestions** em `/config` grava. O Claude Code também [pausa as sugestões enquanto sua conta está próxima do limite de uso ou o atingiu](/docs/pt/interactive-mode#when-claude-code-skips-suggestions). Defina como `true` para mantê-las ativas até atingir o limite. Requer o Claude Code v2.1.238 ou posterior. Consulte [Sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) |308| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Defina como `false` para desativar as sugestões de prompt, as previsões em cinza que aparecem na entrada do prompt. Tem precedência sobre a configuração [`promptSuggestionEnabled`](/docs/pt/settings-reference#promptsuggestionenabled), que é o que a opção **Prompt suggestions** em `/config` grava. O Claude Code também [pausa as sugestões enquanto sua conta está próxima ou no limite de uso](/docs/pt/interactive-mode#when-claude-code-skips-suggestions). Defina como `true` para impedir que essa pausa se aplique até você atingir o limite. Requer Claude Code v2.1.238 ou posterior. Consulte [Sugestões de prompt](/docs/pt/interactive-mode#prompt-suggestions) |

308| `CLAUDE_CODE_ENABLE_TASKS` | Seleciona quais ferramentas de acompanhamento de tarefas o Claude Code fornece nas [sessões que as têm](/docs/pt/tools-reference#task-tool-availability). Por padrão, o Claude Code fornece as ferramentas Task `TaskCreate`, `TaskUpdate`, `TaskGet` e `TaskList`. Defina como `0` para obter a ferramenta legada `TodoWrite` em vez disso. Consulte [Lista de tarefas](/docs/pt/interactive-mode#task-list) |309| `CLAUDE_CODE_ENABLE_TASKS` | Seleciona quais ferramentas de acompanhamento de tarefas o Claude Code fornece nas [sessões que as têm](/docs/pt/tools-reference#task-tool-availability). Por padrão, o Claude Code fornece as ferramentas Task `TaskCreate`, `TaskUpdate`, `TaskGet` e `TaskList`. Defina como `0` para obter a ferramenta legada `TodoWrite` em vez disso. Consulte [Lista de tarefas](/docs/pt/interactive-mode#task-list) |

309| `CLAUDE_CODE_ENABLE_TELEMETRY` | Defina como `1` para ativar a coleta de dados do OpenTelemetry para métricas e logs. Necessária antes de configurar exportadores OTel. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Consulte [Monitoramento](/docs/pt/monitoring-usage) |310| `CLAUDE_CODE_ENABLE_TELEMETRY` | Defina como `1` para ativar a coleta de dados do OpenTelemetry para métricas e logs. Necessária antes de configurar exportadores OTel. Defina-a no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Consulte [Monitoramento](/docs/pt/monitoring-usage) |

310| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Defina como `1` para obter as ferramentas de acompanhamento de tarefas em todos os modelos. Sem ela, o Claude Code as fornece por padrão apenas nos modelos listados em [Disponibilidade da ferramenta Task](/docs/pt/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` ainda seleciona as ferramentas Task ou `TodoWrite`. Requer o Claude Code v2.1.233 ou posterior |311| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Defina como `1` para obter as ferramentas de acompanhamento de tarefas em todos os modelos. Sem ela, o Claude Code as fornece por padrão apenas nos modelos listados em [Disponibilidade da ferramenta Task](/docs/pt/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` ainda seleciona as ferramentas Task ou `TodoWrite`. Requer o Claude Code v2.1.233 ou posterior |


316| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Defina como `1` para forçar a renderização tachada de `~~text~~` nas respostas do Claude quando o seu terminal oferece suporte, mas não é detectado automaticamente, como via SSH sem `TERM_PROGRAM` encaminhada. Sem isso, terminais não detectados mostram os marcadores `~~` literais em vez de renderizar o texto como tachado. Requer o Claude Code v2.1.186 ou posterior |317| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Defina como `1` para forçar a renderização tachada de `~~text~~` nas respostas do Claude quando o seu terminal oferece suporte, mas não é detectado automaticamente, como via SSH sem `TERM_PROGRAM` encaminhada. Sem isso, terminais não detectados mostram os marcadores `~~` literais em vez de renderizar o texto como tachado. Requer o Claude Code v2.1.186 ou posterior |

317| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Defina como `1` para forçar a ativação da [saída sincronizada](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) do modo privado DEC 2026 quando o seu terminal oferece suporte, mas não é detectado automaticamente. Útil para emuladores como o `eat` do Emacs, que implementam BSU/ESU mas não respondem à sondagem de capacidade. Não tem efeito no tmux. Ao contrário de `CLAUDE_CODE_NO_FLICKER`, que muda para a [renderização em tela cheia](/docs/pt/fullscreen), esta não altera o renderizador |318| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Defina como `1` para forçar a ativação da [saída sincronizada](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) do modo privado DEC 2026 quando o seu terminal oferece suporte, mas não é detectado automaticamente. Útil para emuladores como o `eat` do Emacs, que implementam BSU/ESU mas não respondem à sondagem de capacidade. Não tem efeito no tmux. Ao contrário de `CLAUDE_CODE_NO_FLICKER`, que muda para a [renderização em tela cheia](/docs/pt/fullscreen), esta não altera o renderizador |

318| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Defina como `1` para desenhar [elementos `Image` de mods](/docs/pt/plugins/mods/reference#elements) como imagens quando o seu terminal desenha imagens do protocolo gráfico kitty com placeholders Unicode, mas não é detectado automaticamente. Consulte [quais terminais o Claude Code detecta](/docs/pt/plugins/mods/gallery#image-and-client) e por que isso não ajuda dentro do tmux ou do screen |319| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Defina como `1` para desenhar [elementos `Image` de mods](/docs/pt/plugins/mods/reference#elements) como imagens quando o seu terminal desenha imagens do protocolo gráfico kitty com placeholders Unicode, mas não é detectado automaticamente. Consulte [quais terminais o Claude Code detecta](/docs/pt/plugins/mods/gallery#image-and-client) e por que isso não ajuda dentro do tmux ou do screen |

319| `CLAUDE_CODE_FORK_SUBAGENT` | Controla o [modo fork](/docs/pt/sub-agents#turn-fork-mode-on-or-off), que permite ao próprio Claude gerar [subagentes bifurcados](/docs/pt/sub-agents#fork-the-current-conversation) e fica ativado por padrão apenas em sessões interativas. Defina como `1` para ativá-lo também em `claude -p` e no Agent SDK, ou `0` para desativá-lo em todos os tipos de sessão. Você pode executar `/subtask` independentemente de o modo fork estar ativado. O padrão interativo requer o Claude Code v2.1.232 ou posterior; em versões anteriores, defina a variável como `1` para ativar o modo fork |320| `CLAUDE_CODE_FORK_SUBAGENT` | Controla o modo fork, que está ativado por padrão e permite que o Claude inicie [forks](/docs/pt/sub-agents#fork-the-current-conversation) por conta própria. Enquanto o modo fork está ativado, o Claude também não pode [aguardar um subagente](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) em sessões interativas de terminal, VS Code ou desktop na sua máquina. Defina como `0` para desativar o modo fork. Para versões, consulte [Desativar o modo fork](/docs/pt/sub-agents#turn-fork-mode-on-or-off) |

320| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir blocos de texto e de pensamento de [subagentes](/docs/pt/sub-agents) na saída de `claude -p --output-format stream-json`, o mesmo comportamento da flag [`--forward-subagent-text`](/docs/pt/cli-reference#cli-flags). Use a variável quando um harness invoca `claude` e não consegue passar a flag por conta própria. Ao contrário da flag, que encerra com erro fora do modo não interativo com saída stream-json, a variável é ignorada nesses casos para que invocações aninhadas continuem funcionando quando ela estiver definida para todo o processo. Requer o Claude Code v2.1.211 ou posterior |321| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Defina como `1` para emitir blocos de texto e de pensamento de [subagentes](/docs/pt/sub-agents) na saída de `claude -p --output-format stream-json`, o mesmo comportamento da flag [`--forward-subagent-text`](/docs/pt/cli-reference#cli-flags). Use a variável quando um harness invoca `claude` e não consegue passar a flag por conta própria. Ao contrário da flag, que encerra com erro fora do modo não interativo com saída stream-json, a variável é ignorada nesses casos para que invocações aninhadas continuem funcionando quando ela estiver definida para todo o processo. Requer o Claude Code v2.1.211 ou posterior |

321| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Defina como `1` para enviar os [cabeçalhos de dica de gateway](/docs/pt/llm-gateway-protocol#gateway-hint-headers), como `x-claude-code-request-class` e `x-claude-code-compaction`, em um proxy personalizado ou em um provedor de terceiros, como Amazon Bedrock ou Claude Platform on AWS. Defina como `0` para parar de enviá-los em todas as conexões, incluindo uma conexão direta com a API da Anthropic, onde o Claude Code os envia por padrão. Requer o Claude Code v2.1.273 ou posterior |322| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Defina como `1` para enviar os [cabeçalhos de dica de gateway](/docs/pt/llm-gateway-protocol#gateway-hint-headers), como `x-claude-code-request-class` e `x-claude-code-compaction`, em um proxy personalizado ou em um provedor de terceiros, como Amazon Bedrock ou Claude Platform on AWS. Defina como `0` para parar de enviá-los em todas as conexões, incluindo uma conexão direta com a API da Anthropic, onde o Claude Code os envia por padrão. Requer o Claude Code v2.1.273 ou posterior |

322| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout em milissegundos para a requisição de [descoberta de modelos do gateway](/docs/pt/llm-gateway-protocol#model-discovery) que `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` ativa (padrão: `3000`). Aumente-o quando o seu gateway precisar de mais de três segundos para responder a `/v1/models` na inicialização. Aceita apenas dígitos simples; `0`, valores negativos e outras grafias mantêm o padrão. Requer o Claude Code v2.1.269 ou posterior |323| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout em milissegundos para a requisição de [descoberta de modelos do gateway](/docs/pt/llm-gateway-protocol#model-discovery) que `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` ativa (padrão: `3000`). Aumente-o quando o seu gateway precisar de mais de três segundos para responder a `/v1/models` na inicialização. Aceita apenas dígitos simples; `0`, valores negativos e outras grafias mantêm o padrão. Requer o Claude Code v2.1.269 ou posterior |


340| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Número de [camadas de subagentes](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) permitidas abaixo da conversa principal (padrão: 3). No padrão, os subagentes podem gerar seus próprios subagentes, e um subagente na terceira camada não pode gerar outros; defina `1` para desativar o aninhamento. Da v2.1.217 à v2.1.218, o padrão era 1, então um subagente não podia gerar os seus próprios a menos que você aumentasse o limite; a v2.1.219 aumentou o padrão para 3. Aceita um número inteiro positivo em dígitos simples; qualquer outro valor é ignorado, portanto o limite pode ser ajustado, mas não removido. Requer o Claude Code v2.1.217 ou posterior |341| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Número de [camadas de subagentes](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) permitidas abaixo da conversa principal (padrão: 3). No padrão, os subagentes podem gerar seus próprios subagentes, e um subagente na terceira camada não pode gerar outros; defina `1` para desativar o aninhamento. Da v2.1.217 à v2.1.218, o padrão era 1, então um subagente não podia gerar os seus próprios a menos que você aumentasse o limite; a v2.1.219 aumentou o padrão para 3. Aceita um número inteiro positivo em dígitos simples; qualquer outro valor é ignorado, portanto o limite pode ser ajustado, mas não removido. Requer o Claude Code v2.1.217 ou posterior |

341| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Número máximo de ferramentas somente leitura e subagentes que podem ser executados em paralelo (padrão: 10). Valores mais altos aumentam o paralelismo, mas consomem mais recursos |342| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Número máximo de ferramentas somente leitura e subagentes que podem ser executados em paralelo (padrão: 10). Valores mais altos aumentam o paralelismo, mas consomem mais recursos |

342| `CLAUDE_CODE_MAX_TURNS` | Limita o número de turnos agênticos quando nenhum limite explícito é passado. Equivalente a passar [`--max-turns`](/docs/pt/cli-reference#cli-flags), que tem precedência quando ambos estão definidos. Um valor que não seja um inteiro positivo é rejeitado na inicialização com um erro, em vez de ser tratado como ausência de limite |343| `CLAUDE_CODE_MAX_TURNS` | Limita o número de turnos agênticos quando nenhum limite explícito é passado. Equivalente a passar [`--max-turns`](/docs/pt/cli-reference#cli-flags), que tem precedência quando ambos estão definidos. Um valor que não seja um inteiro positivo é rejeitado na inicialização com um erro, em vez de ser tratado como ausência de limite |

343| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite de chamadas de [WebSearch](/docs/pt/tools-reference#session-search-limit) (padrão: 200). Quando o Claude atinge o limite, chamadas adicionais de WebSearch retornam um aviso dizendo para continuar com as informações já reunidas. Aceita um número inteiro positivo sem limite superior. Qualquer outro valor é ignorado e o padrão se aplica, portanto o limite pode ser aumentado, mas não desativado. Requer o Claude Code v2.1.212 ou posterior |344| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Limite de chamadas de [WebSearch](/docs/pt/tools-reference#session-search-limit) (padrão: 200). Quando o Claude atinge o limite, outras chamadas de WebSearch retornam um aviso instruindo-o a continuar com as informações que já reuniu e a mencionar isso em sua resposta. Aceita um número inteiro positivo sem limite superior. Qualquer outro valor é ignorado e o padrão se aplica, então o limite pode ser aumentado, mas não desativado. Requer Claude Code v2.1.212 ou posterior |

344| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Defina como `1` para iniciar servidores MCP stdio apenas com um ambiente básico seguro mais o `env` configurado do servidor, em vez de herdar o ambiente do seu shell |345| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Defina como `1` para iniciar servidores MCP stdio apenas com um ambiente básico seguro mais o `env` configurado do servidor, em vez de herdar o ambiente do seu shell |

345| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo decorrido em milissegundos antes que uma chamada de ferramenta MCP ainda em execução [passe para uma tarefa em segundo plano](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls) (padrão: 120000, ou 2 minutos). Defina como `0` para desativar a passagem automática para segundo plano. Requer o Claude Code v2.1.212 ou posterior |346| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Tempo decorrido em milissegundos antes que uma chamada de ferramenta MCP ainda em execução [passe para uma tarefa em segundo plano](/docs/pt/mcp#automatic-backgrounding-of-long-tool-calls) (padrão: 120000, ou 2 minutos). Defina como `0` para desativar a passagem automática para segundo plano. Requer o Claude Code v2.1.212 ou posterior |

346| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Quanto tempo, em milissegundos, o primeiro turno de uma sessão [não interativa](/docs/pt/headless) aguarda servidores MCP que ainda estão se conectando, no lugar da [espera padrão do primeiro turno](/docs/pt/agent-sdk/mcp#connection-timing). Quando definida, a espera abrange todos os servidores pendentes; em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments-configuration#connection-timing), altera apenas quanto tempo a espera dura. Defina como `0` para ignorar a espera. Um servidor de [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) mantém sua própria espera de `MCP_TIMEOUT` independentemente do valor. Requer o Claude Code v2.1.274 ou posterior |347| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Quanto tempo, em milissegundos, o primeiro turno de uma sessão [não interativa](/docs/pt/headless) aguarda servidores MCP que ainda estão se conectando, no lugar da [espera padrão do primeiro turno](/docs/pt/agent-sdk/mcp#connection-timing). Quando definida, a espera abrange todos os servidores pendentes; em um [ambiente auto-hospedado](/docs/pt/self-hosted-environments-configuration#connection-timing), altera apenas quanto tempo a espera dura. Defina como `0` para ignorar a espera. Um servidor de [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) mantém sua própria espera de `MCP_TIMEOUT` independentemente do valor. Requer o Claude Code v2.1.274 ou posterior |


599* Executar [`/skill-doctor`](/docs/pt/skills#find-unused-skills) ou abrir o relatório dele na aba **Stats** do `/plugin`600* Executar [`/skill-doctor`](/docs/pt/skills#find-unused-skills) ou abrir o relatório dele na aba **Stats** do `/plugin`

600* Sincronizar as [skills](/docs/pt/skills#where-synced-skills-load) e os [plugins](/docs/pt/plugins/loading#synced-plugins) habilitados para sua conta do claude.ai nas suas sessões de terminal601* Sincronizar as [skills](/docs/pt/skills#where-synced-skills-load) e os [plugins](/docs/pt/plugins/loading#synced-plugins) habilitados para sua conta do claude.ai nas suas sessões de terminal

601* Ativar o [mod You should know](/docs/pt/interactive-mode#you-should-know-suggestions)602* Ativar o [mod You should know](/docs/pt/interactive-mode#you-should-know-suggestions)

602* Ver o que um [mod](/docs/pt/plugins/mods/overview#where-mods-run) desenha no painel de chat da extensão do VS Code; os hooks do mod ainda são executados

603* Usar [a ferramenta advisor](/docs/pt/advisor#requirements)603* Usar [a ferramenta advisor](/docs/pt/advisor#requirements)

604* Ler ou responder a [comentários em um artefato](/docs/pt/artifacts#collect-comments-on-an-artifact)604* Ler ou responder a [comentários em um artefato](/docs/pt/artifacts#collect-comments-on-an-artifact)

605* Fazer o Claude ler [o artefato público de outra organização](/docs/pt/artifacts#read-an-artifact-shared-with-you)605* Fazer o Claude ler [o artefato público de outra organização](/docs/pt/artifacts#read-an-artifact-shared-with-you)


613 Primeira sessão após uma instalação ou atualização613 Primeira sessão após uma instalação ou atualização

614</h3>614</h3>

615 615 

616Na sua primeira sessão após instalar o Claude Code, ou atualizar para uma versão que adiciona um recurso, um [recurso controlado por flag](#features-that-need-feature-flag-fetching) pode estar ausente. Essa sessão também pode iniciar em um [modo de permissão](/docs/pt/permission-modes#which-mode-a-session-starts-in) diferente do das suas sessões posteriores. Quando o Claude Code busca as flags durante essa sessão, ele as salva na máquina, de modo que sua próxima sessão nessa máquina tenha o recurso e o modo de permissão inicial habitual.616Na sua primeira sessão após instalar o Claude Code, ou atualizar para uma versão que adiciona um recurso, um [recurso controlado por flag](#features-that-need-feature-flag-fetching) pode estar ausente. Quando o Claude Code busca as feature flags durante essa sessão, ele as salva na máquina, de modo que sua próxima sessão nessa máquina tenha o recurso.

617 

618Após uma instalação nova, em uma sessão não interativa, como `claude -p`, o Agent SDK ou a extensão do VS Code, o Claude Code pode obter as flags antes de [escolher o modo de permissão inicial](/docs/pt/permission-modes#which-mode-a-session-starts-in), mas nem sempre espera por elas.

619 617 

620Em configurações como estas, as sessões após a primeira também iniciam sem flags buscadas recentemente:618Em configurações como estas, as sessões após a primeira também iniciam sem flags buscadas recentemente:

621 619 

622* **Um ambiente limpo a cada execução**: se cada execução começa em um contêiner de CI, ou em qualquer outro ambiente sem as flags que uma sessão anterior salvou, cada execução é uma primeira sessão620* **Um ambiente limpo a cada execução**: se cada execução começa em um contêiner de CI, ou em qualquer outro ambiente sem as flags que uma sessão anterior salvou, cada execução é uma primeira sessão

623* **Um token de gateway sem chave de API**: se você se autentica com `ANTHROPIC_AUTH_TOKEN` e sem chave de API, e `ANTHROPIC_BASE_URL` aponta para um host diferente do da Anthropic, como um [gateway de LLM](/docs/pt/llm-gateway), o Claude Code não tem nenhuma credencial com a qual buscar as flags621* **Um token de gateway sem chave de API**: se você se autentica com `ANTHROPIC_AUTH_TOKEN` e sem chave de API, e `ANTHROPIC_BASE_URL` aponta para um host diferente do da Anthropic, como um [gateway de LLM](/docs/pt/llm-gateway), o Claude Code não tem nenhuma credencial com a qual buscar as flags

624 622 

625Para escolher o modo de permissão em que as sessões nessas configurações iniciam, consulte [Iniciar em um modo de permissão diferente](/docs/pt/permission-modes#start-in-a-different-mode).

626 

627<h2 id="see-also">623<h2 id="see-also">

628 Veja também624 Veja também

629</h2>625</h2>

errors.md +33 −6

Details

41| `Auto mode classifier transcript exceeded context window` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |41| `Auto mode classifier transcript exceeded context window` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |

42| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |42| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |

43| `The server-side auto mode classifier gave no verdict` | [Server errors](#the-server-returned-no-safety-verdict) |43| `The server-side auto mode classifier gave no verdict` | [Server errors](#the-server-returned-no-safety-verdict) |

44| `<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier` | [Server errors](#was-not-reviewed-and-did-not-run) |

44| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [Server errors](#the-server-returned-no-safety-verdict) |45| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [Server errors](#the-server-returned-no-safety-verdict) |

45| `Agent terminated early due to an API error` | [Server errors](#agent-terminated-early-due-to-an-api-error) |46| `Agent terminated early due to an API error` | [Server errors](#agent-terminated-early-due-to-an-api-error) |

46| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [Usage limits](#youve-hit-your-session-limit) |47| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [Usage limits](#youve-hit-your-session-limit) |


471| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/pt/env-vars) | não definido | Tempo máximo em milissegundos que cada requisição de API passa aguardando erros `429` e `529` quando `CLAUDE_CODE_RETRY_WATCHDOG` está definido. Quando não definido, a espera não tem limite. Requer Claude Code v2.1.295 ou posterior. |472| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/pt/env-vars) | não definido | Tempo máximo em milissegundos que cada requisição de API passa aguardando erros `429` e `529` quando `CLAUDE_CODE_RETRY_WATCHDOG` está definido. Quando não definido, a espera não tem limite. Requer Claude Code v2.1.295 ou posterior. |

472| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/pt/env-vars) | 500 | Atraso inicial em milissegundos do backoff entre novas tentativas de uma requisição que a API rejeita com um erro de sobrecarga `529`. Aumente-o, até 32000, para distribuir as novas tentativas por uma janela mais longa quando a API estiver no limite de capacidade. Não tem efeito quando `CLAUDE_CODE_RETRY_WATCHDOG` está definido como `1`, ou quando a requisição rejeitada foi enviada no [modo rápido](/docs/pt/fast-mode#handle-rate-limits). Requer Claude Code v2.1.292 ou posterior. |473| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/pt/env-vars) | 500 | Atraso inicial em milissegundos do backoff entre novas tentativas de uma requisição que a API rejeita com um erro de sobrecarga `529`. Aumente-o, até 32000, para distribuir as novas tentativas por uma janela mais longa quando a API estiver no limite de capacidade. Não tem efeito quando `CLAUDE_CODE_RETRY_WATCHDOG` está definido como `1`, ou quando a requisição rejeitada foi enviada no [modo rápido](/docs/pt/fast-mode#handle-rate-limits). Requer Claude Code v2.1.292 ou posterior. |

473| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/pt/env-vars) | 32000 | Teto em milissegundos do backoff entre novas tentativas de uma requisição que a API rejeita com um erro de sobrecarga `529`. Aumente-o, até 64000, para que as novas tentativas posteriores continuem se espaçando quando a API estiver no limite de capacidade. Não tem efeito quando `CLAUDE_CODE_RETRY_WATCHDOG` está definido como `1`, ou quando a requisição rejeitada foi enviada no [modo rápido](/docs/pt/fast-mode#handle-rate-limits). Requer Claude Code v2.1.296 ou posterior. |474| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/pt/env-vars) | 32000 | Teto em milissegundos do backoff entre novas tentativas de uma requisição que a API rejeita com um erro de sobrecarga `529`. Aumente-o, até 64000, para que as novas tentativas posteriores continuem se espaçando quando a API estiver no limite de capacidade. Não tem efeito quando `CLAUDE_CODE_RETRY_WATCHDOG` está definido como `1`, ou quando a requisição rejeitada foi enviada no [modo rápido](/docs/pt/fast-mode#handle-rate-limits). Requer Claude Code v2.1.296 ou posterior. |

474| [`API_TIMEOUT_MS`](/docs/pt/env-vars) | 600000 | Timeout por requisição em milissegundos. Aumente-o para redes lentas ou proxies. Também limita quanto tempo Claude Code aguarda os cabeçalhos de resposta, conforme descrito em [No response from API](#no-response-from-api). |475| [`API_TIMEOUT_MS`](/docs/pt/env-vars) | 600000 | Tempo em milissegundos que cada tentativa de requisição tem para receber seus cabeçalhos de resposta. Não limita quanto tempo uma resposta de streaming dura depois disso. Aumente-o para redes lentas ou proxies. Para saber como ele limita o prazo de primeiro byte, veja [No response from API](#no-response-from-api). |

475| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/pt/env-vars) | não definido | Limite de reenvios de uma [requisição sem streaming](#streaming-response-ended-before-any-complete-data-was-received) que atinge o timeout. Ao atingir o limite, a requisição falha. Uma resposta do Claude que leva mais tempo que o timeout para ser gerada atinge o timeout novamente a cada reenvio, então defina um número baixo, como `0`, para falhar mais cedo. Cada tentativa sem streaming atinge o timeout após 300 segundos em uma sessão local, ou após `API_TIMEOUT_MS` quando você define um valor positivo. Requer Claude Code v2.1.285 ou posterior. |476| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/pt/env-vars) | não definido | Limite de reenvios de uma [requisição sem streaming](#streaming-response-ended-before-any-complete-data-was-received) que atinge o timeout. Ao atingir o limite, a requisição falha. Uma resposta do Claude que leva mais tempo que o timeout para ser gerada atinge o timeout novamente a cada reenvio, então defina um número baixo, como `0`, para falhar mais cedo. Cada tentativa sem streaming atinge o timeout após 300 segundos em uma sessão local, ou após `API_TIMEOUT_MS` quando você define um valor positivo. Requer Claude Code v2.1.285 ou posterior. |

476| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/pt/env-vars) | não definido | Prazo em milissegundos para o primeiro byte de resposta de uma requisição de streaming. Requer Claude Code v2.1.242 ou posterior. Para saber como Claude Code escolhe o prazo quando esta variável não está definida, veja [No response from API](#no-response-from-api). |477| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/pt/env-vars) | não definido | Prazo em milissegundos para o primeiro byte de resposta de uma requisição de streaming. Requer Claude Code v2.1.242 ou posterior. Para saber como Claude Code escolhe o prazo quando esta variável não está definida, veja [No response from API](#no-response-from-api). |

477 478 


535Request timed out536Request timed out

536```537```

537 538 

538Isso pode acontecer durante períodos de alta carga ou quando o modelo está gerando uma resposta muito grande. O tempo limite de solicitação padrão é de 10 minutos.539O tempo limite de solicitação padrão é de 10 minutos.

539 540 

540**O que fazer:**541**O que fazer:**

541 542 


627<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.628<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.

628```629```

629 630 

630Em uma sessão interativa, uma linha esmaecida `Not run · auto mode's check had no usable answer` aparece sob a chamada de ferramenta em vez desta mensagem. Pressione `Ctrl+O` para ler a mensagem no [visualizador de transcrição](/docs/pt/interactive-mode#transcript-viewer). As negações descritas em [The server returned no safety verdict](#the-server-returned-no-safety-verdict) mostram a mesma linha. Antes da v2.1.296, a mensagem aparecia sob a chamada como um erro vermelho.631Em uma sessão interativa, uma linha esmaecida `Not run · auto mode's check had no usable answer` aparece sob a chamada de ferramenta em vez desta mensagem. Pressione `Ctrl+O` para ler a mensagem no [visualizador de transcrição](/docs/pt/interactive-mode#transcript-viewer). As negações `gave no verdict` descritas em [The server returned no safety verdict](#the-server-returned-no-safety-verdict) mostram a mesma linha. Antes da v2.1.296, a mensagem aparecia sob a chamada como um erro vermelho.

631 632 

632Quando Claude Code pode determinar a categoria de falha, ele nomeia a categoria entre parênteses após `temporarily unavailable`, por exemplo `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. As categorias são `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` e `(connection failed)`. Se `(timed out)` ou `(connection failed)` se repetir, verifique sua conexão; veja [Unable to connect to API](#unable-to-connect-to-api). Antes da v2.1.229, a mensagem nunca nomeava uma categoria e lia `Wait briefly and then try this action again`.633Quando Claude Code pode determinar a categoria de falha, ele nomeia a categoria entre parênteses após `temporarily unavailable`, por exemplo `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. As categorias são `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` e `(connection failed)`. Se `(timed out)` ou `(connection failed)` se repetir, verifique sua conexão; veja [Unable to connect to API](#unable-to-connect-to-api). Antes da v2.1.229, a mensagem nunca nomeava uma categoria e lia `Wait briefly and then try this action again`.

633 634 


638* Tente novamente após alguns segundos; Claude vê a mesma mensagem e geralmente tenta novamente por conta própria. Uma falha transitória não está relacionada à [elegibilidade de auto mode](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode); você não precisa alterar configurações639* Tente novamente após alguns segundos; Claude vê a mesma mensagem e geralmente tenta novamente por conta própria. Uma falha transitória não está relacionada à [elegibilidade de auto mode](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode); você não precisa alterar configurações

639* Se as tentativas continuarem falhando, continue com tarefas somente leitura e volte à ação bloqueada mais tarde640* Se as tentativas continuarem falhando, continue com tarefas somente leitura e volte à ação bloqueada mais tarde

640* No Amazon Bedrock, se a mensagem retornar em cada tentativa, verifique se sua conta pode invocar o modelo que ela nomeia: para modelos padrão do Amazon Bedrock, confirme que sua [política IAM](/docs/pt/amazon-bedrock#iam-configuration) permite invocá-lo; para IDs de modelo Mantle, [entre em contato com sua equipe de conta AWS](/docs/pt/amazon-bedrock#mantle-endpoint-errors)641* No Amazon Bedrock, se a mensagem retornar em cada tentativa, verifique se sua conta pode invocar o modelo que ela nomeia: para modelos padrão do Amazon Bedrock, confirme que sua [política IAM](/docs/pt/amazon-bedrock#iam-configuration) permite invocá-lo; para IDs de modelo Mantle, [entre em contato com sua equipe de conta AWS](/docs/pt/amazon-bedrock#mantle-endpoint-errors)

642* Se a mensagem retornar em cada tentativa e nomear o modelo que você definiu em [`CLAUDE_CODE_AUTO_MODE_MODEL`](/docs/pt/permission-modes#choose-the-classifier-model), verifique se a API ou o provedor de nuvem em que sua sessão é executada oferece esse ID de modelo. Se não oferecer, defina a variável como um ID de modelo que ele ofereça, ou remova a definição da variável para usar o [modelo classificador padrão](/docs/pt/permission-modes#default-classifier-model).

641 643 

642Quando uma solicitação de classificador falha porque seu token OAuth expirou ou foi rotacionado por outra sessão, Claude Code atualiza o token e tenta novamente a solicitação uma vez, então uma expiração de token rotineira não aparece como esta mensagem. Antes da v2.1.216, um token expirado ou rotacionado falhava em cada solicitação de classificador, e auto mode negava cada ação verificada com esta mensagem até que o token fosse atualizado.644Quando uma solicitação de classificador falha porque seu token OAuth expirou ou foi rotacionado por outra sessão, Claude Code atualiza o token e tenta novamente a solicitação uma vez, então uma expiração de token rotineira não aparece como esta mensagem. Antes da v2.1.216, um token expirado ou rotacionado falhava em cada solicitação de classificador, e auto mode negava cada ação verificada com esta mensagem até que o token fosse atualizado.

643 645 


672* Em uma sessão interativa, mude para um [modo de permissão](/docs/pt/permission-modes) diferente para que você possa aprovar a ação quando solicitado674* Em uma sessão interativa, mude para um [modo de permissão](/docs/pt/permission-modes) diferente para que você possa aprovar a ação quando solicitado

673* Inicie uma conversa nova sem o conteúdo acionador675* Inicie uma conversa nova sem o conteúdo acionador

674 676 

675Quando a conversa cresceu além da janela de contexto do classificador:677Quando a conversa é longa demais para a requisição de classificador do Claude Code e o Claude Code não consegue [compactá-la por conta própria](#was-not-reviewed-and-did-not-run):

676 678 

677```text theme={null}679```text theme={null}

678Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)680Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)


715 717 

716**O que fazer:**718**O que fazer:**

717 719 

720* Em uma sessão interativa, pressione `Ctrl+O` para ler o texto da negação no [visualizador de transcrição](/docs/pt/interactive-mode#transcript-viewer).

721* Se a negação nomear `(the conversation is too long for the check)`, execute `/compact` no prompt do Claude Code para encurtar a conversa. Até que a conversa fique mais curta, enviar outra mensagem resulta na mesma negação. Se você desativou a [compactação automática](/docs/pt/settings-reference#autocompactenabled), ative-a novamente para que o Claude Code compacte por conta própria na próxima vez.

718* Envie outra mensagem para que Claude tente novamente. A contagem de respostas começa do zero.722* Envie outra mensagem para que Claude tente novamente. A contagem de respostas começa do zero.

719* Se a parada se repetir e suas solicitações passarem por um [gateway ou proxy LLM](/docs/pt/llm-gateway), verifique se ele corta respostas de streaming ou as reescreve. [Revisão de classificador do lado do servidor](/docs/pt/permission-modes#server-side-classifier-review) diz qual comportamento de gateway causa negações, e o [guia de compatibilidade de gateway](/docs/pt/llm-gateway-protocol#feature-pass-through) lista o que passar inalterado.723* Se a parada se repetir e suas solicitações passarem por um [gateway ou proxy LLM](/docs/pt/llm-gateway), verifique se ele corta respostas de streaming ou as reescreve. [Revisão de classificador do lado do servidor](/docs/pt/permission-modes#server-side-classifier-review) diz qual comportamento de gateway causa negações, e o [guia de compatibilidade de gateway](/docs/pt/llm-gateway-protocol#feature-pass-through) lista o que passar inalterado.

720* Defina `CLAUDE_CODE_AUTO_MODE_SERVER=0` antes de iniciar Claude Code para usar suas próprias solicitações de classificador. Antes da v2.1.281, Claude Code não lia a variável em uma conexão direta com a API Anthropic.724* Defina `CLAUDE_CODE_AUTO_MODE_SERVER=0` antes de iniciar Claude Code para usar suas próprias solicitações de classificador. Antes da v2.1.281, Claude Code não lia a variável em uma conexão direta com a API Anthropic.


722 726 

723Antes da v2.1.280, Claude Code negava cada ação de uma resposta sem veredicto imediatamente e nunca interrompia o turno.727Antes da v2.1.280, Claude Code negava cada ação de uma resposta sem veredicto imediatamente e nunca interrompia o turno.

724 728 

729Antes da v2.1.302, em uma conexão direta com a API Anthropic, Claude Code não compactava uma conversa que havia ficado longa demais para a verificação do servidor.

730 

731<h3 id="was-not-reviewed-and-did-not-run">

732 Was not reviewed and did not run

733</h3>

734 

735Uma negação `was not reviewed and did not run` significa que a conversa é longa demais para que o classificador do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) verifique a ação, então a ação não foi executada. Claude Code retorna esta mensagem a Claude:

736 

737```text theme={null}

738<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier. Claude Code will try to compact the conversation before the next request; if this action is still needed after that, issue it again and it will be reviewed normally.

739```

740 

741Se a compactação falhar, ações posteriores que o classificador não consegue verificar recebem uma de duas outras mensagens:

742 

743* Uma negação [`gave no verdict (the conversation is too long for the check)`](#the-server-returned-no-safety-verdict)

744* A mensagem [`Auto mode classifier transcript exceeded context window`](#auto-mode-cannot-determine-the-safety-of-an-action)

745 

746**O que fazer:**

747 

748* Se a compactação que a mensagem anuncia tiver sucesso, você não precisa fazer nada.

749* Se você vir qualquer uma dessas duas mensagens, execute `/compact` no prompt do Claude Code para encurtar a conversa você mesmo. Se você desativou a [compactação automática](/docs/pt/settings-reference#autocompactenabled), ative-a novamente para que o Claude Code compacte por conta própria na próxima vez.

750 

725<h3 id="agent-terminated-early-due-to-an-api-error">751<h3 id="agent-terminated-early-due-to-an-api-error">

726 Agent terminated early due to an API error752 Agent terminated early due to an API error

727</h3>753</h3>


4554* Corrija cada entrada que o erro nomeia com base nas [ferramentas disponíveis para subagentes](/docs/pt/sub-agents#available-tools)4580* Corrija cada entrada que o erro nomeia com base nas [ferramentas disponíveis para subagentes](/docs/pt/sub-agents#available-tools)

4555* Remova entradas para ferramentas que a sessão não tem, como ferramentas MCP de um servidor que não está conectado4581* Remova entradas para ferramentas que a sessão não tem, como ferramentas MCP de um servidor que não está conectado

4556* Se a entrada nomeia um servidor MCP conectado, compare a entrada com o nome desse servidor conforme os [nomes de ferramentas](/docs/pt/permissions#mcp) do servidor o escrevem, como `reports__v2` em `mcp__reports__v2__get_totals`. Para esse servidor, escreva `mcp__reports__v2__*`, que é `mcp__` seguido pelo nome completo e `__*`. Com o mais curto `mcp__reports`, que nomeia um servidor chamado `reports`, o subagente não recebe nenhuma das ferramentas `reports__v2`4582* Se a entrada nomeia um servidor MCP conectado, compare a entrada com o nome desse servidor conforme os [nomes de ferramentas](/docs/pt/permissions#mcp) do servidor o escrevem, como `reports__v2` em `mcp__reports__v2__get_totals`. Para esse servidor, escreva `mcp__reports__v2__*`, que é `mcp__` seguido pelo nome completo e `__*`. Com o mais curto `mcp__reports`, que nomeia um servidor chamado `reports`, o subagente não recebe nenhuma das ferramentas `reports__v2`

4557* Para uma ferramenta que [subagentes em background descartam](/docs/pt/sub-agents#available-tools), como `CronCreate`, remova a entrada. Para manter a ferramenta, [desative o fork mode](/docs/pt/sub-agents#turn-fork-mode-on-or-off) e peça ao Claude para executar o subagente em foreground4583* Para uma ferramenta que [subagentes em background descartam](/docs/pt/sub-agents#available-tools), como `CronCreate`, remova a entrada

4584* Para manter em vez disso uma ferramenta como `CronCreate`, [deixe Claude aguardar o subagente](/docs/pt/sub-agents#let-claude-wait-for-a-subagent), já que um subagente que Claude aguarda é executado em foreground e mantém a ferramenta. Se a definição define `background: true`, remova esse campo primeiro, porque ele mantém o subagente em background

4558* Delete o campo `tools` em vez de listar ferramentas para dar ao subagente cada [ferramenta disponível para subagentes](/docs/pt/sub-agents#available-tools)4585* Delete o campo `tools` em vez de listar ferramentas para dar ao subagente cada [ferramenta disponível para subagentes](/docs/pt/sub-agents#available-tools)

4559* Para uma lista `tools` que contém apenas `Agent`, aumente o [limite de profundidade](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) ou dê ao agente pelo menos uma outra ferramenta: Claude Code retém `Agent` nesse limite, então uma lista com nada mais nela se resolve para nenhuma ferramenta4586* Para uma lista `tools` que contém apenas `Agent`, aumente o [limite de profundidade](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) ou dê ao agente pelo menos uma outra ferramenta: Claude Code retém `Agent` nesse limite, então uma lista com nada mais nela se resolve para nenhuma ferramenta

4560 4587 


5405**O que fazer:**5432**O que fazer:**

5406 5433 

5407* No VS Code, siga o link **View output logs** mostrado com o erro para ver a falha subjacente5434* No VS Code, siga o link **View output logs** mostrado com o erro para ver a falha subjacente

5408* Em uma aplicação Agent SDK, capture o erro em torno de seu loop de mensagens. As entradas em [CLI process exit](/docs/pt/agent-sdk/troubleshooting#cli-process-exit) cobrem o que seu código recebe em cada linguagem SDK.5435* Em uma aplicação Agent SDK, capture o erro em torno de seu loop de mensagens. As entradas em [Saída do processo CLI](/docs/pt/agent-sdk/troubleshooting#cli-process-exit) cobrem o que seu código recebe em cada linguagem SDK.

5409* Execute `claude` em um terminal no mesmo projeto. A falha geralmente se reproduz lá com sua mensagem de erro real, que você pode então procurar nesta página.5436* Execute `claude` em um terminal no mesmo projeto. A falha geralmente se reproduz lá com sua mensagem de erro real, que você pode então procurar nesta página.

5410* Execute `claude doctor` em um terminal para verificar a instalação e configuração5437* Execute `claude doctor` em um terminal para verificar a instalação e configuração

5411 5438 

fast-mode.md +1 −1

Details

47* Um pequeno ícone `↯` aparece ao lado do prompt enquanto o modo rápido está ativo47* Um pequeno ícone `↯` aparece ao lado do prompt enquanto o modo rápido está ativo

48* Execute `/fast` novamente a qualquer momento para verificar se o modo rápido está ativado ou desativado48* Execute `/fast` novamente a qualquer momento para verificar se o modo rápido está ativado ou desativado

49 49 

50Opus 5.5 é o padrão do modo rápido no Claude Code v2.1.280 e posterior. Antes da v2.1.280, o modo rápido usava como padrão Opus 5 a partir da v2.1.219, Opus 4.8 na v2.1.154 até v2.1.218, e Opus 4.7 na v2.1.142 até v2.1.153.50Opus 5.5 é o padrão do modo rápido no Claude Code v2.1.280 e posterior. Antes da v2.1.280, o modo rápido usava como padrão Opus 5 a partir da v2.1.219, e Opus 4.8 na v2.1.154 até v2.1.218.

51 51 

52Quando você desativa o modo rápido com `/fast` novamente, você permanece no Opus. Para alternar para um modelo diferente, use `/model`.52Quando você desativa o modo rápido com `/fast` novamente, você permanece no Opus. Para alternar para um modelo diferente, use `/model`.

53 53 

fullscreen.md +2 −2

Details

101* **Click in the prompt input** to position your cursor anywhere in the text you're typing.101* **Click in the prompt input** to position your cursor anywhere in the text you're typing.

102* **Click a suggestion in the `/` command or `@` file list** to accept it. Hovering highlights the row under your cursor.102* **Click a suggestion in the `/` command or `@` file list** to accept it. Hovering highlights the row under your cursor.

103* **Clique em uma opção em um menu de seleção** para escolhê-la. Isso abrange prompts de permissão, `/model`, `/config` e outros diálogos que mostram uma lista de opções.103* **Clique em uma opção em um menu de seleção** para escolhê-la. Isso abrange prompts de permissão, `/model`, `/config` e outros diálogos que mostram uma lista de opções.

104* **Click an option in a multi-select menu** to toggle it, and click the submit button to confirm your choices. Clicking a free-text row, such as the `Other` row in a multiple-choice question, focuses its input field so you can type an answer. Requires Claude Code v2.1.208 or later.104* **Clique em uma opção em um menu de seleção múltipla** para alterná-la e clique no botão de envio para confirmar suas escolhas. Clicar em uma linha de texto livre, como a linha `Other` em uma pergunta de múltipla escolha, coloca o foco no campo de entrada dela para que você possa digitar uma resposta.

105* **Click a setting's value in the `/config` panel** to change it, and scroll the settings list with the mouse wheel. Requires Claude Code v2.1.271 or later.105* **Click a setting's value in the `/config` panel** to change it, and scroll the settings list with the mouse wheel. Requires Claude Code v2.1.271 or later.

106* **Scroll a select or multi-select menu with the mouse wheel** when it has more options than it shows at once, such as the `/model` list in a short terminal window. The wheel scrolls the list while the pointer is over its options. Requires Claude Code v2.1.280 or later.106* **Scroll a select or multi-select menu with the mouse wheel** when it has more options than it shows at once, such as the `/model` list in a short terminal window. The wheel scrolls the list while the pointer is over its options. Requires Claude Code v2.1.280 or later.

107* **Role uma lista que transborda com a barra de rolagem dela.** Em painéis de lista como `/skills`, `/mcp` e a lista Installed do `/plugin`, uma barra de rolagem aparece ao lado de uma lista com mais linhas do que cabem enquanto o ponteiro está sobre ela. Clique na trilha para pular para aquele ponto ou arraste o indicador. Requer Claude Code v2.1.281 ou posterior.107* **Role uma lista que transborda com a barra de rolagem dela.** Em painéis de lista como `/skills`, `/mcp` e a lista Installed do `/plugin`, uma barra de rolagem aparece ao lado de uma lista com mais linhas do que cabem enquanto o ponteiro está sobre ela. Clique na trilha para pular para aquele ponto ou arraste o indicador. Requer Claude Code v2.1.281 ou posterior.


146| `Ctrl+End` | Ir para a mensagem mais recente e reativar o auto-follow |146| `Ctrl+End` | Ir para a mensagem mais recente e reativar o auto-follow |

147| Roda do mouse | Rolar algumas linhas por vez |147| Roda do mouse | Rolar algumas linhas por vez |

148 148 

149Você pode rolar de volta para o início da sessão mesmo após [compactação](/docs/pt/context-window#what-survives-compaction). Claude continua trabalhando a partir do resumo de compactação, mas Claude Code mantém todas as mensagens anteriores no scrollback em tela cheia em compactações repetidas.149Se você fechar uma sessão [compactada](/docs/pt/context-window#what-survives-compaction) e [retomá-la](/docs/pt/sessions#what-a-resumed-session-restores), a rolagem para cima para na linha `Conversation compacted`, e suas mensagens anteriores permanecem no disco no [arquivo de transcrição](/docs/pt/sessions#where-transcripts-are-stored). Para obter um detalhe dessas mensagens, peça a Claude que o procure nesse arquivo.

150 150 

151Em teclados sem teclas dedicadas `PgUp`, `PgDn`, `Home` ou `End`, como teclados de MacBook, mantenha `Fn` pressionado com as teclas de seta: `Fn+↑` envia `PgUp`, `Fn+↓` envia `PgDn`, `Fn+←` envia `Home` e `Fn+→` envia `End`. `Ctrl+Fn+→` não alcança Claude Code no macOS, portanto um teclado de MacBook não tem um atalho de salto para o final funcionando por padrão. Em vez disso, use uma destas opções:151Em teclados sem teclas dedicadas `PgUp`, `PgDn`, `Home` ou `End`, como teclados de MacBook, mantenha `Fn` pressionado com as teclas de seta: `Fn+↑` envia `PgUp`, `Fn+↓` envia `PgDn`, `Fn+←` envia `Home` e `Fn+→` envia `End`. `Ctrl+Fn+→` não alcança Claude Code no macOS, portanto um teclado de MacBook não tem um atalho de salto para o final funcionando por padrão. Em vez disso, use uma destas opções:

152 152 

headless.md +5 −4

Details

138 Stdin canalizado é limitado a 10MB. Se você exceder o limite, Claude Code sai com um erro claro e um status diferente de zero. Para trabalhar com entradas maiores, escreva o conteúdo em um arquivo e faça referência ao caminho do arquivo em seu prompt em vez de canalizá-lo.138 Stdin canalizado é limitado a 10MB. Se você exceder o limite, Claude Code sai com um erro claro e um status diferente de zero. Para trabalhar com entradas maiores, escreva o conteúdo em um arquivo e faça referência ao caminho do arquivo em seu prompt em vez de canalizá-lo.

139</Note>139</Note>

140 140 

141Se Claude Code não conseguir ler stdin, por exemplo porque o processo que o iniciou desconectou sua extremidade, Claude Code imprime um aviso para stderr e continua com o prompt da linha de comando. Antes da v2.1.211, um stdin ilegível no Windows causava falha na sessão ou a fazia sair silenciosamente sem saída.141Se Claude Code não conseguir ler stdin, por exemplo porque o processo que o iniciou desconectou sua extremidade, Claude Code imprime um aviso para stderr e continua com o prompt da linha de comando.

142 142 

143<h3 id="add-claude-to-a-build-script">143<h3 id="add-claude-to-a-build-script">

144 Adicionar Claude a um script de compilação144 Adicionar Claude a um script de compilação


213 213 

214A última linha do stream é uma mensagem `result` com o texto de resposta final, custo e metadados de sessão.214A última linha do stream é uma mensagem `result` com o texto de resposta final, custo e metadados de sessão.

215 215 

216Se seu consumidor ler o stream lentamente, Claude Code aguarda a fila de saída drenar antes de sair, dimensionando a espera com o quanto ainda está na fila, limitado a 30 segundos. Antes da v2.1.214, a espera de saída era limitada a cerca de dois segundos, o que poderia cortar o final de uma resposta grande.216Se seu consumidor ler o stream lentamente, Claude Code aguarda a fila de saída drenar antes de sair, dimensionando a espera com o quanto ainda está na fila, limitado a 30 segundos.

217 217 

218O exemplo a seguir usa [jq](https://jqlang.org/) para filtrar deltas de texto e exibir apenas o texto de streaming. A flag `-r` produz strings brutas (sem aspas) e `-j` une sem quebras de linha para que os tokens façam streaming continuamente:218O exemplo a seguir usa [jq](https://jqlang.org/) para filtrar deltas de texto e exibir apenas o texto de streaming. A flag `-r` produz strings brutas (sem aspas) e `-j` une sem quebras de linha para que os tokens façam streaming continuamente:

219 219 


249 249 

250Se algumas dessas mensagens estiverem faltando no seu stream, verifique sua versão do Claude Code em relação a estes mínimos:250Se algumas dessas mensagens estiverem faltando no seu stream, verifique sua versão do Claude Code em relação a estes mínimos:

251 251 

252* **`--forward-subagent-text` e `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`**: v2.1.211 ou posterior

253* **Encaminhamento em cada profundidade de aninhamento**: v2.1.219 ou posterior252* **Encaminhamento em cada profundidade de aninhamento**: v2.1.219 ou posterior

254* **Uma skill bifurcada que Claude inicia com a ferramenta Skill a partir da conversa principal**: v2.1.86 ou posterior para seus blocos `tool_use` e `tool_result`, e v2.1.265 ou posterior para sua primeira mensagem `user` e seus blocos de texto e pensamento253* **Uma skill bifurcada que Claude inicia com a ferramenta Skill a partir da conversa principal**: v2.1.86 ou posterior para seus blocos `tool_use` e `tool_result`, e v2.1.265 ou posterior para sua primeira mensagem `user` e seus blocos de texto e pensamento

255* **Mensagens de subagentes que uma skill bifurcada gera, e de skills bifurcadas iniciadas dentro de um subagente ou de outra skill bifurcada**: v2.1.275 ou posterior254* **Mensagens de subagentes que uma skill bifurcada gera, e de skills bifurcadas iniciadas dentro de um subagente ou de outra skill bifurcada**: v2.1.275 ou posterior


336 --allowedTools "Bash,Read,Edit"335 --allowedTools "Bash,Read,Edit"

337```336```

338 337 

339Para definir uma linha de base para toda a sessão em vez de listar ferramentas individuais, passe um [modo de permissão](/docs/pt/permission-modes). Uma execução onde nada define um modo de permissão toma o [modo de permissão inicial integrado](/docs/pt/permission-modes#which-mode-a-session-starts-in), que pode ser `auto`, então passe o que você deseja:338Chamadas a ferramentas que você não listou são executadas se não precisarem de aprovação. Em uma execução `claude -p` no [modo Manual](/docs/pt/permission-modes#available-modes), uma chamada que precisa de aprovação é negada a menos que algo a aprove, como um [hook `PermissionRequest`](/docs/pt/hooks#permissionrequest) ou uma [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags). Com Claude Code v2.1.302 ou posterior, execuções `claude -p` começam no modo Manual quando [nada define um modo de permissão](/docs/pt/permission-modes#which-mode-a-non-interactive-run-starts-in).

339 

340Para definir uma linha de base para toda a sessão em vez de listar ferramentas individuais, passe um [modo de permissão](/docs/pt/permission-modes) com `--permission-mode`, como `auto`, `dontAsk` ou `acceptEdits`:

340 341 

341* **`auto`**: passe `--permission-mode auto` para ter um classificador revisar a maioria das ações em vez de você342* **`auto`**: passe `--permission-mode auto` para ter um classificador revisar a maioria das ações em vez de você

342* **`dontAsk`**: Claude Code nega qualquer chamada que de outra forma solicitaria, o que é útil para execuções de CI bloqueadas. Ações que não precisam de aprovação no modo Manual ainda são executadas, como leituras de arquivo em seus diretórios de trabalho e o [conjunto de comandos somente leitura](/docs/pt/permissions#read-only-commands), e também ações que suas entradas `--allowedTools` ou regras `permissions.allow` cobrem. `AskUserQuestion`, ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools), ferramentas MCP marcadas [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool) e [leituras de caminhos de rede](/docs/pt/permissions#network-paths) são negadas mesmo quando uma regra de permissão corresponde343* **`dontAsk`**: Claude Code nega qualquer chamada que de outra forma solicitaria, o que é útil para execuções de CI bloqueadas. Ações que não precisam de aprovação no modo Manual ainda são executadas, como leituras de arquivo em seus diretórios de trabalho e o [conjunto de comandos somente leitura](/docs/pt/permissions#read-only-commands), e também ações que suas entradas `--allowedTools` ou regras `permissions.allow` cobrem. `AskUserQuestion`, ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools), ferramentas MCP marcadas [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool) e [leituras de caminhos de rede](/docs/pt/permissions#network-paths) são negadas mesmo quando uma regra de permissão corresponde

hooks.md +26 −32

Details

423* **[Hooks de prompt](#prompt-and-agent-hook-fields)** (`type: "prompt"`): enviam um prompt para um modelo Claude para avaliação de turno único. O modelo retorna sua decisão como JSON. Consulte [Hooks baseados em prompt](#prompt-based-hooks).423* **[Hooks de prompt](#prompt-and-agent-hook-fields)** (`type: "prompt"`): enviam um prompt para um modelo Claude para avaliação de turno único. O modelo retorna sua decisão como JSON. Consulte [Hooks baseados em prompt](#prompt-based-hooks).

424* **[Hooks de agente](#prompt-and-agent-hook-fields)** (`type: "agent"`): geram um subagente que pode usar ferramentas como Read, Grep e Glob para verificar condições antes de retornar uma decisão. Hooks de agente são experimentais e podem mudar. Consulte [Hooks baseados em agente](#agent-based-hooks).424* **[Hooks de agente](#prompt-and-agent-hook-fields)** (`type: "agent"`): geram um subagente que pode usar ferramentas como Read, Grep e Glob para verificar condições antes de retornar uma decisão. Hooks de agente são experimentais e podem mudar. Consulte [Hooks baseados em agente](#agent-based-hooks).

425 425 

426Todos os hooks correspondentes executam em paralelo. Se você definir o mesmo manipulador em mais de um arquivo de configurações, ele executa uma vez. Uma cópia do mesmo manipulador de um plugin ou skill permanece separada.426Quando um evento dispara, seus hooks correspondentes executam em paralelo. Se mais de 12 deles forem hooks de prompt ou de agente, 12 desses executam ao mesmo tempo e o restante começa à medida que os que estão em execução terminam. O [`timeout`](#common-fields) de cada hook em espera começa a contar quando esse hook inicia.

427 

428Se você definir o mesmo manipulador em mais de um arquivo de configurações, ele executa uma vez. Uma cópia do mesmo manipulador de um plugin ou skill permanece separada.

427 429 

428Manipuladores executam no diretório atual com o ambiente do Claude Code. Se o diretório atual não existir mais, por exemplo um worktree ou diretório temporário que outro shell deletou no meio da sessão, Claude Code executa hooks de comando a partir do primeiro destes que ainda existe: o diretório em que a sessão começou, a raiz do projeto, seu diretório home ou o diretório temporário do sistema. Claude Code registra um aviso nomeando o diretório de fallback no [log de debug](#debug-hooks). Para uma sessão de worktree que você inicia a partir do aplicativo desktop, consulte [O que os worktrees compartilham com o checkout principal](/docs/pt/worktrees#what-worktrees-share-with-the-main-checkout).430Manipuladores executam no diretório atual com o ambiente do Claude Code. Se o diretório atual não existir mais, por exemplo um worktree ou diretório temporário que outro shell deletou no meio da sessão, Claude Code executa hooks de comando a partir do primeiro destes que ainda existe: o diretório em que a sessão começou, a raiz do projeto, seu diretório home ou o diretório temporário do sistema. Claude Code registra um aviso nomeando o diretório de fallback no [log de debug](#debug-hooks). Para uma sessão de worktree que você inicia a partir do aplicativo desktop, consulte [O que os worktrees compartilham com o checkout principal](/docs/pt/worktrees#what-worktrees-share-with-the-main-checkout).

429 431 


445 447 

446O campo `if` contém exatamente uma regra de permissão. Não há sintaxe `&&`, `||` ou lista para combinar regras; para aplicar múltiplas condições, defina um manipulador de hook separado para cada.448O campo `if` contém exatamente uma regra de permissão. Não há sintaxe `&&`, `||` ou lista para combinar regras; para aplicar múltiplas condições, defina um manipulador de hook separado para cada.

447 449 

448Em uma condição `if` para uma ferramenta de arquivo, um padrão de diretório de segmento único como `"Edit(src/**)"` corresponde apenas ao diretório `src` no diretório de trabalho e aos arquivos sob ele. Para corresponder a um diretório nomeado `src` em qualquer profundidade, escreva `"Edit(**/src/**)"`. Antes de v2.1.214, `"Edit(src/**)"` correspondia a um diretório nomeado `src` em qualquer profundidade sob o diretório de trabalho.450Em uma condição `if` para uma ferramenta de arquivo, um padrão de diretório de segmento único como `"Edit(src/**)"` corresponde apenas ao diretório `src` no diretório de trabalho e aos arquivos sob ele. Para corresponder a um diretório nomeado `src` em qualquer profundidade, escreva `"Edit(**/src/**)"`.

449 451 

450<h4 id="bash-if-matching">452<h4 id="bash-if-matching">

451 Como padrões `if` correspondem a comandos Bash453 Como padrões `if` correspondem a comandos Bash


825 Saída de código de saída827 Saída de código de saída

826</h3>828</h3>

827 829 

828O código de saída do seu hook diz ao Claude Code se deve continuar com a ação que disparou o hook, como uma chamada de ferramenta ou um prompt. Uma execução que termina tem um de três resultados:830Quando a execução do seu hook termina, Claude Code usa o código de saída dele para decidir se continua com a ação que o disparou, como uma chamada de ferramenta ou um prompt:

829 831 

830* **Sucesso**: seu hook sai com 0. Claude Code aplica quaisquer campos de [saída JSON](#json-output) que seu hook imprimiu, e a ação prossegue, a menos que esses campos a bloqueiem ou neguem. [Hooks que iniciam um processo em segundo plano](#hooks-that-start-a-background-process) cobre a exceção.832* **Sucesso**: seu hook sai com 0. Claude Code aplica quaisquer campos de [saída JSON](#json-output) que seu hook imprimiu, e a ação prossegue, a menos que esses campos a bloqueiem ou neguem. [Hooks que iniciam um processo em segundo plano](#hooks-that-start-a-background-process) cobre a exceção.

831* **Erro bloqueador**: seu hook sai com 2. Em [eventos que podem bloquear](#exit-code-2-behavior-per-event), Claude Code interrompe a ação.833* **Erro bloqueador**: seu hook sai com 2. Em [eventos que podem bloquear](#exit-code-2-behavior-per-event), Claude Code interrompe a ação.


853 Código de saída 0855 Código de saída 0

854</h4>856</h4>

855 857 

856Saída 0 significa sucesso, e é o código de saída pretendido quando você imprime JSON para controle estruturado.858Saída 0 significa sucesso, e é o código de saída pretendido quando você imprime JSON para controle estruturado. Quando seu hook sai com 0 mas imprime JSON que não pode ser analisado ou falha na [validação de esquema](#json-output), a ação prossegue, a menos que o hook seja um [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails). Em vez de um sucesso com seus campos aplicados, a execução é um [erro não-bloqueador](#exit-code-output).

857 

858Para a maioria dos eventos, Claude Code escreve stdout no log de debug e não o mostra na transcrição. As exceções são `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`, onde Claude Code adiciona stdout em texto simples como contexto que Claude pode ver e agir.

859 859 

860Para um hook que não é [async](#how-async-hooks-execute), Claude Code analisa seu stdout como [saída JSON](#json-output) quando toda a saída é um único objeto JSON sem nada ao redor além de espaço em branco, e caso contrário como texto simples ou uma falha de análise:860Para corrigir sua saída, use a mensagem de análise ou validação que o aviso `<hook name> hook error` carrega. Para um hook que não é [async](#how-async-hooks-execute), seu stdout conta como [saída JSON](#json-output) apenas quando você imprime um único objeto JSON, em uma linha ou em várias, sem nada ao redor além de espaço em branco. Claude Code lê qualquer outro stdout como texto simples ou uma falha de análise:

861 861 

862* **Um objeto JSON, em uma linha ou em várias**: analisado como saída JSON.

863* **Saída que não começa com `{`, ou que começa com `{` e não termina com `}`**: texto simples. Um array JSON e uma string JSON entre aspas são texto simples por esta regra.862* **Saída que não começa com `{`, ou que começa com `{` e não termina com `}`**: texto simples. Um array JSON e uma string JSON entre aspas são texto simples por esta regra.

864* **Duas ou mais linhas que cada uma analisa como JSON por conta própria, a primeira começando com `{` e a última terminando com `}`**: texto simples quando nenhuma linha é um objeto de saída JSON que define um campo, e uma falha de análise quando alguma é.863* **Duas ou mais linhas que cada uma analisa como JSON por conta própria, a primeira começando com `{` e a última terminando com `}`**: texto simples quando nenhuma linha é um objeto de saída JSON que define um campo. Quando uma linha é, a saída é uma falha de análise, portanto imprima esse objeto sem mais nada em stdout.

865* **Qualquer outra coisa que começa com `{` e termina com `}` mas não é JSON válido**: uma falha de análise.864* **Qualquer outra coisa que começa com `{` e termina com `}` mas não é JSON válido**: uma falha de análise.

866 865 

867A menos que o hook seja um [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails), uma falha de análise ou um objeto analisado que falha na [validação de esquema](#json-output) é um [erro não-bloqueador](#exit-code-output). O aviso `<hook name> hook error` carrega a mensagem de análise ou validação. Nos eventos que adicionam stdout em texto simples como contexto, Claude Code não adiciona stdout que não conseguiu analisar.866Para a maioria dos eventos, Claude Code escreve stdout no log de debug e não o mostra na transcrição. As exceções são `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`, onde Claude Code adiciona stdout em texto simples como contexto que Claude pode ver e agir. Nesses eventos, Claude Code não adiciona stdout que não conseguiu analisar.

868 867 

869Claude nunca vê stderr de um hook que sai com 0. Para lê-lo você mesmo em eventos como `PreToolUse`, ative [debug logging](#debug-hooks). Para exibir um aviso para Claude de um hook `PostToolUse` ou `PostToolUseFailure`, saia com 2 em vez disso para que [Claude veja o stderr](#exit-code-2-behavior-per-event) mesmo que a ferramenta já tenha executado.868Claude nunca vê stderr de um hook que sai com 0. Para lê-lo você mesmo em eventos como `PreToolUse`, ative [debug logging](#debug-hooks). Para exibir um aviso para Claude de um hook `PostToolUse` ou `PostToolUseFailure`, saia com 2 em vez disso para que [Claude veja o stderr](#exit-code-2-behavior-per-event) mesmo que a ferramenta já tenha executado.

870 869 


907 Outros códigos de saída906 Outros códigos de saída

908</h4>907</h4>

909 908 

910A menos que o hook seja um [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails), um código de saída diferente de 0 ou 2 com texto simples ou nada em stdout é um [erro não-bloqueador](#exit-code-output). Se a ação prosseguir, você vê um aviso `<hook name> hook error` na transcrição com `Failed with non-blocking status code:` e a primeira linha do stderr do seu hook.909Um aviso `<hook name> hook error` com `Failed with non-blocking status code:` significa que o código de saída do seu hook não foi 0 nem 2 e seu stdout era texto simples ou estava vazio. A menos que o hook seja um [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails), isso é um [erro não-bloqueador](#exit-code-output), portanto seu hook não interrompeu a ação. Para capturar o stderr completo do seu hook em vez da primeira linha que o aviso mostra, ative [debug logging](#debug-hooks).

911 910 

912Por exemplo, quando um hook `PreToolUse` em `Bash` imprime `something broke` em stderr e sai com 1, o aviso `PreToolUse:Bash hook error` carrega esta linha:911Por exemplo, quando um hook `PreToolUse` em `Bash` imprime `something broke` em stderr e sai com 1, o aviso `PreToolUse:Bash hook error` carrega esta linha:

913 912 


915Failed with non-blocking status code: something broke914Failed with non-blocking status code: something broke

916```915```

917 916 

918Para capturar o stderr completo em vez de sua primeira linha, ative [debug logging](#debug-hooks).917Se o aviso carregar a mensagem `No such file or directory` do shell, como na linha a seguir, o hook nunca foi executado, por exemplo porque o caminho do script não existe:

919 

920A menos que o hook seja um [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails), um hook que não consegue iniciar também é um erro não-bloqueador. Na forma shell, quando o caminho do script não existe ou não é executável, o shell sai com um código como 127 e o aviso carrega a mensagem do interpretador. Por exemplo, quando o caminho do script não existe, o aviso carrega uma linha como esta:

921 918 

922```text theme={null}919```text theme={null}

923Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory920Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory

924```921```

925 922 

923Se o caminho estiver errado, corrija-o onde o hook está configurado. Na forma shell, quando o caminho do script não existe ou não é executável, o shell sai com um código como 127 e o aviso carrega a mensagem do interpretador. A menos que o hook seja um [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails), um hook que não consegue iniciar também é um erro não-bloqueador.

924 

926Quando você configura um hook de política, observe este aviso em sua primeira execução, porque um caminho digitado incorretamente em `settings.json` significa que o hook nunca executa. Para bloquear a ação quando o hook não consegue iniciar, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails).925Quando você configura um hook de política, observe este aviso em sua primeira execução, porque um caminho digitado incorretamente em `settings.json` significa que o hook nunca executa. Para bloquear a ação quando o hook não consegue iniciar, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

927 926 

928<Warning>927<Warning>


933 Timeouts932 Timeouts

934</h4>933</h4>

935 934 

936Além de um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), Claude Code cancela um hook `command`, `http` ou `mcp_tool` que atinge seu [`timeout`](#common-fields), descartando a saída do hook, portanto na maioria dos eventos um hook expirado não renderiza decisão.935Além de um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), Claude Code cancela um hook `command`, `http` ou `mcp_tool` que atinge seu [`timeout`](#common-fields), descartando a saída do hook, portanto na maioria dos eventos um hook expirado não renderiza decisão. Em [`PreModelSwitch`](#premodelswitch), um hook cancelado em seu timeout bloqueia a mudança de modelo.

937 936 

938Em [`PreModelSwitch`](#premodelswitch), um hook cancelado em seu timeout bloqueia a mudança de modelo. Em `PreToolUse`, as duas famílias de hook diferem:937Em `PreToolUse`, um hook `command`, `http` ou `mcp_tool` expirado não bloqueia a chamada da ferramenta, exceto para hooks [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails). A chamada continua através do [fluxo de permissão](/docs/pt/permissions) normal, portanto não conte com um hook travado para agir como um portão. Para bloquear a chamada quando um hook `command` ou `http` atinge o timeout, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails). Um [hook de callback do Agent SDK](/docs/pt/agent-sdk/hooks) que excede seu timeout [bloqueia a chamada da ferramenta](#pretooluse).

939 

940* Um hook `command`, `http` ou `mcp_tool` expirado não bloqueia a chamada da ferramenta, exceto para hooks [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails). A chamada continua através do [fluxo de permissão](/docs/pt/permissions) normal, portanto não conte com um hook travado para agir como um portão. Para bloquear a chamada quando um hook `command` ou `http` atinge o timeout, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

941* Um hook de callback [Agent SDK](/docs/pt/agent-sdk/hooks) que excede seu timeout [bloqueia a chamada da ferramenta](#pretooluse).

942 938 

943<h4 id="hooks-that-start-a-background-process">939<h4 id="hooks-that-start-a-background-process">

944 Hooks que iniciam um processo em segundo plano940 Hooks que iniciam um processo em segundo plano


1086 Tratamento de resposta HTTP1082 Tratamento de resposta HTTP

1087</h3>1083</h3>

1088 1084 

1089Hooks HTTP usam códigos de status HTTP e corpos de resposta em vez de códigos de saída e stdout. Os resultados abaixo se aplicam à maioria dos eventos; um evento com seu próprio contrato de falha na [tabela por evento](#exit-code-2-behavior-per-event), como `WorktreeCreate`, aplica esse contrato a um hook HTTP falhado também:1085Hooks HTTP usam códigos de status HTTP e corpos de resposta em vez de códigos de saída e stdout. Para bloquear a ação quando a requisição falha ou retorna um status não-2xx, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails). Para bloquear uma chamada de ferramenta ou negar uma permissão, retorne uma resposta 2xx com um corpo JSON contendo os [campos de decisão](#decision-control) apropriados.

1086 

1087Após um [erro não-bloqueador](#exit-code-output), a ação prossegue, a menos que o hook seja um [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails). Exceto em eventos com seu próprio contrato de falha na [tabela por evento](#exit-code-2-behavior-per-event), como `WorktreeCreate`, você obtém estes resultados para cada resposta ou falha:

1090 1088 

1091* **2xx com corpo vazio**: sucesso, equivalente a código de saída 0 sem saída1089* **2xx com corpo vazio**: sucesso, equivalente a código de saída 0 sem saída

1092* **2xx com corpo de objeto JSON**: analisado usando o mesmo esquema [saída JSON](#json-output) que hooks de comando. Um corpo que falha na validação de esquema é um erro não-bloqueador1090* **2xx com corpo de objeto JSON**: analisado usando o mesmo esquema [saída JSON](#json-output) que hooks de comando. Um corpo que falha na validação de esquema é um erro não-bloqueador


1095* **Falha de conexão**: erro não-bloqueador1093* **Falha de conexão**: erro não-bloqueador

1096* **Timeout**: o hook é cancelado, conforme descrito em [Timeouts](#timeouts)1094* **Timeout**: o hook é cancelado, conforme descrito em [Timeouts](#timeouts)

1097 1095 

1098Após um [erro não-bloqueador](#exit-code-output), a ação prossegue, a menos que o hook seja um [cuja falha bloqueia a ação](#block-the-action-when-a-hook-fails). Para bloquear uma chamada de ferramenta ou negar uma permissão, retorne uma resposta 2xx com um corpo JSON contendo os [campos de decisão](#decision-control) apropriados. Para bloquear a ação quando a requisição falha ou retorna um status não-2xx, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

1099 

1100<h3 id="json-output">1096<h3 id="json-output">

1101 Saída JSON1097 Saída JSON

1102</h3>1098</h3>


1319| `compact` | Compactação automática ou manual |1315| `compact` | Compactação automática ou manual |

1320| `fork` | Uma nova sessão bifurcada de uma existente: `--fork-session` com `--resume` ou `--continue`, a cópia em segundo plano do `/fork`, `/branch` ou uma conversa que você [move para o segundo plano](/docs/pt/agent-view#from-inside-a-session) |1316| `fork` | Uma nova sessão bifurcada de uma existente: `--fork-session` com `--resume` ou `--continue`, a cópia em segundo plano do `/fork`, `/branch` ou uma conversa que você [move para o segundo plano](/docs/pt/agent-view#from-inside-a-session) |

1321 1317 

1322Antes da v2.1.214, sessões bifurcadas informavam a origem `"resume"`.

1323 

1324Quando você inicia uma sessão interativa, retoma uma conversa na inicialização com `--continue` ou `--resume`, ou executa `/clear`, os hooks SessionStart são executados em segundo plano. Você pode digitar imediatamente, e uma conversa que você retomou aparece sem esperar pelos hooks. A primeira resposta do Claude ainda espera os hooks terminarem, para que o contexto deles chegue ao Claude.1318Quando você inicia uma sessão interativa, retoma uma conversa na inicialização com `--continue` ou `--resume`, ou executa `/clear`, os hooks SessionStart são executados em segundo plano. Você pode digitar imediatamente, e uma conversa que você retomou aparece sem esperar pelos hooks. A primeira resposta do Claude ainda espera os hooks terminarem, para que o contexto deles chegue ao Claude.

1325 1319 

1326Quando você troca de conversa com `/resume` dentro de uma sessão, a troca espera os hooks terminarem. Se você executar `/clear` ou trocar para outra conversa enquanto hooks em segundo plano ainda estiverem em execução, nada do que eles retornarem se aplica à sessão.1320Quando você troca de conversa com `/resume` dentro de uma sessão, a troca espera os hooks terminarem. Se você executar `/clear` ou trocar para outra conversa enquanto hooks em segundo plano ainda estiverem em execução, nada do que eles retornarem se aplica à sessão.


1583 1577 

1584Exceto por um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), um hook de comando, HTTP ou de ferramenta MCP em `UserPromptSubmit` que atinge seu timeout é cancelado, e sua saída, incluindo qualquer `additionalContext`, é descartada. O prompt ainda chega ao Claude sem esse contexto. Para bloquear o prompt em vez disso, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails) em um hook de comando ou HTTP. A transcrição mostra um aviso nomeando o hook, o timeout que foi atingido e que a saída foi descartada.1578Exceto por um hook de comando que você executa com [`async: true`](#run-hooks-in-the-background), um hook de comando, HTTP ou de ferramenta MCP em `UserPromptSubmit` que atinge seu timeout é cancelado, e sua saída, incluindo qualquer `additionalContext`, é descartada. O prompt ainda chega ao Claude sem esse contexto. Para bloquear o prompt em vez disso, defina [`onFailure: "block"`](#block-the-action-when-a-hook-fails) em um hook de comando ou HTTP. A transcrição mostra um aviso nomeando o hook, o timeout que foi atingido e que a saída foi descartada.

1585 1579 

1586Um [hook de callback do Agent SDK](/docs/pt/agent-sdk/hooks) em `UserPromptSubmit` que atinge seu timeout bloqueia o prompt com uma mensagem nomeando o hook e o timeout, porque um callback ali pode estar atuando como uma barreira de política que não deve falhar de forma permissiva. A sessão continua. Antes da v2.1.208, um timeout de callback nesse evento encerrava o turno com um erro de execução.1580Um [hook de callback do Agent SDK](/docs/pt/agent-sdk/hooks) em `UserPromptSubmit` que atinge seu timeout bloqueia o prompt com uma mensagem indicando o hook e o timeout, porque um callback ali pode estar atuando como um controle de política que não deve falhar de forma permissiva. A sessão continua.

1587 1581 

1588<h4 id="userpromptsubmit-input">1582<h4 id="userpromptsubmit-input">

1589 Entrada do UserPromptSubmit1583 Entrada do UserPromptSubmit


2058 2052 

2059| Campo | Tipo | Exemplo | Descrição |2053| Campo | Tipo | Exemplo | Descrição |

2060| :- | :- | :- | :- |2054| :- | :- | :- | :- |

2061| `status` | string | `"completed"` | `"completed"` para subagentes em primeiro plano, `"async_launched"` para subagentes em segundo plano. Os subagentes são executados em segundo plano por padrão, portanto uma chamada Agent que omite `run_in_background` também produz `"async_launched"` |2055| `status` | string | `"completed"` | `"completed"` para subagentes em primeiro plano, `"async_launched"` para subagentes em segundo plano. Para saber quais subagentes são executados de cada forma, consulte [Executar subagentes em primeiro ou segundo plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) |

2062| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificador da execução do subagente |2056| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificador da execução do subagente |

2063| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Os blocos de texto finais do subagente ou, para um subagente cujo relatório passa pelo `SubagentHandback`, uma nota curta sobre essa entrega no lugar deles |2057| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Os blocos de texto finais do subagente ou, para um subagente cujo relatório passa pelo `SubagentHandback`, uma nota curta sobre essa entrega no lugar deles |

2064| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modelo com o qual o subagente começou, que pode ser diferente do modelo solicitado |2058| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modelo com o qual o subagente começou, que pode ser diferente do modelo solicitado |

2065| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modelos usados em ordem, com repetições consecutivas agrupadas; definido somente quando o modelo foi trocado no meio da execução. Requer o Claude Code v2.1.212 ou posterior |2059| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modelos usados em ordem, com repetições consecutivas agrupadas; definido apenas quando o modelo foi trocado durante a execução |

2066| `totalTokens` | number | `12450` | Contagem de tokens da requisição final de API do subagente: tokens de entrada, de saída e de cache combinados. Não é um total de toda a execução |2060| `totalTokens` | number | `12450` | Contagem de tokens da requisição final de API do subagente: tokens de entrada, de saída e de cache combinados. Não é um total de toda a execução |

2067| `totalDurationMs` | number | `48211` | Duração em tempo real da execução do subagente |2061| `totalDurationMs` | number | `48211` | Duração em tempo real da execução do subagente |

2068| `totalToolUseCount` | number | `7` | Quantidade de chamadas de ferramenta que o subagente fez |2062| `totalToolUseCount` | number | `7` | Quantidade de chamadas de ferramenta que o subagente fez |


2072 2066 

2073Para subagentes em segundo plano, a ferramenta retorna quando a tarefa passa para o segundo plano, portanto `tool_response` não carrega campos de uso: um lançamento em segundo plano retorna imediatamente, e uma tarefa em primeiro plano que o Claude Code move para o segundo plano no meio da execução retorna nessa transição. Ele tem `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` e `resolvedModel`.2067Para subagentes em segundo plano, a ferramenta retorna quando a tarefa passa para o segundo plano, portanto `tool_response` não carrega campos de uso: um lançamento em segundo plano retorna imediatamente, e uma tarefa em primeiro plano que o Claude Code move para o segundo plano no meio da execução retorna nessa transição. Ele tem `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` e `resolvedModel`.

2074 2068 

2075Em uma resposta `completed`, `resolvedModel` indica o modelo com o qual o subagente começou, que pode ser diferente do valor de `model` em `tool_input`, como quando `availableModels` ou outra substituição se aplica. Em uma resposta `async_launched`, `resolvedModel` indica o modelo em uso quando o agente passou para o segundo plano, de modo que uma troca ocorrida antes disso é refletida ali. `modelsUsed` e o comportamento de `resolvedModel` no momento da passagem para o segundo plano requerem o Claude Code v2.1.212 ou posterior.2069Em uma resposta `completed`, `resolvedModel` indica o modelo com o qual o subagente começou, que pode diferir do valor de `model` em `tool_input`, como quando `availableModels` ou outra substituição se aplica. Em uma resposta `async_launched`, `resolvedModel` indica o modelo em uso quando o agente passou para o segundo plano, então uma troca que aconteceu antes da passagem para o segundo plano se reflete ali.

2076 2070 

2077<a id="askuserquestion" />2071<a id="askuserquestion" />

2078 2072 


2120 2114 

2121Quando um hook retorna `"ask"`, o prompt de permissão exibido ao usuário inclui um rótulo que identifica de onde o hook veio: `[settings]` para um hook de qualquer arquivo de configurações ou do frontmatter de um agente, `[plugin:<name>]` para o hook de um plugin, ou `[skill]` para um hook do frontmatter de uma skill. Isso ajuda os usuários a entender qual fonte de configuração está solicitando a confirmação.2115Quando um hook retorna `"ask"`, o prompt de permissão exibido ao usuário inclui um rótulo que identifica de onde o hook veio: `[settings]` para um hook de qualquer arquivo de configurações ou do frontmatter de um agente, `[plugin:<name>]` para o hook de um plugin, ou `[skill]` para um hook do frontmatter de uma skill. Isso ajuda os usuários a entender qual fonte de configuração está solicitando a confirmação.

2122 2116 

2123O `"ask"` de um hook também força um prompt de permissão no [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode): o classificador ainda pode negar a chamada de ferramenta, mas não pode aprová-la silenciosamente. Antes da v2.1.211, o classificador podia aprovar um comando Bash executado fora do [sandbox](/docs/pt/sandboxing) sem mostrar o prompt que o hook solicitou; o classificador ainda aplicava suas próprias regras de segurança a esse comando, e um `"deny"` de hook sempre era respeitado.2117Um `"ask"` de um hook também força um prompt de permissão no [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode): o classificador ainda pode negar a chamada de ferramenta, mas não pode aprová-la silenciosamente.

2124 2118 

2125```json theme={null}2119```json theme={null}

2126{2120{


3696| `source` | string | De onde veio a solicitação: `"command"` para `/model <name>`, a configuração Model em `/config` ou a ativação do modo rápido; `"picker"` para um seletor de modelo; `"sdk"` para uma requisição `set_model`, ou uma alteração de modelo em uma requisição `apply_flag_settings`, de um host do Agent SDK ou do Remote Control |3690| `source` | string | De onde veio a solicitação: `"command"` para `/model <name>`, a configuração Model em `/config` ou a ativação do modo rápido; `"picker"` para um seletor de modelo; `"sdk"` para uma requisição `set_model`, ou uma alteração de modelo em uma requisição `apply_flag_settings`, de um host do Agent SDK ou do Remote Control |

3697| `context_tokens` | number | Tokens que a próxima requisição reenvia como seu prompt: os tokens de entrada, de leitura de cache, de criação de cache e de saída da última resposta na conversa principal, somados. `0` antes da primeira resposta |3691| `context_tokens` | number | Tokens que a próxima requisição reenvia como seu prompt: os tokens de entrada, de leitura de cache, de criação de cache e de saída da última resposta na conversa principal, somados. `0` antes da primeira resposta |

3698| `prompt_cache_warm` | boolean | Se o cache de prompt do modelo atual provavelmente ainda está aquecido, o que significa que a troca o perde |3692| `prompt_cache_warm` | boolean | Se o cache de prompt do modelo atual provavelmente ainda está aquecido, o que significa que a troca o perde |

3699| `cache_ttl` | string | [Tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) que o Claude Code solicita para esta sessão: `"5m"` ou `"1h"` |3693| `cache_ttl` | string | [Tempo de vida do cache de prompt](/docs/pt/prompt-caching#cache-lifetime) da conversa principal no momento desta troca: `"5m"` ou `"1h"` |

3700| `estimated_cache_write_usd` | number | Custo estimado em dólares americanos de gravar `context_tokens` no cache de prompt em `to_model` na taxa de `cache_ttl`, excluindo a próxima resposta. O servidor pode não precisar armazenar em cache novamente todo o contexto, então trate-o como uma estimativa |3694| `estimated_cache_write_usd` | number | Custo estimado em dólares americanos de gravar `context_tokens` no cache de prompt em `to_model` na taxa de `cache_ttl`, excluindo a próxima resposta. O servidor pode não precisar armazenar em cache novamente todo o contexto, então trate-o como uma estimativa |

3701| `pricing` | string | Como o Claude Code precificou `estimated_cache_write_usd`: `"configured"` nas taxas da sua organização quando ela as configurou, `"catalog"` no preço de tabela ou `"default"` quando `to_model` não tem preço conhecido e o Claude Code assumiu uma taxa padrão |3695| `pricing` | string | Como o Claude Code precificou `estimated_cache_write_usd`: `"configured"` nas taxas da sua organização quando ela as configurou, `"catalog"` no preço de tabela ou `"default"` quando `to_model` não tem preço conhecido e o Claude Code assumiu uma taxa padrão |

3702 3696 


3757 3751 

3758Um hook PreModelSwitch que não responde antes do seu timeout bloqueia a troca. O timeout padrão para este evento é de 30 segundos.3752Um hook PreModelSwitch que não responde antes do seu timeout bloqueia a troca. O timeout padrão para este evento é de 30 segundos.

3759 3753 

3760Para saber o que um código de saída diferente de 0 ou 2 faz, consulte [Outros códigos de saída](#other-exit-codes).3754Um código de saída diferente de 0 ou 2 sem saída JSON válida é um [erro não bloqueante](#other-exit-codes), então a troca prossegue, exceto para hooks [cuja falha a bloqueia](#block-the-action-when-a-hook-fails).

3761 3755 

3762<h3 id="postmodelswitch">3756<h3 id="postmodelswitch">

3763 PostModelSwitch3757 PostModelSwitch


4275O que acontece em `ok: false` depende do evento:4269O que acontece em `ok: false` depende do evento:

4276 4270 

4277* `Stop` e `SubagentStop`: a razão é alimentada de volta para Claude como sua próxima instrução e o turno continua, a menos que a resposta também defina `impossible: true`, caso em que Claude Code permite a parada e o turno termina4271* `Stop` e `SubagentStop`: a razão é alimentada de volta para Claude como sua próxima instrução e o turno continua, a menos que a resposta também defina `impossible: true`, caso em que Claude Code permite a parada e o turno termina

4278* `PreToolUse`: a chamada de ferramenta é negada; por padrão o turno termina e a razão de negação aparece no chat como uma linha de aviso. Defina `continueOnBlock: true` para em vez disso retornar a razão para Claude como o erro da ferramenta para que possa se ajustar e continuar, equivalente a um hook de comando com `permissionDecision: "deny"`. Antes da v2.1.210, a razão de negação era retornada para Claude como o erro da ferramenta e o turno continuava4272* `PreToolUse`: a chamada de ferramenta é negada; por padrão o turno termina e a razão de negação aparece no chat como uma linha de aviso. Defina `continueOnBlock: true` para em vez disso retornar a razão para Claude como o erro da ferramenta para que possa se ajustar e continuar, equivalente a um hook de comando com `permissionDecision: "deny"`

4279* `PostToolUse`: por padrão o turno termina e a razão aparece no chat como uma linha de aviso. Defina `continueOnBlock: true` para alimentar a razão de volta para Claude e continuar o turno em vez disso4273* `PostToolUse`: por padrão o turno termina e a razão aparece no chat como uma linha de aviso. Defina `continueOnBlock: true` para alimentar a razão de volta para Claude e continuar o turno em vez disso

4280* `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: o turno termina e a razão aparece como uma linha de aviso. Esses eventos terminam o turno em `decision: "block"` independentemente de `continue`4274* `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: o turno termina e a razão aparece como uma linha de aviso. Esses eventos terminam o turno em `decision: "block"` independentemente de `continue`

4281* `PostToolUseFailure` e `TaskCreated`: a razão é retornada para Claude como um erro de ferramenta e o turno continua, independentemente de `continueOnBlock`4275* `PostToolUseFailure` e `TaskCreated`: a razão é retornada para Claude como um erro de ferramenta e o turno continua, independentemente de `continueOnBlock`

hooks-guide.md +19 −24

Details

497 Como hooks funcionam497 Como hooks funcionam

498</h2>498</h2>

499 499 

500Claude Code dispara eventos de hook em pontos específicos do seu ciclo de vida. Quando um evento dispara, Claude Code executa todos os hooks correspondentes em paralelo; consulte [Campos do manipulador de hook](/docs/pt/hooks#hook-handler-fields) para saber como manipuladores duplicados são tratados. A tabela abaixo mostra cada evento e quando dispara:500Claude Code dispara eventos de hook em pontos específicos do seu ciclo de vida. Quando um evento dispara, Claude Code executa os hooks correspondentes em paralelo; consulte [Campos do manipulador de hook](/docs/pt/hooks#hook-handler-fields) para saber como manipuladores duplicados são tratados. A tabela abaixo mostra cada evento e quando dispara:

501 501 

502| Evento | Quando dispara |502| Evento | Quando dispara |

503| :- | :- |503| :- | :- |


627exit 0 # exit 0 = nenhuma decisão; o fluxo de permissão normal se aplica627exit 0 # exit 0 = nenhuma decisão; o fluxo de permissão normal se aplica

628```628```

629 629 

630O código de saída determina o que acontece a seguir:630Com um código de saída diferente de 0 e 2 e sem saída JSON válida, a ação prossegue na maioria dos eventos, a menos que o hook seja um [cuja falha bloqueia a ação](/docs/pt/hooks#block-the-action-when-a-hook-fails). Um hook com `onFailure` definido como `"block"` é um exemplo. Saia com 0 para não relatar nenhuma objeção, ou saia com 2 para bloquear a ação:

631 631 

632* **Exit 0**: seu hook não relata objeção através de seu código de saída.632* **Exit 0**: se você sair com 0 de um hook `PreToolUse`, a chamada de ferramenta ainda passa pelo [fluxo de permissão](/docs/pt/permissions) normal, porque exit 0 não a aprova. Para hooks `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`, Claude Code adiciona stdout que [trata como texto simples](/docs/pt/hooks#exit-code-0) ao contexto do Claude.

633 * Para um hook `PreToolUse` isto não aprova a chamada de ferramenta: o [fluxo de permissão](/docs/pt/permissions) normal ainda se aplica.633* **Exit 2**: escreva um motivo para stderr. Dependendo do evento, Claude o recebe como feedback para que possa se ajustar, o usuário o vê, ou nenhuma mensagem aparece, como com `ConfigChange` e `Elicitation`. Alguns eventos não podem ser bloqueados: para `SessionStart` e outros, exit 2 mostra stderr ao usuário e a execução continua. Consulte [comportamento do código de saída 2 por evento](/docs/pt/hooks#exit-code-2-behavior-per-event) para a lista completa.

634 * Para hooks `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` e `PostModelSwitch`, Claude Code adiciona stdout que [trata como texto simples](/docs/pt/hooks#exit-code-0) ao contexto do Claude.634* **Qualquer outro código de saída**: para as exceções por evento, como `WorktreeCreate` falhando em qualquer saída diferente de zero, consulte [Saída do código de saída](/docs/pt/hooks#exit-code-output). Em outros eventos, a menos que o hook seja um cuja falha bloqueia a ação, encontre seu caso pelo que seu hook imprimiu em stdout:

635* **Exit 2**: Claude Code bloqueia a ação. Escreva um motivo para stderr. Onde ele vai depende do evento: alguns eventos o alimentam ao Claude como feedback para que possa se ajustar, outros o mostram ao usuário, e alguns, como `ConfigChange` e `Elicitation`, não exibem nenhuma mensagem. Alguns eventos não podem ser bloqueados: para `SessionStart` e outros, exit 2 mostra stderr ao usuário e a execução continua. Consulte [comportamento do código de saída 2 por evento](/docs/pt/hooks#exit-code-2-behavior-per-event) para a lista completa.635 * Um objeto analisado que passa na validação de esquema: Claude Code ignora o código de saída, apenas o JSON decide o resultado, e o hook não é relatado como um erro.

636* **Qualquer outro código de saída**: para a maioria dos eventos, a ação prossegue como um [erro não bloqueador](/docs/pt/hooks#exit-code-output), a menos que o hook seja um [cuja falha bloqueia a ação](/docs/pt/hooks#block-the-action-when-a-hook-fails) ou que sua saída JSON passe na validação:636 * Um objeto analisado que falha na validação de esquema, ou stdout que Claude Code [tenta analisar como JSON](/docs/pt/hooks#exit-code-0) mas que não é JSON válido: a ação prossegue como um erro não bloqueador. Verifique o aviso `<hook name> hook error` para a mensagem de validação ou análise.

637 * Um objeto analisado que passa na validação de esquema: Claude Code ignora o código de saída, apenas o JSON decide o resultado, e o hook não é relatado como um erro. As exceções por evento, como `WorktreeCreate` falhando em qualquer saída diferente de zero, estão listadas na seção [Saída do código de saída](/docs/pt/hooks#exit-code-output) da referência.

638 * Um objeto analisado que falha na validação de esquema, ou stdout que Claude Code [tenta analisar como JSON](/docs/pt/hooks#exit-code-0) mas que não é JSON válido: um erro não bloqueador; o aviso carrega a mensagem de validação ou análise.

639 * Stdout que Claude Code [trata como texto simples](/docs/pt/hooks#exit-code-0), ou stdout vazio: a ação prossegue como um erro não bloqueador. A transcrição mostra um aviso `<hook name> hook error`, depois a primeira linha de stderr prefixada com `Failed with non-blocking status code:`. Para capturar o stderr completo, ative [debug logging](/docs/pt/hooks#debug-hooks) com `claude --debug` ou executando `/debug` no meio da sessão.637 * Stdout que Claude Code [trata como texto simples](/docs/pt/hooks#exit-code-0), ou stdout vazio: a ação prossegue como um erro não bloqueador. A transcrição mostra um aviso `<hook name> hook error`, depois a primeira linha de stderr prefixada com `Failed with non-blocking status code:`. Para capturar o stderr completo, ative [debug logging](/docs/pt/hooks#debug-hooks) com `claude --debug` ou executando `/debug` no meio da sessão.

640 638 

641<h4 id="structured-json-output">639<h4 id="structured-json-output">


662 660 

663Com `"deny"`, Claude Code cancela a chamada de ferramenta e alimenta `permissionDecisionReason` de volta ao Claude.661Com `"deny"`, Claude Code cancela a chamada de ferramenta e alimenta `permissionDecisionReason` de volta ao Claude.

664 662 

665Em `PreToolUse`, Claude Code trata cada valor `permissionDecision` da seguinte forma:663Em `PreToolUse`, você também pode retornar `"ask"` para mostrar ao usuário o prompt de permissão normal, ou `"allow"` para pular o prompt de permissão interativo. Com `"allow"`, regras de negação e pedido, incluindo listas de negação gerenciadas por empresa, ainda se aplicam, assim como prompts para:

666 664 

667* `"allow"`: pular o prompt de permissão interativo. Regras de negação e pedido, incluindo listas de negação gerenciadas por empresa, ainda se aplicam, assim como prompts para:665* Leituras de [caminhos de rede](/docs/pt/permissions#network-paths)

668 666* Ferramentas MCP marcadas [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool)

669 * Leituras de [caminhos de rede](/docs/pt/permissions#network-paths)667* Ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools) em sessões onde essa configuração chega ao Claude Code

670 * Ferramentas MCP marcadas [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool)

671 * Ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools) em sessões onde essa configuração chega ao Claude Code

672 668 

673 Para o que `"allow"` faz no modo de planejamento, consulte [Aprovações de hook no modo de planejamento](/docs/pt/permissions#hook-approvals-in-plan-mode).669 Para o que `"allow"` faz no modo de planejamento, consulte [Aprovações de hook no modo de planejamento](/docs/pt/permissions#hook-approvals-in-plan-mode).

674* `"deny"`: cancelar a chamada de ferramenta e enviar o motivo ao Claude

675* `"ask"`: mostrar o prompt de permissão ao usuário normalmente

676 670 

677Um quarto valor, `"defer"`, está disponível em [modo não-interativo](/docs/pt/headless) com a flag `-p`. Ele sai do processo com a chamada de ferramenta preservada para que um wrapper do Agent SDK possa coletar entrada e retomar. Consulte [Adiar uma chamada de ferramenta para depois](/docs/pt/hooks#defer-a-tool-call-for-later) na referência.671Um quarto valor, `"defer"`, está disponível em [modo não-interativo](/docs/pt/headless) com a flag `-p`. Ele sai do processo com a chamada de ferramenta preservada para que um wrapper do Agent SDK possa coletar entrada e retomar. Consulte [Adiar uma chamada de ferramenta para depois](/docs/pt/hooks#defer-a-tool-call-for-later) na referência.

678 672 


893* `"ok": true`: a ação prossegue887* `"ok": true`: a ação prossegue

894* `"ok": false`: o que acontece depende do evento:888* `"ok": false`: o que acontece depende do evento:

895 * `Stop` e `SubagentStop`: o `reason` é alimentado de volta ao Claude para que ele continue trabalhando, a menos que a resposta também defina `"impossible": true` para marcar a condição como uma que nunca pode ser satisfeita, caso em que Claude Code permite a parada e o turno termina889 * `Stop` e `SubagentStop`: o `reason` é alimentado de volta ao Claude para que ele continue trabalhando, a menos que a resposta também defina `"impossible": true` para marcar a condição como uma que nunca pode ser satisfeita, caso em que Claude Code permite a parada e o turno termina

896 * `PreToolUse`: a chamada de ferramenta é negada; por padrão o turno termina e o `reason` de negação aparece no chat como uma linha de aviso. Defina `continueOnBlock: true` no hook para retornar o `reason` ao Claude como o erro da ferramenta, para que ele possa se ajustar e continuar. Antes da v2.1.210, o `reason` de negação era retornado ao Claude como o erro da ferramenta e o turno continuava890 * `PreToolUse`: a chamada de ferramenta é negada; por padrão o turno termina e o `reason` de negação aparece no chat como uma linha de aviso. Defina `continueOnBlock: true` no hook para, em vez disso, retornar o `reason` ao Claude como o erro da ferramenta, para que ele possa se ajustar e continuar

897 * `PostToolUse`: por padrão o turno termina e o `reason` aparece no chat como uma linha de aviso. Defina `continueOnBlock: true` para alimentar o `reason` de volta ao Claude e continuar o turno em vez disso891 * `PostToolUse`: por padrão o turno termina e o `reason` aparece no chat como uma linha de aviso. Defina `continueOnBlock: true` para alimentar o `reason` de volta ao Claude e continuar o turno em vez disso

898 * `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: o turno termina e o `reason` aparece no chat como uma linha de aviso892 * `PostToolBatch`, `UserPromptSubmit` e `UserPromptExpansion`: o turno termina e o `reason` aparece no chat como uma linha de aviso

899 893 


1019 Hooks e modos de permissão1013 Hooks e modos de permissão

1020</h3>1014</h3>

1021 1015 

1022Hooks `PreToolUse` disparam antes de qualquer verificação de modo de permissão, em cada [modo de permissão](/docs/pt/permission-modes), incluindo `dontAsk`. Um hook que retorna `permissionDecision: "deny"` bloqueia a ferramenta mesmo em modo `bypassPermissions` ou com `--dangerously-skip-permissions`. Isto permite que você aplique política que usuários não podem contornar mudando seu modo de permissão.1016Com um hook em um arquivo de configuração ou no `hooks/hooks.json` de um plugin, você não pode afrouxar restrições além do que as regras de permissão permitem, e um `"deny"` de um hook prevalece em todo modo de permissão:

1023 

1024O inverso não é verdadeiro: hooks em arquivos de configuração e no `hooks/hooks.json` de um plugin podem apertar restrições mas não afrouxá-las além do que regras de permissão permitem. Um hook retornando `"allow"` não contorna regras de negação de configurações, e não pode suprimir o prompt para:

1025 1017 

1026* Leituras de [caminhos de rede](/docs/pt/permissions#network-paths)1018* **O que ainda prevalece sobre `"allow"`**: um hook retornando `"allow"` não contorna regras de negação de configurações, e não pode suprimir o prompt para:

1027* Ferramentas MCP marcadas [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool)1019 * Leituras de [caminhos de rede](/docs/pt/permissions#network-paths)

1028* Ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools) em sessões onde essa configuração chega ao Claude Code1020 * Ferramentas MCP marcadas [`requiresUserInteraction`](/docs/pt/mcp#require-approval-for-a-specific-tool)

1021 * Ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools) em sessões onde essa configuração chega ao Claude Code

1029 1022 

1030Em [modo de planejamento](/docs/pt/permissions#hook-approvals-in-plan-mode), se seu hook `PreToolUse` retornar `"allow"` para uma edição de arquivo, você recebe o mesmo prompt, bloqueio ou aprovação que a edição receberia sem nenhum hook. Para remover este limite nas aprovações de hooks, [aprove o plano](/docs/pt/permission-modes#review-and-approve-a-plan) ou mude para outro modo de permissão.1023Em [modo de planejamento](/docs/pt/permissions#hook-approvals-in-plan-mode), se seu hook `PreToolUse` retornar `"allow"` para uma edição de arquivo, você recebe o mesmo prompt, bloqueio ou aprovação que a edição receberia sem nenhum hook. Para remover este limite nas aprovações de hooks, [aprove o plano](/docs/pt/permission-modes#review-and-approve-a-plan) ou mude para outro modo de permissão.

1031 1024 

1025* **`"deny"` em todo modo de permissão**: um hook que retorna `permissionDecision: "deny"` bloqueia a ferramenta mesmo em modo `bypassPermissions` ou com `--dangerously-skip-permissions`. Hooks `PreToolUse` disparam antes de qualquer verificação de modo de permissão, em cada [modo de permissão](/docs/pt/permission-modes), incluindo `dontAsk`. Isto permite que você aplique política que usuários não podem contornar mudando seu modo de permissão.

1026 

1032Um [mod](/docs/pt/plugins/mods/overview) que você instala e que trata `tool.check` pode aprovar uma chamada que seu hook `PreToolUse` bloqueou, a menos que o hook esteja em configurações gerenciadas. Em modo de planejamento, o mod pode aprovar tal chamada quando ela é somente leitura, mas não uma edição de arquivo ou outra chamada que não seja somente leitura. [Estender permissões com hooks](/docs/pt/permissions#extend-permissions-with-hooks) lista quais regras prevalecem sobre um mod.1027Um [mod](/docs/pt/plugins/mods/overview) que você instala e que trata `tool.check` pode aprovar uma chamada que seu hook `PreToolUse` bloqueou, a menos que o hook esteja em configurações gerenciadas. Em modo de planejamento, o mod pode aprovar tal chamada quando ela é somente leitura, mas não uma edição de arquivo ou outra chamada que não seja somente leitura. [Estender permissões com hooks](/docs/pt/permissions#extend-permissions-with-hooks) lista quais regras prevalecem sobre um mod.

1033 1028 

1034<h3 id="hook-not-firing">1029<h3 id="hook-not-firing">

Details

183 Remapear sequências de teclas no modo INSERT183 Remapear sequências de teclas no modo INSERT

184</h3>184</h3>

185 185 

186A configuração [`vimInsertModeRemaps`](/docs/pt/settings-reference#viminsertmoderemaps) mapeia uma sequência de dois caracteres no modo INSERT para Escape, então um mapeamento como `jj` o retorna ao modo NORMAL. Requer Claude Code v2.1.208 ou posterior.186A configuração [`vimInsertModeRemaps`](/docs/pt/settings-reference#viminsertmoderemaps) mapeia uma sequência de duas teclas no modo INSERT para Escape, então um mapeamento como `jj` o retorna ao modo NORMAL.

187 187 

188O exemplo `~/.claude/settings.json` a seguir ativa o modo vim e mapeia `jj` para Escape:188O exemplo `~/.claude/settings.json` a seguir ativa o modo vim e mapeia `jj` para Escape:

189 189 


248| `cc` | Mudar linha |248| `cc` | Mudar linha |

249| `C` | Mudar até o fim da linha |249| `C` | Mudar até o fim da linha |

250| `cw`/`ce`/`cb` | Mudar palavra/até o fim/para trás |250| `cw`/`ce`/`cb` | Mudar palavra/até o fim/para trás |

251| `s` | Substituir caractere: deletar o caractere sob o cursor e entrar no modo INSERT. Requer Claude Code v2.1.211 ou posterior |251| `s` | Substituir caractere: deletar o caractere sob o cursor e entrar no modo INSERT |

252| `S` | Substituir linha: limpar a linha e entrar no modo INSERT. Requer Claude Code v2.1.211 ou posterior |252| `S` | Substituir linha: limpar a linha e entrar no modo INSERT |

253| `yy`/`Y` | Yankar (copiar) linha |253| `yy`/`Y` | Yankar (copiar) linha |

254| `yw`/`ye`/`yb` | Yankar palavra/até o fim/para trás |254| `yw`/`ye`/`yb` | Yankar palavra/até o fim/para trás |

255| `p` | Colar após o cursor |255| `p` | Colar após o cursor |


471* Após a primeira volta de uma conversa, em algumas sessões471* Após a primeira volta de uma conversa, em algumas sessões

472* A resposta anterior terminou em um erro472* A resposta anterior terminou em um erro

473* Enquanto você está no Plan Mode473* Enquanto você está no Plan Mode

474* Sua conta está próxima ou no limite de uso. Para manter as sugestões ativadas até atingir o limite, defina [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/pt/env-vars) como `true`. Antes da v2.1.238, Claude Code as pulava perto do limite mesmo com a variável definida como `true`474* Sua conta está próxima ou no limite de uso. Para que essa omissão não se aplique até você atingir o limite, defina [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/pt/env-vars) como `true`. Antes da v2.1.238, Claude Code pulava sugestões perto do limite mesmo com a variável definida como `true`

475* Em uma [equipe de agentes](/docs/pt/agent-teams), nas sessões de colegas de equipe por padrão. A sessão do líder mostra sugestões475* Em uma [equipe de agentes](/docs/pt/agent-teams), nas sessões de colegas de equipe por padrão. A sessão do líder mostra sugestões

476 476 

477O aviso `Showing fewer prompt suggestions · use one to bring them back` significa que Claude Code está mostrando sugestões com menos frequência porque você deixou muitas seguidas sem usar. Para voltar à frequência habitual, use uma sugestão ou defina [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/pt/env-vars) como `true`.477O aviso `Showing fewer prompt suggestions · use one to bring them back` significa que Claude Code está mostrando sugestões com menos frequência porque você deixou muitas seguidas sem usar. Para voltar à frequência habitual, use uma sugestão ou defina [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/pt/env-vars) como `true`.


759 759 

760Suas cinco perguntas laterais anteriores mais recentes aparecem como uma lista esmaecida acima da resposta atual, com uma contagem de qualquer uma mais antiga. Elas ficam fora do histórico de conversa.760Suas cinco perguntas laterais anteriores mais recentes aparecem como uma lista esmaecida acima da resposta atual, com uma contagem de qualquer uma mais antiga. Elas ficam fora do histórico de conversa.

761 761 

762Para retornar à sobreposição após dispensá-la, execute `/btw` sem uma pergunta. A sobreposição reabre em sua troca mais recente. Antes da v2.1.212, `/btw` sem uma pergunta imprimia uma mensagem de uso em vez disso.762Para retornar à sobreposição após dispensá-la, execute `/btw` sem uma pergunta. A sobreposição reabre em sua troca mais recente.

763 763 

764Assim que a resposta aparecer, a sobreposição aceita essas teclas.764Assim que a resposta aparecer, a sobreposição aceita essas teclas.

765 765 

keybindings.md +3 −4

Details

462| `abovePrompt:highlightNext` | Down | Destacar a próxima opção em um seletor focado |462| `abovePrompt:highlightNext` | Down | Destacar a próxima opção em um seletor focado |

463| `abovePrompt:highlightPrevious` | Up | Destacar a opção anterior em um seletor focado |463| `abovePrompt:highlightPrevious` | Up | Destacar a opção anterior em um seletor focado |

464 464 

465Dois contextos vinculam mais teclas a essas ações por padrão:465No [contexto `AbovePrompt`](#contexts), Right e Left também executam `abovePrompt:next` e `abovePrompt:previous` por padrão, e Space também executa `abovePrompt:press`.

466 

467* **`AbovePrompt`**: Right e Left também executam `abovePrompt:next` e `abovePrompt:previous`, e Space também executa `abovePrompt:press`

468* **`AbovePromptInput`**: Down e Up também executam `abovePrompt:next` e `abovePrompt:previous`

469 466 

470O contexto `AbovePrompt` também vincula Up, Down, PageUp, PageDown, Home e End às [ações de rolagem de painel](#pane-actions) de `pane:scrollUp` a `pane:bottom`, portanto, para alterar uma dessas teclas para a faixa, vincule a ação de rolagem em um bloco `AbovePrompt`.467O contexto `AbovePrompt` também vincula Up, Down, PageUp, PageDown, Home e End às [ações de rolagem de painel](#pane-actions) de `pane:scrollUp` a `pane:bottom`, portanto, para alterar uma dessas teclas para a faixa, vincule a ação de rolagem em um bloco `AbovePrompt`.

471 468 


769* No modo NORMAL do vim, `?` mostra o menu de ajuda (comportamento vim)766* No modo NORMAL do vim, `?` mostra o menu de ajuda (comportamento vim)

770* No modo NORMAL do vim, `/` abre a busca de histórico, o mesmo que Ctrl+R no modo padrão767* No modo NORMAL do vim, `/` abre a busca de histórico, o mesmo que Ctrl+R no modo padrão

771 768 

769Na linha `Other` de uma pergunta feita por Claude, Escape não cancela a pergunta imediatamente no modo vim. Exceto no [modo de leitor de tela](/docs/pt/accessibility), a linha começa no modo INSERT cada vez que você a foca. Quando você pressiona Escape na linha `Other`, a linha muda para o modo NORMAL ou descarta um comando vim digitado pela metade, e a pergunta permanece aberta. Pressione Escape novamente no modo NORMAL para cancelar a pergunta.

770 

772<h2 id="validation">771<h2 id="validation">

773 Validação772 Validação

774</h2>773</h2>

mcp.md +5 −5

Details

324* Para um servidor no [escopo](#mcp-installation-scopes) local, de projeto, ou de usuário ou em configuração MCP gerenciada, a origem mostra o host como escrito nessa configuração, portanto uma referência `${VAR}` no host não é expandida na mensagem.324* Para um servidor no [escopo](#mcp-installation-scopes) local, de projeto, ou de usuário ou em configuração MCP gerenciada, a origem mostra o host como escrito nessa configuração, portanto uma referência `${VAR}` no host não é expandida na mensagem.

325* Para uma falha sem status ou código de erro, Claude Code mostra o texto de erro sem a origem.325* Para uma falha sem status ou código de erro, Claude Code mostra o texto de erro sem a origem.

326 326 

327Um servidor remoto cuja configuração tem uma `url` vazia mostra como `not configured` em `/mcp`, em `claude mcp list`, e no [gerenciador `/plugin`](/docs/pt/plugins/install), e Claude Code não tenta se conectar a ele. Um plugin pode incluir uma entrada de espaço reservado como esta para um conector que você configura depois, portanto Claude Code não a relata como um erro ou um problema de configuração. A visualização de detalhe do servidor em `/mcp` lê `No URL configured for this server`; defina a `url` da entrada para conectá-lo. Antes da v2.1.208, Claude Code relatava uma `url` vazia como um problema de configuração com um prompt para reconectar.327Um servidor remoto cuja configuração tem uma `url` vazia mostra como `not configured` em `/mcp`, em `claude mcp list`, e no [gerenciador `/plugin`](/docs/pt/plugins/install), e Claude Code não tenta se conectar a ele. Um plugin pode incluir uma entrada de espaço reservado como esta para um conector que você configura depois, portanto Claude Code não a relata como um erro ou um problema de configuração. A visualização de detalhe do servidor em `/mcp` lê `No URL configured for this server`; defina a `url` da entrada para conectá-lo.

328 328 

329<h4 id="configuration-warnings">329<h4 id="configuration-warnings">

330 Avisos de configuração330 Avisos de configuração


403* **Em uma sessão interativa no terminal**, Claude Code busca a lista atualizada desse servidor, portanto você não precisa reconectá-lo.403* **Em uma sessão interativa no terminal**, Claude Code busca a lista atualizada desse servidor, portanto você não precisa reconectá-lo.

404* **No [modo não interativo](/docs/pt/headless) com a flag `-p` e no [Agent SDK](/docs/pt/agent-sdk/overview)**, Claude Code atualiza apenas a lista de ferramentas nessas notificações.404* **No [modo não interativo](/docs/pt/headless) com a flag `-p` e no [Agent SDK](/docs/pt/agent-sdk/overview)**, Claude Code atualiza apenas a lista de ferramentas nessas notificações.

405 405 

406Se uma solicitação de atualização falhar, Claude Code mantém as ferramentas, prompts e recursos descobertos anteriormente do servidor até que uma atualização posterior tenha sucesso. Antes da v2.1.214, um erro transitório durante a atualização substituía as ferramentas, prompts e recursos do servidor por uma lista vazia.406Se uma solicitação de atualização falhar, Claude Code mantém as ferramentas, prompts e recursos descobertos anteriormente do servidor até que uma atualização posterior tenha sucesso.

407 407 

408<h4 id="notification-streams-on-the-v2-runtime">408<h4 id="notification-streams-on-the-v2-runtime">

409 Streams de notificação no tempo de execução v2409 Streams de notificação no tempo de execução v2


502 Execução automática em segundo plano de chamadas de ferramenta longas502 Execução automática em segundo plano de chamadas de ferramenta longas

503</h3>503</h3>

504 504 

505Uma chamada de ferramenta MCP na conversa principal que ainda está em execução após dois minutos se move para uma tarefa em segundo plano em vez de bloquear a sessão. Claude recebe o ID da tarefa imediatamente e continua trabalhando, e o resultado chega como uma notificação de tarefa quando a chamada se resolve. O backgrounding automático requer Claude Code v2.1.212 ou posterior.505Uma chamada de ferramenta MCP na conversa principal que ainda está em execução após dois minutos se move para uma tarefa em segundo plano em vez de bloquear a sessão. Claude recebe o ID da tarefa imediatamente e continua trabalhando, e o resultado chega como uma notificação de tarefa quando a chamada se resolve.

506 506 

507A tarefa aparece em [`/tasks`](/docs/pt/commands#all-commands), onde você também pode pará-la, e não sobrevive ao sair da sessão. A entrada da tarefa mostra o progresso mais recente que o servidor relatou. Se você parar a tarefa, Claude Code cancela a chamada e informa a Claude que nenhum resultado virá. Parar não garante que o servidor pare: ele pode já ter feito parte do trabalho, ou ainda pode concluí-lo.507A tarefa aparece em [`/tasks`](/docs/pt/commands#all-commands), onde você também pode pará-la, e não sobrevive ao sair da sessão. A entrada da tarefa mostra o progresso mais recente que o servidor relatou. Se você parar a tarefa, Claude Code cancela a chamada e informa a Claude que nenhum resultado virá. Parar não garante que o servidor pare: ele pode já ter feito parte do trabalho, ou ainda pode concluí-lo.

508 508 


1301 Como os conectores chegam ao Claude Code1301 Como os conectores chegam ao Claude Code

1302</h3>1302</h3>

1303 1303 

1304Quais configurações governam um conector claude.ai depende de onde sua sessão é executada, porque apenas algumas sessões buscam conectores do claude.ai. Cada linha abaixo nomeia como os conectores chegam em um tipo de sessão e o que os controla lá. As [sessões WSL](/docs/pt/desktop-wsl#what-works-in-a-wsl-session) do aplicativo desktop não têm uma linha porque os conectores ainda não estão disponíveis nelas.1304Quais configurações governam um conector claude.ai depende de onde sua sessão é executada, porque apenas algumas sessões buscam conectores do claude.ai por conta própria. Cada linha abaixo nomeia como os conectores chegam em um tipo de sessão e o que os controla lá. As sessões WSL do aplicativo desktop não têm uma linha porque os conectores [ainda estão sendo liberados para elas](/docs/pt/desktop-wsl#check-for-the-terminal-and-connectors).

1305 1305 

1306| Onde a sessão é executada | Como os conectores chegam | O que os governa |1306| Onde a sessão é executada | Como os conectores chegam | O que os governa |

1307| :- | :- | :- |1307| :- | :- | :- |


1531 1531 

1532Algumas superfícies, como [Remote Control](/docs/pt/remote-control) e aplicações construídas no [Agent SDK](/docs/pt/agent-sdk/overview), normalmente permitem que você aprove chamadas de ferramenta com um toque. Para uma ferramenta marcada com essa anotação, Claude Code retém a ação de um toque e mostra o prompt de permissão completo da ferramenta, então a aprovação ainda vem de uma pessoa respondendo ao prompt em vez de um toque.1532Algumas superfícies, como [Remote Control](/docs/pt/remote-control) e aplicações construídas no [Agent SDK](/docs/pt/agent-sdk/overview), normalmente permitem que você aprove chamadas de ferramenta com um toque. Para uma ferramenta marcada com essa anotação, Claude Code retém a ação de um toque e mostra o prompt de permissão completo da ferramenta, então a aprovação ainda vem de uma pessoa respondendo ao prompt em vez de um toque.

1533 1533 

1534Claude Code retém a aprovação de um toque da mesma forma para qualquer solicitação de permissão que apenas o diálogo do terminal possa renderizar completamente, como uma que carrega um aviso de segurança ou uma opção de sempre permitir que a superfície remota não possa mostrar. Você responde essa solicitação no diálogo do terminal em vez de Remote Control. Requer Claude Code v2.1.214 ou posterior.1534Claude Code retém a aprovação de um toque da mesma forma para qualquer solicitação de permissão que apenas o diálogo do terminal possa renderizar completamente, como uma que carrega um aviso de segurança ou uma opção de sempre permitir que a superfície remota não possa mostrar. Você responde essa solicitação no diálogo do terminal em vez de pelo Remote Control.

1535 1535 

1536<h2 id="respond-to-mcp-elicitation-requests">1536<h2 id="respond-to-mcp-elicitation-requests">

1537 Responder a solicitações de elicitação MCP1537 Responder a solicitações de elicitação MCP

memory.md +2 −2

Details

521* Regras do Copilot em `.github/copilot-instructions.md`521* Regras do Copilot em `.github/copilot-instructions.md`

522* Com `CLAUDE_CODE_NEW_INIT=1` definido: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` ou `.windsurfrules`, e `.clinerules`522* Com `CLAUDE_CODE_NEW_INIT=1` definido: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` ou `.windsurfrules`, e `.clinerules`

523 523 

524Você também pode executar [`/import`](/docs/pt/commands) para trazer a configuração de um agente de codificação suportado para Claude Code, que anexa uma cópia única de arquivos de instruções como `AGENTS.md` ao `CLAUDE.md` correspondente e carrega servidores MCP, comandos, subagentes e skills. Requer Claude Code v2.1.213 ou posterior.524Você também pode executar [`/import`](/docs/pt/commands) para trazer a configuração de um agente de codificação suportado para Claude Code, que anexa uma cópia única de arquivos de instruções como `AGENTS.md` ao `CLAUDE.md` correspondente e carrega servidores MCP, comandos, subagentes e skills.

525 525 

526<h2 id="auto-memory">526<h2 id="auto-memory">

527 Memória automática527 Memória automática


615 615 

616Claude lê e escreve arquivos de memória durante sua sessão. Quando você vê mensagens como "Saved 2 memories" ou "Recalled 2 memories" na interface do Claude Code, Claude está ativamente atualizando ou lendo de `~/.claude/projects/<project>/memory/`.616Claude lê e escreve arquivos de memória durante sua sessão. Quando você vê mensagens como "Saved 2 memories" ou "Recalled 2 memories" na interface do Claude Code, Claude está ativamente atualizando ou lendo de `~/.claude/projects/<project>/memory/`.

617 617 

618Quando Claude escreve um arquivo de memória que começa com frontmatter YAML, Claude Code registra o tempo de escrita em um campo `modified` do frontmatter como um timestamp ISO 8601. O timestamp mostra como o fato é atual, tanto para você quanto para Claude quando o lê de volta. Qualquer arquivo que tenha frontmatter obtém o campo na próxima vez que Claude o escreve, incluindo arquivos criados em versões anteriores; Claude Code nunca adiciona frontmatter a um arquivo que não tenha nenhum. O campo `modified` requer Claude Code v2.1.214 ou posterior.618Quando Claude escreve um arquivo de memória que começa com frontmatter YAML, Claude Code registra o tempo de escrita em um campo `modified` do frontmatter como um timestamp ISO 8601. O timestamp mostra como o fato é atual, tanto para você quanto para Claude quando o lê de volta.

619 619 

620<h3 id="audit-and-edit-your-memory">620<h3 id="audit-and-edit-your-memory">

621 Audite e edite sua memória621 Audite e edite sua memória

model-config.md +2 −1

Details

274* **Substituição de skill ou comando**: Claude Code ignora a substituição, incluindo um alias de família bloqueado, e o skill ou comando é executado no modelo de sessão. Um skill ou comando que [é executado em um subagente](/docs/pt/skills#run-skills-in-a-subagent) segue o comportamento do subagente acima274* **Substituição de skill ou comando**: Claude Code ignora a substituição, incluindo um alias de família bloqueado, e o skill ou comando é executado no modelo de sessão. Um skill ou comando que [é executado em um subagente](/docs/pt/skills#run-skills-in-a-subagent) segue o comportamento do subagente acima

275* **Configuração `advisorModel`**: o advisor é desabilitado para a sessão275* **Configuração `advisorModel`**: o advisor é desabilitado para a sessão

276* **Flag `--advisor`**: Claude Code sai com um erro na inicialização. Em uma [sessão de fundo](/docs/pt/agent-view), inicia a sessão sem o advisor em vez de sair276* **Flag `--advisor`**: Claude Code sai com um erro na inicialização. Em uma [sessão de fundo](/docs/pt/agent-view), inicia a sessão sem o advisor em vez de sair

277* **`CLAUDE_CODE_AUTO_MODE_MODEL`**: Claude Code ignora a variável e escolhe o modelo para suas [requisições do classificador do modo auto](/docs/pt/permission-modes#default-classifier-model) como se você não a tivesse definido

277 278 

278Claude Code oculta modelos excluídos do seletor `/model`. Se um ID de modelo que você lista também recebe uma linha própria difere por provedor:279Claude Code oculta modelos excluídos do seletor `/model`. Se um ID de modelo que você lista também recebe uma linha própria difere por provedor:

279 280 


285* **[Cadeias de modelo de fallback](#fallback-model-chains)**: entradas fora da lista de permissões são descartadas286* **[Cadeias de modelo de fallback](#fallback-model-chains)**: entradas fora da lista de permissões são descartadas

286* **Atualizações de modo de plano**: na API Anthropic e Claude Platform on AWS, uma atualização como [`opusplan`](#opusplan-model-setting) para um modelo excluído usa a versão mais recente permitida da família de atualização. Em provedores com IDs de modelo específicos do provedor, e quando nenhuma versão é permitida, a atualização é ignorada e o planejamento continua no modelo da sessão287* **Atualizações de modo de plano**: na API Anthropic e Claude Platform on AWS, uma atualização como [`opusplan`](#opusplan-model-setting) para um modelo excluído usa a versão mais recente permitida da família de atualização. Em provedores com IDs de modelo específicos do provedor, e quando nenhuma versão é permitida, a atualização é ignorada e o planejamento continua no modelo da sessão

287* **[Fallback automático de modelo](#automatic-model-fallback)**: um fallback cujo alvo é excluído não é executado, portanto a solicitação sinalizada termina com uma recusa288* **[Fallback automático de modelo](#automatic-model-fallback)**: um fallback cujo alvo é excluído não é executado, portanto a solicitação sinalizada termina com uma recusa

288* **[Classificador do modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode)**: o padrão Claude Sonnet 5 do classificador se aplica apenas quando a allowlist permite Sonnet 5. Quando é excluído, o classificador é executado no modelo da sessão, que a allowlist já governa, ou em um modelo Opus quando a sessão é executada em um [modelo Fable](#work-with-fable). Em provedores diferentes da API Anthropic, esse fallback Opus é executado no modelo que você definiu em `ANTHROPIC_DEFAULT_OPUS_MODEL` ou, caso contrário, no Opus 5, sem consultar a allowlist. Requer Claude Code v2.1.210 ou posterior289* **[Classificador do modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode)**: quando a allowlist exclui o [modelo padrão do classificador](/docs/pt/permission-modes#default-classifier-model), as requisições do classificador que usariam esse modelo são executadas no modelo da sessão, ou em um modelo Opus em sessões [Fable](#work-with-fable). Em provedores diferentes da API Anthropic, esse fallback Opus é executado no modelo que você definiu em `ANTHROPIC_DEFAULT_OPUS_MODEL` ou, caso contrário, no Opus 5, sem consultar a allowlist. Requer Claude Code v2.1.210 ou posterior

289* **[Modo rápido](/docs/pt/fast-mode)**: ativar o modo rápido é recusado quando o modelo em que a sessão seria executada depois está fora da lista de permissões290* **[Modo rápido](/docs/pt/fast-mode)**: ativar o modo rápido é recusado quando o modelo em que a sessão seria executada depois está fora da lista de permissões

290* **Fallback de disponibilidade no Amazon Bedrock e no Agent Platform do Google Cloud**: quando sua conta perde acesso a um modelo no meio da sessão, a mudança para outro modelo ignora modelos excluídos. As verificações de modelo na inicialização no [Amazon Bedrock](/docs/pt/amazon-bedrock#when-your-organization-enforces-a-model-allowlist) e no [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai#when-your-organization-enforces-a-model-allowlist) ignoram modelos excluídos apenas quando as configurações gerenciadas também definem [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)291* **Fallback de disponibilidade no Amazon Bedrock e no Agent Platform do Google Cloud**: quando sua conta perde acesso a um modelo no meio da sessão, a mudança para outro modelo ignora modelos excluídos. As verificações de modelo na inicialização no [Amazon Bedrock](/docs/pt/amazon-bedrock#when-your-organization-enforces-a-model-allowlist) e no [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai#when-your-organization-enforces-a-model-allowlist) ignoram modelos excluídos apenas quando as configurações gerenciadas também definem [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)

291 292 

Details

137| `OTEL_LOG_TOOL_CONTENT` | Ativa o registro em log do conteúdo de ferramentas no [evento de span `tool.output`](#tool-output-span-event) (padrão: desativado). Os atributos de span carregam conteúdo de ferramentas sob [suas próprias condições](#new-context-gates). Requer [tracing](#traces-beta). O conteúdo é truncado no limite de conteúdo (60 KB por padrão) | `1` para ativar |137| `OTEL_LOG_TOOL_CONTENT` | Ativa o registro em log do conteúdo de ferramentas no [evento de span `tool.output`](#tool-output-span-event) (padrão: desativado). Os atributos de span carregam conteúdo de ferramentas sob [suas próprias condições](#new-context-gates). Requer [tracing](#traces-beta). O conteúdo é truncado no limite de conteúdo (60 KB por padrão) | `1` para ativar |

138| `OTEL_LOG_MANAGED_SETTINGS` | Adiciona as configurações gerenciadas ocultadas, e um digest SHA-256 das configurações antes da ocultação, aos eventos de [configurações gerenciadas resolvidas](#managed-settings-resolved-event) (padrão: desativado). Um valor nas configurações de projeto ou locais não a ativa. Requer o Claude Code v2.1.274 ou posterior | `1` para ativar |138| `OTEL_LOG_MANAGED_SETTINGS` | Adiciona as configurações gerenciadas ocultadas, e um digest SHA-256 das configurações antes da ocultação, aos eventos de [configurações gerenciadas resolvidas](#managed-settings-resolved-event) (padrão: desativado). Um valor nas configurações de projeto ou locais não a ativa. Requer o Claude Code v2.1.274 ou posterior | `1` para ativar |

139| `OTEL_LOG_RAW_API_BODIES` | Emite o JSON completo de requisição e resposta da Anthropic Messages API como eventos de log `api_request_body` / `api_response_body` (padrão: desativado). Os corpos incluem todo o histórico da conversa. Ativar esta opção implica consentir com tudo o que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` e `OTEL_LOG_TOOL_CONTENT` revelariam | `1` para corpos inline truncados no limite de conteúdo (60 KB por padrão), ou `file:<dir>` para corpos não truncados em disco com um ponteiro `body_ref` no evento |139| `OTEL_LOG_RAW_API_BODIES` | Emite o JSON completo de requisição e resposta da Anthropic Messages API como eventos de log `api_request_body` / `api_response_body` (padrão: desativado). Os corpos incluem todo o histórico da conversa. Ativar esta opção implica consentir com tudo o que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` e `OTEL_LOG_TOOL_CONTENT` revelariam | `1` para corpos inline truncados no limite de conteúdo (60 KB por padrão), ou `file:<dir>` para corpos não truncados em disco com um ponteiro `body_ref` no evento |

140| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite de conteúdo: o comprimento máximo de atributos que carregam conteúdo, como respostas do modelo, conteúdo de ferramentas, system prompts e corpos brutos da API, incluindo o marcador de truncamento, em unidades de código UTF-16 (padrão: 61440, ou seja, 60 KB). O padrão é dimensionado para backends que limitam valores de atributos a 64 KB; aumente-o somente se o seu backend aceitar valores maiores, ou reduza-o para diminuir o volume de telemetria. Quando um limite de atributo do SDK do OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` ou uma de suas variantes de logrecord e span, estiver definido com um valor menor, o Claude Code trunca nesse valor menor para que o marcador `[TRUNCATED ...]` permaneça dentro do limite do SDK. Requer o Claude Code v2.1.214 ou posterior | `262144` |140| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite de conteúdo: o comprimento máximo de atributos que carregam conteúdo, como respostas do modelo, conteúdo de ferramentas, system prompts e corpos brutos da API, incluindo o marcador de truncamento, em unidades de código UTF-16 (padrão: 61440, ou seja, 60 KB). O padrão é dimensionado para backends que limitam valores de atributos a 64 KB; aumente-o somente se o seu backend aceitar valores maiores, ou reduza-o para diminuir o volume de telemetria. Quando um limite de atributo do SDK do OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` ou uma de suas variantes de logrecord e span, estiver definido com um valor menor, o Claude Code trunca nesse valor menor para que o marcador `[TRUNCATED ...]` permaneça dentro do limite do SDK | `262144` |

141| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Preferência de temporalidade das métricas (padrão: `delta`). Defina como `cumulative` se o seu backend espera temporalidade cumulativa | `delta`, `cumulative` |141| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Preferência de temporalidade das métricas (padrão: `delta`). Defina como `cumulative` se o seu backend espera temporalidade cumulativa | `delta`, `cumulative` |

142| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalo para atualizar cabeçalhos dinâmicos (padrão: 1740000ms / 29 minutos) | `900000` |142| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalo para atualizar cabeçalhos dinâmicos (padrão: 1740000ms / 29 minutos) | `900000` |

143 143 

144Para os protocolos `http/protobuf` e `http/json`, o Claude Code envia cada requisição de exportação com um cabeçalho `Content-Length`. Antes da v2.1.212, as versões do Claude Code a partir da v2.1.191 enviavam essas requisições com codificação de transferência em partes (chunked); o Azure Monitor e outros endpoints que exigem um comprimento declarado as rejeitavam com erros `411 Length Required` ou `400`.144Para os protocolos `http/protobuf` e `http/json`, o Claude Code envia cada requisição de exportação com um cabeçalho `Content-Length`.

145 145 

146<h3 id="mtls-authentication">146<h3 id="mtls-authentication">

147 Autenticação mTLS147 Autenticação mTLS


202 202 

203O contexto de trace de entrada também se aplica a [eventos](#events). No Agent SDK e em sessões `-p` com `TRACEPARENT` definida, cada registro de log de evento OTLP carrega valores `trace_id` e `span_id` que o associam ao trace da sua aplicação, mesmo quando o exportador de traces não está configurado, para que o seu backend de logs possa correlacionar eventos com o restante do trace.203O contexto de trace de entrada também se aplica a [eventos](#events). No Agent SDK e em sessões `-p` com `TRACEPARENT` definida, cada registro de log de evento OTLP carrega valores `trace_id` e `span_id` que o associam ao trace da sua aplicação, mesmo quando o exportador de traces não está configurado, para que o seu backend de logs possa correlacionar eventos com o restante do trace.

204 204 

205Um registro emitido enquanto uma interação está ativa carrega os IDs do span de interação, mesmo quando o Claude Code o emite fora do contexto assíncrono do span, como em um callback de prompt de permissão ou para um registro armazenado em buffer durante a inicialização e exportado posteriormente. Um registro emitido sem span de interação ativo carrega diretamente os IDs do `TRACEPARENT` de entrada. Antes da v2.1.214, os registros emitidos fora do contexto assíncrono do span carregavam os IDs do `TRACEPARENT` de entrada em vez dos IDs do span. Antes da v2.1.212, os registros de eventos emitidos fora de um span ativo não carregavam `trace_id` nem `span_id`.205Um registro emitido enquanto uma interação está ativa carrega os IDs do span de interação, mesmo quando o Claude Code o emite fora do contexto assíncrono do span, como em um callback de prompt de permissão ou para um registro armazenado em buffer durante a inicialização e exportado posteriormente. Um registro emitido sem span de interação ativo carrega diretamente os IDs do `TRACEPARENT` de entrada.

206 206 

207<h4 id="span-hierarchy">207<h4 id="span-hierarchy">

208 Hierarquia de spans208 Hierarquia de spans


328| Atributo | Descrição | Condicionado por |328| Atributo | Descrição | Condicionado por |

329| - | - | - |329| - | - | - |

330| `duration_ms` | Tempo gasto aguardando a decisão de permissão | |330| `duration_ms` | Tempo gasto aguardando a decisão de permissão | |

331| `decision` | `accept` ou `reject` | |331| `decision` | `accept`, `reject` ou `cancelled`, em que `cancelled` significa que o Claude Code parou de aguardar uma decisão de permissão sobre a chamada de ferramenta e não a executou | |

332| `source` | Origem da decisão, correspondente ao [evento de decisão de ferramenta](#tool-decision-event) | |332| `source` | Para um `accept` ou `reject`, a origem da decisão, como `config`, `hook` ou `user_temporary`, com os significados indicados no [evento de decisão de ferramenta](#tool-decision-event). Para um `cancelled`, o que encerrou a espera antes que qualquer decisão fosse tomada, como `user_abort` | |

333 

334Uma decisão `cancelled` com `source` `user_abort` significa que uma mensagem que precisava de entrega imediata interrompeu o turno enquanto o prompt de permissão ou a verificação do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) estava pendente. Por exemplo, durante uma verificação do modo auto, o usuário tinha uma mensagem na fila e [a enviou imediatamente](/docs/pt/interactive-mode#when-claude-code-sends-what-you-queued).

333 335 

334**`claude_code.tool.execution`**336**`claude_code.tool.execution`**

335 337 


820| - | - |822| - | - |

821| `prompt.id` | Identificador UUID v4 vinculando todos os eventos produzidos ao processar um único prompt do usuário |823| `prompt.id` | Identificador UUID v4 vinculando todos os eventos produzidos ao processar um único prompt do usuário |

822| `event.sequence` | Contador baseado em 0 para ordenar eventos, contado por processo Claude Code em vez de por sessão |824| `event.sequence` | Contador baseado em 0 para ordenar eventos, contado por processo Claude Code em vez de por sessão |

823| `message.uuid` | UUID da mensagem conforme persistida na transcrição da sessão, os arquivos `~/.claude/projects/*/*.jsonl`. Presente em `assistant_response`, em `api_response_body`, e em `user_prompt` exceto para dispatches de comando, que podem produzir zero ou muitas mensagens. Em `assistant_response` e `api_response_body`, esta é a entrada final da transcrição da resposta, da qual o `parentUuid` do próximo turno se encadeia. Requer Claude Code v2.1.214 ou posterior, ou v2.1.274 ou posterior em `api_response_body` |825| `message.uuid` | UUID da mensagem conforme persistida na transcrição da sessão, os arquivos `~/.claude/projects/*/*.jsonl`. Presente em `assistant_response`, em `api_response_body` e em `user_prompt`, exceto em despachos de comandos, que podem produzir zero ou várias mensagens. Em `assistant_response` e `api_response_body`, esta é a entrada final da transcrição da resposta, à qual o `parentUuid` do próximo turno se encadeia. Requer Claude Code v2.1.274 ou posterior em `api_response_body` |

824| `request_id` | ID atribuído pelo servidor da requisição de API, lido do cabeçalho de resposta `request-id`, como `req_011...`. Em uma resposta sem cabeçalho `request-id`, como em [Amazon Bedrock](/docs/pt/amazon-bedrock), o valor vem do cabeçalho `x-amzn-requestid` em vez disso. Presente em `api_request`, `api_error`, `api_refusal`, `assistant_response`, e `api_response_body` quando a resposta carrega um dos dois cabeçalhos. Corresponde ao mesmo atributo no span de trace `llm_request`. A fonte `x-amzn-requestid` requer Claude Code v2.1.282 ou posterior |826| `request_id` | ID atribuído pelo servidor da requisição de API, lido do cabeçalho de resposta `request-id`, como `req_011...`. Em uma resposta sem cabeçalho `request-id`, como em [Amazon Bedrock](/docs/pt/amazon-bedrock), o valor vem do cabeçalho `x-amzn-requestid` em vez disso. Presente em `api_request`, `api_error`, `api_refusal`, `assistant_response`, e `api_response_body` quando a resposta carrega um dos dois cabeçalhos. Corresponde ao mesmo atributo no span de trace `llm_request`. A fonte `x-amzn-requestid` requer Claude Code v2.1.282 ou posterior |

825| `client_request_id` | UUID gerado pelo cliente enviado como cabeçalho de requisição `x-client-request-id`. Presente em `api_request` e `api_error` em conexões de API de primeira parte; ausente em backends de provedor de terceiros e quando a requisição foi retentada através do fallback não-streaming. Emparelha uma requisição com sua resposta e permanece disponível para falhas como timeouts que nunca produziram um `request_id` de servidor. Corresponde ao mesmo atributo no span de trace `llm_request`. Requer Claude Code v2.1.214 ou posterior |827| `client_request_id` | UUID gerado pelo cliente enviado como o cabeçalho de requisição `x-client-request-id`. Presente em `api_request` e `api_error` em conexões de API primárias; ausente em backends de provedores terceiros e quando a requisição foi tentada novamente por meio do fallback sem streaming. Associa uma requisição à sua resposta e continua disponível em falhas, como timeouts, que nunca produziram um `request_id` do servidor. Corresponde ao mesmo atributo no span de trace `llm_request` |

826 828 

827Para rastrear toda atividade acionada por um único prompt, filtre seus eventos por um valor específico de `prompt.id`. Isto retorna o evento user\_prompt, quaisquer eventos api\_request, e quaisquer eventos tool\_result que ocorreram ao processar esse prompt.829Para rastrear toda atividade acionada por um único prompt, filtre seus eventos por um valor específico de `prompt.id`. Isto retorna o evento user\_prompt, quaisquer eventos api\_request, e quaisquer eventos tool\_result que ocorreram ao processar esse prompt.

828 830 


851* `prompt_length`: Comprimento do prompt853* `prompt_length`: Comprimento do prompt

852* `prompt`: Conteúdo do prompt. Redigido por padrão. Defina `OTEL_LOG_USER_PROMPTS=1` para incluí-lo854* `prompt`: Conteúdo do prompt. Redigido por padrão. Defina `OTEL_LOG_USER_PROMPTS=1` para incluí-lo

853* `prompt_text`: Mesmo valor que `prompt`, ocultado sob a mesma condição. Um backend que armazena nomes de atributos com pontos como objetos aninhados lê `prompt.id` como `id` dentro de um objeto chamado `prompt` e pode perder a string do prompt. Nesse caso, leia `prompt_text`. Requer Claude Code v2.1.287 ou posterior855* `prompt_text`: Mesmo valor que `prompt`, ocultado sob a mesma condição. Um backend que armazena nomes de atributos com pontos como objetos aninhados lê `prompt.id` como `id` dentro de um objeto chamado `prompt` e pode perder a string do prompt. Nesse caso, leia `prompt_text`. Requer Claude Code v2.1.287 ou posterior

854* `message.uuid`: UUID da mensagem do usuário resultante, correspondendo à entrada da transcrição persistida. Ausente em dispatches de comando, que podem produzir zero ou muitas mensagens. Requer Claude Code v2.1.214 ou posterior856* `message.uuid`: UUID da mensagem do usuário resultante, correspondente à entrada persistida na transcrição. Ausente em despachos de comandos, que podem produzir zero ou várias mensagens.

855* `command_name`: Nome do comando quando o prompt invoca um. Nomes de comando integrados e agrupados como `compact` ou `debug` são emitidos como estão; aliases como `reset` emitem conforme digitado em vez do nome canônico. Nomes de comando personalizados, de plugin e MCP colapsam para `custom` ou `mcp` a menos que `OTEL_LOG_TOOL_DETAILS=1` esteja definido857* `command_name`: Nome do comando quando o prompt invoca um. Nomes de comando integrados e agrupados como `compact` ou `debug` são emitidos como estão; aliases como `reset` emitem conforme digitado em vez do nome canônico. Nomes de comando personalizados, de plugin e MCP colapsam para `custom` ou `mcp` a menos que `OTEL_LOG_TOOL_DETAILS=1` esteja definido

856* `command_source`: Origem do comando quando presente: `builtin`, `custom`, ou `mcp`. Comandos fornecidos por plugin relatam como `custom`858* `command_source`: Origem do comando quando presente: `builtin`, `custom`, ou `mcp`. Comandos fornecidos por plugin relatam como `custom`

857 859 


873* `response`: Texto de resposta, truncado no limite de conteúdo (60 KB por padrão). Redigido para `<REDACTED>` por padrão. Defina `OTEL_LOG_ASSISTANT_RESPONSES=1` para incluí-lo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` não está definido, `OTEL_LOG_USER_PROMPTS` o controla em vez disso, então defina `OTEL_LOG_ASSISTANT_RESPONSES=0` para manter respostas redigidas enquanto o logging de prompt está ativado875* `response`: Texto de resposta, truncado no limite de conteúdo (60 KB por padrão). Redigido para `<REDACTED>` por padrão. Defina `OTEL_LOG_ASSISTANT_RESPONSES=1` para incluí-lo. Quando `OTEL_LOG_ASSISTANT_RESPONSES` não está definido, `OTEL_LOG_USER_PROMPTS` o controla em vez disso, então defina `OTEL_LOG_ASSISTANT_RESPONSES=0` para manter respostas redigidas enquanto o logging de prompt está ativado

874* `model`: Identificador do modelo (por exemplo, "claude-sonnet-5")876* `model`: Identificador do modelo (por exemplo, "claude-sonnet-5")

875* `request_id`: ID de requisição de API, descrito em [Atributos de correlação de eventos](#event-correlation-attributes)877* `request_id`: ID de requisição de API, descrito em [Atributos de correlação de eventos](#event-correlation-attributes)

876* `message.uuid`: UUID da entrada final da transcrição da resposta. Uma resposta de API é persistida como uma entrada de transcrição por bloco de conteúdo; esta é a última, da qual o `parentUuid` do próximo turno se encadeia. Requer Claude Code v2.1.214 ou posterior878* `message.uuid`: UUID da entrada final da transcrição da resposta. Uma resposta de API é persistida como uma entrada de transcrição por bloco de conteúdo; esta é a última, à qual o `parentUuid` do próximo turno se encadeia.

877* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente879* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente

878 880 

879<h4 id="tool-result-event">881<h4 id="tool-result-event">


902* `tool_result_size_bytes`: Tamanho do resultado da ferramenta em bytes904* `tool_result_size_bytes`: Tamanho do resultado da ferramenta em bytes

903* `mcp_server_scope`: Identificador de escopo do servidor MCP (para ferramentas MCP)905* `mcp_server_scope`: Identificador de escopo do servidor MCP (para ferramentas MCP)

904* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (quando `OTEL_LOG_TOOL_DETAILS=1`): a identidade de commit de uma execução bem-sucedida de `git commit` executada pela ferramenta Bash ou PowerShell. `vcs.ref.head.revision` é o SHA do commit, `vcs.ref.head.name` é o branch no qual foi feito o commit, e `vcs.ref.head.type` é `branch`. O nome e tipo são omitidos quando o commit foi feito em um HEAD desanexado. Requer Claude Code v2.1.269 ou posterior906* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (quando `OTEL_LOG_TOOL_DETAILS=1`): a identidade de commit de uma execução bem-sucedida de `git commit` executada pela ferramenta Bash ou PowerShell. `vcs.ref.head.revision` é o SHA do commit, `vcs.ref.head.name` é o branch no qual foi feito o commit, e `vcs.ref.head.type` é `branch`. O nome e tipo são omitidos quando o commit foi feito em um HEAD desanexado. Requer Claude Code v2.1.269 ou posterior

905* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): String JSON contendo parâmetros específicos da ferramenta. Para servidores integrados do Claude Desktop, em sessões que Claude Desktop possui, o par `mcp_server_name`/`mcp_tool_name` é incluído mesmo com a flag desligada, a mesma exceção de autoria de host que o [evento de decisão de ferramenta](#tool-decision-event), requerendo Claude Code v2.1.214 ou posterior. Os parâmetros variam por ferramenta:907* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): String JSON contendo parâmetros específicos da ferramenta. Para os servidores integrados do Claude Desktop, em sessões pertencentes ao Claude Desktop, o par `mcp_server_name`/`mcp_tool_name` é incluído mesmo com a flag desativada, a mesma exceção definida pelo host do [Evento de decisão de ferramenta](#tool-decision-event). Os parâmetros variam conforme a ferramenta:

906 * Para ferramenta Bash: inclui `bash_command`, `full_command`, `timeout`, `description`, e `dangerouslyDisableSandbox`, mais `git_commit_id` e `git_branch` quando um comando `git commit` é bem-sucedido. `git_commit_id` é o SHA completo do commit quando o commit é o HEAD do diretório de trabalho da sessão, e o SHA abreviado do git caso contrário. `git_branch` é o branch no qual foi feito o commit, omitido em um HEAD desanexado908 * Para a ferramenta Bash: inclui `bash_command`, `full_command`, `timeout`, `description` e `dangerouslyDisableSandbox`, além de `git_commit_id` e `git_branch` quando um comando `git commit` é bem-sucedido. `git_commit_id` é o SHA completo do commit quando o commit é o HEAD do diretório de trabalho da sessão e, caso contrário, o SHA abreviado do git. `git_branch` é o branch no qual o commit foi feito, omitido em um HEAD destacado

907 * Para a ferramenta Bash de workspace do aplicativo desktop, que também relata `tool_name` como `Bash`: inclui apenas `bash_command`, `full_command`, e `timeout`909 * Para a ferramenta Bash do workspace do aplicativo desktop, que também informa `tool_name` como `Bash`: inclui apenas `bash_command`, `full_command` e `timeout`

908 * Para ferramentas MCP: inclui `mcp_server_name`, `mcp_tool_name`910 * Para ferramentas MCP: inclui `mcp_server_name`, `mcp_tool_name`

909 * Para ferramenta Skill: inclui `skill_name`911 * Para a ferramenta Skill: inclui `skill_name`

910 * Para ferramenta Agent ou ferramenta Task legada: inclui `subagent_type`912 * Para a ferramenta Agent ou a ferramenta legada Task: inclui `subagent_type`

911* `tool_input` (quando `OTEL_LOG_TOOL_DETAILS=1`): Argumentos de ferramenta serializados em JSON. Valores individuais acima de 512 caracteres são truncados, e a carga útil completa é limitada a \~4 K caracteres. Aplica-se a todas as ferramentas incluindo ferramentas MCP.913* `tool_input` (quando `OTEL_LOG_TOOL_DETAILS=1`): Argumentos de ferramenta serializados em JSON. Valores individuais acima de 512 caracteres são truncados, e a carga útil completa é limitada a \~4 K caracteres. Aplica-se a todas as ferramentas incluindo ferramentas MCP.

912 914 

913<h4 id="api-request-event">915<h4 id="api-request-event">


933* `cache_read_tokens`: Número de tokens lidos do cache935* `cache_read_tokens`: Número de tokens lidos do cache

934* `cache_creation_tokens`: Número de tokens usados para criação de cache936* `cache_creation_tokens`: Número de tokens usados para criação de cache

935* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).937* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).

936* `client_request_id`: UUID gerado pelo cliente enviado como cabeçalho de requisição `x-client-request-id`; veja a tabela [atributos de correlação de eventos](#event-correlation-attributes) para quando está presente. Requer Claude Code v2.1.214 ou posterior938* `client_request_id`: UUID gerado pelo cliente enviado como o cabeçalho de requisição `x-client-request-id`; consulte a tabela de [atributos de correlação de eventos](#event-correlation-attributes) para saber quando ele está presente

937* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo939* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo

938* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente940* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente

939* `effort`: [Nível de esforço](/docs/pt/model-config#adjust-effort-level) aplicado à requisição: `"low"`, `"medium"`, `"high"`, `"xhigh"`, ou `"max"`. Ausente quando Claude Code não envia nível de esforço, por exemplo em um modelo que não suporta esforço.941* `effort`: [Nível de esforço](/docs/pt/model-config#adjust-effort-level) aplicado à requisição: `"low"`, `"medium"`, `"high"`, `"xhigh"`, ou `"max"`. Ausente quando Claude Code não envia nível de esforço, por exemplo em um modelo que não suporta esforço.


959* `duration_ms`: Duração da requisição em milissegundos961* `duration_ms`: Duração da requisição em milissegundos

960* `attempt`: Número de tentativas feitas, incluindo a requisição inicial. [Detectar o esgotamento de novas tentativas](#detect-retry-exhaustion) informa quando a contagem recomeça962* `attempt`: Número de tentativas feitas, incluindo a requisição inicial. [Detectar o esgotamento de novas tentativas](#detect-retry-exhaustion) informa quando a contagem recomeça

961* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).963* `request_id`: ID de requisição de API, como `"req_011..."`, descrito em [Atributos de correlação de eventos](#event-correlation-attributes).

962* `client_request_id`: UUID gerado pelo cliente enviado como cabeçalho de requisição `x-client-request-id`. Disponível mesmo quando uma falha como timeout ou erro de conexão nunca produziu um `request_id` de servidor; veja a tabela [atributos de correlação de eventos](#event-correlation-attributes) para quando está presente. Requer Claude Code v2.1.214 ou posterior964* `client_request_id`: UUID gerado pelo cliente enviado como o cabeçalho de requisição `x-client-request-id`. Disponível mesmo quando uma falha, como um timeout ou erro de conexão, nunca produziu um `request_id` do servidor; consulte a tabela de [atributos de correlação de eventos](#event-correlation-attributes) para saber quando ele está presente.

963* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo965* `speed`: `"fast"` ou `"normal"`, indicando se o modo rápido estava ativo

964* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente966* `query_source`: Subsistema que emitiu a requisição, como `"repl_main_thread"`, `"compact"`, ou um nome de subagente

965* `effort`: [Nível de esforço](/docs/pt/model-config#adjust-effort-level) aplicado à requisição. Ausente quando Claude Code não envia nível de esforço, por exemplo em um modelo que não suporta esforço.967* `effort`: [Nível de esforço](/docs/pt/model-config#adjust-effort-level) aplicado à requisição. Ausente quando Claude Code não envia nível de esforço, por exemplo em um modelo que não suporta esforço.


1057* `tool_name`: Nome da ferramenta (por exemplo, "Read", "Edit", "Write", "NotebookEdit")1059* `tool_name`: Nome da ferramenta (por exemplo, "Read", "Edit", "Write", "NotebookEdit")

1058* `tool_use_id`: Identificador único para esta invocação de ferramenta. Corresponde ao `tool_use_id` passado para hooks, permitindo correlação entre eventos OTel e dados capturados por hook.1060* `tool_use_id`: Identificador único para esta invocação de ferramenta. Corresponde ao `tool_use_id` passado para hooks, permitindo correlação entre eventos OTel e dados capturados por hook.

1059* `decision`: Ou `"accept"` ou `"reject"`1061* `decision`: Ou `"accept"` ou `"reject"`

1060* `tool_source`: Sempre presente. A proveniência da ferramenta, como um conjunto fechado de valores criados pela CLI. Requer Claude Code v2.1.214 ou posterior1062* `tool_source`: Sempre presente. A procedência da ferramenta, como um conjunto fechado de valores definidos pela CLI:

1061 * `"builtin"`: as próprias ferramentas da CLI1063 * `"builtin"`: as ferramentas próprias da CLI

1062 * `"mcp"`: servidores MCP em geral1064 * `"mcp"`: servidores MCP em geral

1063 * `"sdk_host_builtin_mcp"`: um servidor em processo integrado ao próprio Claude Desktop, em uma sessão que Claude Desktop possui. Claude Desktop possui uma sessão que iniciou de um de seus próprios pontos de entrada, `claude-desktop`, `claude-desktop-3p`, ou `local-agent`, quando essa sessão não é uma criança aninhada; sessões aninhadas, incluindo sessões que Claude Code gera, relatam esses servidores como `"mcp"`1065 * `"sdk_host_builtin_mcp"`: um servidor em processo integrado ao próprio Claude Desktop, em uma sessão pertencente ao Claude Desktop. O Claude Desktop é proprietário de uma sessão que ele iniciou a partir de um de seus próprios entrypoints, `claude-desktop`, `claude-desktop-3p` ou `local-agent`, quando essa sessão não é uma filha aninhada; sessões aninhadas, incluindo sessões que o próprio Claude Code cria, informam esses servidores como `"mcp"`

1064* `source`: De onde a decisão veio:1066* `source`: De onde veio a decisão:

1065 * `"config"`: Decidido automaticamente sem solicitar, baseado em configurações de projeto, regras de permitir ou negar nas configurações pessoais do usuário, política gerenciada pela empresa, flags `--allowedTools` ou `--disallowedTools`, o modo de permissão ativo, uma concessão com escopo de sessão de um prompt anterior na mesma sessão CLI interativa, ou porque a ferramenta é inerentemente segura. O evento não indica qual dessas fontes correspondeu. Claude Code também relata `"config"` quando a própria requisição de prompt de permissão falha, por exemplo quando o callback [`canUseTool`](/docs/pt/agent-sdk/typescript#canusetool) do Agent SDK ou a ferramenta [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) retorna um resultado inválido, ou quando o stream de entrada fecha enquanto a requisição está pendente. Antes da v2.1.216, Claude Code relatava essas falhas como `"user_reject"`.1067 * `"config"`: Decidida automaticamente sem solicitar confirmação, por uma destas origens:

1068 

1069 * Configurações do projeto

1070 * Regras de permissão ou negação nas configurações pessoais do usuário

1071 * Política gerenciada corporativa

1072 * Flags `--allowedTools` ou `--disallowedTools`

1073 * O modo de permissão ativo

1074 * O classificador do modo auto, cujo veredito o mesmo evento registra em `classifier_verdict`

1075 * Uma concessão para o restante da sessão, dada em um prompt de permissão anterior na mesma sessão interativa da CLI

1076 * A ferramenta ser inerentemente segura

1077 

1078 O valor de `source` não indica qual dessas origens correspondeu.

1079 

1080 O Claude Code também informa `"config"` quando a própria requisição do prompt de permissão falha. Por exemplo, essa requisição falha quando o callback [`canUseTool`](/docs/pt/agent-sdk/typescript#canusetool) do Agent SDK ou a ferramenta [`--permission-prompt-tool`](/docs/pt/cli-reference#cli-flags) retorna um resultado inválido, ou quando o stream de entrada é fechado enquanto a requisição está pendente. Antes da v2.1.216, o Claude Code informava essas falhas como `"user_reject"`.

1066 * `"hook"`: Um hook `PreToolUse` ou `PermissionRequest` retornou a decisão.1081 * `"hook"`: Um hook `PreToolUse` ou `PermissionRequest` retornou a decisão.

1067 * `"user_permanent"`: Emitido quando o usuário escolheu "Sim, e não pergunte novamente para ..." em um prompt de permissão, que salva uma regra de permitir em suas configurações pessoais. Na CLI interativa isto é emitido apenas para essa escolha em si; chamadas posteriores que correspondem à regra salva emitem `"config"` em vez disso. Em sessões Agent SDK ou não-interativas `-p`, tanto a escolha inicial quanto correspondências posteriores de regra emitem `"user_permanent"`. Tratado como uma aceitação.1082 * `"user_permanent"`: Emitido quando o usuário escolheu "Yes, and don't ask again for ..." em um prompt de permissão, o que salva uma regra de permissão nas suas configurações pessoais. Na CLI interativa, isso é emitido apenas para essa escolha em si; chamadas posteriores que correspondem à regra salva emitem `"config"`. Em sessões do Agent SDK ou não interativas com `-p`, tanto a escolha inicial quanto as correspondências posteriores com a regra emitem `"user_permanent"`. Tratado como aceitação.

1068 * `"user_temporary"`: Emitido quando o usuário escolheu "Sim" em um prompt de permissão para uma aprovação única, ou escolheu uma opção que concede acesso pelo resto da sessão em um prompt de edição ou leitura de arquivo. Na CLI interativa isto é emitido apenas para a escolha em si; chamadas posteriores permitidas por essa concessão com escopo de sessão emitem `"config"` em vez disso. Em sessões Agent SDK ou não-interativas `-p`, tanto a escolha quanto correspondências posteriores emitem `"user_temporary"`. Tratado como uma aceitação.1083 * `"user_temporary"`: Emitido quando o usuário escolheu "Yes" em um prompt de permissão para uma aprovação única, ou escolheu uma opção que concede acesso pelo restante da sessão em um prompt de edição ou leitura de arquivo. Na CLI interativa, isso é emitido apenas para a escolha em si; chamadas posteriores permitidas por essa concessão com escopo de sessão emitem `"config"`. Em sessões do Agent SDK ou não interativas com `-p`, tanto a escolha quanto as correspondências posteriores emitem `"user_temporary"`. Tratado como aceitação.

1069 * `"user_abort"`: Emitido quando o usuário descartou o prompt de permissão sem responder. Em sessões Agent SDK e não-interativas `-p`, isto inclui interromper o turno enquanto uma requisição de permissão `canUseTool` ou `--permission-prompt-tool` está pendente; antes da v2.1.216, Claude Code relatava essa interrupção como `"user_reject"`. Tratado como uma rejeição.1084 * `"user_abort"`: Emitido quando o usuário dispensou o prompt de permissão sem responder. Em sessões do Agent SDK e não interativas com `-p`, isso inclui interromper o turno enquanto uma requisição de permissão de `canUseTool` ou `--permission-prompt-tool` está pendente; antes da v2.1.216, o Claude Code informava essa interrupção como `"user_reject"`. Tratado como rejeição.

1070 * `"user_reject"`: Emitido quando o usuário escolheu "Não" quando solicitado. Na CLI interativa isto é emitido apenas para essa escolha em si; chamadas que correspondem a uma regra de negar nas configurações pessoais do usuário emitem `"config"` em vez disso. Em sessões Agent SDK ou não-interativas `-p`, chamadas que correspondem a uma regra de negar em configurações pessoais emitem `"user_reject"`. Tratado como uma rejeição.1085 * `"user_reject"`: Emitido quando o usuário escolheu "No" ao ser solicitado. Na CLI interativa, isso é emitido apenas para essa escolha em si; chamadas que correspondem a uma regra de negação nas configurações pessoais do usuário emitem `"config"`. Em sessões do Agent SDK ou não interativas com `-p`, chamadas que correspondem a uma regra de negação nas configurações pessoais emitem `"user_reject"`. Tratado como rejeição.

1071* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): String JSON contendo parâmetros específicos da ferramenta. Mesma forma que o [evento de resultado de ferramenta](#tool-result-event), menos campos pós-execução como `git_commit_id`. Os valores podem diferir de `tool_result` para uma chamada aceita se a decisão de permissão reescreve a entrada da ferramenta via `updatedInput`. Use este atributo para ver qual comando foi rejeitado quando `decision` é `"reject"`.1086* `classifier_verdict`: O veredito do [classificador](/docs/pt/permission-modes#how-the-classifier-evaluates-actions) do modo auto para a chamada, ou o motivo pelo qual o Claude Code negou a chamada quando nenhum veredito veio. Requer Claude Code v2.1.301 ou posterior

1072 * Para ferramentas `"sdk_host_builtin_mcp"`: `mcp_server_name` e `mcp_tool_name` são incluídos mesmo quando `OTEL_LOG_TOOL_DETAILS` está desligado, porque a aplicação host define esses nomes; sem eles, uma chamada rejeitada para um desses servidores integrados seria não atribuível no stream padrão. Para servidores MCP configurados pelo usuário, o `tool_name` do evento é sempre o literal `"mcp_tool"`, e os nomes do servidor e ferramenta aparecem apenas em `tool_parameters` com a flag ligada; conteúdo de argumento requer a flag em todos os lugares. Requer Claude Code v2.1.214 ou posterior1087 

1073 * Para ferramenta Bash: inclui `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. A ferramenta bash de workspace do aplicativo desktop também relata `tool_name` como `Bash`, mas inclui apenas `bash_command`, `full_command`, e `timeout`1088 * `"allow"`: o classificador aprovou a chamada

1089 * `"block"`: o classificador bloqueou a chamada. Uma verificação do classificador que falha no meio do caminho também pode terminar como `"block"`, então uma indisponibilidade parcial do classificador pode aparecer como mais bloqueios em vez de `"unavailable"`

1090 * `"no_verdict"`: a verificação foi executada, mas não deu [nenhum veredito utilizável](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action), então o Claude Code negou a chamada. A negação não significa que o classificador considerou a chamada insegura

1091 * `"unavailable"`: a requisição ao classificador falhou, por exemplo por um rate limit, timeout ou erro de conexão, então o Claude Code negou a chamada. Com a [revisão do classificador no lado do servidor](/docs/pt/permission-modes#server-side-classifier-review), também marca uma chamada negada porque [o servidor não retornou nenhum veredito de segurança](/docs/pt/errors#the-server-returned-no-safety-verdict)

1092 

1093 O atributo também aparece em chamadas no modo de planejamento quando [o classificador revisa comandos no modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode). O atributo está ausente nestes casos:

1094 

1095 * Uma [regra de permissão](/docs/pt/permissions#manage-permissions) de permissão ou negação decidiu a chamada

1096 * O Claude Code aprovou a chamada no modo auto sem consultar o classificador

1097 * O usuário respondeu ao prompt que o Claude Code mostrou após [bloqueios repetidos](/docs/pt/permission-modes#repeated-block-thresholds)

1098 * Em uma execução com `-p` sem `--permission-prompt-tool`, o Claude Code negou a chamada após bloqueios repetidos porque não havia ninguém para responder a um prompt. Esse evento informa `decision` como `"reject"` e `source` como `"config"`

1099* `classifier_category` (quando `OTEL_LOG_TOOL_DETAILS=1`): O nome da [regra integrada](/docs/pt/auto-mode-config#inspect-the-defaults-and-your-effective-config) que o classificador indicou ao bloquear a chamada, em minúsculas com sublinhados, como `"data_exfiltration"` para a regra Data Exfiltration. Requer Claude Code v2.1.301 ou posterior. O atributo está presente quando todas estas condições são verdadeiras:

1100 * `classifier_verdict` é `"block"`

1101 * O próprio Claude Code enviou a requisição ao classificador, em vez de usar a [revisão do classificador no lado do servidor](/docs/pt/permission-modes#server-side-classifier-review)

1102 * O classificador indicou exatamente uma regra, e essa regra é integrada, e não uma que você escreveu

1103* `permission_mode`: [Modo de permissão](/docs/pt/permission-modes) ativo quando a verificação de permissão desta chamada começou: `"default"`, `"plan"`, `"acceptEdits"`, `"bypassPermissions"`, `"dontAsk"` ou `"auto"`. O modo manual aparece como `"default"`. Uma chamada de [subagente](/docs/pt/sub-agents#permission-modes) informa o modo de permissão do subagente em vez do da sessão. Requer Claude Code v2.1.301 ou posterior

1104* `tool_parameters` (quando `OTEL_LOG_TOOL_DETAILS=1`): String JSON contendo parâmetros específicos da ferramenta. Mesmo formato do [Evento de resultado de ferramenta](#tool-result-event), sem os campos posteriores à execução, como `git_commit_id`. Os valores podem diferir de `tool_result` para uma chamada aceita se a decisão de permissão reescrever a entrada da ferramenta por meio de `updatedInput`. Use este atributo para ver qual comando foi rejeitado quando `decision` é `"reject"`.

1105 * Para ferramentas `"sdk_host_builtin_mcp"`: `mcp_server_name` e `mcp_tool_name` são incluídos mesmo quando `OTEL_LOG_TOOL_DETAILS` está desativado, porque a aplicação host define esses nomes; sem eles, uma chamada rejeitada a um desses servidores integrados não poderia ser atribuída no stream padrão. Para servidores MCP configurados pelo usuário, o `tool_name` do evento é sempre o literal `"mcp_tool"`, e os nomes do servidor e da ferramenta aparecem apenas em `tool_parameters` com a flag ativada; o conteúdo dos argumentos requer a flag em todos os casos.

1106 * Para a ferramenta Bash: inclui `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. A ferramenta bash do workspace do aplicativo desktop também informa `tool_name` como `Bash`, mas inclui apenas `bash_command`, `full_command` e `timeout`

1074 * Para ferramentas MCP: inclui `mcp_server_name`, `mcp_tool_name`1107 * Para ferramentas MCP: inclui `mcp_server_name`, `mcp_tool_name`

1075 * Para ferramenta Skill: inclui `skill_name`1108 * Para a ferramenta Skill: inclui `skill_name`

1076 * Para ferramenta Agent ou ferramenta Task legada: inclui `subagent_type`1109 * Para a ferramenta Agent ou a ferramenta legada Task: inclui `subagent_type`

1077 1110 

1078<h4 id="permission-mode-changed-event">1111<h4 id="permission-mode-changed-event">

1079 Evento de modo de permissão alterado1112 Evento de modo de permissão alterado


1081 1114 

1082Registrado quando o modo de permissão muda, por exemplo de ciclagem `Shift+Tab`, saída do modo de plano, ou uma verificação de gate de modo automático.1115Registrado quando o modo de permissão muda, por exemplo de ciclagem `Shift+Tab`, saída do modo de plano, ou uma verificação de gate de modo automático.

1083 1116 

1117Para agrupar chamadas de ferramenta pelo modo de permissão em que cada uma foi verificada, use `permission_mode` no [Evento de decisão de ferramenta](#tool-decision-event).

1118 

1084**Nome do Evento**: `claude_code.permission_mode_changed`1119**Nome do Evento**: `claude_code.permission_mode_changed`

1085 1120 

1086**Atributos**:1121**Atributos**:


1091* `event.sequence`: contador por processo para ordenar eventos, descrito em [Atributos de correlação de eventos](#event-correlation-attributes)1126* `event.sequence`: contador por processo para ordenar eventos, descrito em [Atributos de correlação de eventos](#event-correlation-attributes)

1092* `from_mode`: O modo de permissão anterior, por exemplo `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, ou `"bypassPermissions"`1127* `from_mode`: O modo de permissão anterior, por exemplo `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, ou `"bypassPermissions"`

1093* `to_mode`: O novo modo de permissão1128* `to_mode`: O novo modo de permissão

1094* `trigger`: O que causou a alteração. Um de `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` ou `"auto_opt_in"`. Ausente em algumas alterações, como quando o SDK define o modo de permissão por meio de [`setPermissionMode()`](/docs/pt/agent-sdk/typescript#query-object)1129* `trigger`: O que causou a alteração, por exemplo `"shift_tab"`, `"exit_plan_mode"` ou `"auto_gate_denied"`. Ausente para algumas alterações, como quando o SDK define o modo de permissão por meio de [`setPermissionMode()`](/docs/pt/agent-sdk/typescript#query-object)

1095 1130 

1096<h4 id="auth-event">1131<h4 id="auth-event">

1097 Evento de autenticação1132 Evento de autenticação


1402* `total_tool_uses`: Número de chamadas de ferramenta que o subagente fez em toda a execução1437* `total_tool_uses`: Número de chamadas de ferramenta que o subagente fez em toda a execução

1403* `duration_ms`: Tempo de execução em milissegundos1438* `duration_ms`: Tempo de execução em milissegundos

1404* `model`: O modelo que o subagente foi resolvido para executar1439* `model`: O modelo que o subagente foi resolvido para executar

1405* `final_model`: O modelo que produziu a resposta final do subagente, que difere de `model` após uma mudança no meio da execução como um fallback. Requer Claude Code v2.1.212 ou posterior1440* `final_model`: O modelo que produziu a resposta final do subagente, que difere de `model` após uma troca no meio da execução, como um fallback

1406* `model_swapped`: Se mais de um modelo serviu as requisições do subagente. Requer Claude Code v2.1.212 ou posterior1441* `model_swapped`: Se mais de um modelo atendeu às requisições do subagente

1407* `plugin_id_hash`, `plugin.name`: Presente para agentes fornecidos por plugin. Nomes de plugins do marketplace oficial aparecem literalmente; outros nomes de plugins são substituídos por `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esteja definido1442* `plugin_id_hash`, `plugin.name`: Presente para agentes fornecidos por plugin. Nomes de plugins do marketplace oficial aparecem literalmente; outros nomes de plugins são substituídos por `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esteja definido

1408 1443 

1409<h4 id="feedback-survey-event">1444<h4 id="feedback-survey-event">


1548 As métricas de custo são aproximações. Para dados de faturamento oficiais, consulte seu provedor de API (Claude Console, Amazon Bedrock ou Google Cloud's Agent Platform).1583 As métricas de custo são aproximações. Para dados de faturamento oficiais, consulte seu provedor de API (Claude Console, Amazon Bedrock ou Google Cloud's Agent Platform).

1549</Note>1584</Note>

1550 1585 

1551Claude Code conta cada resposta de streaming em relação às métricas de custo e token exatamente uma vez, incluindo quando um gateway ou proxy atrás de `ANTHROPIC_BASE_URL` transmite uso progressivamente em vários frames. Antes da v2.1.214, streams que carregavam uso em mais de um frame inflacionavam `claude_code.cost.usage` e `claude_code.token.usage` por aproximadamente uma solicitação completa extra por frame extra.1586Claude Code conta cada resposta de streaming em relação às métricas de custo e token exatamente uma vez, incluindo quando um gateway ou proxy atrás de `ANTHROPIC_BASE_URL` transmite uso progressivamente em vários frames.

1552 1587 

1553<h3 id="alerting-and-segmentation">1588<h3 id="alerting-and-segmentation">

1554 Alertas e segmentação1589 Alertas e segmentação


1570 1605 

1571Claude Code retenta solicitações de API falhadas internamente e emite um único evento `claude_code.api_error` apenas depois de desistir, então o evento em si é o sinal terminal para essa solicitação. Tentativas de repetição intermediárias não são registradas como eventos separados.1606Claude Code retenta solicitações de API falhadas internamente e emite um único evento `claude_code.api_error` apenas depois de desistir, então o evento em si é o sinal terminal para essa solicitação. Tentativas de repetição intermediárias não são registradas como eventos separados.

1572 1607 

1573O atributo `attempt` no evento registra o número de tentativas. `CLAUDE_CODE_MAX_RETRIES` tem como padrão 10 e é limitado a 15. A partir da v2.1.199, você pode definir `CLAUDE_CODE_RETRY_WATCHDOG` para aumentar o padrão e remover o limite.1608O atributo `attempt` no evento registra o número de tentativas. `CLAUDE_CODE_MAX_RETRIES` tem como padrão 10 e é limitado a 15; com [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/pt/env-vars) definido, o padrão é maior e não há limite.

1574 1609 

1575Quando a requisição esgota todas as novas tentativas em um erro transitório, `attempt` é no máximo um a mais do que esse limite efetivo: 11 por padrão.1610Quando a requisição esgota todas as novas tentativas em um erro transitório, `attempt` é no máximo um a mais do que esse limite efetivo: 11 por padrão.

1576 1611 


1646 1681 

1647Sem `OTEL_LOG_TOOL_DETAILS`, esses eventos descartam o detalhe de identificação:1682Sem `OTEL_LOG_TOOL_DETAILS`, esses eventos descartam o detalhe de identificação:

1648 1683 

1649* `tool_result`: mantém `mcp_server_scope` e um `tool_name` reduzido ao literal `"mcp_tool"` para servidores configurados pelo usuário, omite conteúdo de argumentos. Para servidores integrados do Claude Desktop, em sessões que Claude Desktop possui, também mantém o par `mcp_server_name`/`mcp_tool_name` dentro de `tool_parameters`, a mesma exceção de autoria de host que `tool_decision`, exigindo Claude Code v2.1.214 ou posterior1684* `tool_result`: mantém `mcp_server_scope` e um `tool_name` reduzido ao literal `"mcp_tool"` para servidores configurados pelo usuário, omite conteúdo de argumentos. Para servidores integrados do Claude Desktop, em sessões que Claude Desktop possui, também mantém o par `mcp_server_name`/`mcp_tool_name` dentro de `tool_parameters`, a mesma exceção de autoria de host que `tool_decision`

1650* `tool_decision`: mantém `tool_source` e um `tool_name` reduzido ao literal `"mcp_tool"` para servidores configurados pelo usuário, omite conteúdo de argumentos. Para servidores integrados do Claude Desktop, em sessões que Claude Desktop possui, também mantém o par `mcp_server_name`/`mcp_tool_name` dentro de `tool_parameters`; `tool_source` e o par de nomes exigem Claude Code v2.1.214 ou posterior1685* `tool_decision`: mantém `tool_source` e um `tool_name` reduzido ao literal `"mcp_tool"` para servidores configurados pelo usuário, omite conteúdo de argumentos. Para servidores integrados do Claude Desktop, em sessões que Claude Desktop possui, também mantém o par `mcp_server_name`/`mcp_tool_name` dentro de `tool_parameters`

1651* `mcp_server_connection`: omite `server_name` e a mensagem de erro, mas mantém `is_plugin`, `plugin_id_hash` e `plugin.name`, com nomes de plugins não-Anthropic reduzidos ao literal `"third-party"`, para que servidores fornecidos por plugins permaneçam distinguíveis sem registro detalhado1686* `mcp_server_connection`: omite `server_name` e a mensagem de erro, mas mantém `is_plugin`, `plugin_id_hash` e `plugin.name`, com nomes de plugins não-Anthropic reduzidos ao literal `"third-party"`, para que servidores fornecidos por plugins permaneçam distinguíveis sem registro detalhado

1652 1687 

1653<h3 id="map-security-questions-to-events">1688<h3 id="map-security-questions-to-events">


1658 1693 

1659| Sinal | Evento | Atributos-chave |1694| Sinal | Evento | Atributos-chave |

1660| - | - | - |1695| - | - | - |

1661| Chamada de ferramenta permitida ou negada, e por quê | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1696| Chamada de ferramenta permitida ou negada, e de onde veio a decisão, como uma regra, um hook ou o usuário | [`tool_decision`](#tool-decision-event) | `decision`, `source`, `classifier_verdict`, `permission_mode`, `tool_name`; `tool_parameters` quando você define `OTEL_LOG_TOOL_DETAILS=1` |

1697| O classificador do modo auto permitiu ou bloqueou uma chamada de ferramenta, ou Claude Code negou a chamada sem um veredito do classificador | [`tool_decision`](#tool-decision-event) onde `classifier_verdict` está presente. Para uma negação sem veredito, `classifier_verdict` é `"no_verdict"` ou `"unavailable"` | `classifier_verdict`, `permission_mode`, `tool_name`; `classifier_category` quando você define `OTEL_LOG_TOOL_DETAILS=1` |

1662| Escalação de modo de permissão | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1698| Escalação de modo de permissão | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1699| Em qual modo de permissão cada chamada de ferramenta foi verificada, incluindo chamadas feitas por subagentes | [`tool_decision`](#tool-decision-event) | `permission_mode`, `session.id` |

1663| Hook de política bloqueou uma ação | `hook_execution_complete` | `hook_event`, `num_blocking` |1700| Hook de política bloqueou uma ação | `hook_execution_complete` | `hook_event`, `num_blocking` |

1664| Login, logout e falha de autenticação | `auth` | `action`, `success`, `error_category` |1701| Login, logout e falha de autenticação | `auth` | `action`, `success`, `error_category` |

1665| Conexão do servidor MCP ou falha | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |1702| Conexão do servidor MCP ou falha | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |


1802 Segurança e privacidade1839 Segurança e privacidade

1803</h2>1840</h2>

1804 1841 

1805* A exportação OpenTelemetry para seu backend é opt-in e requer configuração explícita. Para a telemetria operacional separada da Anthropic e como desabilitá-la, consulte [Uso de dados](/docs/pt/data-usage#telemetry-services)1842* A exportação do OpenTelemetry para o seu backend é opcional e requer configuração explícita. Para a telemetria operacional separada da Anthropic e como desativá-la, consulte [Uso de dados](/docs/pt/data-usage#telemetry-services)

1806* Conteúdos de arquivo brutos e trechos de código não são incluídos em métricas ou eventos. Os spans de rastreamento são um caminho de dados separado: veja o ponto `OTEL_LOG_TOOL_CONTENT` abaixo1843* O conteúdo bruto de arquivos e trechos de código não são incluídos em métricas ou eventos. Os spans de trace são um caminho de dados separado: consulte o item sobre `OTEL_LOG_TOOL_CONTENT` abaixo

1807* Quando autenticado via OAuth, `user.email` é incluído em atributos de telemetria, enviado apenas para o endpoint OTel que você configura, nunca para a Anthropic. Se isso for uma preocupação para sua organização, trabalhe com seu backend de telemetria para filtrar ou reduzir este campo1844* Quando autenticado via OAuth, `user.email` é incluído nos atributos de telemetria, enviado apenas para o endpoint OTel que você configurar, nunca para a Anthropic. Se isso for uma preocupação para a sua organização, trabalhe com o seu backend de telemetria para filtrar ou ocultar esse campo

1808* O conteúdo do prompt do usuário não é coletado por padrão. Apenas o comprimento do prompt é registrado. Para incluir conteúdo do prompt, defina `OTEL_LOG_USER_PROMPTS=1`. Quando ativado:1845* O conteúdo dos prompts do usuário não é coletado por padrão. Apenas o comprimento do prompt é registrado. Para incluir o conteúdo do prompt, defina `OTEL_LOG_USER_PROMPTS=1`. Quando ativado:

1809 * Eventos `user_prompt` carregam o texto do prompt em dois atributos, `prompt` e [`prompt_text`](#user-prompt-event). Se você descartar ou mascarar o texto do prompt do evento pelo nome do atributo no seu coletor, nomeie ambos os atributos na regra1846 * Os eventos `user_prompt` carregam o texto do prompt em dois atributos, `prompt` e [`prompt_text`](#user-prompt-event). Se você descartar ou mascarar o texto do prompt do evento pelo nome do atributo no seu coletor, nomeie ambos os atributos na regra

1810 1847 

1811 Este processador `attributes` do OpenTelemetry Collector exclui ambos os atributos nos pipelines que o listam:1848 Este processador `attributes` do OpenTelemetry Collector exclui ambos os atributos nos pipelines que o listam:

1812 1849 


1820 action: delete1857 action: delete

1821 ```1858 ```

1822 1859 

1823 * Com o [rastreamento](#traces-beta) ativado, o span `claude_code.interaction` carrega o texto do prompt em seu atributo `user_prompt`1860 * Com o [tracing](#traces-beta) ativado, o span `claude_code.interaction` carrega o texto do prompt no seu atributo `user_prompt`

1824 1861 

1825 * Sob rastreamento beta detalhado, os spans também carregam as novas mensagens do usuário, resultados de ferramenta e lembretes do sistema enviados com cada requisição, o texto do system prompt e a saída do modelo. [Atributos de conteúdo sob rastreamento beta detalhado](#new-context-gates) lista cada atributo. O evento `claude_code.system_prompt` carrega o system prompt completo1862 * No tracing beta detalhado, os spans também carregam as novas mensagens do usuário, resultados de ferramentas e lembretes do sistema enviados com cada requisição, o texto do system prompt e a saída do modelo. [Atributos de conteúdo no tracing beta detalhado](#new-context-gates) lista cada atributo. O evento `claude_code.system_prompt` carrega o system prompt completo

1826* O texto de resposta do assistente não é coletado por padrão. Apenas o comprimento da resposta é registrado. Para incluir texto de resposta, defina `OTEL_LOG_ASSISTANT_RESPONSES=1`. Como todos os dados OpenTelemetry do Claude Code, o texto de resposta é enviado apenas para o endpoint OTel que você configura, nunca para a Anthropic. Quando esta variável não está definida, `OTEL_LOG_USER_PROMPTS` é usado como fallback, portanto defina `OTEL_LOG_ASSISTANT_RESPONSES=0` se você quiser conteúdo de prompt sem conteúdo de resposta nos eventos. Sob rastreamento beta detalhado, o span `claude_code.llm_request` ainda carrega a saída do modelo em [`response.model_output`](#new-context-gates), que segue `OTEL_LOG_USER_PROMPTS` em vez desta variável1863* O texto das respostas do assistente não é coletado por padrão. Apenas o comprimento da resposta é registrado. Para incluir o texto da resposta, defina `OTEL_LOG_ASSISTANT_RESPONSES=1`. Como todos os dados do OpenTelemetry do Claude Code, o texto da resposta é enviado apenas para o endpoint OTel que você configurar, nunca para a Anthropic. Quando essa variável não está definida, `OTEL_LOG_USER_PROMPTS` é usada como fallback, então defina `OTEL_LOG_ASSISTANT_RESPONSES=0` se quiser o conteúdo do prompt sem o conteúdo da resposta nos eventos. No tracing beta detalhado, o span `claude_code.llm_request` ainda carrega a saída do modelo em [`response.model_output`](#new-context-gates), que segue `OTEL_LOG_USER_PROMPTS` em vez dessa variável

1827* Argumentos de entrada de ferramenta e parâmetros não são registrados por padrão. Para incluí-los, defina `OTEL_LOG_TOOL_DETAILS=1`. Para os servidores integrados do Claude Desktop, em sessões que o Claude Desktop possui, `tool_decision` e `tool_result` carregam o par `mcp_server_name`/`mcp_tool_name`, nomes criados pelo host em vez de conteúdo de argumentos, mesmo com a flag desativada. A exceção requer Claude Code v2.1.214 ou posterior. Estes dados são enviados apenas para o endpoint OTEL que você configura, nunca para a Anthropic. Os argumentos ainda podem conter valores sensíveis, portanto configure seu backend de telemetria para filtrar ou reduzir esses atributos conforme necessário. Quando ativado:1864* Os argumentos e parâmetros de entrada das ferramentas não são registrados em log por padrão. Para incluí-los, defina `OTEL_LOG_TOOL_DETAILS=1`. Para os servidores integrados do Claude Desktop, em sessões que pertencem ao Claude Desktop, `tool_decision` e `tool_result` carregam o par `mcp_server_name`/`mcp_tool_name`, nomes definidos pelo host em vez de conteúdo de argumentos, mesmo com a flag desativada. Esses dados são enviados apenas para o endpoint OTEL que você configurar, nunca para a Anthropic. Os argumentos ainda podem conter valores sensíveis, então configure o seu backend de telemetria para filtrar ou ocultar esses atributos conforme necessário. Quando ativado:

1828 * Eventos `tool_result` e `tool_decision` incluem um atributo `tool_parameters` com comandos Bash, nomes de servidor MCP e ferramenta, e nomes de skill. Campos como `full_command` são emitidos sem truncamento1865 * Os eventos `tool_result` e `tool_decision` incluem um atributo `tool_parameters` com comandos Bash, nomes de servidores MCP e de ferramentas, e nomes de skills. Campos como `full_command` são emitidos sem truncamento

1829 * Eventos `tool_result` adicionalmente incluem um atributo `tool_input` com caminhos de arquivo, URLs, padrões de busca e outros argumentos. Valores individuais com mais de 512 caracteres são truncados e o total é limitado a \~4 K caracteres1866 * Os eventos `tool_result` incluem adicionalmente um atributo `tool_input` com caminhos de arquivos, URLs, padrões de pesquisa e outros argumentos. Valores individuais com mais de 512 caracteres são truncados e o total é limitado a \~4 K caracteres

1830 * Eventos `user_prompt` incluem o `command_name` verbatim para comandos customizados, plugin e MCP1867 * Os eventos `user_prompt` incluem o `command_name` literal para comandos personalizados, de plugins e MCP

1831 * Os [contadores de custo e token](#cost-counter) e os eventos `api_request`, `api_error` e `api_refusal` carregam nomes reais de agente, skill, plugin e servidor MCP e nomes de ferramenta em seus atributos de atribuição1868 * Os [contadores de custo e de tokens](#cost-counter) e os eventos `api_request`, `api_error` e `api_refusal` carregam os nomes reais de agentes, skills, plugins, servidores MCP e ferramentas nos seus atributos de atribuição

1832 * O span `claude_code.tool` carrega atributos derivados da entrada, como `file_path`. Sob rastreamento beta detalhado, ele também carrega um atributo [`tool_input`](#new-context-gates)1869 * O span `claude_code.tool` carrega atributos derivados da entrada, como `file_path`. No tracing beta detalhado, ele também carrega um atributo [`tool_input`](#new-context-gates)

1833* O conteúdo de ferramenta não é registrado em spans de rastreamento por padrão. Para incluí-lo, defina `OTEL_LOG_TOOL_CONTENT=1`. O span `claude_code.tool` então carrega um [evento de span `tool.output`](#tool-output-span-event) com conteúdos de arquivo brutos, saída de comando Bash e o que ferramentas MCP, WebFetch e WebSearch retornam, truncado no limite de conteúdo (60 KB por padrão) por atributo. Resultados de ferramentas MCP, WebFetch e WebSearch requerem Claude Code v2.1.283 ou posterior. O conteúdo de ferramenta também alcança spans através de [`new_context`, cujo controle difere por span](#new-context-gates). Configure seu backend de telemetria para filtrar ou reduzir esses atributos conforme necessário1870* O conteúdo das ferramentas não é registrado em log nos spans de trace por padrão. Para incluí-lo, defina `OTEL_LOG_TOOL_CONTENT=1`. O span `claude_code.tool` passa então a carregar um [evento de span `tool.output`](#tool-output-span-event) com o conteúdo bruto de arquivos, a saída de comandos Bash e o que as ferramentas MCP, WebFetch e WebSearch retornam, truncados no limite de conteúdo (60 KB por padrão) por atributo. Os resultados de ferramentas MCP, WebFetch e WebSearch requerem o Claude Code v2.1.283 ou posterior. O conteúdo das ferramentas também chega aos spans por meio de [`new_context`, cuja condição difere por span](#new-context-gates). Configure o seu backend de telemetria para filtrar ou ocultar esses atributos conforme necessário

1834* Corpos de solicitação e resposta da API Anthropic Messages brutos não são registrados por padrão. Para incluí-los, defina `OTEL_LOG_RAW_API_BODIES` em suas configurações de shell, usuário ou gerenciadas. É ignorado em [configurações de projeto e local](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Os corpos contêm o histórico de conversa completo, incluindo o prompt do sistema, cada turno anterior de usuário e assistente, e resultados de ferramenta, portanto ativar isso implica consentimento para tudo que os outros sinalizadores de conteúdo `OTEL_LOG_*` revelariam. O Claude Code sempre reduz o conteúdo de pensamento estendido do Claude desses corpos, independentemente de outras configurações. O valor que você define determina como o Claude Code entrega os corpos:1871* Os corpos brutos de requisição e resposta da Anthropic Messages API não são registrados em log por padrão. Para incluí-los, defina `OTEL_LOG_RAW_API_BODIES` no seu shell, nas configurações de usuário ou nas configurações gerenciadas. Ela é ignorada nas [configurações de projeto e locais](/docs/pt/settings-reference#variables-claude-code-ignores-in-env). Os corpos contêm o histórico completo da conversa, incluindo o system prompt, todos os turnos anteriores do usuário e do assistente, e os resultados de ferramentas, portanto ativar essa opção implica consentimento com tudo o que as outras flags de conteúdo `OTEL_LOG_*` revelariam. O Claude Code sempre remove (oculta) o conteúdo de pensamento estendido do Claude desses corpos, independentemente de outras configurações. O valor que você define determina como o Claude Code entrega os corpos:

1835 * Com `=1`, Claude Code emite eventos de log `api_request_body` e `api_response_body` para cada chamada de API. O atributo `body` dos eventos carrega a carga útil serializada em JSON, truncada no limite de conteúdo (60 KB por padrão)1872 * Com `=1`, o Claude Code emite eventos de log `api_request_body` e `api_response_body` para cada chamada de API. O atributo `body` dos eventos carrega o payload serializado em JSON, truncado no limite de conteúdo (60 KB por padrão)

1836 * Com `=file:<dir>`, Claude Code escreve corpos não truncados em arquivos `.request.json` e `.response.json` sob esse diretório, e os eventos carregam um caminho `body_ref` em vez do corpo inline. Envie o diretório com um coletor de log ou sidecar em vez de através do fluxo de telemetria.1873 * Com `=file:<dir>`, o Claude Code grava os corpos sem truncamento em arquivos `.request.json` e `.response.json` nesse diretório, e os eventos carregam um caminho `body_ref` em vez do corpo embutido. Envie o diretório com um coletor de logs ou sidecar, em vez de pelo fluxo de telemetria.

1837 1874 

1838 Para cada resposta bem-sucedida, Claude Code também anexa uma linha a `index.jsonl` nesse diretório, vinculando o arquivo de resposta ao arquivo de solicitação que o produziu e à mensagem de transcrição em que se tornou. Cada linha não contém conteúdo de mensagem, e a seção [evento de corpo de resposta da API](#api-response-body-event) lista seus campos. O arquivo de índice requer Claude Code v2.1.274 ou posterior1875 Para cada resposta bem-sucedida, o Claude Code também acrescenta uma linha ao `index.jsonl` nesse diretório, vinculando o arquivo de resposta ao arquivo de requisição que a produziu e à mensagem da transcrição em que ela se tornou. Cada linha não contém conteúdo de mensagens, e a seção [evento de corpo de resposta da API](#api-response-body-event) lista seus campos. O arquivo de índice requer o Claude Code v2.1.274 ou posterior

1839 1876 

1840<h2 id="monitor-claude-code-on-amazon-bedrock">1877<h2 id="monitor-claude-code-on-amazon-bedrock">

1841 Monitorar Claude Code no Amazon Bedrock1878 Monitorar Claude Code no Amazon Bedrock

Details

223* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` define o tempo limite de ambos os watchdogs. Claude Code aumenta valores abaixo de 5 minutos para 5 minutos, e limita o valor a 30 minutos para o watchdog de nível de byte.223* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` define o tempo limite de ambos os watchdogs. Claude Code aumenta valores abaixo de 5 minutos para 5 minutos, e limita o valor a 30 minutos para o watchdog de nível de byte.

224* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` define o tempo limite do watchdog de nível de byte sem alterar o do watchdog de nível de evento, limitado entre 10 segundos e 30 minutos, e tem precedência sobre `CLAUDE_STREAM_IDLE_TIMEOUT_MS` para esse watchdog.224* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` define o tempo limite do watchdog de nível de byte sem alterar o do watchdog de nível de evento, limitado entre 10 segundos e 30 minutos, e tem precedência sobre `CLAUDE_STREAM_IDLE_TIMEOUT_MS` para esse watchdog.

225* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` define o prazo de primeiro byte diretamente. Deixe-o não definido e Claude Code usa o tempo limite do watchdog de nível de byte, então `CLAUDE_STREAM_IDLE_TIMEOUT_MS` e `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` também alteram o prazo. Para os limites, a permissão de upload, o limite `API_TIMEOUT_MS`, e quanto tempo a tentativa aguarda após um aborto sem resposta, veja [Nenhuma resposta da API](/docs/pt/errors#no-response-from-api).225* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` define o prazo de primeiro byte diretamente. Deixe-o não definido e Claude Code usa o tempo limite do watchdog de nível de byte, então `CLAUDE_STREAM_IDLE_TIMEOUT_MS` e `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` também alteram o prazo. Para os limites, a permissão de upload, o limite `API_TIMEOUT_MS`, e quanto tempo a tentativa aguarda após um aborto sem resposta, veja [Nenhuma resposta da API](/docs/pt/errors#no-response-from-api).

226* `API_TIMEOUT_MS` limita a espera pelos cabeçalhos de resposta. Onde o prazo de primeiro byte não é executado, como em uma sessão do Claude apps gateway, defina-o abaixo de `300000`, que equivale a 5 minutos, para tentar novamente mais cedo uma requisição sem resposta. Mantenha-o acima da espera mais longa por cabeçalhos, e da [requisição sem streaming](/docs/pt/errors#streaming-response-ended-before-any-complete-data-was-received) mais longa, que você espera: uma requisição que precisa de mais tempo atinge o timeout novamente a cada nova tentativa.226* `API_TIMEOUT_MS` limita a espera pelos cabeçalhos de resposta, não quanto tempo uma resposta é transmitida depois deles. Onde o prazo de primeiro byte não é executado, como em uma sessão do Claude apps gateway, defina-o abaixo de `300000`, que equivale a 5 minutos, para tentar novamente mais cedo uma requisição sem resposta. Mantenha-o acima da espera mais longa por cabeçalhos, e da [requisição sem streaming](/docs/pt/errors#streaming-response-ended-before-any-complete-data-was-received) mais longa, que você espera: uma requisição que precisa de mais tempo atinge o timeout novamente a cada nova tentativa.

227* `API_FORCE_IDLE_TIMEOUT` definido como `0` desativa o tempo limite de inatividade do corpo, e definido como `1` o ativa para cada provedor. Os watchdogs executam independentemente dele, então para permitir que um stream pause mais tempo do que seus limites, também aumente ou desative-os.227* `API_FORCE_IDLE_TIMEOUT` definido como `0` desativa o tempo limite de inatividade do corpo, e definido como `1` o ativa para cada provedor. Os watchdogs executam independentemente dele, então para permitir que um stream pause mais tempo do que seus limites, também aumente ou desative-os.

228 228 

229Quando um watchdog aborta um stream travado, Claude Code trata o aborto como uma falha no meio do stream, e o que você vê depende de quão longe a resposta tinha chegado. Claude Code tenta novamente a solicitação ou encerra a rodada com um erro, mantém a saída concluída e mostra um [aviso de resposta incompleta](/docs/pt/errors#the-response-above-may-be-incomplete), ou encerra a rodada normalmente. [Tentativas automáticas](/docs/pt/errors#automatic-retries) diz onde cada resultado se aplica.229Quando um watchdog aborta um stream travado, Claude Code trata o aborto como uma falha no meio do stream, e o que você vê depende de quão longe a resposta tinha chegado. Claude Code tenta novamente a solicitação ou encerra a rodada com um erro, mantém a saída concluída e mostra um [aviso de resposta incompleta](/docs/pt/errors#the-response-above-may-be-incomplete), ou encerra a rodada normalmente. [Tentativas automáticas](/docs/pt/errors#automatic-retries) diz onde cada resultado se aplica.

Details

86| Como você executa Claude Code | Modo de permissão inicial integrado |86| Como você executa Claude Code | Modo de permissão inicial integrado |

87| :- | :- |87| :- | :- |

88| Qualquer arquivo de configurações define `disableAutoMode` como `"disable"` | `default` |88| Qualquer arquivo de configurações define `disableAutoMode` como `"disable"` | `default` |

89| `claude -p` ou o [Agent SDK](/docs/pt/agent-sdk/permissions#permission-modes) | `default` em sessões que [buscam sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Em sessões que não buscam, como em um provedor de terceiros ou com telemetria desativada, `auto` com Claude Code v2.1.285 ou posterior e `default` em versões anteriores. Uma sessão em uma organização cuja política retém o padrão `auto` inicia em `default` em vez disso |89| `claude -p` ou o [Agent SDK](/docs/pt/agent-sdk/permissions#permission-modes) | `default` |

90| Sua organização tem a [configuração HIPAA](#hipaa-configuration) aplicada e a sessão é [elegível para ela](/docs/pt/hipaa-setup#check-how-developers-sign-in-and-connect) | `default` com Claude Code v2.1.285 ou posterior; o modo auto continua disponível para alternar |90| Sua organização tem a [configuração HIPAA](#hipaa-configuration) aplicada e a sessão é [elegível para ela](/docs/pt/hipaa-setup#check-how-developers-sign-in-and-connect) | `default` com Claude Code v2.1.285 ou posterior; o modo auto continua disponível para alternar |

91| Em um terminal ou através da [extensão VS Code](/docs/pt/vs-code) | `auto` com Claude Code v2.1.283 ou posterior; em versões anteriores, `auto` em planos Pro, Max ou Team em sessões que [buscam sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), e `default` caso contrário |91| Em um terminal ou através da [extensão VS Code](/docs/pt/vs-code) | `auto` com Claude Code v2.1.283 ou posterior; em versões anteriores, `auto` em planos Pro, Max ou Team em sessões que [buscam sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), e `default` caso contrário |

92 92 

93Em sua [primeira sessão após uma instalação ou upgrade](/docs/pt/env-vars#first-session-after-an-install-or-upgrade), Claude Code pode escolher o modo de permissão inicial antes de seus sinalizadores de recurso chegarem. Essa sessão pode iniciar em um modo de permissão diferente do que a tabela fornece.

94 

95Quando a flag, um arquivo de configurações ou o padrão integrado seleciona `auto` mas o modo auto não está disponível para a sessão, Claude Code inicia a sessão no modo Manual em vez disso. O modo auto não está disponível quando a sessão não atende aos [requisitos de disponibilidade](#eliminate-prompts-with-auto-mode), como um arquivo de configurações desativando-o ou um modelo que não o suporta, ou quando Anthropic o desativou temporariamente no lado do servidor.93Quando a flag, um arquivo de configurações ou o padrão integrado seleciona `auto` mas o modo auto não está disponível para a sessão, Claude Code inicia a sessão no modo Manual em vez disso. O modo auto não está disponível quando a sessão não atende aos [requisitos de disponibilidade](#eliminate-prompts-with-auto-mode), como um arquivo de configurações desativando-o ou um modelo que não o suporta, ou quando Anthropic o desativou temporariamente no lado do servidor.

96 94 

97A primeira vez que o padrão integrado inicia uma de suas sessões em modo auto, Claude Code mostra um aviso que vincula a esta página:95A primeira vez que o padrão integrado inicia uma de suas sessões em modo auto, Claude Code mostra um aviso que vincula a esta página:


101 99 

102Se seu `~/.claude/settings.json` define um `defaultMode` diferente de `auto` e nenhum outro arquivo de configurações define um, suas sessões continuam iniciando nesse modo. Nos planos Pro, Max e Team, e em sessões que [não buscam sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), Claude Code pergunta uma vez, no terminal ou na extensão VS Code, se você quer alterar a configuração para modo auto. Se você recusar, sua configuração permanece como está.100Se seu `~/.claude/settings.json` define um `defaultMode` diferente de `auto` e nenhum outro arquivo de configurações define um, suas sessões continuam iniciando nesse modo. Nos planos Pro, Max e Team, e em sessões que [não buscam sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), Claude Code pergunta uma vez, no terminal ou na extensão VS Code, se você quer alterar a configuração para modo auto. Se você recusar, sua configuração permanece como está.

103 101 

102<h3 id="which-mode-a-non-interactive-run-starts-in">

103 Chamadas de ferramenta negadas em execuções de `claude -p` e do Agent SDK

104</h3>

105 

106No Claude Code v2.1.302 ou posterior, execuções de `claude -p` e do [Agent SDK](/docs/pt/agent-sdk/permissions#permission-modes) [sem modo de permissão definido](#which-mode-a-session-starts-in) iniciam no modo Manual. Esse modo aparece como `default` nas opções do SDK e nas configurações. Chamadas que precisam de aprovação são negadas, a menos que você as aprove com uma regra de permissão, hook, callback `canUseTool` ou `--permission-prompt-tool`.

107 

108Para que essas chamadas sejam aprovadas, adicione regras de permissão ou inicie no modo auto:

109 

110* **[Adicionar regras de permissão](/docs/pt/permissions#manage-permissions)**: Claude executa as chamadas que você listar. Passe [`--allowedTools "Bash(npm test)"`](/docs/pt/headless#auto-approve-tools) para `claude -p`, ou defina a [opção de ferramentas permitidas](/docs/pt/agent-sdk/permissions#allow-and-deny-rules) do seu SDK.

111* **Iniciar no [modo auto](#eliminate-prompts-with-auto-mode)**: um modelo classificador revisa as chamadas, então você não precisa listar nada antecipadamente. Passe `--permission-mode auto` para `claude -p`, ou defina a [opção de modo de permissão](/docs/pt/agent-sdk/permissions#set-permission-mode) do seu SDK.

112 

113Estes exemplos mostram a forma do modo auto para a CLI e cada SDK:

114 

115<Tabs>

116 <Tab title="CLI">

117 ```bash theme={null}

118 claude -p "Run the test suite and fix any failures" --permission-mode auto

119 ```

120 </Tab>

121 

122 <Tab title="TypeScript">

123 ```typescript theme={null}

124 const options = {

125 permissionMode: "auto"

126 };

127 ```

128 </Tab>

129 

130 <Tab title="Python">

131 ```python theme={null}

132 from claude_agent_sdk import ClaudeAgentOptions

133 

134 options = ClaudeAgentOptions(permission_mode="auto")

135 ```

136 </Tab>

137</Tabs>

138 

139Antes da v2.1.302, essas execuções podiam iniciar no modo auto se não [buscassem sinalizadores de recurso](/docs/pt/env-vars#features-that-need-feature-flag-fetching), por exemplo em um [provedor de terceiros](/docs/pt/third-party-integrations) ou com `DISABLE_TELEMETRY`.

140 

104<h3 id="start-in-a-different-mode">141<h3 id="start-in-a-different-mode">

105 Inicie em um modo de permissão diferente142 Inicie em um modo de permissão diferente

106</h3>143</h3>


216 </Tab>253 </Tab>

217 254 

218 <Tab title="Desktop">255 <Tab title="Desktop">

219 **Durante uma sessão**: na aba Code, use o seletor de modo ao lado do botão enviar. Nem todo modo aparece no seletor:256 **Durante uma sessão**: na aba Code, use o seletor de modo na linha abaixo da caixa de prompt. Nem todo modo aparece no seletor:

220 257 

221 * **Auto**: aparece quando [modo automático está disponível](#eliminate-prompts-with-auto-mode)258 * **Auto**: aparece quando [modo automático está disponível](#eliminate-prompts-with-auto-mode)

222 * **Bypass permissions**: requer o toggle **Allow bypass permissions mode** nas configurações do Desktop em planos Pro e Max; em planos Team e Enterprise, a política da organização controla isso259 * **Bypass permissions**: requer o toggle **Allow bypass permissions mode** nas configurações do Desktop em planos Pro e Max; em planos Team e Enterprise, a política da organização controla isso


345 Modo auto em Bedrock, Agent Platform ou Foundry382 Modo auto em Bedrock, Agent Platform ou Foundry

346</h3>383</h3>

347 384 

348Em [Amazon Bedrock](/docs/pt/amazon-bedrock), [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai), [Microsoft Foundry](/docs/pt/microsoft-foundry) e sessões [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas, o modo auto está disponível por padrão. Quando nada mais define um modo de permissão, também é o [modo de permissão inicial integrado](#which-mode-a-session-starts-in), nas versões que a tabela dessa seção lista. Para escolher o modo de permissão inicial você mesmo, defina `permissions.defaultMode` como [Iniciar em um modo de permissão diferente](#start-in-a-different-mode) descreve, ou escolha um modo de permissão no indicador de modo da extensão VS Code.385Em [Amazon Bedrock](/docs/pt/amazon-bedrock), [Agent Platform do Google Cloud](/docs/pt/google-vertex-ai), [Microsoft Foundry](/docs/pt/microsoft-foundry) e sessões [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway) conectadas, o modo auto está disponível por padrão. Se você não definir um modo de permissão nesses ambientes, sessões interativas iniciam no modo auto, e execuções `claude -p` ou do Agent SDK iniciam no modo Manual, cujo valor de configuração é `default`:

386 

387* **Sessões interativas de terminal e VS Code**: para iniciá-las em um modo de permissão diferente de auto, defina `permissions.defaultMode` como [Iniciar em um modo de permissão diferente](#start-in-a-different-mode) descreve, ou escolha um no [indicador de modo](#switch-permission-modes) da extensão VS Code. [Em qual modo uma sessão inicia](#which-mode-a-session-starts-in) lista as versões de Claude Code que as iniciam no modo auto.

388* **Execuções `claude -p` e do Agent SDK**: para iniciar uma no modo auto, passe `--permission-mode auto` para `claude -p`, ou passe `permissionMode: "auto"` em TypeScript ou `permission_mode="auto"` em Python. Se você não passar nenhum modo de permissão, consulte [Chamadas de ferramenta negadas em execuções `claude -p` e do Agent SDK](#which-mode-a-non-interactive-run-starts-in), que também cobre versões anteriores de Claude Code.

349 389 

350Apenas Claude Sonnet 5 ou posterior, Opus 4.7 ou posterior, Haiku 5.5 e os modelos Fable são suportados nesses provedores. Em qualquer outro modelo, a sessão inicia em Manual em vez disso. O modo auto com Haiku 5.5 nesses provedores requer Claude Code v2.1.293 ou posterior.390Apenas Claude Sonnet 5 ou posterior, Opus 4.7 ou posterior, Haiku 5.5 e os modelos Fable são suportados nesses provedores. Em qualquer outro modelo, a sessão inicia em Manual em vez disso. O modo auto com Haiku 5.5 nesses provedores requer Claude Code v2.1.293 ou posterior.

351 391 


368 408 

369Para deixar de consultar o servidor e sempre usar as próprias requisições do classificador de Claude Code, defina [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/pt/env-vars). Em uma conexão direta com a API Anthropic, a variável requer Claude Code v2.1.281 ou posterior. Defini-la como `1` nesse caso ativa a revisão do servidor em uma sessão que ainda não a tem, a menos que você também tenha definido `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Se você definir `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` e deixar `CLAUDE_CODE_AUTO_MODE_SERVER` indefinido, Claude Code também para de pedir ao servidor, exceto como [Desabilitar capacidades de pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) descreve.409Para deixar de consultar o servidor e sempre usar as próprias requisições do classificador de Claude Code, defina [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/pt/env-vars). Em uma conexão direta com a API Anthropic, a variável requer Claude Code v2.1.281 ou posterior. Defini-la como `1` nesse caso ativa a revisão do servidor em uma sessão que ainda não a tem, a menos que você também tenha definido `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Se você definir `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` e deixar `CLAUDE_CODE_AUTO_MODE_SERVER` indefinido, Claude Code também para de pedir ao servidor, exceto como [Desabilitar capacidades de pré-lançamento](/docs/pt/llm-gateway-protocol#disable-pre-release-capabilities) descreve.

370 410 

411<h3 id="default-classifier-model">

412 Modelo classificador padrão

413</h3>

414 

415Por padrão, as requisições do classificador vão para Claude Sonnet 5. Se `/status` mostrar `Auto mode server` como `Enabled`, elas são enviadas apenas para chamadas fora da [revisão do servidor](#server-side-classifier-review).

416 

417Encontre a primeira linha desta tabela que corresponde à sua sessão. Você obtém o modelo dessa linha em vez de Sonnet 5.

418 

419| Sua sessão | Modelo classificador |

420| - | - |

421| Tem um modelo classificador configurado pela Anthropic | O modelo configurado. [Verifique o log de depuração](#classifier-model-check) para ver qual |

422| Executa em Claude Sonnet 4.6 | Sonnet 4.6 |

423| Tem [`ANTHROPIC_DEFAULT_SONNET_MODEL`](/docs/pt/model-config#environment-variables) definido | Seu valor, ou Sonnet 5 se seu valor for Claude Sonnet 5.5 ou Claude Opus 5.5 |

424 

425Se Sonnet 5 ou o modelo em `ANTHROPIC_DEFAULT_SONNET_MODEL` não estiver disponível em seu provedor ou for excluído pela [política de modelos](/docs/pt/model-config#restrict-model-selection) da sua organização, Claude Code usa um modelo de fallback. Esse é o modelo da sua sessão, ou um modelo Opus em uma [sessão Fable](/docs/pt/model-config#work-with-fable).

426 

427<h3 id="choose-the-classifier-model">

428 Escolher o modelo classificador

429</h3>

430 

431Com Claude Code v2.1.302 ou posterior, defina [`CLAUDE_CODE_AUTO_MODE_MODEL`](/docs/pt/env-vars) como um ID de modelo completo para executar o classificador em um modelo diferente do [padrão](#default-classifier-model). Os próprios IDs de modelo completos do seu provedor de nuvem também funcionam. Este exemplo de `~/.claude/settings.json` define Claude Sonnet 4.6:

432 

433```json theme={null}

434{

435 "env": {

436 "CLAUDE_CODE_AUTO_MODE_MODEL": "claude-sonnet-4-6"

437 }

438}

439```

440 

441<h4 id="classifier-model-not-reviewing">

442 Quando o seu modelo não é o que está revisando

443</h4>

444 

445| Situação | O que acontece | O que fazer |

446| - | - | - |

447| Em uma sessão, `/status` mostra [`Auto mode server`](#server-side-classifier-review) como `Enabled` | Seu modelo revisa apenas o que o servidor não revisa | Nada necessário |

448| Você definiu Claude Opus 5, Claude Sonnet 5.5, Claude Opus 5.5 ou um modelo que a [política de modelos](/docs/pt/model-config#restrict-model-selection) da sua organização exclui | O [modelo classificador padrão](#default-classifier-model) revisa | Defina um modelo diferente |

449| A Anthropic configurou um modelo classificador para sua sessão | Esse modelo revisa | Nada necessário |

450| Seu provedor não consegue servir o modelo | As requisições falham e Claude Code [nega toda ação revisada](/docs/pt/errors#auto-mode-cannot-determine-the-safety-of-an-action) | Defina um modelo que ele serve, ou remova a variável |

451 

452<h4 id="classifier-model-check">

453 Verificar qual modelo o classificador usou

454</h4>

455 

456No seu shell, inicie uma sessão no modo auto com [`--debug-file`](/docs/pt/cli-reference#cli-flags):

457 

458```bash theme={null}

459claude --permission-mode auto --debug-file classifier-debug.log

460```

461 

462Peça a Claude para executar um comando de shell que não seja somente leitura e, em seguida, pesquise no log por `classifier_request_started`:

463 

464* **Seu modelo após `model=`**: a variável entrou em vigor

465* **Um modelo diferente após `model=`**: pesquise no log por `ignoring CLAUDE_CODE_AUTO_MODE_MODEL`, que dá o motivo e qualquer etapa a seguir

466* **Nenhuma linha assim**: leia `Auto mode server` em `/status` no prompt de Claude Code:

467 * **`Enabled`**: o [servidor](#server-side-classifier-review) está configurado para revisar as chamadas desta sessão. Nada a mudar.

468 * **`Disabled`**: certifique-se de que o [modo de permissão](#switch-permission-modes) é auto e, em seguida, peça a Claude para executar outro comando que não seja somente leitura.

469 

371<h3 id="what-the-classifier-blocks-by-default">470<h3 id="what-the-classifier-blocks-by-default">

372 O que o classificador bloqueia por padrão471 O que o classificador bloqueia por padrão

373</h3>472</h3>


384* Modificação de infraestrutura compartilhada483* Modificação de infraestrutura compartilhada

385* Destruição irreversível de arquivos que existiam antes da sessão484* Destruição irreversível de arquivos que existiam antes da sessão

386* Force push485* Force push

387* Fazer commit ou push de uma alteração que, ao ser executada, enviaria segredos ou dados sensíveis para fora do repositório, ou ampliaria o que uma implantação expõe. Isso cobre um workflow de CI ou configuração de implantação que passa um segredo para um destino que ainda não o recebe, um script ou etapa de setup que lê um armazenamento de segredos e envia os dados para fora, e uma mudança de configuração que amplia o que uma implantação publica, como uma opção de registro, visibilidade, artefato ou sourcemap. A verificação se aplica em qualquer branch, se aplica mesmo quando o repositório é público e dispara quando é feito commit ou push da alteração, independentemente de esse commit ou push disparar o pipeline; liberá-la requer nomear o efeito de execução, não apenas o commit ou push. Antes da v2.1.211, essa verificação era restrita ao branch padrão: um push para ele era bloqueado quando carregava conteúdo sensível, alterações ocultadas ou mal descritas em relação ao que você pediu, conteúdo trazido de fora do repositório, ou quando contornava uma revisão que você pediu486* Fazer commit ou push de uma alteração que, ao ser executada, enviaria segredos ou dados sensíveis para fora do repositório, ou ampliaria o que uma implantação expõe. Isso cobre um workflow de CI ou configuração de implantação que passa um segredo para um destino que ainda não o recebe, um script ou etapa de setup que lê um armazenamento de segredos e envia os dados para fora, e uma mudança de configuração que amplia o que uma implantação publica, como uma opção de registro, visibilidade, artefato ou sourcemap. A verificação se aplica em qualquer branch, se aplica mesmo quando o repositório é público e dispara quando é feito commit ou push da alteração, independentemente de esse commit ou push disparar o pipeline; liberá-la requer nomear o efeito de execução, não apenas o commit ou push

388* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, que o classificador presume que descartariam alterações sem commit487* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, que o classificador presume que descartariam alterações sem commit

389* `git commit --amend` quando o commit no HEAD não foi criado nesta sessão488* `git commit --amend` quando o commit no HEAD não foi criado nesta sessão

390* A partir da v2.1.198, `git commit --amend` quando já foi feito push do commit no HEAD. Uma reescrita apenas da mensagem não é bloqueada: `--amend -m` sem nada recém-adicionado ao stage, em um commit que Claude criou durante esta sessão489* A partir da v2.1.198, `git commit --amend` quando já foi feito push do commit no HEAD. Uma reescrita apenas da mensagem não é bloqueada: `--amend -m` sem nada recém-adicionado ao stage, em um commit que Claude criou durante esta sessão


568 </Accordion>667 </Accordion>

569 668 

570 <Accordion title="Custo e latência">669 <Accordion title="Custo e latência">

571 O classificador executa em Claude Sonnet 5 por padrão, em vez de na sua seleção de `/model`. Um modelo classificador que a Anthropic configura no servidor tem precedência sobre esse padrão. Quando o modelo de sua sessão é Claude Sonnet 4.6, ou quando [`availableModels`](/docs/pt/model-config#restrict-model-selection) exclui Sonnet 5, o classificador executa no modelo da sessão em vez disso, ou em um modelo Opus quando a sessão executa em um [modelo Fable](/docs/pt/model-config#work-with-fable). Em provedores diferentes da API Anthropic, esse fallback Opus é o modelo que você define em [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/pt/model-config#environment-variables), ou Opus 5 se você não tiver definido um.670 As requisições do classificador de Claude Code podem executar em um modelo diferente da sua seleção de `/model`. Consulte [em qual modelo elas executam](#default-classifier-model).

572 

573 A primeira requisição de modo auto da sessão valida o padrão Sonnet 5: se a requisição for bem-sucedida, Sonnet 5 permanece como o modelo classificador da sessão, e se falhar porque o modelo não está disponível, a sessão usa o fallback em vez disso.

574 671 

575 Em planos Enterprise e em contas que usam a API Claude, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Amazon Bedrock, Agent Platform do Google Cloud ou Microsoft Foundry, chamadas do classificador contam para seu uso de tokens. Cada verificação envia uma parte da transcrição mais a ação pendente, adicionando uma ida e volta antes da execução. Leituras e edições no diretório de trabalho fora de caminhos protegidos pulam o classificador, então a sobrecarga vem principalmente de comandos de shell e operações de rede. Onde o servidor revisa as ações como parte das requisições ao modelo da sessão, não há chamadas separadas do classificador a contar; consulte [Revisão do classificador no servidor](#server-side-classifier-review).672 Em planos Enterprise e em contas que usam a API Claude, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Amazon Bedrock, Agent Platform do Google Cloud ou Microsoft Foundry, chamadas do classificador contam para seu uso de tokens. Cada verificação envia uma parte da transcrição mais a ação pendente, adicionando uma ida e volta antes da execução. Leituras e edições no diretório de trabalho fora de caminhos protegidos pulam o classificador, então a sobrecarga vem principalmente de comandos de shell e operações de rede. Onde o servidor revisa as ações como parte das requisições ao modelo da sessão, não há chamadas separadas do classificador a contar; consulte [Revisão do classificador no servidor](#server-side-classifier-review).

576 673 

permissions.md +3 −3

Details

391 391 

392Claude Code verifica caminhos de imagem colados e listagens de diretório em v2.1.290 e posterior.392Claude Code verifica caminhos de imagem colados e listagens de diretório em v2.1.290 e posterior.

393 393 

394Uma regra deny `Read` também bloqueia as [ferramentas Edit e Write](/docs/pt/errors#file-is-covered-by-a-read-deny-rule) no mesmo caminho, incluindo criar um novo arquivo lá. NotebookEdit não é coberto, portanto adicione uma regra deny `Edit` para caminhos que nenhuma ferramenta pode alterar. A verificação requer Claude Code v2.1.208 ou posterior em edições, e v2.1.228 ou posterior em escritas.394Uma regra deny `Read` também bloqueia as [ferramentas Edit e Write](/docs/pt/errors#file-is-covered-by-a-read-deny-rule) no mesmo caminho, incluindo criar um novo arquivo lá. NotebookEdit não é coberto, portanto adicione uma regra deny `Edit` para caminhos que nenhuma ferramenta pode alterar. Para a ferramenta Write, a verificação requer Claude Code v2.1.228 ou posterior.

395 395 

396Claude Code verifica permissões de arquivo apenas contra regras `Edit(path)` e `Read(path)`. Se você escrever uma regra de caminho para `Write`, `NotebookEdit`, `Glob` ou a ferramenta legada `MultiEdit` em vez disso, Claude Code aceita a regra mas nunca a consulta, e [avisa na inicialização](/docs/pt/errors#is-not-matched-by-file-permission-checks), exceto por uma regra `Glob` passada em `--allowedTools`. Use `Edit(docs/**)` no lugar de `Write(docs/**)`, `NotebookEdit(docs/**)` ou `MultiEdit(docs/**)`, e `Read(docs/**)` no lugar de `Glob(docs/**)`. Claude Code não avisa sobre uma regra de nome de ferramenta sem caminho, como uma regra deny para `Write`; ela corresponde a essa regra no nível de ferramenta em todos os lugares. Requer Claude Code v2.1.210 ou posterior.396Claude Code verifica permissões de arquivo apenas contra regras `Edit(path)` e `Read(path)`. Se você escrever uma regra de caminho para `Write`, `NotebookEdit`, `Glob` ou a ferramenta legada `MultiEdit` em vez disso, Claude Code aceita a regra mas nunca a consulta, e [avisa na inicialização](/docs/pt/errors#is-not-matched-by-file-permission-checks), exceto por uma regra `Glob` passada em `--allowedTools`. Use `Edit(docs/**)` no lugar de `Write(docs/**)`, `NotebookEdit(docs/**)` ou `MultiEdit(docs/**)`, e `Read(docs/**)` no lugar de `Glob(docs/**)`. Claude Code não avisa sobre uma regra de nome de ferramenta sem caminho, como uma regra deny para `Write`; ela corresponde a essa regra no nível de ferramenta em todos os lugares.

397 397 

398<Warning>398<Warning>

399 As regras deny de Read e Edit se aplicam às ferramentas de arquivo integradas do Claude, aos comandos de arquivo que Claude Code reconhece em Bash, como `cat`, `head`, `tail`, `sed` e `tee`, e aos alvos de [redirecionamentos](#redirections) Bash como `> file` e `< file`. Elas não se aplicam a um comando que lê arquivos sem nomeá-los, como `grep -r pattern .` executado a partir do diretório que contém o arquivo, ou a subprocessos arbitrários que leem ou escrevem arquivos indiretamente, como um script Python ou Node que abre arquivos por conta própria. Para imposição em nível de SO que bloqueia todos os processos de acessar um caminho, [ative o sandbox](/docs/pt/sandboxing).399 As regras deny de Read e Edit se aplicam às ferramentas de arquivo integradas do Claude, aos comandos de arquivo que Claude Code reconhece em Bash, como `cat`, `head`, `tail`, `sed` e `tee`, e aos alvos de [redirecionamentos](#redirections) Bash como `> file` e `< file`. Elas não se aplicam a um comando que lê arquivos sem nomeá-los, como `grep -r pattern .` executado a partir do diretório que contém o arquivo, ou a subprocessos arbitrários que leem ou escrevem arquivos indiretamente, como um script Python ou Node que abre arquivos por conta própria. Para imposição em nível de SO que bloqueia todos os processos de acessar um caminho, [ative o sandbox](/docs/pt/sandboxing).


762 762 

763Quando você ativa sandboxing e deixa `autoAllowBashIfSandboxed` em seu padrão de `true`, comandos Bash em sandbox são executados sem solicitação mesmo se suas permissões incluem uma regra de pergunta simples `Bash`, ou a [forma equivalente `Bash(*)`](#match-all-uses-of-a-tool): o limite de sandbox substitui esse prompt de ferramenta inteira.763Quando você ativa sandboxing e deixa `autoAllowBashIfSandboxed` em seu padrão de `true`, comandos Bash em sandbox são executados sem solicitação mesmo se suas permissões incluem uma regra de pergunta simples `Bash`, ou a [forma equivalente `Bash(*)`](#match-all-uses-of-a-tool): o limite de sandbox substitui esse prompt de ferramenta inteira.

764 764 

765Em [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode), o Claude Code pula essa substituição. Sem uma regra de pergunta, os [comandos somente leitura integrados](#read-only-commands) ainda são executados sem solicitação, e qualquer outro comando shell passa pelo fluxo de permissão regular enquanto você ainda está planejando; veja [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) para como o Claude Code controla comandos lá. Com uma regra de pergunta simples `Bash`, cada comando Bash solicita, incluindo comandos somente leitura em sandbox, o mesmo que fora do sandboxing. Antes da v2.1.212, a substituição também se aplicava em plan mode.765Em [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode), o Claude Code pula essa substituição. Sem uma regra de pergunta, os [comandos somente leitura integrados](#read-only-commands) ainda são executados sem solicitação, e qualquer outro comando shell passa pelo fluxo de permissão regular enquanto você ainda está planejando; veja [modo de planejamento](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) para como o Claude Code controla comandos lá. Com uma regra de pergunta simples `Bash`, cada comando Bash solicita, incluindo comandos somente leitura em sandbox, o mesmo que fora do sandboxing.

766 766 

767Essas verificações ainda se aplicam:767Essas verificações ainda se aplicam:

768 768 

Details

95 95 

96 <Steps>96 <Steps>

97 <Step title="Abra o navegador de plugins">97 <Step title="Abra o navegador de plugins">

98 Clique no botão **+** ao lado da caixa de prompt e selecione **Plugins**, depois **Add plugin**. O navegador de plugins abre com os plugins de seus marketplaces.98 Clique no botão **+** ao lado da caixa de prompt e selecione **Add plugins**. Se o menu **+** mostrar **Plugins** em vez de **Add plugins**, selecione **Plugins** e depois **Browse plugins**. O navegador de plugins abre com os plugins de seus marketplaces.

99 </Step>99 </Step>

100 100 

101 <Step title="Selecione o plugin">101 <Step title="Selecione o plugin">


107 </Step>107 </Step>

108 </Steps>108 </Steps>

109 109 

110 Para habilitar, desabilitar ou desinstalar depois, use **+ > Plugins > Manage plugins**. O navegador de plugins não está disponível nas sessões na nuvem do aplicativo desktop. Veja [Instalar plugins no aplicativo desktop](/docs/pt/desktop#install-plugins).110 Para habilitar, desabilitar ou desinstalar um plugin depois, veja [Instalar plugins no aplicativo desktop](/docs/pt/desktop#install-plugins).

111 </Tab>111 </Tab>

112 112 

113 <Tab title="VS Code">113 <Tab title="VS Code">

Details

67 67 

68| Field | Type | Description |68| Field | Type | Description |

69| :- | :- | :- |69| :- | :- | :- |

70| `name` | string | Identificador do marketplace: letras, dígitos, `.`, `_` e `-`, começando com uma letra ou dígito, e sem `..`. `claude plugin validate` falha com qualquer outro nome, porque Claude Code [não consegue instalar plugins de um marketplace que use um nome assim](/docs/pt/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name). Os usuários digitam o nome após `@` em um [plugin id](/docs/pt/plugins/loading#find-where-a-plugin-came-from) como `my-plugin@my-marketplace` ao instalar um plugin. Veja [Reserved names](#reserved-names) |70| `name` | string | Identificador do marketplace: letras, dígitos, `.`, `_` e `-`, começando com uma letra ou dígito, e sem `..`. `claude plugin validate` falha com qualquer outro nome, porque Claude Code [não consegue instalar plugins de um marketplace que use um nome assim](/docs/pt/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name). Os usuários digitam o nome após `@` em um [ID de plugin](/docs/pt/plugins/loading#find-where-a-plugin-came-from) como `my-plugin@my-marketplace` ao instalar um plugin. Veja [Nomes reservados](#reserved-names) |

71| `owner` | object | Informações do mantenedor. `name` é obrigatório; `email` e `url` são opcionais |71| `owner` | object | Informações do mantenedor. `name` é obrigatório; `email` e `url` são opcionais |

72| `plugins` | array | [Plugin entries](#plugin-entries). Cada entrada é validada por conta própria, então uma entrada inválida não falha o marketplace |72| `plugins` | array | [Plugin entries](#plugin-entries). Cada entrada é validada por conta própria, então uma entrada inválida não falha o marketplace |

73| `$schema` | string | URL do JSON Schema para preenchimento automático do editor. Ignorado no tempo de carregamento |73| `$schema` | string | URL do JSON Schema para preenchimento automático do editor. Ignorado no tempo de carregamento |


490| `Marketplace must have a name` | Error | `name` está vazio |490| `Marketplace must have a name` | Error | `name` está vazio |

491| `Marketplace name cannot contain spaces. Use kebab-case (e.g., "my-marketplace")` | Error | `name` |491| `Marketplace name cannot contain spaces. Use kebab-case (e.g., "my-marketplace")` | Error | `name` |

492| `Marketplace name cannot contain path separators (/ or \), ".." sequences, or be "."` | Error | `name` |492| `Marketplace name cannot contain path separators (/ or \), ".." sequences, or be "."` | Error | `name` |

493| `Marketplace name impersonates an official Anthropic/Claude marketplace` | Error | `name`. Veja [Reserved names](#reserved-names) |493| `Marketplace name impersonates an official Anthropic/Claude marketplace` | Error | `name`. Veja [Nomes reservados](#reserved-names) |

494| `Marketplace name cannot contain control or bidirectional-formatting characters` | Error | `name` contém um caractere de controle, como um escape ou uma nova linha, ou um caractere de formatação bidirecional Unicode |494| `Marketplace name cannot contain control or bidirectional-formatting characters` | Error | `name` contém um caractere de controle, como um escape ou uma nova linha, ou um caractere de formatação bidirecional Unicode |

495| `Marketplace name "inline" is reserved for --plugin-dir session plugins`, e as variantes `builtin`, `skills-dir`, `synced`, `claude-plugin-test`, `npm`, `pip`, `uv`, `cargo`, `github` e `gh` | Error | `name` |495| `Marketplace name "inline" is reserved for --plugin-dir session plugins`, e as variantes `builtin`, `skills-dir`, `synced`, `claude-plugin-test`, `npm`, `pip`, `uv`, `cargo`, `github` e `gh` | Error | `name` |

496| `Author name cannot be empty` | Error | `owner.name` |496| `Author name cannot be empty` | Error | `owner.name` |

Details

362 Desenhar na extensão do VS Code362 Desenhar na extensão do VS Code

363</h3>363</h3>

364 364 

365Na extensão do VS Code, o que um mod desenha aparece no painel de chat com a versão 2.1.299 ou posterior da extensão, em uma sessão que [busca feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching). Em um hook `ui.render` para o painel, `e.surface` é `vscode`. Para verificar quais pontos e elementos o painel desenha, e quais props ele ignora, consulte as tabelas de [pontos de renderização](/docs/pt/plugins/mods/reference#render-sites) e de [elementos](/docs/pt/plugins/mods/reference#elements).365Na extensão do VS Code, o que um mod desenha aparece no painel de chat com a versão 2.1.299 ou posterior da extensão. Uma sessão que [não busca feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching), como uma no Amazon Bedrock, precisa da versão 2.1.304 ou posterior. Em um hook `ui.render` para o painel, `e.surface` é `vscode`. Para verificar quais pontos e elementos o painel desenha, e quais props ele ignora, consulte as tabelas de [pontos de renderização](/docs/pt/plugins/mods/reference#render-sites) e de [elementos](/docs/pt/plugins/mods/reference#elements).

366 366 

367Para fazer um mod funcionar no painel assim como no terminal, leve em conta estas diferenças:367Para fazer um mod funcionar no painel assim como no terminal, leve em conta estas diferenças:

368 368 

Details

219| `claude` em um terminal, incluindo o terminal integrado de um editor e o plugin JetBrains | Sim | Sim |219| `claude` em um terminal, incluindo o terminal integrado de um editor e o plugin JetBrains | Sim | Sim |

220| A aba Code do aplicativo Desktop, exceto em uma sessão WSL | Sim | Sim, exceto elementos que a [tabela de elementos](/docs/pt/plugins/mods/reference#elements) marca como apenas terminal |220| A aba Code do aplicativo Desktop, exceto em uma sessão WSL | Sim | Sim, exceto elementos que a [tabela de elementos](/docs/pt/plugins/mods/reference#elements) marca como apenas terminal |

221| Uma [sessão WSL](/docs/pt/desktop-wsl) no aplicativo Desktop | Não, porque plugins não estão disponíveis em sessões WSL | Não |221| Uma [sessão WSL](/docs/pt/desktop-wsl) no aplicativo Desktop | Não, porque plugins não estão disponíveis em sessões WSL | Não |

222| O painel de chat da extensão VS Code | Sim | Sim, com a versão 2.1.299 ou posterior da extensão, em uma sessão que [busca feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching). As tabelas de [pontos de renderização](/docs/pt/plugins/mods/reference#render-sites) e de [elementos](/docs/pt/plugins/mods/reference#elements) marcam o que o painel desenha. |222| O painel de chat da extensão VS Code | Sim | Sim, com a versão 2.1.299 ou posterior da extensão. Uma sessão que [não busca feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching), como uma no Amazon Bedrock, precisa da versão 2.1.304 ou posterior. As tabelas de [pontos de renderização](/docs/pt/plugins/mods/reference#render-sites) e de [elementos](/docs/pt/plugins/mods/reference#elements) marcam o que o painel desenha. |

223| `claude -p` e o [Agent SDK](/docs/pt/agent-sdk/overview) | Sim | Não |223| `claude -p` e o [Agent SDK](/docs/pt/agent-sdk/overview) | Sim | Não |

224| [Remote Control](/docs/pt/remote-control) de claude.ai ou do aplicativo móvel | Sim, na sessão em sua máquina | No terminal em sua máquina |224| [Remote Control](/docs/pt/remote-control) de claude.ai ou do aplicativo móvel | Sim, na sessão em sua máquina | No terminal em sua máquina |

225| Uma [sessão na nuvem](/docs/pt/claude-code-on-the-web) | Sim, para um plugin que [alcança a sessão na nuvem](/docs/pt/cloud-environments#what-carries-over-from-your-setup) | Não |225| Uma [sessão na nuvem](/docs/pt/claude-code-on-the-web) | Sim, para um plugin que [alcança a sessão na nuvem](/docs/pt/cloud-environments#what-carries-over-from-your-setup) | Não |

Details

257 257 

258Um ponto de renderização é um ponto de extensão na interface do Claude Code. Cada linha é um valor de `e.component` em um hook `ui.render`, com os campos de `e.props` e os aplicativos que o renderizam. `e.surface` indica o aplicativo que está desenhando, como `terminal`, `desktop` ou `vscode`. [Alterar o que o Claude Code já desenha](/docs/pt/plugins/mods/interface#change-what-claude-code-already-draws) mostra o que um hook pode fazer em um ponto, com um exemplo de cada opção.258Um ponto de renderização é um ponto de extensão na interface do Claude Code. Cada linha é um valor de `e.component` em um hook `ui.render`, com os campos de `e.props` e os aplicativos que o renderizam. `e.surface` indica o aplicativo que está desenhando, como `terminal`, `desktop` ou `vscode`. [Alterar o que o Claude Code já desenha](/docs/pt/plugins/mods/interface#change-what-claude-code-already-draws) mostra o que um hook pode fazer em um ponto, com um exemplo de cada opção.

259 259 

260A renderização na extensão do VS Code requer a versão 2.1.299 ou posterior da extensão e uma sessão que [busque feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching). [Desenhar na extensão do VS Code](/docs/pt/plugins/mods/interface#draw-in-the-vs-code-extension) lista o que a extensão desenha de forma diferente.260A renderização na extensão do VS Code requer a versão 2.1.299 ou posterior da extensão. Uma sessão que [não busca feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching) precisa da versão 2.1.304 ou posterior. [Desenhar na extensão do VS Code](/docs/pt/plugins/mods/interface#draw-in-the-vs-code-extension) lista o que a extensão desenha de forma diferente.

261 261 

262| Ponto | `e.props` | `e.requestId` | Renderizado em |262| Ponto | `e.props` | `e.requestId` | Renderizado em |

263| :- | :- | :- | :- |263| :- | :- | :- | :- |

Details

315 315 

316* **O ponto de renderização ou elemento não é desenhado nesse aplicativo**: procure seu ponto na tabela de [pontos de renderização](/docs/pt/plugins/mods/reference#render-sites) e seus elementos na tabela de [elementos](/docs/pt/plugins/mods/reference#elements). Para um elemento que o aplicativo não tem, verifique `e.surface` no hook e retorne uma árvore que o aplicativo consiga desenhar.316* **O ponto de renderização ou elemento não é desenhado nesse aplicativo**: procure seu ponto na tabela de [pontos de renderização](/docs/pt/plugins/mods/reference#render-sites) e seus elementos na tabela de [elementos](/docs/pt/plugins/mods/reference#elements). Para um elemento que o aplicativo não tem, verifique `e.surface` no hook e retorne uma árvore que o aplicativo consiga desenhar.

317* **A extensão do VS Code é anterior à 2.1.299**: o painel de chat desenha para mods a partir da [versão da extensão](/docs/pt/vs-code#install-the-extension) 2.1.299. Verifique a versão na visualização Extensions do VS Code e atualize a extensão ali.317* **A extensão do VS Code é anterior à 2.1.299**: o painel de chat desenha para mods a partir da [versão da extensão](/docs/pt/vs-code#install-the-extension) 2.1.299. Verifique a versão na visualização Extensions do VS Code e atualize a extensão ali.

318* **A sessão do VS Code não busca feature flags**: o desenho no painel de chat exige isso. Sessões no Amazon Bedrock, no Agent Platform do Google Cloud ou no Microsoft Foundry, ou por meio de um [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), pulam essa busca, entre outras que [Recursos que precisam da busca de feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching) lista. Para ver o desenho em uma sessão assim, execute `claude` em um terminal, como o terminal integrado do VS Code.318* **A extensão é anterior à 2.1.304 e a sessão não busca feature flags**: atualize a extensão ou, em vez disso, execute `claude` no terminal integrado do VS Code. Sessões no Amazon Bedrock, no Agent Platform do Google Cloud ou no Microsoft Foundry pulam essa busca. Para as outras que a pulam, como uma sessão de [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), consulte [Recursos que precisam da busca de feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching).

319 319 

320<h2 id="an-edit-or-a-value-is-lost">320<h2 id="an-edit-or-a-value-is-lost">

321 Uma edição ou um valor é perdido321 Uma edição ou um valor é perdido

Details

40 40 

41Instale o plugin a partir da superfície em que você está:41Instale o plugin a partir da superfície em que você está:

42 42 

43* **Aplicativo Claude desktop, sessão local ou SSH**: clique no botão **+** ao lado do prompt, depois **Plugins**, depois **Add plugin** para abrir o [plugin browser](/docs/pt/desktop#install-plugins)43* **Aplicativo Claude desktop, sessão local ou SSH**: use a aba **Desktop app** em [Install a plugin](/docs/pt/plugins/install#install-a-plugin)

44* **Extensão VS Code**: use a aba **VS Code** em [Install a plugin](/docs/pt/plugins/install#install-a-plugin)44* **Extensão VS Code**: use a aba **VS Code** em [Install a plugin](/docs/pt/plugins/install#install-a-plugin)

45* **Claude Code na web ou uma sessão cloud desktop**: uma sessão cloud não tem navegador de plugins. Veja a aba **Cloud session** em [Install a plugin](/docs/pt/plugins/install#install-a-plugin) para o que uma sessão cloud carrega45* **Claude Code na web ou uma sessão cloud desktop**: uma sessão cloud não tem navegador de plugins. Veja a aba **Cloud session** em [Install a plugin](/docs/pt/plugins/install#install-a-plugin) para o que uma sessão cloud carrega

46* **Um terminal que você tem acesso**: execute `claude` e digite `/plugin` lá, ou execute `claude plugin install <plugin>@<marketplace>` no seu shell sem iniciar uma sessão46* **Um terminal que você tem acesso**: execute `claude` e digite `/plugin` lá, ou execute `claude plugin install <plugin>@<marketplace>` no seu shell sem iniciar uma sessão

Details

122mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }122mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }

123```123```

124 124 

125Uma vez que o arquivo de configurações está em vigor, inicie o Claude Code com `npx` e passe `claude` como o comando a envolver:125Instale o runtime globalmente, sob um prefixo fora de todos os caminhos aos quais você permite escrita:

126 126 

127```bash theme={null}127```bash theme={null}

128npx @anthropic-ai/sandbox-runtime claude128npm install -g @anthropic-ai/sandbox-runtime

129```129```

130 130 

131O Claude Code inicia dentro do sandbox com os limites de sistema de arquivos e rede que você configurou. O mesmo comando funciona para sandboxing de servidores MCP autônomos ou outros processos auxiliares.131Uma vez que o arquivo de configurações está em vigor, inicie o Claude Code através do runtime a partir do seu diretório de projeto:

132 

133```bash theme={null}

134srt claude

135```

136 

137O Claude Code inicia dentro do sandbox com os limites de sistema de arquivos e rede que você configurou. O mesmo comando `srt` funciona para sandboxing de servidores MCP autônomos ou outros processos auxiliares.

132 138 

133<h3 id="what-the-runtime-blocks-on-its-own">139<h3 id="what-the-runtime-blocks-on-its-own">

134 O que o runtime bloqueia por conta própria140 O que o runtime bloqueia por conta própria

Details

33 33 

34`/plugin` abre um painel interativo no CLI do terminal. Se Claude responder que `/plugin` não está disponível neste ambiente, instale de outra forma:34`/plugin` abre um painel interativo no CLI do terminal. Se Claude responder que `/plugin` não está disponível neste ambiente, instale de outra forma:

35 35 

36* **Aplicativo Claude desktop, sessão local ou SSH**: abra o [navegador de plugins](/docs/pt/desktop#install-plugins) clicando no botão **+** ao lado do prompt, depois em **Plugins**, depois em **Adicionar plugin**36* **Aplicativo Claude desktop, sessão local ou SSH**: use a aba **Desktop app** em [Instalar um plugin](/docs/pt/plugins/install#install-a-plugin)

37* **Extensão VS Code**: instale do [diálogo **Gerenciar plugins**](/docs/pt/vs-code#manage-plugins)37* **Extensão VS Code**: instale do [diálogo **Gerenciar plugins**](/docs/pt/vs-code#manage-plugins)

38* **Sessões na nuvem**: uma sessão na nuvem não carrega plugins de suas configurações de usuário ou do arquivo `.claude/settings.json` do repositório, conforme [O que é transferido de sua configuração](/docs/pt/cloud-environments#what-carries-over-from-your-setup) explica. Para plugins que sua organização distribui através de configurações gerenciadas, consulte [Gerenciar plugins para sua organização](/docs/pt/plugins/org)38* **Sessões na nuvem**: uma sessão na nuvem não carrega plugins de suas configurações de usuário ou do arquivo `.claude/settings.json` do repositório, conforme [O que é transferido de sua configuração](/docs/pt/cloud-environments#what-carries-over-from-your-setup) explica. Para plugins que sua organização distribui através de configurações gerenciadas, consulte [Gerenciar plugins para sua organização](/docs/pt/plugins/org)

39 39 

Details

554* **Com [`--retire-at`](/docs/pt/self-hosted-environments-reference#runner-cli-flags)**: deixe tempo suficiente entre o tempo de aposentadoria e o tempo de parada do host para que turnos típicos sejam concluídos, mais a espera por tarefas em segundo plano que [Ciclo de vida do Runner](/docs/pt/self-hosted-environments#runner-lifecycle) descreve, mais o tempo registrado. Calcule o tempo de aposentadoria em cada inicialização, por exemplo `date +%s` mais o tempo de vida pretendido do runner.554* **Com [`--retire-at`](/docs/pt/self-hosted-environments-reference#runner-cli-flags)**: deixe tempo suficiente entre o tempo de aposentadoria e o tempo de parada do host para que turnos típicos sejam concluídos, mais a espera por tarefas em segundo plano que [Ciclo de vida do Runner](/docs/pt/self-hosted-environments#runner-lifecycle) descreve, mais o tempo registrado. Calcule o tempo de aposentadoria em cada inicialização, por exemplo `date +%s` mais o tempo de vida pretendido do runner.

555* **Com [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal)**: o timeout de parada também deve cobrir os minutos que você configura e uma espera adicional antes do início da drenagem, 75 segundos nas configurações padrão. [Adiar a drenagem após o primeiro sinal](#defer-the-drain-past-the-first-signal) explica ambos. O runner também registra esse tempo maior na inicialização.555* **Com [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal)**: o timeout de parada também deve cobrir os minutos que você configura e uma espera adicional antes do início da drenagem, 75 segundos nas configurações padrão. [Adiar a drenagem após o primeiro sinal](#defer-the-drain-past-the-first-signal) explica ambos. O runner também registra esse tempo maior na inicialização.

556 556 

557<h3 id="post-a-status-message-before-a-restart">

558 Publicar uma mensagem de status antes de uma reinicialização

559</h3>

560 

561Antes de uma reinicialização que interromperá sessões, peça a um [Owner](/docs/pt/cloud-environments#organization-shared-environments) que publique uma mensagem de status no ambiente a partir da [página de administração **Cloud environments**](https://claude.ai/admin-settings/cloud-environments). Em [claude.ai/code](https://claude.ai/code), os membros veem a mensagem em suas sessões nesse ambiente. Peça ao Owner que defina uma expiração ao publicar, ou que remova a mensagem assim que os runners voltarem.

562 

557<h3 id="defer-the-drain-past-the-first-signal">563<h3 id="defer-the-drain-past-the-first-signal">

558 Adiar a drenagem após o primeiro sinal564 Adiar a drenagem após o primeiro sinal

559</h3>565</h3>


632 Pin the version638 Pin the version

633</h2>639</h2>

634 640 

635Cada processo filho Claude Code da sessão executa o próprio binário do runner, e o runner desativa auto-update dentro das sessões que gera, então cada sessão executa a versão que você instalou no host ou construiu na imagem. Uma atualização no nível do host entra em vigor na próxima vez que o runner inicia.641O processo filho de cada sessão executa o próprio binário do runner por padrão, e o runner desativa auto-update dentro das sessões que gera. Com esse padrão, cada sessão executa a versão que você instalou no host ou incluiu no build da imagem. Uma atualização no nível do host entra em vigor na próxima vez que o runner inicia.

636 642 

637Escolha qual versão suas sessões executam e quando ela muda:643Escolha qual versão suas sessões executam e quando ela muda:

638 644 


640* **Para manter uma frota em uma versão**: construa a imagem com uma versão fixada, ou em um host nu instale uma versão específica e [desabilite auto-updates](/docs/pt/setup#disable-auto-updates)646* **Para manter uma frota em uma versão**: construa a imagem com uma versão fixada, ou em um host nu instale uma versão específica e [desabilite auto-updates](/docs/pt/setup#disable-auto-updates)

641* **Para atualizar uma frota fixa**: leia as entradas do [changelog](/docs/en/changelog) entre a sua versão e a que você está instalando, depois instale a versão mais recente ou recrie a imagem e reinicie os runners647* **Para atualizar uma frota fixa**: leia as entradas do [changelog](/docs/en/changelog) entre a sua versão e a que você está instalando, depois instale a versão mais recente ou recrie a imagem e reinicie os runners

642* **Para atualizar runners sob demanda**: leia as entradas do [changelog](/docs/en/changelog) entre a sua versão e a que você está instalando, depois altere a imagem que o seu [hook `spawn-runner`](/docs/pt/self-hosted-environments-configuration#the-spawn-runner-hook) inicia. Cada novo runner recebe a nova versão. Um runner que já está em execução, incluindo um runner de reserva que [`--min-idle`](/docs/pt/self-hosted-environments-reference#orchestrator-cli-flags) iniciou, mantém sua versão até encerrar. Não o reinicie, porque sua ordem de trabalho é de uso único.648* **Para atualizar runners sob demanda**: leia as entradas do [changelog](/docs/en/changelog) entre a sua versão e a que você está instalando, depois altere a imagem que o seu [hook `spawn-runner`](/docs/pt/self-hosted-environments-configuration#the-spawn-runner-hook) inicia. Cada novo runner recebe a nova versão. Um runner que já está em execução, incluindo um runner de reserva que [`--min-idle`](/docs/pt/self-hosted-environments-reference#orchestrator-cli-flags) iniciou, mantém sua versão até encerrar. Não o reinicie, porque sua ordem de trabalho é de uso único.

649* **Se as sessões iniciarem um binário diferente**: se você usar [`--exec-path`](/docs/pt/self-hosted-environments-reference#runner-cli-flags) ou um [hook `command`](/docs/pt/self-hosted-environments-configuration#command) para iniciar um binário do Claude Code diferente do próprio binário do runner, as sessões executam a versão desse binário. Atualize esse binário quando atualizar o runner.

643* **Plugins**: marketplaces de plugin também não auto-atualizam; defina `FORCE_AUTOUPDATE_PLUGINS=1` no ambiente do runner para deixar plugins auto-atualizarem enquanto o binário permanece fixado650* **Plugins**: marketplaces de plugin também não auto-atualizam; defina `FORCE_AUTOUPDATE_PLUGINS=1` no ambiente do runner para deixar plugins auto-atualizarem enquanto o binário permanece fixado

644 651 

645<h2 id="scale-the-fleet">652<h2 id="scale-the-fleet">


699 * **Antes de habilitar a flag**: restrinja quem pode fazer push para refs `claude/*` no remoto de origem. Na retomada, o runner busca o branch previamente enviado sem verificar quem o enviou.706 * **Antes de habilitar a flag**: restrinja quem pode fazer push para refs `claude/*` no remoto de origem. Na retomada, o runner busca o branch previamente enviado sem verificar quem o enviou.

700* **Um repositório adicionado no meio da sessão pode falhar ao ser clonado**: Claude o clona com `git clone` via HTTPS. Em um runner sem [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), o clone falha com um erro de autenticação do git se nada no host puder ler o repositório. Sempre que possível, selecione cada repositório que a sessão precisa quando você a cria.707* **Um repositório adicionado no meio da sessão pode falhar ao ser clonado**: Claude o clona com `git clone` via HTTPS. Em um runner sem [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), o clone falha com um erro de autenticação do git se nada no host puder ler o repositório. Sempre que possível, selecione cada repositório que a sessão precisa quando você a cria.

701* **Alguns conectores não aparecem em sessões auto-hospedadas**: um conector que você ainda não conectou nas Configurações do claude.ai não está listado em uma sessão auto-hospedada, e a sessão não o solicitará para conectar. Conecte-o nas Configurações primeiro, depois inicie uma sessão fresca. Adicionar um conector a uma sessão já em execução também não torna suas ferramentas disponíveis para Claude; inicie uma sessão fresca para pegar um conector recém-adicionado.708* **Alguns conectores não aparecem em sessões auto-hospedadas**: um conector que você ainda não conectou nas Configurações do claude.ai não está listado em uma sessão auto-hospedada, e a sessão não o solicitará para conectar. Conecte-o nas Configurações primeiro, depois inicie uma sessão fresca. Adicionar um conector a uma sessão já em execução também não torna suas ferramentas disponíveis para Claude; inicie uma sessão fresca para pegar um conector recém-adicionado.

709* **Quando alguém arquiva ou exclui uma sessão, ou libera seu runner a partir do menu da sessão**: não conte com o push de [`--push-outcome-on-release`](/docs/pt/self-hosted-environments-reference#runner-cli-flags). Para salvar commits nesses casos, faça push de `HEAD` para um branch de resgate a partir de um [hook `post-session`](/docs/pt/self-hosted-environments-configuration#post-session). Se você partir do exemplo ali, faça-o fazer push mesmo quando não houver nada sem commit, porque ele faz push apenas após um commit de snapshot.

702 710 

703<h3 id="report-an-issue">711<h3 id="report-an-issue">

704 Relatar um problema712 Relatar um problema


745 Se cada chamada começar a falhar cerca de 30 minutos em uma sessão, um script wrapper provavelmente sevrou o stdin da sessão, então as rotações de token não conseguem alcançá-lo; consulte [Keep stdin and file descriptor 3 attached](/docs/pt/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached).753 Se cada chamada começar a falhar cerca de 30 minutos em uma sessão, um script wrapper provavelmente sevrou o stdin da sessão, então as rotações de token não conseguem alcançá-lo; consulte [Keep stdin and file descriptor 3 attached](/docs/pt/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached).

746 754 

747 Antes da v2.1.274, o runner parou de tentar novamente uma busca com falha após algumas tentativas e aguardou a próxima agendada. Uma volta com falha não acionou uma busca, então cada volta falhou com um 401 até a próxima busca agendada.755 Antes da v2.1.274, o runner parou de tentar novamente uma busca com falha após algumas tentativas e aguardou a próxima agendada. Uma volta com falha não acionou uma busca, então cada volta falhou com um 401 até a próxima busca agendada.

756* **Um turno falha em claude.ai/code com `This model needs a newer version of Claude Code`**: a versão do Claude Code com a qual seus runners iniciam as sessões é mais antiga do que o modelo da sessão exige, então a API [rejeita a requisição](/docs/pt/errors#claude-code-does-not-support-this-model). Atualize os runners para a versão que a mensagem pede, ou uma posterior, conforme descrito em [Fixe a versão](#pin-the-version). Até lá, as pessoas podem escolher um modelo diferente na sessão.

748* **Pod is killed mid-drain**: aumente `terminationGracePeriodSeconds` para pelo menos o valor que o runner registra na inicialização. Consulte [Shutdown timing](#shutdown-timing).757* **Pod is killed mid-drain**: aumente `terminationGracePeriodSeconds` para pelo menos o valor que o runner registra na inicialização. Consulte [Shutdown timing](#shutdown-timing).

749 758 

750Depois que o logging é inicializado, o runner escreve seu log de ciclo de vida, incluindo linhas `[runner:fatal]`, em stdout, e a saída de depuração em stderr, tudo como linhas de texto simples em vez de JSON. As falhas do diretório base descritas nas entradas de solução de problemas acima são impressas em stderr antes desse ponto. Capture ambos os fluxos com `--log-file`, que também permite que `self-hosted-runner doctor` os acompanhe, ou com a coleta de logs da sua plataforma.759Depois que o logging é inicializado, o runner escreve seu log de ciclo de vida, incluindo linhas `[runner:fatal]`, em stdout, e a saída de depuração em stderr, tudo como linhas de texto simples em vez de JSON. As falhas do diretório base descritas nas entradas de solução de problemas acima são impressas em stderr antes desse ponto. Capture ambos os fluxos com `--log-file`, que também permite que `self-hosted-runner doctor` os acompanhe, ou com a coleta de logs da sua plataforma.

Details

201* As configurações em cache persistem através de falhas de rede. Se a busca de inicialização falhar, o Claude Code avisa em sessões interativas que a política em cache está em vigor201* As configurações em cache persistem através de falhas de rede. Se a busca de inicialização falhar, o Claude Code avisa em sessões interativas que a política em cache está em vigor

202* Até que uma busca seja bem-sucedida, os valores retidos na inicialização permanecem retidos202* Até que uma busca seja bem-sucedida, os valores retidos na inicialização permanecem retidos

203 203 

204O Claude Code retém várias categorias de variáveis no bloco `env` em cache até que o servidor confirme o payload para a sessão. Isso evita que um proxy em cache, autoridade de certificação, endpoint ou valor de credencial redirecione, intercepte ou reautentique a busca de configurações que confirma o payload. O endurecimento se aplica apenas ao cache de configurações buscado do servidor: [configurações gerenciadas pelo endpoint](/docs/pt/managed-settings#delivery-mechanisms) implantadas através de MDM ou `managed-settings.json` não são afetadas. A retenção requer Claude Code v2.1.198 ou posterior; antes da v2.1.198, o bloco `env` em cache inteiro se aplica na inicialização. As categorias retidas incluem:204O Claude Code retém várias categorias de variáveis no bloco `env` em cache até que o servidor confirme o payload para a sessão. Isso evita que um proxy em cache, autoridade de certificação, endpoint ou valor de credencial redirecione, intercepte ou reautentique a busca de configurações que confirma o payload. O endurecimento se aplica apenas ao cache de configurações buscado do servidor: [configurações gerenciadas pelo endpoint](/docs/pt/managed-settings#delivery-mechanisms) implantadas através de MDM ou `managed-settings.json` não são afetadas. As categorias retidas incluem:

205 205 

206* Configuração de proxy e TLS, como `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` e as variáveis de certificado de cliente mTLS `CLAUDE_CODE_CLIENT_CERT` e `CLAUDE_CODE_CLIENT_KEY`206* Configuração de proxy e TLS, como `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` e as variáveis de certificado de cliente mTLS `CLAUDE_CODE_CLIENT_CERT` e `CLAUDE_CODE_CLIENT_KEY`

207* Roteamento de API e seleção de provedor, incluindo `ANTHROPIC_BASE_URL`, as variáveis de seleção de provedor como `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_VERTEX`, e as URLs de endpoint do provedor como `ANTHROPIC_BEDROCK_BASE_URL`207* Roteamento de API e seleção de provedor, incluindo `ANTHROPIC_BASE_URL`, as variáveis de seleção de provedor como `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_VERTEX`, e as URLs de endpoint do provedor como `ANTHROPIC_BEDROCK_BASE_URL`


312 312 

313O Claude Code nem sempre pode mostrar a caixa de diálogo. Cada caso abaixo diz quais configurações se aplicam quando ele não pode e quando você vê a caixa de diálogo novamente:313O Claude Code nem sempre pode mostrar a caixa de diálogo. Cada caso abaixo diz quais configurações se aplicam quando ele não pode e quando você vê a caixa de diálogo novamente:

314 314 

315* **Uma sessão interativa que não pode mostrar a caixa de diálogo**: o Claude Code não aplica as configurações entregues e mantém as últimas configurações aprovadas. A caixa de diálogo aparece na próxima sessão que pode mostrá-la. Requer Claude Code v2.1.211 ou posterior.315* **Uma sessão interativa que não pode mostrar a caixa de diálogo**: o Claude Code não aplica as configurações entregues e mantém as últimas configurações aprovadas. A caixa de diálogo aparece na próxima sessão que pode mostrá-la.

316* **`claude install` ou `claude update`**: o Claude Code não mostra a caixa de diálogo durante nenhum dos comandos. O comando é executado com as últimas configurações aprovadas, e a caixa de diálogo aparece em sua próxima sessão interativa. Se o Claude Code aguardar a busca de configurações na inicialização, como com [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) definido ou em uma implantação de [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), ele mostra a caixa de diálogo durante o comando em vez disso, e uma execução de instalação de um pipe falha; veja [`Raw mode is not supported` durante install](/docs/pt/troubleshoot-install#raw-mode-is-not-supported-during-install). Antes da v2.1.246, o Claude Code tentava mostrar a caixa de diálogo durante esses comandos também.316* **`claude install` ou `claude update`**: o Claude Code não mostra a caixa de diálogo durante nenhum dos comandos. O comando é executado com as últimas configurações aprovadas, e a caixa de diálogo aparece em sua próxima sessão interativa. Se o Claude Code aguardar a busca de configurações na inicialização, como com [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) definido ou em uma implantação de [gateway de aplicativos Claude](/docs/pt/claude-apps-gateway), ele mostra a caixa de diálogo durante o comando em vez disso, e uma execução de instalação de um pipe falha; veja [`Raw mode is not supported` durante install](/docs/pt/troubleshoot-install#raw-mode-is-not-supported-during-install). Antes da v2.1.246, o Claude Code tentava mostrar a caixa de diálogo durante esses comandos também.

317* **Um erro fecha a caixa de diálogo antes de você responder**: o Claude Code não aplica as configurações entregues e mantém as últimas configurações aprovadas. Ele mostra a caixa de diálogo novamente na próxima sessão que pode mostrá-la.317* **Um erro fecha a caixa de diálogo antes de você responder**: o Claude Code não aplica as configurações entregues e mantém as últimas configurações aprovadas. Ele mostra a caixa de diálogo novamente na próxima sessão que pode mostrá-la.

318* **Uma execução não interativa**, como `claude -p`, uma sessão do Agent SDK ou uma sessão no painel de chat da extensão VS Code ou na aba Code do aplicativo desktop: o Claude Code não pode mostrar a caixa de diálogo, portanto quando as configurações entregues exigiriam aprovação, ele as aplica apenas para essa execução. Ele não as registra como aprovadas ou as escreve no [cache local](#fetch-and-caching-behavior), e a próxima sessão interativa mostra a caixa de diálogo. Até que um usuário aprove em uma sessão interativa, cada execução não interativa busca as configurações novamente na inicialização. Antes da v2.1.207, uma execução não interativa salvava as configurações como aprovadas, portanto as sessões interativas posteriores nunca mostravam a caixa de diálogo para elas.318* **Uma execução não interativa**, como `claude -p`, uma sessão do Agent SDK ou uma sessão no painel de chat da extensão VS Code ou na aba Code do aplicativo desktop: o Claude Code não pode mostrar a caixa de diálogo, portanto quando as configurações entregues exigiriam aprovação, ele as aplica apenas para essa execução. Ele não as registra como aprovadas ou as escreve no [cache local](#fetch-and-caching-behavior), e a próxima sessão interativa mostra a caixa de diálogo. Até que um usuário aprove em uma sessão interativa, cada execução não interativa busca as configurações novamente na inicialização. Antes da v2.1.207, uma execução não interativa salvava as configurações como aprovadas, portanto as sessões interativas posteriores nunca mostravam a caixa de diálogo para elas.

sessions.md +4 −3

Details

51 51 

52Quando Claude Code carrega uma conversa de sua transcrição, a sessão retomada restaura a conversa junto com o estado salvo nela:52Quando Claude Code carrega uma conversa de sua transcrição, a sessão retomada restaura a conversa junto com o estado salvo nela:

53 53 

54* Histórico de conversa: o histórico completo, incluindo chamadas de ferramenta e resultados. Uma ferramenta que ainda estava em execução quando o processo anterior terminou, por exemplo em uma falha, não termina ou executa novamente quando você retoma. Claude vê a chamada marcada como interrompida antes de seu resultado ser registrado e é instruído a verificar se ela teve efeito antes de executá-la novamente, a menos que [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/pt/env-vars#variables) esteja definido.54* Histórico de conversa: as mensagens, chamadas de ferramenta e resultados. Se a sessão foi [compactada](/docs/pt/context-window#what-survives-compaction), a conversa abre em uma linha `Conversation compacted`. Claude continua com o resumo da última compactação, as mensagens que essa compactação deixou sem resumir e todas as mensagens desde então. As mensagens que a última compactação resumiu não são carregadas novamente.

55* Chamadas de ferramenta interrompidas: uma ferramenta que ainda estava em execução quando o processo anterior terminou, por exemplo em uma falha, não termina nem é executada novamente quando você retoma. Claude vê a chamada marcada como interrompida antes de seu resultado ser registrado e é instruído a verificar se ela teve efeito antes de executá-la novamente, a menos que [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/pt/env-vars#variables) esteja definido.

55* Modelo: a sessão continua no modelo que estava usando, exceto nos casos descritos em [Configurar seu modelo](/docs/pt/model-config#setting-your-model).56* Modelo: a sessão continua no modelo que estava usando, exceto nos casos descritos em [Configurar seu modelo](/docs/pt/model-config#setting-your-model).

56* Agente: uma sessão iniciada com [`--agent`](/docs/pt/sub-agents#invoke-subagents-explicitly) ou a configuração `agent` continua como esse agente, mantendo suas restrições de ferramentas e modelo. Passe `--agent` ao retomar para escolher um diferente; para o system prompt em ambos os casos, veja [Flags de system prompt em conversas retomadas](/docs/pt/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code procura o agente em dois lugares: o diretório original da sessão, desde que você tenha [confiado nesse workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust), e depois o diretório de onde você retoma, para que um agente com escopo de projeto ainda carregue quando você retoma de outro diretório. Se Claude Code não encontrar o agente em nenhum dos dois lugares, a sessão retoma com as ferramentas padrão e mostra um [aviso nomeando o agente](/docs/pt/errors#session-agent-no-longer-available).57* Agente: uma sessão iniciada com [`--agent`](/docs/pt/sub-agents#invoke-subagents-explicitly) ou a configuração `agent` continua como esse agente, mantendo suas restrições de ferramentas e modelo. Passe `--agent` ao retomar para escolher um diferente; para o system prompt em ambos os casos, veja [Flags de system prompt em conversas retomadas](/docs/pt/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code procura o agente em dois lugares: o diretório original da sessão, desde que você tenha [confiado nesse workspace](/docs/pt/permissions#project-allow-rules-and-workspace-trust), e depois o diretório de onde você retoma, para que um agente com escopo de projeto ainda carregue quando você retoma de outro diretório. Se Claude Code não encontrar o agente em nenhum dos dois lugares, a sessão retoma com as ferramentas padrão e mostra um [aviso nomeando o agente](/docs/pt/errors#session-agent-no-longer-available).

57* Modo de permissão: se você retomar de um terminal com `claude --continue`, `claude --resume <session-id>` ou `claude --resume <name>` quando o nome corresponde a uma sessão, sem `-p`, Claude Code restaura o modo de permissão em que a sessão estava, exceto nos casos em [modo de permissão ao retomar](#permission-mode-on-resume), que também cobre o seletor de sessão, `/resume` e retomar com `claude -p`. Passe `--permission-mode` ou `--dangerously-skip-permissions` para sobrescrever o modo restaurado.58* Modo de permissão: se você retomar de um terminal com `claude --continue`, `claude --resume <session-id>` ou `claude --resume <name>` quando o nome corresponde a uma sessão, sem `-p`, Claude Code restaura o modo de permissão em que a sessão estava, exceto nos casos em [modo de permissão ao retomar](#permission-mode-on-resume), que também cobre o seletor de sessão, `/resume` e retomar com `claude -p`. Passe `--permission-mode` ou `--dangerously-skip-permissions` para sobrescrever o modo restaurado.


162| Do seletor de sessão | Destaque uma sessão e pressione `Ctrl+R` |163| Do seletor de sessão | Destaque uma sessão e pressione `Ctrl+R` |

163| Na aceitação do plano | Aceitar um plano no [Plan Mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) dá à sessão um título gerado com base no plano, a menos que você já tenha nomeado |164| Na aceitação do plano | Aceitar um plano no [Plan Mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) dá à sessão um título gerado com base no plano, a menos que você já tenha nomeado |

164| Do claude.ai ou do aplicativo Claude | Renomeie uma [sessão Remote Control](/docs/pt/remote-control#connect-from-another-device); Claude Code aplica o mesmo nome na CLI. Requer Claude Code v2.1.221 ou posterior |165| Do claude.ai ou do aplicativo Claude | Renomeie uma [sessão Remote Control](/docs/pt/remote-control#connect-from-another-device); Claude Code aplica o mesmo nome na CLI. Requer Claude Code v2.1.221 ou posterior |

165| Do aplicativo desktop | Renomeie uma sessão no [aplicativo desktop](/docs/pt/desktop#work-in-parallel-with-sessions) |166| Do aplicativo desktop | Renomeie uma sessão no [aplicativo desktop](/docs/pt/desktop#organize-and-find-sessions) |

166 167 

167Depois que você nomeia uma sessão através de uma rota CLI ou do claude.ai, retorne a ela com `claude --resume <name>` ou `/resume <name>`; uma sessão do aplicativo desktop retoma no [aplicativo desktop](/docs/pt/desktop#work-in-parallel-with-sessions). Veja [Retomar uma sessão](#resume-a-session) para saber como a resolução de nomes se comporta entre worktrees.168Depois que você nomeia uma sessão através de uma rota CLI ou do claude.ai, retorne a ela com `claude --resume <name>` ou `/resume <name>`; uma sessão do aplicativo desktop retoma no [aplicativo desktop](/docs/pt/desktop#work-in-parallel-with-sessions). Veja [Retomar uma sessão](#resume-a-session) para saber como a resolução de nomes se comporta entre worktrees.

168 169 

169Sessões que você não nomeia ainda recebem dois rótulos que Claude Code atribui. Apenas o título gerado funciona como um identificador de retomada:170Sessões que você não nomeia ainda recebem dois rótulos que Claude Code atribui. Apenas o título gerado funciona como um identificador de retomada:

170 171 

171* Nome de exibição padrão: sessões interativas que você nunca nomeia ainda recebem um nome de exibição padrão quando iniciam. Requer Claude Code v2.1.196 ou posterior. O padrão combina o nome do diretório de trabalho com um sufixo de dois caracteres, por exemplo `my-app-3f`, e identifica a sessão em listagens de sessões em execução, como [agent view](/docs/pt/agent-view) e saída de `claude agents --json`. O padrão não é um identificador de retomada. Se você o passar para `claude --resume` ou `/resume`, Claude Code não encontra a sessão.172* Nome de exibição padrão: sessões interativas que você nunca nomeia ainda recebem um nome de exibição padrão quando iniciam. O padrão combina o nome do diretório de trabalho com um sufixo de dois caracteres, por exemplo `my-app-3f`, e identifica a sessão em listagens de sessões em execução, como [agent view](/docs/pt/agent-view) e saída de `claude agents --json`. O padrão não é um identificador de retomada. Se você o passar para `claude --resume` ou `/resume`, Claude Code não encontra a sessão.

172* Título gerado: se você não nomear uma sessão, Claude Code gera um título de sessão para ela. O título é um resumo breve do seu primeiro prompt, escrito por uma solicitação em background para o modelo pequeno/rápido, normalmente um modelo da classe Haiku. Um `claude -p` executado que você inicia diretamente de um shell ou script não recebe um.173* Título gerado: se você não nomear uma sessão, Claude Code gera um título de sessão para ela. O título é um resumo breve do seu primeiro prompt, escrito por uma solicitação em background para o modelo pequeno/rápido, normalmente um modelo da classe Haiku. Um `claude -p` executado que você inicia diretamente de um shell ou script não recebe um.

173 174 

174 Aceitar um plano substitui o título gerado por um título baseado no plano. Você pode passar qualquer um dos títulos para `claude --resume` ou `/resume`, e Claude Code o resolve da mesma forma que um nome que você definiu.175 Aceitar um plano substitui o título gerado por um título baseado no plano. Você pode passar qualquer um dos títulos para `claude --resume` ou `/resume`, e Claude Code o resolve da mesma forma que um nome que você definiu.

Details

795| [`spinnerTipsEnabled`](#spinnertipsenabled) | Oculte dicas no spinner enquanto Claude trabalha | Interface e terminal | Any file |795| [`spinnerTipsEnabled`](#spinnertipsenabled) | Oculte dicas no spinner enquanto Claude trabalha | Interface e terminal | Any file |

796| [`spinnerTipsOverride`](#spinnertipsoverride) | Adicione suas próprias dicas à rotação do spinner, ou substitua as dicas integradas | Interface e terminal | Any file |796| [`spinnerTipsOverride`](#spinnertipsoverride) | Adicione suas próprias dicas à rotação do spinner, ou substitua as dicas integradas | Interface e terminal | Any file |

797| [`spinnerVerbs`](#spinnerverbs) | Adicione ou substitua os verbos mostrados enquanto um turno é executado | Interface e terminal | Any file |797| [`spinnerVerbs`](#spinnerverbs) | Adicione ou substitua os verbos mostrados enquanto um turno é executado | Interface e terminal | Any file |

798| [`sshConfigs`](#sshconfigs) | Adicione [conexões SSH](/docs/pt/desktop#pre-configure-ssh-connections-for-your-team) ao dropdown de ambiente Desktop | Remoto, desktop e notificações | User or managed |798| [`sshConfigs`](#sshconfigs) | Adicione [conexões SSH](/docs/pt/desktop#pre-configure-ssh-connections-for-your-team) ao seletor de ambiente do Desktop | Remoto, desktop e notificações | User or managed |

799| [`sshHostAllowlist`](#sshhostallowlist) | Limite quais hosts as [sessões SSH do Desktop](/docs/pt/desktop#restrict-which-ssh-hosts-users-can-connect-to) podem alcançar | Remoto, desktop e notificações | Managed |799| [`sshHostAllowlist`](#sshhostallowlist) | Limite quais hosts as [sessões SSH do Desktop](/docs/pt/desktop#restrict-which-ssh-hosts-users-can-connect-to) podem alcançar | Remoto, desktop e notificações | Managed |

800| [`statusLine`](#statusline) | Execute seu próprio comando para renderizar uma [linha de status](/docs/pt/statusline) abaixo do prompt | Interface e terminal | Any file |800| [`statusLine`](#statusline) | Execute seu próprio comando para renderizar uma [linha de status](/docs/pt/statusline) abaixo do prompt | Interface e terminal | Any file |

801| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Defina a allowlist das fontes de [marketplace](/docs/pt/plugins/overview) que os usuários podem adicionar e a partir das quais podem instalar | Plugins e skills | Managed |801| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Defina a allowlist das fontes de [marketplace](/docs/pt/plugins/overview) que os usuários podem adicionar e a partir das quais podem instalar | Plugins e skills | Managed |


4096 `vimInsertModeRemaps`4096 `vimInsertModeRemaps`

4097</h3>4097</h3>

4098 4098 

4099Mapeie sequências de INSERT-mode de duas teclas para Escape no [modo de editor vim](/docs/pt/interactive-mode#vim-editor-mode). Cada chave é exatamente dois caracteres imprimíveis digitados em sequência, e `"<Esc>"` é o único alvo suportado; Claude Code ignora outras entradas. Requer Claude Code v2.1.208 ou posterior.4099Mapeie sequências de INSERT-mode de duas teclas para Escape no [modo de editor vim](/docs/pt/interactive-mode#vim-editor-mode). Cada chave é exatamente dois caracteres imprimíveis digitados em sequência, e `"<Esc>"` é o único alvo suportado; Claude Code ignora outras entradas.

4100 4100 

4101* **Scope**: [`User or managed`](#scopes). Um repositório não pode remapear seus pressionamentos de tecla.4101* **Scope**: [`User or managed`](#scopes). Um repositório não pode remapear seus pressionamentos de tecla.

4102* **Type**: objeto mapeando uma sequência de dois caracteres para `"<Esc>"`4102* **Type**: objeto mapeando uma sequência de dois caracteres para `"<Esc>"`


4110}4110}

4111```4111```

4112 4112 

4113Não tem efeito a menos que `editorMode` seja `"vim"`. Veja [Remapear sequências de tecla de INSERT-mode](/docs/pt/interactive-mode#remap-insert-mode-key-sequences). Requer Claude Code v2.1.208 ou posterior.4113Não tem efeito a menos que `editorMode` seja `"vim"`. Veja [Remapear sequências de tecla de INSERT-mode](/docs/pt/interactive-mode#remap-insert-mode-key-sequences).

4114 4114 

4115<h3 id="voice">4115<h3 id="voice">

4116 `voice`4116 `voice`


5850 `disableDesktopLocalSessions`5850 `disableDesktopLocalSessions`

5851</h3>5851</h3>

5852 5852 

5853Desative sessões de Code que executam no dispositivo no [aplicativo desktop](/docs/pt/desktop#local-sessions-on-managed-devices), para implantações onde os desenvolvedores devem trabalhar em máquinas remotas via SSH. Na aba Code, o ambiente **Local** permanece no menu suspenso de ambiente, mas fica acinzentado e não pode ser selecionado, com uma dica de ferramenta dizendo que sua organização o desativou; no Windows, a entrada WSL fica acinzentada da mesma forma, embora se as sessões WSL executam em um dispositivo gerenciado seja [governado separadamente](/docs/pt/admin-setup#wsl-sessions-in-claude-code-desktop). Novas sessões usam como padrão a primeira [conexão SSH](/docs/pt/desktop#ssh-sessions) se uma estiver configurada, e o aplicativo se recusa a iniciar ou retomar uma sessão no dispositivo, incluindo uma conexão SSH de volta para a mesma máquina. Sessões SSH para outros hosts e sessões em nuvem não são afetadas. O aplicativo desktop lê essa chave; o CLI do terminal a ignora. Requer Claude Desktop v1.37937.0 ou posterior.5853Desative sessões de Code que executam no dispositivo no [aplicativo desktop](/docs/pt/desktop#local-sessions-on-managed-devices), para implantações onde os desenvolvedores devem trabalhar em máquinas remotas via SSH. Com a chave definida como `true`, os usuários veem isto na aba Code:

5854 

5855* **Seletor de ambiente**: a entrada para o computador do usuário fica acinzentada e não pode ser selecionada, com a dica de ferramenta **Disabled by your organization**. No Windows, a entrada WSL fica acinzentada da mesma forma, embora se as sessões WSL executam em um dispositivo gerenciado seja [governado separadamente](/docs/pt/admin-setup#wsl-sessions-in-claude-code-desktop).

5856* **Novas sessões**: usam como padrão a primeira [conexão SSH](/docs/pt/desktop#ssh-sessions) se uma estiver configurada

5857* **Sessões no dispositivo**: o aplicativo se recusa a iniciar ou retomar uma sessão no dispositivo, incluindo uma conexão SSH de volta para a mesma máquina

5858* **Sessões SSH para outros hosts e sessões na nuvem**: não são afetadas

5859 

5860O aplicativo desktop lê essa chave; o CLI do terminal a ignora. Requer Claude Desktop v1.37937.0 ou posterior.

5854 5861 

5855* **Escopo**: [`Gerenciado`](#scopes). Por padrão, o aplicativo desktop lê a chave de [uma fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources).5862* **Escopo**: [`Gerenciado`](#scopes). Por padrão, o aplicativo desktop lê a chave de [uma fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources).

5856* **Tipo**: Boolean; apenas o Boolean JSON `true` tem efeito5863* **Tipo**: Boolean; apenas o Boolean JSON `true` tem efeito


5997 `sshConfigs`6004 `sshConfigs`

5998</h3>6005</h3>

5999 6006 

6000Adicione conexões SSH ao menu suspenso do ambiente [Desktop](/docs/pt/desktop#pre-configure-ssh-connections-for-your-team). Administradores a usam para distribuir conexões compartilhadas para uma equipe. Conexões que você define em configurações gerenciadas aparecem como gerenciadas. Os usuários podem selecioná-las e [definir sua própria **Pasta do worktree**](/docs/pt/desktop#choose-where-ssh-session-worktrees-go) para elas, mas não podem editar mais nada nem excluí-las no aplicativo.6007Adicione conexões SSH ao seletor de ambiente do [Desktop](/docs/pt/desktop#pre-configure-ssh-connections-for-your-team). Administradores usam `sshConfigs` para distribuir conexões compartilhadas para uma equipe. Os usuários podem selecionar uma conexão gerenciada e [definir sua própria **Worktree folder**](/docs/pt/desktop#set-the-worktree-folder-on-an-existing-connection) para ela. Eles não podem editar seus outros campos nem excluí-la no aplicativo.

6001 6008 

6002* **Escopo**: [`Usuário ou gerenciado`](#scopes). O aplicativo desktop lê essa chave. Por padrão, ele lê as conexões gerenciadas de [uma fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources).6009* **Escopo**: [`Usuário ou gerenciado`](#scopes). O aplicativo desktop lê essa chave. Por padrão, ele lê as conexões gerenciadas de [uma fonte gerenciada](/docs/pt/managed-settings#how-claude-code-combines-managed-sources).

6003* **Tipo**: array de objetos, cada um com `id`, `name` e `sshHost` obrigatórios e `sshPort` e `sshIdentityFile` opcionais6010* **Tipo**: array de objetos, cada um com `id`, `name` e `sshHost` obrigatórios e `sshPort` e `sshIdentityFile` opcionais

statusline.md +2 −2

Details

199| `workspace.added_dirs` | Diretórios adicionais adicionados via `/add-dir` ou `--add-dir`. Array vazio se nenhum foi adicionado |199| `workspace.added_dirs` | Diretórios adicionais adicionados via `/add-dir` ou `--add-dir`. Array vazio se nenhum foi adicionado |

200| `workspace.git_worktree` | Nome da git worktree quando o diretório atual está dentro de uma worktree vinculada criada com `git worktree add`. Ausente na worktree principal. Preenchido para qualquer git worktree, diferentemente de `worktree.*`, que está presente apenas enquanto a sessão está em uma [sessão de worktree](/docs/pt/worktrees) |200| `workspace.git_worktree` | Nome da git worktree quando o diretório atual está dentro de uma worktree vinculada criada com `git worktree add`. Ausente na worktree principal. Preenchido para qualquer git worktree, diferentemente de `worktree.*`, que está presente apenas enquanto a sessão está em uma [sessão de worktree](/docs/pt/worktrees) |

201| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identidade do repositório analisada a partir do remote `origin`, por exemplo, `"github.com"`, `"anthropics"`, `"claude-code"`. Ausente fora de um repositório git ou quando nenhum remote `origin` está configurado. Para um projeto gitlab.com aninhado em subgrupos, `owner` é o caminho completo do namespace com barras, como `"group/subgroup"`. Antes da v2.1.260, `workspace.repo` estava ausente para esses projetos |201| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identidade do repositório analisada a partir do remote `origin`, por exemplo, `"github.com"`, `"anthropics"`, `"claude-code"`. Ausente fora de um repositório git ou quando nenhum remote `origin` está configurado. Para um projeto gitlab.com aninhado em subgrupos, `owner` é o caminho completo do namespace com barras, como `"group/subgroup"`. Antes da v2.1.260, `workspace.repo` estava ausente para esses projetos |

202| `cost.total_cost_usd` | Custo total estimado da sessão em USD, calculado no lado do cliente ao preço de lista, a menos que uma tabela [`modelPricing`](/docs/pt/settings-reference#modelpricing) esteja em vigor. Pode diferir de sua fatura real. Redefine para \$0 quando `/clear` inicia uma nova sessão. Antes da v2.1.211, o total era mantido após `/clear` |202| `cost.total_cost_usd` | Custo estimado da sessão em USD, calculado no lado do cliente ao preço de lista, a menos que uma tabela [`modelPricing`](/docs/pt/settings-reference#modelpricing) esteja em vigor. Pode diferir de sua fatura real. Redefine para \$0 quando `/clear` inicia uma nova sessão |

203| `cost.total_duration_ms` | Tempo total decorrido desde o início da sessão, em milissegundos. Acumula entre retomadas e não inclui tempo enquanto a sessão não está em execução |203| `cost.total_duration_ms` | Tempo total decorrido desde o início da sessão, em milissegundos. Acumula entre retomadas e não inclui tempo enquanto a sessão não está em execução |

204| `cost.total_api_duration_ms` | Tempo total gasto aguardando respostas de API em milissegundos |204| `cost.total_api_duration_ms` | Tempo total gasto aguardando respostas de API em milissegundos |

205| `cost.total_lines_added`, `cost.total_lines_removed` | Linhas de código alteradas |205| `cost.total_lines_added`, `cost.total_lines_removed` | Linhas de código alteradas |


1199| `label` | string | Resumo curto do progresso da tarefa quando Claude Code tem um, caso contrário o mesmo texto de `description` |1199| `label` | string | Resumo curto do progresso da tarefa quando Claude Code tem um, caso contrário o mesmo texto de `description` |

1200| `startTime` | number | Quando a tarefa começou, em milissegundos desde a época Unix |1200| `startTime` | number | Quando a tarefa começou, em milissegundos desde a época Unix |

1201| `model` | string, opcional | ID do modelo resolvido em que a tarefa é executada. Omitido até que o modelo seja resolvido |1201| `model` | string, opcional | ID do modelo resolvido em que a tarefa é executada. Omitido até que o modelo seja resolvido |

1202| `effort` | string ou number, opcional | Esforço de raciocínio definido para o subagente em seu [frontmatter de definição](/docs/pt/sub-agents#supported-frontmatter-fields) ou na invocação individual: `low`, `medium`, `high`, `xhigh`, `max` ou um orçamento de tokens numérico. Este é o valor configurado, e o esforço que Claude Code aplica pode ser diferente quando o modelo não suporta esse nível. Omitido quando nenhum esforço está definido. Requer Claude Code v2.1.213 ou posterior |1202| `effort` | string ou number, opcional | Esforço de raciocínio definido para o subagente em seu [frontmatter de definição](/docs/pt/sub-agents#supported-frontmatter-fields) ou na invocação individual: `low`, `medium`, `high`, `xhigh`, `max` ou um orçamento de tokens numérico. Este é o valor configurado, e o esforço que Claude Code aplica pode ser diferente quando o modelo não suporta esse nível. Omitido quando nenhum esforço está definido |

1203| `contextWindowSize` | number, opcional | Janela de contexto de `model` em tokens, calculada da mesma forma que a [`context_window.context_window_size`](#context-window-fields) da linha de status principal, para que você possa renderizar uma porcentagem por linha a partir de `tokenCount`. Omitido quando `model` é |1203| `contextWindowSize` | number, opcional | Janela de contexto de `model` em tokens, calculada da mesma forma que a [`context_window.context_window_size`](#context-window-fields) da linha de status principal, para que você possa renderizar uma porcentagem por linha a partir de `tokenCount`. Omitido quando `model` é |

1204| `tokenCount` | number | Contagem de tokens acumulada do subagente, o número que a linha padrão mostra |1204| `tokenCount` | number | Contagem de tokens acumulada do subagente, o número que a linha padrão mostra |

1205| `tokenSamples` | array de numbers | Até as últimas 16 leituras de `tokenCount`, uma por tick de atualização, da mais antiga para a mais recente e terminando com a atual |1205| `tokenSamples` | array de numbers | Até as últimas 16 leituras de `tokenCount`, uma por tick de atualização, da mais antiga para a mais recente e terminando com a atual |

sub-agents.md +53 −35

Details

287 287 

288Um subagente com `isolation: worktree` executa seus comandos Bash e PowerShell dentro do seu worktree. Um comando cujo diretório de trabalho resolve para o seu checkout principal, por exemplo porque o diretório do worktree foi removido enquanto o subagente estava em execução, falha com um erro.288Um subagente com `isolation: worktree` executa seus comandos Bash e PowerShell dentro do seu worktree. Um comando cujo diretório de trabalho resolve para o seu checkout principal, por exemplo porque o diretório do worktree foi removido enquanto o subagente estava em execução, falha com um erro.

289 289 

290Essa verificação de diretório de trabalho abrange todo o repositório que contém o diretório a partir do qual você iniciou o Claude Code. Quando sua sessão é executada em um [worktree](/docs/pt/worktrees) vinculado próprio, a verificação também abrange o checkout principal ao qual esse worktree está vinculado. Antes da v2.1.210, a verificação abrangia apenas o próprio diretório de inicialização. Um comando cujo diretório de trabalho resolvia para outro lugar no mesmo repositório, como a raiz do repositório quando você iniciava o Claude Code a partir de um subdiretório de um monorepo, era executado ali em vez de falhar.290Essa verificação de diretório de trabalho abrange todo o repositório que contém o diretório a partir do qual você iniciou o Claude Code. Quando sua sessão é executada em um [worktree](/docs/pt/worktrees) vinculado próprio, a verificação também abrange o checkout principal ao qual esse worktree está vinculado.

291 291 

292Para comandos Bash, o Claude Code também verifica o próprio comando de duas maneiras:292Para comandos Bash, o Claude Code também verifica o próprio comando de duas maneiras:

293 293 


325| `mcpServers` | Não | [Servidores MCP](/docs/pt/mcp) disponíveis para este subagente. Cada entrada é um nome de servidor que referencia um servidor já configurado (por exemplo, `"slack"`) ou uma definição inline com o nome do servidor como chave e uma [configuração completa de servidor MCP](/docs/pt/mcp#installing-mcp-servers) como valor. Ignorado para [subagentes de plugin](#choose-the-subagent-scope) |325| `mcpServers` | Não | [Servidores MCP](/docs/pt/mcp) disponíveis para este subagente. Cada entrada é um nome de servidor que referencia um servidor já configurado (por exemplo, `"slack"`) ou uma definição inline com o nome do servidor como chave e uma [configuração completa de servidor MCP](/docs/pt/mcp#installing-mcp-servers) como valor. Ignorado para [subagentes de plugin](#choose-the-subagent-scope) |

326| `hooks` | Não | [Hooks de ciclo de vida](#define-hooks-for-subagents) restritos a este subagente. Ignorado para [subagentes de plugin](#choose-the-subagent-scope) |326| `hooks` | Não | [Hooks de ciclo de vida](#define-hooks-for-subagents) restritos a este subagente. Ignorado para [subagentes de plugin](#choose-the-subagent-scope) |

327| `memory` | Não | [Escopo de memória persistente](#enable-persistent-memory): `user`, `project` ou `local`. Permite aprendizado entre sessões |327| `memory` | Não | [Escopo de memória persistente](#enable-persistent-memory): `user`, `project` ou `local`. Permite aprendizado entre sessões |

328| `background` | Não | Defina como `true` para manter este subagente em segundo plano mesmo quando o Claude pedir para executá-lo em primeiro plano. Onde o [modo fork](#turn-fork-mode-on-or-off) está ativado, o Claude Code já executa os subagentes que o Claude cria [em segundo plano](#run-subagents-in-foreground-or-background) |328| `background` | Não | Defina como `true` para manter este subagente em segundo plano mesmo quando o Claude pedir para aguardá-lo. Por padrão, os subagentes que o Claude cria a partir da conversa principal já [iniciam em segundo plano](#run-subagents-in-foreground-or-background) |

329| `omitClaudeMd` | Não | Defina como `true` para iniciar este subagente sem os arquivos CLAUDE.md de usuário, de projeto e locais no seu [contexto inicial](#what-loads-at-startup); os [arquivos de política gerenciada](/docs/pt/memory#how-claude-md-files-load) ainda são carregados, exceto para [subagentes gerenciados](#choose-the-subagent-scope). Use-o para subagentes que obtêm tudo de que precisam do prompt de delegação. Ignorado quando o agente é executado como agente da sessão principal via `--agent` ou a configuração `agent`. Requer o Claude Code v2.1.271 ou posterior |329| `omitClaudeMd` | Não | Defina como `true` para iniciar este subagente sem os arquivos CLAUDE.md de usuário, de projeto e locais no seu [contexto inicial](#what-loads-at-startup); os [arquivos de política gerenciada](/docs/pt/memory#how-claude-md-files-load) ainda são carregados, exceto para [subagentes gerenciados](#choose-the-subagent-scope). Use-o para subagentes que obtêm tudo de que precisam do prompt de delegação. Ignorado quando o agente é executado como agente da sessão principal via `--agent` ou a configuração `agent`. Requer o Claude Code v2.1.271 ou posterior |

330| `effort` | Não | Nível de esforço quando este subagente está ativo. Sobrescreve o nível de esforço da sessão, mas não a variável de ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/pt/env-vars#variables). Opções: `low`, `medium`, `high`, `xhigh`, `max`; os níveis disponíveis dependem do modelo. Consulte [Escolher um nível de esforço](#choose-an-effort-level) |330| `effort` | Não | Nível de esforço quando este subagente está ativo. Sobrescreve o nível de esforço da sessão, mas não a variável de ambiente [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/pt/env-vars#variables). Opções: `low`, `medium`, `high`, `xhigh`, `max`; os níveis disponíveis dependem do modelo. Consulte [Escolher um nível de esforço](#choose-an-effort-level) |

331| `isolation` | Não | Defina como `worktree` para executar o subagente em um [git worktree](/docs/pt/worktrees) temporário, dando a ele uma cópia isolada do repositório criada por padrão a partir do seu [branch padrão](/docs/pt/worktrees#choose-the-base-branch), e não do `HEAD` da sessão pai. O worktree é limpo automaticamente se o subagente não fizer alterações |331| `isolation` | Não | Defina como `worktree` para executar o subagente em um [git worktree](/docs/pt/worktrees) temporário, dando a ele uma cópia isolada do repositório criada por padrão a partir do seu [branch padrão](/docs/pt/worktrees#choose-the-base-branch), e não do `HEAD` da sessão pai. O worktree é limpo automaticamente se o subagente não fizer alterações |


405 405 

406Para verificar em qual modelo um subagente está sendo executado, execute [`/tasks`](/docs/pt/commands). O Claude Code nomeia o modelo na linha do subagente e adiciona o [nível de esforço](/docs/pt/model-config#adjust-effort-level) definido para esse subagente, se houver. Requer o Claude Code v2.1.242 ou posterior.406Para verificar em qual modelo um subagente está sendo executado, execute [`/tasks`](/docs/pt/commands). O Claude Code nomeia o modelo na linha do subagente e adiciona o [nível de esforço](/docs/pt/model-config#adjust-effort-level) definido para esse subagente, se houver. Requer o Claude Code v2.1.242 ou posterior.

407 407 

408Um parâmetro `model` por invocação também se aplica quando o subagente é [retomado ou recebe uma mensagem de acompanhamento](#resume-subagents), de modo que o subagente permanece nesse modelo. Antes da v2.1.211, a retomada descartava o valor por invocação e o subagente voltava ao campo `model` da sua definição ou, na ausência dele, ao modelo da conversa principal.408Um parâmetro `model` por invocação também se aplica quando o subagente é [retomado ou recebe uma mensagem de acompanhamento](#resume-subagents), de modo que o subagente permanece nesse modelo.

409 409 

410A partir da v2.1.198, os subagentes também herdam a configuração de [pensamento estendido](/docs/pt/model-config#extended-thinking) da conversa principal: se o pensamento estiver ativado na sua sessão, ele estará ativado para o subagente e, se estiver desativado, permanecerá desativado. Não há configuração de pensamento por subagente. Antes da v2.1.198, os subagentes eram executados com o pensamento estendido desativado, independentemente da configuração da conversa principal.410A partir da v2.1.198, os subagentes também herdam a configuração de [pensamento estendido](/docs/pt/model-config#extended-thinking) da conversa principal: se o pensamento estiver ativado na sua sessão, ele estará ativado para o subagente e, se estiver desativado, permanecerá desativado. Não há configuração de pensamento por subagente. Antes da v2.1.198, os subagentes eram executados com o pensamento estendido desativado, independentemente da configuração da conversa principal.

411 411 


501---501---

502```502```

503 503 

504Quando nada na lista `tools` resolve para uma ferramenta, por exemplo porque todas as entradas estão com erro de digitação ou nomeiam uma ferramenta que não está disponível para subagentes, o Claude Code geralmente se recusa a iniciar o subagente e a ferramenta Agent retorna um erro nomeando as entradas não resolvidas; consulte [Agent would be spawned with zero tools](/docs/pt/errors#agent-would-be-spawned-with-zero-tools) para ver a mensagem e como corrigir cada entrada. Antes da v2.1.208, esse subagente era iniciado sem ferramentas e podia retornar um resultado vazio ou confuso.504Quando nada na lista `tools` resolve para uma ferramenta, por exemplo porque todas as entradas estão com erro de digitação ou nomeiam uma ferramenta que não está disponível para subagentes, o Claude Code geralmente se recusa a iniciar o subagente e a ferramenta Agent retorna um erro nomeando as entradas não resolvidas; consulte [Agent would be spawned with zero tools](/docs/pt/errors#agent-would-be-spawned-with-zero-tools) para ver a mensagem e como corrigir cada entrada.

505 505 

506Os campos `tools` e `disallowedTools` também aceitam entradas para um servidor MCP inteiro:506Os campos `tools` e `disallowedTools` também aceitam entradas para um servidor MCP inteiro:

507 507 


969* **Subagentes em primeiro plano** bloqueiam a conversa principal até a conclusão. Prompts de permissão são passados para você conforme surgem.969* **Subagentes em primeiro plano** bloqueiam a conversa principal até a conclusão. Prompts de permissão são passados para você conforme surgem.

970* **Subagentes em segundo plano** são executados simultaneamente enquanto você continua trabalhando. Quando um subagente em segundo plano atinge uma chamada de ferramenta que precisa de permissão, Claude Code exibe o prompt em sua sessão principal e nomeia o subagente que está pedindo. Aprove para deixar o subagente continuar, ou pressione Esc para negar essa chamada de ferramenta sem parar o subagente.970* **Subagentes em segundo plano** são executados simultaneamente enquanto você continua trabalhando. Quando um subagente em segundo plano atinge uma chamada de ferramenta que precisa de permissão, Claude Code exibe o prompt em sua sessão principal e nomeia o subagente que está pedindo. Aprove para deixar o subagente continuar, ou pressione Esc para negar essa chamada de ferramenta sem parar o subagente.

971 971 

972Para cada subagente que Claude gera com a ferramenta Agent, Claude Code escolhe primeiro plano ou segundo plano do primeiro desses casos que se aplica:972<h4 id="which-subagents-run-in-the-background">

973 Quais subagentes são executados em segundo plano

974</h4>

975 

976Sem nada configurado, um subagente que Claude gera a partir da sua conversa principal inicia em segundo plano.

973 977 

974* Se um colega de [equipe de agentes](/docs/pt/agent-teams#limitations) em processo gerou o subagente, Claude Code o executa em primeiro plano. Claude Code recusa com um erro para gerar um subagente de colega cuja definição define [`background: true`](#supported-frontmatter-fields). Onde o [modo fork](#turn-fork-mode-on-or-off) está desativado e você não [desativou tarefas em segundo plano](/docs/pt/env-vars), Claude Code também recusa com um erro quando um colega define `run_in_background: true`.978* **`claude -p` e o Agent SDK**: Claude pode aguardar, por seu próprio julgamento ou quando você pede.

975* Se você definir [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/pt/env-vars) como `1`, Claude Code executa o subagente em primeiro plano, em todo tipo de sessão e independentemente de o modo fork estar ativado.979* **Sessão interativa no terminal, VS Code e sessões do aplicativo desktop na sua máquina**: para deixar Claude aguardar um subagente, [desative o modo fork](#let-claude-wait-for-a-subagent), que está [ativado por padrão](#turn-fork-mode-on-or-off).

976* Onde o [modo fork](#turn-fork-mode-on-or-off) está ativado, como é por padrão em uma sessão interativa, Claude Code executa o subagente em segundo plano, subagentes fork e não-fork, e Claude não pode pedir o primeiro plano.

977* Onde o modo fork está desativado, Claude executa o subagente em segundo plano por padrão e em primeiro plano quando precisa do resultado antes de continuar. O modo fork está desativado no [modo não interativo](/docs/pt/headless) com `-p` e no Agent SDK a menos que você o ative. Para manter um subagente particular em segundo plano mesmo quando Claude quer o resultado, defina seu campo frontmatter [`background`](#supported-frontmatter-fields) como `true`.

978 980 

979Para uma skill com `context: fork`, Claude Code segue as regras em [Executar skills em um subagente](/docs/pt/skills#run-skills-in-a-subagent), independentemente de o modo fork estar ativado.981Para uma skill com `context: fork`, Claude Code segue as regras em [Executar skills em um subagente](/docs/pt/skills#run-skills-in-a-subagent), independentemente de o modo fork estar ativado.

980 982 

983<h4 id="let-claude-wait-for-a-subagent">

984 Deixar Claude aguardar um subagente

985</h4>

986 

9871. Desative o [modo fork](#turn-fork-mode-on-or-off) definindo `CLAUDE_CODE_FORK_SUBAGENT` como `0`, por exemplo em [`settings.json`](/docs/pt/settings):

988 

989 ```json theme={null}

990 {

991 "env": {

992 "CLAUDE_CODE_FORK_SUBAGENT": "0"

993 }

994 }

995 ```

996 

9972. Execute `claude` novamente a partir do seu shell, ou abra uma nova conversa no VS Code.

998 

9993. Peça a Claude para aguardar quando você precisar de um resultado primeiro, por exemplo "execute o subagente revisor e aguarde o relatório dele".

1000 

1001Para continuar trabalhando enquanto Claude aguarda, pressione **Ctrl+B** no terminal ou clique em [**Run in background**](/docs/pt/vs-code#move-a-running-command-or-subagent-to-the-background) no VS Code.

1002 

1003Se você definir a variável de ambiente [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/pt/env-vars) como `1` em vez de desativar o modo fork, Claude aguarda todos os subagentes e as tarefas em segundo plano ficam desativadas, incluindo **Ctrl+B**.

1004 

1005<h4 id="tools-permissions-and-results-of-background-subagents">

1006 Ferramentas, permissões e resultados de subagentes em segundo plano

1007</h4>

1008 

981Subagentes em segundo plano são executados com um [conjunto de ferramentas integradas menor](#available-tools) do que subagentes em primeiro plano, exceto para forks de conversa e subagentes em primeiro plano [retomados](#resume-subagents).1009Subagentes em segundo plano são executados com um [conjunto de ferramentas integradas menor](#available-tools) do que subagentes em primeiro plano, exceto para forks de conversa e subagentes em primeiro plano [retomados](#resume-subagents).

982 1010 

983Subagentes em segundo plano exibem cada prompt de permissão em sua sessão principal. Quando você responde um desses prompts com uma escolha que dura além dessa chamada de ferramenta, como uma concessão que dura o resto da sessão, Claude Code aplica sua resposta a toda a sessão, incluindo sua conversa principal.1011Subagentes em segundo plano exibem cada prompt de permissão em sua sessão principal. Quando você responde um desses prompts com uma escolha que dura além dessa chamada de ferramenta, como uma concessão que dura o resto da sessão, Claude Code aplica sua resposta a toda a sessão, incluindo sua conversa principal.

984 1012 

985Um subagente em segundo plano pode deixar um comando [Bash ou PowerShell](/docs/pt/tools-reference#background-commands) em segundo plano [em execução após o final de seu turno](/docs/pt/interactive-mode#how-backgrounding-works). Quando esse comando termina, Claude Code envia ao subagente uma notificação.1013Um subagente em segundo plano pode deixar um comando [Bash ou PowerShell](/docs/pt/tools-reference#background-commands) em segundo plano [em execução após o final de seu turno](/docs/pt/interactive-mode#how-backgrounding-works). Quando esse comando termina, Claude Code envia ao subagente uma notificação.

986 1014 

987Os resultados de um subagente em segundo plano chegam a Claude como uma notificação de conclusão em um turno posterior. Claude aguarda essa notificação antes de relatar os resultados do subagente, e se você perguntar sobre o progresso primeiro, ele relata que o subagente ainda está em execução. Antes da v2.1.211, Claude às vezes relatava resultados para um subagente em segundo plano que não havia terminado.1015Os resultados de um subagente em segundo plano chegam a Claude como uma notificação de conclusão em um turno posterior. Claude aguarda essa notificação antes de relatar os resultados do subagente, e se você perguntar sobre o progresso primeiro, ele relata que o subagente ainda está em execução.

988 1016 

989Você também pode orientar isso você mesmo:1017<h4 id="finished-subagents-in-the-panel-and-task-list">

990 1018 Subagentes concluídos no painel e na lista de tarefas

991* Onde o modo fork está desativado, peça a Claude para executar uma tarefa em segundo plano ou em primeiro plano1019</h4>

992* Pressione **Ctrl+B** para colocar uma tarefa em execução em segundo plano

993 1020 

994Claude Code limpa a linha de um subagente em segundo plano do painel de subagentes abaixo da entrada de prompt de uma de duas maneiras, dependendo de como o subagente terminou:1021Claude Code limpa a linha de um subagente em segundo plano do painel de subagentes abaixo da entrada de prompt de uma de duas maneiras, dependendo de como o subagente terminou:

995 1022 


1036 1063 

1037Um [relatório de subagente em segundo plano](#run-subagents-in-foreground-or-background) chega dentro de uma notificação de conclusão, que é marcada como um evento automatizado em vez de uma mensagem de você.1064Um [relatório de subagente em segundo plano](#run-subagents-in-foreground-or-background) chega dentro de uma notificação de conclusão, que é marcada como um evento automatizado em vez de uma mensagem de você.

1038 1065 

1039<Note>

1040 A verificação de saída de subagente requer Claude Code v2.1.210 ou posterior.

1041</Note>

1042 

1043<h3 id="common-patterns">1066<h3 id="common-patterns">

1044 Padrões comuns1067 Padrões comuns

1045</h3>1068</h3>


1109 1132 

1110Por padrão, um subagente pode gerar subagentes de seu próprio, até três camadas abaixo da conversa principal. No limite de profundidade, Claude Code retém a ferramenta `Agent` de cada subagente, exceto um [fork](#fork-the-current-conversation), para que um subagente no limite faça seu trabalho delegado em si e retorne um resumo. Um fork no limite mantém `Agent` em sua lista de ferramentas herdada, mas a ferramenta retorna um erro em vez de gerar.1133Por padrão, um subagente pode gerar subagentes de seu próprio, até três camadas abaixo da conversa principal. No limite de profundidade, Claude Code retém a ferramenta `Agent` de cada subagente, exceto um [fork](#fork-the-current-conversation), para que um subagente no limite faça seu trabalho delegado em si e retorne um resumo. Um fork no limite mantém `Agent` em sua lista de ferramentas herdada, mas a ferramenta retorna um erro em vez de gerar.

1111 1134 

1112Subagentes aninhados são adequados para uma tarefa delegada que em si se divide em subtarefas paralelas, como um subagente revisor que despacha um verificador por descoberta. Em uma sessão interativa, apenas o resumo do subagente de nível superior retorna para você e a saída intermediária permanece fora de sua conversa principal: um subagente que lança subagentes em segundo plano aguarda seus resultados antes de terminar. Em [modo não interativo](/docs/pt/headless) e no Agent SDK, o subagente de lançamento não aguarda, então um subagente em segundo plano aninhado que termina após seu iniciador ter terminado relata à sua conversa principal em vez disso.1135Subagentes aninhados são adequados para uma tarefa delegada que em si se divide em subtarefas paralelas, como um subagente revisor que despacha um verificador por descoberta. Por padrão, o subagente que gera aguarda o relatório de cada subagente aninhado:

1136 

1137* **Sessão interativa no terminal**: apenas o resumo do subagente de nível superior retorna para você, porque um subagente que lança subagentes em segundo plano aguarda seus resultados antes de terminar.

1138* **`claude -p` e o Agent SDK**: o subagente que gera aguarda enquanto o [modo fork](#turn-fork-mode-on-or-off) está ativado. Se você desativar o modo fork, os subagentes aninhados iniciam em [segundo plano](#run-subagents-in-foreground-or-background) em vez disso. O subagente que gera não aguarda um subagente aninhado em segundo plano, que relata à sua conversa principal se durar mais que o subagente que o gerou.

1113 1139 

1114Para alterar o limite, defina [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/pt/env-vars) para o número de camadas de subagente que você quer abaixo de sua conversa principal. Por exemplo, esta entrada em [`settings.json`](/docs/pt/settings) limita o aninhamento a duas camadas:1140Para alterar o limite, defina [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/pt/env-vars) para o número de camadas de subagente que você quer abaixo de sua conversa principal. Por exemplo, esta entrada em [`settings.json`](/docs/pt/settings) limita o aninhamento a duas camadas:

1115 1141 


1277</h2>1303</h2>

1278 1304 

1279<Note>1305<Note>

1280 Execute um subagente bifurcado com `/subtask`, que requer Claude Code v2.1.212 ou posterior. Quando [a visualização de agente está desativada](/docs/pt/agent-view#turn-off-agent-view), `/subtask` não está disponível e `/fork` inicia o subagente bifurcado; caso contrário, `/fork` copia toda a sessão para uma nova [sessão em background](/docs/pt/agent-view#from-inside-a-session).1306 Quando [a visualização de agente está desativada](/docs/pt/agent-view#turn-off-agent-view), `/subtask` não está disponível e `/fork` inicia o subagente bifurcado; caso contrário, `/fork` copia toda a sessão para uma nova [sessão em background](/docs/pt/agent-view#from-inside-a-session).

1281</Note>1307</Note>

1282 1308 

1283Uma bifurcação é um subagente que herda toda a conversa até agora em vez de começar do zero. Isso remove o isolamento de entrada que subagentes de outra forma fornecem: uma bifurcação vê o mesmo prompt de sistema, ferramentas, modelo e histórico de mensagens que a sessão principal, para que você possa entregar uma tarefa secundária sem re-explicar a situação. As chamadas de ferramentas da bifurcação ainda ficam fora de sua conversa e apenas seu resultado final volta, para que sua janela de contexto principal permaneça limpa. Use uma bifurcação quando qualquer outro subagente precisaria de muito contexto para ser útil, ou quando você quer tentar várias abordagens em paralelo a partir do mesmo ponto de partida.1309Uma bifurcação é um subagente que herda toda a conversa até agora em vez de começar do zero. Isso remove o isolamento de entrada que subagentes de outra forma fornecem: uma bifurcação vê o mesmo prompt de sistema, ferramentas, modelo e histórico de mensagens que a sessão principal, para que você possa entregar uma tarefa secundária sem re-explicar a situação. As chamadas de ferramentas da bifurcação ainda ficam fora de sua conversa e apenas seu resultado final volta, para que sua janela de contexto principal permaneça limpa. Use uma bifurcação quando qualquer outro subagente precisaria de muito contexto para ser útil, ou quando você quer tentar várias abordagens em paralelo a partir do mesmo ponto de partida.

1284 1310 

1285Claude inicia uma bifurcação solicitando o tipo de subagente `fork` através da ferramenta Agent. Você controla se pode com [modo de bifurcação](#turn-fork-mode-on-or-off), que está ativado por padrão em sessões interativas.1311Claude pode iniciar uma bifurcação por conta própria enquanto o modo de bifurcação está ativado, como está por padrão. Para impedir bifurcações, consulte [Desativar o modo de bifurcação](#turn-fork-mode-on-or-off).

1286 1312 

1287Você pode iniciar uma bifurcação você mesmo com `/subtask` seguido de uma tarefa, independentemente de o modo de bifurcação estar ativado. Na v2.1.161 até v2.1.211, o comando é `/fork`. Claude Code nomeia a bifurcação a partir das primeiras palavras da tarefa. O exemplo a seguir bifurca a conversa para rascunhar casos de teste enquanto você continua com a implementação na sessão principal:1313Você pode iniciar uma bifurcação você mesmo com `/subtask` seguido de uma tarefa, independentemente de o modo de bifurcação estar ativado. Claude Code nomeia a bifurcação a partir das primeiras palavras da tarefa. O exemplo a seguir bifurca a conversa para rascunhar casos de teste enquanto você continua com a implementação na sessão principal:

1288 1314 

1289```text wrap theme={null}1315```text wrap theme={null}

1290/subtask draft unit tests for the parser changes so far1316/subtask draft unit tests for the parser changes so far


1327| Context | Histórico de conversa completo | Contexto fresco com o prompt que você passa |1353| Context | Histórico de conversa completo | Contexto fresco com o prompt que você passa |

1328| System prompt and tools | Mesmo que a sessão principal | Da [definição file](#write-subagent-files) do subagente, [filtrado para execuções em background](#available-tools) |1354| System prompt and tools | Mesmo que a sessão principal | Da [definição file](#write-subagent-files) do subagente, [filtrado para execuções em background](#available-tools) |

1329| Model | Mesmo que a sessão principal | Do campo `model` do subagente |1355| Model | Mesmo que a sessão principal | Do campo `model` do subagente |

1330| Permissions | Prompts aparecem em seu terminal | [Prompts aparecem em sua sessão principal](#run-subagents-in-foreground-or-background) quando em execução em background |

1331| Prompt cache | Compartilhado com a sessão principal | Cache separado |1356| Prompt cache | Compartilhado com a sessão principal | Cache separado |

1332 1357 

1333Porque o system prompt de uma bifurcação e as definições de ferramentas são idênticos aos do pai, sua primeira requisição reutiliza o [cache de prompt](/docs/pt/prompt-caching#subagents-and-the-cache) do pai. Por causa dessa reutilização, uma bifurcação custa menos do que um subagente fresco para tarefas que precisam do mesmo contexto.1358Porque o system prompt de uma bifurcação e as definições de ferramentas são idênticos aos do pai, sua primeira requisição reutiliza o [cache de prompt](/docs/pt/prompt-caching#subagents-and-the-cache) do pai. Por causa dessa reutilização, uma bifurcação custa menos do que um subagente fresco para tarefas que precisam do mesmo contexto.


1335Quando Claude gera uma bifurcação através da ferramenta Agent, ele pode passar `isolation: "worktree"` para que as edições de arquivo da bifurcação sejam escritas em um git worktree separado em vez de seu checkout. Uma bifurcação não pode gerar bifurcações adicionais.1360Quando Claude gera uma bifurcação através da ferramenta Agent, ele pode passar `isolation: "worktree"` para que as edições de arquivo da bifurcação sejam escritas em um git worktree separado em vez de seu checkout. Uma bifurcação não pode gerar bifurcações adicionais.

1336 1361 

1337<h3 id="turn-fork-mode-on-or-off">1362<h3 id="turn-fork-mode-on-or-off">

1338 Ativar ou desativar o modo de bifurcação1363 Desativar o modo de bifurcação

1339</h3>1364</h3>

1340 1365 

1341Claude Code ativa o modo de bifurcação por padrão em sessões interativas e o deixa desativado por padrão em [modo não-interativo](/docs/pt/headless) com `-p` e no Agent SDK. O padrão interativo requer Claude Code v2.1.232 ou posterior. Em versões anteriores, defina `CLAUDE_CODE_FORK_SUBAGENT` para `1` para ativar o modo de bifurcação.1366O modo de bifurcação permite que Claude inicie uma bifurcação por conta própria. Para impedir que Claude inicie bifurcações:

1342 

1343Você pode dizer que o modo de bifurcação está ativado pela forma como Claude Code lida com a ferramenta Agent:

1344 

1345* Claude pode gerar uma bifurcação solicitando o tipo de subagente `fork`. Quando Claude não solicita um tipo, ele obtém o subagente [general-purpose](#built-in-subagents), se a sessão ainda tiver esse tipo. Subagentes gerados a partir de uma definição, como Explore, funcionam como de costume.

1346* Claude Code executa os subagentes que Claude gera em background, bifurcações e subagentes não-bifurcados, além dos [casos que permanecem em foreground](#run-subagents-in-foreground-or-background). Claude Code também remove o parâmetro `run_in_background` da ferramenta Agent, para que Claude não possa solicitar o foreground.

1347 

1348Defina a variável de ambiente [`CLAUDE_CODE_FORK_SUBAGENT`](/docs/pt/env-vars) para substituir os padrões:

1349 1367 

1350* `1` ativa o modo de bifurcação em modo não-interativo e no Agent SDK também1368* **Impedir apenas as bifurcações**: adicione `"Agent(fork)"` a `permissions.deny` nas suas [configurações](#disable-specific-subagents).

1351* `0` desativa o modo de bifurcação em todo tipo de sessão1369* **Desativar o modo de bifurcação**: defina `CLAUDE_CODE_FORK_SUBAGENT` como `0`, seguindo as etapas em [Permitir que Claude aguarde um subagente](#let-claude-wait-for-a-subagent).

1352 1370 

1353Para manter o modo de bifurcação ativado mas impedir que Claude gere bifurcações, [negue o tipo de subagente `fork`](#disable-specific-subagents) com uma regra `Agent(fork)`. Claude Code ainda executa os subagentes que Claude gera em background, além dos mesmos [casos que permanecem em foreground](#run-subagents-in-foreground-or-background).1371Enquanto o modo de bifurcação está ativado, Claude também não pode [aguardar um subagente](#run-subagents-in-foreground-or-background) em sessões interativas de terminal, VS Code ou desktop na sua máquina. O modo de bifurcação está ativado por padrão a partir do Claude Code v2.1.302, e em uma sessão interativa de terminal a partir da v2.1.232.

1354 1372 

1355<h2 id="example-subagents">1373<h2 id="example-subagents">

1356 Subagentes de exemplo1374 Subagentes de exemplo

Details

58 58 

59 Se você aceitou o prompt de configuração do terminal na primeira execução do Claude Code, isso já foi feito. Esse prompt executa `/terminal-setup` para você, que ativa Option como Meta e desativa o sino audível no seu perfil do Apple Terminal.59 Se você aceitou o prompt de configuração do terminal na primeira execução do Claude Code, isso já foi feito. Esse prompt executa `/terminal-setup` para você, que ativa Option como Meta e desativa o sino audível no seu perfil do Apple Terminal.

60 60 

61 No [modo leitor de tela](/docs/pt/accessibility), `/terminal-setup` deixa a configuração do sino inalterada para que o sino do terminal permaneça audível. Antes da v2.1.211, `/terminal-setup` desativava o sino mesmo no modo leitor de tela. Se uma execução anterior desativou o sino, ative-o novamente em Configurações → Perfis → Avançado → "Audible bell".61 No [modo leitor de tela](/docs/pt/accessibility), `/terminal-setup` deixa a configuração do sino inalterada para que o sino do terminal permaneça audível. Se uma execução anterior desativou o sino, ative-o novamente em Configurações → Perfis → Avançado → "Audible bell".

62 </Tab>62 </Tab>

63 63 

64 <Tab title="iTerm2">64 <Tab title="iTerm2">

tools-reference.md +23 −23

Details

26| `CronDelete` | Cancela uma tarefa agendada por ID | Não |26| `CronDelete` | Cancela uma tarefa agendada por ID | Não |

27| `CronList` | Lista todas as tarefas agendadas na sessão | Não |27| `CronList` | Lista todas as tarefas agendadas na sessão | Não |

28| `Edit` | Faz edições direcionadas em arquivos específicos. Veja [Comportamento da ferramenta Edit](#edit-tool-behavior) | Sim |28| `Edit` | Faz edições direcionadas em arquivos específicos. Veja [Comportamento da ferramenta Edit](#edit-tool-behavior) | Sim |

29| `EndConversation` | Encerra a sessão, em casos raros de entrada abusiva sustentada ou quando você pede a Claude para demonstrar a ferramenta. Requer Claude Code v2.1.213 ou posterior. Veja [Comportamento da ferramenta EndConversation](#endconversation-tool-behavior) | Não |29| `EndConversation` | Encerra a sessão, em casos raros de entrada abusiva sustentada ou quando você pede a Claude para demonstrar a ferramenta. Veja [Comportamento da ferramenta EndConversation](#endconversation-tool-behavior) | Não |

30| `EnterPlanMode` | Muda para o modo de plano para projetar uma abordagem antes de codificar | Não |30| `EnterPlanMode` | Muda para o modo de plano para projetar uma abordagem antes de codificar | Não |

31| `EnterWorktree` | Cria um [git worktree](/docs/pt/worktrees) isolado e muda para ele. Passe um `path` para mudar para um worktree existente em vez de criar um novo. Na primeira entrada, o alvo pode ser um worktree do repositório atual ou, em um espaço de trabalho multi-repositório, de um repositório aninhado dentro dele. Antes da v2.1.203, um worktree de repositório aninhado era rejeitado. Um `path` fora de `.claude/worktrees/` solicita sua aprovação antes de entrar, pois move o diretório de trabalho da sessão e o acesso de escrita para esse local. A criação de novo worktree e caminhos sob `.claude/worktrees/` não solicitam. Antes da v2.1.206, Claude entrava em caminhos fora de `.claude/worktrees/` sem solicitar. De dentro de uma sessão de worktree ou de um subagente com um diretório de trabalho fixado, como [`isolation: worktree`](/docs/pt/sub-agents#supported-frontmatter-fields), apenas a forma `path` está disponível e o alvo deve estar sob `.claude/worktrees/` do repositório da sessão | Sim |31| `EnterWorktree` | Cria um [git worktree](/docs/pt/worktrees) isolado e muda para ele. Passe um `path` para mudar para um worktree existente em vez de criar um novo. Na primeira entrada, o alvo pode ser um worktree do repositório atual ou, em um espaço de trabalho multi-repositório, de um repositório aninhado dentro dele. Antes da v2.1.203, um worktree de repositório aninhado era rejeitado. Um `path` fora de `.claude/worktrees/` solicita sua aprovação antes de entrar, pois move o diretório de trabalho da sessão e o acesso de escrita para esse local. A criação de novo worktree e caminhos sob `.claude/worktrees/` não solicitam. Antes da v2.1.206, Claude entrava em caminhos fora de `.claude/worktrees/` sem solicitar. De dentro de uma sessão de worktree ou de um subagente com um diretório de trabalho fixado, como [`isolation: worktree`](/docs/pt/sub-agents#supported-frontmatter-fields), apenas a forma `path` está disponível e o alvo deve estar sob `.claude/worktrees/` do repositório da sessão | Sim |

32| `ExitPlanMode` | Apresenta um plano para aprovação e sai do modo de plano | Sim |32| `ExitPlanMode` | Apresenta um plano para aprovação e sai do modo de plano | Sim |


48| `SendFeedback` | Redige um relatório de feedback sobre Claude Code, cobrindo um problema de produto ou o próprio comportamento de Claude na sessão, e o coloca na fila em sua máquina para você revisar. Claude Code não envia nada até que você escolha enviar o rascunho. Veja [Comportamento da ferramenta SendFeedback](#sendfeedback-tool-behavior). Requer Claude Code v2.1.238 ou posterior | Não |48| `SendFeedback` | Redige um relatório de feedback sobre Claude Code, cobrindo um problema de produto ou o próprio comportamento de Claude na sessão, e o coloca na fila em sua máquina para você revisar. Claude Code não envia nada até que você escolha enviar o rascunho. Veja [Comportamento da ferramenta SendFeedback](#sendfeedback-tool-behavior). Requer Claude Code v2.1.238 ou posterior | Não |

49| `SendMessage` | Envia uma mensagem para outro agente: um colega de equipe de [equipe de agentes](/docs/pt/agent-teams), um [subagente que ele retoma](/docs/pt/sub-agents#resume-subagents) por ID ou nome de agente, ou uma de suas outras sessões de Claude Code, nesta máquina ou além dela. Mensagens para outras sessões requerem Claude Code v2.1.224 ou posterior. [Mensagens entre sessões](/docs/pt/cross-session-messaging) cobrem quais sessões Claude pode alcançar, [como uma mensagem se parece quando chega](/docs/pt/cross-session-messaging#what-a-message-looks-like) e [como Claude recebe um aviso quando outra sessão fica inativa](/docs/pt/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude pode incluir uma entrada `summary` opcional, normalmente 5-10 palavras, que Claude Code mostra como uma visualização de uma linha. Quando Claude a omite em uma [mensagem de texto simples](/docs/pt/cross-session-messaging#limitations), Claude Code usa a primeira linha da mensagem como resumo. Claude Code trunca um resumo mais longo que 200 caracteres com reticências | Não |49| `SendMessage` | Envia uma mensagem para outro agente: um colega de equipe de [equipe de agentes](/docs/pt/agent-teams), um [subagente que ele retoma](/docs/pt/sub-agents#resume-subagents) por ID ou nome de agente, ou uma de suas outras sessões de Claude Code, nesta máquina ou além dela. Mensagens para outras sessões requerem Claude Code v2.1.224 ou posterior. [Mensagens entre sessões](/docs/pt/cross-session-messaging) cobrem quais sessões Claude pode alcançar, [como uma mensagem se parece quando chega](/docs/pt/cross-session-messaging#what-a-message-looks-like) e [como Claude recebe um aviso quando outra sessão fica inativa](/docs/pt/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude pode incluir uma entrada `summary` opcional, normalmente 5-10 palavras, que Claude Code mostra como uma visualização de uma linha. Quando Claude a omite em uma [mensagem de texto simples](/docs/pt/cross-session-messaging#limitations), Claude Code usa a primeira linha da mensagem como resumo. Claude Code trunca um resumo mais longo que 200 caracteres com reticências | Não |

50| `SendUserFile` | Envia arquivos da sessão para você com uma legenda opcional, para que um relatório gerado, diagrama, captura de tela ou artefato construído chegue ao seu dispositivo em vez de apenas ser mencionado na transcrição. A entrada `display` opcional controla a apresentação: `render` abre o arquivo inline no cliente, `attach` mostra apenas um cartão de download e quando não definido o cliente decide por tipo de arquivo. Disponível quando um cliente de [Remote Control](/docs/pt/remote-control) está conectado ou em uma [sessão na nuvem](/docs/pt/claude-code-on-the-web). A entrega é executada através de infraestrutura hospedada pela Anthropic, então a ferramenta não está disponível no Amazon Bedrock, Agent Platform do Google Cloud ou Microsoft Foundry | Não |50| `SendUserFile` | Envia arquivos da sessão para você com uma legenda opcional, para que um relatório gerado, diagrama, captura de tela ou artefato construído chegue ao seu dispositivo em vez de apenas ser mencionado na transcrição. A entrada `display` opcional controla a apresentação: `render` abre o arquivo inline no cliente, `attach` mostra apenas um cartão de download e quando não definido o cliente decide por tipo de arquivo. Disponível quando um cliente de [Remote Control](/docs/pt/remote-control) está conectado ou em uma [sessão na nuvem](/docs/pt/claude-code-on-the-web). A entrega é executada através de infraestrutura hospedada pela Anthropic, então a ferramenta não está disponível no Amazon Bedrock, Agent Platform do Google Cloud ou Microsoft Foundry | Não |

51| `ShareOnboardingGuide` | Carrega `ONBOARDING.md` e retorna um link de compartilhamento que colegas de equipe podem abrir no Claude Code. Chamado de `/team-onboarding` após o guia ser escrito. Disponível para assinantes do claude.ai nos planos Pro, Max, Team e Enterprise | Sim |51| `ShareOnboardingGuide` | Carrega `ONBOARDING.md` e retorna um link de compartilhamento que colegas de equipe podem abrir no Claude Code. Chamado de `/team-onboarding` após o guia ser escrito. Disponível para assinantes do claude.ai nos planos Team e Enterprise | Sim |

52| `Skill` | Executa uma [skill](/docs/pt/skills#control-who-invokes-a-skill) dentro da conversa principal | Sim |52| `Skill` | Executa uma [skill](/docs/pt/skills#control-who-invokes-a-skill) dentro da conversa principal | Sim |

53| `SubagentHandback` | Entrega o relatório final de um subagente para qualquer conversa que receba o resultado desse subagente. Fornecido apenas em [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), para subagentes que a ferramenta Agent executa localmente, exceto [forks](/docs/pt/sub-agents#fork-the-current-conversation), e disponível no CLI do terminal, extensões IDE, sessões na nuvem e Agent SDK; o classificador revisa o relatório antes de ser entregue. Requer Claude Code v2.1.271 ou posterior | Não |53| `SubagentHandback` | Entrega o relatório final de um subagente para qualquer conversa que receba o resultado desse subagente. Fornecido apenas em [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), para subagentes que a ferramenta Agent executa localmente, exceto [forks](/docs/pt/sub-agents#fork-the-current-conversation), e disponível no CLI do terminal, extensões IDE, sessões na nuvem e Agent SDK; o classificador revisa o relatório antes de ser entregue. Requer Claude Code v2.1.271 ou posterior | Não |

54| `TaskCreate` | Cria uma nova tarefa na lista de tarefas. Fornecido por padrão apenas nos modelos listados em [Disponibilidade da ferramenta Task](#task-tool-availability) e em outros modelos quando você optar por participar | Não |54| `TaskCreate` | Cria uma nova tarefa na lista de tarefas. Fornecido por padrão apenas nos modelos listados em [Disponibilidade da ferramenta Task](#task-tool-availability) e em outros modelos quando você optar por participar | Não |


92 92 

93Ferramentas não listadas aqui, como `ExitPlanMode` ou `ShareOnboardingGuide`, aceitam apenas o nome da ferramenta sem especificador.93Ferramentas não listadas aqui, como `ExitPlanMode` ou `ShareOnboardingGuide`, aceitam apenas o nome da ferramenta sem especificador.

94 94 

95Uma regra de permissão `Edit(...)` também concede acesso de leitura ao mesmo caminho, portanto você não precisa de uma regra `Read(...)` correspondente. Uma regra de negação `Read(...)` também bloqueia as ferramentas Edit e Write no mesmo caminho, incluindo a criação de um novo arquivo lá, porque ambas as ferramentas alteram conteúdo que Claude precisa ser capaz de ler novamente. A verificação de negação `Read` requer Claude Code v2.1.208 ou posterior em edições, e v2.1.228 ou posterior em escritas.95Uma regra de permissão `Edit(...)` também concede acesso de leitura ao mesmo caminho, portanto você não precisa de uma regra `Read(...)` correspondente. Uma regra de negação `Read(...)` também bloqueia as ferramentas Edit e Write no mesmo caminho, incluindo a criação de um novo arquivo lá, porque ambas as ferramentas alteram conteúdo que Claude precisa ser capaz de ler novamente. Para a ferramenta Write, a verificação de negação `Read` requer Claude Code v2.1.228 ou posterior.

96 96 

97Os campos `matcher` do Hook usam nomes de ferramentas simples, não o formato entre parênteses. Veja [padrões de matcher](/docs/pt/hooks#matcher-patterns) para as regras de correspondência. Para os nomes de campo que cada ferramenta passa para `tool_input` em hooks, veja a [referência de entrada PreToolUse](/docs/pt/hooks#pretooluse-input).97Os campos `matcher` do Hook usam nomes de ferramentas simples, não o formato entre parênteses. Veja [padrões de matcher](/docs/pt/hooks#matcher-patterns) para as regras de correspondência. Para os nomes de campo que cada ferramenta passa para `tool_input` em hooks, veja a [referência de entrada PreToolUse](/docs/pt/hooks#pretooluse-input).

98 98 


100 Comportamento da ferramenta Agent100 Comportamento da ferramenta Agent

101</h2>101</h2>

102 102 

103A ferramenta Agent cria um subagente em uma janela de contexto separada. O subagente trabalha através de sua tarefa autonomamente, depois retorna seu resultado para a conversa pai. O pai não vê as chamadas de ferramentas intermediárias ou saídas do subagente, apenas esse resultado final. Com [agent teams](/docs/pt/agent-teams) ativados, uma chamada que carrega um `name` pode iniciar um [teammate](/docs/pt/agent-teams#how-claude-starts-agent-teams), que relata através de mensagens de equipe em vez de retornar um resultado.103A ferramenta Agent cria um subagente em uma janela de contexto separada. O subagente trabalha através de sua tarefa autonomamente, depois retorna seu resultado para a conversa pai. O pai não vê as chamadas de ferramenta intermediárias ou saídas do subagente, apenas esse resultado final. A mesma ferramenta também pode iniciar um teammate ou uma bifurcação:

104 104 

105Para limitar quantas voltas um subagente executa, defina `maxTurns` na [definição do subagente](/docs/pt/sub-agents#supported-frontmatter-fields). Quando o subagente atinge o limite, Claude Code marca o resultado retornado como saída parcial, e Claude pode [retomar o subagente](/docs/pt/sub-agents#resume-subagents) para continuar.105* **Teammate**: com [equipes de agentes](/docs/pt/agent-teams) ativadas, uma chamada que carrega um `name` pode, em vez disso, iniciar um [teammate](/docs/pt/agent-teams#how-claude-starts-agent-teams), que relata através de mensagens de equipe em vez de retornar um resultado

106* **Bifurcação**: onde quer que o [fork mode](/docs/pt/sub-agents#turn-fork-mode-on-or-off) esteja ativado, a ferramenta pode iniciar um [subagente bifurcado](/docs/pt/sub-agents#fork-the-current-conversation), que herda a conversa pai completa em vez de começar do zero

106 107 

107A mesma ferramenta Agent também inicia [subagentes bifurcados](/docs/pt/sub-agents#fork-the-current-conversation) onde [fork mode](/docs/pt/sub-agents#turn-fork-mode-on-or-off) está ativado. Uma bifurcação herda a conversa pai completa em vez de começar do zero, executa em segundo plano além dos [casos que permanecem em primeiro plano](/docs/pt/sub-agents#run-subagents-in-foreground-or-background), e ainda exibe prompts de permissão em seu terminal. O resto desta seção descreve subagentes não-bifurcados.108Para limitar quantas voltas um subagente executa, defina `maxTurns` na [definição do subagente](/docs/pt/sub-agents#supported-frontmatter-fields). Quando o subagente atinge o limite, Claude Code marca o resultado retornado como saída parcial, e Claude pode [retomar o subagente](/docs/pt/sub-agents#resume-subagents) para continuar.

108 109 

109Quais ferramentas um subagente não-bifurcado pode usar depende dos campos `tools` e `disallowedTools` na [definição do subagente](/docs/pt/sub-agents):110Quais ferramentas um subagente não-bifurcado pode usar depende dos campos `tools` e `disallowedTools` na [definição do subagente](/docs/pt/sub-agents):

110 111 


279 280 

280A ferramenta Edit realiza substituição exata de strings. Ela recebe uma `old_string` e uma `new_string` e substitui a primeira pela segunda. Ela não usa regex ou correspondência aproximada.281A ferramenta Edit realiza substituição exata de strings. Ela recebe uma `old_string` e uma `new_string` e substitui a primeira pela segunda. Ela não usa regex ou correspondência aproximada.

281 282 

282Estas verificações devem passar para que uma edição seja aplicada. Antes de qualquer uma delas, um caminho correspondido por uma [regra de negação `Read`](/docs/pt/permissions#tool-specific-permission-rules) é recusado, incluindo a criação de um novo arquivo lá. A recusa requer Claude Code v2.1.208 ou posterior.283Estas verificações devem passar para que uma edição seja aplicada. Antes de qualquer uma delas, um caminho correspondido por uma [regra de negação `Read`](/docs/pt/permissions#tool-specific-permission-rules) é recusado, incluindo a criação de um novo arquivo lá.

283 284 

284* **Read-before-edit**: Claude lê o arquivo na conversa atual antes de editá-lo, e uma leitura interrompida com um aviso [`PARTIAL view`](#large-files) não conta. Claude Opus 4.6, Claude Haiku 4.5 e modelos mais antigos sempre exigem a leitura. Modelos mais novos podem editar um arquivo não lido quando a leitura não precisaria de um prompt de permissão e a ferramenta Read está disponível.285* **Read-before-edit**: Claude lê o arquivo na conversa atual antes de editá-lo, e uma leitura interrompida com um aviso [`PARTIAL view`](#large-files) não conta. Claude Opus 4.6, Claude Haiku 4.5 e modelos mais antigos sempre exigem a leitura. Modelos mais novos podem editar um arquivo não lido quando a leitura não precisaria de um prompt de permissão e a ferramenta Read está disponível.

285* **Match**: `old_string` deve aparecer no arquivo exatamente como escrito. Uma única diferença de caractere de espaço em branco ou indentação é suficiente para não corresponder.286* **Match**: `old_string` deve aparecer no arquivo exatamente como escrito. Uma única diferença de caractere de espaço em branco ou indentação é suficiente para não corresponder.

286* **Uniqueness**: `old_string` deve aparecer exatamente uma vez. Quando aparece mais de uma vez, Claude fornece uma string mais longa com contexto circundante suficiente para identificar uma ocorrência, ou define `replace_all: true` para substituir todas elas.287* **Uniqueness**: `old_string` deve aparecer exatamente uma vez. Quando aparece mais de uma vez, Claude fornece uma string mais longa com contexto circundante suficiente para identificar uma ocorrência, ou define `replace_all: true` para substituir todas elas.

287 288 

288Um arquivo que mudou no disco depois que Claude o leu pela última vez ainda pode ser editado quando `old_string` corresponde ao conteúdo atual exatamente e sem ambiguidade e Claude Code pode ler o arquivo sem solicitar. Corresponder contra o conteúdo atual do arquivo mantém isso seguro, e o resultado observa que o arquivo contém outras alterações para que Claude o releia antes de edições que dependem do conteúdo circundante. Em qualquer outro caso, como uma `old_string` desatualizada ou uma que corresponde mais de uma vez sem `replace_all`, Claude lê o arquivo novamente antes de editar. O tratamento relaxado de arquivos não lidos e alterados requer Claude Code v2.1.208 ou posterior; antes disso, Claude Code recusava qualquer edição em um arquivo que não havia lido na conversa ou que mudou no disco após a leitura.289Um arquivo que mudou no disco depois que Claude o leu pela última vez ainda pode ser editado quando `old_string` corresponde ao conteúdo atual exatamente e sem ambiguidade e Claude Code pode ler o arquivo sem solicitar. Corresponder contra o conteúdo atual do arquivo mantém isso seguro, e o resultado observa que o arquivo contém outras alterações para que Claude o releia antes de edições que dependem do conteúdo circundante. Em qualquer outro caso, como uma `old_string` desatualizada ou uma que corresponde mais de uma vez sem `replace_all`, Claude lê o arquivo novamente antes de editar.

289 290 

290Claude também pode editar um arquivo sem um Read separado depois de visualizá-lo com um comando Bash como `cat` ou `grep`. Esses comandos são `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` e `rg`, cada um executado em um único arquivo sem pipes ou redirecionamentos. Uma busca que não exibe nenhuma correspondência não conta como leitura, nem qualquer comando fora desta lista.291Claude também pode editar um arquivo sem um Read separado depois de visualizá-lo com um comando Bash como `cat` ou `grep`. Esses comandos são `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` e `rg`, cada um executado em um único arquivo sem pipes ou redirecionamentos. Uma busca que não exibe nenhuma correspondência não conta como leitura, nem qualquer comando fora desta lista.

291 292 


322 323 

323A ferramenta aparece apenas quando todos os itens a seguir se aplicam:324A ferramenta aparece apenas quando todos os itens a seguir se aplicam:

324 325 

325* **Versão**: Claude Code v2.1.213 ou posterior.

326* **Modelo**: o modelo da sessão é Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5 ou uma versão posterior de uma dessas famílias.326* **Modelo**: o modelo da sessão é Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5 ou uma versão posterior de uma dessas famílias.

327* **Superfície**: uma sessão de terminal interativa, incluindo uma sessão `claude` no terminal integrado de um IDE, que é como o [plugin JetBrains](/docs/pt/jetbrains) a executa. Outras superfícies não incluem a ferramenta, como:327* **Superfície**: uma sessão de terminal interativa, incluindo uma sessão `claude` no terminal integrado de um IDE, que é como o [plugin JetBrains](/docs/pt/jetbrains) a executa. Outras superfícies não incluem a ferramenta, como:

328 * execuções não interativas `-p`328 * execuções não interativas `-p`


341 341 

342No macOS, Linux e WSL, você recupera as ferramentas Glob e Grep nestes casos:342No macOS, Linux e WSL, você recupera as ferramentas Glob e Grep nestes casos:

343 343 

344* Você nomeia `Glob` ou `Grep` em [`--tools` ou `--allowedTools`](/docs/pt/cli-reference#cli-flags) quando inicia a sessão, ou nas [opções equivalentes do Agent SDK](/docs/pt/agent-sdk/overview). Com `--tools` você obtém os que lista, e nomear qualquer ferramenta em `--allowedTools` restaura ambas. Uma regra de permissão em um arquivo de configurações não tem esse efeito.344* Você nomeia `Glob` ou `Grep` em [`--tools` ou `--allowedTools`](/docs/pt/cli-reference#cli-flags) quando inicia a sessão, ou nas [opções equivalentes do Agent SDK](/docs/pt/agent-sdk/overview). Com `--tools` você obtém os que lista, e nomear qualquer ferramenta em `--allowedTools` restaura ambas. Uma regra allow em um arquivo de configurações não tem esse efeito.

345* Uma [regra de negação](/docs/pt/permissions#match-all-uses-of-a-tool) de permissões, o sinalizador `--disallowedTools`, ou [`--restricted`](/docs/pt/cli-reference#cli-flags) remove `Bash` da sessão.345* Uma [regra de negação](/docs/pt/permissions#match-all-uses-of-a-tool) de permissões, a flag `--disallowedTools`, ou [`--restricted`](/docs/pt/cli-reference#cli-flags) remove `Bash` da sessão.

346* Um [subagente](/docs/pt/sub-agents#available-tools) lista `Glob` ou `Grep` em seu campo `tools` e deixa `Bash` de fora. As ferramentas listadas voltam apenas para esse subagente, ou para toda a sessão quando é executado como o agente de sessão principal através de [`--agent`](/docs/pt/sub-agents#invoke-subagents-explicitly) ou da configuração `agent`.346* Um [subagente](/docs/pt/sub-agents#available-tools) lista `Glob` ou `Grep` em seu campo `tools` e deixa `Bash` de fora. As ferramentas listadas voltam apenas para esse subagente, ou para toda a sessão quando é executado como o agente de sessão principal através de [`--agent`](/docs/pt/sub-agents#invoke-subagents-explicitly) ou da configuração `agent`.

347 347 

348Glob suporta sintaxe glob padrão, incluindo `**` para correspondência recursiva de diretórios:348Glob suporta sintaxe glob padrão, incluindo `**` para correspondência recursiva de diretórios:


357 357 

358Claude Code decide a permissão para uma chamada Glob antes de verificar se o diretório de pesquisa existe. Ele ainda executa a verificação de permissão de leitura para um `path` ausente fora dos [diretórios de trabalho](/docs/pt/permissions#working-directories), portanto um prompt de permissão para um caminho não significa que o caminho existe.358Claude Code decide a permissão para uma chamada Glob antes de verificar se o diretório de pesquisa existe. Ele ainda executa a verificação de permissão de leitura para um `path` ausente fora dos [diretórios de trabalho](/docs/pt/permissions#working-directories), portanto um prompt de permissão para um caminho não significa que o caminho existe.

359 359 

360Um valor `pattern` ou `path` que contém um byte nulo retorna um erro pedindo a Claude para removê-lo.&#x20;360Um valor `pattern` ou `path` que contém um byte nulo retorna um erro pedindo a Claude para removê-lo.

361 361 

362<h2 id="grep-tool-behavior">362<h2 id="grep-tool-behavior">

363 Comportamento da ferramenta Grep363 Comportamento da ferramenta Grep


373 373 

374* `files_with_matches`: apenas caminhos de arquivo, sem conteúdo de linha. Este é o padrão.374* `files_with_matches`: apenas caminhos de arquivo, sem conteúdo de linha. Este é o padrão.

375* `content`: linhas correspondentes com arquivo e número de linha. Quando o parâmetro `offset` da ferramenta aponta para além da última correspondência de um padrão que tem correspondências, Grep retorna `No entries at this offset`, para que Claude amplie ou redefina o offset em vez de concluir que o padrão não corresponde.375* `content`: linhas correspondentes com arquivo e número de linha. Quando o parâmetro `offset` da ferramenta aponta para além da última correspondência de um padrão que tem correspondências, Grep retorna `No entries at this offset`, para que Claude amplie ou redefina o offset em vez de concluir que o padrão não corresponde.

376* `count`: contagem de correspondências por arquivo, seguida por um total em todos os arquivos correspondentes. O total cobre cada correspondência mesmo quando os parâmetros `head_limit` ou `offset` da ferramenta truncam as entradas listadas por arquivo. Antes da v2.1.208, o total apenas somava as entradas listadas.376* `count`: contagem de correspondências por arquivo, seguida por um total em todos os arquivos correspondentes. O total cobre cada correspondência mesmo quando os parâmetros `head_limit` ou `offset` da ferramenta truncam as entradas listadas por arquivo.

377 377 

378Claude pode escopar resultados por arquivo com o parâmetro `glob`, como `**/*.tsx`, ou por linguagem com o parâmetro `type`, como `py` ou `rust`. Por padrão, padrões correspondem dentro de uma única linha. Claude pode definir `multiline: true` para corresponder através de limites de linha.378Claude pode escopar resultados por arquivo com o parâmetro `glob`, como `**/*.tsx`, ou por linguagem com o parâmetro `type`, como `py` ou `rust`. Por padrão, padrões correspondem dentro de uma única linha. Claude pode definir `multiline: true` para corresponder através de limites de linha.

379 379 


536 Codificação do Windows e códigos de saída536 Codificação do Windows e códigos de saída

537</h3>537</h3>

538 538 

539No Windows, os seguintes comportamentos de codificação e código de saída do PowerShell requerem Claude Code v2.1.214 ou posterior:

540 

541* Redirecionamento com `>` e `>>` escreve arquivos UTF-8 no PowerShell 5.1539* Redirecionamento com `>` e `>>` escreve arquivos UTF-8 no PowerShell 5.1

542* Claude Code codifica texto canalizado para a entrada padrão de um comando nativo como UTF-8540* Claude Code codifica texto canalizado para a entrada padrão de um comando nativo como UTF-8

543* Claude Code captura saída de erro sem sequências de escape ANSI541* Claude Code captura saída de erro sem sequências de escape ANSI

544* Um comando cujo processo filho aguarda na entrada padrão recebe fim de arquivo em vez de travar542* Um comando cujo processo filho aguarda na entrada padrão recebe fim de arquivo em vez de travar

545* O código de saída 1 de `where.exe` significa nenhuma correspondência, e de `fc.exe` e `diff.exe` significa que os arquivos diferem, portanto quando o comando produz saída, Claude Code trata esse código de saída como uma resposta negativa válida em vez de um erro de comando. Claude Code ainda relata uma forma silenciada, como `where.exe /Q` ou um redirecionamento para `$null`, como uma falha no código de saída 1543* O código de saída 1 de `where.exe` significa nenhuma correspondência, e de `fc.exe` e `diff.exe` significa que os arquivos diferem, portanto quando o comando produz saída, Claude Code trata esse código de saída como uma resposta negativa válida em vez de um erro de comando. Claude Code ainda relata uma forma silenciada, como `where.exe /Q` ou um redirecionamento para `$null`, como uma falha no código de saída 1

546 544 

547Antes da v2.1.214, `>` no PowerShell 5.1 escrevia arquivos UTF-16LE, entrada não-ASCII canalizada chegava como `?`, e scripts Python poderiam falhar com um `UnicodeEncodeError` ao imprimir caracteres não-ASCII.

548 

549<h3 id="preview-limitations">545<h3 id="preview-limitations">

550 Limitações de visualização546 Limitações de visualização

551</h3>547</h3>


561 557 

562A ferramenta Read recebe um caminho de arquivo e retorna o conteúdo com números de linha. Claude é instruído a sempre passar caminhos absolutos.558A ferramenta Read recebe um caminho de arquivo e retorna o conteúdo com números de linha. Claude é instruído a sempre passar caminhos absolutos.

563 559 

564Ler um arquivo vazio retorna um aviso de que o arquivo existe mas seu conteúdo está vazio, e um `offset` além da última linha retorna um aviso informando a contagem de linhas do arquivo. Antes da v2.1.208, ler um arquivo vazio retornava o aviso past-the-end em vez disso.560Ler um arquivo vazio retorna um aviso de que o arquivo existe mas seu conteúdo está vazio, e um `offset` além da última linha retorna um aviso informando a contagem de linhas do arquivo.

565 561 

566Read lida com vários tipos de arquivo além de texto simples:562Read lida com vários tipos de arquivo além de texto simples:

567 563 

568* **Imagens**: PNG, JPG e outros formatos de imagem são retornados como conteúdo visual que Claude pode ver, não como bytes brutos. Claude Code redimensiona e recompacta imagens grandes para se adequarem aos limites de tamanho de imagem do modelo antes de enviá-las, então Claude pode ver uma versão reduzida de uma captura de tela grande. Uma imagem que ainda é maior que 500KB após esse redimensionamento é re-codificada como JPEG com qualidade reduzida com suas dimensões de pixel inalteradas. Se Claude perder detalhes de nível de pixel fino em uma imagem grande, peça-lhe para cortar a região de interesse primeiro, por exemplo com ImageMagick via Bash.564* **Imagens**: arquivos PNG, JPEG, GIF e WebP são retornados como conteúdo visual que Claude pode ver, não como bytes brutos. Claude Code redimensiona e recompacta imagens grandes para se adequarem aos limites de tamanho de imagem do modelo antes de enviá-las, então Claude pode ver uma versão reduzida de uma captura de tela grande.

565 

566 Se Claude perder detalhes de nível de pixel fino em uma imagem grande, peça-lhe para cortar a região de interesse, por exemplo com ImageMagick via Bash, e então ler o recorte.

569* **PDFs**: Claude lê arquivos `.pdf` curtos por inteiro. Para PDFs com mais de 10 páginas, ele lê em intervalos com um parâmetro `pages`, como `"1-5"`, até 20 páginas por vez. Leituras de intervalo de páginas renderizam páginas com `pdftoppm` do poppler-utils, então instale-o com `brew install poppler` no macOS ou `apt-get install poppler-utils` no Debian e Ubuntu. No Windows e outras plataformas, instale uma compilação do poppler que coloque `pdftoppm` no seu `PATH`. Sem ele, uma leitura de intervalo de páginas falha com `pdftoppm is not installed`.567* **PDFs**: Claude lê arquivos `.pdf` curtos por inteiro. Para PDFs com mais de 10 páginas, ele lê em intervalos com um parâmetro `pages`, como `"1-5"`, até 20 páginas por vez. Leituras de intervalo de páginas renderizam páginas com `pdftoppm` do poppler-utils, então instale-o com `brew install poppler` no macOS ou `apt-get install poppler-utils` no Debian e Ubuntu. No Windows e outras plataformas, instale uma compilação do poppler que coloque `pdftoppm` no seu `PATH`. Sem ele, uma leitura de intervalo de páginas falha com `pdftoppm is not installed`.

570* **Notebooks Jupyter**: arquivos `.ipynb` retornam todas as células com suas saídas, incluindo código, markdown e visualizações. Um notebook cujas células somam mais de 256 KB, ou mais do que o [limite de tokens](#large-files), retorna um erro em vez disso. Claude Code recusa-se a ler um arquivo de notebook com mais de 100 MB; o erro informa a Claude como ler uma porção do notebook em vez disso, como uma fatia de células, com um comando shell.568* **Notebooks Jupyter**: arquivos `.ipynb` retornam todas as células com suas saídas, incluindo código, markdown e visualizações. Um notebook cujas células somam mais de 256 KB, ou mais do que o [limite de tokens](#large-files), retorna um erro em vez disso. Claude Code recusa-se a ler um arquivo de notebook com mais de 100 MB; o erro informa a Claude como ler uma porção do notebook em vez disso, como uma fatia de células, com um comando shell.

571 569 

572Read apenas lê arquivos, não diretórios. Claude lista o conteúdo do diretório com um comando shell como `ls`.570Read apenas lê arquivos, não diretórios. Claude lista o conteúdo do diretório com um comando shell como `ls`.

573 571 

572Read recusa um arquivo cuja extensão trata como binária, como `.xlsx`, `.parquet`, `.heic` ou `.zip`. Claude continua trabalhando após uma recusa: o erro sugere uma skill para esse tipo de arquivo, se houver uma disponível, ou então um comando shell ou script que leia o formato. Se você [mencionar com `@`](/docs/pt/common-workflows#reference-files-and-directories) um arquivo que Read recusa, Claude recebe o caminho do arquivo, mas não seu conteúdo.

573 

574<h3 id="large-files">574<h3 id="large-files">

575 Arquivos grandes575 Arquivos grandes

576</h3>576</h3>


691* WebFetch armazena em cache cada resposta por 15 minutos por padrão, então buscas repetidas da mesma URL retornam rapidamente. No Claude Code v2.1.233 ou posterior, defina [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/pt/env-vars#variables) para alterar quanto tempo WebFetch mantém cada resposta.691* WebFetch armazena em cache cada resposta por 15 minutos por padrão, então buscas repetidas da mesma URL retornam rapidamente. No Claude Code v2.1.233 ou posterior, defina [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/pt/env-vars#variables) para alterar quanto tempo WebFetch mantém cada resposta.

692* Uma página que não terminou de fazer download em cinco minutos, incluindo qualquer redirecionamento que WebFetch segue, falha com um erro de deadline. No Claude Code v2.1.268 ou posterior, defina [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/pt/env-vars#variables) para alterar o limite, ou para `0` para removê-lo.692* Uma página que não terminou de fazer download em cinco minutos, incluindo qualquer redirecionamento que WebFetch segue, falha com um erro de deadline. No Claude Code v2.1.268 ou posterior, defina [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/pt/env-vars#variables) para alterar o limite, ou para `0` para removê-lo.

693* Quando uma URL redireciona para um host diferente, WebFetch retorna um resultado de texto que nomeia a URL original e o alvo de redirecionamento em vez de segui-lo. Claude então busca a nova URL com uma segunda chamada WebFetch.693* Quando uma URL redireciona para um host diferente, WebFetch retorna um resultado de texto que nomeia a URL original e o alvo de redirecionamento em vez de segui-lo. Claude então busca a nova URL com uma segunda chamada WebFetch.

694* Quando a etapa de extração atinge uma API sobrecarregada, Claude Code tenta novamente com backoff; uma busca que ainda falha retorna um resultado de erro. Antes da v2.1.212, o texto de erro da API poderia chegar a Claude como se fosse o conteúdo da página extraída.694* Quando a etapa de extração atinge uma API sobrecarregada, Claude Code tenta novamente com backoff; uma busca que ainda falha retorna um resultado de erro.

695 695 

696Nos modos Manual e `acceptEdits` [permission modes](/docs/pt/permission-modes), WebFetch solicita antes de buscar, exceto para domínios que suas [permission rules](/docs/pt/permissions#manage-permissions) já permitem ou negam e um conjunto integrado de domínios de documentação pré-aprovados que buscam sem um prompt. Qualquer que seja suas regras permitam, uma busca também passa pela [WebFetch domain safety check](/docs/pt/data-usage#webfetch-domain-safety-check) primeiro; essa seção cobre o que a verificação envia e a configuração que a ignora. O prompt oferece três opções:696Nos modos Manual e `acceptEdits` [permission modes](/docs/pt/permission-modes), WebFetch solicita antes de buscar, exceto para domínios que suas [permission rules](/docs/pt/permissions#manage-permissions) já permitem ou negam e um conjunto integrado de domínios de documentação pré-aprovados que buscam sem um prompt. Qualquer que seja suas regras permitam, uma busca também passa pela [WebFetch domain safety check](/docs/pt/data-usage#webfetch-domain-safety-check) primeiro; essa seção cobre o que a verificação envia e a configuração que a ignora. O prompt oferece três opções:

697 697 


727 727 

728A ferramenta pode emitir até oito buscas de backend por chamada, refinando a busca internamente antes de retornar resultados. Claude pode delimitar resultados com `allowed_domains` para incluir apenas certos hosts, ou `blocked_domains` para excluí-los. As duas listas não podem ser combinadas em uma única chamada.728A ferramenta pode emitir até oito buscas de backend por chamada, refinando a busca internamente antes de retornar resultados. Claude pode delimitar resultados com `allowed_domains` para incluir apenas certos hosts, ou `blocked_domains` para excluí-los. As duas listas não podem ser combinadas em uma única chamada.

729 729 

730Quando a solicitação de busca atinge uma API sobrecarregada, Claude Code tenta novamente com backoff; uma chamada que ainda falha retorna um resultado de erro. Antes da v2.1.212, o texto de erro da API poderia chegar a Claude como se fossem resultados de busca.730Quando a requisição de busca atinge uma API sobrecarregada, Claude Code tenta novamente com backoff; uma chamada que ainda falha retorna um resultado de erro.

731 731 

732As regras de permissão do WebSearch não usam especificador. Uma entrada `WebSearch` simples em `allow` ou `deny` é a única forma.732As regras de permissão do WebSearch não usam especificador. Uma entrada `WebSearch` simples em `allow` ou `deny` é a única forma.

733 733 


741 Limite de busca da sessão741 Limite de busca da sessão

742</h3>742</h3>

743 743 

744Uma sessão interativa no terminal tem um limite de 200 chamadas do WebSearch. As buscas da conversa principal e de [subagentes](/docs/pt/sub-agents), como um fan-out de pesquisa paralela, contam contra o mesmo limite. O limite requer Claude Code v2.1.212 ou posterior.744Uma sessão interativa no terminal tem um limite de 200 chamadas do WebSearch. As buscas da conversa principal e de [subagentes](/docs/pt/sub-agents), como um fan-out de pesquisa paralela, contam contra o mesmo limite.

745 745 

746Enquanto uma sessão está no limite, as buscas aparecem na conversa como chamadas que não fizeram nada. Claude recebe um aviso dizendo a ele para continuar com as informações que já reuniu e, se precisar de mais buscas, para pedir que você aumente o limite.746Enquanto uma sessão está no limite, as buscas aparecem na conversa como chamadas que não fizeram nada. Claude recebe um aviso dizendo a ele para continuar com as informações que já reuniu, informar isso em sua resposta e, se precisar de mais buscas, pedir que você aumente o limite.

747 747 

748Para obter mais buscas, aumente o limite, aguarde o limite ser reabastecido ou inicie uma nova conversa:748Para obter mais buscas, aumente o limite, aguarde o limite ser reabastecido ou inicie uma nova conversa:

749 749 

Details

15| Loops de login, erros de OAuth, `403 Forbidden`, "organization disabled", credenciais do Amazon Bedrock, do Agent Platform do Google Cloud ou do Microsoft Foundry | [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install#login-and-authentication) |15| Loops de login, erros de OAuth, `403 Forbidden`, "organization disabled", credenciais do Amazon Bedrock, do Agent Platform do Google Cloud ou do Microsoft Foundry | [Solucionar problemas de instalação e login](/docs/pt/troubleshoot-install#login-and-authentication) |

16| Configurações não sendo aplicadas, hooks não sendo disparados, servidores MCP não carregando | [Depurar sua configuração](/docs/pt/debug-your-config) |16| Configurações não sendo aplicadas, hooks não sendo disparados, servidores MCP não carregando | [Depurar sua configuração](/docs/pt/debug-your-config) |

17| A sessão iniciou no modo auto, ou o Claude edita arquivos e executa comandos sem perguntar | [Em qual modo uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in) |17| A sessão iniciou no modo auto, ou o Claude edita arquivos e executa comandos sem perguntar | [Em qual modo uma sessão inicia](/docs/pt/permission-modes#which-mode-a-session-starts-in) |

18| Depois que você atualiza o Claude Code ou o Agent SDK, chamadas de ferramenta são negadas em execuções do `claude -p` ou do SDK que não passam `--permission-mode`, `permissionMode` ou `permission_mode` | [Chamadas de ferramenta negadas em execuções do `claude -p` e do Agent SDK](/docs/pt/permission-modes#which-mode-a-non-interactive-run-starts-in) |

18| `API Error: 5xx`, `529 Overloaded`, `429`, erros de validação de requisição | [Referência de erros](/docs/pt/errors) |19| `API Error: 5xx`, `529 Overloaded`, `429`, erros de validação de requisição | [Referência de erros](/docs/pt/errors) |

19| `model not found` ou `you may not have access to it` | [Referência de erros](/docs/pt/errors#theres-an-issue-with-the-selected-model) |20| `model not found` ou `you may not have access to it` | [Referência de erros](/docs/pt/errors#theres-an-issue-with-the-selected-model) |

20| Um comando executado pelo Claude falha com `Your disk quota is full`, `is full (ENOSPC)` ou `Command output was lost` | [Referência de erros](/docs/pt/errors#disk-quota-or-temp-filesystem-is-full) |21| Um comando executado pelo Claude falha com `Your disk quota is full`, `is full (ENOSPC)` ou `Command output was lost` | [Referência de erros](/docs/pt/errors#disk-quota-or-temp-filesystem-is-full) |

vs-code.md +25 −9

Details

268 268 

269Clique no botão **Session history** na parte superior do painel do Claude Code para acessar seu histórico de conversas. Você pode pesquisar por palavra-chave ou navegar por data.269Clique no botão **Session history** na parte superior do painel do Claude Code para acessar seu histórico de conversas. Você pode pesquisar por palavra-chave ou navegar por data.

270 270 

271Clique em qualquer conversa para retomá-la com o histórico completo de mensagens. Se a conversa já estiver aberta em outra aba da janela atual, clicar nela muda para essa aba. Se as mensagens permanecerem em branco no início, consulte [por que elas ficam em branco e quando aparecem](#a-resumed-conversation-is-blank-at-first). Para saber mais sobre como retomar sessões, consulte [Gerenciar sessões](/docs/pt/sessions).271Clique em qualquer conversa para retomá-la. Se a conversa já estiver aberta em outra aba da janela atual, clicar nela muda para essa aba. Se a conversa abrir sem nenhuma mensagem exibida, consulte [por que uma conversa retomada fica em branco no início](#a-resumed-conversation-is-blank-at-first). Para saber mais sobre como retomar sessões, consulte [Gerenciar sessões](/docs/pt/sessions).

272 272 

273* **Títulos de sessão**: novas sessões recebem títulos gerados por IA com base na sua primeira mensagem.273* **Títulos de sessão**: novas sessões recebem títulos gerados por IA com base na sua primeira mensagem.

274* **Renomear e arquivar**: passe o cursor sobre uma sessão para exibir essas ações. Renomeie para dar a ela um título descritivo ou arquive para movê-la para o grupo **Archived sessions** na parte inferior da lista.274* **Renomear e arquivar**: passe o cursor sobre uma sessão para exibir essas ações. Renomeie para dar a ela um título descritivo ou arquive para movê-la para o grupo **Archived sessions** na parte inferior da lista.


414 414 

415Uma abertura não é concluída quando o painel trava ou para de responder enquanto carrega a conversa, ou quando você recarrega ou fecha a janela cerca de três segundos após ela ser aberta. A conversa permanece inalterada e continua no [Histórico de sessões](#resume-past-conversations).415Uma abertura não é concluída quando o painel trava ou para de responder enquanto carrega a conversa, ou quando você recarrega ou fecha a janela cerca de três segundos após ela ser aberta. A conversa permanece inalterada e continua no [Histórico de sessões](#resume-past-conversations).

416 416 

417* **Para abri-la mesmo assim**: clique em **Open it anyway** ou escolha a conversa no Histórico de sessões. Se ela abrir e o painel continuar funcionando, ela volta normalmente após recarregamentos posteriores. Se o painel parar de responder novamente, recarregue a janela para voltar a um novo chat com o aviso.417* **Para abri-la mesmo assim**: clique em **Open it anyway** ou escolha a conversa no Histórico de sessões. Depois que a conversa terminar de abrir, ela [volta normalmente após recarregamentos posteriores](#continue-conversations-after-a-reload).

418* **Se o painel parar de responder enquanto a conversa carrega**: recarregue a janela. Um novo chat é aberto.

418* **Para deixá-la fechada**: continue trabalhando no novo chat. O aviso desaparece assim que você envia um prompt.419* **Para deixá-la fechada**: continue trabalhando no novo chat. O aviso desaparece assim que você envia um prompt.

419 420 

420<h3 id="run-multiple-conversations">421<h3 id="run-multiple-conversations">


556 Plugins que desenham no painel557 Plugins que desenham no painel

557</h3>558</h3>

558 559 

559Um plugin que contém um [mod](/docs/pt/plugins/mods/overview) pode desenhar no painel de chat. Desenhar requer a versão 2.1.299 ou posterior da extensão e uma sessão que [busca feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching). De um plugin assim, você pode ver:560Um plugin que contém um [mod](/docs/pt/plugins/mods/overview) pode desenhar no painel de chat. Desenhar requer a versão 2.1.299 ou posterior da extensão. Uma sessão que [não busca feature flags](/docs/pt/env-vars#features-that-need-feature-flag-fetching), como uma no Amazon Bedrock, requer a versão 2.1.304 ou posterior. De um plugin assim, você pode ver:

560 561 

561* Um painel ao lado da conversa ou acima da caixa de prompt562* Um painel ao lado da conversa ou acima da caixa de prompt

562* Uma notificação toast ou uma linha de status acima da caixa de prompt563* Uma notificação toast ou uma linha de status acima da caixa de prompt


624 625 

625Quando um comando ou um [subagente](/docs/pt/sub-agents) deixa Claude esperando mais do que você deseja, clique em **Run in background** abaixo da chamada de ferramenta dele na conversa. Requer Claude Code v2.1.287 ou posterior.626Quando um comando ou um [subagente](/docs/pt/sub-agents) deixa Claude esperando mais do que você deseja, clique em **Run in background** abaixo da chamada de ferramenta dele na conversa. Requer Claude Code v2.1.287 ou posterior.

626 627 

627* **Momento**: a ação aparece quando um comando está em execução há cerca de dois segundos, ou assim que um subagente é iniciado.628* **Momento**: a ação aparece quando um comando está em execução há cerca de dois segundos, ou assim que Claude começa a esperar por um [subagente](/docs/pt/sub-agents#run-subagents-in-foreground-or-background) que ele iniciou a partir da conversa principal.

628* **Depois de clicar**: Claude para de esperar e continua o turno. O comando ou subagente continua em execução como uma [tarefa em segundo plano](/docs/pt/tools-reference#background-commands) que notifica Claude quando termina.629* **Depois de clicar**: Claude para de esperar e continua o turno. O comando ou subagente continua em execução como uma [tarefa em segundo plano](/docs/pt/tools-reference#background-commands) que notifica Claude quando termina.

629 630 

630Para acompanhar a tarefa ou interrompê-la enquanto isso, digite `/tasks` na caixa de prompt para abrir o [mapa de agentes](#use-the-prompt-box). Um subagente mantém seu lugar na árvore de agentes ali, e um comando é listado abaixo dos agentes com sua [saída mais recente em seu cartão](#monitor-background-processes).631Para acompanhar a tarefa ou interrompê-la enquanto isso, digite `/tasks` na caixa de prompt para abrir o [mapa de agentes](#use-the-prompt-box). Um subagente mantém seu lugar na árvore de agentes ali, e um comando é listado abaixo dos agentes com sua [saída mais recente em seu cartão](#monitor-background-processes).

631 632 

633<h4 id="the-run-in-background-action-is-missing-under-a-subagent">

634 A ação Run in background não aparece abaixo de um subagente

635</h4>

636 

637Por padrão, no VS Code, os subagentes não mostram essa ação. Para entender o motivo em relação a um subagente, abra o cartão dele no [mapa de agentes](#use-the-prompt-box) e leia a linha `Spawned by`:

638 

639* **`Spawned by the main agent`**: o subagente foi iniciado em segundo plano, então Claude não está esperando por ele e você não precisa fazer nada. Para que Claude espere pelos subagentes, consulte [Deixar Claude esperar por um subagente](/docs/pt/sub-agents#let-claude-wait-for-a-subagent).

640* **`Spawned by` nomeia outro subagente**: a ação aparece apenas para subagentes que o agente principal iniciou, não para um [subagente aninhado](/docs/pt/sub-agents#let-subagents-spawn-their-own-subagents) pelo qual outro subagente está esperando. Para encerrar o subagente aninhado antecipadamente, clique em **Stop agent** no cartão dele. O subagente que estava esperando então continua sem esse resultado.

641 

632<h3 id="monitor-background-processes">642<h3 id="monitor-background-processes">

633 Monitorar processos em segundo plano643 Monitorar processos em segundo plano

634</h3>644</h3>


1028 1038 

1029Se uma fórmula aparecer como foi escrita enquanto outras próximas a ela são renderizadas, verifique estas causas:1039Se uma fórmula aparecer como foi escrita enquanto outras próximas a ela são renderizadas, verifique estas causas:

1030 1040 

1031* **Ela é interpretada como algo diferente de matemática**: texto `$…$` que é interpretado como uma palavra permanece como foi escrito, como `$O(n log n)$`. Texto `$…$` que começa com um dígito, como `$30$` ou `$1/N$`, também permanece como foi escrito, a menos que um caractere como `=`, `+` ou `^` o marque como matemática. Em vez disso, peça ao Claude um bloco `$$` em linhas próprias, que o painel renderiza sem essa verificação.1041* **A fórmula é inline e o painel não a trata como matemática**: peça ao Claude para enviá-la novamente como um bloco `$$` em linhas próprias. O painel deixa uma fórmula inline como foi escrita quando o texto entre seus delimitadores `$…$`:

1032* **Ela tem espaços extras, é longa ou está dividida em várias linhas**: `$ x^2 $` com espaços dentro dos cifrões, conteúdo `$…$` com mais de 60 caracteres e `$…$` ou `\(…\)` divididos em duas linhas não são renderizados. Em vez disso, peça ao Claude um bloco `$$` em linhas próprias, que não tem nenhum desses limites.1042 * É mais do que aritmética simples, mas não tem nenhum caractere como `=`, `+` ou `^` que o marque como matemática, como em `$O(n log n)$`

1033* **O TeX não pode ser renderizado**: uma fórmula com erro de sintaxe, uma definição de macro como `\newcommand` ou `\def`, ou um `%` sem escape aparece como foi escrita. Peça ao Claude para reescrevê-la com o erro corrigido, sem a macro, ou com `\%` para o sinal de porcentagem.1043 * Começa com um dígito e não tem nenhum caractere desse tipo, como em `$30$` e `$1/N$`

1034* **Ela é grande demais**: uma fórmula com mais de 8.192 caracteres, ou uma que seria desenhada muito maior do que seu código-fonte, aparece como foi escrita. Peça ao Claude para dividi-la em fórmulas menores ou para escrevê-la de forma mais compacta.1044 * Tem espaços dentro dos cifrões, como em `$ x^2 $`

1035* **Ela vem depois de uma grande quantidade de matemática**: dentro de um bloco de texto em uma resposta, o painel renderiza as fórmulas em ordem até um limite. Uma fórmula posterior que ultrapassaria o limite aparece como foi escrita. Peça ao Claude para enviar novamente, sozinha, a fórmula de que você precisa.1045 * Tem mais de 60 caracteres

1046 * Está dividido em duas linhas. Uma fórmula `\(…\)` dividida em duas linhas também não é renderizada.

1047* **A fórmula tem um erro de sintaxe TeX**: peça ao Claude para reescrevê-la com o erro corrigido.

1048* **A fórmula define uma macro**: uma fórmula com uma definição de macro como `\newcommand` ou `\def` aparece como foi escrita. Peça ao Claude para reescrevê-la sem a macro.

1049* **A fórmula contém um `%` sem escape**: peça ao Claude para reescrevê-la com `\%` para o sinal de porcentagem.

1050* **A fórmula é grande demais**: uma fórmula com mais de 8.192 caracteres, ou uma cuja saída renderizada seria muito maior do que seu código-fonte TeX, aparece como foi escrita. Peça ao Claude para dividi-la em fórmulas menores ou para escrevê-la de forma mais compacta.

1051* **A fórmula vem depois de uma grande quantidade de matemática**: dentro de um bloco de texto em uma resposta, o painel renderiza as fórmulas em ordem até um limite. Uma fórmula posterior que ultrapassaria o limite aparece como foi escrita. Peça ao Claude para enviar novamente, sozinha, a fórmula de que você precisa.

1036 1052 

1037<h3 id="claude-code-never-responds">1053<h3 id="claude-code-never-responds">

1038 O Claude Code nunca responde1054 O Claude Code nunca responde

Details

78 <p className="digest-wins-title">Outras vitórias</p>78 <p className="digest-wins-title">Outras vitórias</p>

79 79 

80 <div className="digest-wins-grid">80 <div className="digest-wins-grid">

81 <div><code>claude agents</code> ganhou sinalizadores de despacho (<code>--add-dir</code>, <code>--settings</code>, <code>--mcp-config</code>, <code>--plugin-dir</code>, <code>--permission-mode</code>, <code>--model</code>, <code>--effort</code>, <code>--dangerously-skip-permissions</code>) para configurar sessões em segundo plano, e <code>claude agents --cwd \<path></code> limita a lista de sessões a um diretório</div>81 <div><code>claude agents</code> ganhou sinalizadores de despacho (`--add-dir`, `--settings`, `--mcp-config`, `--plugin-dir`, `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`) para configurar sessões em segundo plano, e `claude agents --cwd <path>` limita a lista de sessões a um diretório</div>

82 <div>Novo hook <code>args: string\[]</code> forma exec gera o comando diretamente sem um shell, portanto os espaços reservados de caminho nunca precisam de aspas</div>82 <div>Novo hook <code>args: string\[]</code> forma exec gera o comando diretamente sem um shell, portanto os espaços reservados de caminho nunca precisam de aspas</div>

83 <div>Nova opção de configuração <code>continueOnBlock</code> para hooks <code>PostToolUse</code> alimenta o motivo da rejeição do hook de volta para Claude e continua o turno em vez de encerrá-lo</div>83 <div>Nova opção de configuração <code>continueOnBlock</code> para hooks <code>PostToolUse</code> alimenta o motivo da rejeição do hook de volta para Claude e continua o turno em vez de encerrá-lo</div>

84 <div>Novo campo <code>terminalSequence</code> na saída JSON do hook permite que hooks emitam notificações de desktop, títulos de janela e sinos sem um terminal controlador</div>84 <div>Novo campo <code>terminalSequence</code> na saída JSON do hook permite que hooks emitam notificações de desktop, títulos de janela e sinos sem um terminal controlador</div>

85 <div>O menu Rewind adicionou "Summarize up to here" para compactar contexto anterior mantendo turnos recentes intactos</div>85 <div>O menu Rewind adicionou "Summarize up to here" para compactar contexto anterior mantendo turnos recentes intactos</div>

86 <div>Remote Control, <code>/schedule</code>, conectores MCP do Claude.ai e preferências de notificação agora são desabilitados quando <code>ANTHROPIC\_API\_KEY</code>, <code>apiKeyHelper</code> ou <code>ANTHROPIC\_AUTH\_TOKEN</code> está definido, mesmo junto com um login do Claude.ai; desdefina a chave de API para usar esses recursos</div>86 <div>Remote Control, <code>/schedule</code>, conectores MCP do claude.ai e preferências de notificação agora são desabilitados quando <code>ANTHROPIC\_API\_KEY</code>, <code>apiKeyHelper</code> ou <code>ANTHROPIC\_AUTH\_TOKEN</code> está definido, mesmo junto com um login do claude.ai; desdefina a chave de API para usar esses recursos</div>

87 <div>Servidores stdio MCP agora recebem <code>CLAUDE\_PROJECT\_DIR</code> em seu ambiente, correspondendo a hooks, e configurações de plugin podem referenciar <code>\${"{"}CLAUDE\_PROJECT\_DIR{"}"}</code> em comandos</div>87 <div>Servidores stdio MCP agora recebem <code>CLAUDE\_PROJECT\_DIR</code> em seu ambiente, correspondendo a hooks, e configurações de plugin podem referenciar <code>\${"{"}CLAUDE\_PROJECT\_DIR{"}"}</code> em comandos</div>

88 <div><code>claude plugin details \<name></code> mostra o inventário de componentes de um plugin e o custo de token por sessão projetado, e o painel de detalhes <code>/plugin</code> agora também lista os servidores LSP que um plugin fornece</div>88 <div><code>claude plugin details \<name></code> mostra o inventário de componentes de um plugin e o custo de token por sessão projetado, e o painel de detalhes <code>/plugin</code> agora também lista os servidores LSP que um plugin fornece</div>

89 <div>Plugins com um <code>SKILL.md</code> no nível raiz e nenhum subdiretório <code>skills/</code> agora são exibidos como uma skill</div>89 <div>Plugins com um <code>SKILL.md</code> no nível raiz e nenhum subdiretório <code>skills/</code> agora são exibidos como uma skill</div>

workflows.md +0 −4

Details

153* um prompt de tarefa agendada153* um prompt de tarefa agendada

154* uma carga útil de webhook ou comentário de pull request retransmitido para a conversa154* uma carga útil de webhook ou comentário de pull request retransmitido para a conversa

155 155 

156<Note>

157 Antes da v2.1.210, a palavra-chave iniciava um fluxo de trabalho de qualquer uma dessas rotas também, incluindo uma carga útil de webhook ou comentário de pull request retransmitido para a conversa.

158</Note>

159 

160<h3 id="let-claude-decide-with-ultracode">156<h3 id="let-claude-decide-with-ultracode">

161 Deixe Claude decidir com ultracode157 Deixe Claude decidir com ultracode

162</h3>158</h3>

worktrees.md +6 −3

Details

9Um [git worktree](https://git-scm.com/docs/git-worktree) é um diretório de trabalho separado com seus próprios arquivos e branch, compartilhando o mesmo histórico de repositório e remoto que seu checkout principal. Executar cada sessão do Claude Code em seu próprio worktree dá a ela uma cópia separada dos arquivos para editar, para que uma sessão possa criar um recurso enquanto uma segunda corrige um bug.9Um [git worktree](https://git-scm.com/docs/git-worktree) é um diretório de trabalho separado com seus próprios arquivos e branch, compartilhando o mesmo histórico de repositório e remoto que seu checkout principal. Executar cada sessão do Claude Code em seu próprio worktree dá a ela uma cópia separada dos arquivos para editar, para que uma sessão possa criar um recurso enquanto uma segunda corrige um bug.

10 10 

11<Note>11<Note>

12 Worktrees exigem um repositório git; para outros sistemas de controle de versão, [configure hooks para substituir a lógica git](#non-git-version-control). No [aplicativo desktop](/docs/pt/desktop#work-in-parallel-with-sessions), selecione a opção **worktree** quando você iniciar uma sessão para dar a ela sua própria worktree.12 Se você usa outro sistema de controle de versão ou o aplicativo desktop, siga as instruções para sua configuração:

13 

14 * **Outros sistemas de controle de versão**: worktrees exigem um repositório git; [configure hooks para substituir a lógica git](#non-git-version-control)

15 * **Aplicativo desktop**: consulte [Executar uma sessão em seu próprio worktree](/docs/pt/desktop#run-a-session-in-its-own-worktree)

13</Note>16</Note>

14 17 

15Worktrees são uma das várias maneiras de executar Claude em paralelo. Elas isolam edições de arquivo. [Subagentes](/docs/pt/sub-agents) dividem o trabalho dentro de uma sessão, e [mensagens entre sessões](/docs/pt/cross-session-messaging) permitem que Claude passe descobertas entre as sessões em suas worktrees. Consulte [Executar agentes em paralelo](/docs/pt/agents) para comparar as abordagens, ou pule para [Isolar subagentes com worktrees](#isolate-subagents-with-worktrees) para usar worktrees e subagentes juntos.18Worktrees são uma das várias maneiras de executar Claude em paralelo. Elas isolam edições de arquivo. [Subagentes](/docs/pt/sub-agents) dividem o trabalho dentro de uma sessão, e [mensagens entre sessões](/docs/pt/cross-session-messaging) permitem que Claude passe descobertas entre as sessões em suas worktrees. Consulte [Executar agentes em paralelo](/docs/pt/agents) para comparar as abordagens, ou pule para [Isolar subagentes com worktrees](#isolate-subagents-with-worktrees) para usar worktrees e subagentes juntos.


270 273 

271Todos esses se aplicam quer você crie o worktree com `--worktree` ou com `git worktree add`.274Todos esses se aplicam quer você crie o worktree com `--worktree` ou com `git worktree add`.

272 275 

273Em uma sessão de worktree que você inicia a partir do [aplicativo desktop](/docs/pt/desktop#work-in-parallel-with-sessions), Claude Code lê a configuração do projeto, como opções de configuração, hooks, skills, agentes, comandos e servidores do [`.mcp.json`](/docs/pt/mcp#project-scope), a partir da raiz do checkout principal em vez do worktree. Os comandos de hook são executados nessa raiz, e `${CLAUDE_PROJECT_DIR}` aponta para ela. Para acessar os arquivos em que Claude está trabalhando, leia o caminho do worktree a partir do [campo de entrada `cwd`](/docs/pt/hooks#common-input-fields) do hook. Os arquivos `CLAUDE.md` e `.claude/rules/` continuam sendo carregados a partir do worktree.276Em uma sessão de worktree que você inicia a partir do [aplicativo desktop](/docs/pt/desktop#run-a-session-in-its-own-worktree), Claude Code lê a configuração do projeto, como opções de configuração, hooks, skills, agentes, comandos e servidores do [`.mcp.json`](/docs/pt/mcp#project-scope), a partir da raiz do checkout principal. Os comandos de hook são executados nessa raiz, e `${CLAUDE_PROJECT_DIR}` aponta para ela. Para acessar os arquivos em que Claude está trabalhando, leia o caminho do worktree a partir do [campo de entrada `cwd`](/docs/pt/hooks#common-input-fields) do hook. Os arquivos `CLAUDE.md` e `.claude/rules/` continuam sendo carregados a partir do worktree.

274 277 

275<h2 id="manage-worktrees-manually">278<h2 id="manage-worktrees-manually">

276 Gerencie worktrees manualmente279 Gerencie worktrees manualmente


434* [Mensagens entre sessões](/docs/pt/cross-session-messaging): deixe as sessões em suas worktrees passarem descobertas uma para a outra437* [Mensagens entre sessões](/docs/pt/cross-session-messaging): deixe as sessões em suas worktrees passarem descobertas uma para a outra

435* [Equipes de agentes](/docs/pt/agent-teams): coordene múltiplas sessões do Claude automaticamente438* [Equipes de agentes](/docs/pt/agent-teams): coordene múltiplas sessões do Claude automaticamente

436* [Gerencie sessões](/docs/pt/sessions): nomeie, retome, e alterne entre conversas439* [Gerencie sessões](/docs/pt/sessions): nomeie, retome, e alterne entre conversas

437* [Sessões paralelas do desktop](/docs/pt/desktop#work-in-parallel-with-sessions): sessões apoiadas por worktree no aplicativo desktop440* [Execute uma sessão do Desktop em seu próprio worktree](/docs/pt/desktop#run-a-session-in-its-own-worktree): sessões apoiadas por worktree no aplicativo desktop